From b5ad01afd90eab1df0aeb3971eb8a75116d1e653 Mon Sep 17 00:00:00 2001 From: Gabriel Einsdorf Date: Tue, 19 Jun 2018 12:24:49 +0200 Subject: [PATCH 001/383] Add test that reproduces #329 --- .../org/scijava/io/handle/FileHandleTest.java | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/test/java/org/scijava/io/handle/FileHandleTest.java b/src/test/java/org/scijava/io/handle/FileHandleTest.java index 0a51b4a14..3a82987de 100644 --- a/src/test/java/org/scijava/io/handle/FileHandleTest.java +++ b/src/test/java/org/scijava/io/handle/FileHandleTest.java @@ -35,10 +35,12 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; +import java.net.URI; import org.junit.Test; import org.scijava.Context; @@ -108,4 +110,28 @@ public void testNotCreatedByClose() throws IOException { handle.close(); assertFalse(nonExistentFile.exists()); } + + @Test + public void testNotCreatedByRead() throws IOException { + final Context ctx = new Context(); + final DataHandleService dhs = ctx.service(DataHandleService.class); + + final File nonExistentFile = // + File.createTempFile("FileHandleTest", "none xistent file"); + final URI uri = nonExistentFile.toURI(); + assertTrue(nonExistentFile.delete()); + assertFalse(nonExistentFile.exists()); + + final FileLocation loc = new FileLocation(uri); + try (final DataHandle handle = dhs.create(loc)) { + assertFalse(handle.exists()); + handle.read(); // this will fail as there is no underlying file! + fail("Read successfully from non-existing file!"); + } + catch (final IOException exc) { + // should be thrown + } + assertFalse(nonExistentFile.exists()); + // reading from the non-existing file should not create it! + } } From 15b70a1d6cbb5bce602be3b689b574cc67affdb8 Mon Sep 17 00:00:00 2001 From: Gabriel Einsdorf Date: Tue, 19 Jun 2018 12:25:38 +0200 Subject: [PATCH 002/383] Fix #329: Don't create empty RAF files on reading When trying to read from a non-existing file, the FileHandle created a RandomAccessFile, which resulted in an empty file appearing on disk. --- .../org/scijava/io/handle/FileHandle.java | 122 ++++++++++++------ 1 file changed, 80 insertions(+), 42 deletions(-) diff --git a/src/main/java/org/scijava/io/handle/FileHandle.java b/src/main/java/org/scijava/io/handle/FileHandle.java index db54d562f..87fad4386 100644 --- a/src/main/java/org/scijava/io/handle/FileHandle.java +++ b/src/main/java/org/scijava/io/handle/FileHandle.java @@ -60,9 +60,12 @@ public class FileHandle extends AbstractDataHandle { // -- FileHandle methods -- - /** Gets the random access file object backing this FileHandle. */ + /** + * Gets the random access file object backing this FileHandle. If the + * underlying file does not exist yet, it will be created. + */ public RandomAccessFile getRandomAccessFile() throws IOException { - return raf(); + return writer(); } public String getMode() { @@ -101,199 +104,199 @@ public Date lastModified() { @Override public long offset() throws IOException { - return raf().getFilePointer(); + return exists() ? reader().getFilePointer() : 0; } @Override public long length() throws IOException { - return exists() ? raf().length() : -1; + return exists() ? reader().length() : -1; } @Override public void setLength(final long length) throws IOException { - raf().setLength(length); + writer().setLength(length); } @Override public int read() throws IOException { - return raf().read(); + return reader().read(); } @Override public int read(final byte[] b) throws IOException { - return raf().read(b); + return reader().read(b); } @Override public int read(final byte[] b, final int off, final int len) throws IOException { - return raf().read(b, off, len); + return reader().read(b, off, len); } @Override public void seek(final long pos) throws IOException { - raf().seek(pos); + reader().seek(pos); } // -- DataInput methods -- @Override public boolean readBoolean() throws IOException { - return raf().readBoolean(); + return reader().readBoolean(); } @Override public byte readByte() throws IOException { - return raf().readByte(); + return reader().readByte(); } @Override public char readChar() throws IOException { - return raf().readChar(); + return reader().readChar(); } @Override public double readDouble() throws IOException { - return raf().readDouble(); + return reader().readDouble(); } @Override public float readFloat() throws IOException { - return raf().readFloat(); + return reader().readFloat(); } @Override public void readFully(final byte[] b) throws IOException { - raf().readFully(b); + reader().readFully(b); } @Override public void readFully(final byte[] b, final int off, final int len) throws IOException { - raf().readFully(b, off, len); + reader().readFully(b, off, len); } @Override public int readInt() throws IOException { - return raf().readInt(); + return reader().readInt(); } @Override public String readLine() throws IOException { - return raf().readLine(); + return reader().readLine(); } @Override public long readLong() throws IOException { - return raf().readLong(); + return reader().readLong(); } @Override public short readShort() throws IOException { - return raf().readShort(); + return reader().readShort(); } @Override public int readUnsignedByte() throws IOException { - return raf().readUnsignedByte(); + return reader().readUnsignedByte(); } @Override public int readUnsignedShort() throws IOException { - return raf().readUnsignedShort(); + return reader().readUnsignedShort(); } @Override public String readUTF() throws IOException { - return raf().readUTF(); + return reader().readUTF(); } @Override public int skipBytes(final int n) throws IOException { - return raf().skipBytes(n); + return reader().skipBytes(n); } // -- DataOutput methods -- @Override public void write(final byte[] b) throws IOException { - raf().write(b); + writer().write(b); } @Override public void write(final byte[] b, final int off, final int len) throws IOException { - raf().write(b, off, len); + writer().write(b, off, len); } @Override public void write(final int b) throws IOException { - raf().write(b); + writer().write(b); } @Override public void writeBoolean(final boolean v) throws IOException { - raf().writeBoolean(v); + writer().writeBoolean(v); } @Override public void writeByte(final int v) throws IOException { - raf().writeByte(v); + writer().writeByte(v); } @Override public void writeBytes(final String s) throws IOException { - raf().writeBytes(s); + writer().writeBytes(s); } @Override public void writeChar(final int v) throws IOException { - raf().writeChar(v); + writer().writeChar(v); } @Override public void writeChars(final String s) throws IOException { - raf().writeChars(s); + writer().writeChars(s); } @Override public void writeDouble(final double v) throws IOException { - raf().writeDouble(v); + writer().writeDouble(v); } @Override public void writeFloat(final float v) throws IOException { - raf().writeFloat(v); + writer().writeFloat(v); } @Override public void writeInt(final int v) throws IOException { - raf().writeInt(v); + writer().writeInt(v); } @Override public void writeLong(final long v) throws IOException { - raf().writeLong(v); + writer().writeLong(v); } @Override public void writeShort(final int v) throws IOException { - raf().writeShort(v); + writer().writeShort(v); } @Override public void writeUTF(final String str) throws IOException { - raf().writeUTF(str); + writer().writeUTF(str); } // -- Closeable methods -- @Override public synchronized void close() throws IOException { - if (raf != null) raf().close(); + if (raf != null) raf.close(); closed = true; } @@ -306,12 +309,47 @@ public Class getType() { // -- Helper methods -- - private RandomAccessFile raf() throws IOException { - if (raf == null) initRAF(); + /** + * Access method for the internal {@link RandomAccessFile}, that succeeds + * independently of the underlying file existing on disk. This allows us to + * create a new file for writing. + * + * @return the internal {@link RandomAccessFile} creating a new file on disk + * if needed. + * @throws IOException if the {@link RandomAccessFile} could not be created. + */ + private RandomAccessFile writer() throws IOException { + if (raf == null) initRAF(true); return raf; } - private synchronized void initRAF() throws IOException { + /** + * Access method for the internal {@link RandomAccessFile}, that only succeeds + * if the underlying file exists on disk. This prevents accidental creation of + * an empty file when calling read operations on a non-existent file. + * + * @return the internal {@link RandomAccessFile}. + * @throws IOException if the {@link RandomAccessFile} could not be created, + * or the backing file does not exists. + */ + private RandomAccessFile reader() throws IOException { + if (raf == null) initRAF(false); + return raf; + } + + /** + * Initializes the {@link RandomAccessFile}. + * + * @param create whether to create the {@link RandomAccessFile} if the + * underlying file does not exist yet. + * @throws IOException if the {@link RandomAccessFile} could not be created, + * or the backing file does not exist and the {@code create} + * parameter was set to {@code false}. + */ + private synchronized void initRAF(final boolean create) throws IOException { + if (!create && !exists()) { + throw new IOException("Trying to read from non-existent file!"); + } if (closed) throw new IOException("Handle already closed"); if (raf != null) return; raf = new RandomAccessFile(get().getFile(), getMode()); From 759e2ee78e4416af59279d66fc949a2ebb588b91 Mon Sep 17 00:00:00 2001 From: Jan Eglinger Date: Sun, 24 Sep 2017 15:19:09 +0200 Subject: [PATCH 003/383] When processing #@script, register module with ModuleService Also set the priority of ScriptDirectiveScriptProcessor to high to allow processing directives before other script parameters. --- .../script/process/ScriptDirectiveScriptProcessor.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/scijava/script/process/ScriptDirectiveScriptProcessor.java b/src/main/java/org/scijava/script/process/ScriptDirectiveScriptProcessor.java index eefbb4a76..212495c1d 100644 --- a/src/main/java/org/scijava/script/process/ScriptDirectiveScriptProcessor.java +++ b/src/main/java/org/scijava/script/process/ScriptDirectiveScriptProcessor.java @@ -38,6 +38,7 @@ import org.scijava.Priority; import org.scijava.log.LogService; import org.scijava.module.ModuleInfo; +import org.scijava.module.ModuleService; import org.scijava.plugin.Parameter; import org.scijava.plugin.Plugin; @@ -95,7 +96,7 @@ * * @author Curtis Rueden */ -@Plugin(type = ScriptProcessor.class) +@Plugin(type = ScriptProcessor.class, priority=Priority.HIGH) public class ScriptDirectiveScriptProcessor extends DirectiveScriptProcessor { public ScriptDirectiveScriptProcessor() { @@ -104,6 +105,9 @@ public ScriptDirectiveScriptProcessor() { @Parameter private LogService log; + + @Parameter + private ModuleService moduleService; // -- Internal DirectiveScriptProcessor methods -- @@ -114,6 +118,7 @@ protected String process(final String directive, for (final String k : attrs.keySet()) { assignAttribute(k == null ? "name" : k, attrs.get(k)); } + moduleService.addModule(info()); // TODO how to handle duplicate names? return ""; } From 908ddb473bc534fd712ccd9130ae02f527faaaa5 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 27 Jun 2018 21:32:53 -0500 Subject: [PATCH 004/383] Do not spawn a new thread for every widget refresh --- .../java/org/scijava/widget/DefaultWidgetModel.java | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/main/java/org/scijava/widget/DefaultWidgetModel.java b/src/main/java/org/scijava/widget/DefaultWidgetModel.java index b11012be1..aaece9fcc 100644 --- a/src/main/java/org/scijava/widget/DefaultWidgetModel.java +++ b/src/main/java/org/scijava/widget/DefaultWidgetModel.java @@ -169,14 +169,10 @@ public void setValue(final Object value) { module.setInput(name, convertedInput); if (initialized) { - threadService.run(new Runnable() { - - @Override - public void run() { - callback(); - inputPanel.refresh(); // must be on AWT thread? - module.preview(); - } + threadService.queue(() -> { + callback(); + inputPanel.refresh(); // must be on AWT thread? + module.preview(); }); } } From ba1a8dccd12b8c83483eacc12d7caa3447943ed6 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 2 Jul 2018 14:39:08 -0500 Subject: [PATCH 005/383] URLLocation: fix typo in javadoc --- src/main/java/org/scijava/io/location/URLLocation.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/scijava/io/location/URLLocation.java b/src/main/java/org/scijava/io/location/URLLocation.java index 14b96a4b0..7311dc874 100644 --- a/src/main/java/org/scijava/io/location/URLLocation.java +++ b/src/main/java/org/scijava/io/location/URLLocation.java @@ -61,7 +61,7 @@ public URL getURL() { /** * Gets the associated {@link URI}, or null if this URL is not formatted - * strictly according to to RFC2396 and cannot be converted to a URI. + * strictly according to RFC2396 and cannot be converted to a URI. */ @Override public URI getURI() { From 1094cbab353695f27bd50bf3c2404dd0b221c73e Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 2 Jul 2018 14:39:20 -0500 Subject: [PATCH 006/383] AbstractUIInputWidget: use lambda syntax --- src/main/java/org/scijava/ui/AbstractUIInputWidget.java | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/main/java/org/scijava/ui/AbstractUIInputWidget.java b/src/main/java/org/scijava/ui/AbstractUIInputWidget.java index 96505d1ff..3aa8d4214 100644 --- a/src/main/java/org/scijava/ui/AbstractUIInputWidget.java +++ b/src/main/java/org/scijava/ui/AbstractUIInputWidget.java @@ -80,12 +80,7 @@ public void refreshWidget() { // on the EDT. if (ui().requiresEDT()) { try { - threadService.invoke(new Runnable() { - @Override - public void run() { - doRefresh(); - } - }); + threadService.invoke(() -> doRefresh()); } catch (InterruptedException e) { log.error("Interrupted while refresh widget: " + getClass(), e); From 85700ecaff008465a45b8b217bafcea2db012e10 Mon Sep 17 00:00:00 2001 From: Gabriel Einsdorf Date: Tue, 3 Jul 2018 19:00:30 +0200 Subject: [PATCH 007/383] SingletonService: use lambda expression instead of anonymous class. --- src/main/java/org/scijava/plugin/SingletonService.java | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/src/main/java/org/scijava/plugin/SingletonService.java b/src/main/java/org/scijava/plugin/SingletonService.java index 8784d34b2..4099afbdc 100644 --- a/src/main/java/org/scijava/plugin/SingletonService.java +++ b/src/main/java/org/scijava/plugin/SingletonService.java @@ -35,7 +35,6 @@ import java.util.ArrayList; import java.util.List; -import org.scijava.object.LazyObjects; import org.scijava.object.ObjectService; /** @@ -95,13 +94,7 @@ default

P create(final Class

pluginClass) { @Override default void initialize() { // add singleton instances to the object index... IN THE FUTURE! - objectService().getIndex().addLater(new LazyObjects() { - - @Override - public ArrayList get() { - return new ArrayList<>(getInstances()); - } - }); + objectService().getIndex().addLater(() -> new ArrayList<>(getInstances())); } } From ecf6cbb381b7fbaa6fb007aea388dc48ef2baaed Mon Sep 17 00:00:00 2001 From: Gabriel Einsdorf Date: Tue, 3 Jul 2018 19:06:01 +0200 Subject: [PATCH 008/383] AbstractSingletonService: update instances when plugins change. - The service now listens to PluginAddedEvent and PluginRemovedEvent and updates its instances accordingly. --- .../plugin/AbstractSingletonService.java | 62 ++++++++++++++++--- 1 file changed, 53 insertions(+), 9 deletions(-) diff --git a/src/main/java/org/scijava/plugin/AbstractSingletonService.java b/src/main/java/org/scijava/plugin/AbstractSingletonService.java index b5791f769..ee5dc7cef 100644 --- a/src/main/java/org/scijava/plugin/AbstractSingletonService.java +++ b/src/main/java/org/scijava/plugin/AbstractSingletonService.java @@ -32,13 +32,17 @@ package org.scijava.plugin; +import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; +import org.scijava.event.EventHandler; import org.scijava.log.LogService; import org.scijava.object.ObjectService; +import org.scijava.plugin.event.PluginsAddedEvent; +import org.scijava.plugin.event.PluginsRemovedEvent; /** * Abstract base class for {@link SingletonService}s. @@ -56,9 +60,6 @@ public abstract class AbstractSingletonService @Parameter private ObjectService objectService; - // TODO: Listen for PluginsAddedEvent and PluginsRemovedEvent - // and update the list of singletons accordingly. - /** List of singleton plugin instances. */ private List instances; @@ -74,7 +75,7 @@ public ObjectService objectService() { @Override public List getInstances() { if (instances == null) initInstances(); - return instances; + return Collections.unmodifiableList(instances); } @SuppressWarnings("unchecked") @@ -84,20 +85,63 @@ public

P getInstance(final Class

pluginClass) { return (P) instanceMap.get(pluginClass); } +//-- Event handlers -- + + @EventHandler + protected void onEvent(final PluginsRemovedEvent event) { + if (instanceMap == null) return; + for (final PluginInfo info : event.getItems()) { + final PT obj = instanceMap.remove(info.getPluginClass()); + if (obj != null) { // we actually removed a plugin + instances.remove(obj); + objectService.removeObject(obj); + } + } + } + + @EventHandler + protected void onEvent(final PluginsAddedEvent event) { + if (instanceMap == null) return; + // collect singleton plugins + final List> singletons = new ArrayList<>(); + for (final PluginInfo pluginInfo : event.getItems()) { + if (getPluginType().isAssignableFrom(pluginInfo.getPluginType())) { + @SuppressWarnings("unchecked") + final PT plugin = pluginService().createInstance( + (PluginInfo) pluginInfo); + @SuppressWarnings("unchecked") + final Class pluginClass = (Class) plugin + .getClass(); + instanceMap.put(pluginClass, plugin); + instances.add(plugin); + } + } + + for (final PluginInfo pluginInfo : singletons) { + final PT plugin = pluginService().createInstance(pluginInfo); + @SuppressWarnings("unchecked") + final Class pluginClass = (Class) plugin + .getClass(); + instanceMap.put(pluginClass, plugin); + instances.add(plugin); + } + + } + // -- Helper methods -- private synchronized void initInstances() { if (instances != null) return; - final List list = Collections.unmodifiableList(filterInstances( - pluginService().createInstancesOfType(getPluginType()))); + @SuppressWarnings("unchecked") + final List list = (List) filterInstances(pluginService() + .createInstancesOfType(getPluginType())); - final HashMap, PT> map = - new HashMap<>(); + final Map, PT> map = new HashMap<>(); for (final PT plugin : list) { @SuppressWarnings("unchecked") - final Class ptClass = + final Class ptClass = // (Class) plugin.getClass(); map.put(ptClass, plugin); } From 46bd65449059563910ba5a2c24f8b55e5a695763 Mon Sep 17 00:00:00 2001 From: Gabriel Einsdorf Date: Tue, 3 Jul 2018 19:06:55 +0200 Subject: [PATCH 009/383] Add SingletonServiceTest: tests listening to plugin change events. --- .../scijava/plugin/SingletonServiceTest.java | 119 ++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 src/test/java/org/scijava/plugin/SingletonServiceTest.java diff --git a/src/test/java/org/scijava/plugin/SingletonServiceTest.java b/src/test/java/org/scijava/plugin/SingletonServiceTest.java new file mode 100644 index 000000000..2ecf95b86 --- /dev/null +++ b/src/test/java/org/scijava/plugin/SingletonServiceTest.java @@ -0,0 +1,119 @@ +/* + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2018 Board of Regents of the University of + * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck + * Institute of Molecular Cell Biology and Genetics, University of + * Konstanz, and KNIME GmbH. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ + +package org.scijava.plugin; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +import java.util.List; + +import org.junit.Test; +import org.scijava.Context; + +/** + * Tests for the {@link SingletonService} + * + * @author Gabriel Einsdorf KNIME GmbH + */ +public class SingletonServiceTest { + + @Test + public void testListenToRemove() { + + final Context ctx = new Context(PluginService.class, DummySingletonService.class, + DummySingletonService2.class); + + final DummySingletonService dss = ctx.getService( + DummySingletonService.class); + + final DummySingletonService2 dss2 = ctx.getService( + DummySingletonService2.class); + + final List instances = dss.getInstances(); + final DummyPlugin dummy = instances.get(0); + + assertFalse("Service not correctly initialized", dss2.getInstances() + .isEmpty()); + + // test successful removal + final PluginService ps = ctx.getService(PluginService.class); + ps.removePlugin(dummy.getInfo()); + + assertFalse("Plugin was removed from wrong service!", dss2.getInstances() + .isEmpty()); + assertTrue("Plugin was not removed!", dss.getInstances().isEmpty()); + + // test successful add + ps.addPlugin(dummy.getInfo()); + assertEquals("Wrong number of plugins in service:", 1, dss.getInstances() + .size()); + assertEquals("Wrong number of plugins in independent service:", 1, dss2 + .getInstances().size()); + } + + @Plugin(type = DummyPlugin.class) + public static class DummyPlugin extends AbstractRichPlugin implements + SingletonPlugin + { + // NB: No implementation needed. + } + + public static class DummySingletonService extends + AbstractSingletonService + { + + @Override + public Class getPluginType() { + return DummyPlugin.class; + } + } + + @Plugin(type = DummyPlugin2.class) + public static class DummyPlugin2 extends AbstractRichPlugin implements + SingletonPlugin + { + // NB: No implementation needed. + } + + public static class DummySingletonService2 extends + AbstractSingletonService + { + + @Override + public Class getPluginType() { + return DummyPlugin2.class; + } + } + +} From 821c8294f753535c86a23dad9e277f78d572a79b Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 4 Jul 2018 11:00:53 -0500 Subject: [PATCH 010/383] Bump to next development cycle Signed-off-by: Curtis Rueden --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 2a76b2e4f..72e6d868c 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.74.3-SNAPSHOT + 2.74.4-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From 4f40d016c63f0d0f20946a9b05a3efdd53b5bf04 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 24 Jul 2018 21:43:45 -0500 Subject: [PATCH 011/383] ScriptService: use lambda syntax --- .../java/org/scijava/script/DefaultScriptService.java | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/src/main/java/org/scijava/script/DefaultScriptService.java b/src/main/java/org/scijava/script/DefaultScriptService.java index 55e2c1291..0db559c0a 100644 --- a/src/main/java/org/scijava/script/DefaultScriptService.java +++ b/src/main/java/org/scijava/script/DefaultScriptService.java @@ -226,14 +226,8 @@ public void initialize() { super.initialize(); // add scripts to the module index... only when needed! - moduleService.getIndex().addLater(new LazyObjects() { - - @Override - public Collection get() { - return scripts().values(); - } - - }); + final LazyObjects lazyScripts = () -> scripts().values(); + moduleService.getIndex().addLater(lazyScripts); } // -- Helper methods - lazy initialization -- From 8b1256257f7e5d4e373763d5309b8646fe884bd5 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 24 Jul 2018 21:44:16 -0500 Subject: [PATCH 012/383] ScriptService: fix bug in getOrCreate Without this change, the cache missed every time, due to the wrong key (a File rather than a String path) being used for the lookup. Thanks Eclipse for the warning. --- src/main/java/org/scijava/script/DefaultScriptService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/scijava/script/DefaultScriptService.java b/src/main/java/org/scijava/script/DefaultScriptService.java index 0db559c0a..86dc1df9d 100644 --- a/src/main/java/org/scijava/script/DefaultScriptService.java +++ b/src/main/java/org/scijava/script/DefaultScriptService.java @@ -353,7 +353,7 @@ private synchronized void initAliasMap() { * are registered with the service. */ private ScriptInfo getOrCreate(final File file) { - final ScriptInfo info = scripts().get(file); + final ScriptInfo info = scripts().get(file.getAbsolutePath()); if (info != null) return info; return new ScriptInfo(getContext(), file); } From 7a74934a3c0671ec0241d949e28f195725792378 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 24 Jul 2018 22:52:45 -0500 Subject: [PATCH 013/383] DebugUtils: add more thread dump utility methods Sometimes we have a Thread and want to format its current call stack as a string. Sometimes we have a Thread and snapshot of an earlier call stack as a StackTraceElement[], and want to format that as a string. --- pom.xml | 2 +- .../java/org/scijava/util/DebugUtils.java | 26 +++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 72e6d868c..37854a6db 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.74.4-SNAPSHOT + 2.75.0-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. diff --git a/src/main/java/org/scijava/util/DebugUtils.java b/src/main/java/org/scijava/util/DebugUtils.java index 0c7c6a268..8d705a985 100644 --- a/src/main/java/org/scijava/util/DebugUtils.java +++ b/src/main/java/org/scijava/util/DebugUtils.java @@ -67,6 +67,32 @@ public static String getStackTrace(final Throwable t) { } } + /** + * Provides a stack dump of the given thread. + *

+ * The output is similar to a subset of that given when Ctrl+\ (or Ctrl+Pause + * on Windows) is pressed from the console. + *

+ */ + public static String getStackDump(final Thread thread) { + return getStackDump(thread, thread.getStackTrace()); + } + + /** + * Provides a stack dump of the given thread + call stack. + *

+ * The output is similar to a subset of that given when Ctrl+\ (or Ctrl+Pause + * on Windows) is pressed from the console. + *

+ */ + public static String getStackDump(final Thread thread, + final StackTraceElement[] stackTrace) + { + final StringBuilder sb = new StringBuilder(); + dumpThread(thread, stackTrace, sb); + return sb.toString(); + } + /** * Provides a complete stack dump of all threads. *

From 2dd1ccdab77e756116d529f919f3246408087388 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 24 Jul 2018 22:54:14 -0500 Subject: [PATCH 014/383] SciJavaEvent: add utility method for dumping stack This gives us a stack trace showing where the event was published. --- src/main/java/org/scijava/event/SciJavaEvent.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/main/java/org/scijava/event/SciJavaEvent.java b/src/main/java/org/scijava/event/SciJavaEvent.java index f61edc56b..7d50772f3 100644 --- a/src/main/java/org/scijava/event/SciJavaEvent.java +++ b/src/main/java/org/scijava/event/SciJavaEvent.java @@ -33,6 +33,7 @@ package org.scijava.event; import org.scijava.AbstractContextual; +import org.scijava.util.DebugUtils; /** * Base class for all SciJava events. @@ -83,6 +84,14 @@ public StackTraceElement[] getStackTrace() { return stackTrace; } + /** + * Gets a stack trace for the calling thread when the event was published. + * This method is useful for debugging what triggered an event. + */ + public String dumpStack() { + return DebugUtils.getStackDump(getCallingThread(), getStackTrace()); + } + // Object methods -- @Override From e7d8bd32c284262cf981ede04f43860e91373368 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 24 Jul 2018 22:55:08 -0500 Subject: [PATCH 015/383] MenuService: tweak formatting --- src/main/java/org/scijava/menu/DefaultMenuService.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/main/java/org/scijava/menu/DefaultMenuService.java b/src/main/java/org/scijava/menu/DefaultMenuService.java index e231a8819..470402d76 100644 --- a/src/main/java/org/scijava/menu/DefaultMenuService.java +++ b/src/main/java/org/scijava/menu/DefaultMenuService.java @@ -165,9 +165,7 @@ private synchronized void addModules(final Collection items, *

*/ private HashMap rootMenus() { - if (rootMenus == null) { - initRootMenus(); - } + if (rootMenus == null) initRootMenus(); return rootMenus; } From c4de618d958510e3ecfd20ff54001216e8a51f43 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 24 Jul 2018 22:55:22 -0500 Subject: [PATCH 016/383] MenuService: do not initialize menus so eagerly When a ModulesAddedEvent, ModulesRemovedEvent or ModulesUpdatedEvent is published, we only care if we have already initialized the menu structure, and that structure would thus need to be updated. In the case where no menu structure has yet been generated, we can ignore the module events. We just need to be careful if module events come in while we are generating the menu structure. If that happens, we block (thanks to the event handling methods being synchronized now) until menus are created, and then update them in response to the event. Among other benefits, this commit fixes a bug in ImageJ on macOS whereby scripts in legacy directories (i.e.: in plugins and plugins/Scripts) were no longer appearing in the menu structure. It was happening because the following order of events occurred: 1. The DefaultPlatformService initialized the MacOSPlatform. 2. The MacOSPlatform edited app commands (About, Quit and Preferences) to remove their menu paths, since they are specially handled. 3. The MacOSPlatform fired a ModulesUpdatedEvent to notify others of it. 4. The DefaultMenuService subscribed to the ModulesUpdatedEvent; in response, its event handler method eagerly initialized the menus. 5. The menu initialization code looped over ModuleService.getModules(). 6. The call to getModules() triggered the deferred addition of modules. 7. The deferred addition of modules triggered the DefaultScriptService to discover scripts in the currently registered script directories. All of the above happened before the LegacyService initialized, and therefore the DefaultScriptService did not yet know about the legacy script directories to include in its script discovery process. Once the scripts have been discovered, adding the additional script directories has no effect (i.e., no additional script discovery is triggered). This commit addresses step (4), changing the DefaultMenuService to do nothing when modules change in the case of menus still uninitialized. After this change, the order of events now becomes: 1. The DefaultPlatformService initializes the MacOSPlatform. 2. The MacOSPlatform edits the app command menu paths. 3. The MacOSPlatform fires a ModulesUpdatedEvent to notify others. 4. The DefaultMenuService still receives the ModulesUpdatedEvent, but does nothing in response. 5. Later, the LegacyService loops over ModuleService.getModules(). 6. The call to getModules() triggers the deferred addition of modules. 7. The deferred addition of modules triggers the DefaultScriptService to discover scripts in the currently registered script directories, which include the legacy directories added by the LegacyService. So the problem is solved, at least for now. There are still questions and potential issues with the design: - Why does the DefaultPlatformService (at priority normal) initialize before the LegacyService (at priority normal+1)? - What if some other service triggers script discovery before the additional script directories can be registered? There are many code paths and service calls, such as MenuService and ModuleService methods, that would do so. Should we make the ScriptService smarter such that scripts are rescanned when additional script directories are registered after initial script discovery has taken place? Doing so would be more robust, but substantially complicate things. --- .../java/org/scijava/menu/DefaultMenuService.java | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/src/main/java/org/scijava/menu/DefaultMenuService.java b/src/main/java/org/scijava/menu/DefaultMenuService.java index 470402d76..4145342a3 100644 --- a/src/main/java/org/scijava/menu/DefaultMenuService.java +++ b/src/main/java/org/scijava/menu/DefaultMenuService.java @@ -79,25 +79,22 @@ public ShadowMenu getMenu(final String menuRoot) { // -- Event handlers -- @EventHandler - protected void onEvent(final ModulesAddedEvent event) { - if (rootMenus == null) { - // add *all* known modules, which includes the ones given here - rootMenus(); - return; - } - // data structure already exists; add *these* modules only + protected synchronized void onEvent(final ModulesAddedEvent event) { + if (rootMenus == null) return; // menus not yet initialized addModules(event.getItems()); } @EventHandler - protected void onEvent(final ModulesRemovedEvent event) { + protected synchronized void onEvent(final ModulesRemovedEvent event) { + if (rootMenus == null) return; // menus not yet initialized for (final ShadowMenu menu : rootMenus().values()) { menu.removeAll(event.getItems()); } } @EventHandler - protected void onEvent(final ModulesUpdatedEvent event) { + protected synchronized void onEvent(final ModulesUpdatedEvent event) { + if (rootMenus == null) return; // menus not yet initialized for (final ShadowMenu menu : rootMenus().values()) { menu.updateAll(event.getItems()); } From 65f3d5f0f59893308528df32b114480b541debcc Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 24 Jul 2018 21:38:30 -0500 Subject: [PATCH 017/383] Make the ScriptService normal priority It was made high priority years ago in order to cause its scripts to be registered before the MenuService built the menu; see imagej/imagej@34be53a8373bf1b21ad81c03efccf549d70532c1. But it does not seem necessary anymore. --- src/main/java/org/scijava/script/DefaultScriptService.java | 2 +- src/test/java/org/scijava/ContextCreationTest.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/scijava/script/DefaultScriptService.java b/src/main/java/org/scijava/script/DefaultScriptService.java index 86dc1df9d..699c0986e 100644 --- a/src/main/java/org/scijava/script/DefaultScriptService.java +++ b/src/main/java/org/scijava/script/DefaultScriptService.java @@ -75,7 +75,7 @@ * @author Johannes Schindelin * @author Curtis Rueden */ -@Plugin(type = Service.class, priority = Priority.HIGH) +@Plugin(type = Service.class) public class DefaultScriptService extends AbstractSingletonService implements ScriptService { diff --git a/src/test/java/org/scijava/ContextCreationTest.java b/src/test/java/org/scijava/ContextCreationTest.java index 9c6e15c82..0be58b788 100644 --- a/src/test/java/org/scijava/ContextCreationTest.java +++ b/src/test/java/org/scijava/ContextCreationTest.java @@ -87,7 +87,6 @@ public void testNoPlugins() { public void testFull() { final Class[] expected = { org.scijava.event.DefaultEventService.class, - org.scijava.script.DefaultScriptService.class, org.scijava.app.DefaultAppService.class, org.scijava.app.DefaultStatusService.class, org.scijava.command.DefaultCommandService.class, @@ -113,6 +112,7 @@ public void testFull() { org.scijava.prefs.DefaultPrefService.class, org.scijava.run.DefaultRunService.class, org.scijava.script.DefaultScriptHeaderService.class, + org.scijava.script.DefaultScriptService.class, org.scijava.script.process.DefaultScriptProcessorService.class, org.scijava.startup.DefaultStartupService.class, org.scijava.task.DefaultTaskService.class, From dd8e6062f27b457556e36fd6c821de1b155306e2 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 25 Jul 2018 09:22:32 -0500 Subject: [PATCH 018/383] FileHandleTest: use try-with-resources block --- src/test/java/org/scijava/io/handle/FileHandleTest.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/test/java/org/scijava/io/handle/FileHandleTest.java b/src/test/java/org/scijava/io/handle/FileHandleTest.java index 3a82987de..b003f3b31 100644 --- a/src/test/java/org/scijava/io/handle/FileHandleTest.java +++ b/src/test/java/org/scijava/io/handle/FileHandleTest.java @@ -103,11 +103,10 @@ public void testNotCreatedByClose() throws IOException { assertFalse(nonExistentFile.exists()); final FileLocation loc = new FileLocation(nonExistentFile); - final DataHandle handle = dhs.create(loc); - assertTrue(handle instanceof FileHandle); - assertFalse(handle.exists()); - - handle.close(); + try (final DataHandle handle = dhs.create(loc)) { + assertTrue(handle instanceof FileHandle); + assertFalse(handle.exists()); + } assertFalse(nonExistentFile.exists()); } From f436b7d3bb5f616d9d79b429b4f86a7a9985cd35 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 25 Jul 2018 09:27:03 -0500 Subject: [PATCH 019/383] Work around Windows file deletion problems See http://forum.imagej.net/t/11888/10 --- .../org/scijava/io/handle/FileHandleTest.java | 26 ++++++++++++++----- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/src/test/java/org/scijava/io/handle/FileHandleTest.java b/src/test/java/org/scijava/io/handle/FileHandleTest.java index b003f3b31..8257438f2 100644 --- a/src/test/java/org/scijava/io/handle/FileHandleTest.java +++ b/src/test/java/org/scijava/io/handle/FileHandleTest.java @@ -46,6 +46,7 @@ import org.scijava.Context; import org.scijava.io.location.FileLocation; import org.scijava.io.location.Location; +import org.scijava.util.PlatformUtils; /** * Tests {@link FileHandle}. @@ -75,21 +76,22 @@ public void testExists() throws IOException { final File nonExistentFile = // File.createTempFile("FileHandleTest", "nonexistent-file"); - assertTrue(nonExistentFile.delete()); - assertFalse(nonExistentFile.exists()); + final boolean deleted = delete(nonExistentFile); final FileLocation loc = new FileLocation(nonExistentFile); final DataHandle handle = dhs.create(loc); assertTrue(handle instanceof FileHandle); - assertFalse(handle.exists()); - assertEquals(-1, handle.length()); + if (deleted) { + assertFalse(handle.exists()); + assertEquals(-1, handle.length()); + } handle.writeBoolean(true); assertTrue(handle.exists()); assertEquals(1, handle.length()); // Clean up. - assertTrue(nonExistentFile.delete()); + delete(nonExistentFile); } @Test @@ -118,8 +120,7 @@ public void testNotCreatedByRead() throws IOException { final File nonExistentFile = // File.createTempFile("FileHandleTest", "none xistent file"); final URI uri = nonExistentFile.toURI(); - assertTrue(nonExistentFile.delete()); - assertFalse(nonExistentFile.exists()); + delete(nonExistentFile); final FileLocation loc = new FileLocation(uri); try (final DataHandle handle = dhs.create(loc)) { @@ -133,4 +134,15 @@ public void testNotCreatedByRead() throws IOException { assertFalse(nonExistentFile.exists()); // reading from the non-existing file should not create it! } + + /** A workaround for Windows being bad at deleting files. */ + private boolean delete(final File file) { + final boolean success = file.delete(); + if (!success) file.deleteOnExit(); + if (!PlatformUtils.isWindows()) { + assertTrue(success); + assertFalse(file.exists()); + } + return success; + } } From 9554f8f35f6aa1319f7b02587e266064a3873181 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Thu, 2 Aug 2018 08:11:17 -0500 Subject: [PATCH 020/383] Bump to next development cycle Signed-off-by: Curtis Rueden --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 37854a6db..194b35c18 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.75.0-SNAPSHOT + 2.75.1-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From c0bc5cbd956be42581dd2d915b9ea08ceaa81023 Mon Sep 17 00:00:00 2001 From: Jan Eglinger Date: Fri, 17 Aug 2018 13:58:12 +0200 Subject: [PATCH 021/383] Use try-with-resources on DataHandle in FileHandleTest --- .../org/scijava/io/handle/FileHandleTest.java | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/test/java/org/scijava/io/handle/FileHandleTest.java b/src/test/java/org/scijava/io/handle/FileHandleTest.java index 8257438f2..d199eb1f9 100644 --- a/src/test/java/org/scijava/io/handle/FileHandleTest.java +++ b/src/test/java/org/scijava/io/handle/FileHandleTest.java @@ -79,17 +79,18 @@ public void testExists() throws IOException { final boolean deleted = delete(nonExistentFile); final FileLocation loc = new FileLocation(nonExistentFile); - final DataHandle handle = dhs.create(loc); - assertTrue(handle instanceof FileHandle); - if (deleted) { - assertFalse(handle.exists()); - assertEquals(-1, handle.length()); + try (final DataHandle handle = dhs.create(loc)) { + assertTrue(handle instanceof FileHandle); + if (deleted) { + assertFalse(handle.exists()); + assertEquals(-1, handle.length()); + } + + handle.writeBoolean(true); + assertTrue(handle.exists()); + assertEquals(1, handle.length()); } - handle.writeBoolean(true); - assertTrue(handle.exists()); - assertEquals(1, handle.length()); - // Clean up. delete(nonExistentFile); } From 0d3a59cbd330bc9eae8cc6418fa0c88c49480cfc Mon Sep 17 00:00:00 2001 From: Jan Eglinger Date: Fri, 17 Aug 2018 14:04:24 +0200 Subject: [PATCH 022/383] Revert commit f436b7d3 (Work around Windows file deletion problems) ... and resolve conflicts with previous commit. This workaround is no longer necessary when using try-with-resources introduced with the previous commit. --- .../org/scijava/io/handle/FileHandleTest.java | 26 +++++-------------- 1 file changed, 7 insertions(+), 19 deletions(-) diff --git a/src/test/java/org/scijava/io/handle/FileHandleTest.java b/src/test/java/org/scijava/io/handle/FileHandleTest.java index d199eb1f9..df43ef347 100644 --- a/src/test/java/org/scijava/io/handle/FileHandleTest.java +++ b/src/test/java/org/scijava/io/handle/FileHandleTest.java @@ -46,7 +46,6 @@ import org.scijava.Context; import org.scijava.io.location.FileLocation; import org.scijava.io.location.Location; -import org.scijava.util.PlatformUtils; /** * Tests {@link FileHandle}. @@ -76,15 +75,14 @@ public void testExists() throws IOException { final File nonExistentFile = // File.createTempFile("FileHandleTest", "nonexistent-file"); - final boolean deleted = delete(nonExistentFile); + assertTrue(nonExistentFile.delete()); + assertFalse(nonExistentFile.exists()); final FileLocation loc = new FileLocation(nonExistentFile); try (final DataHandle handle = dhs.create(loc)) { assertTrue(handle instanceof FileHandle); - if (deleted) { - assertFalse(handle.exists()); - assertEquals(-1, handle.length()); - } + assertFalse(handle.exists()); + assertEquals(-1, handle.length()); handle.writeBoolean(true); assertTrue(handle.exists()); @@ -92,7 +90,7 @@ public void testExists() throws IOException { } // Clean up. - delete(nonExistentFile); + assertTrue(nonExistentFile.delete()); } @Test @@ -121,7 +119,8 @@ public void testNotCreatedByRead() throws IOException { final File nonExistentFile = // File.createTempFile("FileHandleTest", "none xistent file"); final URI uri = nonExistentFile.toURI(); - delete(nonExistentFile); + assertTrue(nonExistentFile.delete()); + assertFalse(nonExistentFile.exists()); final FileLocation loc = new FileLocation(uri); try (final DataHandle handle = dhs.create(loc)) { @@ -135,15 +134,4 @@ public void testNotCreatedByRead() throws IOException { assertFalse(nonExistentFile.exists()); // reading from the non-existing file should not create it! } - - /** A workaround for Windows being bad at deleting files. */ - private boolean delete(final File file) { - final boolean success = file.delete(); - if (!success) file.deleteOnExit(); - if (!PlatformUtils.isWindows()) { - assertTrue(success); - assertFalse(file.exists()); - } - return success; - } } From 6123ff144a76bc84b8f9a0b7303daf51a86e4b86 Mon Sep 17 00:00:00 2001 From: Gabriel Einsdorf Date: Fri, 24 Aug 2018 13:06:54 +0200 Subject: [PATCH 023/383] DataHandleService: improve robustness of handle access No longer throws NullPointerException when a handle can not be created. --- .../java/org/scijava/io/handle/DataHandleService.java | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/scijava/io/handle/DataHandleService.java b/src/main/java/org/scijava/io/handle/DataHandleService.java index f2a24ba6d..0547e4cc8 100644 --- a/src/main/java/org/scijava/io/handle/DataHandleService.java +++ b/src/main/java/org/scijava/io/handle/DataHandleService.java @@ -33,7 +33,6 @@ package org.scijava.io.handle; import java.io.IOException; -import java.util.Objects; import org.scijava.io.IOService; import org.scijava.io.location.Location; @@ -77,7 +76,7 @@ default Class getType() { */ default boolean exists(final Location location) throws IOException { try (DataHandle handle = create(location)) { - return handle.exists(); + return handle == null ? false : handle.exists(); } } @@ -89,8 +88,7 @@ default boolean exists(final Location location) throws IOException { * @see ReadBufferDataHandle#ReadBufferDataHandle(DataHandle) */ default DataHandle readBuffer(final DataHandle handle) { - Objects.nonNull(handle); - return new ReadBufferDataHandle(handle); + return handle == null ? null : new ReadBufferDataHandle(handle); } /** @@ -113,7 +111,6 @@ default DataHandle readBuffer(final Location location) { * @see WriteBufferDataHandle#WriteBufferDataHandle(DataHandle) */ default DataHandle writeBuffer(final DataHandle handle) { - Objects.nonNull(handle); - return new WriteBufferDataHandle(handle); + return handle == null ? null : new WriteBufferDataHandle(handle); } } From 581f98129a2a8fd3e61b87af2c2f4c2ab99ced1b Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 10 Sep 2018 13:20:48 -0500 Subject: [PATCH 024/383] POM: tweak location of comment --- pom.xml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/pom.xml b/pom.xml index 194b35c18..418d62143 100644 --- a/pom.xml +++ b/pom.xml @@ -192,18 +192,18 @@ Konstanz, and KNIME GmbH. - + org.apache.maven.plugins maven-compiler-plugin From 513137198cdd66cdd5bb69b2fa5c47f10e7c73a4 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 11 Sep 2018 13:57:35 -0500 Subject: [PATCH 025/383] Add defensive code for handler & converter plugins None of the following should throw an exception (checked or otherwise): * Instantiating a plugin. * Calling Typed.supports(...) on a TypedPlugin. * Calling getInputType() or getOutputType() on a Converter. Any exceptions thrown in those scenarios indicate a malfunction. The relevant service layers now log such exceptions and continue. --- .../java/org/scijava/convert/AbstractConvertService.java | 8 +++++++- src/main/java/org/scijava/plugin/HandlerService.java | 7 ++++++- src/main/java/org/scijava/plugin/TypedService.java | 9 +++++++-- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/scijava/convert/AbstractConvertService.java b/src/main/java/org/scijava/convert/AbstractConvertService.java index b15c52de0..c9a79dc53 100644 --- a/src/main/java/org/scijava/convert/AbstractConvertService.java +++ b/src/main/java/org/scijava/convert/AbstractConvertService.java @@ -150,7 +150,13 @@ public Collection> getCompatibleOutputClasses(final Class source) { final Set> compatibleClasses = new HashSet<>(); for (final Converter converter : getInstances()) { - addIfMatches(source, converter.getInputType(), converter.getOutputType(), compatibleClasses); + try { + addIfMatches(source, converter.getInputType(), converter.getOutputType(), compatibleClasses); + } + catch (final Throwable t) { + log().error("Malfunctioning converter plugin: " + // + converter.getClass().getName(), t); + } } return compatibleClasses; diff --git a/src/main/java/org/scijava/plugin/HandlerService.java b/src/main/java/org/scijava/plugin/HandlerService.java index 21eaf4e80..dd4cc1b7c 100644 --- a/src/main/java/org/scijava/plugin/HandlerService.java +++ b/src/main/java/org/scijava/plugin/HandlerService.java @@ -57,7 +57,12 @@ public interface HandlerService> extends */ default PT getHandler(final DT data) { for (final PT handler : getInstances()) { - if (handler.supports(data)) return handler; + try { + if (handler.supports(data)) return handler; + } + catch (final Throwable t) { + log().error("Malfunctioning plugin: " + handler.getClass().getName(), t); + } } return null; } diff --git a/src/main/java/org/scijava/plugin/TypedService.java b/src/main/java/org/scijava/plugin/TypedService.java index 11c5a1b0b..b1c8263f9 100644 --- a/src/main/java/org/scijava/plugin/TypedService.java +++ b/src/main/java/org/scijava/plugin/TypedService.java @@ -68,8 +68,13 @@ public interface TypedService> extends */ default PT find(final DT data) { for (final PluginInfo plugin : getPlugins()) { - final PT instance = pluginService().createInstance(plugin); - if (instance != null && instance.supports(data)) return instance; + try { + final PT instance = pluginService().createInstance(plugin); + if (instance != null && instance.supports(data)) return instance; + } + catch (final Throwable t) { + log().error("Malfunctioning plugin: " + plugin.getClassName(), t); + } } return null; } From db59c302cad50a6b937f97d65501ca4cbb255d25 Mon Sep 17 00:00:00 2001 From: Gabriel Einsdorf Date: Fri, 14 Sep 2018 16:57:18 +0200 Subject: [PATCH 026/383] DataHandleService: document behavior when encountering null --- .../org/scijava/io/handle/DataHandleService.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/scijava/io/handle/DataHandleService.java b/src/main/java/org/scijava/io/handle/DataHandleService.java index 0547e4cc8..8bc55a2b6 100644 --- a/src/main/java/org/scijava/io/handle/DataHandleService.java +++ b/src/main/java/org/scijava/io/handle/DataHandleService.java @@ -71,8 +71,9 @@ default Class getType() { * * @param location the location to test * @return The result of {@link DataHandle#exists()} on a newly created handle - * on this location - * @throws IOException + * on this location. Also returns {@code false} if the handle can not + * be created. + * @throws IOException if the creation of the handle fails exceptionally */ default boolean exists(final Location location) throws IOException { try (DataHandle handle = create(location)) { @@ -85,6 +86,8 @@ default boolean exists(final Location location) throws IOException { * reading. * * @param handle the handle to wrap + * @return The handle wrapped in a read-only buffer, or {@code null} if the + * input handle is {@code null} * @see ReadBufferDataHandle#ReadBufferDataHandle(DataHandle) */ default DataHandle readBuffer(final DataHandle handle) { @@ -95,7 +98,10 @@ default DataHandle readBuffer(final DataHandle handle) { * Creates a {@link DataHandle} on the provided {@link Location} wrapped in a * read-only buffer for accelerated reading. * - * @param location the handle to wrap + * @param location the Location to create a buffered handle on. + * @return A {@link DataHandle} on the provided location wrapped in a + * read-only buffer, or {@code null} if no handle could be created for + * the location. * @see ReadBufferDataHandle#ReadBufferDataHandle(DataHandle) */ default DataHandle readBuffer(final Location location) { @@ -108,6 +114,8 @@ default DataHandle readBuffer(final Location location) { * accelerated writing. * * @param handle the handle to wrap + * @return the handle wrapped in a write-only buffer or {@code null} if the + * provided handle is {@code null} * @see WriteBufferDataHandle#WriteBufferDataHandle(DataHandle) */ default DataHandle writeBuffer(final DataHandle handle) { From 5098b2cf08eb9e7e1748c1fa7f24fab9028fd5f6 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 1 Oct 2018 13:38:39 -0500 Subject: [PATCH 027/383] Bump to next development cycle Signed-off-by: Curtis Rueden --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 418d62143..2aded5aee 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.75.1-SNAPSHOT + 2.75.2-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From 5e4a79b1a3265f5912055bfaec72d89b2276f681 Mon Sep 17 00:00:00 2001 From: Gabriel Einsdorf Date: Thu, 4 Oct 2018 14:17:24 +0200 Subject: [PATCH 028/383] SingletonServiceTest: extend with tests from #271. --- .../scijava/plugin/SingletonServiceTest.java | 174 +++++++++++++++++- 1 file changed, 172 insertions(+), 2 deletions(-) diff --git a/src/test/java/org/scijava/plugin/SingletonServiceTest.java b/src/test/java/org/scijava/plugin/SingletonServiceTest.java index 2ecf95b86..1f91581f0 100644 --- a/src/test/java/org/scijava/plugin/SingletonServiceTest.java +++ b/src/test/java/org/scijava/plugin/SingletonServiceTest.java @@ -34,25 +34,195 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNotSame; +import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import java.util.List; +import org.junit.After; +import org.junit.Before; import org.junit.Test; import org.scijava.Context; +import org.scijava.convert.AbstractConverter; +import org.scijava.convert.ConvertService; +import org.scijava.convert.Converter; +import org.scijava.plugin.event.PluginsAddedEvent; +import org.scijava.plugin.event.PluginsRemovedEvent; /** * Tests for the {@link SingletonService} * * @author Gabriel Einsdorf KNIME GmbH + * @author Stefan Helfrich KNIME GmbH */ public class SingletonServiceTest { + private PluginService pluginService; + private ConvertService convertService; + + @Before + public void setUp() { + final Context context = new Context(PluginService.class, + ConvertService.class); + pluginService = context.service(PluginService.class); + convertService = context.service(ConvertService.class); + } + + @After + public void tearDown() { + pluginService.context().dispose(); + } + + /** + * Tests that the {@link AbstractSingletonService} properly handles + * {@link PluginsAddedEvent}s originating from the {@link PluginService}. + */ + @Test + public void testSingletonServicePluginsAddedHandling() { + @SuppressWarnings("rawtypes") + final PluginInfo converterInfo = new PluginInfo<>( + FoodConverter.class, Converter.class); + + pluginService.addPlugin(converterInfo); + + assertNotNull(pluginService.getPlugin(FoodConverter.class)); + assertTrue(convertService.supports(new Apple() {}, Peach.class)); + } + + /** + * Tests that the {@link AbstractSingletonService} properly handles + * {@link PluginsAddedEvent}s that replace an instance. + */ + @Test + public void testSingletonServicePluginsAddedHandlingDuplicates() { + @SuppressWarnings("rawtypes") + final PluginInfo converterInfo = new PluginInfo<>( + FoodConverter.class, Converter.class); + + pluginService.addPlugin(converterInfo); + final FoodConverter firstInstance = convertService.getInstance( + FoodConverter.class); + + pluginService.addPlugin(converterInfo); + final FoodConverter secondInstance = convertService.getInstance( + FoodConverter.class); + + assertNotSame(firstInstance, secondInstance); + assertTrue(convertService.supports(new Apple() {}, Peach.class)); + } + + /** + * Tests that the {@link AbstractSingletonService} properly handles + * {@link PluginsRemovedEvent}s originating from the {@link PluginService}. + */ + @Test + public void testSingletonServiceManuallyAddedPluginsRemovedHandling() { + @SuppressWarnings("rawtypes") + final PluginInfo converterInfo = new PluginInfo<>( + FoodConverter.class, Converter.class); + + pluginService.addPlugin(converterInfo); + + // De-register DummyStringConverter + pluginService.removePlugin(converterInfo); + + assertNull(pluginService.getPlugin(FoodConverter.class)); + assertFalse(convertService.supports(new Apple() {}, Peach.class)); + } + + /** + * Tests that the {@link AbstractSingletonService} properly handles + * {@link PluginsRemovedEvent}s originating from the {@link PluginService}. + */ + @Test + public void testSingletonServiceCompileTimePluginsRemovedHandling() { + final PluginInfo pluginInfo = pluginService.getPlugin( + DiscoveredFoodConverter.class); + + // De-register DiscoveredFoodConverter + pluginService.removePlugin(pluginInfo); + + assertNull(pluginService.getPlugin(DiscoveredFoodConverter.class)); + assertFalse(convertService.supports(new Orange() {}, Peach.class)); + } + + /** + * Dummy {@link Converter}. + */ + public static class FoodConverter extends AbstractConverter { + + @Override + public T convert(final Object src, final Class dest) { + return null; + } + + @Override + public Class getOutputType() { + return Peach.class; + } + + @Override + public Class getInputType() { + return Apple.class; + } + } + + /** + * Dummy {@link Converter} that is added automatically. + */ + @Plugin(type = Converter.class) + public static class DiscoveredFoodConverter extends + AbstractConverter + { + + @Override + public T convert(final Object src, final Class dest) { + return null; + } + + @Override + public Class getOutputType() { + return Peach.class; + } + + @Override + public Class getInputType() { + return Orange.class; + } + } + + /** + * Type interface for conversion + */ + public interface Apple { + // NB + } + + /** + * Type interface for conversion + */ + public interface Orange { + // NB + } + + /** + * Type interface for conversion + */ + public interface Peach { + // NB + } + + /** + * Tests that plugins are added to and removed from the correct singleton + * service + */ @Test public void testListenToRemove() { - final Context ctx = new Context(PluginService.class, DummySingletonService.class, - DummySingletonService2.class); + final Context ctx = new Context(PluginService.class, + DummySingletonService.class, DummySingletonService2.class); final DummySingletonService dss = ctx.getService( DummySingletonService.class); From 3e72152d0120313415d4f02c8000684e5dfa2104 Mon Sep 17 00:00:00 2001 From: Gabriel Einsdorf Date: Fri, 28 Sep 2018 10:38:19 +0200 Subject: [PATCH 029/383] DataHandle: use Bytes helper methods for correct endian coding This is both more consistent and correct --- .../org/scijava/io/handle/DataHandle.java | 141 +++--------------- 1 file changed, 20 insertions(+), 121 deletions(-) diff --git a/src/main/java/org/scijava/io/handle/DataHandle.java b/src/main/java/org/scijava/io/handle/DataHandle.java index db48caeee..98812e55a 100644 --- a/src/main/java/org/scijava/io/handle/DataHandle.java +++ b/src/main/java/org/scijava/io/handle/DataHandle.java @@ -43,6 +43,7 @@ import org.scijava.io.location.Location; import org.scijava.plugin.WrapperPlugin; +import org.scijava.util.Bytes; /** * A data handle is a plugin which provides both streaming and random @@ -514,18 +515,10 @@ default int readUnsignedByte() throws IOException { @Override default short readShort() throws IOException { - final int ch0; - final int ch1; - if (isBigEndian()) { - ch0 = read(); - ch1 = read(); - } - else { - ch1 = read(); - ch0 = read(); - } - if ((ch0 | ch1) < 0) throw new EOFException(); - return (short) ((ch0 << 8) + (ch1 << 0)); + final byte[] buf = new byte[2]; + final int read = read(buf, 0, 2); + if (read < 2) throw new EOFException(); + return Bytes.toShort(buf, isLittleEndian()); } @Override @@ -540,68 +533,20 @@ default char readChar() throws IOException { @Override default int readInt() throws IOException { - final int ch0; - final int ch1; - final int ch2; - final int ch3; - if (isBigEndian()) { - ch0 = read(); - ch1 = read(); - ch2 = read(); - ch3 = read(); - } - else { - ch3 = read(); - ch2 = read(); - ch1 = read(); - ch0 = read(); - } - if ((ch0 | ch1 | ch2 | ch3) < 0) throw new EOFException(); - return ((ch0 << 24) + (ch1 << 16) + (ch2 << 8) + (ch3 << 0)); + final byte[] buf = new byte[4]; + final int read = read(buf, 0, 4); + if (read < 4) throw new EOFException(); + return Bytes.toInt(buf, isLittleEndian()); } @Override default long readLong() throws IOException { - final int ch0; - final int ch1; - final int ch2; - final int ch3; - final int ch4; - final int ch5; - final int ch6; - final int ch7; - if (isBigEndian()) { - ch0 = read(); - ch1 = read(); - ch2 = read(); - ch3 = read(); - ch4 = read(); - ch5 = read(); - ch6 = read(); - ch7 = read(); - } - else { - ch7 = read(); - ch6 = read(); - ch5 = read(); - ch4 = read(); - ch3 = read(); - ch2 = read(); - ch1 = read(); - ch0 = read(); - } - if ((ch0 | ch1 | ch2 | ch3 | ch4 | ch5 | ch6 | ch7) < 0) { + byte[] buf = new byte[8]; + int read = read(buf, 0, 8); + if (read < 0) { throw new EOFException(); } - // TODO: Double check this inconsistent code. - return ((long) ch0 << 56) + // - ((long) (ch1 & 255) << 48) + // - ((long) (ch2 & 255) << 40) + // - ((long) (ch3 & 255) << 32) + // - ((long) (ch4 & 255) << 24) + // - ((ch5 & 255) << 16) + // - ((ch6 & 255) << 8) + // - ((ch7 & 255) << 0); + return Bytes.toLong(buf, isLittleEndian()); } @Override @@ -669,76 +614,32 @@ default void writeByte(final int v) throws IOException { @Override default void writeShort(final int v) throws IOException { - if (isBigEndian()) { - write((v >>> 8) & 0xFF); - write((v >>> 0) & 0xFF); - } - else { - write((v >>> 0) & 0xFF); - write((v >>> 8) & 0xFF); - } + write(Bytes.fromShort((short) v, isLittleEndian())); } @Override default void writeChar(final int v) throws IOException { - if (isBigEndian()) { - write((v >>> 8) & 0xFF); - write((v >>> 0) & 0xFF); - } - else { - write((v >>> 0) & 0xFF); - write((v >>> 8) & 0xFF); - } + write(Bytes.fromShort((short) v, isLittleEndian())); } @Override default void writeInt(final int v) throws IOException { - if (isBigEndian()) { - write((v >>> 24) & 0xFF); - write((v >>> 16) & 0xFF); - write((v >>> 8) & 0xFF); - write((v >>> 0) & 0xFF); - } - else { - write((v >>> 0) & 0xFF); - write((v >>> 8) & 0xFF); - write((v >>> 16) & 0xFF); - write((v >>> 24) & 0xFF); - } + write(Bytes.fromInt(v, isLittleEndian())); } @Override default void writeLong(final long v) throws IOException { - if (isBigEndian()) { - write((byte) (v >>> 56)); - write((byte) (v >>> 48)); - write((byte) (v >>> 40)); - write((byte) (v >>> 32)); - write((byte) (v >>> 24)); - write((byte) (v >>> 16)); - write((byte) (v >>> 8)); - write((byte) (v >>> 0)); - } - else { - write((byte) (v >>> 0)); - write((byte) (v >>> 8)); - write((byte) (v >>> 16)); - write((byte) (v >>> 24)); - write((byte) (v >>> 32)); - write((byte) (v >>> 40)); - write((byte) (v >>> 48)); - write((byte) (v >>> 56)); - } + write(Bytes.fromLong(v, isLittleEndian())); } @Override default void writeFloat(final float v) throws IOException { - writeInt(Float.floatToIntBits(v)); + write(Bytes.fromFloat(v, isLittleEndian())); } @Override default void writeDouble(final double v) throws IOException { - writeLong(Double.doubleToLongBits(v)); + write(Bytes.fromDouble(v, isLittleEndian())); } @Override @@ -750,9 +651,7 @@ default void writeBytes(final String s) throws IOException { default void writeChars(final String s) throws IOException { final int len = s.length(); for (int i = 0; i < len; i++) { - final int v = s.charAt(i); - write((v >>> 8) & 0xFF); - write((v >>> 0) & 0xFF); + writeChar(s.charAt(i)); } } From 64f641988364162da9f634d3b93d4544e081b7c8 Mon Sep 17 00:00:00 2001 From: Gabriel Einsdorf Date: Fri, 28 Sep 2018 10:41:42 +0200 Subject: [PATCH 030/383] DataHandle#readLine() use StringBuilder instead of StringBuffer - StringBuilder is faster and recommended for most cases --- src/main/java/org/scijava/io/handle/DataHandle.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/scijava/io/handle/DataHandle.java b/src/main/java/org/scijava/io/handle/DataHandle.java index 98812e55a..cf2e7d3ee 100644 --- a/src/main/java/org/scijava/io/handle/DataHandle.java +++ b/src/main/java/org/scijava/io/handle/DataHandle.java @@ -563,7 +563,7 @@ default double readDouble() throws IOException { default String readLine() throws IOException { // NB: Adapted from java.io.RandomAccessFile.readLine(). - final StringBuffer input = new StringBuffer(); + final StringBuilder input = new StringBuilder(); int c = -1; boolean eol = false; From 5835b942b59245d57b3de5d98c7329bb3f41ae12 Mon Sep 17 00:00:00 2001 From: Gabriel Einsdorf Date: Fri, 28 Sep 2018 10:45:32 +0200 Subject: [PATCH 031/383] FileHandle: use DataHandle methods for all endianness affected IO RandomAccessFile is always BigEndian, so we need to use the interface methods for conversion. --- .../org/scijava/io/handle/FileHandle.java | 65 ------------------- 1 file changed, 65 deletions(-) diff --git a/src/main/java/org/scijava/io/handle/FileHandle.java b/src/main/java/org/scijava/io/handle/FileHandle.java index 87fad4386..a42e05587 100644 --- a/src/main/java/org/scijava/io/handle/FileHandle.java +++ b/src/main/java/org/scijava/io/handle/FileHandle.java @@ -151,21 +151,6 @@ public byte readByte() throws IOException { return reader().readByte(); } - @Override - public char readChar() throws IOException { - return reader().readChar(); - } - - @Override - public double readDouble() throws IOException { - return reader().readDouble(); - } - - @Override - public float readFloat() throws IOException { - return reader().readFloat(); - } - @Override public void readFully(final byte[] b) throws IOException { reader().readFully(b); @@ -178,36 +163,16 @@ public void readFully(final byte[] b, final int off, final int len) reader().readFully(b, off, len); } - @Override - public int readInt() throws IOException { - return reader().readInt(); - } - @Override public String readLine() throws IOException { return reader().readLine(); } - @Override - public long readLong() throws IOException { - return reader().readLong(); - } - - @Override - public short readShort() throws IOException { - return reader().readShort(); - } - @Override public int readUnsignedByte() throws IOException { return reader().readUnsignedByte(); } - @Override - public int readUnsignedShort() throws IOException { - return reader().readUnsignedShort(); - } - @Override public String readUTF() throws IOException { return reader().readUTF(); @@ -252,41 +217,11 @@ public void writeBytes(final String s) throws IOException { writer().writeBytes(s); } - @Override - public void writeChar(final int v) throws IOException { - writer().writeChar(v); - } - @Override public void writeChars(final String s) throws IOException { writer().writeChars(s); } - @Override - public void writeDouble(final double v) throws IOException { - writer().writeDouble(v); - } - - @Override - public void writeFloat(final float v) throws IOException { - writer().writeFloat(v); - } - - @Override - public void writeInt(final int v) throws IOException { - writer().writeInt(v); - } - - @Override - public void writeLong(final long v) throws IOException { - writer().writeLong(v); - } - - @Override - public void writeShort(final int v) throws IOException { - writer().writeShort(v); - } - @Override public void writeUTF(final String str) throws IOException { writer().writeUTF(str); From e1290fa0d6d97e7e37324f47b163726d0c489699 Mon Sep 17 00:00:00 2001 From: Gabriel Einsdorf Date: Fri, 28 Sep 2018 16:33:42 +0200 Subject: [PATCH 032/383] DataHandleTest: extend to cover all methods in DataHandle The was not sufficient before which resulted in various problems not being discovered. --- .../org/scijava/io/handle/DataHandleTest.java | 482 +++++++++++++++--- .../io/handle/ReadBufferDataHandleTest.java | 68 +-- .../io/handle/WriteBufferDataHandleTest.java | 100 ++-- 3 files changed, 502 insertions(+), 148 deletions(-) diff --git a/src/test/java/org/scijava/io/handle/DataHandleTest.java b/src/test/java/org/scijava/io/handle/DataHandleTest.java index f15248c7c..7c38e3e1a 100644 --- a/src/test/java/org/scijava/io/handle/DataHandleTest.java +++ b/src/test/java/org/scijava/io/handle/DataHandleTest.java @@ -33,16 +33,19 @@ package org.scijava.io.handle; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; import java.io.IOException; import java.io.OutputStream; import java.util.Arrays; +import java.util.function.Supplier; +import org.junit.Before; import org.junit.Test; import org.scijava.Context; -import org.scijava.io.handle.DataHandle; import org.scijava.io.handle.DataHandle.ByteOrder; -import org.scijava.io.handle.DataHandleService; import org.scijava.io.location.Location; import org.scijava.util.Bytes; @@ -55,29 +58,78 @@ public abstract class DataHandleTest { protected static final byte[] BYTES = { // 'H', 'e', 'l', 'l', 'o', ',', ' ', 'w', 'o', 'r', 'l', 'd', '\n', // - 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 0, -128, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, // - 125, 127, -127, -125, -3, -2, -1 }; + 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 0, -128, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, // + 125, 127, -127, -125, -3, -2, -1 }; - // -- Test methods -- + protected DataHandleService dataHandleService; - @Test - public void testDataHandle() throws IOException { + @Before + public void init() { final Context context = new Context(DataHandleService.class); - final DataHandleService dataHandleService = - context.service(DataHandleService.class); + dataHandleService = context.service(DataHandleService.class); + } + + @Test + public void checkSkip() throws IOException { + try (DataHandle handle = createHandle()) { + handle.seek(0); + handle.skip(10); + assertEquals(10, handle.offset()); + handle.skipBytes(11); + assertEquals(21, handle.offset()); + } + } + + @Test + public void testEndianesSettings() throws IOException { + + try (DataHandle handle = createHandle()) { + final ByteOrder original = handle.getOrder(); - final Location loc = createLocation(); - try (final DataHandle handle = // - dataHandleService.create(loc)) - { - assertEquals(getExpectedHandleType(), handle.getClass()); + handle.setOrder(ByteOrder.BIG_ENDIAN); + assertEquals(ByteOrder.BIG_ENDIAN, handle.getOrder()); + assertTrue(handle.isBigEndian()); + assertFalse(handle.isLittleEndian()); - checkReads(handle); - checkWrites(handle); + handle.setOrder(ByteOrder.LITTLE_ENDIAN); + assertEquals(ByteOrder.LITTLE_ENDIAN, handle.getOrder()); + assertFalse(handle.isBigEndian()); + assertTrue(handle.isLittleEndian()); + + handle.setLittleEndian(false); + assertEquals(ByteOrder.BIG_ENDIAN, handle.getOrder()); + assertTrue(handle.isBigEndian()); + assertFalse(handle.isLittleEndian()); + + handle.setLittleEndian(true); + assertEquals(ByteOrder.LITTLE_ENDIAN, handle.getOrder()); + assertFalse(handle.isBigEndian()); + assertTrue(handle.isLittleEndian()); + + handle.setOrder(original); + } + } + + @Test + public void testReading() throws IOException { + try (final DataHandle handle = createHandle()) { + checkBasicReadMethods(handle); + checkEndiannessReading(handle); } } - // -- DataHandleTest methods -- + @Test + public void testWriting() throws IOException { + try (DataHandle handle = createHandle()) { + checkBasicWriteMethods(handle); + final Location loc = createLocation(); + checkWriteEndianes(() -> dataHandleService.create(loc), + ByteOrder.LITTLE_ENDIAN); + checkWriteEndianes(() -> dataHandleService.create(loc), + ByteOrder.BIG_ENDIAN); + checkAdvancedStringWriting(() -> dataHandleService.create(loc)); + } + } public abstract Class> getExpectedHandleType(); @@ -85,19 +137,45 @@ public void testDataHandle() throws IOException { // -- Internal methods -- - protected void populateData(final OutputStream out) throws IOException { + /** + * Creates a handle for testing + */ + public DataHandle createHandle() { + Location loc; + try { + loc = createLocation(); + } + catch (final IOException exc) { + throw new RuntimeException(exc); + } + final DataHandle handle = dataHandleService.create(loc); + assertEquals(getExpectedHandleType(), handle.getClass()); + return handle; + } + + /** + * Populates the provided {@link OutputStream} with test data. + * + * @param out the {@link OutputStream} to fill + * @throws IOException + */ + public void populateData(final OutputStream out) throws IOException { out.write(BYTES); out.close(); } - protected void checkReads(final DataHandle handle) - throws IOException + /** + * Checks basic byte reading methods. + * + * @param handle the handle to test + * @throws IOException + */ + public void checkBasicReadMethods( + final DataHandle handle) throws IOException { assertEquals(0, handle.offset()); assertEquals(BYTES.length, handle.length()); assertEquals("UTF-8", handle.getEncoding()); - assertEquals(ByteOrder.BIG_ENDIAN, handle.getOrder()); - assertEquals(false, handle.isLittleEndian()); // test read() for (int i = 0; i < BYTES.length; i++) { @@ -119,98 +197,362 @@ protected void checkReads(final DataHandle handle) assertEquals(msg(i), BYTES[i], handle.readByte()); } + // test readUnsignedByte() + handle.seek(0); + for (int i = 0; i < BYTES.length; i++) { + assertEquals(msg(i), BYTES[i] & 0xff, handle.readUnsignedByte()); + } + + // test readFully(byte[]) + Arrays.fill(buf, (byte) 0); + handle.seek(3); + handle.readFully(buf); + assertBytesMatch(3, buf.length, buf); + + // test readCString() - _includes_ the null terminator! + handle.seek(16); + assertBytesMatch(16, 7, handle.readCString().getBytes()); + handle.seek(42); + assertNull(handle.readCString()); + + // test readBoolean + handle.seek(21); + assertTrue(handle.readBoolean()); + assertFalse(handle.readBoolean()); + + // test readLine() - _excludes_ the newline terminator! + handle.seek(7); + assertBytesMatch(7, 5, handle.readLine().getBytes()); + + // test readString(String) - _includes_ the matching terminator! + handle.seek(7); + assertBytesMatch(7, 5, handle.readString("abcdefg").getBytes()); + + // test readString() + handle.seek(7); + assertBytesMatch(7, 5, handle.readString("d").getBytes()); + + // test readString(int + handle.seek(7); + assertBytesMatch(7, 5, handle.readString(5).getBytes()); + + // test findString(String) - _includes_ the matching terminator! + handle.seek(1); + assertBytesMatch(1, 11, handle.findString("world").getBytes()); + + handle.seek(0); + handle.findString(false, "world"); + assertEquals(12, handle.offset()); + + handle.seek(0); + handle.findString(false, "w"); + assertEquals(8, handle.offset()); + } + + /** + * Checks reading methods effected by endianness. Tests both + * {@link ByteOrder#LITTLE_ENDIAN} and {@link ByteOrder#BIG_ENDIAN}. + * + * @param handle the handle to check + * @throws IOException + */ + public void checkEndiannessReading( + final DataHandle handle) throws IOException + { + checkEndiannessReading(handle, ByteOrder.LITTLE_ENDIAN); + checkEndiannessReading(handle, ByteOrder.BIG_ENDIAN); + } + + /** + * Checks reading methods effected by endianness. + * + * @param handle the handle to check + * @param order the {@link ByteOrder} to check + * @throws IOException + */ + public void checkEndiannessReading( + final DataHandle handle, final ByteOrder order) + throws IOException + { + handle.setOrder(order); + handle.seek(0); + final boolean little = order == ByteOrder.LITTLE_ENDIAN; + + // test readChar() + + handle.seek(0); + for (int i = 0; i < BYTES.length / 2; i += 2) { + assertEquals(msg(i), (char) Bytes.toShort(BYTES, i, little), handle + .readChar()); + } + // test readShort() handle.seek(0); for (int i = 0; i < BYTES.length / 2; i += 2) { - assertEquals(msg(i), Bytes.toShort(BYTES, i, false), handle.readShort()); + assertEquals(msg(i), Bytes.toShort(BYTES, i, little), handle.readShort()); } // test readInt() handle.seek(0); for (int i = 0; i < BYTES.length / 4; i += 4) { - assertEquals(msg(i), Bytes.toInt(BYTES, i, false), handle.readInt()); + assertEquals(msg(i), Bytes.toInt(BYTES, i, little), handle.readInt()); } // test readLong() handle.seek(0); for (int i = 0; i < BYTES.length / 8; i += 8) { - assertEquals(msg(i), Bytes.toLong(BYTES, i, false), handle.readLong()); + assertEquals(msg(i), Bytes.toLong(BYTES, i, little), handle.readLong()); } // test readFloat() handle.seek(0); for (int i = 0; i < BYTES.length / 4; i += 4) { - assertEquals(msg(i), Bytes.toFloat(BYTES, i, false), handle.readFloat(), + assertEquals(msg(i), Bytes.toFloat(BYTES, i, little), handle.readFloat(), 0); } // test readDouble() handle.seek(0); for (int i = 0; i < BYTES.length / 8; i += 8) { - assertEquals(msg(i), Bytes.toDouble(BYTES, i, false), - handle.readDouble(), 0); - } - - // test readBoolean() - handle.seek(0); - for (int i = 0; i < BYTES.length; i++) { - assertEquals(msg(i), BYTES[i] == 0 ? false : true, handle.readBoolean()); + assertEquals(msg(i), Bytes.toDouble(BYTES, i, little), handle + .readDouble(), 0); } + } - // test readChar() - handle.seek(0); - for (int i = 0; i < BYTES.length / 2; i += 2) { - assertEquals(msg(i), (char) Bytes.toInt(BYTES, i, 2, false), handle - .readChar()); - } - - // test readFully(byte[]) - Arrays.fill(buf, (byte) 0); - handle.seek(3); - handle.readFully(buf); - assertBytesMatch(3, buf.length, buf); - - // test readCString() - _includes_ the null terminator! - handle.seek(16); - assertBytesMatch(16, 7, handle.readCString().getBytes()); - - // test readLine() - _excludes_ the newline terminator! - handle.seek(7); - assertBytesMatch(7, 5, handle.readLine().getBytes()); - - // test readString(String) - _includes_ the matching terminator! - handle.seek(7); - assertBytesMatch(7, 5, handle.readString("abcdefg").getBytes()); - - // test findString(String) - _includes_ the matching terminator! - handle.seek(1); - assertBytesMatch(1, 11, handle.findString("world").getBytes()); + /** + * Check basic write methods for bytes. + * + * @param handle the handle to write to and read from + * @throws IOException + */ + public void checkBasicWriteMethods( + final DataHandle handle) throws IOException + { + checkBasicWrites(handle, handle); } - protected void checkWrites(final DataHandle handle) + /** + * Tests basic write methods for bytes, both provided handles must point to + * the same location! + * + * @param readHandle the handle to read from + * @param writeHandle the handle to write from + * @throws IOException + */ + public void checkBasicWrites( + final DataHandle readHandle, final DataHandle writeHandle) throws IOException { final byte[] copy = BYTES.clone(); // change the data - handle.seek(7); + writeHandle.seek(7); final String splice = "there"; for (int i = 0; i < splice.length(); i++) { final char c = splice.charAt(i); - handle.write(c); + writeHandle.write(c); copy[7 + i] = (byte) c; } + writeHandle.writeBoolean(true); + copy[12] = 1; + writeHandle.writeBoolean(false); + copy[13] = 0; + + writeHandle.writeByte(42); + copy[14] = 42; + + if (writeHandle != readHandle) { + writeHandle.close(); // to ensure data is flushed + } + // verify the changes - handle.seek(0); + readHandle.seek(0); for (int i = 0; i < copy.length; i++) { - assertEquals(msg(i), 0xff & copy[i], handle.read()); + assertEquals(msg(i), 0xff & copy[i], readHandle.read()); + } + } + + /** + * Checks advanced string writing methods. + * + * @param handleCreator a supplier that creates properly initialized handles + * for reading and writing, all created handles must point to the + * same location! + * @throws IOException + */ + public void checkAdvancedStringWriting( + final Supplier> handleCreator) throws IOException + { + checkAdvancedStringWriting(handleCreator, handleCreator); + } + + /** + * Checks advanced string writing methods. + * + * @param readHandleCreator a supplier that creates properly initialized + * handles for reading, all created handles must point to the same + * location! + * @param writeHandleCreator a supplier that creates properly initialized + * handles for reading, all created handles must point to the same + * location! + * @throws IOException + */ + public void checkAdvancedStringWriting( + final Supplier> readHandleCreator, + final Supplier> writeHandleCreator) throws IOException + { + // test writeUTF() / readUTF() + final String utfTestString = "abcäúöäéëåáðßø¶🤓🍕😋"; + try (DataHandle writeHandle = writeHandleCreator.get()) { + writeHandle.writeUTF(utfTestString); + } + try (DataHandle readHandle = readHandleCreator.get()) { + assertEquals(utfTestString, readHandle.readUTF()); + } + + // test writeLine() + final String testString = "The quick brown fox jumps over the lazy dog."; + try (DataHandle writeHandle = writeHandleCreator.get()) { + writeHandle.writeLine(testString); + } + try (DataHandle readHandle = readHandleCreator.get()) { + assertEquals(testString, readHandle.readLine()); + } + + // test writeChars / findString + final String testString2 = "The five boxing wizards jump quickly."; + try (DataHandle writeHandle = writeHandleCreator.get()) { + writeHandle.writeChars(testString2); + } + try (DataHandle readHandle = readHandleCreator.get()) { + for (int i = 0; i < testString2.length(); i++) { + assertEquals(testString2.charAt(i), readHandle.readChar()); + } + } + } + + /** + * Checks writing methods affected by endianness. + * + * @param readHandleCreator a supplier that creates properly initialized + * handles for reading, all created handles must point to the same + * location! + * @param writeHandleCreator a supplier that creates properly initialized + * handles for reading, all created handles must point to the same + * location! + * @throws IOException + */ + public void checkWriteEndianes( + final Supplier> handleCreator, final ByteOrder order) + throws IOException + { + checkWriteEndianes(handleCreator, handleCreator, order); + } + + public void checkWriteEndianes( + final Supplier> readHandleCreator, + final Supplier> writeHandleCreator, final ByteOrder order) + throws IOException + { + final boolean little = order == ByteOrder.LITTLE_ENDIAN; + + // test writeChar() + try (DataHandle writeHandle = writeHandleCreator.get()) { + writeHandle.setOrder(order); + for (int i = 0; i < BYTES.length / 2; i += 2) { + writeHandle.writeChar(Bytes.toInt(BYTES, i, 2, little)); + } + } + + try (DataHandle readHandle = readHandleCreator.get()) { + readHandle.setOrder(order); + for (int i = 0; i < BYTES.length / 2; i += 2) { + assertEquals(msg(i), Bytes.toShort(BYTES, i, little), readHandle + .readChar()); + } + } + + // test writeShort() + try (DataHandle writeHandle = writeHandleCreator.get()) { + writeHandle.setOrder(order); + for (int i = 0; i < BYTES.length / 2; i += 2) { + writeHandle.writeShort(Bytes.toShort(BYTES, i, little)); + } + } + + try (DataHandle readHandle = readHandleCreator.get()) { + readHandle.setOrder(order); + for (int i = 0; i < BYTES.length / 2; i += 2) { + assertEquals(msg(i), Bytes.toShort(BYTES, i, little), readHandle + .readShort()); + } + } + + // test writeInt() + try (DataHandle writeHandle = writeHandleCreator.get()) { + writeHandle.setOrder(order); + for (int i = 0; i < BYTES.length / 4; i += 4) { + writeHandle.writeInt(Bytes.toInt(BYTES, i, little)); + } + } + try (DataHandle readHandle = readHandleCreator.get()) { + readHandle.setOrder(order); + for (int i = 0; i < BYTES.length / 4; i += 4) { + assertEquals(msg(i), Bytes.toInt(BYTES, i, little), readHandle + .readInt()); + } + } + + // test writeLong() + try (DataHandle writeHandle = writeHandleCreator.get()) { + writeHandle.setOrder(order); + for (int i = 0; i < BYTES.length / 8; i += 8) { + writeHandle.writeLong(Bytes.toLong(BYTES, i, little)); + } + } + try (DataHandle readHandle = readHandleCreator.get()) { + readHandle.setOrder(order); + for (int i = 0; i < BYTES.length / 8; i += 8) { + assertEquals(msg(i), Bytes.toLong(BYTES, i, little), readHandle + .readLong()); + } + } + + // test writeFloat() + try (DataHandle writeHandle = writeHandleCreator.get()) { + writeHandle.setOrder(order); + for (int i = 0; i < BYTES.length / 4; i += 4) { + writeHandle.writeFloat(Bytes.toFloat(BYTES, i, little)); + } + } + try (DataHandle readHandle = readHandleCreator.get()) { + readHandle.setOrder(order); + for (int i = 0; i < BYTES.length / 4; i += 4) { + assertEquals(msg(i), Bytes.toFloat(BYTES, i, little), readHandle + .readFloat(), 0); + } + } + + // test writeDouble() + try (DataHandle writeHandle = writeHandleCreator.get()) { + writeHandle.setOrder(order); + for (int i = 0; i < BYTES.length / 8; i += 8) { + writeHandle.writeDouble(Bytes.toDouble(BYTES, i, little)); + } + } + try (DataHandle readHandle = readHandleCreator.get()) { + readHandle.setOrder(order); + for (int i = 0; i < BYTES.length / 8; i += 8) { + assertEquals(msg(i), Bytes.toDouble(BYTES, i, little), readHandle + .readDouble(), 0); + } } } // -- Internal methods -- - protected void assertBytesMatch(final int offset, final int length, + public void assertBytesMatch(final int offset, final int length, final byte[] b) { assertEquals(length, b.length); @@ -219,7 +561,9 @@ protected void assertBytesMatch(final int offset, final int length, } } - protected String msg(final int i) { + // -- Test methods -- + + public String msg(final int i) { return "[" + i + "]:"; } diff --git a/src/test/java/org/scijava/io/handle/ReadBufferDataHandleTest.java b/src/test/java/org/scijava/io/handle/ReadBufferDataHandleTest.java index a2a987a5e..e7cb332f2 100644 --- a/src/test/java/org/scijava/io/handle/ReadBufferDataHandleTest.java +++ b/src/test/java/org/scijava/io/handle/ReadBufferDataHandleTest.java @@ -42,9 +42,8 @@ import java.util.List; import java.util.Random; -import org.junit.Before; +import org.junit.Ignore; import org.junit.Test; -import org.scijava.Context; import org.scijava.io.location.BytesLocation; import org.scijava.io.location.Location; @@ -55,35 +54,40 @@ */ public class ReadBufferDataHandleTest extends DataHandleTest { - private Context context; - private DataHandleService dataHandleService; - - @Override @Test - public void testDataHandle() throws IOException { + public void testSmallBuffer() throws IOException { final Location loc = createLocation(); try (final DataHandle handle = // dataHandleService.create(loc); AbstractDataHandle bufferedHandle = // - new ReadBufferDataHandle(handle)) + new ReadBufferDataHandle(handle, 5)) { - checkReads(bufferedHandle); + // check with small buffersize + checkBasicReadMethods(bufferedHandle); + checkEndiannessReading(bufferedHandle); } } - @Test - public void testSmallBuffer() throws IOException { + @Test(expected = IOException.class) + public void ensureNotWritable() throws IOException { + createHandle().write(1); + } - final Location loc = createLocation(); - try (final DataHandle handle = // - dataHandleService.create(loc); - AbstractDataHandle bufferedHandle = // - new ReadBufferDataHandle(handle, 5)) - { - // check with small buffersize - checkReads(bufferedHandle); + @Override + public DataHandle createHandle() { + Location loc; + try { + loc = createLocation(); } + catch (final IOException exc) { + throw new RuntimeException(exc); + } + final DataHandle handle = // + dataHandleService.create(loc); + final AbstractDataHandle bufferedHandle = // + new ReadBufferDataHandle(handle, 5); + return bufferedHandle; } @Test @@ -91,7 +95,7 @@ public void testLargeRead() throws Exception { final int size = 10_00; final byte[] bytes = new byte[size]; - Random r = new Random(42); + final Random r = new Random(42); r.nextBytes(bytes); final Location loc = new BytesLocation(bytes); @@ -104,34 +108,34 @@ public void testLargeRead() throws Exception { final byte[] actual = new byte[size]; // create evenly sized slice ranges - int slices = 60; - int range = (size + slices - 1) / slices; - List> ranges = new ArrayList<>(); + final int slices = 60; + final int range = (size + slices - 1) / slices; + final List> ranges = new ArrayList<>(); for (int i = 0; i < slices; i++) { - int start = range * i; - int end = range * (i + 1); + final int start = range * i; + final int end = range * (i + 1); ranges.add(new SimpleEntry<>(start, end)); } Collections.shuffle(ranges, r); - for (SimpleEntry e : ranges) { + for (final SimpleEntry e : ranges) { bufferedHandle.seek(e.getKey()); bufferedHandle.read(actual, e.getKey(), e.getValue() - e.getKey()); } - assertArrayEquals(bytes, actual); } } - @Before - public void setup() { - context = new Context(DataHandleService.class); - dataHandleService = context.service(DataHandleService.class); + @Test + @Ignore + @Override + public void testWriting() throws IOException { + // nothing to do here } @Override public Class> getExpectedHandleType() { - return null; + throw new UnsupportedOperationException(); } @Override diff --git a/src/test/java/org/scijava/io/handle/WriteBufferDataHandleTest.java b/src/test/java/org/scijava/io/handle/WriteBufferDataHandleTest.java index b17d4037a..40f035e3a 100644 --- a/src/test/java/org/scijava/io/handle/WriteBufferDataHandleTest.java +++ b/src/test/java/org/scijava/io/handle/WriteBufferDataHandleTest.java @@ -32,78 +32,84 @@ package org.scijava.io.handle; -import static org.junit.Assert.assertEquals; - import java.io.ByteArrayOutputStream; import java.io.IOException; +import java.util.function.Supplier; +import org.junit.Ignore; import org.junit.Test; -import org.scijava.Context; +import org.scijava.io.handle.DataHandle.ByteOrder; import org.scijava.io.location.BytesLocation; import org.scijava.io.location.Location; public class WriteBufferDataHandleTest extends DataHandleTest { - private Location loc; - @Override public Class> getExpectedHandleType() { // not needed - return null; + throw new UnsupportedOperationException(); } @Override - @Test - public void testDataHandle() throws IOException { - final Context context = new Context(DataHandleService.class); - final DataHandleService dataHandleService = context.service( - DataHandleService.class); + public Location createLocation() throws IOException { + // not needed + throw new UnsupportedOperationException(); + } - loc = createLocation(); - try (final DataHandle handle = // - dataHandleService.create(loc); - final DataHandle buffer = // - new WriteBufferDataHandle(handle)) - { - checkWrites(buffer); - } + @Override + public DataHandle createHandle() { + final DataHandle handle = // + dataHandleService.create(new BytesLocation(new byte[42])); + return dataHandleService.writeBuffer(handle); } + @Test + @Ignore @Override - public Location createLocation() throws IOException { + public void testReading() throws IOException { + // nothing to do + } + + @Test + @Ignore + @Override + public void checkSkip() throws IOException { + // nothing to do + } - final ByteArrayOutputStream out = new ByteArrayOutputStream(); - populateData(out); - return new BytesLocation(out.toByteArray()); + @Test(expected = IOException.class) + public void ensureNotReadable() throws IOException { + createHandle().read(); } @Override - protected void checkWrites(final DataHandle handle) - throws IOException - { - final byte[] copy = BYTES.clone(); + @Test + public void testWriting() throws IOException { + final ByteArrayOutputStream os = new ByteArrayOutputStream(42); + populateData(os); + final BytesLocation location = new BytesLocation(os.toByteArray()); + final DataHandle handle = // + dataHandleService.create(location); + final DataHandle writeHandle = dataHandleService.writeBuffer( + handle); - // change the data - handle.seek(7); - final String splice = "there"; - for (int i = 0; i < splice.length(); i++) { - final char c = splice.charAt(i); - handle.write(c); - copy[7 + i] = (byte) c; - } - handle.close(); + checkBasicWrites(handle, writeHandle); + } - final Context context = new Context(DataHandleService.class); - final DataHandleService dataHandleService = context.service( - DataHandleService.class); + @Test + public void testEndiannessWriting() throws IOException { + final BytesLocation location = new BytesLocation(new byte[42]); + final Supplier> readHandleSupplier = + () -> dataHandleService.create(location); + final Supplier> writeHandleSupplier = () -> { + final DataHandle h = dataHandleService.create(location); + return dataHandleService.writeBuffer(h); + }; - try (final DataHandle readHandle = // - dataHandleService.create(loc)) - { - readHandle.seek(0); - for (int i = 0; i < copy.length; i++) { - assertEquals(msg(i), 0xff & copy[i], readHandle.read()); - } - } + checkWriteEndianes(readHandleSupplier, writeHandleSupplier, + ByteOrder.LITTLE_ENDIAN); + checkWriteEndianes(readHandleSupplier, writeHandleSupplier, + ByteOrder.LITTLE_ENDIAN); + checkAdvancedStringWriting(readHandleSupplier, writeHandleSupplier); } } From e9f820ae4b29f037b1ffb982364f2965b38fe722 Mon Sep 17 00:00:00 2001 From: Gabriel Einsdorf Date: Thu, 4 Oct 2018 11:27:20 +0200 Subject: [PATCH 033/383] DataHandle: Use persistent buffer for conversions. - this avoids allocating a new byte array for each read --- .../scijava/io/handle/AbstractDataHandle.java | 7 ++++ .../org/scijava/io/handle/DataHandle.java | 37 +++++++++++++------ 2 files changed, 33 insertions(+), 11 deletions(-) diff --git a/src/main/java/org/scijava/io/handle/AbstractDataHandle.java b/src/main/java/org/scijava/io/handle/AbstractDataHandle.java index 2d2258ab2..f5e5f1c59 100644 --- a/src/main/java/org/scijava/io/handle/AbstractDataHandle.java +++ b/src/main/java/org/scijava/io/handle/AbstractDataHandle.java @@ -44,6 +44,13 @@ public abstract class AbstractDataHandle extends AbstractWrapperPlugin implements DataHandle { + private byte[] conversionBuffer = new byte[8]; + + @Override + public byte[] conversionBuffer() { + return conversionBuffer; + } + // -- Fields -- private ByteOrder order = ByteOrder.BIG_ENDIAN; diff --git a/src/main/java/org/scijava/io/handle/DataHandle.java b/src/main/java/org/scijava/io/handle/DataHandle.java index cf2e7d3ee..ccb93d434 100644 --- a/src/main/java/org/scijava/io/handle/DataHandle.java +++ b/src/main/java/org/scijava/io/handle/DataHandle.java @@ -250,6 +250,11 @@ default void setLittleEndian(final boolean little) { /** Sets the native encoding of the stream. */ void setEncoding(String encoding); + /** + * @return a 8 byte long buffer array used for type conversions + */ + byte[] conversionBuffer(); + /** Reads a string of arbitrary length, terminated by a null char. */ default String readCString() throws IOException { final String line = findString("\0"); @@ -515,7 +520,7 @@ default int readUnsignedByte() throws IOException { @Override default short readShort() throws IOException { - final byte[] buf = new byte[2]; + final byte[] buf = conversionBuffer(); final int read = read(buf, 0, 2); if (read < 2) throw new EOFException(); return Bytes.toShort(buf, isLittleEndian()); @@ -533,7 +538,7 @@ default char readChar() throws IOException { @Override default int readInt() throws IOException { - final byte[] buf = new byte[4]; + final byte[] buf = conversionBuffer(); final int read = read(buf, 0, 4); if (read < 4) throw new EOFException(); return Bytes.toInt(buf, isLittleEndian()); @@ -541,9 +546,9 @@ default int readInt() throws IOException { @Override default long readLong() throws IOException { - byte[] buf = new byte[8]; - int read = read(buf, 0, 8); - if (read < 0) { + final byte[] buf = conversionBuffer(); + final int read = read(buf, 0, 8); + if (read < 8) { throw new EOFException(); } return Bytes.toLong(buf, isLittleEndian()); @@ -614,32 +619,42 @@ default void writeByte(final int v) throws IOException { @Override default void writeShort(final int v) throws IOException { - write(Bytes.fromShort((short) v, isLittleEndian())); + final byte[] buf = conversionBuffer(); + Bytes.unpack(v, buf, 0, 2, isLittleEndian()); + write(buf, 0, 2); } @Override default void writeChar(final int v) throws IOException { - write(Bytes.fromShort((short) v, isLittleEndian())); + writeShort(v); } @Override default void writeInt(final int v) throws IOException { - write(Bytes.fromInt(v, isLittleEndian())); + final byte[] buf = conversionBuffer(); + Bytes.unpack(v, buf, 0, 4, isLittleEndian()); + write(buf, 0, 4); } @Override default void writeLong(final long v) throws IOException { - write(Bytes.fromLong(v, isLittleEndian())); + final byte[] buf = conversionBuffer(); + Bytes.unpack(v, buf, 0, 8, isLittleEndian()); + write(buf, 0, 8); } @Override default void writeFloat(final float v) throws IOException { - write(Bytes.fromFloat(v, isLittleEndian())); + final byte[] buf = conversionBuffer(); + Bytes.unpack(Float.floatToIntBits(v), buf, 0, 4, isLittleEndian()); + write(buf, 0, 4); } @Override default void writeDouble(final double v) throws IOException { - write(Bytes.fromDouble(v, isLittleEndian())); + final byte[] buf = conversionBuffer(); + Bytes.unpack(Double.doubleToLongBits(v), buf, 0, 8, isLittleEndian()); + write(buf, 0, 8); } @Override From 6c094f759ae0b92388df48479a933c8a4f453f53 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Sat, 13 Oct 2018 10:43:49 -0500 Subject: [PATCH 034/383] POM: bump to next minor version There is new API in the DataHandle interface. --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 2aded5aee..5a8bf4172 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.75.2-SNAPSHOT + 2.76.0-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From 4a365aa64e36658a12de0a3148fec4d17349b5ab Mon Sep 17 00:00:00 2001 From: Gabriel Einsdorf Date: Mon, 15 Oct 2018 17:10:41 +0200 Subject: [PATCH 035/383] DataHandle: fix findString(..) and support handles with unknown length The findString(..) method used to require the exact length of the handle, this length can be unknown, e.g. for compressed handles. This is no longer the case. --- .../org/scijava/io/handle/DataHandle.java | 22 +++++++++---------- 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/src/main/java/org/scijava/io/handle/DataHandle.java b/src/main/java/org/scijava/io/handle/DataHandle.java index ccb93d434..c7cbfb654 100644 --- a/src/main/java/org/scijava/io/handle/DataHandle.java +++ b/src/main/java/org/scijava/io/handle/DataHandle.java @@ -350,10 +350,7 @@ default String findString(final boolean saveString, final int blockSize, final StringBuilder out = new StringBuilder(); final long startPos = offset(); long bytesDropped = 0; - final long inputLen = length(); - long maxLen = inputLen - startPos; - final boolean tooLong = saveString && maxLen > MAX_SEARCH_SIZE; - if (tooLong) maxLen = MAX_SEARCH_SIZE; + final long maxLen = saveString ? MAX_SEARCH_SIZE : Long.MAX_VALUE; boolean match = false; int maxTermLen = 0; for (final String term : terminators) { @@ -366,7 +363,10 @@ default String findString(final boolean saveString, final int blockSize, new DataHandleInputStream<>(this), getEncoding()); final char[] buf = new char[blockSize]; long loc = 0; - while (loc < maxLen && offset() < length() - 1) { + int r = 0; + + // NB: we need at least 2 bytes to read a char + while (loc < maxLen && ((r = in.read(buf, 0, blockSize)) > 1)) { // if we're not saving the string, drop any old, unnecessary output if (!saveString) { final int outLen = out.length(); @@ -378,16 +378,12 @@ default String findString(final boolean saveString, final int blockSize, bytesDropped += dropIndex; } } - - // read block from stream - final int r = in.read(buf, 0, blockSize); - if (r <= 0) throw new IOException("Cannot read from stream: " + r); - // append block to output out.append(buf, 0, r); // check output, returning smallest possible string - int min = Integer.MAX_VALUE, tagLen = 0; + int min = Integer.MAX_VALUE; + int tagLen = 0; for (final String t : terminators) { final int len = t.length(); final int start = (int) (loc - bytesDropped - len); @@ -415,7 +411,9 @@ default String findString(final boolean saveString, final int blockSize, } // no match - if (tooLong) throw new IOException("Maximum search length reached."); + if (loc > MAX_SEARCH_SIZE) { + throw new IOException("Maximum search length reached."); + } return saveString ? out.toString() : null; } From a922e158a31e3a0469cc090cdad5ea67ac7f5cc7 Mon Sep 17 00:00:00 2001 From: Gabriel Einsdorf Date: Tue, 16 Oct 2018 10:59:55 +0200 Subject: [PATCH 036/383] Add test for edge cases in the DataHandle default methods --- .../io/handle/DataHandleEdgeCaseTests.java | 142 ++++++++++++++++++ 1 file changed, 142 insertions(+) create mode 100644 src/test/java/org/scijava/io/handle/DataHandleEdgeCaseTests.java diff --git a/src/test/java/org/scijava/io/handle/DataHandleEdgeCaseTests.java b/src/test/java/org/scijava/io/handle/DataHandleEdgeCaseTests.java new file mode 100644 index 000000000..268faee59 --- /dev/null +++ b/src/test/java/org/scijava/io/handle/DataHandleEdgeCaseTests.java @@ -0,0 +1,142 @@ +/*- + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2018 Board of Regents of the University of + * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck + * Institute of Molecular Cell Biology and Genetics, University of + * Konstanz, and KNIME GmbH. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ + +package org.scijava.io.handle; + +import static org.junit.Assert.assertArrayEquals; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; + +import java.io.IOException; +import java.util.Arrays; + +import org.junit.Test; +import org.scijava.Context; +import org.scijava.io.location.BytesLocation; +import org.scijava.io.location.Location; + +/** + * Additional Tests for edge case behavior of {@link DataHandle}. + * + * @author Gabriel Einsdorf + */ +public class DataHandleEdgeCaseTests { + + private static final byte[] BYTES = { // + 'H', 'e', 'l', 'l', 'o', ',', ' ', 'w', 'o', 'r', 'l', 'd', '\n', // + 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 0, -128, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, // + 125, 127, -127, -125, -3, 'h', 'e' }; + + /** + * Test to ensure {@link DataHandle#findString(String...)} and + * {@link DataHandle#readCString()} work with {@link DataHandle} + * implementations that have unknown length. + * + * @throws IOException + */ + @Test + public void testFindStringsOnUnknonwLengthHandle() throws IOException { + final Context ctx = new Context(); + final DataHandleService dhs = ctx.getService(DataHandleService.class); + final DummyHandle dummy = new DummyHandle(dhs.create(new BytesLocation( + BYTES))); + + assertEquals("Hello,", dummy.findString(",")); + assertEquals(" world\n", dummy.findString("\n")); + + dummy.seek(41); + assertEquals("he", dummy.findString("\n")); + + dummy.seek(16); + assertArrayEquals(Arrays.copyOfRange(BYTES, 16, 23), dummy.readCString() + .getBytes()); + dummy.seek(42); + assertNull(dummy.readCString()); + } + + private class DummyHandle extends AbstractHigherOrderHandle { + + public DummyHandle(final DataHandle handle) { + super(handle); + } + + @Override + public long length() throws IOException { + return -1; + } + + @Override + public long offset() throws IOException { + return handle().offset(); + } + + @Override + public void seek(final long pos) throws IOException { + handle().seek(pos); + } + + @Override + public void setLength(final long length) throws IOException { + handle().setLength(length); + } + + @Override + public int read(final byte[] b, final int off, final int len) + throws IOException + { + return handle().read(b, off, len); + } + + @Override + public byte readByte() throws IOException { + return handle().readByte(); + } + + @Override + public void write(final int b) throws IOException { + handle().write(b); + } + + @Override + public void write(final byte[] b, final int off, final int len) + throws IOException + { + handle().write(b, off, len); + } + + @Override + protected void cleanup() throws IOException { + // + } + } + +} From 54d93cddb68bbc47e9f5f7bcf1d22e4a4cb1d1e1 Mon Sep 17 00:00:00 2001 From: Gabriel Einsdorf Date: Tue, 14 Mar 2017 16:49:03 +0100 Subject: [PATCH 037/383] Add StreamHandle This basic version does not fully support random access, which will be provided by subclasses to be added in future commits. --- .../io/handle/AbstractStreamHandle.java | 65 ++++++ .../org/scijava/io/handle/StreamHandle.java | 192 ++++++++++++++++++ 2 files changed, 257 insertions(+) create mode 100644 src/main/java/org/scijava/io/handle/AbstractStreamHandle.java create mode 100644 src/main/java/org/scijava/io/handle/StreamHandle.java diff --git a/src/main/java/org/scijava/io/handle/AbstractStreamHandle.java b/src/main/java/org/scijava/io/handle/AbstractStreamHandle.java new file mode 100644 index 000000000..f06e9fbb6 --- /dev/null +++ b/src/main/java/org/scijava/io/handle/AbstractStreamHandle.java @@ -0,0 +1,65 @@ +/* + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2017 Board of Regents of the University of + * Wisconsin-Madison, Broad Institute of MIT and Harvard, and Max Planck + * Institute of Molecular Cell Biology and Genetics. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ + +package org.scijava.io.handle; + +import org.scijava.io.location.Location; + +/** + * Abstract base class for {@link StreamHandle} implementations. + * + * @author Curtis Rueden + * @author Melissa Linkert + */ +public abstract class AbstractStreamHandle extends + AbstractDataHandle implements StreamHandle +{ + + // -- Fields -- + + /** Current position within the stream(s). */ + private long offset; + + // -- StreamHandle methods -- + + @Override + public void setOffset(final long offset) { + this.offset = offset; + } + + // -- DataHandle methods -- + + @Override + public long offset() { + return offset; + } + +} diff --git a/src/main/java/org/scijava/io/handle/StreamHandle.java b/src/main/java/org/scijava/io/handle/StreamHandle.java new file mode 100644 index 000000000..64902d404 --- /dev/null +++ b/src/main/java/org/scijava/io/handle/StreamHandle.java @@ -0,0 +1,192 @@ +/* + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2017 Board of Regents of the University of + * Wisconsin-Madison, Broad Institute of MIT and Harvard, and Max Planck + * Institute of Molecular Cell Biology and Genetics. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ + +package org.scijava.io.handle; + +import java.io.EOFException; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; + +import org.scijava.io.location.Location; + +/** + * A {@link DataHandle} backed by an {@link InputStream} and/or + * {@link OutputStream}. + * + * @author Curtis Rueden + * @author Melissa Linkert + * @author Gabriel Einsdorf + */ +public interface StreamHandle extends DataHandle { + + // -- StreamHandle methods -- + + /** + * Gets an input stream for reading data, positioned at the current offset. + * + * @return the appropriate input stream, or null if the handle is write-only. + * @throws IOException + */ + InputStream in() throws IOException; + + /** + * Gets an output stream for writing data, positioned at the current offset. + * + * @return the appropriate output stream, or null if the handle is read-only. + */ + OutputStream out() throws IOException; + + /** + * Sets the offset of the handle to the given position. + *

+ * This method is intended to be called only in conjunction with reading from + * the input stream, or writing to the output stream. Otherwise, the contents + * may get out of sync. + *

+ */ + void setOffset(long offset); + + /** + * Increments the handle's offset by the given amount. + *

+ * This method is intended to be called only in conjunction with reading from + * the input stream, or writing to the output stream. Otherwise, the contents + * may get out of sync. + *

+ */ + default void advance(final long bytes) throws IOException { + setOffset(offset() + bytes); + } + + // -- DataHandle methods -- + + @Override + default void seek(final long pos) throws IOException { + if (pos == offset()) return; + if (pos > offset()) { + jump(pos - offset()); + } + else { + throw new UnsupportedOperationException( + "Can't seek backwards through this StreamHandle"); + } + } + + /** + * Resets the stream to its start. + * + * @throws IOException If something goes wrong with the reset + */ + void resetStream() throws IOException; + + default void jump(final long n) throws IOException, EOFException { + long remain = n; + while (remain > 0) { + final long r = in().skip(remain); + if (r < 0) throw new EOFException(); + remain -= r; + } + } + + @Override + default void ensureReadable(final long count) throws IOException { + if (in() == null) throw new IOException("This handle is write-only."); + DataHandle.super.ensureReadable(count); + } + + @Override + default boolean ensureWritable(final long count) throws IOException { + if (out() == null) throw new IOException("This handle is read-only."); + return DataHandle.super.ensureWritable(count); + } + + @Override + default int read() throws IOException { + ensureReadable(0); + final int v = in().read(); + if (v >= 0) advance(1); + return v; + } + + @Override + default byte readByte() throws IOException { + int ch = this.read(); + if (ch < 0) throw new EOFException(); + return (byte) (ch); + } + + @Override + default int read(final byte[] b, final int off, final int len) + throws IOException + { + final int n = in().read(b, off, len); + if (n >= 0) advance(n); + return n; + } + + // -- DataOutput methods -- + + @Override + default void write(final int v) throws IOException { + ensureWritable(1); + out().write(v); + advance(1); + } + + @Override + default void writeByte(int v) throws IOException { + write(v); + } + + @Override + default void write(final byte[] b, final int off, final int len) + throws IOException + { + ensureWritable(len); + out().write(b, off, len); + advance(len); + } + + // -- Closeable methods -- + + @Override + default void close() throws IOException { + // TODO: Double check this logic. + try (final InputStream in = in()) { + if (in != null) in.close(); + } + try (final OutputStream out = out()) { + if (out != null) out.close(); + } + } + +} From 2f54eed4f0516506dd521dabadee9304e17f5f58 Mon Sep 17 00:00:00 2001 From: Gabriel Einsdorf Date: Tue, 14 Mar 2017 18:39:16 +0100 Subject: [PATCH 038/383] Add ResettableStreamHandle + SeekableStreamHandle These subinterfaces of StreamHandle provide random access over the contained streams. --- .../handle/AbstractSeekableStreamHandle.java | 105 ++++++++++++++++++ .../io/handle/ResettableStreamHandle.java | 72 ++++++++++++ .../io/handle/SeekableStreamHandle.java | 53 +++++++++ 3 files changed, 230 insertions(+) create mode 100644 src/main/java/org/scijava/io/handle/AbstractSeekableStreamHandle.java create mode 100644 src/main/java/org/scijava/io/handle/ResettableStreamHandle.java create mode 100644 src/main/java/org/scijava/io/handle/SeekableStreamHandle.java diff --git a/src/main/java/org/scijava/io/handle/AbstractSeekableStreamHandle.java b/src/main/java/org/scijava/io/handle/AbstractSeekableStreamHandle.java new file mode 100644 index 000000000..4015deb68 --- /dev/null +++ b/src/main/java/org/scijava/io/handle/AbstractSeekableStreamHandle.java @@ -0,0 +1,105 @@ +/* + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2017 Board of Regents of the University of + * Wisconsin-Madison, Broad Institute of MIT and Harvard, and Max Planck + * Institute of Molecular Cell Biology and Genetics. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ + +package org.scijava.io.handle; + +import java.io.IOException; + +import org.scijava.io.location.Location; + +public abstract class AbstractSeekableStreamHandle extends + AbstractStreamHandle implements SeekableStreamHandle +{ + + private long jumpCutoff = 10000; + + @Override + public void seek(final long pos) throws IOException { + + // how much and which direction we have to jump + final long delta = pos - offset(); + + if (delta == 0) { + return; + // nothing to do + } + else if (delta > 0) { + // offset position is "downstream" + + // try to reconnect instead of linearly reading large chunks + if (recreatePossible() && delta > jumpCutoff) { + recreateStreamFromPos(pos); + } + else { + jump(delta); + } + + } + else { // delta < 0 + // need to recreate the stream + if (recreatePossible()) { + recreateStreamFromPos(pos); + } + else { + resetStream(); + jump(pos); + } + } + setOffset(pos); + } + + /** + * Recreates the internal input stream available through {@link #in()}, so + * that it starts from the specified position. + * + * @param pos + * @throws IOException + */ + protected abstract void recreateStreamFromPos(long pos) throws IOException; + + /** + * In some implementations of this class, the ability to recreate the stream + * depends on external factors (e.g. server support). This influences a + * + * @return if recreate is actually possible. + * @throws IOException + */ + protected abstract boolean recreatePossible() throws IOException; + + /** + * Sets the maximum of bytes which are read from the stream when seeking + * forward. Any larger number will result in a call to + * {@link #recreateStreamFromPos(long)}. + */ + protected void setJumpCutoff(long jumpCutoff) { + this.jumpCutoff = jumpCutoff; + } +} diff --git a/src/main/java/org/scijava/io/handle/ResettableStreamHandle.java b/src/main/java/org/scijava/io/handle/ResettableStreamHandle.java new file mode 100644 index 000000000..b22f17c1a --- /dev/null +++ b/src/main/java/org/scijava/io/handle/ResettableStreamHandle.java @@ -0,0 +1,72 @@ +/* + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2017 Board of Regents of the University of + * Wisconsin-Madison, Broad Institute of MIT and Harvard, and Max Planck + * Institute of Molecular Cell Biology and Genetics. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ + +package org.scijava.io.handle; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; + +import org.scijava.io.location.Location; + +/** + * A {@link DataHandle} backed by an {@link InputStream} and/or + * {@link OutputStream}. Supports resetting the handle to the start of the + * internal stream(s). + */ +public interface ResettableStreamHandle extends + StreamHandle +{ + + @Override + default void seek(final long pos) throws IOException { + final long off = offset(); + if (pos == off) return; // nothing to do + if (pos > off) { + // jump from the current offset + jump(pos - off); + } + else { + // jump from the beginning of the stream + resetStream(); + jump(pos); + } + setOffset(pos); + } + + /** + * Resets the stream to its start. + * + * @throws IOException If something goes wrong with the reset + */ + @Override + void resetStream() throws IOException; +} diff --git a/src/main/java/org/scijava/io/handle/SeekableStreamHandle.java b/src/main/java/org/scijava/io/handle/SeekableStreamHandle.java new file mode 100644 index 000000000..3ad97e581 --- /dev/null +++ b/src/main/java/org/scijava/io/handle/SeekableStreamHandle.java @@ -0,0 +1,53 @@ +/* + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2017 Board of Regents of the University of + * Wisconsin-Madison, Broad Institute of MIT and Harvard, and Max Planck + * Institute of Molecular Cell Biology and Genetics. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ + +package org.scijava.io.handle; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; + +import org.scijava.io.location.Location; + +/** + * A {@link DataHandle} backed by an {@link InputStream} and/or + * {@link OutputStream}. Supports seeking to an arbitrary position within the + * stream. + * + * @author Gabriel Einsdorf + */ +public interface SeekableStreamHandle extends + ResettableStreamHandle +{ + + @Override + void seek(long pos) throws IOException; +} From c56df67d2a1b1a90104f7a5881cc6398b5c278c6 Mon Sep 17 00:00:00 2001 From: Gabriel Einsdorf Date: Tue, 16 Oct 2018 16:56:10 +0200 Subject: [PATCH 039/383] DataHandleTest: allow for handles with unknown length Some handles don't know their length and instead return -1, this commit adds an option to the length check to assure this. --- src/test/java/org/scijava/io/handle/DataHandleTest.java | 7 ++++--- .../org/scijava/io/handle/ReadBufferDataHandleTest.java | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/test/java/org/scijava/io/handle/DataHandleTest.java b/src/test/java/org/scijava/io/handle/DataHandleTest.java index 7c38e3e1a..859456ebe 100644 --- a/src/test/java/org/scijava/io/handle/DataHandleTest.java +++ b/src/test/java/org/scijava/io/handle/DataHandleTest.java @@ -113,7 +113,7 @@ public void testEndianesSettings() throws IOException { @Test public void testReading() throws IOException { try (final DataHandle handle = createHandle()) { - checkBasicReadMethods(handle); + checkBasicReadMethods(handle, true); checkEndiannessReading(handle); } } @@ -168,13 +168,14 @@ public void populateData(final OutputStream out) throws IOException { * Checks basic byte reading methods. * * @param handle the handle to test + * @param lengthKnown whether the length of the handle is know * @throws IOException */ public void checkBasicReadMethods( - final DataHandle handle) throws IOException + final DataHandle handle, boolean lengthKnown) throws IOException { assertEquals(0, handle.offset()); - assertEquals(BYTES.length, handle.length()); + assertEquals(lengthKnown ? BYTES.length : -1, handle.length()); assertEquals("UTF-8", handle.getEncoding()); // test read() diff --git a/src/test/java/org/scijava/io/handle/ReadBufferDataHandleTest.java b/src/test/java/org/scijava/io/handle/ReadBufferDataHandleTest.java index e7cb332f2..99d04e3fb 100644 --- a/src/test/java/org/scijava/io/handle/ReadBufferDataHandleTest.java +++ b/src/test/java/org/scijava/io/handle/ReadBufferDataHandleTest.java @@ -64,7 +64,7 @@ public void testSmallBuffer() throws IOException { new ReadBufferDataHandle(handle, 5)) { // check with small buffersize - checkBasicReadMethods(bufferedHandle); + checkBasicReadMethods(bufferedHandle, true); checkEndiannessReading(bufferedHandle); } } From 183c2e4ba897f1c44405df5ac8c6349a69f294f9 Mon Sep 17 00:00:00 2001 From: Gabriel Einsdorf Date: Tue, 16 Oct 2018 16:57:07 +0200 Subject: [PATCH 040/383] Remove @Ignore from empty tests --- .../java/org/scijava/io/handle/ReadBufferDataHandleTest.java | 1 - .../java/org/scijava/io/handle/WriteBufferDataHandleTest.java | 2 -- 2 files changed, 3 deletions(-) diff --git a/src/test/java/org/scijava/io/handle/ReadBufferDataHandleTest.java b/src/test/java/org/scijava/io/handle/ReadBufferDataHandleTest.java index 99d04e3fb..9f05bd38b 100644 --- a/src/test/java/org/scijava/io/handle/ReadBufferDataHandleTest.java +++ b/src/test/java/org/scijava/io/handle/ReadBufferDataHandleTest.java @@ -127,7 +127,6 @@ public void testLargeRead() throws Exception { } @Test - @Ignore @Override public void testWriting() throws IOException { // nothing to do here diff --git a/src/test/java/org/scijava/io/handle/WriteBufferDataHandleTest.java b/src/test/java/org/scijava/io/handle/WriteBufferDataHandleTest.java index 40f035e3a..6ea468872 100644 --- a/src/test/java/org/scijava/io/handle/WriteBufferDataHandleTest.java +++ b/src/test/java/org/scijava/io/handle/WriteBufferDataHandleTest.java @@ -64,14 +64,12 @@ public DataHandle createHandle() { } @Test - @Ignore @Override public void testReading() throws IOException { // nothing to do } @Test - @Ignore @Override public void checkSkip() throws IOException { // nothing to do From e69e27f78a2dbe4008f46cdc396dc074627b0283 Mon Sep 17 00:00:00 2001 From: Gabriel Einsdorf Date: Tue, 16 Oct 2018 11:01:02 +0200 Subject: [PATCH 041/383] BytesHandle: return -1 on EOF --- src/main/java/org/scijava/io/handle/BytesHandle.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/java/org/scijava/io/handle/BytesHandle.java b/src/main/java/org/scijava/io/handle/BytesHandle.java index 7eb52dbd5..9ffa71431 100644 --- a/src/main/java/org/scijava/io/handle/BytesHandle.java +++ b/src/main/java/org/scijava/io/handle/BytesHandle.java @@ -87,9 +87,13 @@ public void setLength(final long length) throws IOException { @Override public int read(final byte[] b, final int off, int len) throws IOException { + if(len == 0) return 0; if (offset + len > length()) { len = (int) (length() - offset); } + if(len == 0) { // EOF + return -1; + } bytes().getBytes(offset, b, off, len); offset += len; return len; From d75e1a36dd7646a677605312f87b02635131b85c Mon Sep 17 00:00:00 2001 From: Gabriel Einsdorf Date: Tue, 25 Sep 2018 18:06:42 +0200 Subject: [PATCH 042/383] DefaultLocationService#resolve(String) add fall-back to FileLocation Before giving up on parsing a given string, we try interpreting it as a local file. This allows us to parse local paths, without requiring users to transform them to URIs first. --- .../scijava/io/location/LocationService.java | 21 ++++++++++++------- .../io/location/LocationServiceTest.java | 13 ++++++++++++ 2 files changed, 26 insertions(+), 8 deletions(-) diff --git a/src/main/java/org/scijava/io/location/LocationService.java b/src/main/java/org/scijava/io/location/LocationService.java index 193e03929..1599ed58b 100644 --- a/src/main/java/org/scijava/io/location/LocationService.java +++ b/src/main/java/org/scijava/io/location/LocationService.java @@ -32,6 +32,7 @@ package org.scijava.io.location; +import java.io.File; import java.net.URI; import java.net.URISyntaxException; @@ -50,25 +51,29 @@ public interface LocationService extends HandlerService, /** * Turns the given string into an {@link URI}, then resolves it to a - * {@link Location} - * - * @param uri the uri to resolve + * {@link Location}. + * + * @param uriString the uri to resolve * @return the resolved {@link Location} * @throws URISyntaxException if the URI is malformed */ - default Location resolve(final String uri) throws URISyntaxException { - return resolve(new URI(uri)); + default Location resolve(final String uriString) throws URISyntaxException { + return resolve(new URI(uriString)); } /** - * Resolves the given {@link URI} to a location. - * + * Resolves the given {@link URI} to a location. If the {@code scheme} part of + * the URI is {@code null} the path component is resolved as a local file. + * * @param uri the uri to resolve * @return the resolved {@link Location} or null if no resolver * could be found. * @throws URISyntaxException if the URI is malformed */ - default Location resolve(final URI uri) throws URISyntaxException { + default Location resolve(URI uri) throws URISyntaxException { + if (uri.getScheme() == null) { // Fallback for local files + uri = new File(uri.getPath()).toURI(); + } final LocationResolver resolver = getResolver(uri); return resolver != null ? resolver.resolve(uri) : null; } diff --git a/src/test/java/org/scijava/io/location/LocationServiceTest.java b/src/test/java/org/scijava/io/location/LocationServiceTest.java index 5d6d5d9b7..d24035d28 100644 --- a/src/test/java/org/scijava/io/location/LocationServiceTest.java +++ b/src/test/java/org/scijava/io/location/LocationServiceTest.java @@ -63,4 +63,17 @@ public void testResolve() throws URISyntaxException { assertEquals(uri, loc.resolve(uri.toString()).getURI()); } + @Test + public void testFallBack() throws URISyntaxException { + final Context ctx = new Context(LocationService.class); + final LocationService loc = ctx.getService(LocationService.class); + + final String uri = new File(".").getAbsolutePath(); + final Location res = loc.resolve(uri); + + assertTrue(res instanceof FileLocation); + FileLocation resFile = (FileLocation) res; + assertEquals(uri, resFile.getFile().getAbsolutePath()); + } + } From d9cf223007ee0377a52d3188dd8a34ad38b480b2 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 16 Oct 2018 10:41:14 -0500 Subject: [PATCH 043/383] AbstractLocation: implement a sensible toString() This will make it easier to understand Location objects when debugging. --- .../java/org/scijava/io/location/AbstractLocation.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/main/java/org/scijava/io/location/AbstractLocation.java b/src/main/java/org/scijava/io/location/AbstractLocation.java index 3d614d162..e15f64ab1 100644 --- a/src/main/java/org/scijava/io/location/AbstractLocation.java +++ b/src/main/java/org/scijava/io/location/AbstractLocation.java @@ -32,6 +32,7 @@ package org.scijava.io.location; +import java.net.URI; import java.util.Objects; /** @@ -58,4 +59,13 @@ public boolean equals(final Object obj) { return Objects.equals(getURI(), other.getURI()); } + @Override + public String toString() { + final String prefix = getClass().getSimpleName() + ":"; + final URI uri = getURI(); + if (uri != null) return prefix + uri; + final String name = getName(); + if (name != null) return prefix + name; + return prefix + defaultName(); + } } From d9eac4e57dd0a05dd15dcb9a8e07b66d6d6f9428 Mon Sep 17 00:00:00 2001 From: Gabriel Einsdorf Date: Wed, 21 Feb 2018 14:56:24 +0100 Subject: [PATCH 044/383] FileLocation: require non-Null arguments --- src/main/java/org/scijava/io/location/FileLocation.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/org/scijava/io/location/FileLocation.java b/src/main/java/org/scijava/io/location/FileLocation.java index 7790ae4ec..2f073e1cc 100644 --- a/src/main/java/org/scijava/io/location/FileLocation.java +++ b/src/main/java/org/scijava/io/location/FileLocation.java @@ -37,6 +37,7 @@ import java.net.URI; import java.util.Collections; import java.util.HashSet; +import java.util.Objects; import java.util.Set; /** @@ -52,6 +53,7 @@ public class FileLocation extends AbstractLocation implements private final File file; public FileLocation(final File file) { + Objects.requireNonNull(file); this.file = file; } From b66e768412106056b996b6c6b2628f888476a1d1 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 16 Oct 2018 10:44:46 -0500 Subject: [PATCH 045/383] Bump to next development cycle Signed-off-by: Curtis Rueden --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 5a8bf4172..28cbe5c77 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.76.0-SNAPSHOT + 2.76.1-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From 9de70b484b962fc766a89362999ac3dd575d14c3 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 16 Oct 2018 15:42:56 -0500 Subject: [PATCH 046/383] DataHandleTest: add missing final keywords --- .../org/scijava/io/handle/DataHandleTest.java | 42 +++++++++---------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/src/test/java/org/scijava/io/handle/DataHandleTest.java b/src/test/java/org/scijava/io/handle/DataHandleTest.java index 859456ebe..cffcd9fe0 100644 --- a/src/test/java/org/scijava/io/handle/DataHandleTest.java +++ b/src/test/java/org/scijava/io/handle/DataHandleTest.java @@ -71,7 +71,7 @@ public void init() { @Test public void checkSkip() throws IOException { - try (DataHandle handle = createHandle()) { + try (final DataHandle handle = createHandle()) { handle.seek(0); handle.skip(10); assertEquals(10, handle.offset()); @@ -83,7 +83,7 @@ public void checkSkip() throws IOException { @Test public void testEndianesSettings() throws IOException { - try (DataHandle handle = createHandle()) { + try (final DataHandle handle = createHandle()) { final ByteOrder original = handle.getOrder(); handle.setOrder(ByteOrder.BIG_ENDIAN); @@ -120,7 +120,7 @@ public void testReading() throws IOException { @Test public void testWriting() throws IOException { - try (DataHandle handle = createHandle()) { + try (final DataHandle handle = createHandle()) { checkBasicWriteMethods(handle); final Location loc = createLocation(); checkWriteEndianes(() -> dataHandleService.create(loc), @@ -405,28 +405,28 @@ public void checkAdvancedStringWriting( { // test writeUTF() / readUTF() final String utfTestString = "abcäúöäéëåáðßø¶🤓🍕😋"; - try (DataHandle writeHandle = writeHandleCreator.get()) { + try (final DataHandle writeHandle = writeHandleCreator.get()) { writeHandle.writeUTF(utfTestString); } - try (DataHandle readHandle = readHandleCreator.get()) { + try (final DataHandle readHandle = readHandleCreator.get()) { assertEquals(utfTestString, readHandle.readUTF()); } // test writeLine() final String testString = "The quick brown fox jumps over the lazy dog."; - try (DataHandle writeHandle = writeHandleCreator.get()) { + try (final DataHandle writeHandle = writeHandleCreator.get()) { writeHandle.writeLine(testString); } - try (DataHandle readHandle = readHandleCreator.get()) { + try (final DataHandle readHandle = readHandleCreator.get()) { assertEquals(testString, readHandle.readLine()); } // test writeChars / findString final String testString2 = "The five boxing wizards jump quickly."; - try (DataHandle writeHandle = writeHandleCreator.get()) { + try (final DataHandle writeHandle = writeHandleCreator.get()) { writeHandle.writeChars(testString2); } - try (DataHandle readHandle = readHandleCreator.get()) { + try (final DataHandle readHandle = readHandleCreator.get()) { for (int i = 0; i < testString2.length(); i++) { assertEquals(testString2.charAt(i), readHandle.readChar()); } @@ -459,14 +459,14 @@ public void checkWriteEndianes( final boolean little = order == ByteOrder.LITTLE_ENDIAN; // test writeChar() - try (DataHandle writeHandle = writeHandleCreator.get()) { + try (final DataHandle writeHandle = writeHandleCreator.get()) { writeHandle.setOrder(order); for (int i = 0; i < BYTES.length / 2; i += 2) { writeHandle.writeChar(Bytes.toInt(BYTES, i, 2, little)); } } - try (DataHandle readHandle = readHandleCreator.get()) { + try (final DataHandle readHandle = readHandleCreator.get()) { readHandle.setOrder(order); for (int i = 0; i < BYTES.length / 2; i += 2) { assertEquals(msg(i), Bytes.toShort(BYTES, i, little), readHandle @@ -475,14 +475,14 @@ public void checkWriteEndianes( } // test writeShort() - try (DataHandle writeHandle = writeHandleCreator.get()) { + try (final DataHandle writeHandle = writeHandleCreator.get()) { writeHandle.setOrder(order); for (int i = 0; i < BYTES.length / 2; i += 2) { writeHandle.writeShort(Bytes.toShort(BYTES, i, little)); } } - try (DataHandle readHandle = readHandleCreator.get()) { + try (final DataHandle readHandle = readHandleCreator.get()) { readHandle.setOrder(order); for (int i = 0; i < BYTES.length / 2; i += 2) { assertEquals(msg(i), Bytes.toShort(BYTES, i, little), readHandle @@ -491,13 +491,13 @@ public void checkWriteEndianes( } // test writeInt() - try (DataHandle writeHandle = writeHandleCreator.get()) { + try (final DataHandle writeHandle = writeHandleCreator.get()) { writeHandle.setOrder(order); for (int i = 0; i < BYTES.length / 4; i += 4) { writeHandle.writeInt(Bytes.toInt(BYTES, i, little)); } } - try (DataHandle readHandle = readHandleCreator.get()) { + try (final DataHandle readHandle = readHandleCreator.get()) { readHandle.setOrder(order); for (int i = 0; i < BYTES.length / 4; i += 4) { assertEquals(msg(i), Bytes.toInt(BYTES, i, little), readHandle @@ -506,13 +506,13 @@ public void checkWriteEndianes( } // test writeLong() - try (DataHandle writeHandle = writeHandleCreator.get()) { + try (final DataHandle writeHandle = writeHandleCreator.get()) { writeHandle.setOrder(order); for (int i = 0; i < BYTES.length / 8; i += 8) { writeHandle.writeLong(Bytes.toLong(BYTES, i, little)); } } - try (DataHandle readHandle = readHandleCreator.get()) { + try (final DataHandle readHandle = readHandleCreator.get()) { readHandle.setOrder(order); for (int i = 0; i < BYTES.length / 8; i += 8) { assertEquals(msg(i), Bytes.toLong(BYTES, i, little), readHandle @@ -521,13 +521,13 @@ public void checkWriteEndianes( } // test writeFloat() - try (DataHandle writeHandle = writeHandleCreator.get()) { + try (final DataHandle writeHandle = writeHandleCreator.get()) { writeHandle.setOrder(order); for (int i = 0; i < BYTES.length / 4; i += 4) { writeHandle.writeFloat(Bytes.toFloat(BYTES, i, little)); } } - try (DataHandle readHandle = readHandleCreator.get()) { + try (final DataHandle readHandle = readHandleCreator.get()) { readHandle.setOrder(order); for (int i = 0; i < BYTES.length / 4; i += 4) { assertEquals(msg(i), Bytes.toFloat(BYTES, i, little), readHandle @@ -536,13 +536,13 @@ public void checkWriteEndianes( } // test writeDouble() - try (DataHandle writeHandle = writeHandleCreator.get()) { + try (final DataHandle writeHandle = writeHandleCreator.get()) { writeHandle.setOrder(order); for (int i = 0; i < BYTES.length / 8; i += 8) { writeHandle.writeDouble(Bytes.toDouble(BYTES, i, little)); } } - try (DataHandle readHandle = readHandleCreator.get()) { + try (final DataHandle readHandle = readHandleCreator.get()) { readHandle.setOrder(order); for (int i = 0; i < BYTES.length / 8; i += 8) { assertEquals(msg(i), Bytes.toDouble(BYTES, i, little), readHandle From 1d5a14c386b57c20edb0ca86dc2029a846c05f9c Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 16 Oct 2018 15:43:04 -0500 Subject: [PATCH 047/383] DataHandleTest: purge non-ASCII characters This makes the source code as accessible as possible, by escaping the non-ASCII Unicode characters. --- src/test/java/org/scijava/io/handle/DataHandleTest.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/test/java/org/scijava/io/handle/DataHandleTest.java b/src/test/java/org/scijava/io/handle/DataHandleTest.java index cffcd9fe0..af08a6eba 100644 --- a/src/test/java/org/scijava/io/handle/DataHandleTest.java +++ b/src/test/java/org/scijava/io/handle/DataHandleTest.java @@ -404,7 +404,9 @@ public void checkAdvancedStringWriting( final Supplier> writeHandleCreator) throws IOException { // test writeUTF() / readUTF() - final String utfTestString = "abcäúöäéëåáðßø¶🤓🍕😋"; + final String utfTestString = "abc\u00E4\u00FA\u00F6\u00E4" + + "\u00E9\u00EB\u00E5\u00E1\u00F0\u00DF\u00EF\u0153\u0153" + + "\u00F8\u00B6\uD83E\uDD13\uD83C\uDF55\uD83D\uDE0B"; try (final DataHandle writeHandle = writeHandleCreator.get()) { writeHandle.writeUTF(utfTestString); } From 746b74f34c468f2f3c585ac34d872526f673aea3 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 16 Oct 2018 15:43:46 -0500 Subject: [PATCH 048/383] DataHandleTest: fix javadoc --- .../org/scijava/io/handle/DataHandleTest.java | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/src/test/java/org/scijava/io/handle/DataHandleTest.java b/src/test/java/org/scijava/io/handle/DataHandleTest.java index af08a6eba..5fe7cf273 100644 --- a/src/test/java/org/scijava/io/handle/DataHandleTest.java +++ b/src/test/java/org/scijava/io/handle/DataHandleTest.java @@ -438,13 +438,10 @@ public void checkAdvancedStringWriting( /** * Checks writing methods affected by endianness. * - * @param readHandleCreator a supplier that creates properly initialized - * handles for reading, all created handles must point to the same - * location! - * @param writeHandleCreator a supplier that creates properly initialized - * handles for reading, all created handles must point to the same + * @param handleCreator a supplier that creates properly initialized + * handles. All created handles must point to the same * location! - * @throws IOException + * @param order Byte order to use when writing to the handles. */ public void checkWriteEndianes( final Supplier> handleCreator, final ByteOrder order) @@ -453,6 +450,18 @@ public void checkWriteEndianes( checkWriteEndianes(handleCreator, handleCreator, order); } + /** + * Checks writing methods affected by endianness. + * + * @param readHandleCreator a supplier that creates properly initialized + * handles for reading. All created handles must point to the same + * location! + * @param writeHandleCreator a supplier that creates properly initialized + * handles for writing. All created handles must point to the same + * location! + * @param order Byte order to use when writing to the handles. + * @throws IOException + */ public void checkWriteEndianes( final Supplier> readHandleCreator, final Supplier> writeHandleCreator, final ByteOrder order) From b633b831ac1b780d4acfc311616c2ffc6186a000 Mon Sep 17 00:00:00 2001 From: gselzer Date: Thu, 1 Nov 2018 10:41:02 -0500 Subject: [PATCH 049/383] Support invalid filename string to URI conversion Not all filenames on all systems are valid URIs, especially on Windows, whose filenames have backslashes. If an error is thrown trying to create a URI from such an invalid String we attempt to resolve the issue by explicitly making it into a File first. --- .../java/org/scijava/io/location/LocationService.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/scijava/io/location/LocationService.java b/src/main/java/org/scijava/io/location/LocationService.java index 1599ed58b..0e824832a 100644 --- a/src/main/java/org/scijava/io/location/LocationService.java +++ b/src/main/java/org/scijava/io/location/LocationService.java @@ -58,7 +58,15 @@ public interface LocationService extends HandlerService, * @throws URISyntaxException if the URI is malformed */ default Location resolve(final String uriString) throws URISyntaxException { - return resolve(new URI(uriString)); + try { + return resolve(new URI(uriString)); + } + catch (final URISyntaxException exc) { + // In general, filenames are not valid URI strings. + // Particularly on Windows, there are backslashes, which are invalid in URIs. + // So we explicitly turn this string into a file if an error happens above. + return resolve(new File(uriString).toURI()); + } } /** From 161fe9607e953dbd8bf4e66f7cae4a0b1cc431d2 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 3 Dec 2018 14:53:01 -0600 Subject: [PATCH 050/383] POM: update pom-scijava parent to 23.2.0 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 28cbe5c77..9fdca3b43 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.scijava pom-scijava - 19.2.0 + 23.2.0 From 523d8e0d5092415530f4d3c1dceda03b48a16dcc Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 3 Dec 2018 15:06:03 -0600 Subject: [PATCH 051/383] Bump to next development cycle Signed-off-by: Curtis Rueden --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 9fdca3b43..a384c0c53 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.76.1-SNAPSHOT + 2.76.2-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From 83496744c6301080df1b2b53fa1b6f321edf0287 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Thu, 6 Dec 2018 17:47:05 +0100 Subject: [PATCH 052/383] DefaultScriptService: remove unused import --- src/main/java/org/scijava/script/DefaultScriptService.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/org/scijava/script/DefaultScriptService.java b/src/main/java/org/scijava/script/DefaultScriptService.java index 699c0986e..626893150 100644 --- a/src/main/java/org/scijava/script/DefaultScriptService.java +++ b/src/main/java/org/scijava/script/DefaultScriptService.java @@ -50,7 +50,6 @@ import org.scijava.Gateway; import org.scijava.InstantiableException; import org.scijava.MenuPath; -import org.scijava.Priority; import org.scijava.app.AppService; import org.scijava.command.CommandService; import org.scijava.log.LogService; From 884641064f31d0563c3558cced57a47382380477 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Thu, 6 Dec 2018 17:47:25 +0100 Subject: [PATCH 053/383] ScriptService: add mechanism to retrieve aliases --- src/main/java/org/scijava/script/DefaultScriptService.java | 5 +++++ src/main/java/org/scijava/script/ScriptService.java | 3 +++ 2 files changed, 8 insertions(+) diff --git a/src/main/java/org/scijava/script/DefaultScriptService.java b/src/main/java/org/scijava/script/DefaultScriptService.java index 626893150..f677c555c 100644 --- a/src/main/java/org/scijava/script/DefaultScriptService.java +++ b/src/main/java/org/scijava/script/DefaultScriptService.java @@ -195,6 +195,11 @@ public void addAlias(final String alias, final Class type) { aliasMap().put(alias, type); } + @Override + public Map> getAliases() { + return Collections.unmodifiableMap(aliasMap()); + } + @Override public synchronized Class lookupClass(final String alias) throws ScriptException diff --git a/src/main/java/org/scijava/script/ScriptService.java b/src/main/java/org/scijava/script/ScriptService.java index a8c4209c4..1bdbb8aaa 100644 --- a/src/main/java/org/scijava/script/ScriptService.java +++ b/src/main/java/org/scijava/script/ScriptService.java @@ -323,6 +323,9 @@ default void addAlias(final Class type) { /** TODO */ void addAlias(String alias, Class type); + /** TODO */ + Map> getAliases(); + /** TODO */ Class lookupClass(String typeName) throws ScriptException; From 4e6e3c72b288102dc319ecbbd522d13f5996011e Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Fri, 14 Dec 2018 16:42:47 +0100 Subject: [PATCH 054/383] LocationService: do not cache resolvers by scheme We want the ability for multiple resolvers to handle the same scheme in different scenarios. So we don't want to cache which resolver was used based only on scheme. Therefore, the getResolver method becomes the same as getHandler, doing the lookup every time. So we deprecate it. --- .../io/location/DefaultLocationService.java | 10 +--------- .../org/scijava/io/location/LocationService.java | 15 +++++---------- .../scijava/io/location/LocationServiceTest.java | 2 +- 3 files changed, 7 insertions(+), 20 deletions(-) diff --git a/src/main/java/org/scijava/io/location/DefaultLocationService.java b/src/main/java/org/scijava/io/location/DefaultLocationService.java index d8c3c037d..9e8805204 100644 --- a/src/main/java/org/scijava/io/location/DefaultLocationService.java +++ b/src/main/java/org/scijava/io/location/DefaultLocationService.java @@ -33,8 +33,6 @@ package org.scijava.io.location; import java.net.URI; -import java.util.HashMap; -import java.util.Map; import org.scijava.plugin.AbstractHandlerService; import org.scijava.plugin.Plugin; @@ -50,11 +48,5 @@ public class DefaultLocationService extends AbstractHandlerService implements LocationService { - - private final Map resolvers = new HashMap<>(); - - @Override - public LocationResolver getResolver(final URI uri) { - return resolvers.computeIfAbsent(uri.getScheme(), u -> getHandler(uri)); - } + // NB: No implementation needed. } diff --git a/src/main/java/org/scijava/io/location/LocationService.java b/src/main/java/org/scijava/io/location/LocationService.java index 0e824832a..8b2e6a439 100644 --- a/src/main/java/org/scijava/io/location/LocationService.java +++ b/src/main/java/org/scijava/io/location/LocationService.java @@ -86,16 +86,11 @@ default Location resolve(URI uri) throws URISyntaxException { return resolver != null ? resolver.resolve(uri) : null; } - /** - * Returns a {@link LocationResolver} capable of resolving URL like the one - * provided to this method. Allows faster repeated resolving of similar URIs - * without going through this service. - * - * @param uri the uri - * @return the {@link LocationResolver} for this uri type, or - * null if no resolver could be found. - */ - LocationResolver getResolver(URI uri); + /** @deprecated Use {@link #getHandler(URI)} instead. */ + @Deprecated + default LocationResolver getResolver(URI uri) { + return getHandler(uri); + } // -- PTService methods -- diff --git a/src/test/java/org/scijava/io/location/LocationServiceTest.java b/src/test/java/org/scijava/io/location/LocationServiceTest.java index d24035d28..4736fd24b 100644 --- a/src/test/java/org/scijava/io/location/LocationServiceTest.java +++ b/src/test/java/org/scijava/io/location/LocationServiceTest.java @@ -55,7 +55,7 @@ public void testResolve() throws URISyntaxException { final LocationService loc = ctx.getService(LocationService.class); final URI uri = new File(new File(".").getAbsolutePath()).toURI(); - final LocationResolver res = loc.getResolver(uri); + final LocationResolver res = loc.getHandler(uri); assertTrue(res instanceof FileLocationResolver); assertEquals(uri, res.resolve(uri).getURI()); From c47b4b5aab9a38a647f75d4ccfd76dbd6d200f6f Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Fri, 14 Dec 2018 16:58:25 +0100 Subject: [PATCH 055/383] ScriptIOPlugin: deactivate incomplete plugin It seems this plugin was never completed. --- src/main/java/org/scijava/script/io/ScriptIOPlugin.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/main/java/org/scijava/script/io/ScriptIOPlugin.java b/src/main/java/org/scijava/script/io/ScriptIOPlugin.java index d85817af8..72e20f701 100644 --- a/src/main/java/org/scijava/script/io/ScriptIOPlugin.java +++ b/src/main/java/org/scijava/script/io/ScriptIOPlugin.java @@ -37,7 +37,6 @@ import org.scijava.io.AbstractIOPlugin; import org.scijava.io.IOPlugin; import org.scijava.plugin.Parameter; -import org.scijava.plugin.Plugin; import org.scijava.script.ScriptService; /** @@ -46,7 +45,6 @@ * @author Curtis Rueden * @see ScriptService */ -@Plugin(type = IOPlugin.class) public class ScriptIOPlugin extends AbstractIOPlugin { @Parameter(required = false) From 6bfb4ff5e8700656e7e8382d182d9b2bad20e4a8 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Fri, 14 Dec 2018 18:01:47 +0100 Subject: [PATCH 056/383] LocationService: fix javadoc error --- src/main/java/org/scijava/io/location/LocationService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/scijava/io/location/LocationService.java b/src/main/java/org/scijava/io/location/LocationService.java index 8b2e6a439..70eedefce 100644 --- a/src/main/java/org/scijava/io/location/LocationService.java +++ b/src/main/java/org/scijava/io/location/LocationService.java @@ -86,7 +86,7 @@ default Location resolve(URI uri) throws URISyntaxException { return resolver != null ? resolver.resolve(uri) : null; } - /** @deprecated Use {@link #getHandler(URI)} instead. */ + /** @deprecated Use {@link #getHandler} instead. */ @Deprecated default LocationResolver getResolver(URI uri) { return getHandler(uri); From 2b0c5bf9b561c61cc86e26e6eacc1a9f899b1490 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Sat, 15 Dec 2018 19:44:58 +0100 Subject: [PATCH 057/383] LocationService: small tweaks --- src/main/java/org/scijava/io/location/LocationService.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/scijava/io/location/LocationService.java b/src/main/java/org/scijava/io/location/LocationService.java index 70eedefce..fbced738a 100644 --- a/src/main/java/org/scijava/io/location/LocationService.java +++ b/src/main/java/org/scijava/io/location/LocationService.java @@ -50,7 +50,7 @@ public interface LocationService extends HandlerService, { /** - * Turns the given string into an {@link URI}, then resolves it to a + * Turns the given string into a {@link URI}, then resolves it to a * {@link Location}. * * @param uriString the uri to resolve @@ -80,7 +80,7 @@ default Location resolve(final String uriString) throws URISyntaxException { */ default Location resolve(URI uri) throws URISyntaxException { if (uri.getScheme() == null) { // Fallback for local files - uri = new File(uri.getPath()).toURI(); + uri = new File(uri.getPath()).toURI(); } final LocationResolver resolver = getResolver(uri); return resolver != null ? resolver.resolve(uri) : null; From d5861f83a074df181bc64f8fcd6240db00438114 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 19 Dec 2018 08:14:10 -0600 Subject: [PATCH 058/383] Make POM.getPOM work when G/A is unknown We can scan for hits beneath META-INF/maven. --- src/main/java/org/scijava/util/POM.java | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/scijava/util/POM.java b/src/main/java/org/scijava/util/POM.java index a6420398f..5edc679d8 100644 --- a/src/main/java/org/scijava/util/POM.java +++ b/src/main/java/org/scijava/util/POM.java @@ -232,11 +232,24 @@ public static POM getPOM(final Class c, final String groupId, location.toString().endsWith(".jar")) { // look for pom.xml in JAR's META-INF/maven subdirectory - final String pomPath = - "META-INF/maven/" + groupId + "/" + artifactId + "/pom.xml"; - final URL pomURL = - new URL("jar:" + location.toString() + "!/" + pomPath); - return new POM(pomURL); + if (groupId == null || artifactId == null) { + // groupId and/or artifactId is unknown; scan for the POM + final URL pomBase = new URL("jar:" + // + location.toString() + "!/META-INF/maven"); + for (final URL url : FileUtils.listContents(pomBase, true, true)) { + if (url.toExternalForm().endsWith("/pom.xml")) { + return new POM(url); + } + } + } + else { + // known groupId and artifactId; grab it directly + final String pomPath = + "META-INF/maven/" + groupId + "/" + artifactId + "/pom.xml"; + final URL pomURL = + new URL("jar:" + location.toString() + "!/" + pomPath); + return new POM(pomURL); + } } // look for the POM in the class's base directory final File file = FileUtils.urlToFile(location); From 636e5f44166582252d98cb876886f96a3720a539 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 19 Dec 2018 08:14:45 -0600 Subject: [PATCH 059/383] Use try/multi-catch in POM.getPOM --- src/main/java/org/scijava/util/POM.java | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/main/java/org/scijava/util/POM.java b/src/main/java/org/scijava/util/POM.java index 5edc679d8..aff40e7ac 100644 --- a/src/main/java/org/scijava/util/POM.java +++ b/src/main/java/org/scijava/util/POM.java @@ -257,13 +257,7 @@ public static POM getPOM(final Class c, final String groupId, final File pomFile = new File(baseDir, "pom.xml"); return new POM(pomFile); } - catch (final IOException e) { - return null; - } - catch (final ParserConfigurationException e) { - return null; - } - catch (final SAXException e) { + catch (final IOException | ParserConfigurationException | SAXException e) { return null; } } From b7ffa9b0f31a549952e3c7cf75bb561f186dc1f0 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 19 Dec 2018 08:16:51 -0600 Subject: [PATCH 060/383] Improve javadoc of POM.getPOM --- src/main/java/org/scijava/util/POM.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/org/scijava/util/POM.java b/src/main/java/org/scijava/util/POM.java index aff40e7ac..32b6d7412 100644 --- a/src/main/java/org/scijava/util/POM.java +++ b/src/main/java/org/scijava/util/POM.java @@ -222,6 +222,8 @@ public String getVersion() { * @param c The class to use as a base when searching for a pom.xml. * @param groupId The Maven groupId of the desired POM. * @param artifactId The Maven artifactId of the desired POM. + * @return {@link POM} object representing the discovered POM, or null if no + * POM could be found. */ public static POM getPOM(final Class c, final String groupId, final String artifactId) From 6e97ae070510771997975e4a2fe0ee293396b503 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 19 Dec 2018 08:19:09 -0600 Subject: [PATCH 061/383] Add POM.getPOM(Class) without G/A arguments --- src/main/java/org/scijava/util/POM.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/main/java/org/scijava/util/POM.java b/src/main/java/org/scijava/util/POM.java index 32b6d7412..f9b1bdd14 100644 --- a/src/main/java/org/scijava/util/POM.java +++ b/src/main/java/org/scijava/util/POM.java @@ -216,6 +216,17 @@ public String getVersion() { // -- Utility methods -- + /** + * Gets the Maven POM associated with the given class. + * + * @param c The class to use as a base when searching for a pom.xml. + * @return {@link POM} object representing the discovered POM, or null if no + * POM could be found. + */ + public static POM getPOM(final Class c) { + return getPOM(c, null, null); + } + /** * Gets the Maven POM associated with the given class. * From ae05d6b4115349d5e83aa244e839049a1e5c6831 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 19 Dec 2018 08:20:04 -0600 Subject: [PATCH 062/383] POM: bump minor version New API was added in 884641064f31d0563c3558cced57a47382380477. --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index a384c0c53..f8b70137a 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.76.2-SNAPSHOT + 2.77.0-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From 4a20b44bbbd2d4876dd8fc18596d920ed90e1d86 Mon Sep 17 00:00:00 2001 From: Gabriel Einsdorf Date: Fri, 14 Dec 2018 12:36:05 +0100 Subject: [PATCH 063/383] ReadBufferDataHandle: ensure pages are fully read Reading bytes with `DataHandle#read(bytes[], off, len)` results in *up to* `len` bytes being read into the provided array. In ReadBufferHandleDataHandle the number of read bytes was not checked, this lead to partially filled pages resulting in read errors. Now the reading is repeated until the page is either full or EOF is reached. And adapt to changes in ReadBufferDataHandle. --- .../io/handle/ReadBufferDataHandle.java | 12 +++++- .../handle/ReadBufferDataHandleMockTest.java | 40 ++++++++++++------- 2 files changed, 37 insertions(+), 15 deletions(-) diff --git a/src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java b/src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java index b54ebe950..6f092f759 100644 --- a/src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java +++ b/src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java @@ -167,7 +167,17 @@ private byte[] readPage(final int pageID, final int slotID) throws IOException { if (handle().offset() != startOfPage) { handle().seek(startOfPage); } - handle().read(page); + + // NB: we read repeatedly until the page is full or EOF is reached + // handle().read(..) might read less bytes than requested + int off = 0; + while (off < pageSize) { + final int read = handle().read(page, off, pageSize - off); + if (read == -1) { // EOF + break; + } + off += read; + } return page; } diff --git a/src/test/java/org/scijava/io/handle/ReadBufferDataHandleMockTest.java b/src/test/java/org/scijava/io/handle/ReadBufferDataHandleMockTest.java index cc1b992d2..38fabfe06 100644 --- a/src/test/java/org/scijava/io/handle/ReadBufferDataHandleMockTest.java +++ b/src/test/java/org/scijava/io/handle/ReadBufferDataHandleMockTest.java @@ -1,21 +1,25 @@ package org.scijava.io.handle; -import org.junit.Before; -import org.junit.Test; - import static org.junit.Assert.assertEquals; import static org.mockito.AdditionalMatchers.aryEq; import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.anyLong; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.doAnswer; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; +import java.io.IOException; + +import org.junit.Before; +import org.junit.Test; import org.scijava.io.location.DummyLocation; import org.scijava.io.location.Location; -import static org.mockito.Mockito.*; - -import java.io.IOException; - public class ReadBufferDataHandleMockTest { private DataHandle mock; @@ -59,34 +63,40 @@ public void testBufferingSequence() throws IOException { // set length of stubbed handle when(mock.length()).thenReturn(30l); + byte[] value = new byte[10]; + when(mock.read(aryEq(value), eq(0), eq(10))).thenReturn(10); + when(mock.read(aryEq(value), anyInt(), anyInt())).thenReturn(10); // read the first byte buf.read(); verify(mock, times(0)).seek(0); // buffer should read a whole page - verify(mock).read(aryEq(byteArrayLen10)); + verify(mock).read(aryEq(byteArrayLen10), eq(0), eq(10)); buf.seek(0); // ensure seek was not called again verify(mock, times(0)).seek(0); + when(mock.offset()).thenReturn(10l); + // read over the edge of the current page buf.read(new byte[12]); verify(mock, times(0)).seek(anyLong()); - verify(mock, times(2)).read(aryEq(byteArrayLen10)); + verify(mock, times(2)).read(aryEq(byteArrayLen10), eq(0), eq(10)); assertEquals(12, buf.offset()); // read the last page + when(mock.offset()).thenReturn(20l); buf.read(new byte[12]); verify(mock, times(0)).seek(anyLong()); - verify(mock, times(3)).read(aryEq(byteArrayLen10)); + verify(mock, times(3)).read(aryEq(byteArrayLen10), eq(0), eq(10)); // first page should no longer be buffered, must be reread in buf.seek(0); buf.read(); verify(mock).seek(0); - verify(mock, times(4)).read(aryEq(byteArrayLen10)); + verify(mock, times(4)).read(aryEq(byteArrayLen10), eq(0), eq(10)); } /** @@ -99,11 +109,12 @@ public void testSkipForward() throws IOException { // set length of stubbed handle when(mock.length()).thenReturn(40l); + when(mock.read(any(), anyInt(), anyInt())).thenReturn(10); // read the first byte buf.read(); verify(mock, times(0)).seek(anyLong()); - verify(mock).read(aryEq(byteArrayLen10)); + verify(mock, times(1)).read(aryEq(byteArrayLen10), eq(0), eq(10)); // skip the second page buf.seek(30l); @@ -111,7 +122,8 @@ public void testSkipForward() throws IOException { // read the third page verify(mock).seek(30l); - verify(mock, times(2)).read(aryEq(byteArrayLen10)); + verify(mock, times(2)).read(aryEq(byteArrayLen10), eq(0), eq(10)); + when(mock.offset()).thenReturn(40l); // go back to already buffered page buf.seek(0l); @@ -123,6 +135,6 @@ public void testSkipForward() throws IOException { buf.seek(35); buf.read(); verify(mock, times(1)).seek(anyLong()); - verify(mock, times(2)).read(any()); + verify(mock, times(2)).read(any(), anyInt(), anyInt()); } } From 821f89fc53bd2f3ffe75c14cd35eb74d5b4e545e Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Sat, 22 Dec 2018 14:42:23 -0600 Subject: [PATCH 064/383] Bump to next development cycle Signed-off-by: Curtis Rueden --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index f8b70137a..2016c2adf 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.77.0-SNAPSHOT + 2.77.1-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From daf4ae2b24ed6aa55334cbe3e991de7bdbd253c0 Mon Sep 17 00:00:00 2001 From: Gabriel Einsdorf Date: Thu, 24 Jan 2019 13:26:39 +0100 Subject: [PATCH 065/383] BytesLocation: Add method to set the name for the Location In some instances libarary users want to create a BytesLocation that has a specific name, e.g. so that it is correctly detected by a Service that performs a name based lookup. --- .../scijava/io/location/BytesLocation.java | 72 ++++++++++++++++++- 1 file changed, 69 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/scijava/io/location/BytesLocation.java b/src/main/java/org/scijava/io/location/BytesLocation.java index 43c08e659..41980b0fd 100644 --- a/src/main/java/org/scijava/io/location/BytesLocation.java +++ b/src/main/java/org/scijava/io/location/BytesLocation.java @@ -34,7 +34,6 @@ import org.scijava.io.ByteArrayByteBank; import org.scijava.io.ByteBank; -import org.scijava.io.handle.DataHandle; import org.scijava.util.ByteArray; /** @@ -47,6 +46,8 @@ public class BytesLocation extends AbstractLocation { private final ByteBank bytes; + private final String name; + /** * Creates a {@link BytesLocation} backed by the specified * {@link ByteBank}. @@ -54,7 +55,18 @@ public class BytesLocation extends AbstractLocation { * @param bytes the {@link ByteBank} that will back this {@link Location} */ public BytesLocation(final ByteBank bytes) { + this(bytes, null); + } + + /** + * Creates a {@link BytesLocation} backed by the specified {@link ByteBank}. + * + * @param bytes the {@link ByteBank} that will back this {@link Location} + * @param name the name of this {@link Location} + */ + public BytesLocation(final ByteBank bytes, final String name) { this.bytes = bytes; + this.name = name; } /** @@ -63,7 +75,19 @@ public BytesLocation(final ByteBank bytes) { * can be used to avoid needing to grow the underlying {@link ByteBank}. */ public BytesLocation(final int initialCapacity) { + this(initialCapacity, null); + } + + /** + * Creates a {@link BytesLocation} backed by a {@link ByteArrayByteBank} with + * the specified initial capacity, but with a reported size of 0. This method + * can be used to avoid needing to grow the underlying {@link ByteBank}. + * + * @param name the name of this {@link Location} + */ + public BytesLocation(final int initialCapacity, final String name) { this.bytes = new ByteArrayByteBank(initialCapacity); + this.name = name; } /** @@ -71,7 +95,18 @@ public BytesLocation(final int initialCapacity) { * that wraps the specified {@link ByteArray}. */ public BytesLocation(final ByteArray bytes) { + this(bytes, null); + } + + /** + * Creates a {@link BytesLocation} backed by a {@link ByteArrayByteBank} that + * wraps the specified {@link ByteArray}. + * + * @param name the name of this Location. + */ + public BytesLocation(final ByteArray bytes, final String name) { this.bytes = new ByteArrayByteBank(bytes); + this.name = name; } /** @@ -81,7 +116,19 @@ public BytesLocation(final ByteArray bytes) { * @param bytes the array to wrap */ public BytesLocation(final byte[] bytes) { + this(bytes, null); + } + + /** + * Creates a {@link BytesLocation} backed by a {@link ByteArrayByteBank} which + * wraps the specified array. + * + * @param bytes the array to wrap + * @param name the name of this Location. + */ + public BytesLocation(final byte[] bytes, final String name) { this.bytes = new ByteArrayByteBank(bytes); + this.name = name; } /** @@ -92,11 +139,25 @@ public BytesLocation(final byte[] bytes) { * @param offset the offset in the bytes array to start copying from * @param length the number of bytes to copy, starting from the offset */ - public BytesLocation(final byte[] bytes, final int offset, - final int length) + public BytesLocation(final byte[] bytes, final int offset, final int length) { + this(bytes, offset, length, null); + } + + /** + * Creates a {@link BytesLocation} backed by a {@link ByteArrayByteBank} with + * the specified initial capacity and the provided data. + * + * @param bytes the bytes to copy into the new {@link BytesLocation} + * @param offset the offset in the bytes array to start copying from + * @param length the number of bytes to copy, starting from the offset + * @param name the name of this Location. + */ + public BytesLocation(final byte[] bytes, final int offset, final int length, + final String name) { this.bytes = new ByteArrayByteBank(length); this.bytes.setBytes(0l, bytes, offset, length); + this.name = name; } // -- BytesLocation methods -- @@ -106,6 +167,11 @@ public ByteBank getByteBank() { return bytes; } + @Override + public String getName() { + return name != null ? name : defaultName(); + } + // -- Object methods -- @Override From 80f96e74b2b6cbcf02662ba8c1b94e189fb37baf Mon Sep 17 00:00:00 2001 From: Gabriel Einsdorf Date: Wed, 23 Jan 2019 15:44:53 +0100 Subject: [PATCH 066/383] BytesLocation: add test for setName() --- .../io/location/BytesLocationTest.java | 35 +++++++++++++++++-- 1 file changed, 32 insertions(+), 3 deletions(-) diff --git a/src/test/java/org/scijava/io/location/BytesLocationTest.java b/src/test/java/org/scijava/io/location/BytesLocationTest.java index f95144ca3..addac1dbb 100644 --- a/src/test/java/org/scijava/io/location/BytesLocationTest.java +++ b/src/test/java/org/scijava/io/location/BytesLocationTest.java @@ -9,13 +9,13 @@ * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -36,10 +36,12 @@ import static org.junit.Assert.assertEquals; import org.junit.Test; +import org.scijava.io.ByteArrayByteBank; +import org.scijava.util.ByteArray; /** * Tests {@link BytesLocation}. - * + * * @author Curtis Rueden */ public class BytesLocationTest { @@ -72,4 +74,31 @@ public void testBytesOffsetLength() { assertArrayEquals(expectedDigits, testDigits); } + /** + * Tests getName() + */ + @Test + public void getNameTest() { + + final BytesLocation loc1 = new BytesLocation(0); + assertEquals(loc1.defaultName(), loc1.getName()); + assertEquals("Location.defaultName", loc1.defaultName()); + + final String expectedName = "test.name"; + BytesLocation loc2 = new BytesLocation(0, expectedName); + assertEquals(expectedName, loc2.getName()); + + loc2 = new BytesLocation(new byte[0], expectedName); + assertEquals(expectedName, loc2.getName()); + + loc2 = new BytesLocation(new ByteArray(), expectedName); + assertEquals(expectedName, loc2.getName()); + + loc2 = new BytesLocation(new ByteArrayByteBank(), expectedName); + assertEquals(expectedName, loc2.getName()); + + loc2 = new BytesLocation(new byte[0], 0, 0, expectedName); + assertEquals(expectedName, loc2.getName()); + } + } From 9a1b86a4fc1afd3604041c3614ace9d57d5e0207 Mon Sep 17 00:00:00 2001 From: Ulrik Guenther Date: Fri, 25 Jan 2019 19:32:46 +0100 Subject: [PATCH 067/383] DefaultIOService: Log warning in case Opener IOPlugin returns null data, and log error in case no IOPlugin is found for loading or saving data --- src/main/java/org/scijava/io/DefaultIOService.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/scijava/io/DefaultIOService.java b/src/main/java/org/scijava/io/DefaultIOService.java index 70ac00020..1f74ec075 100644 --- a/src/main/java/org/scijava/io/DefaultIOService.java +++ b/src/main/java/org/scijava/io/DefaultIOService.java @@ -64,10 +64,16 @@ public final class DefaultIOService @Override public Object open(final String source) throws IOException { final IOPlugin opener = getOpener(source); - if (opener == null) return null; // no appropriate IOPlugin + if (opener == null) { + log.error("No opener IOPlugin found for " + source + "."); + return null; + } final Object data = opener.open(source); - if (data == null) return null; // IOPlugin returned no data; canceled? + if (data == null) { + log.warn("Opener IOPlugin " + opener + " returned no data. Canceled?"); + return null; // IOPlugin returned no data; canceled? + } eventService.publish(new DataOpenedEvent(source, data)); return data; @@ -81,6 +87,8 @@ public void save(final Object data, final String destination) if (saver != null) { saver.save(data, destination); eventService.publish(new DataSavedEvent(destination, data)); + } else { + log.error("No Saver IOPlugin found for " + data.toString() + "."); } } } From 079d80e01a6ec651f1d0bb43725e21ec32c97e43 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Sat, 23 Feb 2019 14:21:16 -0600 Subject: [PATCH 068/383] POM: use HTTPS where feasible --- pom.xml | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/pom.xml b/pom.xml index 2016c2adf..19f06aee4 100644 --- a/pom.xml +++ b/pom.xml @@ -18,7 +18,7 @@ 2009 SciJava - http://www.scijava.org/ + https://scijava.org/ @@ -31,7 +31,7 @@ ctrueden Curtis Rueden - http://imagej.net/User:Rueden + https://imagej.net/User:Rueden founder lead @@ -46,13 +46,13 @@ Mark Hiner - http://imagej.net/User:Hinerm + https://imagej.net/User:Hinerm founder hinerm Johannes Schindelin - http://imagej.net/User:Schindelin + https://imagej.net/User:Schindelin dscho @@ -61,27 +61,27 @@ Barry DeZonia - http://imagej.net/User:Bdezonia + https://imagej.net/User:Bdezonia bdezonia Christian Dietz - http://imagej.net/User:Dietzc + https://imagej.net/User:Dietzc dietzc Richard Domander - http://imagej.net/User:Rdom + https://imagej.net/User:Rdom rimadoma Gabriel Einsdorf - http://imagej.net/User:Gab1one + https://imagej.net/User:Gab1one gab1one Aivar Grislis - http://imagej.net/User:Grislis + https://imagej.net/User:Grislis grislis @@ -90,36 +90,36 @@ Grant Harris - http://imagej.net/User:Harris + https://imagej.net/User:Harris tnargsirrah Lee Kamentsky - http://imagej.net/User:Leek + https://imagej.net/User:Leek LeeKamentsky Rick Lentz - http://imagej.net/User:Lentz + https://imagej.net/User:Lentz Melissa Linkert - http://imagej.net/User:Linkert + https://imagej.net/User:Linkert melissalinkert Kevin Mader - http://imagej.net/User:Ksmader + https://imagej.net/User:Ksmader kmader Hadrien Mary - http://imagej.net/User:Hadim + https://imagej.net/User:Hadim hadim Alison Walter - http://imagej.net/User:Awalter2 + https://imagej.net/User:Awalter2 awalter17 From 0acdc141103ee3a151f2b8bb31bea94845d3fcc4 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 25 Feb 2019 13:33:23 -0600 Subject: [PATCH 069/383] Update test to reflect POM change --- src/test/java/org/scijava/util/POMTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/org/scijava/util/POMTest.java b/src/test/java/org/scijava/util/POMTest.java index 5ad61707e..c445c110d 100644 --- a/src/test/java/org/scijava/util/POMTest.java +++ b/src/test/java/org/scijava/util/POMTest.java @@ -104,7 +104,7 @@ public void testAccessors() throws ParserConfigurationException, assertEquals("https://github.com/scijava/scijava-common/issues", issueManagementURL); assertEquals("SciJava", pom.getOrganizationName()); - assertEquals("http://www.scijava.org/", pom.getOrganizationURL()); + assertEquals("https://scijava.org/", pom.getOrganizationURL()); assertTrue(pom.getPath().endsWith("pom.xml")); assertTrue(pom.getProjectDescription().startsWith( "SciJava Common is a shared library for SciJava software.")); From eb8e5700b2c8630adefb514543cf2613439e25ae Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Fri, 24 Nov 2017 20:53:52 -0600 Subject: [PATCH 070/383] Types: fix NPE in isAssignable method --- src/main/java/org/scijava/util/Types.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/scijava/util/Types.java b/src/main/java/org/scijava/util/Types.java index f0c1683b6..89bfa88a3 100644 --- a/src/main/java/org/scijava/util/Types.java +++ b/src/main/java/org/scijava/util/Types.java @@ -1416,7 +1416,7 @@ private static boolean isAssignable(final Type type, // parameters must either be absent from the subject type, within // the bounds of the wildcard type, or be an exact match to the // parameters of the target type. - if (fromTypeArg != null && !toTypeArg.equals(fromTypeArg) && + if (fromTypeArg != null && !fromTypeArg.equals(toTypeArg) && !(toTypeArg instanceof WildcardType && isAssignable(fromTypeArg, toTypeArg, typeVarAssigns))) { From fbf4248c1dd49043d89aaf75f728113f6ccd5635 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Fri, 24 Nov 2017 20:57:03 -0600 Subject: [PATCH 071/383] TypesTest: add more isAssignable tests --- src/test/java/org/scijava/util/TypesTest.java | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/src/test/java/org/scijava/util/TypesTest.java b/src/test/java/org/scijava/util/TypesTest.java index 597037454..01ca45532 100644 --- a/src/test/java/org/scijava/util/TypesTest.java +++ b/src/test/java/org/scijava/util/TypesTest.java @@ -510,6 +510,31 @@ public void testIsAssignableClassToNull() { Types.isAssignable(Object.class, null); } + /** Tests {@link Types#isAssignable(Type, Type)} with type variable. */ + @Test + public void testIsAssignableT() { + final Type t = genericTestType("t"); + final Type listT = genericTestType("listT"); + final Type listNumber = genericTestType("listNumber"); + final Type listInteger = genericTestType("listInteger"); + final Type listExtendsNumber = genericTestType("listExtendsNumber"); + + assertTrue(Types.isAssignable(t, t)); + assertTrue(Types.isAssignable(listT, listT)); + assertTrue(Types.isAssignable(listNumber, listNumber)); + assertTrue(Types.isAssignable(listInteger, listInteger)); + assertTrue(Types.isAssignable(listExtendsNumber, listExtendsNumber)); + + assertTrue(Types.isAssignable(listT, listExtendsNumber)); + assertTrue(Types.isAssignable(listNumber, listExtendsNumber)); + assertTrue(Types.isAssignable(listInteger, listExtendsNumber)); + + assertFalse(Types.isAssignable(listNumber, listT)); + assertFalse(Types.isAssignable(listInteger, listT)); + assertFalse(Types.isAssignable(listExtendsNumber, listT)); + assertFalse(Types.isAssignable(listExtendsNumber, listNumber)); + } + /** Tests {@link Types#isInstance(Object, Class)}. */ @Test public void testIsInstance() { @@ -598,6 +623,14 @@ public static enum Words { FOO, BAR, FUBAR } + private interface TestTypes { + T t(); + List listT(); + List listNumber(); + List listInteger(); + List listExtendsNumber(); + } + // -- Helper methods -- /** @@ -671,4 +704,7 @@ private void assertAllTheSame(final List list, final Object... values) { } } + private Type genericTestType(final String name) { + return Types.method(TestTypes.class, name).getGenericReturnType(); + } } From d99dcad94412b88de4acf1ad6a260f60a34354b7 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Fri, 12 Apr 2019 16:22:27 -0500 Subject: [PATCH 072/383] POM: update parent to pom-scijava 25.0.0 This fixes an error about the default-jar goal in newer Eclipses. --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 19f06aee4..d92265830 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.scijava pom-scijava - 23.2.0 + 25.0.0 From 30a3246e1f2cdba039c0647fe23481bb9db5dcd3 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 5 Jun 2018 12:36:35 -0500 Subject: [PATCH 073/383] Types: Refactor parameterizeWithOwner params This breaks backwards compatibility. But there was a type argument clash with the other methods called parameterize, so it's better to rename this one to something unique, to avoid confusion. We'll call it "new API". ;-) Co-authored-by: Gabriel Selzer --- pom.xml | 2 +- src/main/java/org/scijava/util/Types.java | 26 +++++++++++------------ 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/pom.xml b/pom.xml index d92265830..523c1421a 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.77.1-SNAPSHOT + 2.78.0-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. diff --git a/src/main/java/org/scijava/util/Types.java b/src/main/java/org/scijava/util/Types.java index 89bfa88a3..85ab6f84f 100644 --- a/src/main/java/org/scijava/util/Types.java +++ b/src/main/java/org/scijava/util/Types.java @@ -70,8 +70,6 @@ import java.util.Objects; import java.util.Set; -import org.scijava.util.FileUtils; - /** * Utility class for working with generic types, fields and methods. *

@@ -86,6 +84,7 @@ * * * @author Curtis Rueden + * @author Gabe Selzer */ public final class Types { @@ -791,22 +790,22 @@ public static T enumValue(final String name, final Class dest) { public static ParameterizedType parameterize(final Class rawType, final Type... typeArgs) { - return parameterize(rawType, rawType.getDeclaringClass(), typeArgs); + return parameterizeWithOwner(null, rawType, typeArgs); } /** * Creates a new {@link ParameterizedType} of the given class together with * the specified type arguments. * - * @param rawType The class of the {@link ParameterizedType}. * @param ownerType The owner type of the parameterized class. + * @param rawType The class of the {@link ParameterizedType}. * @param typeArgs The type arguments to use in parameterizing it. * @return The newly created {@link ParameterizedType}. */ - public static ParameterizedType parameterize(final Class rawType, - final Type ownerType, final Type... typeArgs) + public static ParameterizedType parameterizeWithOwner(final Type ownerType, + final Class rawType, final Type... typeArgs) { - return new TypeUtils.ParameterizedTypeImpl(rawType, ownerType, typeArgs); + return TypeUtils.parameterizeWithOwner(ownerType, rawType, typeArgs); } /** @@ -3206,7 +3205,7 @@ else if (isMissingTypeParameters(clazz)) { Arrays.fill(arguments, UNBOUND_WILDCARD); final Type owner = clazz.getDeclaringClass() == null ? null : addWildcardParameters(clazz.getDeclaringClass()); - return parameterize(clazz, owner, arguments); + return parameterizeWithOwner(owner, clazz, arguments); } else { return clazz; @@ -3584,9 +3583,9 @@ public static Type capture(final Type type) { for (final CaptureTypeImpl captured : toInit) { captured.init(varMap); } - final Type ownerType = (pType.getOwnerType() == null) ? null : capture( + final Type ownerType = pType.getOwnerType() == null ? null : capture( pType.getOwnerType()); - return parameterize(clazz, ownerType, capturedArguments); + return parameterizeWithOwner(ownerType, clazz, capturedArguments); } return type; } @@ -3764,9 +3763,10 @@ else if (type instanceof TypeVariable) { } else if (type instanceof ParameterizedType) { final ParameterizedType pType = (ParameterizedType) type; - return parameterize((Class) pType.getRawType(), pType - .getOwnerType() == null ? pType.getOwnerType() : map(pType - .getOwnerType()), map(pType.getActualTypeArguments())); + final Type ownerType = pType.getOwnerType() == null ? // + pType.getOwnerType() : map(pType.getOwnerType()); + return parameterizeWithOwner(ownerType, (Class) pType.getRawType(), + map(pType.getActualTypeArguments())); } else if (type instanceof WildcardType) { final WildcardType wType = (WildcardType) type; From 8c05cc8100c9a84fd0dd2d56f779d223510bfc18 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Fri, 12 Apr 2019 16:03:10 -0500 Subject: [PATCH 074/383] Types: fix location of third party attribution --- src/main/java/org/scijava/util/Types.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/scijava/util/Types.java b/src/main/java/org/scijava/util/Types.java index 85ab6f84f..7f0c9ee21 100644 --- a/src/main/java/org/scijava/util/Types.java +++ b/src/main/java/org/scijava/util/Types.java @@ -29,10 +29,6 @@ * #L% */ -package org.scijava.util; - -import java.io.File; - // Portions of this class were adapted from the // org.apache.commons.lang3.reflect.TypeUtils and // org.apache.commons.lang3.Validate classes of @@ -46,6 +42,9 @@ // // See NOTICE.txt for further details on third-party licenses. +package org.scijava.util; + +import java.io.File; import java.io.Serializable; import java.lang.reflect.Array; import java.lang.reflect.Field; From 2f6e7ae68631666dbd97c5d063710057c9a41645 Mon Sep 17 00:00:00 2001 From: Gabriel Selzer Date: Tue, 5 Jun 2018 10:35:28 -0500 Subject: [PATCH 075/383] ClassUtils: TODO finish migrating to Types --- src/main/java/org/scijava/util/ClassUtils.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/org/scijava/util/ClassUtils.java b/src/main/java/org/scijava/util/ClassUtils.java index ea0d8fef7..ceae7c44a 100644 --- a/src/main/java/org/scijava/util/ClassUtils.java +++ b/src/main/java/org/scijava/util/ClassUtils.java @@ -352,6 +352,7 @@ public static void setValue(final Field field, final Object instance, // -- Comparison -- + // START HERE: Migrate remaining methods to Types, then deprecate this class. /** * Compares two {@link Class} objects using their fully qualified names. *

From 93682f0b9db2928cc64a69c7ed3a1441c8131cd8 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 5 Jun 2018 12:45:03 -0500 Subject: [PATCH 076/383] TypeTests: add parameterize and unbox test TODOs Co-authored-by: Gabriel Selzer --- src/test/java/org/scijava/util/TypesTest.java | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/test/java/org/scijava/util/TypesTest.java b/src/test/java/org/scijava/util/TypesTest.java index 01ca45532..6dcbcc393 100644 --- a/src/test/java/org/scijava/util/TypesTest.java +++ b/src/test/java/org/scijava/util/TypesTest.java @@ -310,6 +310,12 @@ public void testBox() { } } + /** Tests {@link Types#unbox(Class)}. */ + @Test + public void testUnbox() { + // TODO + } + /** Tests {@link Types#nullValue(Class)}. */ @Test public void testNullValue() { @@ -597,9 +603,28 @@ public void testEnumValueNonEnum() { Types.enumValue("HOOYAH", String.class); } + /** Tests {@link Types#parameterize(Class, Map)}. */ + @Test + public void testParameterizeMap() { + // TODO + } + + /** Tests {@link Types#parameterize(Class, Type...)}. */ + @Test + public void testParameterizeTypes() { + // TODO + } + + /** Tests {@link Types#parameterizeWithOwner(Type, Class, Type...)}. */ + @Test + public void testParameterizeWithOwner() { + // TODO + } + // -- Helper classes -- private static class Thing { + @SuppressWarnings("unused") private T thing; } From 79369f9e1567a697ed64684cbddae65d14d58b5b Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 15 Apr 2019 14:34:31 -0500 Subject: [PATCH 077/383] Types: flesh out the javadoc --- src/main/java/org/scijava/util/Types.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/main/java/org/scijava/util/Types.java b/src/main/java/org/scijava/util/Types.java index 7f0c9ee21..8bcbabae5 100644 --- a/src/main/java/org/scijava/util/Types.java +++ b/src/main/java/org/scijava/util/Types.java @@ -81,6 +81,24 @@ *

  • GenTyRef (Generic Type * Reflector), a library for runtime generic type introspection.
  • * + *

    + * All three of these libraries contain fantastic generics-related logic, but + * none of the three contained everything that SciJava needed for all its use + * cases. Hence, we have drawn from sources as needed to create a unified + * generics API for use from SciJava applications. See in particular the + * SciJava Ops project, + * which utilizes these functions heavily. + *

    + *

    + * NB: The + * org.apache.commons.reflect.TypeUtils class of + * Apache Commons + * Lang version 3.4 is forked internally within this class. We did this for + * two reasons: 1) to avoid bringing in the whole of Apache Commons Lang as a + * dependency; and 2) to fix an infinite recursion bug in the + * {@code TypeUtils.toString(Type)} method. + *

    * * @author Curtis Rueden * @author Gabe Selzer From d1ee15c584ea60f05ab3057fe1d5552a5a7de6a2 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 15 Apr 2019 15:10:46 -0500 Subject: [PATCH 078/383] Update the mailmap --- .mailmap | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/.mailmap b/.mailmap index e5a0e733c..5157cbbe1 100644 --- a/.mailmap +++ b/.mailmap @@ -1,7 +1,16 @@ Barry DeZonia -Christian Dietz +Christian Dietz +Christian Dietz +Gabriel Einsdorf +Gabriel Einsdorf +Gabriel Selzer +Gabriel Selzer ImageJ Jenkins +Jan Eglinger Johannes Schindelin Johannes Schindelin Jonathan Hale +Leon Yang +Leon Yang Mark Hiner +Richard Domander From e2e5af69ba0f90dfc131c7815721780075fb6eaa Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 30 Apr 2019 17:04:46 -0500 Subject: [PATCH 079/383] POM: update parent to pom-scijava 26.0.0 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 523c1421a..2ab222832 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.scijava pom-scijava - 25.0.0 + 26.0.0 From 421ea3e2540655dc093b94bfaeb0b7c713384c97 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 30 Apr 2019 17:04:46 -0500 Subject: [PATCH 080/383] Travis: build using openjdk8 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index b3fcda211..3bc57c558 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,5 @@ language: java -jdk: oraclejdk8 +jdk: openjdk8 branches: only: - master From 2201d402b0892c4b6828203b29e6e9694003cfc6 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Thu, 2 May 2019 17:13:29 -0500 Subject: [PATCH 081/383] POM: be defensive if metadata is missing When comparing POMs, apparently it is possible for groupId, artifactId and/or version to be missing/null. See: https://forum.image.sc/t/special-characters-no-longer-allowed-in-script-parameter-declaration/25244/3 Fortunately, Java 8 has a nice functional syntax to help with this. --- src/main/java/org/scijava/util/POM.java | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/main/java/org/scijava/util/POM.java b/src/main/java/org/scijava/util/POM.java index f9b1bdd14..ac7eedcd1 100644 --- a/src/main/java/org/scijava/util/POM.java +++ b/src/main/java/org/scijava/util/POM.java @@ -184,18 +184,19 @@ public String getCIManagementURL() { // -- Comparable methods -- - @Override - public int compareTo(final POM pom) { + private static final Comparator STRING_COMPARATOR = // + Comparator.nullsFirst(String::compareTo); + private static final Comparator POM_COMPARATOR = Comparator// // sort by groupId first - final int gid = getGroupId().compareTo(pom.getGroupId()); - if (gid != 0) return gid; - + .comparing(POM::getGroupId, STRING_COMPARATOR) // sort by artifactId second - final int aid = getArtifactId().compareTo(pom.getArtifactId()); - if (aid != 0) return aid; - + .thenComparing(POM::getArtifactId, STRING_COMPARATOR)// // finally, sort by version - return compareVersions(getVersion(), pom.getVersion()); + .thenComparing(POM::getVersion, POM::compareVersions); + + @Override + public int compareTo(final POM pom) { + return POM_COMPARATOR.compare(this, pom); } // -- Versioned methods -- From e6e1fe9f50397b3697712676d79d812fedd96aef Mon Sep 17 00:00:00 2001 From: Jan Eglinger Date: Mon, 13 May 2019 16:30:46 +0200 Subject: [PATCH 082/383] Safeguard against null style arg in UserInterface#chooseFile This fixes the issue reported by @kephale on the forum, where the absence of a style attribute on a File parameter leads to a NullPointerException: https://forum.image.sc/t/error-for-file-type-imagej2-parameter/25585 This commit is a quick fix, it should probably be rewritten when addressing issue #333 --- src/main/java/org/scijava/ui/UserInterface.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/scijava/ui/UserInterface.java b/src/main/java/org/scijava/ui/UserInterface.java index 385df24d8..6449960b7 100644 --- a/src/main/java/org/scijava/ui/UserInterface.java +++ b/src/main/java/org/scijava/ui/UserInterface.java @@ -162,9 +162,12 @@ DialogPrompt dialogPrompt(String message, String title, */ default File chooseFile(final File file, final String style) { final String title; - if (style.equals(FileWidget.DIRECTORY_STYLE)) title = "Choose a directory"; - else if (style.equals(FileWidget.OPEN_STYLE)) title = "Open"; - else if (style.equals(FileWidget.SAVE_STYLE)) title = "Save"; + // style can be a string with multiple comma-separated keywords + // TODO use a utility class for style handling, e.g. StyleUtils.isStyle(style, ...) + if (style == null) title = "Choose a file"; + else if (style.toLowerCase().contains(FileWidget.DIRECTORY_STYLE)) title = "Choose a directory"; + else if (style.toLowerCase().contains(FileWidget.OPEN_STYLE)) title = "Open"; + else if (style.toLowerCase().contains(FileWidget.SAVE_STYLE)) title = "Save"; else title = "Choose a file"; return chooseFile(title, file, style); From f105c736a540e17b5d81bd6dd4f16a5db17fa5ab Mon Sep 17 00:00:00 2001 From: Jan Eglinger Date: Mon, 13 May 2019 16:47:28 +0200 Subject: [PATCH 083/383] DefaultTextService: use try-with-resources --- src/main/java/org/scijava/text/DefaultTextService.java | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/main/java/org/scijava/text/DefaultTextService.java b/src/main/java/org/scijava/text/DefaultTextService.java index 34ef2479a..dd1ecc2d3 100644 --- a/src/main/java/org/scijava/text/DefaultTextService.java +++ b/src/main/java/org/scijava/text/DefaultTextService.java @@ -63,16 +63,12 @@ public final class DefaultTextService extends @Override public String open(final File file) throws IOException { // This routine is from: http://stackoverflow.com/a/326440 - final FileInputStream stream = new FileInputStream(file); - try { + try (final FileInputStream stream = new FileInputStream(file)) { final FileChannel fc = stream.getChannel(); final MappedByteBuffer bb = fc.map(FileChannel.MapMode.READ_ONLY, 0, fc.size()); return Charset.defaultCharset().decode(bb).toString(); } - finally { - stream.close(); - } } @Override From 72ce14a2e04407c5bb4f0b1510ca977839b944c9 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Thu, 23 May 2019 16:38:00 -0500 Subject: [PATCH 084/383] DefaultParseService: update javadoc link --- src/main/java/org/scijava/parse/DefaultParseService.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/scijava/parse/DefaultParseService.java b/src/main/java/org/scijava/parse/DefaultParseService.java index 3e5f5384e..db48d5ac1 100644 --- a/src/main/java/org/scijava/parse/DefaultParseService.java +++ b/src/main/java/org/scijava/parse/DefaultParseService.java @@ -62,9 +62,8 @@ public Items parse(final String arg, final boolean strict) { // -- Helper classes -- /** - * {@link Items} implementation backed by the - * SciJava - * Expression Parser. + * {@link Items} implementation backed by + * Parsington. */ private static class ItemsList extends ObjectArray implements Items { From 7d03b51ea8737e700d203b76ab64798bb78e1528 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 17 Jun 2019 12:02:50 -0500 Subject: [PATCH 085/383] DynamicCommand: add method to persist input values See: https://forum.image.sc/t/how-to-save-interactivecommand-parameter-values/26645/5 --- .../org/scijava/command/DynamicCommand.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/main/java/org/scijava/command/DynamicCommand.java b/src/main/java/org/scijava/command/DynamicCommand.java index b56a0bac6..b963c655e 100644 --- a/src/main/java/org/scijava/command/DynamicCommand.java +++ b/src/main/java/org/scijava/command/DynamicCommand.java @@ -39,7 +39,11 @@ import org.scijava.Contextual; import org.scijava.NullContextException; import org.scijava.module.DefaultMutableModule; +import org.scijava.module.process.PreprocessorPlugin; +import org.scijava.module.process.SaveInputsPreprocessor; import org.scijava.plugin.Parameter; +import org.scijava.plugin.PluginInfo; +import org.scijava.plugin.PluginService; import org.scijava.util.ClassUtils; /** @@ -60,6 +64,9 @@ public abstract class DynamicCommand extends DefaultMutableModule implements @Parameter private CommandService commandService; + @Parameter + private PluginService pluginService; + private DynamicCommandInfo info; /** Reason for cancelation, or null if not canceled. */ @@ -144,4 +151,21 @@ public String getCancelReason() { public void uncancel() { cancelReason = null; } + + // -- Internal methods -- + + /** + * Persists current input values. Use e.g. for {@link InteractiveCommand}s + * that want to persist values as they change, since interactive commands do + * not complete the module execution lifecycle normally. + */ + protected void saveInputs() { + // https://forum.image.sc/t/how-to-save-interactivecommand-parameter-values/26645/5 + final PluginInfo saveInputsPreprocessorInfo = + pluginService.getPlugin(SaveInputsPreprocessor.class, + PreprocessorPlugin.class); + final PreprocessorPlugin saveInputsPreprocessor = // + pluginService.createInstance(saveInputsPreprocessorInfo); + saveInputsPreprocessor.process(this); + } } From 5f4e0787d10e3ccba9bc3231dc1cf86e64a4ede1 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 17 Jun 2019 12:04:09 -0500 Subject: [PATCH 086/383] InteractiveCommand: save inputs when they change With this change, individual InteractiveCommands benefit from automatic input parameter persistence without needing to code it by hand. See: https://forum.image.sc/t/how-to-save-interactivecommand-parameter-values/26645/5 --- src/main/java/org/scijava/command/InteractiveCommand.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/org/scijava/command/InteractiveCommand.java b/src/main/java/org/scijava/command/InteractiveCommand.java index 117485838..d02e0d7d9 100644 --- a/src/main/java/org/scijava/command/InteractiveCommand.java +++ b/src/main/java/org/scijava/command/InteractiveCommand.java @@ -96,6 +96,7 @@ public InteractiveCommand(final String... listenerNames) { public void preview() { // NB: Interactive commands call run upon any parameter change. run(); + saveInputs(); } @Override From f624acd27c62d26d4c8f4c4c0605ba4d25085d01 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Thu, 27 Jun 2019 09:13:10 +0200 Subject: [PATCH 087/383] POM: update parent to pom-scijava 27.0.1 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 2ab222832..50f2c30a3 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.scijava pom-scijava - 26.0.0 + 27.0.1 From 0e2ff6f83814ff3d40d88f2b165a8c855b59e969 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Thu, 27 Jun 2019 09:15:54 +0200 Subject: [PATCH 088/383] Bump to next development cycle Signed-off-by: Curtis Rueden --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 50f2c30a3..29301765c 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.78.0-SNAPSHOT + 2.78.1-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From 482c170eefe58078a1affc0e8da5665012501ac1 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Sat, 29 Jun 2019 14:56:09 +0200 Subject: [PATCH 089/383] Migrate module input persistence to ModuleService This makes the LoadInputsPreprocessor and SaveInputsPreprocessor much simpler, since they can now simply lean on the ModuleService directly. This also makes the DynamicCommand's internal saveInputs() method no longer need to instantiate and run a SaveInputsPreprocessor, but rather instead it can call that same service method in ModuleService. --- pom.xml | 2 +- .../org/scijava/command/DynamicCommand.java | 15 +++----- .../scijava/module/DefaultModuleService.java | 38 +++++++++++++++++++ .../org/scijava/module/ModuleService.java | 5 +++ .../process/LoadInputsPreprocessor.java | 38 +------------------ .../process/SaveInputsPreprocessor.java | 17 +-------- 6 files changed, 51 insertions(+), 64 deletions(-) diff --git a/pom.xml b/pom.xml index 29301765c..b8ebce4c0 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.78.1-SNAPSHOT + 2.79.0-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. diff --git a/src/main/java/org/scijava/command/DynamicCommand.java b/src/main/java/org/scijava/command/DynamicCommand.java index b963c655e..4e1bc5531 100644 --- a/src/main/java/org/scijava/command/DynamicCommand.java +++ b/src/main/java/org/scijava/command/DynamicCommand.java @@ -39,10 +39,8 @@ import org.scijava.Contextual; import org.scijava.NullContextException; import org.scijava.module.DefaultMutableModule; -import org.scijava.module.process.PreprocessorPlugin; -import org.scijava.module.process.SaveInputsPreprocessor; +import org.scijava.module.ModuleService; import org.scijava.plugin.Parameter; -import org.scijava.plugin.PluginInfo; import org.scijava.plugin.PluginService; import org.scijava.util.ClassUtils; @@ -67,6 +65,9 @@ public abstract class DynamicCommand extends DefaultMutableModule implements @Parameter private PluginService pluginService; + @Parameter + private ModuleService moduleService; + private DynamicCommandInfo info; /** Reason for cancelation, or null if not canceled. */ @@ -160,12 +161,6 @@ public void uncancel() { * not complete the module execution lifecycle normally. */ protected void saveInputs() { - // https://forum.image.sc/t/how-to-save-interactivecommand-parameter-values/26645/5 - final PluginInfo saveInputsPreprocessorInfo = - pluginService.getPlugin(SaveInputsPreprocessor.class, - PreprocessorPlugin.class); - final PreprocessorPlugin saveInputsPreprocessor = // - pluginService.createInstance(saveInputsPreprocessorInfo); - saveInputsPreprocessor.process(this); + moduleService.saveInputs(this); } } diff --git a/src/main/java/org/scijava/module/DefaultModuleService.java b/src/main/java/org/scijava/module/DefaultModuleService.java index 4cd4da238..6aaa731b2 100644 --- a/src/main/java/org/scijava/module/DefaultModuleService.java +++ b/src/main/java/org/scijava/module/DefaultModuleService.java @@ -339,6 +339,16 @@ public T getDefaultValue(final ModuleItem item) { return null; } + @Override + public void saveInputs(final Module module) { + module.getInfo().inputs().forEach(item -> saveInput(module, item)); + } + + @Override + public void loadInputs(final Module module) { + module.getInfo().inputs().forEach(item -> loadInput(module, item)); + } + // -- Service methods -- @Override @@ -523,4 +533,32 @@ private String prefKey(final ModuleItem item) { return persistKey == null || persistKey.isEmpty() ? // item.getName() : persistKey; } + + /** Saves the value of the given module item to persistent storage. */ + private void saveInput(final Module module, final ModuleItem item) { + final T value = item.getValue(module); + save(item, value); + } + + /** Loads the value of the given module item from persistent storage. */ + private void loadInput(final Module module, final ModuleItem item) { + // skip input that has already been resolved + if (module.isInputResolved(item.getName())) return; + + final T prefValue = load(item); + final Class type = item.getType(); + final T defaultValue = item.getValue(module); + final T value = getBestValue(prefValue, defaultValue, type); + item.setValue(module, value); + } + + private T getBestValue(final Object prefValue, + final Object defaultValue, final Class type) + { + if (prefValue != null) return convertService.convert(prefValue, type); + if (defaultValue != null) { + return convertService.convert(defaultValue, type); + } + return Types.nullValue(type); + } } diff --git a/src/main/java/org/scijava/module/ModuleService.java b/src/main/java/org/scijava/module/ModuleService.java index 9267c0070..5c6e86809 100644 --- a/src/main/java/org/scijava/module/ModuleService.java +++ b/src/main/java/org/scijava/module/ModuleService.java @@ -311,4 +311,9 @@ Future run(M module, /** Gets the default value of the given {@link ModuleItem}. */ T getDefaultValue(final ModuleItem item); + /** Saves values to persistent storage from the given {@link Module}. */ + void saveInputs(final Module module); + + /** Loads values from persistent storage into the given {@link Module}. */ + void loadInputs(final Module module); } diff --git a/src/main/java/org/scijava/module/process/LoadInputsPreprocessor.java b/src/main/java/org/scijava/module/process/LoadInputsPreprocessor.java index d44d96133..c9c84505b 100644 --- a/src/main/java/org/scijava/module/process/LoadInputsPreprocessor.java +++ b/src/main/java/org/scijava/module/process/LoadInputsPreprocessor.java @@ -32,13 +32,10 @@ package org.scijava.module.process; -import org.scijava.convert.ConvertService; import org.scijava.module.Module; -import org.scijava.module.ModuleItem; import org.scijava.module.ModuleService; import org.scijava.plugin.Parameter; import org.scijava.plugin.Plugin; -import org.scijava.util.Types; import org.scijava.widget.InputHarvester; /** @@ -59,41 +56,8 @@ public class LoadInputsPreprocessor extends AbstractPreprocessorPlugin { @Parameter private ModuleService moduleService; - @Parameter - private ConvertService conversionService; - - // -- ModuleProcessor methods -- - @Override public void process(final Module module) { - final Iterable> inputs = module.getInfo().inputs(); - for (final ModuleItem item : inputs) { - loadValue(module, item); - } - } - - // -- Helper methods -- - - /** Loads the value of the given module item from persistent storage. */ - private void loadValue(final Module module, final ModuleItem item) { - // skip input that has already been resolved - if (module.isInputResolved(item.getName())) return; - - final T prefValue = moduleService.load(item); - final Class type = item.getType(); - final T defaultValue = item.getValue(module); - final T value = getBestValue(prefValue, defaultValue, type); - item.setValue(module, value); + moduleService.loadInputs(module); } - - private T getBestValue(final Object prefValue, - final Object defaultValue, final Class type) - { - if (prefValue != null) return conversionService.convert(prefValue, type); - if (defaultValue != null) { - return conversionService.convert(defaultValue, type); - } - return Types.nullValue(type); - } - } diff --git a/src/main/java/org/scijava/module/process/SaveInputsPreprocessor.java b/src/main/java/org/scijava/module/process/SaveInputsPreprocessor.java index 30f23a49f..c8fde59d8 100644 --- a/src/main/java/org/scijava/module/process/SaveInputsPreprocessor.java +++ b/src/main/java/org/scijava/module/process/SaveInputsPreprocessor.java @@ -34,7 +34,6 @@ import org.scijava.Priority; import org.scijava.module.Module; -import org.scijava.module.ModuleItem; import org.scijava.module.ModuleService; import org.scijava.plugin.Parameter; import org.scijava.plugin.Plugin; @@ -59,22 +58,8 @@ public class SaveInputsPreprocessor extends AbstractPreprocessorPlugin { @Parameter private ModuleService moduleService; - // -- ModuleProcessor methods -- - @Override public void process(final Module module) { - final Iterable> inputs = module.getInfo().inputs(); - for (final ModuleItem item : inputs) { - saveValue(module, item); - } + moduleService.saveInputs(module); } - - // -- Helper methods -- - - /** Saves the value of the given module item to persistent storage. */ - private void saveValue(final Module module, final ModuleItem item) { - final T value = item.getValue(module); - moduleService.save(item, value); - } - } From 32c4098ab3c6aab7efc0a2d09464adbda95d8489 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 4 Sep 2019 15:07:00 -0500 Subject: [PATCH 090/383] FileUtils: recognize more native classifiers Any time we see "-native-..." or "-natives-..." it should be assumed to be a native classifier. --- src/main/java/org/scijava/util/FileUtils.java | 2 +- src/test/java/org/scijava/util/FileUtilsTest.java | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/scijava/util/FileUtils.java b/src/main/java/org/scijava/util/FileUtils.java index bd42f055b..b928118e6 100644 --- a/src/main/java/org/scijava/util/FileUtils.java +++ b/src/main/java/org/scijava/util/FileUtils.java @@ -729,7 +729,7 @@ private static String classifiers() { "shaded", "sources", "javadoc", - "native", + "natives?-?\\w*", "(natives-)?(android|linux|macosx|solaris|windows)-" + "(aarch64|amd64|arm|armv6|armv6hf|i586|universal|x86|x86_64)", }; diff --git a/src/test/java/org/scijava/util/FileUtilsTest.java b/src/test/java/org/scijava/util/FileUtilsTest.java index e241854fb..b464a580e 100644 --- a/src/test/java/org/scijava/util/FileUtilsTest.java +++ b/src/test/java/org/scijava/util/FileUtilsTest.java @@ -312,6 +312,12 @@ public void testStripVersionFromFilename() { assertEquals("jars/jogl-all-natives-solaris-i586.jar", FileUtils.stripFilenameVersion("jars/jogl-all-2.3.0-natives-solaris-i586.jar")); assertEquals("jars/jogl-all-natives-windows-amd64.jar", FileUtils.stripFilenameVersion("jars/jogl-all-2.3.0-natives-windows-amd64.jar")); assertEquals("jars/jogl-all-natives-windows-i586.jar", FileUtils.stripFilenameVersion("jars/jogl-all-2.3.0-natives-windows-i586.jar")); + + // Test jinput style of native binary .jars + assertEquals("jars/jinput-natives-all.jar", FileUtils.stripFilenameVersion("jars/jinput-2.0.9-natives-all.jar")); + + // Test that native-lib-loader is not misrecognized as a native classifier + assertEquals("jars/native-lib-loader.jar", FileUtils.stripFilenameVersion("jars/native-lib-loader-2.3.2.jar")); } @Test From ade6894e29a4400be2fb54ce5e02a6ce9d792fd7 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 4 Sep 2019 15:14:48 -0500 Subject: [PATCH 091/383] Bump to next development cycle Signed-off-by: Curtis Rueden --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index b8ebce4c0..7bc888093 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.79.0-SNAPSHOT + 2.79.1-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From 423fa179e2f072b64f9ef920695181872f9c949f Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Fri, 20 Sep 2019 15:38:58 +0200 Subject: [PATCH 092/383] VersionUtils.compare: fix bug with suffixes When comparing e.g. "1" versus "a", the logic was stripping the "1" as leading and ultimately comparing "" with "a". This comparison happened to give the same result, because both "" and "1" compare less than "a", but for other strings like "%" which comes before the digits, the behavior differs. --- src/main/java/org/scijava/util/VersionUtils.java | 7 +++++-- src/test/java/org/scijava/util/VersionUtilsTest.java | 1 + 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/scijava/util/VersionUtils.java b/src/main/java/org/scijava/util/VersionUtils.java index 8e0e74b5c..87fe7e676 100644 --- a/src/main/java/org/scijava/util/VersionUtils.java +++ b/src/main/java/org/scijava/util/VersionUtils.java @@ -146,15 +146,18 @@ private static String[] splitDots(final String s) { /** Compares one token of a multi-token version string. */ private static int compareToken(final String t1, final String t2) { final int i1 = digitIndex(t1), i2 = digitIndex(t2); + String suffix1 = t1, suffix2 = t2; if (i1 > 0 && i2 > 0) { // Versions start with digits; compare them numerically. final long d1 = Long.parseLong(t1.substring(0, i1)); final long d2 = Long.parseLong(t2.substring(0, i2)); if (d1 < d2) return -1; if (d1 > d2) return 1; + suffix1 = t1.substring(i1); + suffix2 = t2.substring(i2); } - // Compare remaining characters lexicographically. - return t1.substring(i1).compareTo(t2.substring(i2)); + // Compare lexicographically. + return suffix1.compareTo(suffix2); } /** Gets the subsequent index to all the given string's leading digits. */ diff --git a/src/test/java/org/scijava/util/VersionUtilsTest.java b/src/test/java/org/scijava/util/VersionUtilsTest.java index e452ca1f1..d1c62e546 100644 --- a/src/test/java/org/scijava/util/VersionUtilsTest.java +++ b/src/test/java/org/scijava/util/VersionUtilsTest.java @@ -88,6 +88,7 @@ public void testCompare() { // Check weird stuff. assertTrue(VersionUtils.compare("1", "a") < 0); + assertTrue(VersionUtils.compare("1", "%") > 0); assertTrue(VersionUtils.compare("", "1") < 0); assertTrue(VersionUtils.compare("1", "1.") < 0); assertTrue(VersionUtils.compare("", ".") < 0); From 097cbb4b4248b84f3ad475b5a844fe3cc8b1ca97 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Fri, 20 Sep 2019 15:41:52 +0200 Subject: [PATCH 093/383] VersionUtils.compare: handle SemVer suffixes With SemVer, 2.0.0 is newer than 2.0.0-beta-1. We were behaving in the opposite way. In other words: we want empty post-numeric suffixes to sort _after_ non-empty ones. So we need a special test for empty string here. --- src/main/java/org/scijava/util/VersionUtils.java | 7 +++++++ src/test/java/org/scijava/util/VersionUtilsTest.java | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/scijava/util/VersionUtils.java b/src/main/java/org/scijava/util/VersionUtils.java index 87fe7e676..bf1be77ff 100644 --- a/src/main/java/org/scijava/util/VersionUtils.java +++ b/src/main/java/org/scijava/util/VersionUtils.java @@ -156,6 +156,13 @@ private static int compareToken(final String t1, final String t2) { suffix1 = t1.substring(i1); suffix2 = t2.substring(i2); } + + // Final version (empty string) is larger than non-final (non-empty). + // For example: 2.0.0 > 2.0.0-beta-1. + if (suffix1.isEmpty() && suffix2.isEmpty()) return 0; + if (suffix1.isEmpty()) return 1; + if (suffix2.isEmpty()) return -1; + // Compare lexicographically. return suffix1.compareTo(suffix2); } diff --git a/src/test/java/org/scijava/util/VersionUtilsTest.java b/src/test/java/org/scijava/util/VersionUtilsTest.java index d1c62e546..902006367 100644 --- a/src/test/java/org/scijava/util/VersionUtilsTest.java +++ b/src/test/java/org/scijava/util/VersionUtilsTest.java @@ -60,7 +60,7 @@ public void testCompare() { assertTrue(VersionUtils.compare("2.7.3", "1.7.3") > 0); // Suffix indicates version is older than final release. - assertTrue(VersionUtils.compare("1.5.2", "1.5.2-beta-1") < 0); + assertTrue(VersionUtils.compare("1.5.2", "1.5.2-beta-1") > 0); // Check when number of version tokens does not match. assertTrue(VersionUtils.compare("1.5", "1.5.1") < 0); From a2b4582e8c3d3719f76d927179e361484bd622e8 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 8 Oct 2019 13:20:19 -0500 Subject: [PATCH 094/383] Bump to next development cycle Signed-off-by: Curtis Rueden --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 7bc888093..afc4af758 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.79.1-SNAPSHOT + 2.79.2-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From fd9078ec8026a8c230dea96551d1d15559b3b5ad Mon Sep 17 00:00:00 2001 From: frauzufall Date: Mon, 14 Oct 2019 22:44:45 +0200 Subject: [PATCH 095/383] LogMessage: Do not print null message * Prevent printing of log message if message is null --- src/main/java/org/scijava/log/LogMessage.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/scijava/log/LogMessage.java b/src/main/java/org/scijava/log/LogMessage.java index 6eee6e8cf..dadf6b395 100644 --- a/src/main/java/org/scijava/log/LogMessage.java +++ b/src/main/java/org/scijava/log/LogMessage.java @@ -132,7 +132,7 @@ public String toString() { final StringWriter sw = new StringWriter(); final PrintWriter printer = new PrintWriter(sw); printer.print("[" + LogLevel.prefix(level()) + "] "); - printer.println(text()); + if(text() != null) printer.println(text()); if (throwable() != null) { throwable().printStackTrace(printer); } From c2bfbe647009dc52bd3fba9068a04a2066682b42 Mon Sep 17 00:00:00 2001 From: frauzufall Date: Mon, 14 Oct 2019 23:16:42 +0200 Subject: [PATCH 096/383] Gateway: implements Disposable * make Gateway implement Disposable * delegate dispose to context by default --- src/main/java/org/scijava/Gateway.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/scijava/Gateway.java b/src/main/java/org/scijava/Gateway.java index 37a5b6403..9e06d2398 100644 --- a/src/main/java/org/scijava/Gateway.java +++ b/src/main/java/org/scijava/Gateway.java @@ -120,7 +120,7 @@ * @author Mark Hiner * @author Curtis Rueden */ -public interface Gateway extends RichPlugin { +public interface Gateway extends RichPlugin, Disposable { /** * Perform launch operations associated with this gateway. @@ -372,4 +372,8 @@ public interface Gateway extends RichPlugin { /** @see org.scijava.app.App#getInfo(boolean) */ String getInfo(boolean mem); + @Override + default void dispose() { + context().dispose(); + } } From a07d014a4701d23f354afc08c97793185e0054a6 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 21 Oct 2019 11:03:07 -0500 Subject: [PATCH 097/383] ThreadService: use lambdas --- .../scijava/thread/DefaultThreadService.java | 49 +++++++------------ 1 file changed, 19 insertions(+), 30 deletions(-) diff --git a/src/main/java/org/scijava/thread/DefaultThreadService.java b/src/main/java/org/scijava/thread/DefaultThreadService.java index 34dac1f10..e24ac8e40 100644 --- a/src/main/java/org/scijava/thread/DefaultThreadService.java +++ b/src/main/java/org/scijava/thread/DefaultThreadService.java @@ -190,14 +190,9 @@ private synchronized ExecutorService executor(final String id) { if (disposed) return null; if (queues == null) queues = new HashMap<>(); if (!queues.containsKey(id)) { - final ThreadFactory factory = new ThreadFactory() { - - @Override - public Thread newThread(final Runnable r) { - final String threadName = contextThreadPrefix() + id; - return new Thread(r, threadName); - } - + final ThreadFactory factory = r -> { + final String threadName = contextThreadPrefix() + id; + return new Thread(r, threadName); }; final ExecutorService queue = Executors.newSingleThreadExecutor(factory); queues.put(id, queue); @@ -212,34 +207,28 @@ private synchronized void initExecutor() { private Runnable wrap(final Runnable r) { final Thread parent = Thread.currentThread(); - return new Runnable() { - @Override - public void run() { - final Thread thread = Thread.currentThread(); - try { - if (parent != thread) parents.put(thread, parent); - r.run(); - } - finally { - if (parent != thread) parents.remove(thread); - } + return () -> { + final Thread thread = Thread.currentThread(); + try { + if (parent != thread) parents.put(thread, parent); + r.run(); + } + finally { + if (parent != thread) parents.remove(thread); } }; } private Callable wrap(final Callable c) { final Thread parent = Thread.currentThread(); - return new Callable() { - @Override - public V call() throws Exception { - final Thread thread = Thread.currentThread(); - try { - if (parent != thread) parents.put(thread, parent); - return c.call(); - } - finally { - if (parent != thread) parents.remove(thread); - } + return () -> { + final Thread thread = Thread.currentThread(); + try { + if (parent != thread) parents.put(thread, parent); + return c.call(); + } + finally { + if (parent != thread) parents.remove(thread); } }; } From 9fcb52c5abdd07ea9a760f9e5ad652bc3d9c3521 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 22 Oct 2019 19:46:21 -0500 Subject: [PATCH 098/383] Bump to next development cycle Signed-off-by: Curtis Rueden --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index afc4af758..0a1b16e63 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.79.2-SNAPSHOT + 2.80.1-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From 00a3cf7b8ffaf5f844fbb77dfe99925113ef9f6c Mon Sep 17 00:00:00 2001 From: Dasong Gao Date: Fri, 1 Nov 2019 13:58:15 -0500 Subject: [PATCH 099/383] Be defensive checking menu path --- src/main/java/org/scijava/menu/ShadowMenu.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/scijava/menu/ShadowMenu.java b/src/main/java/org/scijava/menu/ShadowMenu.java index 4a067692e..f2ca6f04b 100644 --- a/src/main/java/org/scijava/menu/ShadowMenu.java +++ b/src/main/java/org/scijava/menu/ShadowMenu.java @@ -493,7 +493,7 @@ public T[] toArray(final T[] a) { // -- Helper methods -- private ShadowMenu addInternal(final ModuleInfo o) { - if (o.getMenuPath().isEmpty()) return null; // no menu + if (o.getMenuPath() == null || o.getMenuPath().isEmpty()) return null; // no menu return addChild(o, 0); } From 089606b2f20f003e4fa22eeff573edb3ddbeaa1b Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Fri, 1 Nov 2019 14:30:31 -0500 Subject: [PATCH 100/383] Fix duplicate moduleService parameter See: https://forum.image.sc/t/error-with-search-options-dialog/30948 --- src/main/java/org/scijava/command/DynamicCommand.java | 2 +- src/main/java/org/scijava/options/OptionsPlugin.java | 4 ---- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/src/main/java/org/scijava/command/DynamicCommand.java b/src/main/java/org/scijava/command/DynamicCommand.java index 4e1bc5531..a8bf63220 100644 --- a/src/main/java/org/scijava/command/DynamicCommand.java +++ b/src/main/java/org/scijava/command/DynamicCommand.java @@ -66,7 +66,7 @@ public abstract class DynamicCommand extends DefaultMutableModule implements private PluginService pluginService; @Parameter - private ModuleService moduleService; + protected ModuleService moduleService; private DynamicCommandInfo info; diff --git a/src/main/java/org/scijava/options/OptionsPlugin.java b/src/main/java/org/scijava/options/OptionsPlugin.java index 6d9c75825..ceeb6f0f2 100644 --- a/src/main/java/org/scijava/options/OptionsPlugin.java +++ b/src/main/java/org/scijava/options/OptionsPlugin.java @@ -35,7 +35,6 @@ import org.scijava.command.DynamicCommand; import org.scijava.event.EventService; import org.scijava.module.ModuleItem; -import org.scijava.module.ModuleService; import org.scijava.options.event.OptionsEvent; import org.scijava.plugin.Parameter; import org.scijava.plugin.SingletonPlugin; @@ -84,9 +83,6 @@ public abstract class OptionsPlugin extends DynamicCommand implements @Parameter private PrefService prefService; - @Parameter - private ModuleService moduleService; - // -- OptionsPlugin methods -- /** Loads option values from persistent storage. */ From f7eea88e16aa92fd18484b7c357e255144316092 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Fri, 1 Nov 2019 14:34:08 -0500 Subject: [PATCH 101/383] Bump to next development cycle Signed-off-by: Curtis Rueden --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 0a1b16e63..bdc512316 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.80.1-SNAPSHOT + 2.80.2-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From 31d0d727f89e8645217c0cab68e4a15e4e462415 Mon Sep 17 00:00:00 2001 From: Jan Eglinger Date: Thu, 7 Nov 2019 16:43:25 +0100 Subject: [PATCH 102/383] Add abstract delegate converter class --- .../convert/AbstractDelegateConverter.java | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/main/java/org/scijava/convert/AbstractDelegateConverter.java diff --git a/src/main/java/org/scijava/convert/AbstractDelegateConverter.java b/src/main/java/org/scijava/convert/AbstractDelegateConverter.java new file mode 100644 index 000000000..11c6e3173 --- /dev/null +++ b/src/main/java/org/scijava/convert/AbstractDelegateConverter.java @@ -0,0 +1,29 @@ + +package org.scijava.convert; + +import org.scijava.plugin.Parameter; + +/** + * Abstract superclass for {@link Converter} plugins that delegate to other + * converters to chain two conversion steps together. + * + * @author Jan Eglinger + * @param the input type + * @param the delegate type + * @param the output type + */ +public abstract class AbstractDelegateConverter extends + AbstractConverter +{ + + @Parameter + private ConvertService convertService; + + @Override + public T convert(Object src, Class dest) { + D delegate = convertService.convert(src, getDelegateType()); + return convertService.convert(delegate, dest); + } + + protected abstract Class getDelegateType(); +} From d0268f91efd9386cd18cca7c5f8f542c63cf1c17 Mon Sep 17 00:00:00 2001 From: Jan Eglinger Date: Thu, 7 Nov 2019 17:11:57 +0100 Subject: [PATCH 103/383] Add test for AbstractDelegateConverter --- .../convert/DelegateConverterTest.java | 118 ++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 src/test/java/org/scijava/convert/DelegateConverterTest.java diff --git a/src/test/java/org/scijava/convert/DelegateConverterTest.java b/src/test/java/org/scijava/convert/DelegateConverterTest.java new file mode 100644 index 000000000..6126750c0 --- /dev/null +++ b/src/test/java/org/scijava/convert/DelegateConverterTest.java @@ -0,0 +1,118 @@ +package org.scijava.convert; + +import static org.junit.Assert.assertSame; +import static org.junit.Assert.assertTrue; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.scijava.Context; +import org.scijava.plugin.Plugin; + + +public class DelegateConverterTest { + private Context context; + + @Before + public void setUp() { + context = new Context(); + } + + @After + public void tearDown() { + context.dispose(); + context = null; + } + + @Test + public void testDelegateConverters() { + ConvertService convertService = context.getService(ConvertService.class); + + // Test conversion from AType to BType + AType a = new AType(); + assertTrue(convertService.supports(a, BType.class)); + BType b = convertService.convert(a, BType.class); + assertSame(BType.class, b.getClass()); + + // Test conversion from BType to CType + assertTrue(convertService.supports(b, CType.class)); + CType c = convertService.convert(b, CType.class); + assertSame(CType.class, c.getClass()); + + // Test chained conversion + assertTrue(convertService.supports(a, CType.class)); + CType converted = convertService.convert(a, CType.class); + assertSame(c.getClass(), converted.getClass()); + } + + public static class AType { + // empty class + } + + public static class BType { + // empty class + } + + public static class CType { + // empty class + } + + @Plugin(type=Converter.class) + public static class ABConverter extends AbstractConverter { + + @SuppressWarnings("unchecked") + @Override + public T convert(Object src, Class dest) { + return (T) new BType(); + } + + @Override + public Class getOutputType() { + return BType.class; + } + + @Override + public Class getInputType() { + return AType.class; + } + } + + @Plugin(type=Converter.class) + public static class BCConverter extends AbstractConverter { + + @SuppressWarnings("unchecked") + @Override + public T convert(Object src, Class dest) { + return (T) new CType(); + } + + @Override + public Class getOutputType() { + return CType.class; + } + + @Override + public Class getInputType() { + return BType.class; + } + } + + @Plugin(type=Converter.class) + public static class DelegateConverter extends AbstractDelegateConverter { + + @Override + public Class getOutputType() { + return CType.class; + } + + @Override + public Class getInputType() { + return AType.class; + } + + @Override + protected Class getDelegateType() { + return BType.class; + } + } +} From cbd0ec558f52ac3726b63d3d749eb415b4ef5301 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 13 Nov 2019 09:45:42 -0600 Subject: [PATCH 104/383] ServiceHelper: assign PluginInfo to Services Normally, plugin are instantiated using PluginInfo#createInstance(), which injects the matching PluginInfo metadata for plugins implementing HasPluginInfo, and assigns the expected priority for plugins implementing Prioritized. But Service creation is special, because we want to instantiate Service dependencies recursively -- which makes the ServiceHelper more complex. The ServiceHelper code was injecting priority via service.setPriority, but not injecting plugin metadata via service.setInfo. Now it does both. --- .../java/org/scijava/service/ServiceHelper.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/scijava/service/ServiceHelper.java b/src/main/java/org/scijava/service/ServiceHelper.java index 22e9503a7..728e07e5a 100644 --- a/src/main/java/org/scijava/service/ServiceHelper.java +++ b/src/main/java/org/scijava/service/ServiceHelper.java @@ -65,7 +65,7 @@ public class ServiceHelper extends AbstractContextual { * Classes to scan when searching for dependencies. Data structure is a map * with keys being relevant classes, and values being associated priorities. */ - private final Map, Double> classPoolMap; + private final Map, PluginInfo> classPoolMap; /** Classes to scan when searching for dependencies, sorted by priority. */ private final List> classPoolList; @@ -303,9 +303,10 @@ private S createServiceRecursively(final Class c) final S service = c.newInstance(); service.setContext(getContext()); - // propagate priority if known - final Double priority = classPoolMap.get(c); - if (priority != null) service.setPriority(priority); + // propagate plugin metadata and priority if known + final PluginInfo info = classPoolMap.get(c); + service.setInfo(info); + if (info != null) service.setPriority(info.getPriority()); // NB: If there are any @EventHandler annotated methods, we treat the // EventService as a required dependency, _unless_ there is also an @@ -358,7 +359,7 @@ private S createServiceRecursively(final Class c) /** Asks the plugin index for all available service implementations. */ private void findServiceClasses( - final Map, Double> serviceMap, + final Map, PluginInfo> serviceMap, final List> serviceList) { // ask the plugin index for the (sorted) list of available services @@ -368,8 +369,7 @@ private void findServiceClasses( for (final PluginInfo info : services) { try { final Class c = info.loadClass(); - final double priority = info.getPriority(); - serviceMap.put(c, priority); + serviceMap.put(c, info); serviceList.add(c); } catch (final Throwable e) { From ed9f724489c3bfdccac4b0a7dcabc15578d8bdd2 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 13 Nov 2019 09:58:32 -0600 Subject: [PATCH 105/383] Gateway: default to plugin name for getShortName() And name the SciJava gateway "sj" and stop overriding getShortName(). --- src/main/java/org/scijava/AbstractGateway.java | 2 ++ src/main/java/org/scijava/SciJava.java | 10 +--------- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/src/main/java/org/scijava/AbstractGateway.java b/src/main/java/org/scijava/AbstractGateway.java index 4f8362194..9edfd6edc 100644 --- a/src/main/java/org/scijava/AbstractGateway.java +++ b/src/main/java/org/scijava/AbstractGateway.java @@ -114,6 +114,8 @@ public void launch(final String... args) { @Override public String getShortName() { + final String pluginName = getInfo() == null ? null : getInfo().getName(); + if (pluginName != null && !pluginName.isEmpty()) return pluginName; return getClass().getSimpleName().toLowerCase(); } diff --git a/src/main/java/org/scijava/SciJava.java b/src/main/java/org/scijava/SciJava.java index ebf387171..befdc46d3 100644 --- a/src/main/java/org/scijava/SciJava.java +++ b/src/main/java/org/scijava/SciJava.java @@ -45,7 +45,7 @@ * * @author Curtis Rueden */ -@Plugin(type = Gateway.class) +@Plugin(type = Gateway.class, name = "sj") public class SciJava extends AbstractGateway { // -- Constructors -- @@ -113,12 +113,4 @@ public SciJava(final Collection> serviceClasses) { public SciJava(final Context context) { super(SciJavaApp.NAME, context); } - - // -- Gateway methods -- - - @Override - public String getShortName() { - return "sj"; - } - } From 3f0db7838b3d705b45ef07596aafead4e2a31378 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 13 Nov 2019 11:36:01 -0600 Subject: [PATCH 106/383] PluginInfo: remove unused import --- src/main/java/org/scijava/plugin/PluginInfo.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/org/scijava/plugin/PluginInfo.java b/src/main/java/org/scijava/plugin/PluginInfo.java index 420323dbf..69c41849f 100644 --- a/src/main/java/org/scijava/plugin/PluginInfo.java +++ b/src/main/java/org/scijava/plugin/PluginInfo.java @@ -45,7 +45,6 @@ import org.scijava.UIDetails; import org.scijava.Versioned; import org.scijava.input.Accelerator; -import org.scijava.util.ClassUtils; import org.scijava.util.StringMaker; import org.scijava.util.Types; import org.scijava.util.VersionUtils; From f31a468bc3c17cf133ce1545fbe1b4da872facfb Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 13 Nov 2019 11:38:18 -0600 Subject: [PATCH 107/383] PluginInfo: add utility methods to get PluginInfos --- .../java/org/scijava/plugin/PluginInfo.java | 158 ++++++++++++++++++ .../org/scijava/plugin/PluginInfoTest.java | 90 +++++++++- 2 files changed, 245 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/scijava/plugin/PluginInfo.java b/src/main/java/org/scijava/plugin/PluginInfo.java index 69c41849f..259e1a2a3 100644 --- a/src/main/java/org/scijava/plugin/PluginInfo.java +++ b/src/main/java/org/scijava/plugin/PluginInfo.java @@ -33,6 +33,8 @@ package org.scijava.plugin; import java.net.URL; +import java.util.Collection; +import java.util.Optional; import org.scijava.AbstractUIDetails; import org.scijava.Identifiable; @@ -351,6 +353,143 @@ public String getVersion() { } } + // -- Utility methods -- + + /** + * Finds a {@link PluginInfo} of the given plugin class in the specified + * {@link PluginIndex}. Note that to avoid loading plugin classes, class + * identity is determined by class name equality only. + * + * @param pluginClass The concrete class of the plugin whose + * {@link PluginInfo} is desired. + * @param pluginIndex The {@link PluginIndex} to search for a matching + * {@link PluginInfo}. + * @return The matching {@link PluginInfo}, or null if none found. + */ + @SuppressWarnings({ "rawtypes", "unchecked" }) + public static

    PluginInfo get( + final Class

    pluginClass, final PluginIndex pluginIndex) + { + return get(pluginClass, (Collection) pluginIndex.getAll()); + } + + /** + * Finds a {@link PluginInfo} of the given plugin class and plugin type in the + * specified {@link PluginIndex}. Note that to avoid loading plugin + * classes, class identity is determined by class name equality only. + * + * @param pluginClass The concrete class of the plugin whose + * {@link PluginInfo} is desired. + * @param pluginType The type of the plugin; see {@link #getPluginType()}. + * @param pluginIndex The {@link PluginIndex} to search for a matching + * {@link PluginInfo}. + * @return The matching {@link PluginInfo}, or null if none found. + */ + public static

    PluginInfo get( + final Class

    pluginClass, final Class pluginType, + final PluginIndex pluginIndex) + { + return get(pluginClass, pluginIndex.getPlugins(pluginType)); + } + + /** + * Finds a {@link PluginInfo} of the given plugin class in the specified list + * of plugins. Note that to avoid loading plugin classes, class identity + * is determined by class name equality only. + * + * @param pluginClass The concrete class of the plugin whose + * {@link PluginInfo} is desired. + * @param plugins The list of plugins to search for a match. + * @return The matching {@link PluginInfo}, or null if none found. + */ + public static

    PluginInfo get( + final Class

    pluginClass, + final Collection> plugins) + { + final String className = pluginClass.getName(); + final Optional> result = plugins.stream() // + .filter(info -> info.getClassName().equals(className)) // + .findFirst(); + return result.isPresent() ? result.get() : null; + } + + /** + * Creates a {@link PluginInfo} for the given plugin class. The class must be + * a concrete class annotated with the @{@link Plugin} annotation, from which + * the plugin type will be inferred. + * + * @param pluginClass The concrete class of the plugin for which a new + * {@link PluginInfo} is desired. + * @return A newly created {@link PluginInfo} for the given plugin class. + * @throws IllegalArgumentException if the given class is not annotated + * with @{@link Plugin}, or its annotated {@link Plugin#type() + * type()} is not a supertype of the plugin class. + */ + public static PluginInfo create( + final Class pluginClass) + { + @SuppressWarnings({ "rawtypes", "unchecked" }) + final PluginInfo info = new PluginInfo(pluginClass, // + pluginType(pluginClass)); + return info; + } + + /** + * Creates a {@link PluginInfo} for the given plugin class of the specified + * plugin type. + * + * @param pluginClass The concrete class of the plugin for which a new + * {@link PluginInfo} is desired. + * @param pluginType The type of the plugin; see {@link #getPluginType()}. + * @return A newly created {@link PluginInfo} for the given plugin class. + */ + public static

    PluginInfo create( + final Class

    pluginClass, final Class pluginType) + { + return new PluginInfo<>(pluginClass, pluginType); + } + + /** + * Obtains a {@link PluginInfo} for the given plugin class. If one already + * exists in the specified {@link PluginIndex}, it is retrieved (see + * {@link #get(Class, PluginIndex)}); otherwise, a new one is created (see + * {@link #create(Class)}) but not added to the index. + * + * @param pluginClass The concrete class of the plugin whose + * {@link PluginInfo} is desired. + * @param pluginIndex The {@link PluginIndex} to search for a matching + * {@link PluginInfo}. + * @throws IllegalArgumentException when creating a new {@link PluginInfo} if + * the associated plugin type cannot be inferred; see + * {@link #create(Class)}. + */ + public static

    PluginInfo getOrCreate( + final Class

    pluginClass, final PluginIndex pluginIndex) + { + final PluginInfo existing = get(pluginClass, pluginIndex); + return existing == null ? create(pluginClass) : existing; + } + + /** + * Obtains a {@link PluginInfo} for the given plugin class. If one already + * exists in the specified {@link PluginIndex}, it is retrieved (see + * {@link #get(Class, PluginIndex)}); otherwise, a new one is created (see + * {@link #create(Class)}) but not added to the index. + * + * @param pluginClass The concrete class of the plugin whose + * {@link PluginInfo} is desired. + * @param pluginType The type of the plugin; see {@link #getPluginType()}. + * @param pluginIndex The {@link PluginIndex} to search for a matching + * {@link PluginInfo}. + */ + public static

    PluginInfo + getOrCreate(final Class

    pluginClass, final Class pluginType, + final PluginIndex pluginIndex) + { + final PluginInfo existing = get(pluginClass, pluginType, pluginIndex); + return existing == null ? create(pluginClass, pluginType) : existing; + } + // -- Helper methods -- /** Populates the entry to match the associated @{@link Plugin} annotation. */ @@ -412,4 +551,23 @@ private MenuPath parseMenuPath(final Menu[] menu) { return menuPath; } + /** Extracts the plugin type from a class's @{@link Plugin} annotation. */ + private static

    Class pluginType( + final Class

    pluginClass) + { + final Plugin annotation = pluginClass.getAnnotation(Plugin.class); + if (annotation == null) { + throw new IllegalArgumentException( + "Cannot infer plugin type from class '" + pluginClass.getName() + + "' with no @Plugin annotation."); + } + final Class type = annotation.type(); + if (!type.isAssignableFrom(pluginClass)) { + throw new IllegalArgumentException("Invalid plugin type '" + // + type.getName() + "' for class '" + pluginClass.getName() + "'"); + } + @SuppressWarnings("unchecked") + final Class pluginType = (Class) type; + return pluginType; + } } diff --git a/src/test/java/org/scijava/plugin/PluginInfoTest.java b/src/test/java/org/scijava/plugin/PluginInfoTest.java index 20c0b5ebb..ae504aec7 100644 --- a/src/test/java/org/scijava/plugin/PluginInfoTest.java +++ b/src/test/java/org/scijava/plugin/PluginInfoTest.java @@ -33,10 +33,16 @@ package org.scijava.plugin; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNotSame; +import static org.junit.Assert.assertNull; import static org.junit.Assert.assertSame; +import static org.junit.Assert.fail; import java.util.List; +import org.junit.After; +import org.junit.Before; import org.junit.Test; import org.scijava.Context; import org.scijava.InstantiableException; @@ -49,11 +55,24 @@ */ public class PluginInfoTest { + private Context context; + private PluginIndex pluginIndex; + + @Before + public void setUp() { + context = new Context(true); + pluginIndex = context.getPluginIndex(); + } + + @After + public void tearDown() { + context.dispose(); + context = null; + pluginIndex = null; + } + @Test public void testNames() throws InstantiableException { - final Context context = new Context(true); - final PluginIndex pluginIndex = context.getPluginIndex(); - final List> infos = pluginIndex.get(IceCream.class); assertEquals(3, infos.size()); @@ -62,9 +81,74 @@ public void testNames() throws InstantiableException { assertPlugin(Flavorless.class, IceCream.class, "", infos.get(2)); } + @Test + public void testGet() throws InstantiableException { + final PluginInfo chocolateInfo = // + PluginInfo.get(Chocolate.class, pluginIndex); + assertPlugin(Chocolate.class, IceCream.class, "chocolate", chocolateInfo); + + final PluginInfo chocolateInfoWithType = // + PluginInfo.get(Chocolate.class, IceCream.class, pluginIndex); + assertSame(chocolateInfo, chocolateInfoWithType); + + class Sherbet implements IceCream {} + assertNull(PluginInfo.get(Sherbet.class, pluginIndex)); + } + + @Test + public void testCreate() throws InstantiableException { + final PluginInfo chocolateInfo = PluginInfo.create(Chocolate.class); + assertPlugin(Chocolate.class, IceCream.class, "chocolate", chocolateInfo); + + final PluginInfo chocolateInfoWithType = // + PluginInfo.create(Chocolate.class, IceCream.class); + assertPlugin(Chocolate.class, IceCream.class, "chocolate", + chocolateInfoWithType); + assertNotSame(chocolateInfo, chocolateInfoWithType); + + class Sherbet implements IceCream {} + final PluginInfo sherbetInfoWithType = // + PluginInfo.create(Sherbet.class, IceCream.class); + assertPlugin(Sherbet.class, IceCream.class, null, sherbetInfoWithType); + + try { + final PluginInfo result = PluginInfo.create(Sherbet.class); + fail("Expected IllegalArgumentException but got: " + result); + } + catch (final IllegalArgumentException exc) { + // NB: Expected. + } + } + + @Test + public void testGetOrCreate() throws InstantiableException { + final PluginInfo chocolateInfo = // + PluginInfo.getOrCreate(Chocolate.class, pluginIndex); + assertPlugin(Chocolate.class, IceCream.class, "chocolate", chocolateInfo); + + final PluginInfo chocolateInfoWithType = // + PluginInfo.getOrCreate(Chocolate.class, IceCream.class, pluginIndex); + assertSame(chocolateInfo, chocolateInfoWithType); + + class Sherbet implements IceCream {} + final PluginInfo sherbetInfoWithType = // + PluginInfo.getOrCreate(Sherbet.class, IceCream.class, pluginIndex); + assertPlugin(Sherbet.class, IceCream.class, null, sherbetInfoWithType); + + try { + final PluginInfo result = // + PluginInfo.getOrCreate(Sherbet.class, pluginIndex); + fail("Expected IllegalArgumentException but got: " + result); + } + catch (final IllegalArgumentException exc) { + // NB: Expected. + } + } + private void assertPlugin(Class pluginClass, Class pluginType, String name, PluginInfo info) throws InstantiableException { + assertNotNull(info); assertSame(pluginClass, info.loadClass()); assertSame(pluginType, info.getPluginType()); assertEquals(name, info.getName()); From f44d764605850b2eb6bdba466072ba438e518896 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 13 Nov 2019 11:44:13 -0600 Subject: [PATCH 108/383] Gateway: make an effort to inject plugin metadata People like to create gateways by calling the constructors directly. Let's make sure that when they are created in this fashion, methods of RichPlugin like getInfo() and getPriority() still work correctly. --- src/main/java/org/scijava/AbstractGateway.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/scijava/AbstractGateway.java b/src/main/java/org/scijava/AbstractGateway.java index 9edfd6edc..4a4e89332 100644 --- a/src/main/java/org/scijava/AbstractGateway.java +++ b/src/main/java/org/scijava/AbstractGateway.java @@ -54,6 +54,7 @@ import org.scijava.platform.AppEventService; import org.scijava.platform.PlatformService; import org.scijava.plugin.AbstractRichPlugin; +import org.scijava.plugin.PluginInfo; import org.scijava.plugin.PluginService; import org.scijava.prefs.PrefService; import org.scijava.script.ScriptService; @@ -86,7 +87,15 @@ public AbstractGateway() { public AbstractGateway(final String appName, final Context context) { this.appName = appName; - if (context != null) setContext(context); + if (context != null) { + setContext(context); + + // NB: Make a best effort to inject plugin metadata. + final PluginInfo info = PluginInfo.getOrCreate(getClass(), + Gateway.class, context.getPluginIndex()); + info.inject(this); + Priority.inject(this, info.getPriority()); + } } // -- Gateway methods -- From 8e3b4018c2eea42637feeedcd98cd366c480c7de Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 13 Nov 2019 12:09:19 -0600 Subject: [PATCH 109/383] Add some simple tests for the SciJava gateway These tests fail before the previous commit's improvements. --- src/test/java/org/scijava/SciJavaTest.java | 68 ++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 src/test/java/org/scijava/SciJavaTest.java diff --git a/src/test/java/org/scijava/SciJavaTest.java b/src/test/java/org/scijava/SciJavaTest.java new file mode 100644 index 000000000..b8b91ecf8 --- /dev/null +++ b/src/test/java/org/scijava/SciJavaTest.java @@ -0,0 +1,68 @@ +/* + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2017 Board of Regents of the University of + * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck + * Institute of Molecular Cell Biology and Genetics, University of + * Konstanz, and KNIME GmbH. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ + +package org.scijava; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertSame; + +import org.junit.Test; +import org.scijava.plugin.PluginInfo; + +/** + * Tests {@link SciJava}. + * + * @author Curtis Rueden + */ +public class SciJavaTest { + + @Test + public void testInfo() { + final SciJava sj = new SciJava(); + + final PluginInfo infoFromObject = sj.getInfo(); + final PluginInfo infoFromServiceNoType = // + sj.plugin().getPlugin(SciJava.class); + final PluginInfo infoFromServiceWithType = // + sj.plugin().getPlugin(SciJava.class, Gateway.class); + assertSame(infoFromServiceNoType, infoFromObject); + assertSame(infoFromServiceWithType, infoFromObject); + + assertNotNull(infoFromObject); + assertSame(Gateway.class, infoFromObject.getPluginType()); + + assertEquals(Priority.NORMAL, sj.getPriority(), 0); + + sj.dispose(); + } +} From e1d4caae4007cba9a9186a6390e7e36696a45187 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 13 Nov 2019 09:52:14 -0600 Subject: [PATCH 110/383] ScriptREPL: use service name from @Plugin metadata And fall back to the old behavior of synthesizing a name from the class name when no name is specified in the @Plugin annotation. Related discussion at: https://gitter.im/scijava/scijava-common?at=5dcc215f92a84f79fe5da435 This commit is dedicated to Kyle Harrington. --- src/main/java/org/scijava/script/ScriptREPL.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/org/scijava/script/ScriptREPL.java b/src/main/java/org/scijava/script/ScriptREPL.java index 71dc6eea0..d28558f8b 100644 --- a/src/main/java/org/scijava/script/ScriptREPL.java +++ b/src/main/java/org/scijava/script/ScriptREPL.java @@ -386,6 +386,11 @@ private List gateways() { } private String serviceName(final Service service) { + final PluginInfo info = service.getInfo(); + final String pluginName = info == null ? null : info.getName(); + // Name was explicitly given in the @Plugin annotation. + if (pluginName != null && !pluginName.isEmpty()) return pluginName; + // No name was given; synthesize one from the class name. final String serviceName = service.getClass().getSimpleName(); final String shortName = lowerCamelCase( serviceName.replaceAll("^(Default)?(.*)Service$", "$2")); From 466d0aa8affcd666a6c342b7faa7cad66ac22f86 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 13 Nov 2019 15:05:54 -0600 Subject: [PATCH 111/383] POM: bump to next minor version There is new API: org.scijava.convert.AbstractDelegateConverter. --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index bdc512316..f3a87fac5 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.80.2-SNAPSHOT + 2.81.0-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From 4235519a1e6cfe2f8521bebd3b7d66ab676bf116 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Thu, 14 Nov 2019 14:19:34 -0600 Subject: [PATCH 112/383] GatewayPreprocessor: use try/multi-catch --- .../module/process/GatewayPreprocessor.java | 20 ++++--------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/src/main/java/org/scijava/module/process/GatewayPreprocessor.java b/src/main/java/org/scijava/module/process/GatewayPreprocessor.java index 59c3169cb..a581f91ca 100644 --- a/src/main/java/org/scijava/module/process/GatewayPreprocessor.java +++ b/src/main/java/org/scijava/module/process/GatewayPreprocessor.java @@ -87,22 +87,10 @@ private void setGatewayValue(final Context context, try { gateway = type.getConstructor(Context.class).newInstance(context); } - catch (final IllegalArgumentException exc) { - exception = exc; - } - catch (final SecurityException exc) { - exception = exc; - } - catch (final InstantiationException exc) { - exception = exc; - } - catch (final IllegalAccessException exc) { - exception = exc; - } - catch (final InvocationTargetException exc) { - exception = exc; - } - catch (final NoSuchMethodException exc) { + catch (final IllegalArgumentException | SecurityException + | InstantiationException | IllegalAccessException + | InvocationTargetException | NoSuchMethodException exc) + { exception = exc; } if (exception != null) { From 7756d049a1b89ee8e335b7c8b6c6e44bb95c12f5 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Thu, 14 Nov 2019 14:20:15 -0600 Subject: [PATCH 113/383] Fix some instances of bogus parameter filling * If an input has been resolved already, do not overwrite. * If the input type is super general -- e.g. an Object when the preprocessor fills in Context or UserInterface -- do not fill. --- src/main/java/org/scijava/module/DefaultModuleService.java | 3 +-- .../org/scijava/module/process/GatewayPreprocessor.java | 3 ++- .../org/scijava/module/process/ServicePreprocessor.java | 7 +++++-- src/main/java/org/scijava/ui/UIPreprocessor.java | 7 +++++-- src/test/java/org/scijava/script/ScriptServiceTest.java | 1 - 5 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/main/java/org/scijava/module/DefaultModuleService.java b/src/main/java/org/scijava/module/DefaultModuleService.java index 6aaa731b2..ea20a6ffa 100644 --- a/src/main/java/org/scijava/module/DefaultModuleService.java +++ b/src/main/java/org/scijava/module/DefaultModuleService.java @@ -497,9 +497,8 @@ private ModuleItem getSingleItem(final Module module, for (final ModuleItem item : items) { final String name = item.getName(); - final boolean resolved = module.isInputResolved(name); - if (resolved) continue; // skip resolved inputs if (!item.isAutoFill()) continue; // skip unfillable inputs + if (module.isInputResolved(name)) continue; // skip resolved inputs final Class itemType = item.getType(); for (final Class type : types) { if (type.isAssignableFrom(itemType)) { diff --git a/src/main/java/org/scijava/module/process/GatewayPreprocessor.java b/src/main/java/org/scijava/module/process/GatewayPreprocessor.java index a581f91ca..a2f751546 100644 --- a/src/main/java/org/scijava/module/process/GatewayPreprocessor.java +++ b/src/main/java/org/scijava/module/process/GatewayPreprocessor.java @@ -64,7 +64,8 @@ public class GatewayPreprocessor extends AbstractPreprocessorPlugin { @Override public void process(final Module module) { for (final ModuleItem input : module.getInfo().inputs()) { - if (!input.isAutoFill()) continue; // cannot auto-fill this input + if (!input.isAutoFill()) continue; // skip unfillable inputs + if (module.isInputResolved(input.getName())) continue; // skip resolved inputs final Class type = input.getType(); if (Gateway.class.isAssignableFrom(type)) { // input is a gateway diff --git a/src/main/java/org/scijava/module/process/ServicePreprocessor.java b/src/main/java/org/scijava/module/process/ServicePreprocessor.java index 8993cdd46..287c2159f 100644 --- a/src/main/java/org/scijava/module/process/ServicePreprocessor.java +++ b/src/main/java/org/scijava/module/process/ServicePreprocessor.java @@ -70,7 +70,8 @@ public class ServicePreprocessor extends AbstractPreprocessorPlugin { @Override public void process(final Module module) { for (final ModuleItem input : module.getInfo().inputs()) { - if (!input.isAutoFill()) continue; // cannot auto-fill this input + if (!input.isAutoFill()) continue; // skip unfillable inputs + if (module.isInputResolved(input.getName())) continue; // skip resolved inputs final Class type = input.getType(); if (Service.class.isAssignableFrom(type)) { // input is a service @@ -79,7 +80,9 @@ public void process(final Module module) { (ModuleItem) input; setServiceValue(getContext(), module, serviceInput); } - if (type.isAssignableFrom(getContext().getClass())) { + if (Context.class.isAssignableFrom(type) && // + type.isAssignableFrom(getContext().getClass())) + { // input is a compatible context final String name = input.getName(); module.setInput(name, getContext()); diff --git a/src/main/java/org/scijava/ui/UIPreprocessor.java b/src/main/java/org/scijava/ui/UIPreprocessor.java index b55dffbb2..c1e11ccab 100644 --- a/src/main/java/org/scijava/ui/UIPreprocessor.java +++ b/src/main/java/org/scijava/ui/UIPreprocessor.java @@ -62,9 +62,12 @@ public void process(final Module module) { if (ui == null) return; // no default UI for (final ModuleItem input : module.getInfo().inputs()) { - if (!input.isAutoFill()) continue; // cannot auto-fill this input + if (!input.isAutoFill()) continue; // skip unfillable inputs + if (module.isInputResolved(input.getName())) continue; // skip resolved inputs final Class type = input.getType(); - if (type.isAssignableFrom(ui.getClass())) { + if (UserInterface.class.isAssignableFrom(type) && // + type.isAssignableFrom(ui.getClass())) + { // input is a compatible UI final String name = input.getName(); module.setInput(name, ui); diff --git a/src/test/java/org/scijava/script/ScriptServiceTest.java b/src/test/java/org/scijava/script/ScriptServiceTest.java index 01782d057..642767104 100644 --- a/src/test/java/org/scijava/script/ScriptServiceTest.java +++ b/src/test/java/org/scijava/script/ScriptServiceTest.java @@ -129,5 +129,4 @@ public void testArrayAliases() throws ScriptException { ctx.dispose(); } - } From 3f13d99ed847f98e902d3fdbf0ca26b26391f16c Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 11 Dec 2019 14:29:13 +0100 Subject: [PATCH 114/383] UIService: quit more gracefully If the UIService never initialized, and then an AppQuitEvent fires, there is no need to proactively discover the UIs and save their locations, since clearly nothing changed with the UI. --- src/main/java/org/scijava/ui/DefaultUIService.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/scijava/ui/DefaultUIService.java b/src/main/java/org/scijava/ui/DefaultUIService.java index 49368efc8..1640b3206 100644 --- a/src/main/java/org/scijava/ui/DefaultUIService.java +++ b/src/main/java/org/scijava/ui/DefaultUIService.java @@ -436,7 +436,10 @@ public void run() { } @EventHandler - protected void onEvent(@SuppressWarnings("unused") final AppQuitEvent event) { + protected synchronized void onEvent( + @SuppressWarnings("unused") final AppQuitEvent event) + { + if (!initialized) return; for (final UserInterface ui : getVisibleUIs()) { ui.saveLocation(); } From 1f93f6449baeea7f11b474369277e6d1703e72b6 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 11 Dec 2019 15:05:47 +0100 Subject: [PATCH 115/383] PluginService: be less verbose if injection fails If a plugin depends on an unavailable service, the context injection will fail. When a plugin fails to instantiate for whatever reason, we don't need to see the whole huge stack trace, normally. Let's reserve that for when debug mode is enabled. But still log the failure. --- src/main/java/org/scijava/plugin/DefaultPluginService.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/scijava/plugin/DefaultPluginService.java b/src/main/java/org/scijava/plugin/DefaultPluginService.java index dc61d9ab7..45fcdf656 100644 --- a/src/main/java/org/scijava/plugin/DefaultPluginService.java +++ b/src/main/java/org/scijava/plugin/DefaultPluginService.java @@ -239,7 +239,9 @@ public List createInstances( return p; } catch (final Throwable t) { - log.error("Cannot create plugin: " + info, t); + final String errorMessage = "Cannot create plugin: " + info; + if (log.isDebug()) log.debug(errorMessage, t); + else log.error(errorMessage); } return null; } From 9de270cc0bac352fab4246a62fa2dd57cbb1bc54 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 11 Dec 2019 15:19:26 +0100 Subject: [PATCH 116/383] UIService: make isVisible methods more permissive If the requested UI does not exist in the context, no need to throw an exception -- it's not visible. :-) If _no_ UI exists in the context, no worries -- not visible. --- .../java/org/scijava/ui/DefaultUIService.java | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/src/main/java/org/scijava/ui/DefaultUIService.java b/src/main/java/org/scijava/ui/DefaultUIService.java index 1640b3206..d7d915eea 100644 --- a/src/main/java/org/scijava/ui/DefaultUIService.java +++ b/src/main/java/org/scijava/ui/DefaultUIService.java @@ -138,7 +138,11 @@ public void addUI(final String name, final UserInterface ui) { public void showUI() { if (disposed) return; final UserInterface ui = getDefaultUI(); - if (ui == null) throw noUIsAvailableException(); + if (ui == null) { + throw new IllegalStateException("No UIs available. " + + "Please add a component containing a UIPlugin " + + "(e.g., scijava-ui-swing) to your class-path."); + } showUI(ui); } @@ -165,17 +169,14 @@ public void showUI(final UserInterface ui) { @Override public boolean isVisible() { final UserInterface ui = getDefaultUI(); - if (ui == null) throw noUIsAvailableException(); + if (ui == null) return false; return ui.isVisible(); } @Override public boolean isVisible(final String name) { final UserInterface ui = uiMap().get(name); - if (ui == null) { - throw new IllegalArgumentException("No such user interface: " + name); - } - return ui.isVisible(); + return ui != null && ui.isVisible(); } @Override @@ -533,10 +534,4 @@ private void addUserInterface(final String name, final UserInterface ui) { private String getTitle() { return appService.getApp().getTitle(); } - - private IllegalStateException noUIsAvailableException() { - return new IllegalStateException("No UIs available. " + - "Please add a component containing a UIPlugin " + - "(e.g., scijava-ui-swing) to your class-path."); - } } From 952a4c843994bfeebb4038d4208f8a7985ac27ef Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Sat, 14 Dec 2019 15:10:31 +0100 Subject: [PATCH 117/383] Make DynamicCommand work when not in plugin index This enables some new use cases: e.g. it becomes possible to make a DynamicCommand anonymous subclass as a local variable in a method, for the purpose of using it once, without registering it in the context. --- src/main/java/org/scijava/command/DynamicCommand.java | 3 ++- src/main/java/org/scijava/command/DynamicCommandInfo.java | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/scijava/command/DynamicCommand.java b/src/main/java/org/scijava/command/DynamicCommand.java index a8bf63220..c4601f35f 100644 --- a/src/main/java/org/scijava/command/DynamicCommand.java +++ b/src/main/java/org/scijava/command/DynamicCommand.java @@ -79,7 +79,8 @@ public abstract class DynamicCommand extends DefaultMutableModule implements public DynamicCommandInfo getInfo() { if (info == null) { // NB: Create dynamic metadata lazily. - final CommandInfo commandInfo = commandService.getCommand(getClass()); + CommandInfo commandInfo = commandService.getCommand(getClass()); + if (commandInfo == null) commandInfo = new CommandInfo(getClass()); info = new DynamicCommandInfo(commandInfo, getClass()); } return info; diff --git a/src/main/java/org/scijava/command/DynamicCommandInfo.java b/src/main/java/org/scijava/command/DynamicCommandInfo.java index a45f4b1ac..790f7064a 100644 --- a/src/main/java/org/scijava/command/DynamicCommandInfo.java +++ b/src/main/java/org/scijava/command/DynamicCommandInfo.java @@ -51,9 +51,9 @@ * Helper class for maintaining a {@link DynamicCommand}'s associated * {@link ModuleInfo}. *

    - * The {@link CommandService} has a plain {@link CommandInfo} object in its - * index, populated from the {@link DynamicCommand}'s @{@link Plugin} - * annotation. So this class adapts that object, delegating to it for the + * This class wraps a plain {@link CommandInfo} object (e.g. from the + * {@link CommandService}'s index, present due to an @{@link Plugin} annotation + * on the {@link DynamicCommand} class), delegating to it for the * {@link UIDetails} methods. The plain {@link CommandInfo} cannot be used * as-is, however, because we need to override the {@link ModuleInfo} methods as * well as provide metadata manipulation functionality such as From 7146669092a7436744622204b0cb49057128369b Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Sat, 14 Dec 2019 15:21:03 +0100 Subject: [PATCH 118/383] Add convenient way to build input-only commands The idea is to build up the inputs with code dynamically in Java, run the command (which does nothing when executed) to exploit the module preprocessing chain, and then harvest the final input values. In this way, the user can be prompted for inputs dynamically from Java code, roughly similar to the ij.gui.GenericDialog class of ImageJ 1.x. --- .../org/scijava/command/DynamicCommand.java | 2 +- src/main/java/org/scijava/command/Inputs.java | 105 ++++++++++++++++++ 2 files changed, 106 insertions(+), 1 deletion(-) create mode 100644 src/main/java/org/scijava/command/Inputs.java diff --git a/src/main/java/org/scijava/command/DynamicCommand.java b/src/main/java/org/scijava/command/DynamicCommand.java index c4601f35f..ce2848139 100644 --- a/src/main/java/org/scijava/command/DynamicCommand.java +++ b/src/main/java/org/scijava/command/DynamicCommand.java @@ -63,7 +63,7 @@ public abstract class DynamicCommand extends DefaultMutableModule implements private CommandService commandService; @Parameter - private PluginService pluginService; + protected PluginService pluginService; @Parameter protected ModuleService moduleService; diff --git a/src/main/java/org/scijava/command/Inputs.java b/src/main/java/org/scijava/command/Inputs.java new file mode 100644 index 000000000..f34f00aed --- /dev/null +++ b/src/main/java/org/scijava/command/Inputs.java @@ -0,0 +1,105 @@ +/* + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2017 Board of Regents of the University of + * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck + * Institute of Molecular Cell Biology and Genetics, University of + * Konstanz, and KNIME GmbH. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ + +package org.scijava.command; + +import java.util.List; +import java.util.Map; +import java.util.concurrent.ExecutionException; + +import org.scijava.Context; +import org.scijava.module.process.PreprocessorPlugin; + +/** + * A way to build a dynamic set of inputs, whose values are then harvested by + * the preprocessing framework. + *

    + * The {@link #run()} method of this command does nothing. If you want something + * custom to happen during execution, use a normal {@link Command} instead: + * either implement {@link Command directly}, or extend {@link ContextCommand} + * or {@link DynamicCommand}. + *

    + *

    + * Here is are some examples of usage: + *

    + * + *
    + * {@code
    + * // Single input, no configuration.
    + * Inputs inputs = new Inputs(context);
    + * inputs.addInput("sigma", Double.class);
    + * Double sigma = (Double) inputs.harvest().get("sigma");
    + *
    + * // Two inputs, no configuration.
    + * Inputs inputs = new Inputs(context);
    + * inputs.addInput("name", String.class);
    + * inputs.addInput("age", Integer.class);
    + * Map values = inputs.harvest();
    + * String name = (String) values.get("name");
    + * Integer age = (Integer) values.get("age");
    + *
    + * // Inputs with configuration.
    + * Inputs inputs = new Inputs(context);
    + * MutableModuleItem wordInput = inputs.addInput("word", String.class);
    + * wordInput.setLabel("Favorite word");
    + * wordInput.setChoices(Arrays.asList("quick", "brown", "fox"));
    + * wordInput.setDefaultValue("fox");
    + * MutableModuleItem opacityInput = inputs.addInput("opacity", Double.class);
    + * opacityInput.setMinimumValue(0.0);
    + * opacityInput.setMaximumValue(1.0);
    + * opacityInput.setDefaultValue(0.5);
    + * opacityInput.setWidgetStyle(NumberWidget.SCROLL_BAR_STYLE);
    + * inputs.harvest();
    + * String word = wordInput.getValue(inputs);
    + * Double opacity = opacityInput.getValue(inputs);
    + * }
    + * 
    + * + * @author Curtis Rueden + */ +public final class Inputs extends DynamicCommand { + + public Inputs(final Context context) { + context.inject(this); + } + + public Map harvest() { + try { + final List pre = // + pluginService.createInstancesOfType(PreprocessorPlugin.class); + return moduleService.run(this, true, pre, null).get().getInputs(); + } + catch (final InterruptedException | ExecutionException exc) { + throw new RuntimeException(exc); + } + } +} From cd67323c13678c931cb5e1e798149c45ef5b21a9 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 16 Dec 2019 19:19:52 +0100 Subject: [PATCH 119/383] Encapsulate intelligent class loader access According to the javadoc, Thread#getContextClassLoader() can return null. In that case, we want to fall back to the system class loader. --- src/main/java/org/scijava/Context.java | 16 +++++++++++++--- .../scijava/annotations/AnnotationCombiner.java | 5 +++-- .../org/scijava/annotations/EclipseHelper.java | 3 ++- .../org/scijava/plugin/DefaultPluginFinder.java | 5 +++-- src/main/java/org/scijava/util/FileUtils.java | 4 +++- src/main/java/org/scijava/util/POM.java | 4 ++-- .../java/org/scijava/util/ServiceCombiner.java | 5 +++-- src/main/java/org/scijava/util/Types.java | 6 ++++-- 8 files changed, 33 insertions(+), 15 deletions(-) diff --git a/src/main/java/org/scijava/Context.java b/src/main/java/org/scijava/Context.java index c3b928c2d..b53749e0d 100644 --- a/src/main/java/org/scijava/Context.java +++ b/src/main/java/org/scijava/Context.java @@ -440,6 +440,18 @@ public static List> serviceClassList( Arrays.asList(serviceClasses) : Arrays.asList(Service.class); } + /** + * Gets the class loader to use. This will be the current thread's context + * class loader if non-null; otherwise it will be the system class loader. + * + * @see Thread#getContextClassLoader() + * @see ClassLoader#getSystemClassLoader() + */ + public static ClassLoader getClassLoader() { + final ClassLoader contextCL = Thread.currentThread().getContextClassLoader(); + return contextCL != null ? contextCL : ClassLoader.getSystemClassLoader(); + } + // -- Helper methods -- private List getParameterFields(final Object o) { @@ -530,8 +542,7 @@ private String createMissingServiceMessage( final Class serviceType) { final String nl = System.getProperty("line.separator"); - final ClassLoader classLoader = // - Thread.currentThread().getContextClassLoader(); + final ClassLoader classLoader = getClassLoader(); final StringBuilder msg = new StringBuilder( "Required service is missing: " + serviceType.getName() + nl); msg.append("Context: " + this + nl); @@ -569,5 +580,4 @@ private static List> services(final boolean empty) { private static boolean strict() { return !"false".equals(System.getProperty(STRICT_PROPERTY)); } - } diff --git a/src/main/java/org/scijava/annotations/AnnotationCombiner.java b/src/main/java/org/scijava/annotations/AnnotationCombiner.java index 4d399d8ea..8e4ae8a34 100644 --- a/src/main/java/org/scijava/annotations/AnnotationCombiner.java +++ b/src/main/java/org/scijava/annotations/AnnotationCombiner.java @@ -43,6 +43,7 @@ import java.util.HashSet; import java.util.Set; +import org.scijava.Context; import org.scijava.util.Combiner; import org.scijava.util.FileUtils; @@ -65,7 +66,7 @@ public void combine(File outputDirectory) throws Exception { } final Set annotationFiles = getAnnotationFiles(); - final ClassLoader loader = Thread.currentThread().getContextClassLoader(); + final ClassLoader loader = Context.getClassLoader(); log(""); log("Writing annotations to " + outputDirectory.getAbsolutePath()); @@ -92,7 +93,7 @@ public Set getAnnotationFiles() throws IOException { for (final String prefix : new String[] { PREFIX, LEGACY_PREFIX }) { final Enumeration directories = - Thread.currentThread().getContextClassLoader().getResources(prefix); + Context.getClassLoader().getResources(prefix); while (directories.hasMoreElements()) { final URL url = directories.nextElement(); for (final URL annotationIndexURL : FileUtils.listContents(url)) { diff --git a/src/main/java/org/scijava/annotations/EclipseHelper.java b/src/main/java/org/scijava/annotations/EclipseHelper.java index 053103e8c..31584568a 100644 --- a/src/main/java/org/scijava/annotations/EclipseHelper.java +++ b/src/main/java/org/scijava/annotations/EclipseHelper.java @@ -43,6 +43,7 @@ import java.util.jar.JarFile; import java.util.jar.Manifest; +import org.scijava.Context; import org.scijava.util.FileUtils; /** @@ -297,7 +298,7 @@ else if (file.isDirectory()) { */ public static void main(final String... args) { System.setProperty(FORCE_ANNOTATION_INDEX_PROPERTY, "true"); - updateAnnotationIndex(Thread.currentThread().getContextClassLoader()); + updateAnnotationIndex(Context.getClassLoader()); } } diff --git a/src/main/java/org/scijava/plugin/DefaultPluginFinder.java b/src/main/java/org/scijava/plugin/DefaultPluginFinder.java index 3081cd34e..21242fcf6 100644 --- a/src/main/java/org/scijava/plugin/DefaultPluginFinder.java +++ b/src/main/java/org/scijava/plugin/DefaultPluginFinder.java @@ -38,6 +38,7 @@ import java.util.regex.Pattern; import java.util.regex.PatternSyntaxException; +import org.scijava.Context; import org.scijava.annotations.Index; import org.scijava.annotations.IndexItem; @@ -113,8 +114,8 @@ private PluginInfo createInfo( } private ClassLoader getClassLoader() { - if (customClassLoader != null) return customClassLoader; - return Thread.currentThread().getContextClassLoader(); + return customClassLoader != null ? // + customClassLoader : Context.getClassLoader(); } // -- Helper classes -- diff --git a/src/main/java/org/scijava/util/FileUtils.java b/src/main/java/org/scijava/util/FileUtils.java index b928118e6..5b2c109c6 100644 --- a/src/main/java/org/scijava/util/FileUtils.java +++ b/src/main/java/org/scijava/util/FileUtils.java @@ -58,6 +58,8 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; +import org.scijava.Context; + /** * Useful methods for working with file paths. * @@ -664,7 +666,7 @@ public static Map findResources(final String regex, final String pathPrefix, final File baseDirectory) { // scan URL resource paths first - final ClassLoader loader = Thread.currentThread().getContextClassLoader(); + final ClassLoader loader = Context.getClassLoader(); final ArrayList urls = new ArrayList<>(); try { urls.addAll(Collections.list(loader.getResources(pathPrefix + "/"))); diff --git a/src/main/java/org/scijava/util/POM.java b/src/main/java/org/scijava/util/POM.java index ac7eedcd1..53d2a0559 100644 --- a/src/main/java/org/scijava/util/POM.java +++ b/src/main/java/org/scijava/util/POM.java @@ -43,6 +43,7 @@ import javax.xml.parsers.ParserConfigurationException; +import org.scijava.Context; import org.scijava.Versioned; import org.xml.sax.SAXException; @@ -280,8 +281,7 @@ public static POM getPOM(final Class c, final String groupId, public static List getAllPOMs() { // find all META-INF/maven/ folders on the classpath final String pomPrefix = "META-INF/maven/"; - final ClassLoader classLoader = - Thread.currentThread().getContextClassLoader(); + final ClassLoader classLoader = Context.getClassLoader(); final Enumeration resources; try { resources = classLoader.getResources(pomPrefix); diff --git a/src/main/java/org/scijava/util/ServiceCombiner.java b/src/main/java/org/scijava/util/ServiceCombiner.java index 5efa456d6..f5577b9f9 100644 --- a/src/main/java/org/scijava/util/ServiceCombiner.java +++ b/src/main/java/org/scijava/util/ServiceCombiner.java @@ -45,6 +45,8 @@ import javax.xml.ws.Service; +import org.scijava.Context; + /** * Combines {@link Service} information from all JAR files on the classpath. * @@ -61,8 +63,7 @@ public void combine(final File outputDirectory) throws IOException { final Map files = new HashMap<>(); final Enumeration directories = - Thread.currentThread().getContextClassLoader().getResources( - SERVICES_PREFIX); + Context.getClassLoader().getResources(SERVICES_PREFIX); // Iterate over all the service files while (directories.hasMoreElements()) { diff --git a/src/main/java/org/scijava/util/Types.java b/src/main/java/org/scijava/util/Types.java index 8bcbabae5..25995ea0e 100644 --- a/src/main/java/org/scijava/util/Types.java +++ b/src/main/java/org/scijava/util/Types.java @@ -69,6 +69,8 @@ import java.util.Objects; import java.util.Set; +import org.scijava.Context; + /** * Utility class for working with generic types, fields and methods. *

    @@ -221,8 +223,8 @@ public static Class load(final String name, final ClassLoader classLoader, // load the class! try { - final ClassLoader cl = classLoader == null ? // - Thread.currentThread().getContextClassLoader() : classLoader; + final ClassLoader cl = // + classLoader != null ? classLoader : Context.getClassLoader(); return cl.loadClass(className); } catch (final Throwable t) { From 06aa06d7d5e7f6eec8f2f23a27cba7e686a5b8c6 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 16 Dec 2019 19:41:24 +0100 Subject: [PATCH 120/383] Bump to next development cycle Signed-off-by: Curtis Rueden --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index f3a87fac5..3d766bab7 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.81.0-SNAPSHOT + 2.81.1-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From 100351f89642907297575deae006bdacd4050223 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 17 Dec 2019 10:57:24 -0600 Subject: [PATCH 121/383] ClassUtils: simplify getList method code --- src/main/java/org/scijava/util/ClassUtils.java | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/main/java/org/scijava/util/ClassUtils.java b/src/main/java/org/scijava/util/ClassUtils.java index ceae7c44a..3f7202dd8 100644 --- a/src/main/java/org/scijava/util/ClassUtils.java +++ b/src/main/java/org/scijava/util/ClassUtils.java @@ -699,12 +699,8 @@ private static class CacheMap extends public List getList(final Class c, final Class annotationClass) { - List annotatedFields = null; final Map, List> annotationTypes = get(c); - if (annotationTypes != null) { - annotatedFields = annotationTypes.get(annotationClass); - } - return annotatedFields; + return annotationTypes == null ? null : annotationTypes.get(annotationClass); } /** From fee2644203c68d2f17301ec72d089bedece14a9a Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 30 Dec 2019 11:07:02 -0600 Subject: [PATCH 122/383] PluginInfo.getIdentifier: do not load the class Fixes scifio/scifio#410. --- src/main/java/org/scijava/plugin/PluginInfo.java | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/main/java/org/scijava/plugin/PluginInfo.java b/src/main/java/org/scijava/plugin/PluginInfo.java index 259e1a2a3..90cf7dac5 100644 --- a/src/main/java/org/scijava/plugin/PluginInfo.java +++ b/src/main/java/org/scijava/plugin/PluginInfo.java @@ -321,12 +321,7 @@ public PT createInstance() throws InstantiableException { @Override public String getIdentifier() { - try { - return "plugin:" + loadClass(); - } - catch (final InstantiableException exc) { - return null; - } + return "plugin:" + getClassName(); } // -- Locatable methods -- From a5d0fc09550e275646361ec860129aa99af04318 Mon Sep 17 00:00:00 2001 From: Jan Eglinger Date: Tue, 17 Dec 2019 18:05:25 +0100 Subject: [PATCH 123/383] Add named object index and improve ObjectService --- .../scijava/object/DefaultObjectService.java | 25 ++++++- .../org/scijava/object/NamedObjectIndex.java | 29 +++++++ .../org/scijava/object/ObjectService.java | 13 ++++ .../scijava/widget/DefaultWidgetModel.java | 6 +- .../scijava/object/NamedObjectIndexTest.java | 43 +++++++++++ .../org/scijava/object/ObjectServiceTest.java | 75 +++++++++++++++++++ 6 files changed, 186 insertions(+), 5 deletions(-) create mode 100644 src/main/java/org/scijava/object/NamedObjectIndex.java create mode 100644 src/test/java/org/scijava/object/NamedObjectIndexTest.java create mode 100644 src/test/java/org/scijava/object/ObjectServiceTest.java diff --git a/src/main/java/org/scijava/object/DefaultObjectService.java b/src/main/java/org/scijava/object/DefaultObjectService.java index 46f162ab0..4c1855214 100644 --- a/src/main/java/org/scijava/object/DefaultObjectService.java +++ b/src/main/java/org/scijava/object/DefaultObjectService.java @@ -34,6 +34,7 @@ import java.util.List; +import org.scijava.Named; import org.scijava.event.EventHandler; import org.scijava.event.EventService; import org.scijava.object.event.ObjectCreatedEvent; @@ -68,7 +69,7 @@ public final class DefaultObjectService extends AbstractService implements private EventService eventService; /** Index of registered objects. */ - private ObjectIndex objectIndex; + private NamedObjectIndex objectIndex; // -- ObjectService methods -- @@ -92,7 +93,12 @@ public List getObjects(final Class type) { @Override public void addObject(final Object obj) { - objectIndex.add(obj); + addObject(obj, null); + } + + @Override + public void addObject(Object obj, String name) { + objectIndex.add(obj, name); eventService.publish(new ObjectsAddedEvent(obj)); } @@ -102,11 +108,23 @@ public void removeObject(final Object obj) { eventService.publish(new ObjectsRemovedEvent(obj)); } + @Override + public String getName(Object obj) { + String name = objectIndex.getName(obj); + if (name != null) { + return name; + } + if (obj instanceof Named) { + return ((Named) obj).getName(); + } + return obj.toString(); + } + // -- Service methods -- @Override public void initialize() { - objectIndex = new ObjectIndex<>(Object.class); + objectIndex = new NamedObjectIndex<>(Object.class); } // -- Event handlers -- @@ -120,5 +138,4 @@ protected void onEvent(final ObjectCreatedEvent event) { protected void onEvent(final ObjectDeletedEvent event) { removeObject(event.getObject()); } - } diff --git a/src/main/java/org/scijava/object/NamedObjectIndex.java b/src/main/java/org/scijava/object/NamedObjectIndex.java new file mode 100644 index 000000000..3db8f9d51 --- /dev/null +++ b/src/main/java/org/scijava/object/NamedObjectIndex.java @@ -0,0 +1,29 @@ +package org.scijava.object; + +import java.util.WeakHashMap; + +public class NamedObjectIndex extends ObjectIndex { + + private WeakHashMap nameMap; + + public NamedObjectIndex(final Class baseClass) { + super(baseClass); + nameMap = new WeakHashMap<>(); + } + + public boolean add(E object, String name) { + if (name != null) + nameMap.put(object, name); + return add(object); + } + + public boolean add(E object, Class type, String name, boolean batch) { + if (name != null) + nameMap.put(object, name); + return add(object, type, batch); + } + + public String getName(E object) { + return nameMap.get(object); + } +} diff --git a/src/main/java/org/scijava/object/ObjectService.java b/src/main/java/org/scijava/object/ObjectService.java index e24922b21..584c4b335 100644 --- a/src/main/java/org/scijava/object/ObjectService.java +++ b/src/main/java/org/scijava/object/ObjectService.java @@ -34,6 +34,7 @@ import java.util.List; +import org.scijava.Named; import org.scijava.event.EventService; import org.scijava.service.SciJavaService; @@ -54,9 +55,21 @@ default EventService eventService() { /** Gets a list of all registered objects compatible with the given type. */ List getObjects(Class type); + /** + * Gets the name belonging to a given object. + * + * If no explicit name was provided at registration time, the name will be + * derived from {@link Named#getName()} if the object implements {@link Named}, + * or from the {@link Object#toString()} otherwise + **/ + String getName(Object obj); + /** Registers an object with the object service. */ void addObject(Object obj); + /** Registers a named object with the object service. */ + void addObject(Object obj, String name); + /** Deregisters an object with the object service. */ void removeObject(Object obj); diff --git a/src/main/java/org/scijava/widget/DefaultWidgetModel.java b/src/main/java/org/scijava/widget/DefaultWidgetModel.java index aaece9fcc..46e960fd8 100644 --- a/src/main/java/org/scijava/widget/DefaultWidgetModel.java +++ b/src/main/java/org/scijava/widget/DefaultWidgetModel.java @@ -47,6 +47,7 @@ import org.scijava.module.Module; import org.scijava.module.ModuleItem; import org.scijava.module.ModuleService; +import org.scijava.object.ObjectService; import org.scijava.plugin.Parameter; import org.scijava.thread.ThreadService; import org.scijava.util.NumberUtils; @@ -74,6 +75,9 @@ public class DefaultWidgetModel extends AbstractContextual implements WidgetMode @Parameter private ModuleService moduleService; + @Parameter + private ObjectService objectService; + @Parameter(required = false) private LogService log; @@ -227,7 +231,7 @@ public String[] getChoices() { final List choicesList = item.getChoices(); final String[] choices = new String[choicesList.size()]; for (int i = 0; i < choices.length; i++) { - choices[i] = choicesList.get(i).toString(); + choices[i] = objectService.getName(choicesList.get(i)); } return choices; } diff --git a/src/test/java/org/scijava/object/NamedObjectIndexTest.java b/src/test/java/org/scijava/object/NamedObjectIndexTest.java new file mode 100644 index 000000000..3e4783247 --- /dev/null +++ b/src/test/java/org/scijava/object/NamedObjectIndexTest.java @@ -0,0 +1,43 @@ +package org.scijava.object; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +import org.junit.Test; + +public class NamedObjectIndexTest { + + @Test + public void testNamedObjects() { + NamedObjectIndex index = new NamedObjectIndex<>(String.class); + String obj1 = "obj1"; + String name1 = "name1"; + String obj2 = "obj1"; + String name2 = "name1"; + assertTrue(index.add(obj1, name1)); + assertTrue(index.add(obj2, String.class, name2, false)); + assertTrue(index.contains(obj1)); + assertTrue(index.contains(obj2)); + assertEquals(name1, index.getName(obj1)); + assertEquals(name2, index.getName(obj2)); + assertTrue(index.remove(obj1)); + assertTrue(index.remove(obj2)); + assertFalse(index.contains(obj1)); + assertFalse(index.contains(obj2)); + } + + @Test + public void testNullNames() { + NamedObjectIndex index = new NamedObjectIndex<>(String.class); + String obj1 = "object1"; + String name1 = null; + String obj2 = "object2"; + String name2 = ""; + assertTrue(index.add(obj1, name1)); + assertTrue(index.add(obj2, name2)); + assertEquals(name1, index.getName(obj1)); + assertEquals(name2, index.getName(obj2)); + } +} diff --git a/src/test/java/org/scijava/object/ObjectServiceTest.java b/src/test/java/org/scijava/object/ObjectServiceTest.java new file mode 100644 index 000000000..4d58a97fe --- /dev/null +++ b/src/test/java/org/scijava/object/ObjectServiceTest.java @@ -0,0 +1,75 @@ +package org.scijava.object; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.scijava.Context; +import org.scijava.plugin.PluginInfo; +import org.scijava.plugin.SciJavaPlugin; + +public class ObjectServiceTest { + + private Context context; + private ObjectService objectService; + + @Before + public void setUp() { + context = new Context(ObjectService.class); + objectService = context.getService(ObjectService.class); + } + + @After + public void tearDown() { + context.dispose(); + } + + @Test + public void testAddRemoveObjects() { + Object obj1 = new Object(); + String name1 = "Object 1"; + Object obj2 = ""; + Object obj3 = new Double(0.3); + PluginInfo obj4 = PluginInfo.create(TestPlugin.class, SciJavaPlugin.class); + obj4.setName("TestPlugin name"); + + objectService.addObject(obj1, name1); + assertEquals("Name of object 1", name1, objectService.getName(obj1)); + objectService.addObject(obj2); + assertEquals("Name of object 2", obj2.toString(), objectService.getName(obj2)); + objectService.addObject(obj3, null); + assertEquals("Name of object 3", obj3.toString(), objectService.getName(obj3)); + objectService.addObject(obj4); + assertNotNull(objectService.getName(obj4)); + assertEquals("Name of object 4", obj4.getName(), objectService.getName(obj4)); + + assertTrue("Object 1 registered", objectService.getObjects(Object.class).contains(obj1)); + assertTrue("Object 2 registered", objectService.getObjects(Object.class).contains(obj2)); + assertTrue("Object 3 registered", objectService.getObjects(Object.class).contains(obj3)); + assertTrue("Object 4 registered", objectService.getObjects(Object.class).contains(obj4)); + + objectService.removeObject(obj1); + objectService.removeObject(obj2); + objectService.removeObject(obj3); + objectService.removeObject(obj4); + + assertFalse("Object 1 removed", objectService.getObjects(Object.class).contains(obj1)); + assertFalse("Object 2 removed", objectService.getObjects(Object.class).contains(obj2)); + assertFalse("Object 3 removed", objectService.getObjects(Object.class).contains(obj3)); + assertFalse("Object 4 removed", objectService.getObjects(Object.class).contains(obj4)); + } + + @Test + public void testNamedObjectIndex() { + ObjectIndex index = objectService.getIndex(); + assertTrue(index instanceof NamedObjectIndex); + } + + private class TestPlugin implements SciJavaPlugin { + + } +} From 6eeef9aed4f7abd4d4e260696974b63e5c2c3ffb Mon Sep 17 00:00:00 2001 From: Jan Eglinger Date: Thu, 9 Jan 2020 11:30:08 +0100 Subject: [PATCH 124/383] Respect autoFill parameter in script parameters This adds a new method setAutoFill(boolean) to MutableModuleItem and fixes ParameterScriptProcessor to set the autoFill value according to the parameter attribute. ScriptInfoTest is updated with a parameter testing autoFill=false that fails without the changes in this commit. --- .../module/DefaultMutableModuleItem.java | 13 +++++++++++++ .../org/scijava/module/MutableModuleItem.java | 2 ++ .../process/ParameterScriptProcessor.java | 1 + .../org/scijava/script/ScriptInfoTest.java | 18 +++++++++++------- 4 files changed, 27 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/scijava/module/DefaultMutableModuleItem.java b/src/main/java/org/scijava/module/DefaultMutableModuleItem.java index 7a2d3ec23..1feffbcc6 100644 --- a/src/main/java/org/scijava/module/DefaultMutableModuleItem.java +++ b/src/main/java/org/scijava/module/DefaultMutableModuleItem.java @@ -54,6 +54,7 @@ public class DefaultMutableModuleItem extends AbstractModuleItem private final Type genericType; private ItemIO ioType; private ItemVisibility visibility; + private boolean autoFill; private boolean required; private boolean persisted; private String persistKey; @@ -88,6 +89,7 @@ public DefaultMutableModuleItem(final ModuleInfo info, final String name, genericType = type; ioType = super.getIOType(); visibility = super.getVisibility(); + autoFill = super.isAutoFill(); required = super.isRequired(); persisted = super.isPersisted(); persistKey = super.getPersistKey(); @@ -115,6 +117,7 @@ public DefaultMutableModuleItem(final ModuleInfo info, genericType = item.getGenericType(); ioType = item.getIOType(); visibility = item.getVisibility(); + autoFill = item.isAutoFill(); required = item.isRequired(); persisted = item.isPersisted(); persistKey = item.getPersistKey(); @@ -146,6 +149,11 @@ public void setVisibility(final ItemVisibility visibility) { this.visibility = visibility; } + @Override + public void setAutoFill(final boolean autoFill) { + this.autoFill = autoFill; + } + @Override public void setRequired(final boolean required) { this.required = required; @@ -244,6 +252,11 @@ public ItemVisibility getVisibility() { return visibility; } + @Override + public boolean isAutoFill() { + return autoFill; + } + @Override public boolean isRequired() { return required; diff --git a/src/main/java/org/scijava/module/MutableModuleItem.java b/src/main/java/org/scijava/module/MutableModuleItem.java index 4c2f132fd..01af92e0d 100644 --- a/src/main/java/org/scijava/module/MutableModuleItem.java +++ b/src/main/java/org/scijava/module/MutableModuleItem.java @@ -49,6 +49,8 @@ public interface MutableModuleItem extends ModuleItem { void setVisibility(ItemVisibility visibility); + void setAutoFill(boolean autoFill); + void setRequired(boolean required); void setPersisted(boolean persisted); diff --git a/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java b/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java index c1a3170e8..1473ddf33 100644 --- a/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java +++ b/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java @@ -270,6 +270,7 @@ private void assignAttribute(final DefaultMutableModuleItem item, else if (is(k, "max")) item.setMaximumValue(as(v, item.getType())); else if (is(k, "min")) item.setMinimumValue(as(v, item.getType())); else if (is(k, "name")) item.setName(as(v, String.class)); + else if (is(k, "autoFill")) item.setAutoFill(as(v, boolean.class)); else if (is(k, "persist")) item.setPersisted(as(v, boolean.class)); else if (is(k, "persistKey")) item.setPersistKey(as(v, String.class)); else if (is(k, "required")) item.setRequired(as(v, boolean.class)); diff --git a/src/test/java/org/scijava/script/ScriptInfoTest.java b/src/test/java/org/scijava/script/ScriptInfoTest.java index 521327ccf..b6214c1cb 100644 --- a/src/test/java/org/scijava/script/ScriptInfoTest.java +++ b/src/test/java/org/scijava/script/ScriptInfoTest.java @@ -252,13 +252,14 @@ public void testVersion() throws IOException { @Test public void testParameters() { final String script = "" + // - "% @LogService(required = false) log\n" + // - "% @int(label=\"Slider Value\", softMin=5, softMax=15, " + // + "#@ LogService (required = false) log\n" + // + "#@ int (label=\"Slider Value\", softMin=5, softMax=15, " + // "stepSize=3, value=11, style=\"slider\") sliderValue\n" + // - "% @String(persist = false, family='Carnivora', " + // + "#@ String (persist = false, family='Carnivora', " + // "choices={'quick brown fox', 'lazy dog'}) animal\n" + // - "% @String(visibility=MESSAGE) msg\n" + // - "% @BOTH java.lang.StringBuilder buffer"; + "#@ Double (autoFill = false) notAutoFilled\n" + // + "#@ String (visibility=MESSAGE) msg\n" + // + "#@BOTH java.lang.StringBuilder buffer"; final ScriptInfo info = new ScriptInfo(context, "params.bsizes", new StringReader(script)); @@ -280,6 +281,9 @@ public void testParameters() { null, null, null, null, null, null, null, null, animalChoices, animal); assertEquals(animal.get("family"), "Carnivora"); // test custom attribute + final ModuleItem notAutoFilled = info.getInput("notAutoFilled"); + assertFalse(notAutoFilled.isAutoFill()); + final ModuleItem msg = info.getInput("msg"); assertSame(ItemVisibility.MESSAGE, msg.getVisibility()); @@ -288,7 +292,7 @@ public void testParameters() { null, null, null, null, null, null, null, null, noChoices, buffer); int inputCount = 0; - final ModuleItem[] inputs = { log, sliderValue, animal, msg, buffer }; + final ModuleItem[] inputs = { log, sliderValue, animal, notAutoFilled, msg, buffer }; for (final ModuleItem inItem : info.inputs()) { assertSame(inputs[inputCount++], inItem); } @@ -404,7 +408,7 @@ public List getExtensions() { } } - // -- Test script langauge -- + // -- Test script language -- private static class BindingSizesEngine extends AbstractScriptEngine { From 765d6ef1506a3daf9af9c7bd18824b2946015beb Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 13 Jan 2020 13:57:27 -0600 Subject: [PATCH 125/383] ObjectService: ensure getName() returns non-null --- .../org/scijava/object/DefaultObjectService.java | 14 ++++++++------ .../java/org/scijava/object/ObjectService.java | 10 ++++++---- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/src/main/java/org/scijava/object/DefaultObjectService.java b/src/main/java/org/scijava/object/DefaultObjectService.java index 4c1855214..c2cffb8bc 100644 --- a/src/main/java/org/scijava/object/DefaultObjectService.java +++ b/src/main/java/org/scijava/object/DefaultObjectService.java @@ -110,14 +110,16 @@ public void removeObject(final Object obj) { @Override public String getName(Object obj) { - String name = objectIndex.getName(obj); - if (name != null) { - return name; - } + if (obj == null) throw new NullPointerException(); + final String name = objectIndex.getName(obj); + if (name != null) return name; if (obj instanceof Named) { - return ((Named) obj).getName(); + final String n = ((Named) obj).getName(); + if (n != null) return n; } - return obj.toString(); + final String s = obj.toString(); + if (s != null) return s; + return obj.getClass().getName() + "@" + Integer.toHexString(obj.hashCode()); } // -- Service methods -- diff --git a/src/main/java/org/scijava/object/ObjectService.java b/src/main/java/org/scijava/object/ObjectService.java index 584c4b335..286e1da68 100644 --- a/src/main/java/org/scijava/object/ObjectService.java +++ b/src/main/java/org/scijava/object/ObjectService.java @@ -57,11 +57,13 @@ default EventService eventService() { /** * Gets the name belonging to a given object. - * + *

    * If no explicit name was provided at registration time, the name will be - * derived from {@link Named#getName()} if the object implements {@link Named}, - * or from the {@link Object#toString()} otherwise - **/ + * derived from {@link Named#getName()} if the object implements + * {@link Named}, or from the {@link Object#toString()} otherwise. It is + * guaranteed that this method will not return {@code null}. + *

    + */ String getName(Object obj); /** Registers an object with the object service. */ From ce965b93d729569c83f4f94d100c8f262b6c1730 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 13 Jan 2020 13:58:26 -0600 Subject: [PATCH 126/383] NamedObjectIndex: add missing javadoc --- src/main/java/org/scijava/object/NamedObjectIndex.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/org/scijava/object/NamedObjectIndex.java b/src/main/java/org/scijava/object/NamedObjectIndex.java index 3db8f9d51..2b314fa1d 100644 --- a/src/main/java/org/scijava/object/NamedObjectIndex.java +++ b/src/main/java/org/scijava/object/NamedObjectIndex.java @@ -2,6 +2,11 @@ import java.util.WeakHashMap; +/** + * An {@link ObjectIndex} where each object can have an associated name. + * + * @author Jan Eglinger + */ public class NamedObjectIndex extends ObjectIndex { private WeakHashMap nameMap; From d5dfb5d7c6e4425c2c0511c3b77cda37c2b01aca Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 13 Jan 2020 13:59:00 -0600 Subject: [PATCH 127/383] ObjectService: push default impls to interface --- .../scijava/object/DefaultObjectService.java | 46 +------------------ .../org/scijava/object/ObjectService.java | 40 +++++++++++++--- 2 files changed, 34 insertions(+), 52 deletions(-) diff --git a/src/main/java/org/scijava/object/DefaultObjectService.java b/src/main/java/org/scijava/object/DefaultObjectService.java index c2cffb8bc..2b150a997 100644 --- a/src/main/java/org/scijava/object/DefaultObjectService.java +++ b/src/main/java/org/scijava/object/DefaultObjectService.java @@ -32,15 +32,10 @@ package org.scijava.object; -import java.util.List; - -import org.scijava.Named; import org.scijava.event.EventHandler; import org.scijava.event.EventService; import org.scijava.object.event.ObjectCreatedEvent; import org.scijava.object.event.ObjectDeletedEvent; -import org.scijava.object.event.ObjectsAddedEvent; -import org.scijava.object.event.ObjectsRemovedEvent; import org.scijava.plugin.Parameter; import org.scijava.plugin.Plugin; import org.scijava.service.AbstractService; @@ -79,49 +74,10 @@ public EventService eventService() { } @Override - public ObjectIndex getIndex() { + public NamedObjectIndex getIndex() { return objectIndex; } - @Override - public List getObjects(final Class type) { - final List list = objectIndex.get(type); - @SuppressWarnings("unchecked") - final List result = (List) list; - return result; - } - - @Override - public void addObject(final Object obj) { - addObject(obj, null); - } - - @Override - public void addObject(Object obj, String name) { - objectIndex.add(obj, name); - eventService.publish(new ObjectsAddedEvent(obj)); - } - - @Override - public void removeObject(final Object obj) { - objectIndex.remove(obj); - eventService.publish(new ObjectsRemovedEvent(obj)); - } - - @Override - public String getName(Object obj) { - if (obj == null) throw new NullPointerException(); - final String name = objectIndex.getName(obj); - if (name != null) return name; - if (obj instanceof Named) { - final String n = ((Named) obj).getName(); - if (n != null) return n; - } - final String s = obj.toString(); - if (s != null) return s; - return obj.getClass().getName() + "@" + Integer.toHexString(obj.hashCode()); - } - // -- Service methods -- @Override diff --git a/src/main/java/org/scijava/object/ObjectService.java b/src/main/java/org/scijava/object/ObjectService.java index 286e1da68..24e71299e 100644 --- a/src/main/java/org/scijava/object/ObjectService.java +++ b/src/main/java/org/scijava/object/ObjectService.java @@ -36,6 +36,8 @@ import org.scijava.Named; import org.scijava.event.EventService; +import org.scijava.object.event.ObjectsAddedEvent; +import org.scijava.object.event.ObjectsRemovedEvent; import org.scijava.service.SciJavaService; /** @@ -50,10 +52,15 @@ default EventService eventService() { } /** Gets the index of available objects. */ - ObjectIndex getIndex(); + NamedObjectIndex getIndex(); /** Gets a list of all registered objects compatible with the given type. */ - List getObjects(Class type); + default List getObjects(final Class type) { + final List list = getIndex().get(type); + @SuppressWarnings("unchecked") + final List result = (List) list; + return result; + } /** * Gets the name belonging to a given object. @@ -63,17 +70,36 @@ default EventService eventService() { * {@link Named}, or from the {@link Object#toString()} otherwise. It is * guaranteed that this method will not return {@code null}. *

    - */ - String getName(Object obj); + **/ + default String getName(final Object obj) { + if (obj == null) throw new NullPointerException(); + final String name = getIndex().getName(obj); + if (name != null) return name; + if (obj instanceof Named) { + final String n = ((Named) obj).getName(); + if (n != null) return n; + } + final String s = obj.toString(); + if (s != null) return s; + return obj.getClass().getName() + "@" + Integer.toHexString(obj.hashCode()); + } /** Registers an object with the object service. */ - void addObject(Object obj); + default void addObject(Object obj) { + addObject(obj, null); + } /** Registers a named object with the object service. */ - void addObject(Object obj, String name); + default void addObject(final Object obj, final String name) { + getIndex().add(obj, name); + eventService().publish(new ObjectsAddedEvent(obj)); + } /** Deregisters an object with the object service. */ - void removeObject(Object obj); + default void removeObject(final Object obj) { + getIndex().remove(obj); + eventService().publish(new ObjectsRemovedEvent(obj)); + } // -- Deprecated methods -- From 04b2b499f69c3dab739795a34679cc30534c15f2 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Fri, 14 Feb 2020 11:50:31 -0600 Subject: [PATCH 128/383] POM: bump to next minor version The NamedObjectIndex functionality is new API. --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 3d766bab7..e1a4bb670 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.81.1-SNAPSHOT + 2.82.0-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From d304cea59964eef032ed5c5762e46f2fa25b235f Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Fri, 14 Feb 2020 11:52:11 -0600 Subject: [PATCH 129/383] Bump to next development cycle Signed-off-by: Curtis Rueden --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index e1a4bb670..29eaaafc2 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.82.0-SNAPSHOT + 2.82.1-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From 3dae7a46d5e86e3e33dc62035442143c766bc1e6 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Fri, 6 Mar 2020 15:31:11 -0600 Subject: [PATCH 130/383] POM: bump minor version The MutableModuleItem interface gained new API. --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 29eaaafc2..466c03ea4 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.82.1-SNAPSHOT + 2.83.0-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From 0a17bf8d4ec67b81fe495019ded79f84229bc34b Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Fri, 6 Mar 2020 15:32:14 -0600 Subject: [PATCH 131/383] Bump to next development cycle Signed-off-by: Curtis Rueden --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 466c03ea4..01653f333 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.83.0-SNAPSHOT + 2.83.1-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From 656521b61b715e06ad22729420dd37f8eeb361db Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Fri, 15 May 2020 12:19:15 -0500 Subject: [PATCH 132/383] Update to parsington 2.0.0 This is a breaking package rename on the parsington side, to avoid split packages. It facilitates use from JPMS-modularized projects. --- pom.xml | 2 ++ src/main/java/org/scijava/parse/DefaultParseService.java | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 01653f333..a5d58ddbe 100644 --- a/pom.xml +++ b/pom.xml @@ -162,6 +162,8 @@ Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck Institute of Molecular Cell Biology and Genetics, University of Konstanz, and KNIME GmbH. + + 2.0.0 diff --git a/src/main/java/org/scijava/parse/DefaultParseService.java b/src/main/java/org/scijava/parse/DefaultParseService.java index db48d5ac1..3d4d1d9b4 100644 --- a/src/main/java/org/scijava/parse/DefaultParseService.java +++ b/src/main/java/org/scijava/parse/DefaultParseService.java @@ -37,7 +37,8 @@ import java.util.List; import java.util.Map; -import org.scijava.parse.eval.DefaultEvaluator; +import org.scijava.parsington.Variable; +import org.scijava.parsington.eval.DefaultEvaluator; import org.scijava.plugin.Plugin; import org.scijava.service.AbstractService; import org.scijava.service.Service; From 24b03bc8ba17dc813153f4529a54a50be9db6cc4 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Fri, 15 May 2020 12:21:57 -0500 Subject: [PATCH 133/383] Bump to next development cycle Signed-off-by: Curtis Rueden --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index a5d58ddbe..41ac08e5b 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.83.1-SNAPSHOT + 2.83.2-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From 75a1ca67c7e366cf48f06f0d6d9a89d122764d22 Mon Sep 17 00:00:00 2001 From: frauzufall Date: Mon, 25 May 2020 12:34:44 +0200 Subject: [PATCH 134/383] DefaultRecentFileService: add dispose method --- src/main/java/org/scijava/io/DefaultRecentFileService.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/org/scijava/io/DefaultRecentFileService.java b/src/main/java/org/scijava/io/DefaultRecentFileService.java index 8bda3c537..9d00f1144 100644 --- a/src/main/java/org/scijava/io/DefaultRecentFileService.java +++ b/src/main/java/org/scijava/io/DefaultRecentFileService.java @@ -175,6 +175,11 @@ public void initialize() { moduleService.addModules(recentModules.values()); } + @Override + public void dispose() { + clear(); + } + // -- Event handlers -- @EventHandler From 7542428f3d6c0ee0132a2186894ab46612f9ae14 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 25 May 2020 13:36:52 -0500 Subject: [PATCH 135/383] POM: update parent to pom-scijava 28.0.0 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 41ac08e5b..af5be4f60 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.scijava pom-scijava - 27.0.1 + 28.0.0 From 87b1cc82ad9e68d4ff7b21217b540d9fdb1b7361 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 25 May 2020 13:37:23 -0500 Subject: [PATCH 136/383] Happy New Year 2020 --- LICENSE.txt | 5 +--- pom.xml | 5 +--- src/it/apt-test/pom.xml | 5 +--- src/it/apt-test/setup.bsh | 5 +--- .../org/scijava/annotation/its/Annotated.java | 5 +--- .../annotation/its/CustomAnnotation.java | 5 +--- src/it/apt-test/verify.bsh | 5 +--- src/it/settings.xml | 5 +--- .../org/scijava/AbstractBasicDetails.java | 5 +--- .../java/org/scijava/AbstractContextual.java | 5 +--- .../java/org/scijava/AbstractGateway.java | 5 +--- .../java/org/scijava/AbstractUIDetails.java | 5 +--- src/main/java/org/scijava/BasicDetails.java | 5 +--- src/main/java/org/scijava/Cancelable.java | 5 +--- src/main/java/org/scijava/Context.java | 5 +--- src/main/java/org/scijava/Contextual.java | 5 +--- src/main/java/org/scijava/Disposable.java | 5 +--- src/main/java/org/scijava/Gateway.java | 5 +--- src/main/java/org/scijava/Identifiable.java | 5 +--- src/main/java/org/scijava/Initializable.java | 5 +--- src/main/java/org/scijava/Instantiable.java | 5 +--- .../org/scijava/InstantiableException.java | 5 +--- src/main/java/org/scijava/ItemIO.java | 5 +--- src/main/java/org/scijava/ItemVisibility.java | 5 +--- src/main/java/org/scijava/Locatable.java | 5 +--- src/main/java/org/scijava/MenuEntry.java | 5 +--- src/main/java/org/scijava/MenuPath.java | 5 +--- src/main/java/org/scijava/Named.java | 5 +--- .../org/scijava/NoSuchServiceException.java | 5 +--- .../org/scijava/NullContextException.java | 5 +--- src/main/java/org/scijava/Optional.java | 5 +--- src/main/java/org/scijava/Prioritized.java | 5 +--- src/main/java/org/scijava/Priority.java | 5 +--- src/main/java/org/scijava/SciJava.java | 5 +--- src/main/java/org/scijava/Typed.java | 5 +--- src/main/java/org/scijava/UIDetails.java | 5 +--- src/main/java/org/scijava/Validated.java | 5 +--- .../java/org/scijava/ValidityProblem.java | 5 +--- src/main/java/org/scijava/Versioned.java | 5 +--- .../annotations/AbstractIndexWriter.java | 5 +--- .../annotations/AnnotationCombiner.java | 5 +--- .../annotations/AnnotationProcessor.java | 5 +--- .../scijava/annotations/ByteCodeAnalyzer.java | 5 +--- .../scijava/annotations/DirectoryIndexer.java | 5 +--- .../scijava/annotations/EclipseHelper.java | 5 +--- .../java/org/scijava/annotations/Index.java | 5 +--- .../org/scijava/annotations/IndexItem.java | 5 +--- .../org/scijava/annotations/IndexReader.java | 5 +--- .../org/scijava/annotations/Indexable.java | 5 +--- .../annotations/legacy/LegacyReader.java | 5 +--- .../java/org/scijava/app/AbstractApp.java | 5 +--- src/main/java/org/scijava/app/App.java | 5 +--- src/main/java/org/scijava/app/AppService.java | 5 +--- .../org/scijava/app/DefaultAppService.java | 5 +--- .../org/scijava/app/DefaultStatusService.java | 5 +--- src/main/java/org/scijava/app/SciJavaApp.java | 5 +--- .../java/org/scijava/app/StatusService.java | 5 +--- .../org/scijava/app/event/StatusEvent.java | 5 +--- .../java/org/scijava/cache/CacheService.java | 5 +--- .../scijava/cache/DefaultCacheService.java | 5 +--- .../java/org/scijava/command/Command.java | 5 +--- .../java/org/scijava/command/CommandInfo.java | 5 +--- .../org/scijava/command/CommandModule.java | 5 +--- .../scijava/command/CommandModuleItem.java | 5 +--- .../org/scijava/command/CommandService.java | 5 +--- .../org/scijava/command/ContextCommand.java | 5 +--- .../command/DefaultCommandService.java | 5 +--- .../org/scijava/command/DynamicCommand.java | 5 +--- .../scijava/command/DynamicCommandInfo.java | 5 +--- .../java/org/scijava/command/Interactive.java | 5 +--- .../scijava/command/InteractiveCommand.java | 5 +--- .../org/scijava/command/ModuleCommand.java | 5 +--- .../java/org/scijava/command/Previewable.java | 5 +--- .../scijava/command/UnimplementedCommand.java | 5 +--- .../scijava/command/console/RunArgument.java | 5 +--- .../command/run/CommandCodeRunner.java | 5 +--- .../console/AbstractConsoleArgument.java | 5 +--- .../org/scijava/console/ConsoleArgument.java | 5 +--- .../org/scijava/console/ConsoleService.java | 5 +--- .../org/scijava/console/ConsoleUtils.java | 5 +--- .../console/DefaultConsoleService.java | 5 +--- .../scijava/console/MultiOutputStream.java | 5 +--- .../org/scijava/console/MultiPrintStream.java | 5 +--- .../java/org/scijava/console/OutputEvent.java | 5 +--- .../org/scijava/console/OutputListener.java | 5 +--- .../console/SystemPropertyArgument.java | 5 +--- .../convert/AbstractConvertService.java | 5 +--- .../scijava/convert/AbstractConverter.java | 5 +--- .../convert/AbstractDelegateConverter.java | 28 +++++++++++++++++++ .../org/scijava/convert/ArrayConverters.java | 5 +--- .../org/scijava/convert/CastingConverter.java | 5 +--- .../scijava/convert/ConversionRequest.java | 5 +--- .../org/scijava/convert/ConvertService.java | 5 +--- .../java/org/scijava/convert/Converter.java | 5 +--- .../convert/DefaultConvertService.java | 5 +--- .../org/scijava/convert/DefaultConverter.java | 5 +--- .../scijava/convert/FileListConverters.java | 9 ++---- .../org/scijava/convert/NullConverter.java | 5 +--- .../org/scijava/convert/NumberConverters.java | 5 +--- .../convert/NumberToBigDecimalConverter.java | 5 +--- .../convert/NumberToBigIntegerConverter.java | 5 +--- .../convert/NumberToDoubleConverter.java | 5 +--- .../convert/NumberToFloatConverter.java | 5 +--- .../convert/NumberToIntegerConverter.java | 5 +--- .../convert/NumberToLongConverter.java | 5 +--- .../convert/NumberToNumberConverter.java | 5 +--- .../convert/NumberToShortConverter.java | 5 +--- .../convert/PrimitiveArrayUnwrapper.java | 5 +--- .../convert/PrimitiveArrayWrapper.java | 5 +--- .../org/scijava/display/AbstractDisplay.java | 5 +--- .../display/ActiveDisplayPreprocessor.java | 5 +--- .../org/scijava/display/DefaultDisplay.java | 5 +--- .../display/DefaultDisplayService.java | 5 +--- .../scijava/display/DefaultTextDisplay.java | 5 +--- .../java/org/scijava/display/Display.java | 5 +--- .../scijava/display/DisplayPostprocessor.java | 5 +--- .../org/scijava/display/DisplayService.java | 5 +--- .../java/org/scijava/display/Displayable.java | 5 +--- .../java/org/scijava/display/TextDisplay.java | 5 +--- .../display/event/DisplayActivatedEvent.java | 5 +--- .../display/event/DisplayCreatedEvent.java | 5 +--- .../display/event/DisplayDeletedEvent.java | 5 +--- .../scijava/display/event/DisplayEvent.java | 5 +--- .../display/event/DisplayUpdatedEvent.java | 5 +--- .../display/event/input/InputEvent.java | 5 +--- .../scijava/display/event/input/KyEvent.java | 5 +--- .../display/event/input/KyPressedEvent.java | 5 +--- .../display/event/input/KyReleasedEvent.java | 5 +--- .../display/event/input/KyTypedEvent.java | 5 +--- .../display/event/input/MsButtonEvent.java | 5 +--- .../display/event/input/MsClickedEvent.java | 5 +--- .../display/event/input/MsDraggedEvent.java | 5 +--- .../display/event/input/MsEnteredEvent.java | 5 +--- .../scijava/display/event/input/MsEvent.java | 5 +--- .../display/event/input/MsExitedEvent.java | 5 +--- .../display/event/input/MsMovedEvent.java | 5 +--- .../display/event/input/MsPressedEvent.java | 5 +--- .../display/event/input/MsReleasedEvent.java | 5 +--- .../display/event/input/MsWheelEvent.java | 5 +--- .../event/window/WinActivatedEvent.java | 5 +--- .../display/event/window/WinClosedEvent.java | 5 +--- .../display/event/window/WinClosingEvent.java | 5 +--- .../event/window/WinDeactivatedEvent.java | 5 +--- .../event/window/WinDeiconifiedEvent.java | 5 +--- .../display/event/window/WinEvent.java | 5 +--- .../event/window/WinIconifiedEvent.java | 5 +--- .../display/event/window/WinOpenedEvent.java | 5 +--- .../download/DefaultDownloadService.java | 5 +--- .../scijava/download/DiskLocationCache.java | 5 +--- .../java/org/scijava/download/Download.java | 5 +--- .../org/scijava/download/DownloadService.java | 5 +--- .../org/scijava/download/LocationCache.java | 5 +--- .../scijava/download/MultiWriteHandle.java | 5 +--- .../scijava/event/ContextDisposingEvent.java | 5 +--- .../org/scijava/event/DefaultEventBus.java | 5 +--- .../scijava/event/DefaultEventHistory.java | 5 +--- .../scijava/event/DefaultEventService.java | 5 +--- .../java/org/scijava/event/EventDetails.java | 5 +--- .../java/org/scijava/event/EventHandler.java | 5 +--- .../java/org/scijava/event/EventHistory.java | 5 +--- .../scijava/event/EventHistoryListener.java | 5 +--- .../java/org/scijava/event/EventService.java | 5 +--- .../org/scijava/event/EventSubscriber.java | 5 +--- .../java/org/scijava/event/SciJavaEvent.java | 5 +--- .../java/org/scijava/input/Accelerator.java | 5 +--- .../scijava/input/DefaultInputService.java | 5 +--- .../org/scijava/input/InputModifiers.java | 5 +--- .../java/org/scijava/input/InputService.java | 5 +--- src/main/java/org/scijava/input/KeyCode.java | 5 +--- .../java/org/scijava/input/MouseCursor.java | 5 +--- .../java/org/scijava/io/AbstractIOPlugin.java | 5 +--- .../org/scijava/io/ByteArrayByteBank.java | 5 +--- src/main/java/org/scijava/io/ByteBank.java | 5 +--- .../java/org/scijava/io/DefaultIOService.java | 5 +--- .../scijava/io/DefaultRecentFileService.java | 5 +--- src/main/java/org/scijava/io/IOPlugin.java | 5 +--- src/main/java/org/scijava/io/IOService.java | 5 +--- .../org/scijava/io/RecentFileService.java | 5 +--- .../org/scijava/io/console/OpenArgument.java | 5 +--- .../org/scijava/io/event/DataOpenedEvent.java | 5 +--- .../org/scijava/io/event/DataSavedEvent.java | 5 +--- .../java/org/scijava/io/event/IOEvent.java | 5 +--- .../scijava/io/handle/AbstractDataHandle.java | 5 +--- .../io/handle/AbstractHigherOrderHandle.java | 9 ++---- .../handle/AbstractSeekableStreamHandle.java | 4 +-- .../io/handle/AbstractStreamHandle.java | 8 ++---- .../org/scijava/io/handle/BytesHandle.java | 5 +--- .../org/scijava/io/handle/DataHandle.java | 5 +--- .../io/handle/DataHandleInputStream.java | 5 +--- .../io/handle/DataHandleOutputStream.java | 5 +--- .../scijava/io/handle/DataHandleService.java | 5 +--- .../org/scijava/io/handle/DataHandles.java | 9 ++---- .../io/handle/DefaultDataHandleService.java | 5 +--- .../org/scijava/io/handle/DummyHandle.java | 5 +--- .../org/scijava/io/handle/FileHandle.java | 5 +--- .../io/handle/ReadBufferDataHandle.java | 9 ++---- .../io/handle/ResettableStreamHandle.java | 4 +-- .../io/handle/SeekableStreamHandle.java | 4 +-- .../org/scijava/io/handle/StreamHandle.java | 8 ++---- .../io/handle/WriteBufferDataHandle.java | 9 ++---- .../scijava/io/location/AbstractLocation.java | 5 +--- .../io/location/AbstractLocationResolver.java | 5 +--- .../io/location/AbstractRemoteLocation.java | 5 +--- .../io/location/BrowsableLocation.java | 5 +--- .../scijava/io/location/BytesLocation.java | 5 +--- .../io/location/DefaultLocationService.java | 5 +--- .../scijava/io/location/DummyLocation.java | 5 +--- .../org/scijava/io/location/FileLocation.java | 5 +--- .../io/location/FileLocationResolver.java | 5 +--- .../org/scijava/io/location/Location.java | 5 +--- .../scijava/io/location/LocationResolver.java | 5 +--- .../scijava/io/location/LocationService.java | 5 +--- .../scijava/io/location/RemoteLocation.java | 5 +--- .../org/scijava/io/location/URILocation.java | 5 +--- .../org/scijava/io/location/URLLocation.java | 5 +--- .../scijava/io/nio/ByteBufferByteBank.java | 5 +--- .../org/scijava/io/nio/DefaultNIOService.java | 5 +--- .../java/org/scijava/io/nio/NIOService.java | 5 +--- .../org/scijava/log/AbstractLogService.java | 5 +--- .../org/scijava/log/CallingClassUtils.java | 8 ++---- .../java/org/scijava/log/DefaultLogger.java | 8 ++---- .../log/DefaultUncaughtExceptionHandler.java | 5 +--- .../org/scijava/log/IgnoreAsCallingClass.java | 8 ++---- src/main/java/org/scijava/log/LogLevel.java | 4 +-- .../java/org/scijava/log/LogListener.java | 8 ++---- src/main/java/org/scijava/log/LogMessage.java | 8 ++---- src/main/java/org/scijava/log/LogService.java | 5 +--- src/main/java/org/scijava/log/LogSource.java | 8 ++---- src/main/java/org/scijava/log/Logged.java | 5 +--- src/main/java/org/scijava/log/Logger.java | 4 +-- .../org/scijava/log/StderrLogService.java | 5 +--- .../org/scijava/main/DefaultMainService.java | 5 +--- .../java/org/scijava/main/MainService.java | 5 +--- .../scijava/main/console/MainArgument.java | 5 +--- .../org/scijava/main/run/MainCodeRunner.java | 5 +--- .../org/scijava/menu/AbstractMenuCreator.java | 5 +--- .../org/scijava/menu/DefaultMenuService.java | 5 +--- .../java/org/scijava/menu/MenuConstants.java | 5 +--- .../java/org/scijava/menu/MenuCreator.java | 5 +--- .../java/org/scijava/menu/MenuService.java | 5 +--- .../java/org/scijava/menu/ShadowMenu.java | 5 +--- .../org/scijava/menu/ShadowMenuIterator.java | 5 +--- .../org/scijava/menu/event/MenuEvent.java | 5 +--- .../scijava/menu/event/MenusAddedEvent.java | 5 +--- .../scijava/menu/event/MenusRemovedEvent.java | 5 +--- .../scijava/menu/event/MenusUpdatedEvent.java | 5 +--- .../org/scijava/module/AbstractModule.java | 5 +--- .../scijava/module/AbstractModuleInfo.java | 5 +--- .../scijava/module/AbstractModuleItem.java | 5 +--- .../scijava/module/DefaultModuleService.java | 5 +--- .../scijava/module/DefaultMutableModule.java | 5 +--- .../module/DefaultMutableModuleInfo.java | 5 +--- .../module/DefaultMutableModuleItem.java | 5 +--- .../scijava/module/MethodCallException.java | 5 +--- .../java/org/scijava/module/MethodRef.java | 5 +--- src/main/java/org/scijava/module/Module.java | 5 +--- .../module/ModuleCanceledException.java | 5 +--- .../org/scijava/module/ModuleException.java | 5 +--- .../java/org/scijava/module/ModuleIndex.java | 5 +--- .../java/org/scijava/module/ModuleInfo.java | 5 +--- .../java/org/scijava/module/ModuleItem.java | 5 +--- .../java/org/scijava/module/ModuleRunner.java | 5 +--- .../org/scijava/module/ModuleService.java | 5 +--- .../org/scijava/module/MutableModule.java | 5 +--- .../org/scijava/module/MutableModuleInfo.java | 5 +--- .../org/scijava/module/MutableModuleItem.java | 5 +--- .../module/event/ModuleCanceledEvent.java | 5 +--- .../org/scijava/module/event/ModuleEvent.java | 5 +--- .../module/event/ModuleExecutedEvent.java | 5 +--- .../module/event/ModuleExecutingEvent.java | 5 +--- .../module/event/ModuleExecutionEvent.java | 5 +--- .../module/event/ModuleFinishedEvent.java | 5 +--- .../module/event/ModulePostprocessEvent.java | 5 +--- .../module/event/ModulePreprocessEvent.java | 5 +--- .../module/event/ModuleProcessEvent.java | 5 +--- .../module/event/ModuleStartedEvent.java | 5 +--- .../module/event/ModulesAddedEvent.java | 5 +--- .../module/event/ModulesListEvent.java | 5 +--- .../module/event/ModulesRemovedEvent.java | 5 +--- .../module/event/ModulesUpdatedEvent.java | 5 +--- .../process/AbstractPostprocessorPlugin.java | 5 +--- .../process/AbstractPreprocessorPlugin.java | 5 +--- .../AbstractSingleInputPreprocessor.java | 5 +--- .../process/CheckInputsPreprocessor.java | 5 +--- .../module/process/DebugPostprocessor.java | 5 +--- .../module/process/DebugPreprocessor.java | 5 +--- .../process/DefaultValuePreprocessor.java | 5 +--- .../module/process/GatewayPreprocessor.java | 5 +--- .../module/process/InitPreprocessor.java | 5 +--- .../process/LoadInputsPreprocessor.java | 5 +--- .../module/process/LoggerPreprocessor.java | 8 ++---- .../module/process/ModulePostprocessor.java | 5 +--- .../module/process/ModulePreprocessor.java | 5 +--- .../module/process/ModuleProcessor.java | 5 +--- .../module/process/PostprocessorPlugin.java | 5 +--- .../module/process/PreprocessorPlugin.java | 5 +--- .../process/SaveInputsPreprocessor.java | 5 +--- .../module/process/ServicePreprocessor.java | 5 +--- .../module/process/ValidityPreprocessor.java | 5 +--- .../scijava/module/run/ModuleCodeRunner.java | 5 +--- .../scijava/object/DefaultObjectService.java | 5 +--- .../java/org/scijava/object/LazyObjects.java | 5 +--- .../org/scijava/object/NamedObjectIndex.java | 28 +++++++++++++++++++ .../java/org/scijava/object/ObjectIndex.java | 5 +--- .../org/scijava/object/ObjectService.java | 5 +--- .../org/scijava/object/SortedObjectIndex.java | 5 +--- .../org/scijava/object/event/ListEvent.java | 5 +--- .../object/event/ObjectCreatedEvent.java | 5 +--- .../object/event/ObjectDeletedEvent.java | 5 +--- .../org/scijava/object/event/ObjectEvent.java | 5 +--- .../object/event/ObjectModifiedEvent.java | 5 +--- .../object/event/ObjectsAddedEvent.java | 5 +--- .../object/event/ObjectsListEvent.java | 5 +--- .../object/event/ObjectsRemovedEvent.java | 5 +--- .../options/DefaultOptionsService.java | 5 +--- .../org/scijava/options/OptionsPlugin.java | 5 +--- .../org/scijava/options/OptionsService.java | 5 +--- .../scijava/options/event/OptionsEvent.java | 5 +--- .../scijava/parse/DefaultParseService.java | 5 +--- src/main/java/org/scijava/parse/Item.java | 5 +--- src/main/java/org/scijava/parse/Items.java | 5 +--- .../java/org/scijava/parse/ParseService.java | 5 +--- .../scijava/platform/AbstractPlatform.java | 5 +--- .../org/scijava/platform/AppEventService.java | 5 +--- .../platform/DefaultAppEventService.java | 5 +--- .../org/scijava/platform/DefaultPlatform.java | 5 +--- .../platform/DefaultPlatformService.java | 5 +--- .../java/org/scijava/platform/Platform.java | 5 +--- .../org/scijava/platform/PlatformService.java | 5 +--- .../scijava/platform/event/AppAboutEvent.java | 5 +--- .../scijava/platform/event/AppFocusEvent.java | 5 +--- .../platform/event/AppMenusCreatedEvent.java | 5 +--- .../platform/event/AppOpenFilesEvent.java | 5 +--- .../platform/event/AppPreferencesEvent.java | 5 +--- .../scijava/platform/event/AppPrintEvent.java | 5 +--- .../scijava/platform/event/AppQuitEvent.java | 5 +--- .../platform/event/AppReOpenEvent.java | 5 +--- .../platform/event/AppScreenSleepEvent.java | 5 +--- .../scijava/platform/event/AppSleepEvent.java | 5 +--- .../platform/event/AppSystemSleepEvent.java | 5 +--- .../platform/event/AppUserSessionEvent.java | 5 +--- .../platform/event/AppVisibleEvent.java | 5 +--- .../platform/event/ApplicationEvent.java | 5 +--- .../scijava/plugin/AbstractHandlerPlugin.java | 5 +--- .../plugin/AbstractHandlerService.java | 5 +--- .../org/scijava/plugin/AbstractPTService.java | 5 +--- .../scijava/plugin/AbstractRichPlugin.java | 5 +--- .../plugin/AbstractSingletonService.java | 5 +--- .../scijava/plugin/AbstractTypedPlugin.java | 5 +--- .../scijava/plugin/AbstractTypedService.java | 5 +--- .../scijava/plugin/AbstractWrapperPlugin.java | 5 +--- .../plugin/AbstractWrapperService.java | 5 +--- src/main/java/org/scijava/plugin/Attr.java | 5 +--- .../scijava/plugin/DefaultPluginFinder.java | 5 +--- .../scijava/plugin/DefaultPluginService.java | 5 +--- .../org/scijava/plugin/HandlerPlugin.java | 5 +--- .../org/scijava/plugin/HandlerService.java | 5 +--- .../org/scijava/plugin/HasPluginInfo.java | 5 +--- src/main/java/org/scijava/plugin/Menu.java | 5 +--- .../java/org/scijava/plugin/PTService.java | 5 +--- .../java/org/scijava/plugin/Parameter.java | 5 +--- src/main/java/org/scijava/plugin/Plugin.java | 5 +--- .../java/org/scijava/plugin/PluginFinder.java | 5 +--- .../java/org/scijava/plugin/PluginIndex.java | 5 +--- .../java/org/scijava/plugin/PluginInfo.java | 5 +--- .../org/scijava/plugin/PluginService.java | 5 +--- .../java/org/scijava/plugin/RichPlugin.java | 5 +--- .../org/scijava/plugin/SciJavaPlugin.java | 5 +--- .../org/scijava/plugin/SingletonPlugin.java | 5 +--- .../org/scijava/plugin/SingletonService.java | 5 +--- .../org/scijava/plugin/SortablePlugin.java | 5 +--- .../java/org/scijava/plugin/TypedPlugin.java | 5 +--- .../java/org/scijava/plugin/TypedService.java | 5 +--- .../org/scijava/plugin/WrapperPlugin.java | 5 +--- .../org/scijava/plugin/WrapperService.java | 5 +--- .../plugin/event/PluginsAddedEvent.java | 5 +--- .../plugin/event/PluginsListEvent.java | 5 +--- .../plugin/event/PluginsRemovedEvent.java | 5 +--- .../scijava/prefs/AbstractPrefService.java | 5 +--- .../org/scijava/prefs/DefaultPrefService.java | 5 +--- .../java/org/scijava/prefs/PrefService.java | 5 +--- .../org/scijava/run/AbstractCodeRunner.java | 5 +--- src/main/java/org/scijava/run/CodeRunner.java | 5 +--- .../org/scijava/run/DefaultRunService.java | 5 +--- src/main/java/org/scijava/run/RunService.java | 5 +--- .../org/scijava/run/console/RunArgument.java | 5 +--- .../scijava/script/AbstractAutoCompleter.java | 5 +--- .../scijava/script/AbstractScriptContext.java | 5 +--- .../scijava/script/AbstractScriptEngine.java | 5 +--- .../scijava/script/AbstractScriptHeader.java | 5 +--- .../script/AbstractScriptLanguage.java | 5 +--- .../scijava/script/AdaptedScriptEngine.java | 5 +--- .../scijava/script/AdaptedScriptLanguage.java | 5 +--- .../org/scijava/script/AutoCompleter.java | 5 +--- .../scijava/script/AutoCompletionResult.java | 5 +--- .../org/scijava/script/CodeGenerator.java | 5 +--- .../org/scijava/script/CodeGeneratorJava.java | 5 +--- .../scijava/script/DefaultAutoCompleter.java | 5 +--- .../script/DefaultScriptHeaderService.java | 5 +--- .../script/DefaultScriptInterpreter.java | 5 +--- .../scijava/script/DefaultScriptService.java | 5 +--- .../org/scijava/script/InvocationObject.java | 5 +--- .../org/scijava/script/ParameterObject.java | 5 +--- .../java/org/scijava/script/ScriptFinder.java | 5 +--- .../java/org/scijava/script/ScriptHeader.java | 5 +--- .../scijava/script/ScriptHeaderService.java | 5 +--- .../java/org/scijava/script/ScriptInfo.java | 5 +--- .../org/scijava/script/ScriptInterpreter.java | 5 +--- .../org/scijava/script/ScriptLanguage.java | 5 +--- .../scijava/script/ScriptLanguageIndex.java | 5 +--- .../java/org/scijava/script/ScriptModule.java | 5 +--- .../java/org/scijava/script/ScriptREPL.java | 5 +--- .../org/scijava/script/ScriptService.java | 5 +--- .../script/console/RunScriptArgument.java | 5 +--- .../org/scijava/script/io/ScriptIOPlugin.java | 5 +--- .../DefaultScriptProcessorService.java | 5 +--- .../process/DirectiveScriptProcessor.java | 5 +--- .../process/ParameterScriptProcessor.java | 5 +--- .../script/process/ScriptCallback.java | 5 +--- .../ScriptDirectiveScriptProcessor.java | 5 +--- .../script/process/ScriptProcessor.java | 5 +--- .../process/ScriptProcessorService.java | 5 +--- .../process/ShebangScriptProcessor.java | 5 +--- .../scijava/script/run/ScriptCodeRunner.java | 5 +--- .../org/scijava/service/AbstractService.java | 5 +--- .../org/scijava/service/SciJavaService.java | 5 +--- .../java/org/scijava/service/Service.java | 5 +--- .../org/scijava/service/ServiceHelper.java | 5 +--- .../org/scijava/service/ServiceIndex.java | 5 +--- .../service/event/ServicesLoadedEvent.java | 5 +--- .../startup/DefaultStartupService.java | 5 +--- .../org/scijava/startup/StartupService.java | 5 +--- .../java/org/scijava/task/DefaultTask.java | 5 +--- .../org/scijava/task/DefaultTaskService.java | 5 +--- src/main/java/org/scijava/task/Task.java | 5 +--- .../java/org/scijava/task/TaskService.java | 5 +--- .../org/scijava/task/event/TaskEvent.java | 5 +--- src/main/java/org/scijava/test/TestUtils.java | 5 +--- .../org/scijava/text/AbstractTextFormat.java | 5 +--- .../org/scijava/text/DefaultTextService.java | 5 +--- .../java/org/scijava/text/TextFormat.java | 5 +--- .../java/org/scijava/text/TextService.java | 5 +--- .../org/scijava/text/io/TextIOPlugin.java | 5 +--- .../scijava/thread/DefaultThreadService.java | 5 +--- .../org/scijava/thread/ThreadService.java | 5 +--- .../java/org/scijava/tool/AbstractTool.java | 5 +--- .../org/scijava/tool/CustomDrawnTool.java | 5 +--- .../org/scijava/tool/DefaultToolService.java | 5 +--- src/main/java/org/scijava/tool/DummyTool.java | 5 +--- .../java/org/scijava/tool/IconDrawer.java | 5 +--- .../java/org/scijava/tool/IconService.java | 5 +--- src/main/java/org/scijava/tool/Tool.java | 5 +--- .../java/org/scijava/tool/ToolService.java | 5 +--- .../tool/event/ToolActivatedEvent.java | 5 +--- .../tool/event/ToolDeactivatedEvent.java | 5 +--- .../org/scijava/tool/event/ToolEvent.java | 5 +--- src/main/java/org/scijava/ui/ARGBPlane.java | 5 +--- .../ui/AbstractInputHarvesterPlugin.java | 5 +--- .../org/scijava/ui/AbstractUIInputWidget.java | 5 +--- .../org/scijava/ui/AbstractUserInterface.java | 5 +--- .../java/org/scijava/ui/ApplicationFrame.java | 5 +--- src/main/java/org/scijava/ui/Arrangeable.java | 5 +--- .../java/org/scijava/ui/CloseConfirmable.java | 5 +--- .../java/org/scijava/ui/DefaultUIService.java | 5 +--- src/main/java/org/scijava/ui/Desktop.java | 5 +--- .../java/org/scijava/ui/DialogPrompt.java | 5 +--- .../org/scijava/ui/FileListPreprocessor.java | 5 +--- .../java/org/scijava/ui/FilePreprocessor.java | 5 +--- src/main/java/org/scijava/ui/StatusBar.java | 5 +--- .../java/org/scijava/ui/SystemClipboard.java | 5 +--- src/main/java/org/scijava/ui/ToolBar.java | 5 +--- .../java/org/scijava/ui/UIPreprocessor.java | 5 +--- src/main/java/org/scijava/ui/UIService.java | 5 +--- .../java/org/scijava/ui/UserInterface.java | 5 +--- .../ui/console/AbstractConsolePane.java | 5 +--- .../org/scijava/ui/console/ConsolePane.java | 5 +--- .../scijava/ui/console/HeadlessArgument.java | 5 +--- .../scijava/ui/console/ShowUIArgument.java | 5 +--- .../org/scijava/ui/console/UIArgument.java | 5 +--- .../ui/dnd/AbstractDragAndDropData.java | 5 +--- .../ui/dnd/AbstractDragAndDropHandler.java | 5 +--- .../ui/dnd/DefaultDragAndDropData.java | 5 +--- .../ui/dnd/DefaultDragAndDropService.java | 5 +--- .../org/scijava/ui/dnd/DragAndDropData.java | 5 +--- .../scijava/ui/dnd/DragAndDropHandler.java | 5 +--- .../scijava/ui/dnd/DragAndDropService.java | 5 +--- .../ui/dnd/FileDragAndDropHandler.java | 5 +--- .../ui/dnd/ListDragAndDropHandler.java | 5 +--- .../java/org/scijava/ui/dnd/MIMEType.java | 5 +--- .../ui/dnd/ScriptFileDragAndDropHandler.java | 5 +--- .../ui/dnd/event/DragAndDropEvent.java | 5 +--- .../scijava/ui/dnd/event/DragEnterEvent.java | 5 +--- .../scijava/ui/dnd/event/DragExitEvent.java | 5 +--- .../scijava/ui/dnd/event/DragOverEvent.java | 5 +--- .../org/scijava/ui/dnd/event/DropEvent.java | 5 +--- .../java/org/scijava/ui/event/UIEvent.java | 5 +--- .../org/scijava/ui/event/UIShownEvent.java | 5 +--- .../ui/headless/HeadlessDisplayViewer.java | 5 +--- .../org/scijava/ui/headless/HeadlessUI.java | 5 +--- .../org/scijava/ui/headlessUI/HeadlessUI.java | 5 +--- .../ui/viewer/AbstractDisplayViewer.java | 5 +--- .../org/scijava/ui/viewer/DisplayPanel.java | 5 +--- .../org/scijava/ui/viewer/DisplayViewer.java | 5 +--- .../org/scijava/ui/viewer/DisplayWindow.java | 5 +--- .../text/AbstractTextDisplayViewer.java | 5 +--- .../ui/viewer/text/TextDisplayPanel.java | 5 +--- .../ui/viewer/text/TextDisplayViewer.java | 5 +--- .../scijava/util/AbstractPrimitiveArray.java | 5 +--- src/main/java/org/scijava/util/AppUtils.java | 5 +--- .../java/org/scijava/util/ArrayUtils.java | 5 +--- src/main/java/org/scijava/util/BoolArray.java | 5 +--- src/main/java/org/scijava/util/ByteArray.java | 5 +--- src/main/java/org/scijava/util/Bytes.java | 5 +--- src/main/java/org/scijava/util/CharArray.java | 5 +--- .../java/org/scijava/util/CheckSezpoz.java | 5 +--- .../java/org/scijava/util/ClassUtils.java | 5 +--- src/main/java/org/scijava/util/ColorRGB.java | 5 +--- src/main/java/org/scijava/util/ColorRGBA.java | 5 +--- src/main/java/org/scijava/util/Colors.java | 5 +--- .../org/scijava/util/CombineAnnotations.java | 5 +--- src/main/java/org/scijava/util/Combiner.java | 5 +--- .../org/scijava/util/ConversionUtils.java | 5 +--- .../java/org/scijava/util/DebugUtils.java | 5 +--- .../org/scijava/util/DefaultTreeNode.java | 5 +--- .../java/org/scijava/util/DigestUtils.java | 5 +--- .../java/org/scijava/util/DoubleArray.java | 5 +--- src/main/java/org/scijava/util/FileUtils.java | 5 +--- .../java/org/scijava/util/FloatArray.java | 5 +--- .../java/org/scijava/util/GenericUtils.java | 5 +--- src/main/java/org/scijava/util/IntArray.java | 5 +--- src/main/java/org/scijava/util/IntCoords.java | 5 +--- src/main/java/org/scijava/util/IntRect.java | 5 +--- .../java/org/scijava/util/IteratorPlus.java | 5 +--- .../org/scijava/util/LastRecentlyUsed.java | 5 +--- .../org/scijava/util/LineOutputStream.java | 5 +--- src/main/java/org/scijava/util/ListUtils.java | 5 +--- src/main/java/org/scijava/util/LongArray.java | 5 +--- src/main/java/org/scijava/util/Manifest.java | 5 +--- .../org/scijava/util/MersenneTwisterFast.java | 5 +--- .../org/scijava/util/MetaInfCombiner.java | 5 +--- .../java/org/scijava/util/MirrorWebsite.java | 5 +--- src/main/java/org/scijava/util/MiscUtils.java | 5 +--- .../java/org/scijava/util/NumberUtils.java | 5 +--- .../java/org/scijava/util/ObjectArray.java | 5 +--- src/main/java/org/scijava/util/POM.java | 5 +--- .../java/org/scijava/util/PlatformUtils.java | 5 +--- src/main/java/org/scijava/util/Prefs.java | 5 +--- .../java/org/scijava/util/PrimitiveArray.java | 5 +--- .../java/org/scijava/util/ProcessUtils.java | 5 +--- src/main/java/org/scijava/util/Query.java | 5 +--- src/main/java/org/scijava/util/ReadInto.java | 5 +--- .../java/org/scijava/util/RealCoords.java | 5 +--- src/main/java/org/scijava/util/RealRect.java | 5 +--- .../org/scijava/util/ReflectException.java | 5 +--- .../org/scijava/util/ReflectedUniverse.java | 5 +--- .../org/scijava/util/ServiceCombiner.java | 5 +--- .../java/org/scijava/util/ShortArray.java | 5 +--- src/main/java/org/scijava/util/Sizable.java | 5 +--- .../org/scijava/util/SizableArrayList.java | 5 +--- .../java/org/scijava/util/StringMaker.java | 5 +--- .../java/org/scijava/util/StringUtils.java | 5 +--- src/main/java/org/scijava/util/Timing.java | 5 +--- src/main/java/org/scijava/util/TreeNode.java | 5 +--- .../java/org/scijava/util/TunePlayer.java | 5 +--- src/main/java/org/scijava/util/Types.java | 8 ++---- src/main/java/org/scijava/util/UnitUtils.java | 5 +--- .../java/org/scijava/util/VersionUtils.java | 5 +--- src/main/java/org/scijava/util/XML.java | 5 +--- .../welcome/DefaultWelcomeService.java | 5 +--- .../org/scijava/welcome/WelcomeService.java | 5 +--- .../scijava/welcome/event/WelcomeEvent.java | 5 +--- .../widget/AbstractInputHarvester.java | 5 +--- .../scijava/widget/AbstractInputPanel.java | 5 +--- .../scijava/widget/AbstractInputWidget.java | 5 +--- src/main/java/org/scijava/widget/Button.java | 5 +--- .../java/org/scijava/widget/ButtonWidget.java | 5 +--- .../java/org/scijava/widget/ChoiceWidget.java | 5 +--- .../java/org/scijava/widget/ColorWidget.java | 5 +--- .../java/org/scijava/widget/DateWidget.java | 5 +--- .../scijava/widget/DefaultWidgetModel.java | 5 +--- .../scijava/widget/DefaultWidgetService.java | 5 +--- .../org/scijava/widget/FileListWidget.java | 5 +--- .../java/org/scijava/widget/FileWidget.java | 5 +--- .../org/scijava/widget/InputHarvester.java | 5 +--- .../java/org/scijava/widget/InputPanel.java | 5 +--- .../java/org/scijava/widget/InputWidget.java | 5 +--- .../org/scijava/widget/MessageWidget.java | 5 +--- .../java/org/scijava/widget/NumberWidget.java | 5 +--- .../java/org/scijava/widget/ObjectWidget.java | 5 +--- .../java/org/scijava/widget/TextWidget.java | 5 +--- .../java/org/scijava/widget/ToggleWidget.java | 5 +--- .../java/org/scijava/widget/UIComponent.java | 5 +--- .../java/org/scijava/widget/WidgetModel.java | 5 +--- .../org/scijava/widget/WidgetService.java | 5 +--- .../java/org/scijava/ContextCreationTest.java | 5 +--- .../org/scijava/ContextInjectionTest.java | 5 +--- src/test/java/org/scijava/SciJavaTest.java | 5 +--- .../org/scijava/annotations/AnnotatedA.java | 5 +--- .../org/scijava/annotations/AnnotatedB.java | 5 +--- .../org/scijava/annotations/AnnotatedC.java | 5 +--- .../org/scijava/annotations/AnnotatedD.java | 5 +--- .../annotations/AnnotatedInnerClass.java | 5 +--- .../java/org/scijava/annotations/Complex.java | 5 +--- .../annotations/DirectoryIndexerTest.java | 5 +--- .../annotations/EclipseHelperTest.java | 5 +--- .../java/org/scijava/annotations/Fruit.java | 5 +--- .../org/scijava/annotations/LegacyTest.java | 5 +--- .../java/org/scijava/annotations/Simple.java | 5 +--- .../org/scijava/app/StatusServiceTest.java | 5 +--- .../org/scijava/command/CommandInfoTest.java | 5 +--- .../scijava/command/CommandModuleTest.java | 5 +--- .../scijava/command/CommandServiceTest.java | 5 +--- .../scijava/command/InvalidCommandTest.java | 5 +--- .../command/run/CommandCodeRunnerTest.java | 5 +--- .../scijava/console/ConsoleServiceTest.java | 5 +--- .../console/SystemPropertyArgumentTest.java | 5 +--- .../convert/AbstractNumberConverterTests.java | 5 +--- .../BigIntegerToBigDecimalConverterTest.java | 5 +--- .../ByteToBigDecimalConverterTest.java | 5 +--- .../ByteToBigIntegerConverterTest.java | 5 +--- .../convert/ByteToDoubleConverterTest.java | 5 +--- .../convert/ByteToFloatConverterTest.java | 5 +--- .../convert/ByteToIntegerConverterTest.java | 5 +--- .../convert/ByteToLongConverterTest.java | 5 +--- .../convert/ByteToShortConverterTest.java | 5 +--- .../scijava/convert/ConvertServiceTest.java | 5 +--- .../org/scijava/convert/ConverterTest.java | 5 +--- .../convert/DelegateConverterTest.java | 28 +++++++++++++++++++ .../DoubleToBigDecimalConverterTest.java | 5 +--- .../convert/FileListConverterTest.java | 9 ++---- .../FloatToBigDecimalConverterTest.java | 5 +--- .../convert/FloatToDoubleConverterTest.java | 5 +--- .../IntegerToBigDecimalConverterTest.java | 5 +--- .../IntegerToBigIntegerConverterTest.java | 5 +--- .../convert/IntegerToDoubleConverterTest.java | 5 +--- .../convert/IntegerToLongConverterTest.java | 5 +--- .../LongToBigDecimalConverterTest.java | 5 +--- .../LongToBigIntegerConverterTest.java | 5 +--- .../ShortToBigDecimalConverterTest.java | 5 +--- .../ShortToBigIntegerConverterTest.java | 5 +--- .../convert/ShortToDoubleConverterTest.java | 5 +--- .../convert/ShortToFloatConverterTest.java | 5 +--- .../convert/ShortToIntegerConverterTest.java | 5 +--- .../convert/ShortToLongConverterTest.java | 5 +--- .../java/org/scijava/display/DisplayTest.java | 5 +--- .../scijava/download/DownloadServiceTest.java | 5 +--- .../org/scijava/event/EventServiceTest.java | 5 +--- .../org/scijava/io/ByteArrayByteBankTest.java | 5 +--- .../java/org/scijava/io/ByteBankTest.java | 9 ++---- .../scijava/io/handle/BytesHandleTest.java | 5 +--- .../io/handle/DataHandleEdgeCaseTests.java | 5 +--- .../org/scijava/io/handle/DataHandleTest.java | 5 +--- .../scijava/io/handle/DataHandlesTest.java | 5 +--- .../org/scijava/io/handle/FileHandleTest.java | 5 +--- .../handle/ReadBufferDataHandleMockTest.java | 28 +++++++++++++++++++ .../io/handle/ReadBufferDataHandleTest.java | 9 ++---- .../io/handle/WriteBufferDataHandleTest.java | 9 ++---- .../io/location/BytesLocationTest.java | 9 ++---- .../io/location/FileLocationResolverTest.java | 9 ++---- .../scijava/io/location/FileLocationTest.java | 5 +--- .../io/location/LocationServiceTest.java | 9 ++---- .../scijava/io/location/URILocationTest.java | 5 +--- .../scijava/io/location/URLLocationTest.java | 5 +--- .../io/nio/ByteBufferByteBankTest.java | 5 +--- .../scijava/log/CallingClassUtilsTest.java | 8 ++---- .../org/scijava/log/DefaultLoggerTest.java | 8 ++---- .../java/org/scijava/log/LogMessageTest.java | 8 ++---- .../java/org/scijava/log/LogServiceTest.java | 28 +++++++++++++++++++ .../java/org/scijava/log/LogSourceTest.java | 10 +++---- .../org/scijava/log/StderrLogServiceTest.java | 5 +--- .../java/org/scijava/log/TestLogListener.java | 8 ++---- .../org/scijava/main/MainServiceTest.java | 5 +--- .../scijava/main/run/MainCodeRunnerTest.java | 5 +--- .../org/scijava/menu/MenuServiceTest.java | 5 +--- .../java/org/scijava/menu/ShadowMenuTest.java | 5 +--- .../org/scijava/module/ModuleServiceTest.java | 5 +--- .../process/LoggerPreprocessorTest.java | 8 ++---- .../module/run/ModuleCodeRunnerTest.java | 5 +--- .../scijava/object/NamedObjectIndexTest.java | 28 +++++++++++++++++++ .../org/scijava/object/ObjectIndexTest.java | 5 +--- .../org/scijava/object/ObjectServiceTest.java | 28 +++++++++++++++++++ .../scijava/object/SortedObjectIndexTest.java | 5 +--- .../java/org/scijava/options/OptionsTest.java | 5 +--- .../org/scijava/parse/ParseServiceTest.java | 5 +--- .../org/scijava/plugin/PluginFinderTest.java | 5 +--- .../org/scijava/plugin/PluginIndexTest.java | 5 +--- .../org/scijava/plugin/PluginInfoTest.java | 5 +--- .../scijava/plugin/SingletonServiceTest.java | 9 ++---- .../org/scijava/prefs/PrefServiceTest.java | 5 +--- .../java/org/scijava/run/RunServiceTest.java | 5 +--- .../script/AbstractScriptLanguageTest.java | 5 +--- .../org/scijava/script/ScriptEngineTest.java | 5 +--- .../org/scijava/script/ScriptFinderTest.java | 5 +--- .../org/scijava/script/ScriptInfoTest.java | 5 +--- .../org/scijava/script/ScriptServiceTest.java | 5 +--- .../org/scijava/service/ServiceIndexTest.java | 5 +--- .../org/scijava/task/TaskServiceTest.java | 5 +--- .../org/scijava/test/AbstractSciJavaTest.java | 5 +--- .../java/org/scijava/test/TestUtilsTest.java | 5 +--- .../org/scijava/thread/ThreadServiceTest.java | 5 +--- .../java/org/scijava/ui/UIServiceTest.java | 5 +--- .../java/org/scijava/util/AppUtilsTest.java | 5 +--- .../java/org/scijava/util/ArrayUtilsTest.java | 5 +--- .../java/org/scijava/util/BoolArrayTest.java | 5 +--- .../java/org/scijava/util/ByteArrayTest.java | 5 +--- .../java/org/scijava/util/CharArrayTest.java | 5 +--- .../java/org/scijava/util/ClassUtilsTest.java | 5 +--- .../java/org/scijava/util/ColorRGBTest.java | 5 +--- .../org/scijava/util/ConversionUtilsTest.java | 5 +--- .../org/scijava/util/DigestUtilsTest.java | 5 +--- .../org/scijava/util/DoubleArrayTest.java | 5 +--- .../java/org/scijava/util/FileUtilsTest.java | 5 +--- .../java/org/scijava/util/FloatArrayTest.java | 5 +--- .../java/org/scijava/util/IntArrayTest.java | 5 +--- .../scijava/util/LastRecentlyUsedTest.java | 5 +--- .../java/org/scijava/util/LongArrayTest.java | 5 +--- .../org/scijava/util/ObjectArrayTest.java | 5 +--- src/test/java/org/scijava/util/POMTest.java | 5 +--- .../org/scijava/util/PrimitiveArrayTest.java | 5 +--- .../org/scijava/util/ProcessUtilsTest.java | 5 +--- .../java/org/scijava/util/ShortArrayTest.java | 5 +--- .../org/scijava/util/StringUtilsTest.java | 5 +--- src/test/java/org/scijava/util/TypesTest.java | 5 +--- .../java/org/scijava/util/UnitUtilsTest.java | 5 +--- .../org/scijava/util/VersionUtilsTest.java | 5 +--- 725 files changed, 973 insertions(+), 2910 deletions(-) diff --git a/LICENSE.txt b/LICENSE.txt index 82d98ebc1..7d75d811c 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,7 +1,4 @@ -Copyright (c) 2009 - 2017, Board of Regents of the University of -Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck -Institute of Molecular Cell Biology and Genetics, University of -Konstanz, and KNIME GmbH. +Copyright (c) 2009 - 2020, SciJava developers. All rights reserved. Redistribution and use in source and binary forms, with or without modification, diff --git a/pom.xml b/pom.xml index af5be4f60..649edcae2 100644 --- a/pom.xml +++ b/pom.xml @@ -158,10 +158,7 @@ bsd_2 SciJava Common shared library for SciJava software. - Board of Regents of the University of -Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck -Institute of Molecular Cell Biology and Genetics, University of -Konstanz, and KNIME GmbH. + SciJava developers. 2.0.0 diff --git a/src/it/apt-test/pom.xml b/src/it/apt-test/pom.xml index 1647ef3ed..f250325d7 100644 --- a/src/it/apt-test/pom.xml +++ b/src/it/apt-test/pom.xml @@ -3,10 +3,7 @@ #%L SciJava Common shared library for SciJava software. %% - Copyright (C) 2009 - 2017 Board of Regents of the University of - Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - Institute of Molecular Cell Biology and Genetics, University of - Konstanz, and KNIME GmbH. + Copyright (C) 2009 - 2020 SciJava developers. %% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: diff --git a/src/it/apt-test/setup.bsh b/src/it/apt-test/setup.bsh index 563bf2b67..a2a1dab92 100644 --- a/src/it/apt-test/setup.bsh +++ b/src/it/apt-test/setup.bsh @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/it/apt-test/src/main/java/org/scijava/annotation/its/Annotated.java b/src/it/apt-test/src/main/java/org/scijava/annotation/its/Annotated.java index aeb8b9cd5..d7322e748 100644 --- a/src/it/apt-test/src/main/java/org/scijava/annotation/its/Annotated.java +++ b/src/it/apt-test/src/main/java/org/scijava/annotation/its/Annotated.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/it/apt-test/src/main/java/org/scijava/annotation/its/CustomAnnotation.java b/src/it/apt-test/src/main/java/org/scijava/annotation/its/CustomAnnotation.java index 1ef8c4510..bf204259b 100644 --- a/src/it/apt-test/src/main/java/org/scijava/annotation/its/CustomAnnotation.java +++ b/src/it/apt-test/src/main/java/org/scijava/annotation/its/CustomAnnotation.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/it/apt-test/verify.bsh b/src/it/apt-test/verify.bsh index 84696a531..66d036d7b 100644 --- a/src/it/apt-test/verify.bsh +++ b/src/it/apt-test/verify.bsh @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/it/settings.xml b/src/it/settings.xml index f7dc233e8..d5b5c19c7 100644 --- a/src/it/settings.xml +++ b/src/it/settings.xml @@ -3,10 +3,7 @@ #%L SciJava Common shared library for SciJava software. %% - Copyright (C) 2009 - 2017 Board of Regents of the University of - Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - Institute of Molecular Cell Biology and Genetics, University of - Konstanz, and KNIME GmbH. + Copyright (C) 2009 - 2020 SciJava developers. %% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/AbstractBasicDetails.java b/src/main/java/org/scijava/AbstractBasicDetails.java index a956f0b48..e8f52a049 100644 --- a/src/main/java/org/scijava/AbstractBasicDetails.java +++ b/src/main/java/org/scijava/AbstractBasicDetails.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/AbstractContextual.java b/src/main/java/org/scijava/AbstractContextual.java index d11fb2c6f..647ea1d97 100644 --- a/src/main/java/org/scijava/AbstractContextual.java +++ b/src/main/java/org/scijava/AbstractContextual.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/AbstractGateway.java b/src/main/java/org/scijava/AbstractGateway.java index 4a4e89332..5c3dbd446 100644 --- a/src/main/java/org/scijava/AbstractGateway.java +++ b/src/main/java/org/scijava/AbstractGateway.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/AbstractUIDetails.java b/src/main/java/org/scijava/AbstractUIDetails.java index 6627efa85..3d86efba7 100644 --- a/src/main/java/org/scijava/AbstractUIDetails.java +++ b/src/main/java/org/scijava/AbstractUIDetails.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/BasicDetails.java b/src/main/java/org/scijava/BasicDetails.java index 98884ff15..454929e6b 100644 --- a/src/main/java/org/scijava/BasicDetails.java +++ b/src/main/java/org/scijava/BasicDetails.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Cancelable.java b/src/main/java/org/scijava/Cancelable.java index fd8aae923..968b66586 100644 --- a/src/main/java/org/scijava/Cancelable.java +++ b/src/main/java/org/scijava/Cancelable.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Context.java b/src/main/java/org/scijava/Context.java index b53749e0d..638230db1 100644 --- a/src/main/java/org/scijava/Context.java +++ b/src/main/java/org/scijava/Context.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Contextual.java b/src/main/java/org/scijava/Contextual.java index 682abfefe..416f03ff9 100644 --- a/src/main/java/org/scijava/Contextual.java +++ b/src/main/java/org/scijava/Contextual.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Disposable.java b/src/main/java/org/scijava/Disposable.java index 9ec7aeec2..df22b8ec8 100644 --- a/src/main/java/org/scijava/Disposable.java +++ b/src/main/java/org/scijava/Disposable.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Gateway.java b/src/main/java/org/scijava/Gateway.java index 9e06d2398..59fe12810 100644 --- a/src/main/java/org/scijava/Gateway.java +++ b/src/main/java/org/scijava/Gateway.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Identifiable.java b/src/main/java/org/scijava/Identifiable.java index 0d88f23a4..512d69b11 100644 --- a/src/main/java/org/scijava/Identifiable.java +++ b/src/main/java/org/scijava/Identifiable.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Initializable.java b/src/main/java/org/scijava/Initializable.java index c29b5fb0b..efa9854ab 100644 --- a/src/main/java/org/scijava/Initializable.java +++ b/src/main/java/org/scijava/Initializable.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Instantiable.java b/src/main/java/org/scijava/Instantiable.java index d67cf1298..85480ad34 100644 --- a/src/main/java/org/scijava/Instantiable.java +++ b/src/main/java/org/scijava/Instantiable.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/InstantiableException.java b/src/main/java/org/scijava/InstantiableException.java index 7b1f55900..c3904f7b4 100644 --- a/src/main/java/org/scijava/InstantiableException.java +++ b/src/main/java/org/scijava/InstantiableException.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ItemIO.java b/src/main/java/org/scijava/ItemIO.java index febcc8629..eacc23958 100644 --- a/src/main/java/org/scijava/ItemIO.java +++ b/src/main/java/org/scijava/ItemIO.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ItemVisibility.java b/src/main/java/org/scijava/ItemVisibility.java index da4e594d4..749e91ae3 100644 --- a/src/main/java/org/scijava/ItemVisibility.java +++ b/src/main/java/org/scijava/ItemVisibility.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Locatable.java b/src/main/java/org/scijava/Locatable.java index c9b0e7039..e855158ab 100644 --- a/src/main/java/org/scijava/Locatable.java +++ b/src/main/java/org/scijava/Locatable.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/MenuEntry.java b/src/main/java/org/scijava/MenuEntry.java index e29db087b..d8ca1961a 100644 --- a/src/main/java/org/scijava/MenuEntry.java +++ b/src/main/java/org/scijava/MenuEntry.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/MenuPath.java b/src/main/java/org/scijava/MenuPath.java index 26b732e17..d18d5045f 100644 --- a/src/main/java/org/scijava/MenuPath.java +++ b/src/main/java/org/scijava/MenuPath.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Named.java b/src/main/java/org/scijava/Named.java index f97542944..b30c410a1 100644 --- a/src/main/java/org/scijava/Named.java +++ b/src/main/java/org/scijava/Named.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/NoSuchServiceException.java b/src/main/java/org/scijava/NoSuchServiceException.java index bf2bc79f6..e19a58270 100644 --- a/src/main/java/org/scijava/NoSuchServiceException.java +++ b/src/main/java/org/scijava/NoSuchServiceException.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/NullContextException.java b/src/main/java/org/scijava/NullContextException.java index c0509c937..e3eb1c731 100644 --- a/src/main/java/org/scijava/NullContextException.java +++ b/src/main/java/org/scijava/NullContextException.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Optional.java b/src/main/java/org/scijava/Optional.java index c96fc8892..570991bb8 100644 --- a/src/main/java/org/scijava/Optional.java +++ b/src/main/java/org/scijava/Optional.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Prioritized.java b/src/main/java/org/scijava/Prioritized.java index 13f6f600c..a3b9b7223 100644 --- a/src/main/java/org/scijava/Prioritized.java +++ b/src/main/java/org/scijava/Prioritized.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Priority.java b/src/main/java/org/scijava/Priority.java index 628904e36..61776fff4 100644 --- a/src/main/java/org/scijava/Priority.java +++ b/src/main/java/org/scijava/Priority.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/SciJava.java b/src/main/java/org/scijava/SciJava.java index befdc46d3..f41be8bbe 100644 --- a/src/main/java/org/scijava/SciJava.java +++ b/src/main/java/org/scijava/SciJava.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Typed.java b/src/main/java/org/scijava/Typed.java index a5e28f0df..26d2ef9e2 100644 --- a/src/main/java/org/scijava/Typed.java +++ b/src/main/java/org/scijava/Typed.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/UIDetails.java b/src/main/java/org/scijava/UIDetails.java index 998742226..49b508347 100644 --- a/src/main/java/org/scijava/UIDetails.java +++ b/src/main/java/org/scijava/UIDetails.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Validated.java b/src/main/java/org/scijava/Validated.java index efa4acf93..cd2c8c04e 100644 --- a/src/main/java/org/scijava/Validated.java +++ b/src/main/java/org/scijava/Validated.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ValidityProblem.java b/src/main/java/org/scijava/ValidityProblem.java index 10e8bf159..9c31dd435 100644 --- a/src/main/java/org/scijava/ValidityProblem.java +++ b/src/main/java/org/scijava/ValidityProblem.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Versioned.java b/src/main/java/org/scijava/Versioned.java index 36aabaea6..e14786fd2 100644 --- a/src/main/java/org/scijava/Versioned.java +++ b/src/main/java/org/scijava/Versioned.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/AbstractIndexWriter.java b/src/main/java/org/scijava/annotations/AbstractIndexWriter.java index c87d1da55..5d3749e9d 100644 --- a/src/main/java/org/scijava/annotations/AbstractIndexWriter.java +++ b/src/main/java/org/scijava/annotations/AbstractIndexWriter.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/AnnotationCombiner.java b/src/main/java/org/scijava/annotations/AnnotationCombiner.java index 8e4ae8a34..3855ed454 100644 --- a/src/main/java/org/scijava/annotations/AnnotationCombiner.java +++ b/src/main/java/org/scijava/annotations/AnnotationCombiner.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/AnnotationProcessor.java b/src/main/java/org/scijava/annotations/AnnotationProcessor.java index 8982527e0..5e8c1febc 100644 --- a/src/main/java/org/scijava/annotations/AnnotationProcessor.java +++ b/src/main/java/org/scijava/annotations/AnnotationProcessor.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/ByteCodeAnalyzer.java b/src/main/java/org/scijava/annotations/ByteCodeAnalyzer.java index 7ef216860..88e4229be 100644 --- a/src/main/java/org/scijava/annotations/ByteCodeAnalyzer.java +++ b/src/main/java/org/scijava/annotations/ByteCodeAnalyzer.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/DirectoryIndexer.java b/src/main/java/org/scijava/annotations/DirectoryIndexer.java index 145252203..8b5650e48 100644 --- a/src/main/java/org/scijava/annotations/DirectoryIndexer.java +++ b/src/main/java/org/scijava/annotations/DirectoryIndexer.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/EclipseHelper.java b/src/main/java/org/scijava/annotations/EclipseHelper.java index 31584568a..72c521ead 100644 --- a/src/main/java/org/scijava/annotations/EclipseHelper.java +++ b/src/main/java/org/scijava/annotations/EclipseHelper.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/Index.java b/src/main/java/org/scijava/annotations/Index.java index 23348cd80..6507152be 100644 --- a/src/main/java/org/scijava/annotations/Index.java +++ b/src/main/java/org/scijava/annotations/Index.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/IndexItem.java b/src/main/java/org/scijava/annotations/IndexItem.java index b047e8075..34956a4f6 100644 --- a/src/main/java/org/scijava/annotations/IndexItem.java +++ b/src/main/java/org/scijava/annotations/IndexItem.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/IndexReader.java b/src/main/java/org/scijava/annotations/IndexReader.java index d716978ae..32ac714e5 100644 --- a/src/main/java/org/scijava/annotations/IndexReader.java +++ b/src/main/java/org/scijava/annotations/IndexReader.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/Indexable.java b/src/main/java/org/scijava/annotations/Indexable.java index 2916d0a78..2c72f011c 100644 --- a/src/main/java/org/scijava/annotations/Indexable.java +++ b/src/main/java/org/scijava/annotations/Indexable.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/legacy/LegacyReader.java b/src/main/java/org/scijava/annotations/legacy/LegacyReader.java index 11d0929aa..44aa9dd49 100644 --- a/src/main/java/org/scijava/annotations/legacy/LegacyReader.java +++ b/src/main/java/org/scijava/annotations/legacy/LegacyReader.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/app/AbstractApp.java b/src/main/java/org/scijava/app/AbstractApp.java index 14003cc24..f4d5f9d8e 100644 --- a/src/main/java/org/scijava/app/AbstractApp.java +++ b/src/main/java/org/scijava/app/AbstractApp.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/app/App.java b/src/main/java/org/scijava/app/App.java index 641c12778..c4d2515af 100644 --- a/src/main/java/org/scijava/app/App.java +++ b/src/main/java/org/scijava/app/App.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/app/AppService.java b/src/main/java/org/scijava/app/AppService.java index 34c3dc4b9..cdf4bbdf0 100644 --- a/src/main/java/org/scijava/app/AppService.java +++ b/src/main/java/org/scijava/app/AppService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/app/DefaultAppService.java b/src/main/java/org/scijava/app/DefaultAppService.java index 918501003..40f7816fa 100644 --- a/src/main/java/org/scijava/app/DefaultAppService.java +++ b/src/main/java/org/scijava/app/DefaultAppService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/app/DefaultStatusService.java b/src/main/java/org/scijava/app/DefaultStatusService.java index a58987ed2..0fab08453 100644 --- a/src/main/java/org/scijava/app/DefaultStatusService.java +++ b/src/main/java/org/scijava/app/DefaultStatusService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/app/SciJavaApp.java b/src/main/java/org/scijava/app/SciJavaApp.java index 6cb97fb8b..32bf3f5e2 100644 --- a/src/main/java/org/scijava/app/SciJavaApp.java +++ b/src/main/java/org/scijava/app/SciJavaApp.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/app/StatusService.java b/src/main/java/org/scijava/app/StatusService.java index c0f20dd08..2748361e1 100644 --- a/src/main/java/org/scijava/app/StatusService.java +++ b/src/main/java/org/scijava/app/StatusService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/app/event/StatusEvent.java b/src/main/java/org/scijava/app/event/StatusEvent.java index 1866e18a6..e94ad4eb1 100644 --- a/src/main/java/org/scijava/app/event/StatusEvent.java +++ b/src/main/java/org/scijava/app/event/StatusEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/cache/CacheService.java b/src/main/java/org/scijava/cache/CacheService.java index 24c592a0f..2cae0d038 100644 --- a/src/main/java/org/scijava/cache/CacheService.java +++ b/src/main/java/org/scijava/cache/CacheService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/cache/DefaultCacheService.java b/src/main/java/org/scijava/cache/DefaultCacheService.java index 4111a45a6..0b4242720 100644 --- a/src/main/java/org/scijava/cache/DefaultCacheService.java +++ b/src/main/java/org/scijava/cache/DefaultCacheService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/Command.java b/src/main/java/org/scijava/command/Command.java index 1843cf1be..66c9decca 100644 --- a/src/main/java/org/scijava/command/Command.java +++ b/src/main/java/org/scijava/command/Command.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/CommandInfo.java b/src/main/java/org/scijava/command/CommandInfo.java index 4acc3f163..8d843d457 100644 --- a/src/main/java/org/scijava/command/CommandInfo.java +++ b/src/main/java/org/scijava/command/CommandInfo.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/CommandModule.java b/src/main/java/org/scijava/command/CommandModule.java index b675c59a5..3cff108b9 100644 --- a/src/main/java/org/scijava/command/CommandModule.java +++ b/src/main/java/org/scijava/command/CommandModule.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/CommandModuleItem.java b/src/main/java/org/scijava/command/CommandModuleItem.java index 862bc3643..7be4d3e9f 100644 --- a/src/main/java/org/scijava/command/CommandModuleItem.java +++ b/src/main/java/org/scijava/command/CommandModuleItem.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/CommandService.java b/src/main/java/org/scijava/command/CommandService.java index 589da8fe8..9caa8a956 100644 --- a/src/main/java/org/scijava/command/CommandService.java +++ b/src/main/java/org/scijava/command/CommandService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/ContextCommand.java b/src/main/java/org/scijava/command/ContextCommand.java index 2754d4f7f..a804b41a5 100644 --- a/src/main/java/org/scijava/command/ContextCommand.java +++ b/src/main/java/org/scijava/command/ContextCommand.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/DefaultCommandService.java b/src/main/java/org/scijava/command/DefaultCommandService.java index ca8c412d1..86abd98c9 100644 --- a/src/main/java/org/scijava/command/DefaultCommandService.java +++ b/src/main/java/org/scijava/command/DefaultCommandService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/DynamicCommand.java b/src/main/java/org/scijava/command/DynamicCommand.java index a8bf63220..695969c7d 100644 --- a/src/main/java/org/scijava/command/DynamicCommand.java +++ b/src/main/java/org/scijava/command/DynamicCommand.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/DynamicCommandInfo.java b/src/main/java/org/scijava/command/DynamicCommandInfo.java index a45f4b1ac..4296ec7e1 100644 --- a/src/main/java/org/scijava/command/DynamicCommandInfo.java +++ b/src/main/java/org/scijava/command/DynamicCommandInfo.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/Interactive.java b/src/main/java/org/scijava/command/Interactive.java index 74ad4cfee..864d9ba5e 100644 --- a/src/main/java/org/scijava/command/Interactive.java +++ b/src/main/java/org/scijava/command/Interactive.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/InteractiveCommand.java b/src/main/java/org/scijava/command/InteractiveCommand.java index d02e0d7d9..ed52be5df 100644 --- a/src/main/java/org/scijava/command/InteractiveCommand.java +++ b/src/main/java/org/scijava/command/InteractiveCommand.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/ModuleCommand.java b/src/main/java/org/scijava/command/ModuleCommand.java index 4abc0fee1..e51acee46 100644 --- a/src/main/java/org/scijava/command/ModuleCommand.java +++ b/src/main/java/org/scijava/command/ModuleCommand.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/Previewable.java b/src/main/java/org/scijava/command/Previewable.java index 8ee57832d..211ad5033 100644 --- a/src/main/java/org/scijava/command/Previewable.java +++ b/src/main/java/org/scijava/command/Previewable.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/UnimplementedCommand.java b/src/main/java/org/scijava/command/UnimplementedCommand.java index 74530bcec..1b9e0cb49 100644 --- a/src/main/java/org/scijava/command/UnimplementedCommand.java +++ b/src/main/java/org/scijava/command/UnimplementedCommand.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/console/RunArgument.java b/src/main/java/org/scijava/command/console/RunArgument.java index a6673e243..770ba3366 100644 --- a/src/main/java/org/scijava/command/console/RunArgument.java +++ b/src/main/java/org/scijava/command/console/RunArgument.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/run/CommandCodeRunner.java b/src/main/java/org/scijava/command/run/CommandCodeRunner.java index 25024e0da..863c404ef 100644 --- a/src/main/java/org/scijava/command/run/CommandCodeRunner.java +++ b/src/main/java/org/scijava/command/run/CommandCodeRunner.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/AbstractConsoleArgument.java b/src/main/java/org/scijava/console/AbstractConsoleArgument.java index cde13bf0d..21cb3883c 100644 --- a/src/main/java/org/scijava/console/AbstractConsoleArgument.java +++ b/src/main/java/org/scijava/console/AbstractConsoleArgument.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/ConsoleArgument.java b/src/main/java/org/scijava/console/ConsoleArgument.java index 4e645ced5..06834e22c 100644 --- a/src/main/java/org/scijava/console/ConsoleArgument.java +++ b/src/main/java/org/scijava/console/ConsoleArgument.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/ConsoleService.java b/src/main/java/org/scijava/console/ConsoleService.java index f5bd055a8..1a9fdc3d9 100644 --- a/src/main/java/org/scijava/console/ConsoleService.java +++ b/src/main/java/org/scijava/console/ConsoleService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/ConsoleUtils.java b/src/main/java/org/scijava/console/ConsoleUtils.java index 6b366a860..eab050323 100644 --- a/src/main/java/org/scijava/console/ConsoleUtils.java +++ b/src/main/java/org/scijava/console/ConsoleUtils.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/DefaultConsoleService.java b/src/main/java/org/scijava/console/DefaultConsoleService.java index 8783e1eb9..b30bdd2e7 100644 --- a/src/main/java/org/scijava/console/DefaultConsoleService.java +++ b/src/main/java/org/scijava/console/DefaultConsoleService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/MultiOutputStream.java b/src/main/java/org/scijava/console/MultiOutputStream.java index d1f380f20..84c3e9a82 100644 --- a/src/main/java/org/scijava/console/MultiOutputStream.java +++ b/src/main/java/org/scijava/console/MultiOutputStream.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/MultiPrintStream.java b/src/main/java/org/scijava/console/MultiPrintStream.java index 659f52b9f..80224eb76 100644 --- a/src/main/java/org/scijava/console/MultiPrintStream.java +++ b/src/main/java/org/scijava/console/MultiPrintStream.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/OutputEvent.java b/src/main/java/org/scijava/console/OutputEvent.java index 663d51de7..5255a41be 100644 --- a/src/main/java/org/scijava/console/OutputEvent.java +++ b/src/main/java/org/scijava/console/OutputEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/OutputListener.java b/src/main/java/org/scijava/console/OutputListener.java index f3657c1ca..895ba73a5 100644 --- a/src/main/java/org/scijava/console/OutputListener.java +++ b/src/main/java/org/scijava/console/OutputListener.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/SystemPropertyArgument.java b/src/main/java/org/scijava/console/SystemPropertyArgument.java index c174d5aec..725fbe44c 100644 --- a/src/main/java/org/scijava/console/SystemPropertyArgument.java +++ b/src/main/java/org/scijava/console/SystemPropertyArgument.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/AbstractConvertService.java b/src/main/java/org/scijava/convert/AbstractConvertService.java index c9a79dc53..5bc2d5d3b 100644 --- a/src/main/java/org/scijava/convert/AbstractConvertService.java +++ b/src/main/java/org/scijava/convert/AbstractConvertService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/AbstractConverter.java b/src/main/java/org/scijava/convert/AbstractConverter.java index 2c6b4165c..08699df4f 100644 --- a/src/main/java/org/scijava/convert/AbstractConverter.java +++ b/src/main/java/org/scijava/convert/AbstractConverter.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/AbstractDelegateConverter.java b/src/main/java/org/scijava/convert/AbstractDelegateConverter.java index 11c6e3173..047c9070e 100644 --- a/src/main/java/org/scijava/convert/AbstractDelegateConverter.java +++ b/src/main/java/org/scijava/convert/AbstractDelegateConverter.java @@ -1,3 +1,31 @@ +/*- + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2020 SciJava developers. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ package org.scijava.convert; diff --git a/src/main/java/org/scijava/convert/ArrayConverters.java b/src/main/java/org/scijava/convert/ArrayConverters.java index 70b0d927c..0ed8136e8 100644 --- a/src/main/java/org/scijava/convert/ArrayConverters.java +++ b/src/main/java/org/scijava/convert/ArrayConverters.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/CastingConverter.java b/src/main/java/org/scijava/convert/CastingConverter.java index 77f5479eb..71a5b3d87 100644 --- a/src/main/java/org/scijava/convert/CastingConverter.java +++ b/src/main/java/org/scijava/convert/CastingConverter.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/ConversionRequest.java b/src/main/java/org/scijava/convert/ConversionRequest.java index 409af735f..173733bc6 100644 --- a/src/main/java/org/scijava/convert/ConversionRequest.java +++ b/src/main/java/org/scijava/convert/ConversionRequest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/ConvertService.java b/src/main/java/org/scijava/convert/ConvertService.java index 49bf952ee..2ae80eb74 100644 --- a/src/main/java/org/scijava/convert/ConvertService.java +++ b/src/main/java/org/scijava/convert/ConvertService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/Converter.java b/src/main/java/org/scijava/convert/Converter.java index 195fa4b07..687f1f80f 100644 --- a/src/main/java/org/scijava/convert/Converter.java +++ b/src/main/java/org/scijava/convert/Converter.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/DefaultConvertService.java b/src/main/java/org/scijava/convert/DefaultConvertService.java index 2176e0398..023f3f2a3 100644 --- a/src/main/java/org/scijava/convert/DefaultConvertService.java +++ b/src/main/java/org/scijava/convert/DefaultConvertService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/DefaultConverter.java b/src/main/java/org/scijava/convert/DefaultConverter.java index f065627cf..b7a30e12d 100644 --- a/src/main/java/org/scijava/convert/DefaultConverter.java +++ b/src/main/java/org/scijava/convert/DefaultConverter.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/FileListConverters.java b/src/main/java/org/scijava/convert/FileListConverters.java index 386279774..87ef0b625 100644 --- a/src/main/java/org/scijava/convert/FileListConverters.java +++ b/src/main/java/org/scijava/convert/FileListConverters.java @@ -2,20 +2,17 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE diff --git a/src/main/java/org/scijava/convert/NullConverter.java b/src/main/java/org/scijava/convert/NullConverter.java index cc3977d8a..fee7fd868 100644 --- a/src/main/java/org/scijava/convert/NullConverter.java +++ b/src/main/java/org/scijava/convert/NullConverter.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberConverters.java b/src/main/java/org/scijava/convert/NumberConverters.java index e7827463f..f5b290f7a 100644 --- a/src/main/java/org/scijava/convert/NumberConverters.java +++ b/src/main/java/org/scijava/convert/NumberConverters.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberToBigDecimalConverter.java b/src/main/java/org/scijava/convert/NumberToBigDecimalConverter.java index 74f4fecb1..d478b3a52 100644 --- a/src/main/java/org/scijava/convert/NumberToBigDecimalConverter.java +++ b/src/main/java/org/scijava/convert/NumberToBigDecimalConverter.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberToBigIntegerConverter.java b/src/main/java/org/scijava/convert/NumberToBigIntegerConverter.java index daf688867..8f9809beb 100644 --- a/src/main/java/org/scijava/convert/NumberToBigIntegerConverter.java +++ b/src/main/java/org/scijava/convert/NumberToBigIntegerConverter.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberToDoubleConverter.java b/src/main/java/org/scijava/convert/NumberToDoubleConverter.java index 49bd310aa..4476c7c39 100644 --- a/src/main/java/org/scijava/convert/NumberToDoubleConverter.java +++ b/src/main/java/org/scijava/convert/NumberToDoubleConverter.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberToFloatConverter.java b/src/main/java/org/scijava/convert/NumberToFloatConverter.java index dacd8496c..46e2ebdbc 100644 --- a/src/main/java/org/scijava/convert/NumberToFloatConverter.java +++ b/src/main/java/org/scijava/convert/NumberToFloatConverter.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberToIntegerConverter.java b/src/main/java/org/scijava/convert/NumberToIntegerConverter.java index 5d43e22a1..0bd5fd940 100644 --- a/src/main/java/org/scijava/convert/NumberToIntegerConverter.java +++ b/src/main/java/org/scijava/convert/NumberToIntegerConverter.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberToLongConverter.java b/src/main/java/org/scijava/convert/NumberToLongConverter.java index e22864ed6..9cf6119cf 100644 --- a/src/main/java/org/scijava/convert/NumberToLongConverter.java +++ b/src/main/java/org/scijava/convert/NumberToLongConverter.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberToNumberConverter.java b/src/main/java/org/scijava/convert/NumberToNumberConverter.java index 31e3358e6..185a05cc5 100644 --- a/src/main/java/org/scijava/convert/NumberToNumberConverter.java +++ b/src/main/java/org/scijava/convert/NumberToNumberConverter.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberToShortConverter.java b/src/main/java/org/scijava/convert/NumberToShortConverter.java index 1714eeae0..28685a49e 100644 --- a/src/main/java/org/scijava/convert/NumberToShortConverter.java +++ b/src/main/java/org/scijava/convert/NumberToShortConverter.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/PrimitiveArrayUnwrapper.java b/src/main/java/org/scijava/convert/PrimitiveArrayUnwrapper.java index d407fcb99..98d2968bb 100644 --- a/src/main/java/org/scijava/convert/PrimitiveArrayUnwrapper.java +++ b/src/main/java/org/scijava/convert/PrimitiveArrayUnwrapper.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/PrimitiveArrayWrapper.java b/src/main/java/org/scijava/convert/PrimitiveArrayWrapper.java index 46a07a4ed..b7e2bffbb 100644 --- a/src/main/java/org/scijava/convert/PrimitiveArrayWrapper.java +++ b/src/main/java/org/scijava/convert/PrimitiveArrayWrapper.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/AbstractDisplay.java b/src/main/java/org/scijava/display/AbstractDisplay.java index f4eff12aa..53d48f526 100644 --- a/src/main/java/org/scijava/display/AbstractDisplay.java +++ b/src/main/java/org/scijava/display/AbstractDisplay.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/ActiveDisplayPreprocessor.java b/src/main/java/org/scijava/display/ActiveDisplayPreprocessor.java index 58d41b983..acb44807c 100644 --- a/src/main/java/org/scijava/display/ActiveDisplayPreprocessor.java +++ b/src/main/java/org/scijava/display/ActiveDisplayPreprocessor.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/DefaultDisplay.java b/src/main/java/org/scijava/display/DefaultDisplay.java index 542a88f5b..03ecfdf8e 100644 --- a/src/main/java/org/scijava/display/DefaultDisplay.java +++ b/src/main/java/org/scijava/display/DefaultDisplay.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/DefaultDisplayService.java b/src/main/java/org/scijava/display/DefaultDisplayService.java index a8e0e6ade..9875f381a 100644 --- a/src/main/java/org/scijava/display/DefaultDisplayService.java +++ b/src/main/java/org/scijava/display/DefaultDisplayService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/DefaultTextDisplay.java b/src/main/java/org/scijava/display/DefaultTextDisplay.java index 35d9285ec..9b1344f1e 100644 --- a/src/main/java/org/scijava/display/DefaultTextDisplay.java +++ b/src/main/java/org/scijava/display/DefaultTextDisplay.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/Display.java b/src/main/java/org/scijava/display/Display.java index e51c819bf..aea51db20 100644 --- a/src/main/java/org/scijava/display/Display.java +++ b/src/main/java/org/scijava/display/Display.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/DisplayPostprocessor.java b/src/main/java/org/scijava/display/DisplayPostprocessor.java index 0bfdfd77b..71dd23651 100644 --- a/src/main/java/org/scijava/display/DisplayPostprocessor.java +++ b/src/main/java/org/scijava/display/DisplayPostprocessor.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/DisplayService.java b/src/main/java/org/scijava/display/DisplayService.java index 204b72608..df6402848 100644 --- a/src/main/java/org/scijava/display/DisplayService.java +++ b/src/main/java/org/scijava/display/DisplayService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/Displayable.java b/src/main/java/org/scijava/display/Displayable.java index c57d69244..2a3d401ab 100644 --- a/src/main/java/org/scijava/display/Displayable.java +++ b/src/main/java/org/scijava/display/Displayable.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/TextDisplay.java b/src/main/java/org/scijava/display/TextDisplay.java index 46be07e94..133dbe33c 100644 --- a/src/main/java/org/scijava/display/TextDisplay.java +++ b/src/main/java/org/scijava/display/TextDisplay.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/DisplayActivatedEvent.java b/src/main/java/org/scijava/display/event/DisplayActivatedEvent.java index 4edf3e210..b2fdcdc3e 100644 --- a/src/main/java/org/scijava/display/event/DisplayActivatedEvent.java +++ b/src/main/java/org/scijava/display/event/DisplayActivatedEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/DisplayCreatedEvent.java b/src/main/java/org/scijava/display/event/DisplayCreatedEvent.java index 56202566b..cc31035d2 100644 --- a/src/main/java/org/scijava/display/event/DisplayCreatedEvent.java +++ b/src/main/java/org/scijava/display/event/DisplayCreatedEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/DisplayDeletedEvent.java b/src/main/java/org/scijava/display/event/DisplayDeletedEvent.java index 30a461d51..e9c2d2591 100644 --- a/src/main/java/org/scijava/display/event/DisplayDeletedEvent.java +++ b/src/main/java/org/scijava/display/event/DisplayDeletedEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/DisplayEvent.java b/src/main/java/org/scijava/display/event/DisplayEvent.java index a604634fd..8623bef2e 100644 --- a/src/main/java/org/scijava/display/event/DisplayEvent.java +++ b/src/main/java/org/scijava/display/event/DisplayEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/DisplayUpdatedEvent.java b/src/main/java/org/scijava/display/event/DisplayUpdatedEvent.java index dbac42c23..aac425b78 100644 --- a/src/main/java/org/scijava/display/event/DisplayUpdatedEvent.java +++ b/src/main/java/org/scijava/display/event/DisplayUpdatedEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/InputEvent.java b/src/main/java/org/scijava/display/event/input/InputEvent.java index 8ef95d6a1..cb965f47d 100644 --- a/src/main/java/org/scijava/display/event/input/InputEvent.java +++ b/src/main/java/org/scijava/display/event/input/InputEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/KyEvent.java b/src/main/java/org/scijava/display/event/input/KyEvent.java index 93f8741f6..72240dd43 100644 --- a/src/main/java/org/scijava/display/event/input/KyEvent.java +++ b/src/main/java/org/scijava/display/event/input/KyEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/KyPressedEvent.java b/src/main/java/org/scijava/display/event/input/KyPressedEvent.java index d86783a0c..5114179df 100644 --- a/src/main/java/org/scijava/display/event/input/KyPressedEvent.java +++ b/src/main/java/org/scijava/display/event/input/KyPressedEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/KyReleasedEvent.java b/src/main/java/org/scijava/display/event/input/KyReleasedEvent.java index 81f003f47..7dd73548e 100644 --- a/src/main/java/org/scijava/display/event/input/KyReleasedEvent.java +++ b/src/main/java/org/scijava/display/event/input/KyReleasedEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/KyTypedEvent.java b/src/main/java/org/scijava/display/event/input/KyTypedEvent.java index 52354fc5a..357c325aa 100644 --- a/src/main/java/org/scijava/display/event/input/KyTypedEvent.java +++ b/src/main/java/org/scijava/display/event/input/KyTypedEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsButtonEvent.java b/src/main/java/org/scijava/display/event/input/MsButtonEvent.java index 737edb758..9f06970c6 100644 --- a/src/main/java/org/scijava/display/event/input/MsButtonEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsButtonEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsClickedEvent.java b/src/main/java/org/scijava/display/event/input/MsClickedEvent.java index 206cdea81..1303ed7bc 100644 --- a/src/main/java/org/scijava/display/event/input/MsClickedEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsClickedEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsDraggedEvent.java b/src/main/java/org/scijava/display/event/input/MsDraggedEvent.java index a1d73920f..f82342037 100644 --- a/src/main/java/org/scijava/display/event/input/MsDraggedEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsDraggedEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsEnteredEvent.java b/src/main/java/org/scijava/display/event/input/MsEnteredEvent.java index c68ca8fce..4f9633cc7 100644 --- a/src/main/java/org/scijava/display/event/input/MsEnteredEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsEnteredEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsEvent.java b/src/main/java/org/scijava/display/event/input/MsEvent.java index ffc1cd08c..c31d00fec 100644 --- a/src/main/java/org/scijava/display/event/input/MsEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsExitedEvent.java b/src/main/java/org/scijava/display/event/input/MsExitedEvent.java index b0ea0b037..89e22cc84 100644 --- a/src/main/java/org/scijava/display/event/input/MsExitedEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsExitedEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsMovedEvent.java b/src/main/java/org/scijava/display/event/input/MsMovedEvent.java index e0d7045a8..71b0f9de8 100644 --- a/src/main/java/org/scijava/display/event/input/MsMovedEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsMovedEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsPressedEvent.java b/src/main/java/org/scijava/display/event/input/MsPressedEvent.java index 4c3e3fd99..ac91255cd 100644 --- a/src/main/java/org/scijava/display/event/input/MsPressedEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsPressedEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsReleasedEvent.java b/src/main/java/org/scijava/display/event/input/MsReleasedEvent.java index 7fdbc15f8..7b0d29a11 100644 --- a/src/main/java/org/scijava/display/event/input/MsReleasedEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsReleasedEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsWheelEvent.java b/src/main/java/org/scijava/display/event/input/MsWheelEvent.java index c0da07dc4..550ff39d4 100644 --- a/src/main/java/org/scijava/display/event/input/MsWheelEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsWheelEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/window/WinActivatedEvent.java b/src/main/java/org/scijava/display/event/window/WinActivatedEvent.java index e070b45a4..151c7a075 100644 --- a/src/main/java/org/scijava/display/event/window/WinActivatedEvent.java +++ b/src/main/java/org/scijava/display/event/window/WinActivatedEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/window/WinClosedEvent.java b/src/main/java/org/scijava/display/event/window/WinClosedEvent.java index 11bb065a3..599cd2f2e 100644 --- a/src/main/java/org/scijava/display/event/window/WinClosedEvent.java +++ b/src/main/java/org/scijava/display/event/window/WinClosedEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/window/WinClosingEvent.java b/src/main/java/org/scijava/display/event/window/WinClosingEvent.java index 51b9e6402..c1cbb600f 100644 --- a/src/main/java/org/scijava/display/event/window/WinClosingEvent.java +++ b/src/main/java/org/scijava/display/event/window/WinClosingEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/window/WinDeactivatedEvent.java b/src/main/java/org/scijava/display/event/window/WinDeactivatedEvent.java index d3f994aef..5087352c1 100644 --- a/src/main/java/org/scijava/display/event/window/WinDeactivatedEvent.java +++ b/src/main/java/org/scijava/display/event/window/WinDeactivatedEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/window/WinDeiconifiedEvent.java b/src/main/java/org/scijava/display/event/window/WinDeiconifiedEvent.java index 68a182f04..7a6bf981c 100644 --- a/src/main/java/org/scijava/display/event/window/WinDeiconifiedEvent.java +++ b/src/main/java/org/scijava/display/event/window/WinDeiconifiedEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/window/WinEvent.java b/src/main/java/org/scijava/display/event/window/WinEvent.java index 6eda6b191..2f5a5628a 100644 --- a/src/main/java/org/scijava/display/event/window/WinEvent.java +++ b/src/main/java/org/scijava/display/event/window/WinEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/window/WinIconifiedEvent.java b/src/main/java/org/scijava/display/event/window/WinIconifiedEvent.java index 910acbadc..197640421 100644 --- a/src/main/java/org/scijava/display/event/window/WinIconifiedEvent.java +++ b/src/main/java/org/scijava/display/event/window/WinIconifiedEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/window/WinOpenedEvent.java b/src/main/java/org/scijava/display/event/window/WinOpenedEvent.java index 1b4bd8b09..d3a24080f 100644 --- a/src/main/java/org/scijava/display/event/window/WinOpenedEvent.java +++ b/src/main/java/org/scijava/display/event/window/WinOpenedEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/download/DefaultDownloadService.java b/src/main/java/org/scijava/download/DefaultDownloadService.java index b665645c1..41fd8d36c 100644 --- a/src/main/java/org/scijava/download/DefaultDownloadService.java +++ b/src/main/java/org/scijava/download/DefaultDownloadService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/download/DiskLocationCache.java b/src/main/java/org/scijava/download/DiskLocationCache.java index 5ee047fa8..1cb2b2cf4 100644 --- a/src/main/java/org/scijava/download/DiskLocationCache.java +++ b/src/main/java/org/scijava/download/DiskLocationCache.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/download/Download.java b/src/main/java/org/scijava/download/Download.java index ef2e0b0e1..499e3ffd7 100644 --- a/src/main/java/org/scijava/download/Download.java +++ b/src/main/java/org/scijava/download/Download.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/download/DownloadService.java b/src/main/java/org/scijava/download/DownloadService.java index de74162f0..1471ce490 100644 --- a/src/main/java/org/scijava/download/DownloadService.java +++ b/src/main/java/org/scijava/download/DownloadService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/download/LocationCache.java b/src/main/java/org/scijava/download/LocationCache.java index 4f6b72471..aa93b5b96 100644 --- a/src/main/java/org/scijava/download/LocationCache.java +++ b/src/main/java/org/scijava/download/LocationCache.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/download/MultiWriteHandle.java b/src/main/java/org/scijava/download/MultiWriteHandle.java index 0f810c9c6..f47928ce2 100644 --- a/src/main/java/org/scijava/download/MultiWriteHandle.java +++ b/src/main/java/org/scijava/download/MultiWriteHandle.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/ContextDisposingEvent.java b/src/main/java/org/scijava/event/ContextDisposingEvent.java index 26b9b7bcf..2a7533c30 100644 --- a/src/main/java/org/scijava/event/ContextDisposingEvent.java +++ b/src/main/java/org/scijava/event/ContextDisposingEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/DefaultEventBus.java b/src/main/java/org/scijava/event/DefaultEventBus.java index 7d262054c..09110c29b 100644 --- a/src/main/java/org/scijava/event/DefaultEventBus.java +++ b/src/main/java/org/scijava/event/DefaultEventBus.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/DefaultEventHistory.java b/src/main/java/org/scijava/event/DefaultEventHistory.java index 7835f5087..b5e9678ec 100644 --- a/src/main/java/org/scijava/event/DefaultEventHistory.java +++ b/src/main/java/org/scijava/event/DefaultEventHistory.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/DefaultEventService.java b/src/main/java/org/scijava/event/DefaultEventService.java index 07530827d..76530d7af 100644 --- a/src/main/java/org/scijava/event/DefaultEventService.java +++ b/src/main/java/org/scijava/event/DefaultEventService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/EventDetails.java b/src/main/java/org/scijava/event/EventDetails.java index 94db61dcd..77cbe8ec6 100644 --- a/src/main/java/org/scijava/event/EventDetails.java +++ b/src/main/java/org/scijava/event/EventDetails.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/EventHandler.java b/src/main/java/org/scijava/event/EventHandler.java index 386713bc6..adb6e6f72 100644 --- a/src/main/java/org/scijava/event/EventHandler.java +++ b/src/main/java/org/scijava/event/EventHandler.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/EventHistory.java b/src/main/java/org/scijava/event/EventHistory.java index 6d0dbc100..a74eb57b2 100644 --- a/src/main/java/org/scijava/event/EventHistory.java +++ b/src/main/java/org/scijava/event/EventHistory.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/EventHistoryListener.java b/src/main/java/org/scijava/event/EventHistoryListener.java index b74804836..a860eacda 100644 --- a/src/main/java/org/scijava/event/EventHistoryListener.java +++ b/src/main/java/org/scijava/event/EventHistoryListener.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/EventService.java b/src/main/java/org/scijava/event/EventService.java index 4d046e5a7..63565cf64 100644 --- a/src/main/java/org/scijava/event/EventService.java +++ b/src/main/java/org/scijava/event/EventService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/EventSubscriber.java b/src/main/java/org/scijava/event/EventSubscriber.java index 1233b0913..ce8d38274 100644 --- a/src/main/java/org/scijava/event/EventSubscriber.java +++ b/src/main/java/org/scijava/event/EventSubscriber.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/SciJavaEvent.java b/src/main/java/org/scijava/event/SciJavaEvent.java index 7d50772f3..92fa10abe 100644 --- a/src/main/java/org/scijava/event/SciJavaEvent.java +++ b/src/main/java/org/scijava/event/SciJavaEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/input/Accelerator.java b/src/main/java/org/scijava/input/Accelerator.java index 5ac542926..c5fefc304 100644 --- a/src/main/java/org/scijava/input/Accelerator.java +++ b/src/main/java/org/scijava/input/Accelerator.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/input/DefaultInputService.java b/src/main/java/org/scijava/input/DefaultInputService.java index 32317193e..5901b3fbe 100644 --- a/src/main/java/org/scijava/input/DefaultInputService.java +++ b/src/main/java/org/scijava/input/DefaultInputService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/input/InputModifiers.java b/src/main/java/org/scijava/input/InputModifiers.java index b6a8567e6..6df1198cb 100644 --- a/src/main/java/org/scijava/input/InputModifiers.java +++ b/src/main/java/org/scijava/input/InputModifiers.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/input/InputService.java b/src/main/java/org/scijava/input/InputService.java index a3541422d..d402ebd85 100644 --- a/src/main/java/org/scijava/input/InputService.java +++ b/src/main/java/org/scijava/input/InputService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/input/KeyCode.java b/src/main/java/org/scijava/input/KeyCode.java index 430f97f0c..5a0ae0139 100644 --- a/src/main/java/org/scijava/input/KeyCode.java +++ b/src/main/java/org/scijava/input/KeyCode.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/input/MouseCursor.java b/src/main/java/org/scijava/input/MouseCursor.java index 833298a89..3c0521552 100644 --- a/src/main/java/org/scijava/input/MouseCursor.java +++ b/src/main/java/org/scijava/input/MouseCursor.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/AbstractIOPlugin.java b/src/main/java/org/scijava/io/AbstractIOPlugin.java index 6053405d8..6ccd92f2c 100644 --- a/src/main/java/org/scijava/io/AbstractIOPlugin.java +++ b/src/main/java/org/scijava/io/AbstractIOPlugin.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/ByteArrayByteBank.java b/src/main/java/org/scijava/io/ByteArrayByteBank.java index b0b759955..699d9ed59 100644 --- a/src/main/java/org/scijava/io/ByteArrayByteBank.java +++ b/src/main/java/org/scijava/io/ByteArrayByteBank.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/ByteBank.java b/src/main/java/org/scijava/io/ByteBank.java index 397b22133..e5462f035 100644 --- a/src/main/java/org/scijava/io/ByteBank.java +++ b/src/main/java/org/scijava/io/ByteBank.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/DefaultIOService.java b/src/main/java/org/scijava/io/DefaultIOService.java index 1f74ec075..c71896453 100644 --- a/src/main/java/org/scijava/io/DefaultIOService.java +++ b/src/main/java/org/scijava/io/DefaultIOService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/DefaultRecentFileService.java b/src/main/java/org/scijava/io/DefaultRecentFileService.java index 9d00f1144..28a3804ef 100644 --- a/src/main/java/org/scijava/io/DefaultRecentFileService.java +++ b/src/main/java/org/scijava/io/DefaultRecentFileService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/IOPlugin.java b/src/main/java/org/scijava/io/IOPlugin.java index 42781e9a6..86bcee5b2 100644 --- a/src/main/java/org/scijava/io/IOPlugin.java +++ b/src/main/java/org/scijava/io/IOPlugin.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/IOService.java b/src/main/java/org/scijava/io/IOService.java index 3858229a9..f31ffdf64 100644 --- a/src/main/java/org/scijava/io/IOService.java +++ b/src/main/java/org/scijava/io/IOService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/RecentFileService.java b/src/main/java/org/scijava/io/RecentFileService.java index e7ab47cae..a2f98459c 100644 --- a/src/main/java/org/scijava/io/RecentFileService.java +++ b/src/main/java/org/scijava/io/RecentFileService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/console/OpenArgument.java b/src/main/java/org/scijava/io/console/OpenArgument.java index fa05f8afc..7ca6363de 100644 --- a/src/main/java/org/scijava/io/console/OpenArgument.java +++ b/src/main/java/org/scijava/io/console/OpenArgument.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/event/DataOpenedEvent.java b/src/main/java/org/scijava/io/event/DataOpenedEvent.java index 08ac7c0ef..7af006c5a 100644 --- a/src/main/java/org/scijava/io/event/DataOpenedEvent.java +++ b/src/main/java/org/scijava/io/event/DataOpenedEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/event/DataSavedEvent.java b/src/main/java/org/scijava/io/event/DataSavedEvent.java index 45691849f..cd6d22439 100644 --- a/src/main/java/org/scijava/io/event/DataSavedEvent.java +++ b/src/main/java/org/scijava/io/event/DataSavedEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/event/IOEvent.java b/src/main/java/org/scijava/io/event/IOEvent.java index 2c21cd076..1a62e6fca 100644 --- a/src/main/java/org/scijava/io/event/IOEvent.java +++ b/src/main/java/org/scijava/io/event/IOEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/AbstractDataHandle.java b/src/main/java/org/scijava/io/handle/AbstractDataHandle.java index f5e5f1c59..6242fff7e 100644 --- a/src/main/java/org/scijava/io/handle/AbstractDataHandle.java +++ b/src/main/java/org/scijava/io/handle/AbstractDataHandle.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/AbstractHigherOrderHandle.java b/src/main/java/org/scijava/io/handle/AbstractHigherOrderHandle.java index ae2a73451..9953eb226 100644 --- a/src/main/java/org/scijava/io/handle/AbstractHigherOrderHandle.java +++ b/src/main/java/org/scijava/io/handle/AbstractHigherOrderHandle.java @@ -2,20 +2,17 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE diff --git a/src/main/java/org/scijava/io/handle/AbstractSeekableStreamHandle.java b/src/main/java/org/scijava/io/handle/AbstractSeekableStreamHandle.java index 4015deb68..bdc345e5b 100644 --- a/src/main/java/org/scijava/io/handle/AbstractSeekableStreamHandle.java +++ b/src/main/java/org/scijava/io/handle/AbstractSeekableStreamHandle.java @@ -2,9 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, and Max Planck - * Institute of Molecular Cell Biology and Genetics. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/AbstractStreamHandle.java b/src/main/java/org/scijava/io/handle/AbstractStreamHandle.java index f06e9fbb6..80619f38b 100644 --- a/src/main/java/org/scijava/io/handle/AbstractStreamHandle.java +++ b/src/main/java/org/scijava/io/handle/AbstractStreamHandle.java @@ -2,19 +2,17 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, and Max Planck - * Institute of Molecular Cell Biology and Genetics. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE diff --git a/src/main/java/org/scijava/io/handle/BytesHandle.java b/src/main/java/org/scijava/io/handle/BytesHandle.java index 9ffa71431..8d58024ee 100644 --- a/src/main/java/org/scijava/io/handle/BytesHandle.java +++ b/src/main/java/org/scijava/io/handle/BytesHandle.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/DataHandle.java b/src/main/java/org/scijava/io/handle/DataHandle.java index c7cbfb654..c20b043ee 100644 --- a/src/main/java/org/scijava/io/handle/DataHandle.java +++ b/src/main/java/org/scijava/io/handle/DataHandle.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/DataHandleInputStream.java b/src/main/java/org/scijava/io/handle/DataHandleInputStream.java index d96cfed49..f0d15852c 100644 --- a/src/main/java/org/scijava/io/handle/DataHandleInputStream.java +++ b/src/main/java/org/scijava/io/handle/DataHandleInputStream.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/DataHandleOutputStream.java b/src/main/java/org/scijava/io/handle/DataHandleOutputStream.java index 8291985ba..c702f9bf9 100644 --- a/src/main/java/org/scijava/io/handle/DataHandleOutputStream.java +++ b/src/main/java/org/scijava/io/handle/DataHandleOutputStream.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/DataHandleService.java b/src/main/java/org/scijava/io/handle/DataHandleService.java index 8bc55a2b6..ecd96333e 100644 --- a/src/main/java/org/scijava/io/handle/DataHandleService.java +++ b/src/main/java/org/scijava/io/handle/DataHandleService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/DataHandles.java b/src/main/java/org/scijava/io/handle/DataHandles.java index 9bed1a516..91522eb9b 100644 --- a/src/main/java/org/scijava/io/handle/DataHandles.java +++ b/src/main/java/org/scijava/io/handle/DataHandles.java @@ -2,20 +2,17 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE diff --git a/src/main/java/org/scijava/io/handle/DefaultDataHandleService.java b/src/main/java/org/scijava/io/handle/DefaultDataHandleService.java index b2bf44b98..af7c931cf 100644 --- a/src/main/java/org/scijava/io/handle/DefaultDataHandleService.java +++ b/src/main/java/org/scijava/io/handle/DefaultDataHandleService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/DummyHandle.java b/src/main/java/org/scijava/io/handle/DummyHandle.java index 2244c4692..45b9b5571 100644 --- a/src/main/java/org/scijava/io/handle/DummyHandle.java +++ b/src/main/java/org/scijava/io/handle/DummyHandle.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/FileHandle.java b/src/main/java/org/scijava/io/handle/FileHandle.java index a42e05587..3bcbfe6dd 100644 --- a/src/main/java/org/scijava/io/handle/FileHandle.java +++ b/src/main/java/org/scijava/io/handle/FileHandle.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java b/src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java index 6f092f759..26670f5ed 100644 --- a/src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java +++ b/src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java @@ -2,20 +2,17 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE diff --git a/src/main/java/org/scijava/io/handle/ResettableStreamHandle.java b/src/main/java/org/scijava/io/handle/ResettableStreamHandle.java index b22f17c1a..98bc48e62 100644 --- a/src/main/java/org/scijava/io/handle/ResettableStreamHandle.java +++ b/src/main/java/org/scijava/io/handle/ResettableStreamHandle.java @@ -2,9 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, and Max Planck - * Institute of Molecular Cell Biology and Genetics. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/SeekableStreamHandle.java b/src/main/java/org/scijava/io/handle/SeekableStreamHandle.java index 3ad97e581..8b5f767b6 100644 --- a/src/main/java/org/scijava/io/handle/SeekableStreamHandle.java +++ b/src/main/java/org/scijava/io/handle/SeekableStreamHandle.java @@ -2,9 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, and Max Planck - * Institute of Molecular Cell Biology and Genetics. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/StreamHandle.java b/src/main/java/org/scijava/io/handle/StreamHandle.java index 64902d404..3483932dc 100644 --- a/src/main/java/org/scijava/io/handle/StreamHandle.java +++ b/src/main/java/org/scijava/io/handle/StreamHandle.java @@ -2,19 +2,17 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, and Max Planck - * Institute of Molecular Cell Biology and Genetics. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE diff --git a/src/main/java/org/scijava/io/handle/WriteBufferDataHandle.java b/src/main/java/org/scijava/io/handle/WriteBufferDataHandle.java index 41c1603a8..86e63ec81 100644 --- a/src/main/java/org/scijava/io/handle/WriteBufferDataHandle.java +++ b/src/main/java/org/scijava/io/handle/WriteBufferDataHandle.java @@ -2,20 +2,17 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE diff --git a/src/main/java/org/scijava/io/location/AbstractLocation.java b/src/main/java/org/scijava/io/location/AbstractLocation.java index e15f64ab1..6b493a391 100644 --- a/src/main/java/org/scijava/io/location/AbstractLocation.java +++ b/src/main/java/org/scijava/io/location/AbstractLocation.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/AbstractLocationResolver.java b/src/main/java/org/scijava/io/location/AbstractLocationResolver.java index 3ab3c8e75..dc6f613d4 100644 --- a/src/main/java/org/scijava/io/location/AbstractLocationResolver.java +++ b/src/main/java/org/scijava/io/location/AbstractLocationResolver.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/AbstractRemoteLocation.java b/src/main/java/org/scijava/io/location/AbstractRemoteLocation.java index 5a5873ed3..2a31dcfe6 100644 --- a/src/main/java/org/scijava/io/location/AbstractRemoteLocation.java +++ b/src/main/java/org/scijava/io/location/AbstractRemoteLocation.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/BrowsableLocation.java b/src/main/java/org/scijava/io/location/BrowsableLocation.java index cd3daaccd..52356fbc1 100644 --- a/src/main/java/org/scijava/io/location/BrowsableLocation.java +++ b/src/main/java/org/scijava/io/location/BrowsableLocation.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/BytesLocation.java b/src/main/java/org/scijava/io/location/BytesLocation.java index 41980b0fd..a4d870b6f 100644 --- a/src/main/java/org/scijava/io/location/BytesLocation.java +++ b/src/main/java/org/scijava/io/location/BytesLocation.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/DefaultLocationService.java b/src/main/java/org/scijava/io/location/DefaultLocationService.java index 9e8805204..f84ddb1e5 100644 --- a/src/main/java/org/scijava/io/location/DefaultLocationService.java +++ b/src/main/java/org/scijava/io/location/DefaultLocationService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/DummyLocation.java b/src/main/java/org/scijava/io/location/DummyLocation.java index 564305b0b..f393a381a 100644 --- a/src/main/java/org/scijava/io/location/DummyLocation.java +++ b/src/main/java/org/scijava/io/location/DummyLocation.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/FileLocation.java b/src/main/java/org/scijava/io/location/FileLocation.java index 2f073e1cc..618f8a3b0 100644 --- a/src/main/java/org/scijava/io/location/FileLocation.java +++ b/src/main/java/org/scijava/io/location/FileLocation.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/FileLocationResolver.java b/src/main/java/org/scijava/io/location/FileLocationResolver.java index b40f0f13e..5873b5285 100644 --- a/src/main/java/org/scijava/io/location/FileLocationResolver.java +++ b/src/main/java/org/scijava/io/location/FileLocationResolver.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/Location.java b/src/main/java/org/scijava/io/location/Location.java index bec21e813..6b87ab2ec 100644 --- a/src/main/java/org/scijava/io/location/Location.java +++ b/src/main/java/org/scijava/io/location/Location.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/LocationResolver.java b/src/main/java/org/scijava/io/location/LocationResolver.java index 6e71f617c..3f9c84048 100644 --- a/src/main/java/org/scijava/io/location/LocationResolver.java +++ b/src/main/java/org/scijava/io/location/LocationResolver.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/LocationService.java b/src/main/java/org/scijava/io/location/LocationService.java index fbced738a..8cfb3cda1 100644 --- a/src/main/java/org/scijava/io/location/LocationService.java +++ b/src/main/java/org/scijava/io/location/LocationService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/RemoteLocation.java b/src/main/java/org/scijava/io/location/RemoteLocation.java index 94cc2155b..da2b59f3c 100644 --- a/src/main/java/org/scijava/io/location/RemoteLocation.java +++ b/src/main/java/org/scijava/io/location/RemoteLocation.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/URILocation.java b/src/main/java/org/scijava/io/location/URILocation.java index 8ea6531cc..5413e8bb6 100644 --- a/src/main/java/org/scijava/io/location/URILocation.java +++ b/src/main/java/org/scijava/io/location/URILocation.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/URLLocation.java b/src/main/java/org/scijava/io/location/URLLocation.java index 7311dc874..ac9a7a34e 100644 --- a/src/main/java/org/scijava/io/location/URLLocation.java +++ b/src/main/java/org/scijava/io/location/URLLocation.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/nio/ByteBufferByteBank.java b/src/main/java/org/scijava/io/nio/ByteBufferByteBank.java index a159185a8..10fc18e42 100644 --- a/src/main/java/org/scijava/io/nio/ByteBufferByteBank.java +++ b/src/main/java/org/scijava/io/nio/ByteBufferByteBank.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/nio/DefaultNIOService.java b/src/main/java/org/scijava/io/nio/DefaultNIOService.java index 29785ec49..29218ea6e 100644 --- a/src/main/java/org/scijava/io/nio/DefaultNIOService.java +++ b/src/main/java/org/scijava/io/nio/DefaultNIOService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/nio/NIOService.java b/src/main/java/org/scijava/io/nio/NIOService.java index 1d67b0a66..6ebf4d618 100644 --- a/src/main/java/org/scijava/io/nio/NIOService.java +++ b/src/main/java/org/scijava/io/nio/NIOService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/AbstractLogService.java b/src/main/java/org/scijava/log/AbstractLogService.java index 09038ea6b..e813e10e3 100644 --- a/src/main/java/org/scijava/log/AbstractLogService.java +++ b/src/main/java/org/scijava/log/AbstractLogService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/CallingClassUtils.java b/src/main/java/org/scijava/log/CallingClassUtils.java index c885a7ac8..5bcf98460 100644 --- a/src/main/java/org/scijava/log/CallingClassUtils.java +++ b/src/main/java/org/scijava/log/CallingClassUtils.java @@ -2,19 +2,17 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, and Max Planck - * Institute of Molecular Cell Biology and Genetics. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE diff --git a/src/main/java/org/scijava/log/DefaultLogger.java b/src/main/java/org/scijava/log/DefaultLogger.java index 7e5fb7a00..506b02447 100644 --- a/src/main/java/org/scijava/log/DefaultLogger.java +++ b/src/main/java/org/scijava/log/DefaultLogger.java @@ -2,19 +2,17 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, and Max Planck - * Institute of Molecular Cell Biology and Genetics. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE diff --git a/src/main/java/org/scijava/log/DefaultUncaughtExceptionHandler.java b/src/main/java/org/scijava/log/DefaultUncaughtExceptionHandler.java index 526b27331..0c313435f 100644 --- a/src/main/java/org/scijava/log/DefaultUncaughtExceptionHandler.java +++ b/src/main/java/org/scijava/log/DefaultUncaughtExceptionHandler.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/IgnoreAsCallingClass.java b/src/main/java/org/scijava/log/IgnoreAsCallingClass.java index de7c2f974..d6ff175f1 100644 --- a/src/main/java/org/scijava/log/IgnoreAsCallingClass.java +++ b/src/main/java/org/scijava/log/IgnoreAsCallingClass.java @@ -2,19 +2,17 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, and Max Planck - * Institute of Molecular Cell Biology and Genetics. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE diff --git a/src/main/java/org/scijava/log/LogLevel.java b/src/main/java/org/scijava/log/LogLevel.java index e38b85e80..dab6e9583 100644 --- a/src/main/java/org/scijava/log/LogLevel.java +++ b/src/main/java/org/scijava/log/LogLevel.java @@ -2,9 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, and Max Planck - * Institute of Molecular Cell Biology and Genetics. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/LogListener.java b/src/main/java/org/scijava/log/LogListener.java index 88a1a63d4..918895891 100644 --- a/src/main/java/org/scijava/log/LogListener.java +++ b/src/main/java/org/scijava/log/LogListener.java @@ -2,19 +2,17 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, and Max Planck - * Institute of Molecular Cell Biology and Genetics. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE diff --git a/src/main/java/org/scijava/log/LogMessage.java b/src/main/java/org/scijava/log/LogMessage.java index dadf6b395..a9755e034 100644 --- a/src/main/java/org/scijava/log/LogMessage.java +++ b/src/main/java/org/scijava/log/LogMessage.java @@ -2,19 +2,17 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, and Max Planck - * Institute of Molecular Cell Biology and Genetics. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE diff --git a/src/main/java/org/scijava/log/LogService.java b/src/main/java/org/scijava/log/LogService.java index ef79590bc..d8dd1c2b0 100644 --- a/src/main/java/org/scijava/log/LogService.java +++ b/src/main/java/org/scijava/log/LogService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/LogSource.java b/src/main/java/org/scijava/log/LogSource.java index ad7bbacf3..16fdd6c6b 100644 --- a/src/main/java/org/scijava/log/LogSource.java +++ b/src/main/java/org/scijava/log/LogSource.java @@ -2,19 +2,17 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, and Max Planck - * Institute of Molecular Cell Biology and Genetics. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE diff --git a/src/main/java/org/scijava/log/Logged.java b/src/main/java/org/scijava/log/Logged.java index fab36ba9f..3f31f51c5 100644 --- a/src/main/java/org/scijava/log/Logged.java +++ b/src/main/java/org/scijava/log/Logged.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/Logger.java b/src/main/java/org/scijava/log/Logger.java index bc0f3203e..492203115 100644 --- a/src/main/java/org/scijava/log/Logger.java +++ b/src/main/java/org/scijava/log/Logger.java @@ -2,9 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, and Max Planck - * Institute of Molecular Cell Biology and Genetics. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/StderrLogService.java b/src/main/java/org/scijava/log/StderrLogService.java index e59a85a06..39f09ac2d 100644 --- a/src/main/java/org/scijava/log/StderrLogService.java +++ b/src/main/java/org/scijava/log/StderrLogService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/main/DefaultMainService.java b/src/main/java/org/scijava/main/DefaultMainService.java index f706fbefb..17ef070f6 100644 --- a/src/main/java/org/scijava/main/DefaultMainService.java +++ b/src/main/java/org/scijava/main/DefaultMainService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/main/MainService.java b/src/main/java/org/scijava/main/MainService.java index c4a4ac2d0..7ecc9ff67 100644 --- a/src/main/java/org/scijava/main/MainService.java +++ b/src/main/java/org/scijava/main/MainService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/main/console/MainArgument.java b/src/main/java/org/scijava/main/console/MainArgument.java index 793fdce2c..b01f55636 100644 --- a/src/main/java/org/scijava/main/console/MainArgument.java +++ b/src/main/java/org/scijava/main/console/MainArgument.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/main/run/MainCodeRunner.java b/src/main/java/org/scijava/main/run/MainCodeRunner.java index 2e86b3b5c..5b6a17acf 100644 --- a/src/main/java/org/scijava/main/run/MainCodeRunner.java +++ b/src/main/java/org/scijava/main/run/MainCodeRunner.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/AbstractMenuCreator.java b/src/main/java/org/scijava/menu/AbstractMenuCreator.java index b88dd28db..acda55b48 100644 --- a/src/main/java/org/scijava/menu/AbstractMenuCreator.java +++ b/src/main/java/org/scijava/menu/AbstractMenuCreator.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/DefaultMenuService.java b/src/main/java/org/scijava/menu/DefaultMenuService.java index 4145342a3..dc43dd7d5 100644 --- a/src/main/java/org/scijava/menu/DefaultMenuService.java +++ b/src/main/java/org/scijava/menu/DefaultMenuService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/MenuConstants.java b/src/main/java/org/scijava/menu/MenuConstants.java index 680b52f86..eb80cbc89 100644 --- a/src/main/java/org/scijava/menu/MenuConstants.java +++ b/src/main/java/org/scijava/menu/MenuConstants.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/MenuCreator.java b/src/main/java/org/scijava/menu/MenuCreator.java index ebda18708..a9d510f9c 100644 --- a/src/main/java/org/scijava/menu/MenuCreator.java +++ b/src/main/java/org/scijava/menu/MenuCreator.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/MenuService.java b/src/main/java/org/scijava/menu/MenuService.java index 02747467d..f7fc4a7e7 100644 --- a/src/main/java/org/scijava/menu/MenuService.java +++ b/src/main/java/org/scijava/menu/MenuService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/ShadowMenu.java b/src/main/java/org/scijava/menu/ShadowMenu.java index f2ca6f04b..7872caaa3 100644 --- a/src/main/java/org/scijava/menu/ShadowMenu.java +++ b/src/main/java/org/scijava/menu/ShadowMenu.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/ShadowMenuIterator.java b/src/main/java/org/scijava/menu/ShadowMenuIterator.java index e4ae4883c..42e0d1970 100644 --- a/src/main/java/org/scijava/menu/ShadowMenuIterator.java +++ b/src/main/java/org/scijava/menu/ShadowMenuIterator.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/event/MenuEvent.java b/src/main/java/org/scijava/menu/event/MenuEvent.java index 220a8389f..3dbeca85c 100644 --- a/src/main/java/org/scijava/menu/event/MenuEvent.java +++ b/src/main/java/org/scijava/menu/event/MenuEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/event/MenusAddedEvent.java b/src/main/java/org/scijava/menu/event/MenusAddedEvent.java index 7474e77a1..f824c3ad6 100644 --- a/src/main/java/org/scijava/menu/event/MenusAddedEvent.java +++ b/src/main/java/org/scijava/menu/event/MenusAddedEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/event/MenusRemovedEvent.java b/src/main/java/org/scijava/menu/event/MenusRemovedEvent.java index c8fb8c1df..70926115c 100644 --- a/src/main/java/org/scijava/menu/event/MenusRemovedEvent.java +++ b/src/main/java/org/scijava/menu/event/MenusRemovedEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/event/MenusUpdatedEvent.java b/src/main/java/org/scijava/menu/event/MenusUpdatedEvent.java index 75ac1d5a0..df5b30223 100644 --- a/src/main/java/org/scijava/menu/event/MenusUpdatedEvent.java +++ b/src/main/java/org/scijava/menu/event/MenusUpdatedEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/AbstractModule.java b/src/main/java/org/scijava/module/AbstractModule.java index ca13bf3db..04ad15e3a 100644 --- a/src/main/java/org/scijava/module/AbstractModule.java +++ b/src/main/java/org/scijava/module/AbstractModule.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/AbstractModuleInfo.java b/src/main/java/org/scijava/module/AbstractModuleInfo.java index 7020f24ed..334f9f37e 100644 --- a/src/main/java/org/scijava/module/AbstractModuleInfo.java +++ b/src/main/java/org/scijava/module/AbstractModuleInfo.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/AbstractModuleItem.java b/src/main/java/org/scijava/module/AbstractModuleItem.java index 3f881b944..da260b12a 100644 --- a/src/main/java/org/scijava/module/AbstractModuleItem.java +++ b/src/main/java/org/scijava/module/AbstractModuleItem.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/DefaultModuleService.java b/src/main/java/org/scijava/module/DefaultModuleService.java index ea20a6ffa..26fac0d84 100644 --- a/src/main/java/org/scijava/module/DefaultModuleService.java +++ b/src/main/java/org/scijava/module/DefaultModuleService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/DefaultMutableModule.java b/src/main/java/org/scijava/module/DefaultMutableModule.java index c1cc84d16..011c9336a 100644 --- a/src/main/java/org/scijava/module/DefaultMutableModule.java +++ b/src/main/java/org/scijava/module/DefaultMutableModule.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/DefaultMutableModuleInfo.java b/src/main/java/org/scijava/module/DefaultMutableModuleInfo.java index 6654c616d..af331696e 100644 --- a/src/main/java/org/scijava/module/DefaultMutableModuleInfo.java +++ b/src/main/java/org/scijava/module/DefaultMutableModuleInfo.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/DefaultMutableModuleItem.java b/src/main/java/org/scijava/module/DefaultMutableModuleItem.java index 1feffbcc6..4c8354d14 100644 --- a/src/main/java/org/scijava/module/DefaultMutableModuleItem.java +++ b/src/main/java/org/scijava/module/DefaultMutableModuleItem.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/MethodCallException.java b/src/main/java/org/scijava/module/MethodCallException.java index 970958312..d17923d9b 100644 --- a/src/main/java/org/scijava/module/MethodCallException.java +++ b/src/main/java/org/scijava/module/MethodCallException.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/MethodRef.java b/src/main/java/org/scijava/module/MethodRef.java index acfa908b4..a3399c35e 100644 --- a/src/main/java/org/scijava/module/MethodRef.java +++ b/src/main/java/org/scijava/module/MethodRef.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/Module.java b/src/main/java/org/scijava/module/Module.java index 567602335..70a45398b 100644 --- a/src/main/java/org/scijava/module/Module.java +++ b/src/main/java/org/scijava/module/Module.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/ModuleCanceledException.java b/src/main/java/org/scijava/module/ModuleCanceledException.java index 82ae29ef9..08dd0ef3f 100644 --- a/src/main/java/org/scijava/module/ModuleCanceledException.java +++ b/src/main/java/org/scijava/module/ModuleCanceledException.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/ModuleException.java b/src/main/java/org/scijava/module/ModuleException.java index 2355db95b..6c07451f4 100644 --- a/src/main/java/org/scijava/module/ModuleException.java +++ b/src/main/java/org/scijava/module/ModuleException.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/ModuleIndex.java b/src/main/java/org/scijava/module/ModuleIndex.java index 83da593d6..431924783 100644 --- a/src/main/java/org/scijava/module/ModuleIndex.java +++ b/src/main/java/org/scijava/module/ModuleIndex.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/ModuleInfo.java b/src/main/java/org/scijava/module/ModuleInfo.java index b442b4300..2e1dbb476 100644 --- a/src/main/java/org/scijava/module/ModuleInfo.java +++ b/src/main/java/org/scijava/module/ModuleInfo.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/ModuleItem.java b/src/main/java/org/scijava/module/ModuleItem.java index 5b6b43fdb..4abd391ea 100644 --- a/src/main/java/org/scijava/module/ModuleItem.java +++ b/src/main/java/org/scijava/module/ModuleItem.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/ModuleRunner.java b/src/main/java/org/scijava/module/ModuleRunner.java index d95e123f0..d514afa54 100644 --- a/src/main/java/org/scijava/module/ModuleRunner.java +++ b/src/main/java/org/scijava/module/ModuleRunner.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/ModuleService.java b/src/main/java/org/scijava/module/ModuleService.java index 5c6e86809..0767fb2f4 100644 --- a/src/main/java/org/scijava/module/ModuleService.java +++ b/src/main/java/org/scijava/module/ModuleService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/MutableModule.java b/src/main/java/org/scijava/module/MutableModule.java index 83d746362..302b321e4 100644 --- a/src/main/java/org/scijava/module/MutableModule.java +++ b/src/main/java/org/scijava/module/MutableModule.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/MutableModuleInfo.java b/src/main/java/org/scijava/module/MutableModuleInfo.java index aec08d912..6436b0d42 100644 --- a/src/main/java/org/scijava/module/MutableModuleInfo.java +++ b/src/main/java/org/scijava/module/MutableModuleInfo.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/MutableModuleItem.java b/src/main/java/org/scijava/module/MutableModuleItem.java index 01af92e0d..58c146a81 100644 --- a/src/main/java/org/scijava/module/MutableModuleItem.java +++ b/src/main/java/org/scijava/module/MutableModuleItem.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleCanceledEvent.java b/src/main/java/org/scijava/module/event/ModuleCanceledEvent.java index 80bf49ba9..d40bf6a9f 100644 --- a/src/main/java/org/scijava/module/event/ModuleCanceledEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleCanceledEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleEvent.java b/src/main/java/org/scijava/module/event/ModuleEvent.java index 4303c40d4..cd618e566 100644 --- a/src/main/java/org/scijava/module/event/ModuleEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleExecutedEvent.java b/src/main/java/org/scijava/module/event/ModuleExecutedEvent.java index 58dc9e41c..5771a16ee 100644 --- a/src/main/java/org/scijava/module/event/ModuleExecutedEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleExecutedEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleExecutingEvent.java b/src/main/java/org/scijava/module/event/ModuleExecutingEvent.java index 9589e788a..b9e8231d3 100644 --- a/src/main/java/org/scijava/module/event/ModuleExecutingEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleExecutingEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleExecutionEvent.java b/src/main/java/org/scijava/module/event/ModuleExecutionEvent.java index 5c5ed02ef..6b674ad84 100644 --- a/src/main/java/org/scijava/module/event/ModuleExecutionEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleExecutionEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleFinishedEvent.java b/src/main/java/org/scijava/module/event/ModuleFinishedEvent.java index 5ab4b856f..8a6d748b9 100644 --- a/src/main/java/org/scijava/module/event/ModuleFinishedEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleFinishedEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModulePostprocessEvent.java b/src/main/java/org/scijava/module/event/ModulePostprocessEvent.java index 98a0b2a27..5f5c3a7bf 100644 --- a/src/main/java/org/scijava/module/event/ModulePostprocessEvent.java +++ b/src/main/java/org/scijava/module/event/ModulePostprocessEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModulePreprocessEvent.java b/src/main/java/org/scijava/module/event/ModulePreprocessEvent.java index ab8ef93ea..468d5ef66 100644 --- a/src/main/java/org/scijava/module/event/ModulePreprocessEvent.java +++ b/src/main/java/org/scijava/module/event/ModulePreprocessEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleProcessEvent.java b/src/main/java/org/scijava/module/event/ModuleProcessEvent.java index 4f42cc3d3..57482a65a 100644 --- a/src/main/java/org/scijava/module/event/ModuleProcessEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleProcessEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleStartedEvent.java b/src/main/java/org/scijava/module/event/ModuleStartedEvent.java index 52647be4e..28933c8ad 100644 --- a/src/main/java/org/scijava/module/event/ModuleStartedEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleStartedEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModulesAddedEvent.java b/src/main/java/org/scijava/module/event/ModulesAddedEvent.java index 8fa1c18de..98f9f3b39 100644 --- a/src/main/java/org/scijava/module/event/ModulesAddedEvent.java +++ b/src/main/java/org/scijava/module/event/ModulesAddedEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModulesListEvent.java b/src/main/java/org/scijava/module/event/ModulesListEvent.java index 140ee62c0..467ac137b 100644 --- a/src/main/java/org/scijava/module/event/ModulesListEvent.java +++ b/src/main/java/org/scijava/module/event/ModulesListEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModulesRemovedEvent.java b/src/main/java/org/scijava/module/event/ModulesRemovedEvent.java index f37774673..fabc602a0 100644 --- a/src/main/java/org/scijava/module/event/ModulesRemovedEvent.java +++ b/src/main/java/org/scijava/module/event/ModulesRemovedEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModulesUpdatedEvent.java b/src/main/java/org/scijava/module/event/ModulesUpdatedEvent.java index 067cad90f..00a3ef6cb 100644 --- a/src/main/java/org/scijava/module/event/ModulesUpdatedEvent.java +++ b/src/main/java/org/scijava/module/event/ModulesUpdatedEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/AbstractPostprocessorPlugin.java b/src/main/java/org/scijava/module/process/AbstractPostprocessorPlugin.java index 7f6231b28..73f5a2dcf 100644 --- a/src/main/java/org/scijava/module/process/AbstractPostprocessorPlugin.java +++ b/src/main/java/org/scijava/module/process/AbstractPostprocessorPlugin.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/AbstractPreprocessorPlugin.java b/src/main/java/org/scijava/module/process/AbstractPreprocessorPlugin.java index b1c049a80..861e00f33 100644 --- a/src/main/java/org/scijava/module/process/AbstractPreprocessorPlugin.java +++ b/src/main/java/org/scijava/module/process/AbstractPreprocessorPlugin.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/AbstractSingleInputPreprocessor.java b/src/main/java/org/scijava/module/process/AbstractSingleInputPreprocessor.java index 91abbb0a9..864d780a8 100644 --- a/src/main/java/org/scijava/module/process/AbstractSingleInputPreprocessor.java +++ b/src/main/java/org/scijava/module/process/AbstractSingleInputPreprocessor.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/CheckInputsPreprocessor.java b/src/main/java/org/scijava/module/process/CheckInputsPreprocessor.java index c07a0644c..58d6fc890 100644 --- a/src/main/java/org/scijava/module/process/CheckInputsPreprocessor.java +++ b/src/main/java/org/scijava/module/process/CheckInputsPreprocessor.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/DebugPostprocessor.java b/src/main/java/org/scijava/module/process/DebugPostprocessor.java index 2cc1e89e5..4cff4eb06 100644 --- a/src/main/java/org/scijava/module/process/DebugPostprocessor.java +++ b/src/main/java/org/scijava/module/process/DebugPostprocessor.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/DebugPreprocessor.java b/src/main/java/org/scijava/module/process/DebugPreprocessor.java index aeede855e..bd3e2826d 100644 --- a/src/main/java/org/scijava/module/process/DebugPreprocessor.java +++ b/src/main/java/org/scijava/module/process/DebugPreprocessor.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/DefaultValuePreprocessor.java b/src/main/java/org/scijava/module/process/DefaultValuePreprocessor.java index cc0d1f7d5..431d80f52 100644 --- a/src/main/java/org/scijava/module/process/DefaultValuePreprocessor.java +++ b/src/main/java/org/scijava/module/process/DefaultValuePreprocessor.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/GatewayPreprocessor.java b/src/main/java/org/scijava/module/process/GatewayPreprocessor.java index a2f751546..c71fe444a 100644 --- a/src/main/java/org/scijava/module/process/GatewayPreprocessor.java +++ b/src/main/java/org/scijava/module/process/GatewayPreprocessor.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/InitPreprocessor.java b/src/main/java/org/scijava/module/process/InitPreprocessor.java index b71b961d8..5e1dad59f 100644 --- a/src/main/java/org/scijava/module/process/InitPreprocessor.java +++ b/src/main/java/org/scijava/module/process/InitPreprocessor.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/LoadInputsPreprocessor.java b/src/main/java/org/scijava/module/process/LoadInputsPreprocessor.java index c9c84505b..3e9b01ca5 100644 --- a/src/main/java/org/scijava/module/process/LoadInputsPreprocessor.java +++ b/src/main/java/org/scijava/module/process/LoadInputsPreprocessor.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/LoggerPreprocessor.java b/src/main/java/org/scijava/module/process/LoggerPreprocessor.java index 2e62faaf1..19306d59c 100644 --- a/src/main/java/org/scijava/module/process/LoggerPreprocessor.java +++ b/src/main/java/org/scijava/module/process/LoggerPreprocessor.java @@ -2,19 +2,17 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, and Max Planck - * Institute of Molecular Cell Biology and Genetics. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE diff --git a/src/main/java/org/scijava/module/process/ModulePostprocessor.java b/src/main/java/org/scijava/module/process/ModulePostprocessor.java index 9f3d29ae4..8293fd796 100644 --- a/src/main/java/org/scijava/module/process/ModulePostprocessor.java +++ b/src/main/java/org/scijava/module/process/ModulePostprocessor.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/ModulePreprocessor.java b/src/main/java/org/scijava/module/process/ModulePreprocessor.java index e40a7b21c..e2c48d3b0 100644 --- a/src/main/java/org/scijava/module/process/ModulePreprocessor.java +++ b/src/main/java/org/scijava/module/process/ModulePreprocessor.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/ModuleProcessor.java b/src/main/java/org/scijava/module/process/ModuleProcessor.java index 01daf5446..4cb204c62 100644 --- a/src/main/java/org/scijava/module/process/ModuleProcessor.java +++ b/src/main/java/org/scijava/module/process/ModuleProcessor.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/PostprocessorPlugin.java b/src/main/java/org/scijava/module/process/PostprocessorPlugin.java index e8f346b8b..ada646e05 100644 --- a/src/main/java/org/scijava/module/process/PostprocessorPlugin.java +++ b/src/main/java/org/scijava/module/process/PostprocessorPlugin.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/PreprocessorPlugin.java b/src/main/java/org/scijava/module/process/PreprocessorPlugin.java index b7081968d..af68aeffc 100644 --- a/src/main/java/org/scijava/module/process/PreprocessorPlugin.java +++ b/src/main/java/org/scijava/module/process/PreprocessorPlugin.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/SaveInputsPreprocessor.java b/src/main/java/org/scijava/module/process/SaveInputsPreprocessor.java index c8fde59d8..ce19bfd45 100644 --- a/src/main/java/org/scijava/module/process/SaveInputsPreprocessor.java +++ b/src/main/java/org/scijava/module/process/SaveInputsPreprocessor.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/ServicePreprocessor.java b/src/main/java/org/scijava/module/process/ServicePreprocessor.java index 287c2159f..85e8aec4f 100644 --- a/src/main/java/org/scijava/module/process/ServicePreprocessor.java +++ b/src/main/java/org/scijava/module/process/ServicePreprocessor.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/ValidityPreprocessor.java b/src/main/java/org/scijava/module/process/ValidityPreprocessor.java index 012d14fe7..bf33a6d7c 100644 --- a/src/main/java/org/scijava/module/process/ValidityPreprocessor.java +++ b/src/main/java/org/scijava/module/process/ValidityPreprocessor.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/run/ModuleCodeRunner.java b/src/main/java/org/scijava/module/run/ModuleCodeRunner.java index e34b1b800..d94a04a80 100644 --- a/src/main/java/org/scijava/module/run/ModuleCodeRunner.java +++ b/src/main/java/org/scijava/module/run/ModuleCodeRunner.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/DefaultObjectService.java b/src/main/java/org/scijava/object/DefaultObjectService.java index 2b150a997..c72dcf434 100644 --- a/src/main/java/org/scijava/object/DefaultObjectService.java +++ b/src/main/java/org/scijava/object/DefaultObjectService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/LazyObjects.java b/src/main/java/org/scijava/object/LazyObjects.java index e1d0d660e..c0b5ab00c 100644 --- a/src/main/java/org/scijava/object/LazyObjects.java +++ b/src/main/java/org/scijava/object/LazyObjects.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/NamedObjectIndex.java b/src/main/java/org/scijava/object/NamedObjectIndex.java index 2b314fa1d..2fe990d15 100644 --- a/src/main/java/org/scijava/object/NamedObjectIndex.java +++ b/src/main/java/org/scijava/object/NamedObjectIndex.java @@ -1,3 +1,31 @@ +/*- + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2020 SciJava developers. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ package org.scijava.object; import java.util.WeakHashMap; diff --git a/src/main/java/org/scijava/object/ObjectIndex.java b/src/main/java/org/scijava/object/ObjectIndex.java index 04c174cb5..47f1efd25 100644 --- a/src/main/java/org/scijava/object/ObjectIndex.java +++ b/src/main/java/org/scijava/object/ObjectIndex.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/ObjectService.java b/src/main/java/org/scijava/object/ObjectService.java index 24e71299e..e68eaf1c4 100644 --- a/src/main/java/org/scijava/object/ObjectService.java +++ b/src/main/java/org/scijava/object/ObjectService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/SortedObjectIndex.java b/src/main/java/org/scijava/object/SortedObjectIndex.java index 690ff025d..c89921129 100644 --- a/src/main/java/org/scijava/object/SortedObjectIndex.java +++ b/src/main/java/org/scijava/object/SortedObjectIndex.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/event/ListEvent.java b/src/main/java/org/scijava/object/event/ListEvent.java index ee97f715a..c863add41 100644 --- a/src/main/java/org/scijava/object/event/ListEvent.java +++ b/src/main/java/org/scijava/object/event/ListEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/event/ObjectCreatedEvent.java b/src/main/java/org/scijava/object/event/ObjectCreatedEvent.java index 6d7ea3c52..0b92de092 100644 --- a/src/main/java/org/scijava/object/event/ObjectCreatedEvent.java +++ b/src/main/java/org/scijava/object/event/ObjectCreatedEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/event/ObjectDeletedEvent.java b/src/main/java/org/scijava/object/event/ObjectDeletedEvent.java index 1cda244d8..e5857e7f7 100644 --- a/src/main/java/org/scijava/object/event/ObjectDeletedEvent.java +++ b/src/main/java/org/scijava/object/event/ObjectDeletedEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/event/ObjectEvent.java b/src/main/java/org/scijava/object/event/ObjectEvent.java index 5b4d8e68a..e9b649635 100644 --- a/src/main/java/org/scijava/object/event/ObjectEvent.java +++ b/src/main/java/org/scijava/object/event/ObjectEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/event/ObjectModifiedEvent.java b/src/main/java/org/scijava/object/event/ObjectModifiedEvent.java index 44b289518..51b2bf3fb 100644 --- a/src/main/java/org/scijava/object/event/ObjectModifiedEvent.java +++ b/src/main/java/org/scijava/object/event/ObjectModifiedEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/event/ObjectsAddedEvent.java b/src/main/java/org/scijava/object/event/ObjectsAddedEvent.java index a924dcf5c..7030ec9f9 100644 --- a/src/main/java/org/scijava/object/event/ObjectsAddedEvent.java +++ b/src/main/java/org/scijava/object/event/ObjectsAddedEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/event/ObjectsListEvent.java b/src/main/java/org/scijava/object/event/ObjectsListEvent.java index 699cc48b0..3790576c7 100644 --- a/src/main/java/org/scijava/object/event/ObjectsListEvent.java +++ b/src/main/java/org/scijava/object/event/ObjectsListEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/event/ObjectsRemovedEvent.java b/src/main/java/org/scijava/object/event/ObjectsRemovedEvent.java index 20b505c6a..8dda4a1b5 100644 --- a/src/main/java/org/scijava/object/event/ObjectsRemovedEvent.java +++ b/src/main/java/org/scijava/object/event/ObjectsRemovedEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/options/DefaultOptionsService.java b/src/main/java/org/scijava/options/DefaultOptionsService.java index 706eb0579..3067f7c4d 100644 --- a/src/main/java/org/scijava/options/DefaultOptionsService.java +++ b/src/main/java/org/scijava/options/DefaultOptionsService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/options/OptionsPlugin.java b/src/main/java/org/scijava/options/OptionsPlugin.java index ceeb6f0f2..40e07da97 100644 --- a/src/main/java/org/scijava/options/OptionsPlugin.java +++ b/src/main/java/org/scijava/options/OptionsPlugin.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/options/OptionsService.java b/src/main/java/org/scijava/options/OptionsService.java index 199478d05..2c0bc2e7b 100644 --- a/src/main/java/org/scijava/options/OptionsService.java +++ b/src/main/java/org/scijava/options/OptionsService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/options/event/OptionsEvent.java b/src/main/java/org/scijava/options/event/OptionsEvent.java index 6e2712b02..71970cd2d 100644 --- a/src/main/java/org/scijava/options/event/OptionsEvent.java +++ b/src/main/java/org/scijava/options/event/OptionsEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/parse/DefaultParseService.java b/src/main/java/org/scijava/parse/DefaultParseService.java index 3d4d1d9b4..05262097b 100644 --- a/src/main/java/org/scijava/parse/DefaultParseService.java +++ b/src/main/java/org/scijava/parse/DefaultParseService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/parse/Item.java b/src/main/java/org/scijava/parse/Item.java index c08d40764..1a7217d02 100644 --- a/src/main/java/org/scijava/parse/Item.java +++ b/src/main/java/org/scijava/parse/Item.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/parse/Items.java b/src/main/java/org/scijava/parse/Items.java index a1a47320c..dd7a0a8a1 100644 --- a/src/main/java/org/scijava/parse/Items.java +++ b/src/main/java/org/scijava/parse/Items.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/parse/ParseService.java b/src/main/java/org/scijava/parse/ParseService.java index 870893e6f..6a4b7bf80 100644 --- a/src/main/java/org/scijava/parse/ParseService.java +++ b/src/main/java/org/scijava/parse/ParseService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/AbstractPlatform.java b/src/main/java/org/scijava/platform/AbstractPlatform.java index e0437cd04..f97e4b6d4 100644 --- a/src/main/java/org/scijava/platform/AbstractPlatform.java +++ b/src/main/java/org/scijava/platform/AbstractPlatform.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/AppEventService.java b/src/main/java/org/scijava/platform/AppEventService.java index 12dad7a43..8591a610b 100644 --- a/src/main/java/org/scijava/platform/AppEventService.java +++ b/src/main/java/org/scijava/platform/AppEventService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/DefaultAppEventService.java b/src/main/java/org/scijava/platform/DefaultAppEventService.java index 450710084..b3957baec 100644 --- a/src/main/java/org/scijava/platform/DefaultAppEventService.java +++ b/src/main/java/org/scijava/platform/DefaultAppEventService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/DefaultPlatform.java b/src/main/java/org/scijava/platform/DefaultPlatform.java index 06124c883..fb6e44fab 100644 --- a/src/main/java/org/scijava/platform/DefaultPlatform.java +++ b/src/main/java/org/scijava/platform/DefaultPlatform.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/DefaultPlatformService.java b/src/main/java/org/scijava/platform/DefaultPlatformService.java index b0ded7629..7bcc67b26 100644 --- a/src/main/java/org/scijava/platform/DefaultPlatformService.java +++ b/src/main/java/org/scijava/platform/DefaultPlatformService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/Platform.java b/src/main/java/org/scijava/platform/Platform.java index 840e03c46..99c801f66 100644 --- a/src/main/java/org/scijava/platform/Platform.java +++ b/src/main/java/org/scijava/platform/Platform.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/PlatformService.java b/src/main/java/org/scijava/platform/PlatformService.java index 53f56d85d..f0825da3b 100644 --- a/src/main/java/org/scijava/platform/PlatformService.java +++ b/src/main/java/org/scijava/platform/PlatformService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppAboutEvent.java b/src/main/java/org/scijava/platform/event/AppAboutEvent.java index 7bc964bdb..1abf52932 100644 --- a/src/main/java/org/scijava/platform/event/AppAboutEvent.java +++ b/src/main/java/org/scijava/platform/event/AppAboutEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppFocusEvent.java b/src/main/java/org/scijava/platform/event/AppFocusEvent.java index a4364de88..48d8a1dc9 100644 --- a/src/main/java/org/scijava/platform/event/AppFocusEvent.java +++ b/src/main/java/org/scijava/platform/event/AppFocusEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppMenusCreatedEvent.java b/src/main/java/org/scijava/platform/event/AppMenusCreatedEvent.java index 72b90558b..871321496 100644 --- a/src/main/java/org/scijava/platform/event/AppMenusCreatedEvent.java +++ b/src/main/java/org/scijava/platform/event/AppMenusCreatedEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppOpenFilesEvent.java b/src/main/java/org/scijava/platform/event/AppOpenFilesEvent.java index bc6e98bc4..38f6d114d 100644 --- a/src/main/java/org/scijava/platform/event/AppOpenFilesEvent.java +++ b/src/main/java/org/scijava/platform/event/AppOpenFilesEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppPreferencesEvent.java b/src/main/java/org/scijava/platform/event/AppPreferencesEvent.java index 494372e96..67e214539 100644 --- a/src/main/java/org/scijava/platform/event/AppPreferencesEvent.java +++ b/src/main/java/org/scijava/platform/event/AppPreferencesEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppPrintEvent.java b/src/main/java/org/scijava/platform/event/AppPrintEvent.java index b89404a7d..1e7ca07da 100644 --- a/src/main/java/org/scijava/platform/event/AppPrintEvent.java +++ b/src/main/java/org/scijava/platform/event/AppPrintEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppQuitEvent.java b/src/main/java/org/scijava/platform/event/AppQuitEvent.java index 6f8f3ff08..445bb83c0 100644 --- a/src/main/java/org/scijava/platform/event/AppQuitEvent.java +++ b/src/main/java/org/scijava/platform/event/AppQuitEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppReOpenEvent.java b/src/main/java/org/scijava/platform/event/AppReOpenEvent.java index db1fe918b..6fce38f6e 100644 --- a/src/main/java/org/scijava/platform/event/AppReOpenEvent.java +++ b/src/main/java/org/scijava/platform/event/AppReOpenEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppScreenSleepEvent.java b/src/main/java/org/scijava/platform/event/AppScreenSleepEvent.java index 4396d87d7..7d6626e11 100644 --- a/src/main/java/org/scijava/platform/event/AppScreenSleepEvent.java +++ b/src/main/java/org/scijava/platform/event/AppScreenSleepEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppSleepEvent.java b/src/main/java/org/scijava/platform/event/AppSleepEvent.java index a8545571b..7ff2d58f9 100644 --- a/src/main/java/org/scijava/platform/event/AppSleepEvent.java +++ b/src/main/java/org/scijava/platform/event/AppSleepEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppSystemSleepEvent.java b/src/main/java/org/scijava/platform/event/AppSystemSleepEvent.java index 81c23b321..56347c8cf 100644 --- a/src/main/java/org/scijava/platform/event/AppSystemSleepEvent.java +++ b/src/main/java/org/scijava/platform/event/AppSystemSleepEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppUserSessionEvent.java b/src/main/java/org/scijava/platform/event/AppUserSessionEvent.java index 8adcbb90d..a35cde8d9 100644 --- a/src/main/java/org/scijava/platform/event/AppUserSessionEvent.java +++ b/src/main/java/org/scijava/platform/event/AppUserSessionEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppVisibleEvent.java b/src/main/java/org/scijava/platform/event/AppVisibleEvent.java index 88d6d71fb..8e63de1a8 100644 --- a/src/main/java/org/scijava/platform/event/AppVisibleEvent.java +++ b/src/main/java/org/scijava/platform/event/AppVisibleEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/ApplicationEvent.java b/src/main/java/org/scijava/platform/event/ApplicationEvent.java index 0114a3231..f9ae6a778 100644 --- a/src/main/java/org/scijava/platform/event/ApplicationEvent.java +++ b/src/main/java/org/scijava/platform/event/ApplicationEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractHandlerPlugin.java b/src/main/java/org/scijava/plugin/AbstractHandlerPlugin.java index 358baa2f5..5242b040f 100644 --- a/src/main/java/org/scijava/plugin/AbstractHandlerPlugin.java +++ b/src/main/java/org/scijava/plugin/AbstractHandlerPlugin.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractHandlerService.java b/src/main/java/org/scijava/plugin/AbstractHandlerService.java index a0bd36719..4d5dfe5ec 100644 --- a/src/main/java/org/scijava/plugin/AbstractHandlerService.java +++ b/src/main/java/org/scijava/plugin/AbstractHandlerService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractPTService.java b/src/main/java/org/scijava/plugin/AbstractPTService.java index 03145e616..5c5cef87e 100644 --- a/src/main/java/org/scijava/plugin/AbstractPTService.java +++ b/src/main/java/org/scijava/plugin/AbstractPTService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractRichPlugin.java b/src/main/java/org/scijava/plugin/AbstractRichPlugin.java index 30b46b66d..179dcf60a 100644 --- a/src/main/java/org/scijava/plugin/AbstractRichPlugin.java +++ b/src/main/java/org/scijava/plugin/AbstractRichPlugin.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractSingletonService.java b/src/main/java/org/scijava/plugin/AbstractSingletonService.java index ee5dc7cef..81fe6d810 100644 --- a/src/main/java/org/scijava/plugin/AbstractSingletonService.java +++ b/src/main/java/org/scijava/plugin/AbstractSingletonService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractTypedPlugin.java b/src/main/java/org/scijava/plugin/AbstractTypedPlugin.java index 52b82ef2c..088516aa4 100644 --- a/src/main/java/org/scijava/plugin/AbstractTypedPlugin.java +++ b/src/main/java/org/scijava/plugin/AbstractTypedPlugin.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractTypedService.java b/src/main/java/org/scijava/plugin/AbstractTypedService.java index 7c71dfd51..15f2b2f50 100644 --- a/src/main/java/org/scijava/plugin/AbstractTypedService.java +++ b/src/main/java/org/scijava/plugin/AbstractTypedService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractWrapperPlugin.java b/src/main/java/org/scijava/plugin/AbstractWrapperPlugin.java index ca7cfafad..86834e247 100644 --- a/src/main/java/org/scijava/plugin/AbstractWrapperPlugin.java +++ b/src/main/java/org/scijava/plugin/AbstractWrapperPlugin.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractWrapperService.java b/src/main/java/org/scijava/plugin/AbstractWrapperService.java index 4795a5810..44319cb0a 100644 --- a/src/main/java/org/scijava/plugin/AbstractWrapperService.java +++ b/src/main/java/org/scijava/plugin/AbstractWrapperService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/Attr.java b/src/main/java/org/scijava/plugin/Attr.java index 08aac65da..dbff0e208 100644 --- a/src/main/java/org/scijava/plugin/Attr.java +++ b/src/main/java/org/scijava/plugin/Attr.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/DefaultPluginFinder.java b/src/main/java/org/scijava/plugin/DefaultPluginFinder.java index 21242fcf6..d703119a8 100644 --- a/src/main/java/org/scijava/plugin/DefaultPluginFinder.java +++ b/src/main/java/org/scijava/plugin/DefaultPluginFinder.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/DefaultPluginService.java b/src/main/java/org/scijava/plugin/DefaultPluginService.java index 45fcdf656..aa11fb7d5 100644 --- a/src/main/java/org/scijava/plugin/DefaultPluginService.java +++ b/src/main/java/org/scijava/plugin/DefaultPluginService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/HandlerPlugin.java b/src/main/java/org/scijava/plugin/HandlerPlugin.java index 9dfe36a7a..9a70628d9 100644 --- a/src/main/java/org/scijava/plugin/HandlerPlugin.java +++ b/src/main/java/org/scijava/plugin/HandlerPlugin.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/HandlerService.java b/src/main/java/org/scijava/plugin/HandlerService.java index dd4cc1b7c..cf72138fa 100644 --- a/src/main/java/org/scijava/plugin/HandlerService.java +++ b/src/main/java/org/scijava/plugin/HandlerService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/HasPluginInfo.java b/src/main/java/org/scijava/plugin/HasPluginInfo.java index 4e359bd91..ffd2326c5 100644 --- a/src/main/java/org/scijava/plugin/HasPluginInfo.java +++ b/src/main/java/org/scijava/plugin/HasPluginInfo.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/Menu.java b/src/main/java/org/scijava/plugin/Menu.java index 9b031c836..33bda0f4a 100644 --- a/src/main/java/org/scijava/plugin/Menu.java +++ b/src/main/java/org/scijava/plugin/Menu.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/PTService.java b/src/main/java/org/scijava/plugin/PTService.java index 990535a43..9d45d2ebb 100644 --- a/src/main/java/org/scijava/plugin/PTService.java +++ b/src/main/java/org/scijava/plugin/PTService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/Parameter.java b/src/main/java/org/scijava/plugin/Parameter.java index 3d0f14077..ac24dd5e6 100644 --- a/src/main/java/org/scijava/plugin/Parameter.java +++ b/src/main/java/org/scijava/plugin/Parameter.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/Plugin.java b/src/main/java/org/scijava/plugin/Plugin.java index 3a084f7ef..f71c9d0b8 100644 --- a/src/main/java/org/scijava/plugin/Plugin.java +++ b/src/main/java/org/scijava/plugin/Plugin.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/PluginFinder.java b/src/main/java/org/scijava/plugin/PluginFinder.java index 59310b635..3437229c1 100644 --- a/src/main/java/org/scijava/plugin/PluginFinder.java +++ b/src/main/java/org/scijava/plugin/PluginFinder.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/PluginIndex.java b/src/main/java/org/scijava/plugin/PluginIndex.java index 78866bbe8..ac783ec41 100644 --- a/src/main/java/org/scijava/plugin/PluginIndex.java +++ b/src/main/java/org/scijava/plugin/PluginIndex.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/PluginInfo.java b/src/main/java/org/scijava/plugin/PluginInfo.java index 90cf7dac5..55b6034a8 100644 --- a/src/main/java/org/scijava/plugin/PluginInfo.java +++ b/src/main/java/org/scijava/plugin/PluginInfo.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/PluginService.java b/src/main/java/org/scijava/plugin/PluginService.java index 36adb07a7..afe785048 100644 --- a/src/main/java/org/scijava/plugin/PluginService.java +++ b/src/main/java/org/scijava/plugin/PluginService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/RichPlugin.java b/src/main/java/org/scijava/plugin/RichPlugin.java index 33ab3e9f4..528e378dc 100644 --- a/src/main/java/org/scijava/plugin/RichPlugin.java +++ b/src/main/java/org/scijava/plugin/RichPlugin.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/SciJavaPlugin.java b/src/main/java/org/scijava/plugin/SciJavaPlugin.java index cfcda7d6a..3c4014149 100644 --- a/src/main/java/org/scijava/plugin/SciJavaPlugin.java +++ b/src/main/java/org/scijava/plugin/SciJavaPlugin.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/SingletonPlugin.java b/src/main/java/org/scijava/plugin/SingletonPlugin.java index 8be6a7b9a..64c52b840 100644 --- a/src/main/java/org/scijava/plugin/SingletonPlugin.java +++ b/src/main/java/org/scijava/plugin/SingletonPlugin.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/SingletonService.java b/src/main/java/org/scijava/plugin/SingletonService.java index 4099afbdc..71a1f09d1 100644 --- a/src/main/java/org/scijava/plugin/SingletonService.java +++ b/src/main/java/org/scijava/plugin/SingletonService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/SortablePlugin.java b/src/main/java/org/scijava/plugin/SortablePlugin.java index e031af5bb..596f536d9 100644 --- a/src/main/java/org/scijava/plugin/SortablePlugin.java +++ b/src/main/java/org/scijava/plugin/SortablePlugin.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/TypedPlugin.java b/src/main/java/org/scijava/plugin/TypedPlugin.java index 2e451c992..ff5866890 100644 --- a/src/main/java/org/scijava/plugin/TypedPlugin.java +++ b/src/main/java/org/scijava/plugin/TypedPlugin.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/TypedService.java b/src/main/java/org/scijava/plugin/TypedService.java index b1c8263f9..052a00aca 100644 --- a/src/main/java/org/scijava/plugin/TypedService.java +++ b/src/main/java/org/scijava/plugin/TypedService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/WrapperPlugin.java b/src/main/java/org/scijava/plugin/WrapperPlugin.java index 06ad76eaa..b2391b7de 100644 --- a/src/main/java/org/scijava/plugin/WrapperPlugin.java +++ b/src/main/java/org/scijava/plugin/WrapperPlugin.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/WrapperService.java b/src/main/java/org/scijava/plugin/WrapperService.java index 6e4483e02..08fb27213 100644 --- a/src/main/java/org/scijava/plugin/WrapperService.java +++ b/src/main/java/org/scijava/plugin/WrapperService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/event/PluginsAddedEvent.java b/src/main/java/org/scijava/plugin/event/PluginsAddedEvent.java index ed19ddcf5..4f9e4cb72 100644 --- a/src/main/java/org/scijava/plugin/event/PluginsAddedEvent.java +++ b/src/main/java/org/scijava/plugin/event/PluginsAddedEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/event/PluginsListEvent.java b/src/main/java/org/scijava/plugin/event/PluginsListEvent.java index 3fd7a5d32..9a65c9fb0 100644 --- a/src/main/java/org/scijava/plugin/event/PluginsListEvent.java +++ b/src/main/java/org/scijava/plugin/event/PluginsListEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/event/PluginsRemovedEvent.java b/src/main/java/org/scijava/plugin/event/PluginsRemovedEvent.java index d4636239a..98eca3ac8 100644 --- a/src/main/java/org/scijava/plugin/event/PluginsRemovedEvent.java +++ b/src/main/java/org/scijava/plugin/event/PluginsRemovedEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/prefs/AbstractPrefService.java b/src/main/java/org/scijava/prefs/AbstractPrefService.java index 350fe27b1..21ea5976f 100644 --- a/src/main/java/org/scijava/prefs/AbstractPrefService.java +++ b/src/main/java/org/scijava/prefs/AbstractPrefService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/prefs/DefaultPrefService.java b/src/main/java/org/scijava/prefs/DefaultPrefService.java index 92ae62f8f..229c8deed 100644 --- a/src/main/java/org/scijava/prefs/DefaultPrefService.java +++ b/src/main/java/org/scijava/prefs/DefaultPrefService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/prefs/PrefService.java b/src/main/java/org/scijava/prefs/PrefService.java index b039d970b..ba4f40876 100644 --- a/src/main/java/org/scijava/prefs/PrefService.java +++ b/src/main/java/org/scijava/prefs/PrefService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/run/AbstractCodeRunner.java b/src/main/java/org/scijava/run/AbstractCodeRunner.java index 8bacf6a95..3f10ada1a 100644 --- a/src/main/java/org/scijava/run/AbstractCodeRunner.java +++ b/src/main/java/org/scijava/run/AbstractCodeRunner.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/run/CodeRunner.java b/src/main/java/org/scijava/run/CodeRunner.java index 56fe2954b..c3dd29465 100644 --- a/src/main/java/org/scijava/run/CodeRunner.java +++ b/src/main/java/org/scijava/run/CodeRunner.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/run/DefaultRunService.java b/src/main/java/org/scijava/run/DefaultRunService.java index b8aee1b27..fd481f213 100644 --- a/src/main/java/org/scijava/run/DefaultRunService.java +++ b/src/main/java/org/scijava/run/DefaultRunService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/run/RunService.java b/src/main/java/org/scijava/run/RunService.java index ab6ca65be..d0f293b92 100644 --- a/src/main/java/org/scijava/run/RunService.java +++ b/src/main/java/org/scijava/run/RunService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/run/console/RunArgument.java b/src/main/java/org/scijava/run/console/RunArgument.java index 0ee722664..3f5d01fb4 100644 --- a/src/main/java/org/scijava/run/console/RunArgument.java +++ b/src/main/java/org/scijava/run/console/RunArgument.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AbstractAutoCompleter.java b/src/main/java/org/scijava/script/AbstractAutoCompleter.java index 981653d9c..f06224bfd 100644 --- a/src/main/java/org/scijava/script/AbstractAutoCompleter.java +++ b/src/main/java/org/scijava/script/AbstractAutoCompleter.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AbstractScriptContext.java b/src/main/java/org/scijava/script/AbstractScriptContext.java index 7b8409a03..452a7b212 100644 --- a/src/main/java/org/scijava/script/AbstractScriptContext.java +++ b/src/main/java/org/scijava/script/AbstractScriptContext.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AbstractScriptEngine.java b/src/main/java/org/scijava/script/AbstractScriptEngine.java index cdbb2252d..13b9d56d3 100644 --- a/src/main/java/org/scijava/script/AbstractScriptEngine.java +++ b/src/main/java/org/scijava/script/AbstractScriptEngine.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AbstractScriptHeader.java b/src/main/java/org/scijava/script/AbstractScriptHeader.java index 819d79c8d..f2cd2549a 100644 --- a/src/main/java/org/scijava/script/AbstractScriptHeader.java +++ b/src/main/java/org/scijava/script/AbstractScriptHeader.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AbstractScriptLanguage.java b/src/main/java/org/scijava/script/AbstractScriptLanguage.java index cd29ceb33..c3b0934c8 100644 --- a/src/main/java/org/scijava/script/AbstractScriptLanguage.java +++ b/src/main/java/org/scijava/script/AbstractScriptLanguage.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AdaptedScriptEngine.java b/src/main/java/org/scijava/script/AdaptedScriptEngine.java index e69de8bf3..506da8b54 100644 --- a/src/main/java/org/scijava/script/AdaptedScriptEngine.java +++ b/src/main/java/org/scijava/script/AdaptedScriptEngine.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AdaptedScriptLanguage.java b/src/main/java/org/scijava/script/AdaptedScriptLanguage.java index 8ab47cfb4..804fa7e80 100644 --- a/src/main/java/org/scijava/script/AdaptedScriptLanguage.java +++ b/src/main/java/org/scijava/script/AdaptedScriptLanguage.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AutoCompleter.java b/src/main/java/org/scijava/script/AutoCompleter.java index 220e78589..37c2960e4 100644 --- a/src/main/java/org/scijava/script/AutoCompleter.java +++ b/src/main/java/org/scijava/script/AutoCompleter.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AutoCompletionResult.java b/src/main/java/org/scijava/script/AutoCompletionResult.java index e3f777d36..90e1000db 100644 --- a/src/main/java/org/scijava/script/AutoCompletionResult.java +++ b/src/main/java/org/scijava/script/AutoCompletionResult.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/CodeGenerator.java b/src/main/java/org/scijava/script/CodeGenerator.java index b8a0e9266..461b2cd1c 100644 --- a/src/main/java/org/scijava/script/CodeGenerator.java +++ b/src/main/java/org/scijava/script/CodeGenerator.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/CodeGeneratorJava.java b/src/main/java/org/scijava/script/CodeGeneratorJava.java index 8c2db2675..a6911a839 100644 --- a/src/main/java/org/scijava/script/CodeGeneratorJava.java +++ b/src/main/java/org/scijava/script/CodeGeneratorJava.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/DefaultAutoCompleter.java b/src/main/java/org/scijava/script/DefaultAutoCompleter.java index f20e3ee25..0f9878e88 100644 --- a/src/main/java/org/scijava/script/DefaultAutoCompleter.java +++ b/src/main/java/org/scijava/script/DefaultAutoCompleter.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/DefaultScriptHeaderService.java b/src/main/java/org/scijava/script/DefaultScriptHeaderService.java index 4d2ac2050..39b718050 100644 --- a/src/main/java/org/scijava/script/DefaultScriptHeaderService.java +++ b/src/main/java/org/scijava/script/DefaultScriptHeaderService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/DefaultScriptInterpreter.java b/src/main/java/org/scijava/script/DefaultScriptInterpreter.java index f6610d7f9..58fb7e4b0 100644 --- a/src/main/java/org/scijava/script/DefaultScriptInterpreter.java +++ b/src/main/java/org/scijava/script/DefaultScriptInterpreter.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/DefaultScriptService.java b/src/main/java/org/scijava/script/DefaultScriptService.java index f677c555c..974b4e517 100644 --- a/src/main/java/org/scijava/script/DefaultScriptService.java +++ b/src/main/java/org/scijava/script/DefaultScriptService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/InvocationObject.java b/src/main/java/org/scijava/script/InvocationObject.java index 85886a494..d90d3b4d6 100644 --- a/src/main/java/org/scijava/script/InvocationObject.java +++ b/src/main/java/org/scijava/script/InvocationObject.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ParameterObject.java b/src/main/java/org/scijava/script/ParameterObject.java index 8f6f68af5..7142501d8 100644 --- a/src/main/java/org/scijava/script/ParameterObject.java +++ b/src/main/java/org/scijava/script/ParameterObject.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptFinder.java b/src/main/java/org/scijava/script/ScriptFinder.java index 0422b2aca..ef358a778 100644 --- a/src/main/java/org/scijava/script/ScriptFinder.java +++ b/src/main/java/org/scijava/script/ScriptFinder.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptHeader.java b/src/main/java/org/scijava/script/ScriptHeader.java index 3872e1e3f..631183696 100644 --- a/src/main/java/org/scijava/script/ScriptHeader.java +++ b/src/main/java/org/scijava/script/ScriptHeader.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptHeaderService.java b/src/main/java/org/scijava/script/ScriptHeaderService.java index 25d8b08c5..54fb2e316 100644 --- a/src/main/java/org/scijava/script/ScriptHeaderService.java +++ b/src/main/java/org/scijava/script/ScriptHeaderService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptInfo.java b/src/main/java/org/scijava/script/ScriptInfo.java index ef8802b5a..ce199cbe8 100644 --- a/src/main/java/org/scijava/script/ScriptInfo.java +++ b/src/main/java/org/scijava/script/ScriptInfo.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptInterpreter.java b/src/main/java/org/scijava/script/ScriptInterpreter.java index 782bb0d71..bea31b1bd 100644 --- a/src/main/java/org/scijava/script/ScriptInterpreter.java +++ b/src/main/java/org/scijava/script/ScriptInterpreter.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptLanguage.java b/src/main/java/org/scijava/script/ScriptLanguage.java index 779ca7897..da77e84a3 100644 --- a/src/main/java/org/scijava/script/ScriptLanguage.java +++ b/src/main/java/org/scijava/script/ScriptLanguage.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptLanguageIndex.java b/src/main/java/org/scijava/script/ScriptLanguageIndex.java index 68fe4d6db..66035b130 100644 --- a/src/main/java/org/scijava/script/ScriptLanguageIndex.java +++ b/src/main/java/org/scijava/script/ScriptLanguageIndex.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptModule.java b/src/main/java/org/scijava/script/ScriptModule.java index 3766c56c6..7e398fb55 100644 --- a/src/main/java/org/scijava/script/ScriptModule.java +++ b/src/main/java/org/scijava/script/ScriptModule.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptREPL.java b/src/main/java/org/scijava/script/ScriptREPL.java index d28558f8b..d6c10adfd 100644 --- a/src/main/java/org/scijava/script/ScriptREPL.java +++ b/src/main/java/org/scijava/script/ScriptREPL.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptService.java b/src/main/java/org/scijava/script/ScriptService.java index 1bdbb8aaa..b295fdadd 100644 --- a/src/main/java/org/scijava/script/ScriptService.java +++ b/src/main/java/org/scijava/script/ScriptService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/console/RunScriptArgument.java b/src/main/java/org/scijava/script/console/RunScriptArgument.java index f8b99c3b9..db593af9e 100644 --- a/src/main/java/org/scijava/script/console/RunScriptArgument.java +++ b/src/main/java/org/scijava/script/console/RunScriptArgument.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/io/ScriptIOPlugin.java b/src/main/java/org/scijava/script/io/ScriptIOPlugin.java index 72e20f701..56d201770 100644 --- a/src/main/java/org/scijava/script/io/ScriptIOPlugin.java +++ b/src/main/java/org/scijava/script/io/ScriptIOPlugin.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/process/DefaultScriptProcessorService.java b/src/main/java/org/scijava/script/process/DefaultScriptProcessorService.java index 1978295b4..b3486a274 100644 --- a/src/main/java/org/scijava/script/process/DefaultScriptProcessorService.java +++ b/src/main/java/org/scijava/script/process/DefaultScriptProcessorService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/process/DirectiveScriptProcessor.java b/src/main/java/org/scijava/script/process/DirectiveScriptProcessor.java index a7cdbba47..047b09986 100644 --- a/src/main/java/org/scijava/script/process/DirectiveScriptProcessor.java +++ b/src/main/java/org/scijava/script/process/DirectiveScriptProcessor.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java b/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java index 1473ddf33..fb73cdc16 100644 --- a/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java +++ b/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/process/ScriptCallback.java b/src/main/java/org/scijava/script/process/ScriptCallback.java index 5d060704f..d3c21ac86 100644 --- a/src/main/java/org/scijava/script/process/ScriptCallback.java +++ b/src/main/java/org/scijava/script/process/ScriptCallback.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/process/ScriptDirectiveScriptProcessor.java b/src/main/java/org/scijava/script/process/ScriptDirectiveScriptProcessor.java index 212495c1d..3521add73 100644 --- a/src/main/java/org/scijava/script/process/ScriptDirectiveScriptProcessor.java +++ b/src/main/java/org/scijava/script/process/ScriptDirectiveScriptProcessor.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/process/ScriptProcessor.java b/src/main/java/org/scijava/script/process/ScriptProcessor.java index 11bb9645a..28ef60b73 100644 --- a/src/main/java/org/scijava/script/process/ScriptProcessor.java +++ b/src/main/java/org/scijava/script/process/ScriptProcessor.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/process/ScriptProcessorService.java b/src/main/java/org/scijava/script/process/ScriptProcessorService.java index 66a482476..cbf37f84c 100644 --- a/src/main/java/org/scijava/script/process/ScriptProcessorService.java +++ b/src/main/java/org/scijava/script/process/ScriptProcessorService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/process/ShebangScriptProcessor.java b/src/main/java/org/scijava/script/process/ShebangScriptProcessor.java index 1d93df16b..f0acd3f06 100644 --- a/src/main/java/org/scijava/script/process/ShebangScriptProcessor.java +++ b/src/main/java/org/scijava/script/process/ShebangScriptProcessor.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/run/ScriptCodeRunner.java b/src/main/java/org/scijava/script/run/ScriptCodeRunner.java index 02df88c75..007f7eb5e 100644 --- a/src/main/java/org/scijava/script/run/ScriptCodeRunner.java +++ b/src/main/java/org/scijava/script/run/ScriptCodeRunner.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/service/AbstractService.java b/src/main/java/org/scijava/service/AbstractService.java index 0a5e7c631..3aaef93d9 100644 --- a/src/main/java/org/scijava/service/AbstractService.java +++ b/src/main/java/org/scijava/service/AbstractService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/service/SciJavaService.java b/src/main/java/org/scijava/service/SciJavaService.java index 5887eec55..a1dad4f9d 100644 --- a/src/main/java/org/scijava/service/SciJavaService.java +++ b/src/main/java/org/scijava/service/SciJavaService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/service/Service.java b/src/main/java/org/scijava/service/Service.java index 3260f6205..31b5c5137 100644 --- a/src/main/java/org/scijava/service/Service.java +++ b/src/main/java/org/scijava/service/Service.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/service/ServiceHelper.java b/src/main/java/org/scijava/service/ServiceHelper.java index 728e07e5a..f4222cd09 100644 --- a/src/main/java/org/scijava/service/ServiceHelper.java +++ b/src/main/java/org/scijava/service/ServiceHelper.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/service/ServiceIndex.java b/src/main/java/org/scijava/service/ServiceIndex.java index e512c2a0f..4507986b0 100644 --- a/src/main/java/org/scijava/service/ServiceIndex.java +++ b/src/main/java/org/scijava/service/ServiceIndex.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/service/event/ServicesLoadedEvent.java b/src/main/java/org/scijava/service/event/ServicesLoadedEvent.java index 8c06ba6d0..aa43d1d6f 100644 --- a/src/main/java/org/scijava/service/event/ServicesLoadedEvent.java +++ b/src/main/java/org/scijava/service/event/ServicesLoadedEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/startup/DefaultStartupService.java b/src/main/java/org/scijava/startup/DefaultStartupService.java index 2a4d8ab4c..e37f3684c 100644 --- a/src/main/java/org/scijava/startup/DefaultStartupService.java +++ b/src/main/java/org/scijava/startup/DefaultStartupService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/startup/StartupService.java b/src/main/java/org/scijava/startup/StartupService.java index 8f1e56f47..8f886e34a 100644 --- a/src/main/java/org/scijava/startup/StartupService.java +++ b/src/main/java/org/scijava/startup/StartupService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/task/DefaultTask.java b/src/main/java/org/scijava/task/DefaultTask.java index 8042f511e..fae38bd39 100644 --- a/src/main/java/org/scijava/task/DefaultTask.java +++ b/src/main/java/org/scijava/task/DefaultTask.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/task/DefaultTaskService.java b/src/main/java/org/scijava/task/DefaultTaskService.java index e99edfa3a..67f5c60c8 100644 --- a/src/main/java/org/scijava/task/DefaultTaskService.java +++ b/src/main/java/org/scijava/task/DefaultTaskService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/task/Task.java b/src/main/java/org/scijava/task/Task.java index 958ec8d07..f2ea69aef 100644 --- a/src/main/java/org/scijava/task/Task.java +++ b/src/main/java/org/scijava/task/Task.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/task/TaskService.java b/src/main/java/org/scijava/task/TaskService.java index 774f2ae98..82d015847 100644 --- a/src/main/java/org/scijava/task/TaskService.java +++ b/src/main/java/org/scijava/task/TaskService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/task/event/TaskEvent.java b/src/main/java/org/scijava/task/event/TaskEvent.java index a8f3a02dd..9b88b2642 100644 --- a/src/main/java/org/scijava/task/event/TaskEvent.java +++ b/src/main/java/org/scijava/task/event/TaskEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/test/TestUtils.java b/src/main/java/org/scijava/test/TestUtils.java index 3244499c7..3a71c3fa0 100644 --- a/src/main/java/org/scijava/test/TestUtils.java +++ b/src/main/java/org/scijava/test/TestUtils.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/text/AbstractTextFormat.java b/src/main/java/org/scijava/text/AbstractTextFormat.java index c02394f10..ce1a419dc 100644 --- a/src/main/java/org/scijava/text/AbstractTextFormat.java +++ b/src/main/java/org/scijava/text/AbstractTextFormat.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/text/DefaultTextService.java b/src/main/java/org/scijava/text/DefaultTextService.java index dd1ecc2d3..82d09cf40 100644 --- a/src/main/java/org/scijava/text/DefaultTextService.java +++ b/src/main/java/org/scijava/text/DefaultTextService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/text/TextFormat.java b/src/main/java/org/scijava/text/TextFormat.java index 6e483d3b1..aeb62d315 100644 --- a/src/main/java/org/scijava/text/TextFormat.java +++ b/src/main/java/org/scijava/text/TextFormat.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/text/TextService.java b/src/main/java/org/scijava/text/TextService.java index 16b18d1c6..03209c58c 100644 --- a/src/main/java/org/scijava/text/TextService.java +++ b/src/main/java/org/scijava/text/TextService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/text/io/TextIOPlugin.java b/src/main/java/org/scijava/text/io/TextIOPlugin.java index 03b090046..3d2c64172 100644 --- a/src/main/java/org/scijava/text/io/TextIOPlugin.java +++ b/src/main/java/org/scijava/text/io/TextIOPlugin.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/thread/DefaultThreadService.java b/src/main/java/org/scijava/thread/DefaultThreadService.java index e24ac8e40..626fb7a24 100644 --- a/src/main/java/org/scijava/thread/DefaultThreadService.java +++ b/src/main/java/org/scijava/thread/DefaultThreadService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/thread/ThreadService.java b/src/main/java/org/scijava/thread/ThreadService.java index e33011885..69a6c13bf 100644 --- a/src/main/java/org/scijava/thread/ThreadService.java +++ b/src/main/java/org/scijava/thread/ThreadService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/AbstractTool.java b/src/main/java/org/scijava/tool/AbstractTool.java index f233701ba..b1bbfbff9 100644 --- a/src/main/java/org/scijava/tool/AbstractTool.java +++ b/src/main/java/org/scijava/tool/AbstractTool.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/CustomDrawnTool.java b/src/main/java/org/scijava/tool/CustomDrawnTool.java index 3b9c6cd32..48af501ac 100644 --- a/src/main/java/org/scijava/tool/CustomDrawnTool.java +++ b/src/main/java/org/scijava/tool/CustomDrawnTool.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/DefaultToolService.java b/src/main/java/org/scijava/tool/DefaultToolService.java index cb714e30f..f907ce6fc 100644 --- a/src/main/java/org/scijava/tool/DefaultToolService.java +++ b/src/main/java/org/scijava/tool/DefaultToolService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/DummyTool.java b/src/main/java/org/scijava/tool/DummyTool.java index 508c35b16..0da513789 100644 --- a/src/main/java/org/scijava/tool/DummyTool.java +++ b/src/main/java/org/scijava/tool/DummyTool.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/IconDrawer.java b/src/main/java/org/scijava/tool/IconDrawer.java index 6e2c26d27..782c1eda3 100644 --- a/src/main/java/org/scijava/tool/IconDrawer.java +++ b/src/main/java/org/scijava/tool/IconDrawer.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/IconService.java b/src/main/java/org/scijava/tool/IconService.java index 48b5b2ae8..e293a5a79 100644 --- a/src/main/java/org/scijava/tool/IconService.java +++ b/src/main/java/org/scijava/tool/IconService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/Tool.java b/src/main/java/org/scijava/tool/Tool.java index 8e32d696b..118e54529 100644 --- a/src/main/java/org/scijava/tool/Tool.java +++ b/src/main/java/org/scijava/tool/Tool.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/ToolService.java b/src/main/java/org/scijava/tool/ToolService.java index 29065b2f7..175fc01d3 100644 --- a/src/main/java/org/scijava/tool/ToolService.java +++ b/src/main/java/org/scijava/tool/ToolService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/event/ToolActivatedEvent.java b/src/main/java/org/scijava/tool/event/ToolActivatedEvent.java index 70df3662f..33665f794 100644 --- a/src/main/java/org/scijava/tool/event/ToolActivatedEvent.java +++ b/src/main/java/org/scijava/tool/event/ToolActivatedEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/event/ToolDeactivatedEvent.java b/src/main/java/org/scijava/tool/event/ToolDeactivatedEvent.java index 9eab6bd6c..5099ed283 100644 --- a/src/main/java/org/scijava/tool/event/ToolDeactivatedEvent.java +++ b/src/main/java/org/scijava/tool/event/ToolDeactivatedEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/event/ToolEvent.java b/src/main/java/org/scijava/tool/event/ToolEvent.java index 1ea60d802..c6bf80824 100644 --- a/src/main/java/org/scijava/tool/event/ToolEvent.java +++ b/src/main/java/org/scijava/tool/event/ToolEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/ARGBPlane.java b/src/main/java/org/scijava/ui/ARGBPlane.java index 0b6681e37..1601a2b07 100644 --- a/src/main/java/org/scijava/ui/ARGBPlane.java +++ b/src/main/java/org/scijava/ui/ARGBPlane.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/AbstractInputHarvesterPlugin.java b/src/main/java/org/scijava/ui/AbstractInputHarvesterPlugin.java index 6b078bdb5..920b4e6a0 100644 --- a/src/main/java/org/scijava/ui/AbstractInputHarvesterPlugin.java +++ b/src/main/java/org/scijava/ui/AbstractInputHarvesterPlugin.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/AbstractUIInputWidget.java b/src/main/java/org/scijava/ui/AbstractUIInputWidget.java index 3aa8d4214..ca37e8503 100644 --- a/src/main/java/org/scijava/ui/AbstractUIInputWidget.java +++ b/src/main/java/org/scijava/ui/AbstractUIInputWidget.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/AbstractUserInterface.java b/src/main/java/org/scijava/ui/AbstractUserInterface.java index 0e429808e..1efa8139b 100644 --- a/src/main/java/org/scijava/ui/AbstractUserInterface.java +++ b/src/main/java/org/scijava/ui/AbstractUserInterface.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/ApplicationFrame.java b/src/main/java/org/scijava/ui/ApplicationFrame.java index ddbde1e27..30a63ca2d 100644 --- a/src/main/java/org/scijava/ui/ApplicationFrame.java +++ b/src/main/java/org/scijava/ui/ApplicationFrame.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/Arrangeable.java b/src/main/java/org/scijava/ui/Arrangeable.java index 49f2b6d64..bdcbaafa7 100644 --- a/src/main/java/org/scijava/ui/Arrangeable.java +++ b/src/main/java/org/scijava/ui/Arrangeable.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/CloseConfirmable.java b/src/main/java/org/scijava/ui/CloseConfirmable.java index fb81cb57d..c0f410b6b 100644 --- a/src/main/java/org/scijava/ui/CloseConfirmable.java +++ b/src/main/java/org/scijava/ui/CloseConfirmable.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/DefaultUIService.java b/src/main/java/org/scijava/ui/DefaultUIService.java index d7d915eea..96fc2ea6d 100644 --- a/src/main/java/org/scijava/ui/DefaultUIService.java +++ b/src/main/java/org/scijava/ui/DefaultUIService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/Desktop.java b/src/main/java/org/scijava/ui/Desktop.java index 710d440c4..f8407428e 100644 --- a/src/main/java/org/scijava/ui/Desktop.java +++ b/src/main/java/org/scijava/ui/Desktop.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/DialogPrompt.java b/src/main/java/org/scijava/ui/DialogPrompt.java index d0e0ec607..82401f183 100644 --- a/src/main/java/org/scijava/ui/DialogPrompt.java +++ b/src/main/java/org/scijava/ui/DialogPrompt.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/FileListPreprocessor.java b/src/main/java/org/scijava/ui/FileListPreprocessor.java index 6a8971898..fbb5cea5b 100644 --- a/src/main/java/org/scijava/ui/FileListPreprocessor.java +++ b/src/main/java/org/scijava/ui/FileListPreprocessor.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/FilePreprocessor.java b/src/main/java/org/scijava/ui/FilePreprocessor.java index 2bb916e29..02b8d1a04 100644 --- a/src/main/java/org/scijava/ui/FilePreprocessor.java +++ b/src/main/java/org/scijava/ui/FilePreprocessor.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/StatusBar.java b/src/main/java/org/scijava/ui/StatusBar.java index ea09442f9..8d11e6ddb 100644 --- a/src/main/java/org/scijava/ui/StatusBar.java +++ b/src/main/java/org/scijava/ui/StatusBar.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/SystemClipboard.java b/src/main/java/org/scijava/ui/SystemClipboard.java index 4bbd7e490..42e2bd1cd 100644 --- a/src/main/java/org/scijava/ui/SystemClipboard.java +++ b/src/main/java/org/scijava/ui/SystemClipboard.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/ToolBar.java b/src/main/java/org/scijava/ui/ToolBar.java index f4ef6f875..91555eb7f 100644 --- a/src/main/java/org/scijava/ui/ToolBar.java +++ b/src/main/java/org/scijava/ui/ToolBar.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/UIPreprocessor.java b/src/main/java/org/scijava/ui/UIPreprocessor.java index c1e11ccab..abf939667 100644 --- a/src/main/java/org/scijava/ui/UIPreprocessor.java +++ b/src/main/java/org/scijava/ui/UIPreprocessor.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/UIService.java b/src/main/java/org/scijava/ui/UIService.java index 9b711bd05..efd1cbccf 100644 --- a/src/main/java/org/scijava/ui/UIService.java +++ b/src/main/java/org/scijava/ui/UIService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/UserInterface.java b/src/main/java/org/scijava/ui/UserInterface.java index 6449960b7..ca5c86cee 100644 --- a/src/main/java/org/scijava/ui/UserInterface.java +++ b/src/main/java/org/scijava/ui/UserInterface.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/console/AbstractConsolePane.java b/src/main/java/org/scijava/ui/console/AbstractConsolePane.java index bc029ea35..d8e66b589 100644 --- a/src/main/java/org/scijava/ui/console/AbstractConsolePane.java +++ b/src/main/java/org/scijava/ui/console/AbstractConsolePane.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/console/ConsolePane.java b/src/main/java/org/scijava/ui/console/ConsolePane.java index 7f373bf10..28336c6d6 100644 --- a/src/main/java/org/scijava/ui/console/ConsolePane.java +++ b/src/main/java/org/scijava/ui/console/ConsolePane.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/console/HeadlessArgument.java b/src/main/java/org/scijava/ui/console/HeadlessArgument.java index 97551d667..ff1079f3f 100644 --- a/src/main/java/org/scijava/ui/console/HeadlessArgument.java +++ b/src/main/java/org/scijava/ui/console/HeadlessArgument.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/console/ShowUIArgument.java b/src/main/java/org/scijava/ui/console/ShowUIArgument.java index 206899067..aabaa1c0f 100644 --- a/src/main/java/org/scijava/ui/console/ShowUIArgument.java +++ b/src/main/java/org/scijava/ui/console/ShowUIArgument.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/console/UIArgument.java b/src/main/java/org/scijava/ui/console/UIArgument.java index adb428492..39053f14e 100644 --- a/src/main/java/org/scijava/ui/console/UIArgument.java +++ b/src/main/java/org/scijava/ui/console/UIArgument.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropData.java b/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropData.java index 643bcbfba..6f26986bd 100644 --- a/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropData.java +++ b/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropData.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropHandler.java b/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropHandler.java index 15f675082..512f01035 100644 --- a/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropHandler.java +++ b/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropHandler.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropData.java b/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropData.java index 8a0012b07..f89136087 100644 --- a/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropData.java +++ b/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropData.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropService.java b/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropService.java index 0c7355dd7..bf7230819 100644 --- a/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropService.java +++ b/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/DragAndDropData.java b/src/main/java/org/scijava/ui/dnd/DragAndDropData.java index cbad90cde..2d59d4af9 100644 --- a/src/main/java/org/scijava/ui/dnd/DragAndDropData.java +++ b/src/main/java/org/scijava/ui/dnd/DragAndDropData.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/DragAndDropHandler.java b/src/main/java/org/scijava/ui/dnd/DragAndDropHandler.java index 6f65c0a73..140f61ada 100644 --- a/src/main/java/org/scijava/ui/dnd/DragAndDropHandler.java +++ b/src/main/java/org/scijava/ui/dnd/DragAndDropHandler.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/DragAndDropService.java b/src/main/java/org/scijava/ui/dnd/DragAndDropService.java index c52b28565..5dfbaa90c 100644 --- a/src/main/java/org/scijava/ui/dnd/DragAndDropService.java +++ b/src/main/java/org/scijava/ui/dnd/DragAndDropService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/FileDragAndDropHandler.java b/src/main/java/org/scijava/ui/dnd/FileDragAndDropHandler.java index e6116de21..2076c6a20 100644 --- a/src/main/java/org/scijava/ui/dnd/FileDragAndDropHandler.java +++ b/src/main/java/org/scijava/ui/dnd/FileDragAndDropHandler.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/ListDragAndDropHandler.java b/src/main/java/org/scijava/ui/dnd/ListDragAndDropHandler.java index 7e92f190e..ba24d62b9 100644 --- a/src/main/java/org/scijava/ui/dnd/ListDragAndDropHandler.java +++ b/src/main/java/org/scijava/ui/dnd/ListDragAndDropHandler.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/MIMEType.java b/src/main/java/org/scijava/ui/dnd/MIMEType.java index 2600b161d..eb3b860af 100644 --- a/src/main/java/org/scijava/ui/dnd/MIMEType.java +++ b/src/main/java/org/scijava/ui/dnd/MIMEType.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/ScriptFileDragAndDropHandler.java b/src/main/java/org/scijava/ui/dnd/ScriptFileDragAndDropHandler.java index c3e49ee08..ae911864b 100644 --- a/src/main/java/org/scijava/ui/dnd/ScriptFileDragAndDropHandler.java +++ b/src/main/java/org/scijava/ui/dnd/ScriptFileDragAndDropHandler.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/event/DragAndDropEvent.java b/src/main/java/org/scijava/ui/dnd/event/DragAndDropEvent.java index 429f6903a..3be4929f6 100644 --- a/src/main/java/org/scijava/ui/dnd/event/DragAndDropEvent.java +++ b/src/main/java/org/scijava/ui/dnd/event/DragAndDropEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/event/DragEnterEvent.java b/src/main/java/org/scijava/ui/dnd/event/DragEnterEvent.java index d89ef6ef9..76b2eb9d2 100644 --- a/src/main/java/org/scijava/ui/dnd/event/DragEnterEvent.java +++ b/src/main/java/org/scijava/ui/dnd/event/DragEnterEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/event/DragExitEvent.java b/src/main/java/org/scijava/ui/dnd/event/DragExitEvent.java index 57a93a2bb..7fd8845af 100644 --- a/src/main/java/org/scijava/ui/dnd/event/DragExitEvent.java +++ b/src/main/java/org/scijava/ui/dnd/event/DragExitEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/event/DragOverEvent.java b/src/main/java/org/scijava/ui/dnd/event/DragOverEvent.java index c2a3ff8b2..286ddbe03 100644 --- a/src/main/java/org/scijava/ui/dnd/event/DragOverEvent.java +++ b/src/main/java/org/scijava/ui/dnd/event/DragOverEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/event/DropEvent.java b/src/main/java/org/scijava/ui/dnd/event/DropEvent.java index f91dada1b..8fe5364b5 100644 --- a/src/main/java/org/scijava/ui/dnd/event/DropEvent.java +++ b/src/main/java/org/scijava/ui/dnd/event/DropEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/event/UIEvent.java b/src/main/java/org/scijava/ui/event/UIEvent.java index 2a03183dd..3c974ac4d 100644 --- a/src/main/java/org/scijava/ui/event/UIEvent.java +++ b/src/main/java/org/scijava/ui/event/UIEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/event/UIShownEvent.java b/src/main/java/org/scijava/ui/event/UIShownEvent.java index 1cd8b54d5..1a57865a4 100644 --- a/src/main/java/org/scijava/ui/event/UIShownEvent.java +++ b/src/main/java/org/scijava/ui/event/UIShownEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/headless/HeadlessDisplayViewer.java b/src/main/java/org/scijava/ui/headless/HeadlessDisplayViewer.java index 62576cc9a..b265c389b 100644 --- a/src/main/java/org/scijava/ui/headless/HeadlessDisplayViewer.java +++ b/src/main/java/org/scijava/ui/headless/HeadlessDisplayViewer.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/headless/HeadlessUI.java b/src/main/java/org/scijava/ui/headless/HeadlessUI.java index 8b70fd54e..b315b377f 100644 --- a/src/main/java/org/scijava/ui/headless/HeadlessUI.java +++ b/src/main/java/org/scijava/ui/headless/HeadlessUI.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/headlessUI/HeadlessUI.java b/src/main/java/org/scijava/ui/headlessUI/HeadlessUI.java index 90e4105f6..928168d90 100644 --- a/src/main/java/org/scijava/ui/headlessUI/HeadlessUI.java +++ b/src/main/java/org/scijava/ui/headlessUI/HeadlessUI.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/viewer/AbstractDisplayViewer.java b/src/main/java/org/scijava/ui/viewer/AbstractDisplayViewer.java index d949a3312..aa75ca0fc 100644 --- a/src/main/java/org/scijava/ui/viewer/AbstractDisplayViewer.java +++ b/src/main/java/org/scijava/ui/viewer/AbstractDisplayViewer.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/viewer/DisplayPanel.java b/src/main/java/org/scijava/ui/viewer/DisplayPanel.java index 5edabe84f..ba7f324ff 100644 --- a/src/main/java/org/scijava/ui/viewer/DisplayPanel.java +++ b/src/main/java/org/scijava/ui/viewer/DisplayPanel.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/viewer/DisplayViewer.java b/src/main/java/org/scijava/ui/viewer/DisplayViewer.java index d7ac3f89b..cfe9570e7 100644 --- a/src/main/java/org/scijava/ui/viewer/DisplayViewer.java +++ b/src/main/java/org/scijava/ui/viewer/DisplayViewer.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/viewer/DisplayWindow.java b/src/main/java/org/scijava/ui/viewer/DisplayWindow.java index d170758fe..825510501 100644 --- a/src/main/java/org/scijava/ui/viewer/DisplayWindow.java +++ b/src/main/java/org/scijava/ui/viewer/DisplayWindow.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/viewer/text/AbstractTextDisplayViewer.java b/src/main/java/org/scijava/ui/viewer/text/AbstractTextDisplayViewer.java index c9d9cea64..ba48ce527 100644 --- a/src/main/java/org/scijava/ui/viewer/text/AbstractTextDisplayViewer.java +++ b/src/main/java/org/scijava/ui/viewer/text/AbstractTextDisplayViewer.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/viewer/text/TextDisplayPanel.java b/src/main/java/org/scijava/ui/viewer/text/TextDisplayPanel.java index 26702b2bb..38513d1f8 100644 --- a/src/main/java/org/scijava/ui/viewer/text/TextDisplayPanel.java +++ b/src/main/java/org/scijava/ui/viewer/text/TextDisplayPanel.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/viewer/text/TextDisplayViewer.java b/src/main/java/org/scijava/ui/viewer/text/TextDisplayViewer.java index 2a8c44b51..b052d4f58 100644 --- a/src/main/java/org/scijava/ui/viewer/text/TextDisplayViewer.java +++ b/src/main/java/org/scijava/ui/viewer/text/TextDisplayViewer.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/AbstractPrimitiveArray.java b/src/main/java/org/scijava/util/AbstractPrimitiveArray.java index 0c91b9454..e745e5ba2 100644 --- a/src/main/java/org/scijava/util/AbstractPrimitiveArray.java +++ b/src/main/java/org/scijava/util/AbstractPrimitiveArray.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/AppUtils.java b/src/main/java/org/scijava/util/AppUtils.java index f4836730d..ea93137b1 100644 --- a/src/main/java/org/scijava/util/AppUtils.java +++ b/src/main/java/org/scijava/util/AppUtils.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ArrayUtils.java b/src/main/java/org/scijava/util/ArrayUtils.java index 52d1c3378..6d396fd36 100644 --- a/src/main/java/org/scijava/util/ArrayUtils.java +++ b/src/main/java/org/scijava/util/ArrayUtils.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/BoolArray.java b/src/main/java/org/scijava/util/BoolArray.java index 8a02aed89..e2f69e924 100644 --- a/src/main/java/org/scijava/util/BoolArray.java +++ b/src/main/java/org/scijava/util/BoolArray.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ByteArray.java b/src/main/java/org/scijava/util/ByteArray.java index 69617306a..3f56a3089 100644 --- a/src/main/java/org/scijava/util/ByteArray.java +++ b/src/main/java/org/scijava/util/ByteArray.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Bytes.java b/src/main/java/org/scijava/util/Bytes.java index edfeff177..ea7415fe5 100644 --- a/src/main/java/org/scijava/util/Bytes.java +++ b/src/main/java/org/scijava/util/Bytes.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/CharArray.java b/src/main/java/org/scijava/util/CharArray.java index 3c2914f25..a3e661f26 100644 --- a/src/main/java/org/scijava/util/CharArray.java +++ b/src/main/java/org/scijava/util/CharArray.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/CheckSezpoz.java b/src/main/java/org/scijava/util/CheckSezpoz.java index f394a860e..c5d535281 100644 --- a/src/main/java/org/scijava/util/CheckSezpoz.java +++ b/src/main/java/org/scijava/util/CheckSezpoz.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ClassUtils.java b/src/main/java/org/scijava/util/ClassUtils.java index 3f7202dd8..9bc2000ea 100644 --- a/src/main/java/org/scijava/util/ClassUtils.java +++ b/src/main/java/org/scijava/util/ClassUtils.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ColorRGB.java b/src/main/java/org/scijava/util/ColorRGB.java index 3151f7f62..39d15a21f 100644 --- a/src/main/java/org/scijava/util/ColorRGB.java +++ b/src/main/java/org/scijava/util/ColorRGB.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ColorRGBA.java b/src/main/java/org/scijava/util/ColorRGBA.java index 7b9b1d038..d9abbd395 100644 --- a/src/main/java/org/scijava/util/ColorRGBA.java +++ b/src/main/java/org/scijava/util/ColorRGBA.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Colors.java b/src/main/java/org/scijava/util/Colors.java index f9f3fe292..db2db000f 100644 --- a/src/main/java/org/scijava/util/Colors.java +++ b/src/main/java/org/scijava/util/Colors.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/CombineAnnotations.java b/src/main/java/org/scijava/util/CombineAnnotations.java index 4e2a95057..fd8804f96 100644 --- a/src/main/java/org/scijava/util/CombineAnnotations.java +++ b/src/main/java/org/scijava/util/CombineAnnotations.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Combiner.java b/src/main/java/org/scijava/util/Combiner.java index 062182c15..064d32bb3 100644 --- a/src/main/java/org/scijava/util/Combiner.java +++ b/src/main/java/org/scijava/util/Combiner.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ConversionUtils.java b/src/main/java/org/scijava/util/ConversionUtils.java index e2e5428da..d12ad5281 100644 --- a/src/main/java/org/scijava/util/ConversionUtils.java +++ b/src/main/java/org/scijava/util/ConversionUtils.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/DebugUtils.java b/src/main/java/org/scijava/util/DebugUtils.java index 8d705a985..dc08f1085 100644 --- a/src/main/java/org/scijava/util/DebugUtils.java +++ b/src/main/java/org/scijava/util/DebugUtils.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/DefaultTreeNode.java b/src/main/java/org/scijava/util/DefaultTreeNode.java index c4f722ab3..9e9351a2d 100644 --- a/src/main/java/org/scijava/util/DefaultTreeNode.java +++ b/src/main/java/org/scijava/util/DefaultTreeNode.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/DigestUtils.java b/src/main/java/org/scijava/util/DigestUtils.java index 725a7628d..08d4fe587 100644 --- a/src/main/java/org/scijava/util/DigestUtils.java +++ b/src/main/java/org/scijava/util/DigestUtils.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/DoubleArray.java b/src/main/java/org/scijava/util/DoubleArray.java index 2108fb609..00dd0dec6 100644 --- a/src/main/java/org/scijava/util/DoubleArray.java +++ b/src/main/java/org/scijava/util/DoubleArray.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/FileUtils.java b/src/main/java/org/scijava/util/FileUtils.java index 5b2c109c6..69a658896 100644 --- a/src/main/java/org/scijava/util/FileUtils.java +++ b/src/main/java/org/scijava/util/FileUtils.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/FloatArray.java b/src/main/java/org/scijava/util/FloatArray.java index 26464d35e..61d7102d7 100644 --- a/src/main/java/org/scijava/util/FloatArray.java +++ b/src/main/java/org/scijava/util/FloatArray.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/GenericUtils.java b/src/main/java/org/scijava/util/GenericUtils.java index 75b52c44f..ff45ab5ce 100644 --- a/src/main/java/org/scijava/util/GenericUtils.java +++ b/src/main/java/org/scijava/util/GenericUtils.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/IntArray.java b/src/main/java/org/scijava/util/IntArray.java index 3c6014ded..21592e25d 100644 --- a/src/main/java/org/scijava/util/IntArray.java +++ b/src/main/java/org/scijava/util/IntArray.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/IntCoords.java b/src/main/java/org/scijava/util/IntCoords.java index 0501616a3..e368dbab7 100644 --- a/src/main/java/org/scijava/util/IntCoords.java +++ b/src/main/java/org/scijava/util/IntCoords.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/IntRect.java b/src/main/java/org/scijava/util/IntRect.java index a96c98e39..2ed65bbb2 100644 --- a/src/main/java/org/scijava/util/IntRect.java +++ b/src/main/java/org/scijava/util/IntRect.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/IteratorPlus.java b/src/main/java/org/scijava/util/IteratorPlus.java index 56a4319dd..5827b173b 100644 --- a/src/main/java/org/scijava/util/IteratorPlus.java +++ b/src/main/java/org/scijava/util/IteratorPlus.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/LastRecentlyUsed.java b/src/main/java/org/scijava/util/LastRecentlyUsed.java index 731bd74a0..4f23438ce 100644 --- a/src/main/java/org/scijava/util/LastRecentlyUsed.java +++ b/src/main/java/org/scijava/util/LastRecentlyUsed.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/LineOutputStream.java b/src/main/java/org/scijava/util/LineOutputStream.java index 1ef4e99e4..de517f696 100644 --- a/src/main/java/org/scijava/util/LineOutputStream.java +++ b/src/main/java/org/scijava/util/LineOutputStream.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ListUtils.java b/src/main/java/org/scijava/util/ListUtils.java index 1c169f351..09981d20f 100644 --- a/src/main/java/org/scijava/util/ListUtils.java +++ b/src/main/java/org/scijava/util/ListUtils.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/LongArray.java b/src/main/java/org/scijava/util/LongArray.java index c0ac04d1f..fce832a0b 100644 --- a/src/main/java/org/scijava/util/LongArray.java +++ b/src/main/java/org/scijava/util/LongArray.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Manifest.java b/src/main/java/org/scijava/util/Manifest.java index aad982446..e0dae6e79 100644 --- a/src/main/java/org/scijava/util/Manifest.java +++ b/src/main/java/org/scijava/util/Manifest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/MersenneTwisterFast.java b/src/main/java/org/scijava/util/MersenneTwisterFast.java index a3a8707b3..d7e178c59 100644 --- a/src/main/java/org/scijava/util/MersenneTwisterFast.java +++ b/src/main/java/org/scijava/util/MersenneTwisterFast.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/MetaInfCombiner.java b/src/main/java/org/scijava/util/MetaInfCombiner.java index 6f274e50e..c34b3a236 100644 --- a/src/main/java/org/scijava/util/MetaInfCombiner.java +++ b/src/main/java/org/scijava/util/MetaInfCombiner.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/MirrorWebsite.java b/src/main/java/org/scijava/util/MirrorWebsite.java index e59621e4e..d6f5ff1c6 100644 --- a/src/main/java/org/scijava/util/MirrorWebsite.java +++ b/src/main/java/org/scijava/util/MirrorWebsite.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/MiscUtils.java b/src/main/java/org/scijava/util/MiscUtils.java index 428b4e819..0a6286d19 100644 --- a/src/main/java/org/scijava/util/MiscUtils.java +++ b/src/main/java/org/scijava/util/MiscUtils.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/NumberUtils.java b/src/main/java/org/scijava/util/NumberUtils.java index d7b51272f..f3b8d84c6 100644 --- a/src/main/java/org/scijava/util/NumberUtils.java +++ b/src/main/java/org/scijava/util/NumberUtils.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ObjectArray.java b/src/main/java/org/scijava/util/ObjectArray.java index f1af6eb58..6b6ce4e60 100644 --- a/src/main/java/org/scijava/util/ObjectArray.java +++ b/src/main/java/org/scijava/util/ObjectArray.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/POM.java b/src/main/java/org/scijava/util/POM.java index 53d2a0559..0811cdb21 100644 --- a/src/main/java/org/scijava/util/POM.java +++ b/src/main/java/org/scijava/util/POM.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/PlatformUtils.java b/src/main/java/org/scijava/util/PlatformUtils.java index acd9459ba..c6412303a 100644 --- a/src/main/java/org/scijava/util/PlatformUtils.java +++ b/src/main/java/org/scijava/util/PlatformUtils.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Prefs.java b/src/main/java/org/scijava/util/Prefs.java index f9d13609f..9e1bc9191 100644 --- a/src/main/java/org/scijava/util/Prefs.java +++ b/src/main/java/org/scijava/util/Prefs.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/PrimitiveArray.java b/src/main/java/org/scijava/util/PrimitiveArray.java index 192498e89..7fc4935df 100644 --- a/src/main/java/org/scijava/util/PrimitiveArray.java +++ b/src/main/java/org/scijava/util/PrimitiveArray.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ProcessUtils.java b/src/main/java/org/scijava/util/ProcessUtils.java index 8dee1e5c8..233fca0c3 100644 --- a/src/main/java/org/scijava/util/ProcessUtils.java +++ b/src/main/java/org/scijava/util/ProcessUtils.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Query.java b/src/main/java/org/scijava/util/Query.java index d0cba28ba..431176950 100644 --- a/src/main/java/org/scijava/util/Query.java +++ b/src/main/java/org/scijava/util/Query.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ReadInto.java b/src/main/java/org/scijava/util/ReadInto.java index 297465013..3ef783c28 100644 --- a/src/main/java/org/scijava/util/ReadInto.java +++ b/src/main/java/org/scijava/util/ReadInto.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/RealCoords.java b/src/main/java/org/scijava/util/RealCoords.java index 32bf04be0..781b38910 100644 --- a/src/main/java/org/scijava/util/RealCoords.java +++ b/src/main/java/org/scijava/util/RealCoords.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/RealRect.java b/src/main/java/org/scijava/util/RealRect.java index bb5c9e6f4..b2fabab85 100644 --- a/src/main/java/org/scijava/util/RealRect.java +++ b/src/main/java/org/scijava/util/RealRect.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ReflectException.java b/src/main/java/org/scijava/util/ReflectException.java index 241f50373..f3841cbc6 100644 --- a/src/main/java/org/scijava/util/ReflectException.java +++ b/src/main/java/org/scijava/util/ReflectException.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ReflectedUniverse.java b/src/main/java/org/scijava/util/ReflectedUniverse.java index 2a2fe9554..e3bb179fe 100644 --- a/src/main/java/org/scijava/util/ReflectedUniverse.java +++ b/src/main/java/org/scijava/util/ReflectedUniverse.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ServiceCombiner.java b/src/main/java/org/scijava/util/ServiceCombiner.java index f5577b9f9..92ab6595e 100644 --- a/src/main/java/org/scijava/util/ServiceCombiner.java +++ b/src/main/java/org/scijava/util/ServiceCombiner.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ShortArray.java b/src/main/java/org/scijava/util/ShortArray.java index 444ed8e21..e6552acb4 100644 --- a/src/main/java/org/scijava/util/ShortArray.java +++ b/src/main/java/org/scijava/util/ShortArray.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Sizable.java b/src/main/java/org/scijava/util/Sizable.java index 863a08c06..69826743e 100644 --- a/src/main/java/org/scijava/util/Sizable.java +++ b/src/main/java/org/scijava/util/Sizable.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/SizableArrayList.java b/src/main/java/org/scijava/util/SizableArrayList.java index 925b90ce1..a4882d018 100644 --- a/src/main/java/org/scijava/util/SizableArrayList.java +++ b/src/main/java/org/scijava/util/SizableArrayList.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/StringMaker.java b/src/main/java/org/scijava/util/StringMaker.java index 6b6a389ae..84a4b1338 100644 --- a/src/main/java/org/scijava/util/StringMaker.java +++ b/src/main/java/org/scijava/util/StringMaker.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/StringUtils.java b/src/main/java/org/scijava/util/StringUtils.java index c2155e277..ba1f57305 100644 --- a/src/main/java/org/scijava/util/StringUtils.java +++ b/src/main/java/org/scijava/util/StringUtils.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Timing.java b/src/main/java/org/scijava/util/Timing.java index 3b6eaa1e9..56c71c050 100644 --- a/src/main/java/org/scijava/util/Timing.java +++ b/src/main/java/org/scijava/util/Timing.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/TreeNode.java b/src/main/java/org/scijava/util/TreeNode.java index 5f2063349..9402f1db7 100644 --- a/src/main/java/org/scijava/util/TreeNode.java +++ b/src/main/java/org/scijava/util/TreeNode.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/TunePlayer.java b/src/main/java/org/scijava/util/TunePlayer.java index 4a4d54db2..7460c8bcf 100644 --- a/src/main/java/org/scijava/util/TunePlayer.java +++ b/src/main/java/org/scijava/util/TunePlayer.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Types.java b/src/main/java/org/scijava/util/Types.java index 25995ea0e..adfbc3fcb 100644 --- a/src/main/java/org/scijava/util/Types.java +++ b/src/main/java/org/scijava/util/Types.java @@ -2,19 +2,17 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2016 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, and Max Planck - * Institute of Molecular Cell Biology and Genetics. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE diff --git a/src/main/java/org/scijava/util/UnitUtils.java b/src/main/java/org/scijava/util/UnitUtils.java index 9fa762fc7..315c69149 100644 --- a/src/main/java/org/scijava/util/UnitUtils.java +++ b/src/main/java/org/scijava/util/UnitUtils.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/VersionUtils.java b/src/main/java/org/scijava/util/VersionUtils.java index bf1be77ff..0dac9702f 100644 --- a/src/main/java/org/scijava/util/VersionUtils.java +++ b/src/main/java/org/scijava/util/VersionUtils.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/XML.java b/src/main/java/org/scijava/util/XML.java index ab904e876..aee47bf36 100644 --- a/src/main/java/org/scijava/util/XML.java +++ b/src/main/java/org/scijava/util/XML.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/welcome/DefaultWelcomeService.java b/src/main/java/org/scijava/welcome/DefaultWelcomeService.java index 72731ae3b..763fe8a08 100644 --- a/src/main/java/org/scijava/welcome/DefaultWelcomeService.java +++ b/src/main/java/org/scijava/welcome/DefaultWelcomeService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/welcome/WelcomeService.java b/src/main/java/org/scijava/welcome/WelcomeService.java index d3e97197f..dfdc1ace1 100644 --- a/src/main/java/org/scijava/welcome/WelcomeService.java +++ b/src/main/java/org/scijava/welcome/WelcomeService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/welcome/event/WelcomeEvent.java b/src/main/java/org/scijava/welcome/event/WelcomeEvent.java index 9d3f656fe..09e67f6ab 100644 --- a/src/main/java/org/scijava/welcome/event/WelcomeEvent.java +++ b/src/main/java/org/scijava/welcome/event/WelcomeEvent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/AbstractInputHarvester.java b/src/main/java/org/scijava/widget/AbstractInputHarvester.java index fefc9bb47..c17f3f6b7 100644 --- a/src/main/java/org/scijava/widget/AbstractInputHarvester.java +++ b/src/main/java/org/scijava/widget/AbstractInputHarvester.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/AbstractInputPanel.java b/src/main/java/org/scijava/widget/AbstractInputPanel.java index 24006c63e..d0483f911 100644 --- a/src/main/java/org/scijava/widget/AbstractInputPanel.java +++ b/src/main/java/org/scijava/widget/AbstractInputPanel.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/AbstractInputWidget.java b/src/main/java/org/scijava/widget/AbstractInputWidget.java index 2557f9714..379521c9a 100644 --- a/src/main/java/org/scijava/widget/AbstractInputWidget.java +++ b/src/main/java/org/scijava/widget/AbstractInputWidget.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/Button.java b/src/main/java/org/scijava/widget/Button.java index 99d62816e..ef8c22460 100644 --- a/src/main/java/org/scijava/widget/Button.java +++ b/src/main/java/org/scijava/widget/Button.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/ButtonWidget.java b/src/main/java/org/scijava/widget/ButtonWidget.java index 56129404e..f06772fa4 100644 --- a/src/main/java/org/scijava/widget/ButtonWidget.java +++ b/src/main/java/org/scijava/widget/ButtonWidget.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/ChoiceWidget.java b/src/main/java/org/scijava/widget/ChoiceWidget.java index b956c764f..d7b5449c5 100644 --- a/src/main/java/org/scijava/widget/ChoiceWidget.java +++ b/src/main/java/org/scijava/widget/ChoiceWidget.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/ColorWidget.java b/src/main/java/org/scijava/widget/ColorWidget.java index 22b1f6d6d..77363a9f3 100644 --- a/src/main/java/org/scijava/widget/ColorWidget.java +++ b/src/main/java/org/scijava/widget/ColorWidget.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/DateWidget.java b/src/main/java/org/scijava/widget/DateWidget.java index fc60b932d..1bed7f3bd 100644 --- a/src/main/java/org/scijava/widget/DateWidget.java +++ b/src/main/java/org/scijava/widget/DateWidget.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/DefaultWidgetModel.java b/src/main/java/org/scijava/widget/DefaultWidgetModel.java index 46e960fd8..ffb19061f 100644 --- a/src/main/java/org/scijava/widget/DefaultWidgetModel.java +++ b/src/main/java/org/scijava/widget/DefaultWidgetModel.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/DefaultWidgetService.java b/src/main/java/org/scijava/widget/DefaultWidgetService.java index f80fc641b..5487289d1 100644 --- a/src/main/java/org/scijava/widget/DefaultWidgetService.java +++ b/src/main/java/org/scijava/widget/DefaultWidgetService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/FileListWidget.java b/src/main/java/org/scijava/widget/FileListWidget.java index b7f2203a5..a47cc89c9 100644 --- a/src/main/java/org/scijava/widget/FileListWidget.java +++ b/src/main/java/org/scijava/widget/FileListWidget.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/FileWidget.java b/src/main/java/org/scijava/widget/FileWidget.java index f31c2ac28..2e3b5fac1 100644 --- a/src/main/java/org/scijava/widget/FileWidget.java +++ b/src/main/java/org/scijava/widget/FileWidget.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/InputHarvester.java b/src/main/java/org/scijava/widget/InputHarvester.java index 6d4933790..80640cd83 100644 --- a/src/main/java/org/scijava/widget/InputHarvester.java +++ b/src/main/java/org/scijava/widget/InputHarvester.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/InputPanel.java b/src/main/java/org/scijava/widget/InputPanel.java index 1087924f7..78ee87076 100644 --- a/src/main/java/org/scijava/widget/InputPanel.java +++ b/src/main/java/org/scijava/widget/InputPanel.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/InputWidget.java b/src/main/java/org/scijava/widget/InputWidget.java index 3f3b2ad43..5107eb2aa 100644 --- a/src/main/java/org/scijava/widget/InputWidget.java +++ b/src/main/java/org/scijava/widget/InputWidget.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/MessageWidget.java b/src/main/java/org/scijava/widget/MessageWidget.java index 9d8bc2234..c1245b479 100644 --- a/src/main/java/org/scijava/widget/MessageWidget.java +++ b/src/main/java/org/scijava/widget/MessageWidget.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/NumberWidget.java b/src/main/java/org/scijava/widget/NumberWidget.java index a48567eac..1e6f85a30 100644 --- a/src/main/java/org/scijava/widget/NumberWidget.java +++ b/src/main/java/org/scijava/widget/NumberWidget.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/ObjectWidget.java b/src/main/java/org/scijava/widget/ObjectWidget.java index fd7ce5ce2..d13a56261 100644 --- a/src/main/java/org/scijava/widget/ObjectWidget.java +++ b/src/main/java/org/scijava/widget/ObjectWidget.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/TextWidget.java b/src/main/java/org/scijava/widget/TextWidget.java index a89b49446..4f5dab5f5 100644 --- a/src/main/java/org/scijava/widget/TextWidget.java +++ b/src/main/java/org/scijava/widget/TextWidget.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/ToggleWidget.java b/src/main/java/org/scijava/widget/ToggleWidget.java index 04c00a6f9..af9e18369 100644 --- a/src/main/java/org/scijava/widget/ToggleWidget.java +++ b/src/main/java/org/scijava/widget/ToggleWidget.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/UIComponent.java b/src/main/java/org/scijava/widget/UIComponent.java index ab06587a9..c03d375be 100644 --- a/src/main/java/org/scijava/widget/UIComponent.java +++ b/src/main/java/org/scijava/widget/UIComponent.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/WidgetModel.java b/src/main/java/org/scijava/widget/WidgetModel.java index 2bb202e46..80f033de0 100644 --- a/src/main/java/org/scijava/widget/WidgetModel.java +++ b/src/main/java/org/scijava/widget/WidgetModel.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/WidgetService.java b/src/main/java/org/scijava/widget/WidgetService.java index 85c73afbe..fd0eee169 100644 --- a/src/main/java/org/scijava/widget/WidgetService.java +++ b/src/main/java/org/scijava/widget/WidgetService.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/ContextCreationTest.java b/src/test/java/org/scijava/ContextCreationTest.java index 0be58b788..4fd266e4b 100644 --- a/src/test/java/org/scijava/ContextCreationTest.java +++ b/src/test/java/org/scijava/ContextCreationTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/ContextInjectionTest.java b/src/test/java/org/scijava/ContextInjectionTest.java index 53aa7ab40..f05706dfa 100644 --- a/src/test/java/org/scijava/ContextInjectionTest.java +++ b/src/test/java/org/scijava/ContextInjectionTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/SciJavaTest.java b/src/test/java/org/scijava/SciJavaTest.java index b8b91ecf8..b66a0587f 100644 --- a/src/test/java/org/scijava/SciJavaTest.java +++ b/src/test/java/org/scijava/SciJavaTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/AnnotatedA.java b/src/test/java/org/scijava/annotations/AnnotatedA.java index 27c4f1db9..b30632b66 100644 --- a/src/test/java/org/scijava/annotations/AnnotatedA.java +++ b/src/test/java/org/scijava/annotations/AnnotatedA.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/AnnotatedB.java b/src/test/java/org/scijava/annotations/AnnotatedB.java index a8644a6c9..c6a2af6b1 100644 --- a/src/test/java/org/scijava/annotations/AnnotatedB.java +++ b/src/test/java/org/scijava/annotations/AnnotatedB.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/AnnotatedC.java b/src/test/java/org/scijava/annotations/AnnotatedC.java index b4d0bb2de..098b4597a 100644 --- a/src/test/java/org/scijava/annotations/AnnotatedC.java +++ b/src/test/java/org/scijava/annotations/AnnotatedC.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/AnnotatedD.java b/src/test/java/org/scijava/annotations/AnnotatedD.java index ac122ff03..9baa28c3d 100644 --- a/src/test/java/org/scijava/annotations/AnnotatedD.java +++ b/src/test/java/org/scijava/annotations/AnnotatedD.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/AnnotatedInnerClass.java b/src/test/java/org/scijava/annotations/AnnotatedInnerClass.java index f5133e5be..8a7be9293 100644 --- a/src/test/java/org/scijava/annotations/AnnotatedInnerClass.java +++ b/src/test/java/org/scijava/annotations/AnnotatedInnerClass.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/Complex.java b/src/test/java/org/scijava/annotations/Complex.java index b7881c1b3..cf767f6b3 100644 --- a/src/test/java/org/scijava/annotations/Complex.java +++ b/src/test/java/org/scijava/annotations/Complex.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/DirectoryIndexerTest.java b/src/test/java/org/scijava/annotations/DirectoryIndexerTest.java index 249511a57..06ce50b5b 100644 --- a/src/test/java/org/scijava/annotations/DirectoryIndexerTest.java +++ b/src/test/java/org/scijava/annotations/DirectoryIndexerTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/EclipseHelperTest.java b/src/test/java/org/scijava/annotations/EclipseHelperTest.java index d2f663f35..e47ee1d4d 100644 --- a/src/test/java/org/scijava/annotations/EclipseHelperTest.java +++ b/src/test/java/org/scijava/annotations/EclipseHelperTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/Fruit.java b/src/test/java/org/scijava/annotations/Fruit.java index 75efc3e7a..657d3ecb5 100644 --- a/src/test/java/org/scijava/annotations/Fruit.java +++ b/src/test/java/org/scijava/annotations/Fruit.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/LegacyTest.java b/src/test/java/org/scijava/annotations/LegacyTest.java index eeb2f5503..7e7290c52 100644 --- a/src/test/java/org/scijava/annotations/LegacyTest.java +++ b/src/test/java/org/scijava/annotations/LegacyTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/Simple.java b/src/test/java/org/scijava/annotations/Simple.java index 709593d4b..5b713e1d9 100644 --- a/src/test/java/org/scijava/annotations/Simple.java +++ b/src/test/java/org/scijava/annotations/Simple.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/app/StatusServiceTest.java b/src/test/java/org/scijava/app/StatusServiceTest.java index f5abb4730..02b074e38 100644 --- a/src/test/java/org/scijava/app/StatusServiceTest.java +++ b/src/test/java/org/scijava/app/StatusServiceTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/command/CommandInfoTest.java b/src/test/java/org/scijava/command/CommandInfoTest.java index ded76ecd8..63a698b23 100644 --- a/src/test/java/org/scijava/command/CommandInfoTest.java +++ b/src/test/java/org/scijava/command/CommandInfoTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/command/CommandModuleTest.java b/src/test/java/org/scijava/command/CommandModuleTest.java index 834962d1c..8f32e59bd 100644 --- a/src/test/java/org/scijava/command/CommandModuleTest.java +++ b/src/test/java/org/scijava/command/CommandModuleTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/command/CommandServiceTest.java b/src/test/java/org/scijava/command/CommandServiceTest.java index 95ae9aa22..ca89f8084 100644 --- a/src/test/java/org/scijava/command/CommandServiceTest.java +++ b/src/test/java/org/scijava/command/CommandServiceTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/command/InvalidCommandTest.java b/src/test/java/org/scijava/command/InvalidCommandTest.java index 2c4109a1e..8ab7b7c53 100644 --- a/src/test/java/org/scijava/command/InvalidCommandTest.java +++ b/src/test/java/org/scijava/command/InvalidCommandTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/command/run/CommandCodeRunnerTest.java b/src/test/java/org/scijava/command/run/CommandCodeRunnerTest.java index 7a226ed43..d9a47c566 100644 --- a/src/test/java/org/scijava/command/run/CommandCodeRunnerTest.java +++ b/src/test/java/org/scijava/command/run/CommandCodeRunnerTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/console/ConsoleServiceTest.java b/src/test/java/org/scijava/console/ConsoleServiceTest.java index c87eadcb8..45f3af9c5 100644 --- a/src/test/java/org/scijava/console/ConsoleServiceTest.java +++ b/src/test/java/org/scijava/console/ConsoleServiceTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/console/SystemPropertyArgumentTest.java b/src/test/java/org/scijava/console/SystemPropertyArgumentTest.java index b9ebff3d7..a1b0b5992 100644 --- a/src/test/java/org/scijava/console/SystemPropertyArgumentTest.java +++ b/src/test/java/org/scijava/console/SystemPropertyArgumentTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/AbstractNumberConverterTests.java b/src/test/java/org/scijava/convert/AbstractNumberConverterTests.java index 99505256c..c28ff6247 100644 --- a/src/test/java/org/scijava/convert/AbstractNumberConverterTests.java +++ b/src/test/java/org/scijava/convert/AbstractNumberConverterTests.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/BigIntegerToBigDecimalConverterTest.java b/src/test/java/org/scijava/convert/BigIntegerToBigDecimalConverterTest.java index b08cfeb84..966ca3501 100644 --- a/src/test/java/org/scijava/convert/BigIntegerToBigDecimalConverterTest.java +++ b/src/test/java/org/scijava/convert/BigIntegerToBigDecimalConverterTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ByteToBigDecimalConverterTest.java b/src/test/java/org/scijava/convert/ByteToBigDecimalConverterTest.java index bac9855af..c988e252e 100644 --- a/src/test/java/org/scijava/convert/ByteToBigDecimalConverterTest.java +++ b/src/test/java/org/scijava/convert/ByteToBigDecimalConverterTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ByteToBigIntegerConverterTest.java b/src/test/java/org/scijava/convert/ByteToBigIntegerConverterTest.java index 2356d46c4..db0ce1531 100644 --- a/src/test/java/org/scijava/convert/ByteToBigIntegerConverterTest.java +++ b/src/test/java/org/scijava/convert/ByteToBigIntegerConverterTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ByteToDoubleConverterTest.java b/src/test/java/org/scijava/convert/ByteToDoubleConverterTest.java index fec333605..153986d8f 100644 --- a/src/test/java/org/scijava/convert/ByteToDoubleConverterTest.java +++ b/src/test/java/org/scijava/convert/ByteToDoubleConverterTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ByteToFloatConverterTest.java b/src/test/java/org/scijava/convert/ByteToFloatConverterTest.java index 8044c7f00..d5fe939ff 100644 --- a/src/test/java/org/scijava/convert/ByteToFloatConverterTest.java +++ b/src/test/java/org/scijava/convert/ByteToFloatConverterTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ByteToIntegerConverterTest.java b/src/test/java/org/scijava/convert/ByteToIntegerConverterTest.java index 506a11fe9..b5eeddebb 100644 --- a/src/test/java/org/scijava/convert/ByteToIntegerConverterTest.java +++ b/src/test/java/org/scijava/convert/ByteToIntegerConverterTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ByteToLongConverterTest.java b/src/test/java/org/scijava/convert/ByteToLongConverterTest.java index 79f58a1a0..dc76b0314 100644 --- a/src/test/java/org/scijava/convert/ByteToLongConverterTest.java +++ b/src/test/java/org/scijava/convert/ByteToLongConverterTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ByteToShortConverterTest.java b/src/test/java/org/scijava/convert/ByteToShortConverterTest.java index 284c485d7..ac4169511 100644 --- a/src/test/java/org/scijava/convert/ByteToShortConverterTest.java +++ b/src/test/java/org/scijava/convert/ByteToShortConverterTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ConvertServiceTest.java b/src/test/java/org/scijava/convert/ConvertServiceTest.java index 50debdabe..1634f8e57 100644 --- a/src/test/java/org/scijava/convert/ConvertServiceTest.java +++ b/src/test/java/org/scijava/convert/ConvertServiceTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ConverterTest.java b/src/test/java/org/scijava/convert/ConverterTest.java index 3a89f4785..9473e4a16 100644 --- a/src/test/java/org/scijava/convert/ConverterTest.java +++ b/src/test/java/org/scijava/convert/ConverterTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/DelegateConverterTest.java b/src/test/java/org/scijava/convert/DelegateConverterTest.java index 6126750c0..ab3941050 100644 --- a/src/test/java/org/scijava/convert/DelegateConverterTest.java +++ b/src/test/java/org/scijava/convert/DelegateConverterTest.java @@ -1,3 +1,31 @@ +/*- + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2020 SciJava developers. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ package org.scijava.convert; import static org.junit.Assert.assertSame; diff --git a/src/test/java/org/scijava/convert/DoubleToBigDecimalConverterTest.java b/src/test/java/org/scijava/convert/DoubleToBigDecimalConverterTest.java index d18d7b19a..c903e33eb 100644 --- a/src/test/java/org/scijava/convert/DoubleToBigDecimalConverterTest.java +++ b/src/test/java/org/scijava/convert/DoubleToBigDecimalConverterTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/FileListConverterTest.java b/src/test/java/org/scijava/convert/FileListConverterTest.java index ed3610e11..e690f926e 100644 --- a/src/test/java/org/scijava/convert/FileListConverterTest.java +++ b/src/test/java/org/scijava/convert/FileListConverterTest.java @@ -2,20 +2,17 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE diff --git a/src/test/java/org/scijava/convert/FloatToBigDecimalConverterTest.java b/src/test/java/org/scijava/convert/FloatToBigDecimalConverterTest.java index 31085d0c6..b67714c14 100644 --- a/src/test/java/org/scijava/convert/FloatToBigDecimalConverterTest.java +++ b/src/test/java/org/scijava/convert/FloatToBigDecimalConverterTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/FloatToDoubleConverterTest.java b/src/test/java/org/scijava/convert/FloatToDoubleConverterTest.java index 2d836e667..fe2c586b4 100644 --- a/src/test/java/org/scijava/convert/FloatToDoubleConverterTest.java +++ b/src/test/java/org/scijava/convert/FloatToDoubleConverterTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/IntegerToBigDecimalConverterTest.java b/src/test/java/org/scijava/convert/IntegerToBigDecimalConverterTest.java index 44e85680f..ac3d1d222 100644 --- a/src/test/java/org/scijava/convert/IntegerToBigDecimalConverterTest.java +++ b/src/test/java/org/scijava/convert/IntegerToBigDecimalConverterTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/IntegerToBigIntegerConverterTest.java b/src/test/java/org/scijava/convert/IntegerToBigIntegerConverterTest.java index 9779a0a29..980fdee94 100644 --- a/src/test/java/org/scijava/convert/IntegerToBigIntegerConverterTest.java +++ b/src/test/java/org/scijava/convert/IntegerToBigIntegerConverterTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/IntegerToDoubleConverterTest.java b/src/test/java/org/scijava/convert/IntegerToDoubleConverterTest.java index 0f2c38533..be4045cd4 100644 --- a/src/test/java/org/scijava/convert/IntegerToDoubleConverterTest.java +++ b/src/test/java/org/scijava/convert/IntegerToDoubleConverterTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/IntegerToLongConverterTest.java b/src/test/java/org/scijava/convert/IntegerToLongConverterTest.java index fa242dd9b..d3c174f2f 100644 --- a/src/test/java/org/scijava/convert/IntegerToLongConverterTest.java +++ b/src/test/java/org/scijava/convert/IntegerToLongConverterTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/LongToBigDecimalConverterTest.java b/src/test/java/org/scijava/convert/LongToBigDecimalConverterTest.java index a5f7e7402..684c6480f 100644 --- a/src/test/java/org/scijava/convert/LongToBigDecimalConverterTest.java +++ b/src/test/java/org/scijava/convert/LongToBigDecimalConverterTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/LongToBigIntegerConverterTest.java b/src/test/java/org/scijava/convert/LongToBigIntegerConverterTest.java index c04794cb9..67a3aa196 100644 --- a/src/test/java/org/scijava/convert/LongToBigIntegerConverterTest.java +++ b/src/test/java/org/scijava/convert/LongToBigIntegerConverterTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ShortToBigDecimalConverterTest.java b/src/test/java/org/scijava/convert/ShortToBigDecimalConverterTest.java index 436f2098f..b70c66c99 100644 --- a/src/test/java/org/scijava/convert/ShortToBigDecimalConverterTest.java +++ b/src/test/java/org/scijava/convert/ShortToBigDecimalConverterTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ShortToBigIntegerConverterTest.java b/src/test/java/org/scijava/convert/ShortToBigIntegerConverterTest.java index 35be86ac7..5770c77a9 100644 --- a/src/test/java/org/scijava/convert/ShortToBigIntegerConverterTest.java +++ b/src/test/java/org/scijava/convert/ShortToBigIntegerConverterTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ShortToDoubleConverterTest.java b/src/test/java/org/scijava/convert/ShortToDoubleConverterTest.java index 9b5f91830..b02e438f2 100644 --- a/src/test/java/org/scijava/convert/ShortToDoubleConverterTest.java +++ b/src/test/java/org/scijava/convert/ShortToDoubleConverterTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ShortToFloatConverterTest.java b/src/test/java/org/scijava/convert/ShortToFloatConverterTest.java index b6b16a4f2..29592cd6c 100644 --- a/src/test/java/org/scijava/convert/ShortToFloatConverterTest.java +++ b/src/test/java/org/scijava/convert/ShortToFloatConverterTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ShortToIntegerConverterTest.java b/src/test/java/org/scijava/convert/ShortToIntegerConverterTest.java index 407df7e84..83079e693 100644 --- a/src/test/java/org/scijava/convert/ShortToIntegerConverterTest.java +++ b/src/test/java/org/scijava/convert/ShortToIntegerConverterTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ShortToLongConverterTest.java b/src/test/java/org/scijava/convert/ShortToLongConverterTest.java index 361438faf..9e7dcac9d 100644 --- a/src/test/java/org/scijava/convert/ShortToLongConverterTest.java +++ b/src/test/java/org/scijava/convert/ShortToLongConverterTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/display/DisplayTest.java b/src/test/java/org/scijava/display/DisplayTest.java index 8b9081d6c..45d667eb9 100644 --- a/src/test/java/org/scijava/display/DisplayTest.java +++ b/src/test/java/org/scijava/display/DisplayTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/download/DownloadServiceTest.java b/src/test/java/org/scijava/download/DownloadServiceTest.java index d7ca11eb8..3a4f3abfb 100644 --- a/src/test/java/org/scijava/download/DownloadServiceTest.java +++ b/src/test/java/org/scijava/download/DownloadServiceTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/event/EventServiceTest.java b/src/test/java/org/scijava/event/EventServiceTest.java index a90e6adb0..b8b5c1c32 100644 --- a/src/test/java/org/scijava/event/EventServiceTest.java +++ b/src/test/java/org/scijava/event/EventServiceTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/ByteArrayByteBankTest.java b/src/test/java/org/scijava/io/ByteArrayByteBankTest.java index acf5ec911..8466a16e0 100644 --- a/src/test/java/org/scijava/io/ByteArrayByteBankTest.java +++ b/src/test/java/org/scijava/io/ByteArrayByteBankTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/ByteBankTest.java b/src/test/java/org/scijava/io/ByteBankTest.java index 60eaa7c1e..b6350fb83 100644 --- a/src/test/java/org/scijava/io/ByteBankTest.java +++ b/src/test/java/org/scijava/io/ByteBankTest.java @@ -2,20 +2,17 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE diff --git a/src/test/java/org/scijava/io/handle/BytesHandleTest.java b/src/test/java/org/scijava/io/handle/BytesHandleTest.java index 03c536d55..991d2663b 100644 --- a/src/test/java/org/scijava/io/handle/BytesHandleTest.java +++ b/src/test/java/org/scijava/io/handle/BytesHandleTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/handle/DataHandleEdgeCaseTests.java b/src/test/java/org/scijava/io/handle/DataHandleEdgeCaseTests.java index 268faee59..6e0398aa8 100644 --- a/src/test/java/org/scijava/io/handle/DataHandleEdgeCaseTests.java +++ b/src/test/java/org/scijava/io/handle/DataHandleEdgeCaseTests.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2018 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/handle/DataHandleTest.java b/src/test/java/org/scijava/io/handle/DataHandleTest.java index 5fe7cf273..99ce93e35 100644 --- a/src/test/java/org/scijava/io/handle/DataHandleTest.java +++ b/src/test/java/org/scijava/io/handle/DataHandleTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/handle/DataHandlesTest.java b/src/test/java/org/scijava/io/handle/DataHandlesTest.java index 4d2a9a8c6..6bc45b329 100644 --- a/src/test/java/org/scijava/io/handle/DataHandlesTest.java +++ b/src/test/java/org/scijava/io/handle/DataHandlesTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/handle/FileHandleTest.java b/src/test/java/org/scijava/io/handle/FileHandleTest.java index df43ef347..687161d90 100644 --- a/src/test/java/org/scijava/io/handle/FileHandleTest.java +++ b/src/test/java/org/scijava/io/handle/FileHandleTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/handle/ReadBufferDataHandleMockTest.java b/src/test/java/org/scijava/io/handle/ReadBufferDataHandleMockTest.java index 38fabfe06..ee964d265 100644 --- a/src/test/java/org/scijava/io/handle/ReadBufferDataHandleMockTest.java +++ b/src/test/java/org/scijava/io/handle/ReadBufferDataHandleMockTest.java @@ -1,3 +1,31 @@ +/*- + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2020 SciJava developers. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ package org.scijava.io.handle; diff --git a/src/test/java/org/scijava/io/handle/ReadBufferDataHandleTest.java b/src/test/java/org/scijava/io/handle/ReadBufferDataHandleTest.java index 9f05bd38b..52d1436b0 100644 --- a/src/test/java/org/scijava/io/handle/ReadBufferDataHandleTest.java +++ b/src/test/java/org/scijava/io/handle/ReadBufferDataHandleTest.java @@ -2,20 +2,17 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE diff --git a/src/test/java/org/scijava/io/handle/WriteBufferDataHandleTest.java b/src/test/java/org/scijava/io/handle/WriteBufferDataHandleTest.java index 6ea468872..efa3c70d7 100644 --- a/src/test/java/org/scijava/io/handle/WriteBufferDataHandleTest.java +++ b/src/test/java/org/scijava/io/handle/WriteBufferDataHandleTest.java @@ -2,20 +2,17 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE diff --git a/src/test/java/org/scijava/io/location/BytesLocationTest.java b/src/test/java/org/scijava/io/location/BytesLocationTest.java index addac1dbb..583861392 100644 --- a/src/test/java/org/scijava/io/location/BytesLocationTest.java +++ b/src/test/java/org/scijava/io/location/BytesLocationTest.java @@ -2,20 +2,17 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE diff --git a/src/test/java/org/scijava/io/location/FileLocationResolverTest.java b/src/test/java/org/scijava/io/location/FileLocationResolverTest.java index 9e94b0281..9b58fe467 100644 --- a/src/test/java/org/scijava/io/location/FileLocationResolverTest.java +++ b/src/test/java/org/scijava/io/location/FileLocationResolverTest.java @@ -2,20 +2,17 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE diff --git a/src/test/java/org/scijava/io/location/FileLocationTest.java b/src/test/java/org/scijava/io/location/FileLocationTest.java index 43bc8b0f7..aa12f5df7 100644 --- a/src/test/java/org/scijava/io/location/FileLocationTest.java +++ b/src/test/java/org/scijava/io/location/FileLocationTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/location/LocationServiceTest.java b/src/test/java/org/scijava/io/location/LocationServiceTest.java index 4736fd24b..c298896da 100644 --- a/src/test/java/org/scijava/io/location/LocationServiceTest.java +++ b/src/test/java/org/scijava/io/location/LocationServiceTest.java @@ -2,20 +2,17 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE diff --git a/src/test/java/org/scijava/io/location/URILocationTest.java b/src/test/java/org/scijava/io/location/URILocationTest.java index 5298b1d6a..a8314552a 100644 --- a/src/test/java/org/scijava/io/location/URILocationTest.java +++ b/src/test/java/org/scijava/io/location/URILocationTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/location/URLLocationTest.java b/src/test/java/org/scijava/io/location/URLLocationTest.java index 1f74e1cb3..5a802b5f9 100644 --- a/src/test/java/org/scijava/io/location/URLLocationTest.java +++ b/src/test/java/org/scijava/io/location/URLLocationTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/nio/ByteBufferByteBankTest.java b/src/test/java/org/scijava/io/nio/ByteBufferByteBankTest.java index a1c571107..61e4a6c46 100644 --- a/src/test/java/org/scijava/io/nio/ByteBufferByteBankTest.java +++ b/src/test/java/org/scijava/io/nio/ByteBufferByteBankTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/log/CallingClassUtilsTest.java b/src/test/java/org/scijava/log/CallingClassUtilsTest.java index b9be5999b..a23f8fee0 100644 --- a/src/test/java/org/scijava/log/CallingClassUtilsTest.java +++ b/src/test/java/org/scijava/log/CallingClassUtilsTest.java @@ -2,19 +2,17 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, and Max Planck - * Institute of Molecular Cell Biology and Genetics. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE diff --git a/src/test/java/org/scijava/log/DefaultLoggerTest.java b/src/test/java/org/scijava/log/DefaultLoggerTest.java index 5abf54683..f19707bec 100644 --- a/src/test/java/org/scijava/log/DefaultLoggerTest.java +++ b/src/test/java/org/scijava/log/DefaultLoggerTest.java @@ -2,19 +2,17 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, and Max Planck - * Institute of Molecular Cell Biology and Genetics. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE diff --git a/src/test/java/org/scijava/log/LogMessageTest.java b/src/test/java/org/scijava/log/LogMessageTest.java index 0f19c0b65..8ad7252e3 100644 --- a/src/test/java/org/scijava/log/LogMessageTest.java +++ b/src/test/java/org/scijava/log/LogMessageTest.java @@ -2,19 +2,17 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, and Max Planck - * Institute of Molecular Cell Biology and Genetics. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE diff --git a/src/test/java/org/scijava/log/LogServiceTest.java b/src/test/java/org/scijava/log/LogServiceTest.java index a3c510d3a..79d2b5362 100644 --- a/src/test/java/org/scijava/log/LogServiceTest.java +++ b/src/test/java/org/scijava/log/LogServiceTest.java @@ -1,3 +1,31 @@ +/*- + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2020 SciJava developers. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ package org.scijava.log; import org.junit.Test; diff --git a/src/test/java/org/scijava/log/LogSourceTest.java b/src/test/java/org/scijava/log/LogSourceTest.java index b83c7d9ab..2348731ef 100644 --- a/src/test/java/org/scijava/log/LogSourceTest.java +++ b/src/test/java/org/scijava/log/LogSourceTest.java @@ -2,19 +2,17 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, and Max Planck - * Institute of Molecular Cell Biology and Genetics. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -115,4 +113,4 @@ public void testSetLogLevel() { assertTrue(source.hasLogLevel()); assertEquals(LogLevel.INFO, source.logLevel()); } -} \ No newline at end of file +} diff --git a/src/test/java/org/scijava/log/StderrLogServiceTest.java b/src/test/java/org/scijava/log/StderrLogServiceTest.java index bf740226e..72c1de930 100644 --- a/src/test/java/org/scijava/log/StderrLogServiceTest.java +++ b/src/test/java/org/scijava/log/StderrLogServiceTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/log/TestLogListener.java b/src/test/java/org/scijava/log/TestLogListener.java index fbc31946c..a07dc82e1 100644 --- a/src/test/java/org/scijava/log/TestLogListener.java +++ b/src/test/java/org/scijava/log/TestLogListener.java @@ -2,19 +2,17 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, and Max Planck - * Institute of Molecular Cell Biology and Genetics. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE diff --git a/src/test/java/org/scijava/main/MainServiceTest.java b/src/test/java/org/scijava/main/MainServiceTest.java index 76d1fd854..1280da8ee 100644 --- a/src/test/java/org/scijava/main/MainServiceTest.java +++ b/src/test/java/org/scijava/main/MainServiceTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/main/run/MainCodeRunnerTest.java b/src/test/java/org/scijava/main/run/MainCodeRunnerTest.java index c361345df..8dc7b9449 100644 --- a/src/test/java/org/scijava/main/run/MainCodeRunnerTest.java +++ b/src/test/java/org/scijava/main/run/MainCodeRunnerTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/menu/MenuServiceTest.java b/src/test/java/org/scijava/menu/MenuServiceTest.java index f228f7d79..a5df5b5fa 100644 --- a/src/test/java/org/scijava/menu/MenuServiceTest.java +++ b/src/test/java/org/scijava/menu/MenuServiceTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/menu/ShadowMenuTest.java b/src/test/java/org/scijava/menu/ShadowMenuTest.java index e0f06e0c3..e1056e81e 100644 --- a/src/test/java/org/scijava/menu/ShadowMenuTest.java +++ b/src/test/java/org/scijava/menu/ShadowMenuTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/module/ModuleServiceTest.java b/src/test/java/org/scijava/module/ModuleServiceTest.java index 08604b4e3..90c9107b7 100644 --- a/src/test/java/org/scijava/module/ModuleServiceTest.java +++ b/src/test/java/org/scijava/module/ModuleServiceTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/module/process/LoggerPreprocessorTest.java b/src/test/java/org/scijava/module/process/LoggerPreprocessorTest.java index b3cbc60ca..f39cbccb8 100644 --- a/src/test/java/org/scijava/module/process/LoggerPreprocessorTest.java +++ b/src/test/java/org/scijava/module/process/LoggerPreprocessorTest.java @@ -2,19 +2,17 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, and Max Planck - * Institute of Molecular Cell Biology and Genetics. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE diff --git a/src/test/java/org/scijava/module/run/ModuleCodeRunnerTest.java b/src/test/java/org/scijava/module/run/ModuleCodeRunnerTest.java index 8ad866534..03f5b059c 100644 --- a/src/test/java/org/scijava/module/run/ModuleCodeRunnerTest.java +++ b/src/test/java/org/scijava/module/run/ModuleCodeRunnerTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/object/NamedObjectIndexTest.java b/src/test/java/org/scijava/object/NamedObjectIndexTest.java index 3e4783247..29544816a 100644 --- a/src/test/java/org/scijava/object/NamedObjectIndexTest.java +++ b/src/test/java/org/scijava/object/NamedObjectIndexTest.java @@ -1,3 +1,31 @@ +/*- + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2020 SciJava developers. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ package org.scijava.object; import static org.junit.Assert.assertEquals; diff --git a/src/test/java/org/scijava/object/ObjectIndexTest.java b/src/test/java/org/scijava/object/ObjectIndexTest.java index 6e662eef4..e31d2b54d 100644 --- a/src/test/java/org/scijava/object/ObjectIndexTest.java +++ b/src/test/java/org/scijava/object/ObjectIndexTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/object/ObjectServiceTest.java b/src/test/java/org/scijava/object/ObjectServiceTest.java index 4d58a97fe..0a473a3ba 100644 --- a/src/test/java/org/scijava/object/ObjectServiceTest.java +++ b/src/test/java/org/scijava/object/ObjectServiceTest.java @@ -1,3 +1,31 @@ +/*- + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2020 SciJava developers. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ package org.scijava.object; import static org.junit.Assert.assertEquals; diff --git a/src/test/java/org/scijava/object/SortedObjectIndexTest.java b/src/test/java/org/scijava/object/SortedObjectIndexTest.java index 255780dc6..a1922ad25 100644 --- a/src/test/java/org/scijava/object/SortedObjectIndexTest.java +++ b/src/test/java/org/scijava/object/SortedObjectIndexTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/options/OptionsTest.java b/src/test/java/org/scijava/options/OptionsTest.java index 7ac1e4dd9..c4de55bbd 100644 --- a/src/test/java/org/scijava/options/OptionsTest.java +++ b/src/test/java/org/scijava/options/OptionsTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/parse/ParseServiceTest.java b/src/test/java/org/scijava/parse/ParseServiceTest.java index fd24e86ac..69ab7c3f9 100644 --- a/src/test/java/org/scijava/parse/ParseServiceTest.java +++ b/src/test/java/org/scijava/parse/ParseServiceTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/plugin/PluginFinderTest.java b/src/test/java/org/scijava/plugin/PluginFinderTest.java index cf3984c85..89170b5bc 100644 --- a/src/test/java/org/scijava/plugin/PluginFinderTest.java +++ b/src/test/java/org/scijava/plugin/PluginFinderTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/plugin/PluginIndexTest.java b/src/test/java/org/scijava/plugin/PluginIndexTest.java index 59e881152..2fb4e4f59 100644 --- a/src/test/java/org/scijava/plugin/PluginIndexTest.java +++ b/src/test/java/org/scijava/plugin/PluginIndexTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/plugin/PluginInfoTest.java b/src/test/java/org/scijava/plugin/PluginInfoTest.java index ae504aec7..3e46bf072 100644 --- a/src/test/java/org/scijava/plugin/PluginInfoTest.java +++ b/src/test/java/org/scijava/plugin/PluginInfoTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/plugin/SingletonServiceTest.java b/src/test/java/org/scijava/plugin/SingletonServiceTest.java index 1f91581f0..f2cf3075e 100644 --- a/src/test/java/org/scijava/plugin/SingletonServiceTest.java +++ b/src/test/java/org/scijava/plugin/SingletonServiceTest.java @@ -2,20 +2,17 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2018 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE diff --git a/src/test/java/org/scijava/prefs/PrefServiceTest.java b/src/test/java/org/scijava/prefs/PrefServiceTest.java index b768d960b..9f9733037 100644 --- a/src/test/java/org/scijava/prefs/PrefServiceTest.java +++ b/src/test/java/org/scijava/prefs/PrefServiceTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/run/RunServiceTest.java b/src/test/java/org/scijava/run/RunServiceTest.java index 17a38ab2d..304bce5cb 100644 --- a/src/test/java/org/scijava/run/RunServiceTest.java +++ b/src/test/java/org/scijava/run/RunServiceTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/script/AbstractScriptLanguageTest.java b/src/test/java/org/scijava/script/AbstractScriptLanguageTest.java index b9117d27c..e99d850e0 100644 --- a/src/test/java/org/scijava/script/AbstractScriptLanguageTest.java +++ b/src/test/java/org/scijava/script/AbstractScriptLanguageTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/script/ScriptEngineTest.java b/src/test/java/org/scijava/script/ScriptEngineTest.java index 8c72c5f8f..a45d9b66e 100644 --- a/src/test/java/org/scijava/script/ScriptEngineTest.java +++ b/src/test/java/org/scijava/script/ScriptEngineTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/script/ScriptFinderTest.java b/src/test/java/org/scijava/script/ScriptFinderTest.java index d47d2d858..92bcfd1cb 100644 --- a/src/test/java/org/scijava/script/ScriptFinderTest.java +++ b/src/test/java/org/scijava/script/ScriptFinderTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/script/ScriptInfoTest.java b/src/test/java/org/scijava/script/ScriptInfoTest.java index b6214c1cb..38c0ffa2f 100644 --- a/src/test/java/org/scijava/script/ScriptInfoTest.java +++ b/src/test/java/org/scijava/script/ScriptInfoTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/script/ScriptServiceTest.java b/src/test/java/org/scijava/script/ScriptServiceTest.java index 642767104..b9c5d14da 100644 --- a/src/test/java/org/scijava/script/ScriptServiceTest.java +++ b/src/test/java/org/scijava/script/ScriptServiceTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/service/ServiceIndexTest.java b/src/test/java/org/scijava/service/ServiceIndexTest.java index 4712282c0..972697a01 100644 --- a/src/test/java/org/scijava/service/ServiceIndexTest.java +++ b/src/test/java/org/scijava/service/ServiceIndexTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/task/TaskServiceTest.java b/src/test/java/org/scijava/task/TaskServiceTest.java index e9eb0e068..1dce2952a 100644 --- a/src/test/java/org/scijava/task/TaskServiceTest.java +++ b/src/test/java/org/scijava/task/TaskServiceTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/test/AbstractSciJavaTest.java b/src/test/java/org/scijava/test/AbstractSciJavaTest.java index 3bf06dde2..9064f9f92 100644 --- a/src/test/java/org/scijava/test/AbstractSciJavaTest.java +++ b/src/test/java/org/scijava/test/AbstractSciJavaTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/test/TestUtilsTest.java b/src/test/java/org/scijava/test/TestUtilsTest.java index 181e3246b..b47d94f79 100644 --- a/src/test/java/org/scijava/test/TestUtilsTest.java +++ b/src/test/java/org/scijava/test/TestUtilsTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/thread/ThreadServiceTest.java b/src/test/java/org/scijava/thread/ThreadServiceTest.java index 576c5a9a5..1bde42216 100644 --- a/src/test/java/org/scijava/thread/ThreadServiceTest.java +++ b/src/test/java/org/scijava/thread/ThreadServiceTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/ui/UIServiceTest.java b/src/test/java/org/scijava/ui/UIServiceTest.java index b54dfa540..f4c43008d 100644 --- a/src/test/java/org/scijava/ui/UIServiceTest.java +++ b/src/test/java/org/scijava/ui/UIServiceTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/AppUtilsTest.java b/src/test/java/org/scijava/util/AppUtilsTest.java index 2b2da010a..11ac49cb5 100644 --- a/src/test/java/org/scijava/util/AppUtilsTest.java +++ b/src/test/java/org/scijava/util/AppUtilsTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/ArrayUtilsTest.java b/src/test/java/org/scijava/util/ArrayUtilsTest.java index 7521d018c..7e98f5bf0 100644 --- a/src/test/java/org/scijava/util/ArrayUtilsTest.java +++ b/src/test/java/org/scijava/util/ArrayUtilsTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/BoolArrayTest.java b/src/test/java/org/scijava/util/BoolArrayTest.java index f94955de0..f481aab12 100644 --- a/src/test/java/org/scijava/util/BoolArrayTest.java +++ b/src/test/java/org/scijava/util/BoolArrayTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/ByteArrayTest.java b/src/test/java/org/scijava/util/ByteArrayTest.java index 266bf2e01..b0c22be5e 100644 --- a/src/test/java/org/scijava/util/ByteArrayTest.java +++ b/src/test/java/org/scijava/util/ByteArrayTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/CharArrayTest.java b/src/test/java/org/scijava/util/CharArrayTest.java index 4983e6461..deb2b2a66 100644 --- a/src/test/java/org/scijava/util/CharArrayTest.java +++ b/src/test/java/org/scijava/util/CharArrayTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/ClassUtilsTest.java b/src/test/java/org/scijava/util/ClassUtilsTest.java index 283ff45cd..e48c59dde 100644 --- a/src/test/java/org/scijava/util/ClassUtilsTest.java +++ b/src/test/java/org/scijava/util/ClassUtilsTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/ColorRGBTest.java b/src/test/java/org/scijava/util/ColorRGBTest.java index 423a6d281..5302f04d8 100644 --- a/src/test/java/org/scijava/util/ColorRGBTest.java +++ b/src/test/java/org/scijava/util/ColorRGBTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/ConversionUtilsTest.java b/src/test/java/org/scijava/util/ConversionUtilsTest.java index 69e08bc91..84ee67931 100644 --- a/src/test/java/org/scijava/util/ConversionUtilsTest.java +++ b/src/test/java/org/scijava/util/ConversionUtilsTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/DigestUtilsTest.java b/src/test/java/org/scijava/util/DigestUtilsTest.java index 4d0a837ff..792bac870 100644 --- a/src/test/java/org/scijava/util/DigestUtilsTest.java +++ b/src/test/java/org/scijava/util/DigestUtilsTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/DoubleArrayTest.java b/src/test/java/org/scijava/util/DoubleArrayTest.java index e90c6d053..42d9dbeb9 100644 --- a/src/test/java/org/scijava/util/DoubleArrayTest.java +++ b/src/test/java/org/scijava/util/DoubleArrayTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/FileUtilsTest.java b/src/test/java/org/scijava/util/FileUtilsTest.java index b464a580e..64c3a0024 100644 --- a/src/test/java/org/scijava/util/FileUtilsTest.java +++ b/src/test/java/org/scijava/util/FileUtilsTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/FloatArrayTest.java b/src/test/java/org/scijava/util/FloatArrayTest.java index 356df3e18..d68961a92 100644 --- a/src/test/java/org/scijava/util/FloatArrayTest.java +++ b/src/test/java/org/scijava/util/FloatArrayTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/IntArrayTest.java b/src/test/java/org/scijava/util/IntArrayTest.java index 4f22647b5..e55154002 100644 --- a/src/test/java/org/scijava/util/IntArrayTest.java +++ b/src/test/java/org/scijava/util/IntArrayTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/LastRecentlyUsedTest.java b/src/test/java/org/scijava/util/LastRecentlyUsedTest.java index fd80647e2..55e7157cb 100644 --- a/src/test/java/org/scijava/util/LastRecentlyUsedTest.java +++ b/src/test/java/org/scijava/util/LastRecentlyUsedTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/LongArrayTest.java b/src/test/java/org/scijava/util/LongArrayTest.java index d1063a581..43d742da3 100644 --- a/src/test/java/org/scijava/util/LongArrayTest.java +++ b/src/test/java/org/scijava/util/LongArrayTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/ObjectArrayTest.java b/src/test/java/org/scijava/util/ObjectArrayTest.java index 40dc5bd61..9b9ff1eab 100644 --- a/src/test/java/org/scijava/util/ObjectArrayTest.java +++ b/src/test/java/org/scijava/util/ObjectArrayTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/POMTest.java b/src/test/java/org/scijava/util/POMTest.java index c445c110d..b398d98f8 100644 --- a/src/test/java/org/scijava/util/POMTest.java +++ b/src/test/java/org/scijava/util/POMTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/PrimitiveArrayTest.java b/src/test/java/org/scijava/util/PrimitiveArrayTest.java index f4a5bfa72..7b64063fd 100644 --- a/src/test/java/org/scijava/util/PrimitiveArrayTest.java +++ b/src/test/java/org/scijava/util/PrimitiveArrayTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/ProcessUtilsTest.java b/src/test/java/org/scijava/util/ProcessUtilsTest.java index e8882c123..300cd5b01 100644 --- a/src/test/java/org/scijava/util/ProcessUtilsTest.java +++ b/src/test/java/org/scijava/util/ProcessUtilsTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/ShortArrayTest.java b/src/test/java/org/scijava/util/ShortArrayTest.java index 5cd7b6cb2..1a3211c03 100644 --- a/src/test/java/org/scijava/util/ShortArrayTest.java +++ b/src/test/java/org/scijava/util/ShortArrayTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/StringUtilsTest.java b/src/test/java/org/scijava/util/StringUtilsTest.java index 9559fd83c..168ef614b 100644 --- a/src/test/java/org/scijava/util/StringUtilsTest.java +++ b/src/test/java/org/scijava/util/StringUtilsTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/TypesTest.java b/src/test/java/org/scijava/util/TypesTest.java index 6dcbcc393..f5eef7b01 100644 --- a/src/test/java/org/scijava/util/TypesTest.java +++ b/src/test/java/org/scijava/util/TypesTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/UnitUtilsTest.java b/src/test/java/org/scijava/util/UnitUtilsTest.java index e0f060eca..e5ecb806b 100644 --- a/src/test/java/org/scijava/util/UnitUtilsTest.java +++ b/src/test/java/org/scijava/util/UnitUtilsTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/VersionUtilsTest.java b/src/test/java/org/scijava/util/VersionUtilsTest.java index 902006367..57bf77718 100644 --- a/src/test/java/org/scijava/util/VersionUtilsTest.java +++ b/src/test/java/org/scijava/util/VersionUtilsTest.java @@ -2,10 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: From dcb568dcb9c3c215a508813e899ffc4f1bfff056 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 25 May 2020 13:39:24 -0500 Subject: [PATCH 137/383] Bump to next development cycle Signed-off-by: Curtis Rueden --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 649edcae2..b6f190a7b 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.83.2-SNAPSHOT + 2.83.3-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From ca7bf72c17260f18f597775d2041b991189015f0 Mon Sep 17 00:00:00 2001 From: frauzufall Date: Thu, 28 May 2020 10:40:03 +0200 Subject: [PATCH 138/383] AbstractInputHarvester: make getObjects() not return duplicates * both the convertService and the objectService attach objects of a given type to the result list of AbstractInputHarvester:getObjects * this results into the same objects being in the list twice * using a set avoids duplicates in the list --- .../java/org/scijava/widget/AbstractInputHarvester.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/scijava/widget/AbstractInputHarvester.java b/src/main/java/org/scijava/widget/AbstractInputHarvester.java index c17f3f6b7..582b72b77 100644 --- a/src/main/java/org/scijava/widget/AbstractInputHarvester.java +++ b/src/main/java/org/scijava/widget/AbstractInputHarvester.java @@ -30,7 +30,9 @@ package org.scijava.widget; import java.util.ArrayList; +import java.util.HashSet; import java.util.List; +import java.util.Set; import org.scijava.AbstractContextual; import org.scijava.convert.ConvertService; @@ -129,10 +131,10 @@ private WidgetModel addInput(final InputPanel inputPanel, @SuppressWarnings("unchecked") private List getObjects(final Class type) { @SuppressWarnings("rawtypes") - List compatibleInputs = - new ArrayList(convertService.getCompatibleInputs(type)); + Set compatibleInputs = + new HashSet(convertService.getCompatibleInputs(type)); compatibleInputs.addAll(objectService.getObjects(type)); - return compatibleInputs; + return new ArrayList<>(compatibleInputs); } } From 92339087fe885e55d2cb913eea8322483cf96e0f Mon Sep 17 00:00:00 2001 From: tpietzsch Date: Thu, 28 May 2020 17:02:13 +0200 Subject: [PATCH 139/383] Fix ReadBufferDataHandle.globalToLocalOffset() Missing parantheses broke it for off > Integer.MAX_VALUE --- src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java b/src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java index 26670f5ed..05e442405 100644 --- a/src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java +++ b/src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java @@ -182,7 +182,7 @@ private byte[] readPage(final int pageID, final int slotID) throws IOException { * Calculates the offset in the current page for the given global offset */ private int globalToLocalOffset(final long off) { - return (int) off % pageSize; + return (int) (off % pageSize); } @Override From dc8ea6d88071d02740ec8e707c9e2cd2cc1ce53c Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Thu, 28 May 2020 10:11:25 -0500 Subject: [PATCH 140/383] Bump to next development cycle Signed-off-by: Curtis Rueden --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index b6f190a7b..ed7bd2a5f 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.83.3-SNAPSHOT + 2.83.4-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From 9d3a6e647e1b7991a120f0a2b87052bda9a93ceb Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Sat, 14 Dec 2019 17:56:54 +0100 Subject: [PATCH 141/383] Add unit tests for Inputs class Co-authored-by: Deborah Schmidt --- src/main/java/org/scijava/command/Inputs.java | 2 +- .../scijava/plugin/DefaultPluginService.java | 3 +- .../java/org/scijava/command/InputsTest.java | 170 ++++++++++++++++++ 3 files changed, 173 insertions(+), 2 deletions(-) create mode 100644 src/test/java/org/scijava/command/InputsTest.java diff --git a/src/main/java/org/scijava/command/Inputs.java b/src/main/java/org/scijava/command/Inputs.java index f34f00aed..ad7ba18f4 100644 --- a/src/main/java/org/scijava/command/Inputs.java +++ b/src/main/java/org/scijava/command/Inputs.java @@ -96,7 +96,7 @@ public Map harvest() { try { final List pre = // pluginService.createInstancesOfType(PreprocessorPlugin.class); - return moduleService.run(this, true, pre, null).get().getInputs(); + return moduleService.run(this, pre, null).get().getInputs(); } catch (final InterruptedException | ExecutionException exc) { throw new RuntimeException(exc); diff --git a/src/main/java/org/scijava/plugin/DefaultPluginService.java b/src/main/java/org/scijava/plugin/DefaultPluginService.java index 45fcdf656..24612e3d4 100644 --- a/src/main/java/org/scijava/plugin/DefaultPluginService.java +++ b/src/main/java/org/scijava/plugin/DefaultPluginService.java @@ -239,7 +239,8 @@ public List createInstances( return p; } catch (final Throwable t) { - final String errorMessage = "Cannot create plugin: " + info; + final String errorMessage = // + "Cannot create plugin: " + info.getClassName(); if (log.isDebug()) log.debug(errorMessage, t); else log.error(errorMessage); } diff --git a/src/test/java/org/scijava/command/InputsTest.java b/src/test/java/org/scijava/command/InputsTest.java new file mode 100644 index 000000000..8c06e0bbe --- /dev/null +++ b/src/test/java/org/scijava/command/InputsTest.java @@ -0,0 +1,170 @@ +/* + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2017 Board of Regents of the University of + * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck + * Institute of Molecular Cell Biology and Genetics, University of + * Konstanz, and KNIME GmbH. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ + +package org.scijava.command; + +import static org.junit.Assert.assertEquals; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.scijava.Context; +import org.scijava.InstantiableException; +import org.scijava.log.LogLevel; +import org.scijava.log.LogService; +import org.scijava.module.Module; +import org.scijava.module.ModuleItem; +import org.scijava.module.MutableModuleItem; +import org.scijava.module.process.AbstractPreprocessorPlugin; +import org.scijava.module.process.PreprocessorPlugin; +import org.scijava.plugin.PluginInfo; +import org.scijava.plugin.PluginService; +import org.scijava.widget.InputHarvester; +import org.scijava.widget.NumberWidget; + +/** + * Tests {@link Inputs}. + * + * @author Curtis Rueden + * @author Deborah Schmidt + */ +public class InputsTest { + + private Context context; + + @Before + public void setUp() { + context = new Context(); + context.service(PluginService.class); + } + + @After + public void tearDown() { + context.dispose(); + } + + /** Tests single input, no configuration. */ + @Test + public void testSingleInput() { + setExpected(new HashMap() {{ + put("sigma", 3.9f); + }}); + Inputs inputs = new Inputs(context); + inputs.getInfo().setName("testSingleInput");//TEMP + inputs.addInput("sigma", Float.class); + float sigma = (Float) inputs.harvest().get("sigma"); + assertEquals(3.9f, sigma, 0); + } + + /** Tests two inputs, no configuration. */ + @Test + public void testTwoInputs() { + setExpected(new HashMap() {{ + put("name", "Chuckles"); + put("age", 37); + }}); + Inputs inputs = new Inputs(context); + inputs.getInfo().setName("testTwoInputs");//TEMP + inputs.addInput("name", String.class); + inputs.addInput("age", Integer.class); + Map values = inputs.harvest(); + String name = (String) values.get("name"); + int age = (Integer) values.get("age"); + assertEquals("Chuckles", name); + assertEquals(37, age); + } + + /** Tests inputs with configuration. */ + @Test + public void testWithConfiguration() { + setExpected(new HashMap() {{ + put("word", "brown"); + put("opacity", 0.8); + }}); + Inputs inputs = new Inputs(context); + inputs.getInfo().setName("testWithConfiguration");//TEMP + MutableModuleItem wordInput = inputs.addInput("word", String.class); + wordInput.setLabel("Favorite word"); + wordInput.setChoices(Arrays.asList("quick", "brown", "fox")); + wordInput.setDefaultValue("fox"); + MutableModuleItem opacityInput = inputs.addInput("opacity", Double.class); + opacityInput.setMinimumValue(0.0); + opacityInput.setMaximumValue(1.0); + opacityInput.setDefaultValue(0.5); + opacityInput.setWidgetStyle(NumberWidget.SCROLL_BAR_STYLE); + inputs.harvest(); + String word = wordInput.getValue(inputs); + double opacity = opacityInput.getValue(inputs); + assertEquals("brown", word); + assertEquals(0.8, opacity, 0); + } + + public void setExpected(final Map expected) { + final PluginInfo info = + new PluginInfo(MockInputHarvester.class, + PreprocessorPlugin.class) + { + @Override + public PreprocessorPlugin createInstance() throws InstantiableException { + final PreprocessorPlugin pp = super.createInstance(); + ((MockInputHarvester) pp).setExpected(expected); + return pp; + } + }; + info.setPriority(InputHarvester.PRIORITY); + context.service(PluginService.class).addPlugin(info); + } + + public static class MockInputHarvester extends AbstractPreprocessorPlugin { + private Map expected; + public void setExpected(final Map expected) { + this.expected = expected; + } + + @Override + public void process(final Module module) { + for (final ModuleItem input : module.getInfo().inputs()) { + if (module.isInputResolved(input.getName())) continue; + final String name = input.getName(); + if (!expected.containsKey(name)) { + throw new AssertionError("No value for input: " + input.getName()); + } + final Object value = expected.get(name); + module.setInput(name, value); + } + } + } +} From 950c3f3b5a4437015baf5455514db8c5a84df4df Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Fri, 3 Jul 2020 11:30:39 -0500 Subject: [PATCH 142/383] Rename blacklist to blocklist See e.g. https://twitter.com/leahculver/status/1269109776983547904 --- .../scijava/plugin/DefaultPluginFinder.java | 18 +++++++++--------- .../org/scijava/plugin/PluginFinderTest.java | 18 +++++++++--------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/main/java/org/scijava/plugin/DefaultPluginFinder.java b/src/main/java/org/scijava/plugin/DefaultPluginFinder.java index d703119a8..3cb59909e 100644 --- a/src/main/java/org/scijava/plugin/DefaultPluginFinder.java +++ b/src/main/java/org/scijava/plugin/DefaultPluginFinder.java @@ -53,7 +53,7 @@ public class DefaultPluginFinder implements PluginFinder { /** Class loader to use when querying the annotation indexes. */ private final ClassLoader customClassLoader; - private final PluginBlacklist blacklist; + private final PluginBlocklist blocklist; // -- Constructors -- @@ -63,7 +63,7 @@ public DefaultPluginFinder() { public DefaultPluginFinder(final ClassLoader classLoader) { customClassLoader = classLoader; - blacklist = new SysPropBlacklist(); + blocklist = new SysPropBlocklist(); } // -- PluginFinder methods -- @@ -82,7 +82,7 @@ public HashMap findPlugins( // create a PluginInfo object for each item in the index for (final IndexItem item : annotationIndex) { - if (blacklist.contains(item.className())) continue; + if (blocklist.contains(item.className())) continue; try { final PluginInfo info = createInfo(item, classLoader); plugins.add(info); @@ -117,23 +117,23 @@ private ClassLoader getClassLoader() { // -- Helper classes -- - private interface PluginBlacklist { + private interface PluginBlocklist { boolean contains(String className); } /** - * A blacklist defined by the {@code scijava.plugin.blacklist} system + * A blocklist defined by the {@code scijava.plugin.blocklist} system * property, formatted as a colon-separated list of regexes. *

    * If a plugin class matches any of the regexes, it is excluded from the * plugin index. *

    */ - private class SysPropBlacklist implements PluginBlacklist { + private class SysPropBlocklist implements PluginBlocklist { private final List patterns; - public SysPropBlacklist() { - final String sysProp = System.getProperty("scijava.plugin.blacklist"); + public SysPropBlocklist() { + final String sysProp = System.getProperty("scijava.plugin.blocklist"); final String[] regexes = // sysProp == null ? new String[0] : sysProp.split(":"); patterns = new ArrayList<>(regexes.length); @@ -147,7 +147,7 @@ public SysPropBlacklist() { } } - // -- PluginBlacklist methods -- + // -- PluginBlocklist methods -- @Override public boolean contains(final String className) { diff --git a/src/test/java/org/scijava/plugin/PluginFinderTest.java b/src/test/java/org/scijava/plugin/PluginFinderTest.java index 89170b5bc..6df16a8d7 100644 --- a/src/test/java/org/scijava/plugin/PluginFinderTest.java +++ b/src/test/java/org/scijava/plugin/PluginFinderTest.java @@ -43,33 +43,33 @@ public class PluginFinderTest { /** - * Tests that the {@code scijava.plugin.blacklist} system property works to + * Tests that the {@code scijava.plugin.blocklist} system property works to * exclude plugins from the index, even when they are on the classpath. */ @Test - public void testPluginBlacklistSystemProperty() { + public void testPluginBlocklistSystemProperty() { // check that the plugin is there, normally Context context = new Context(PluginService.class); PluginService pluginService = context.service(PluginService.class); PluginInfo plugin = // - pluginService.getPlugin(BlacklistedPlugin.class); - assertSame(BlacklistedPlugin.class.getName(), plugin.getClassName()); + pluginService.getPlugin(BlocklistedPlugin.class); + assertSame(BlocklistedPlugin.class.getName(), plugin.getClassName()); context.dispose(); - // blacklist the plugin, then check that it is absent - System.setProperty("scijava.plugin.blacklist", ".*BlacklistedPlugin"); + // blocklist the plugin, then check that it is absent + System.setProperty("scijava.plugin.blocklist", ".*BlocklistedPlugin"); context = new Context(PluginService.class); pluginService = context.service(PluginService.class); - plugin = pluginService.getPlugin(BlacklistedPlugin.class); + plugin = pluginService.getPlugin(BlocklistedPlugin.class); assertNull(plugin); context.dispose(); // reset the system - System.getProperties().remove("scijava.plugin.blacklist"); + System.getProperties().remove("scijava.plugin.blocklist"); } @Plugin(type = SciJavaPlugin.class) - public static class BlacklistedPlugin implements SciJavaPlugin { + public static class BlocklistedPlugin implements SciJavaPlugin { // NB: No implementation needed. } From 460927a3c946eb7c2cb7fd9c01b3a359bd2306ef Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Fri, 3 Jul 2020 11:37:16 -0500 Subject: [PATCH 143/383] Bump to next development cycle Signed-off-by: Curtis Rueden --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index ed7bd2a5f..43d085481 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.83.4-SNAPSHOT + 2.83.5-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From d200f608e601a5cb70865fea27c3844bcef1b8c4 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Thu, 16 Jul 2020 13:50:27 -0500 Subject: [PATCH 144/383] POM: bump minor version The Inputs class is new API. --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 43d085481..92757258f 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.83.5-SNAPSHOT + 2.84.0-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From b42b473d5943c0b64df49eb3cb13de53da9c30d5 Mon Sep 17 00:00:00 2001 From: Emil Melnikov Date: Fri, 31 Jul 2020 15:19:30 +0200 Subject: [PATCH 145/383] Fix DynamicCommand.getOutput --- src/main/java/org/scijava/command/DynamicCommand.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/scijava/command/DynamicCommand.java b/src/main/java/org/scijava/command/DynamicCommand.java index e8146faca..c9919ef33 100644 --- a/src/main/java/org/scijava/command/DynamicCommand.java +++ b/src/main/java/org/scijava/command/DynamicCommand.java @@ -93,7 +93,7 @@ public Object getInput(final String name) { @Override public Object getOutput(final String name) { final Field field = getInfo().getOutputField(name); - if (field == null) return super.getInput(name); + if (field == null) return super.getOutput(name); return ClassUtils.getValue(field, this); } From a5993b3a9cd9c634881b4c30c47ac95884ff451d Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 5 Aug 2020 11:38:16 -0500 Subject: [PATCH 146/383] ModuleRunner: do not rethrow caught exceptions Apparently this is a bad practice. Better to use chaining. --- src/main/java/org/scijava/module/ModuleRunner.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/scijava/module/ModuleRunner.java b/src/main/java/org/scijava/module/ModuleRunner.java index d514afa54..b8ec3a20a 100644 --- a/src/main/java/org/scijava/module/ModuleRunner.java +++ b/src/main/java/org/scijava/module/ModuleRunner.java @@ -124,12 +124,10 @@ public Module call() { run(); } catch (final RuntimeException exc) { - if (log != null) log.error("Module threw exception", exc); - throw exc; + throw new RuntimeException("Module threw exception", exc); } catch (final Error err) { - if (log != null) log.error("Module threw error", err); - throw err; + throw new RuntimeException("Module threw error", err); } return module; } From b7285c5f807891097b5405b270952fcd32f2253c Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Sat, 7 Jun 2014 13:19:45 -0500 Subject: [PATCH 147/383] Use Location, not String, in the I/O API This is much more elegant. It is also a very breaking change. Co-authored-by: Deborah Schmidt --- .../java/org/scijava/io/AbstractIOPlugin.java | 41 ++++++++++++- .../java/org/scijava/io/DefaultIOService.java | 30 +++++++++- .../scijava/io/DefaultRecentFileService.java | 7 ++- src/main/java/org/scijava/io/IOPlugin.java | 34 +++++++++-- src/main/java/org/scijava/io/IOService.java | 59 ++++++++++++++++--- .../org/scijava/io/event/DataOpenedEvent.java | 16 ++--- .../org/scijava/io/event/DataSavedEvent.java | 12 ++-- .../java/org/scijava/io/event/IOEvent.java | 18 +++--- .../org/scijava/script/io/ScriptIOPlugin.java | 11 +++- .../org/scijava/text/io/TextIOPlugin.java | 15 +++-- .../ui/dnd/FileDragAndDropHandler.java | 9 +-- .../java/org/scijava/io/DummyTextFormat.java | 22 +++++++ .../java/org/scijava/io/IOServiceTest.java | 38 ++++++++++++ src/test/resources/org/scijava/io/test.txt | 1 + 14 files changed, 256 insertions(+), 57 deletions(-) create mode 100644 src/test/java/org/scijava/io/DummyTextFormat.java create mode 100644 src/test/java/org/scijava/io/IOServiceTest.java create mode 100644 src/test/resources/org/scijava/io/test.txt diff --git a/src/main/java/org/scijava/io/AbstractIOPlugin.java b/src/main/java/org/scijava/io/AbstractIOPlugin.java index 6ccd92f2c..9d314f8a3 100644 --- a/src/main/java/org/scijava/io/AbstractIOPlugin.java +++ b/src/main/java/org/scijava/io/AbstractIOPlugin.java @@ -29,15 +29,50 @@ package org.scijava.io; +import org.scijava.io.location.Location; +import org.scijava.io.location.LocationService; import org.scijava.plugin.AbstractHandlerPlugin; +import org.scijava.plugin.Parameter; + +import java.io.IOException; +import java.net.URISyntaxException; /** * Abstract base class for {@link IOPlugin}s. * * @author Curtis Rueden */ -public abstract class AbstractIOPlugin extends AbstractHandlerPlugin - implements IOPlugin +public abstract class AbstractIOPlugin extends + AbstractHandlerPlugin implements IOPlugin { - // NB: No implementation needed. + + @Parameter + private LocationService locationService; + + @Override + public boolean supportsOpen(final String source) { + try { + return supportsOpen(locationService.resolve(source)); + } catch (URISyntaxException e) { + return false; + } + } + + @Override + public boolean supportsSave(final String destination) { + try { + return supportsSave(locationService.resolve(destination)); + } catch (URISyntaxException e) { + return false; + } + } + + @Override + public void save(final D data, final String destination) throws IOException { + try { + save(data, locationService.resolve(destination)); + } catch (URISyntaxException e) { + throw new IOException(e); + } + } } diff --git a/src/main/java/org/scijava/io/DefaultIOService.java b/src/main/java/org/scijava/io/DefaultIOService.java index c71896453..bfdaf35a2 100644 --- a/src/main/java/org/scijava/io/DefaultIOService.java +++ b/src/main/java/org/scijava/io/DefaultIOService.java @@ -30,10 +30,13 @@ package org.scijava.io; import java.io.IOException; +import java.net.URISyntaxException; import org.scijava.event.EventService; import org.scijava.io.event.DataOpenedEvent; import org.scijava.io.event.DataSavedEvent; +import org.scijava.io.location.Location; +import org.scijava.io.location.LocationService; import org.scijava.log.LogService; import org.scijava.plugin.AbstractHandlerService; import org.scijava.plugin.Parameter; @@ -47,7 +50,7 @@ */ @Plugin(type = Service.class) public final class DefaultIOService - extends AbstractHandlerService> implements IOService + extends AbstractHandlerService> implements IOService { @Parameter @@ -56,10 +59,31 @@ public final class DefaultIOService @Parameter private EventService eventService; - // -- IOService methods -- + @Parameter + private LocationService locationService; @Override public Object open(final String source) throws IOException { + try { + return open(locationService.resolve(source)); + } catch (URISyntaxException e) { + throw new IOException(e); + } + } + + @Override + public void save(final Object data, final String destination) + throws IOException + { + try { + save(data, locationService.resolve(destination)); + } catch (URISyntaxException e) { + throw new IOException(e); + } + } + + @Override + public Object open(final Location source) throws IOException { final IOPlugin opener = getOpener(source); if (opener == null) { log.error("No opener IOPlugin found for " + source + "."); @@ -77,7 +101,7 @@ public Object open(final String source) throws IOException { } @Override - public void save(final Object data, final String destination) + public void save(final Object data, final Location destination) throws IOException { final IOPlugin saver = getSaver(data, destination); diff --git a/src/main/java/org/scijava/io/DefaultRecentFileService.java b/src/main/java/org/scijava/io/DefaultRecentFileService.java index 28a3804ef..a15b172b5 100644 --- a/src/main/java/org/scijava/io/DefaultRecentFileService.java +++ b/src/main/java/org/scijava/io/DefaultRecentFileService.java @@ -41,6 +41,8 @@ import org.scijava.event.EventHandler; import org.scijava.event.EventService; import org.scijava.io.event.IOEvent; +import org.scijava.io.location.FileLocation; +import org.scijava.io.location.Location; import org.scijava.menu.MenuConstants; import org.scijava.module.ModuleInfo; import org.scijava.module.ModuleService; @@ -181,7 +183,10 @@ public void dispose() { @EventHandler protected void onEvent(final IOEvent event) { - add(event.getDescriptor()); + final Location loc = event.getLocation(); + if (!(loc instanceof FileLocation)) return; + final FileLocation fileLoc = (FileLocation) loc; + add(fileLoc.getFile().getPath()); } // -- Helper methods -- diff --git a/src/main/java/org/scijava/io/IOPlugin.java b/src/main/java/org/scijava/io/IOPlugin.java index 86bcee5b2..298cf6252 100644 --- a/src/main/java/org/scijava/io/IOPlugin.java +++ b/src/main/java/org/scijava/io/IOPlugin.java @@ -31,6 +31,8 @@ import java.io.IOException; +import org.scijava.io.location.FileLocation; +import org.scijava.io.location.Location; import org.scijava.plugin.HandlerPlugin; import org.scijava.plugin.Plugin; @@ -48,7 +50,7 @@ * @see Plugin * @see IOService */ -public interface IOPlugin extends HandlerPlugin { +public interface IOPlugin extends HandlerPlugin { /** The type of data opened and/or saved by the plugin. */ Class getDataType(); @@ -56,44 +58,66 @@ public interface IOPlugin extends HandlerPlugin { /** Checks whether the I/O plugin can open data from the given source. */ @SuppressWarnings("unused") default boolean supportsOpen(final String source) { + return supportsOpen(new FileLocation(source)); + } + + /** Checks whether the I/O plugin can open data from the given location. */ + default boolean supportsOpen(Location source) { return false; } /** Checks whether the I/O plugin can save data to the given destination. */ @SuppressWarnings("unused") default boolean supportsSave(final String destination) { + return supportsSave(new FileLocation(destination)); + } + + /** Checks whether the I/O plugin can save data to the given location. */ + default boolean supportsSave(Location destination) { return false; } /** * Checks whether the I/O plugin can save the given data to the specified - * destination. + * location. */ default boolean supportsSave(final Object data, final String destination) { return supportsSave(destination) && getDataType().isInstance(data); } + default boolean supportsSave(Object data, Location destination) { + return supportsSave(destination) && getDataType().isInstance(data); + } + /** Opens data from the given source. */ @SuppressWarnings("unused") default D open(final String source) throws IOException { throw new UnsupportedOperationException(); } + /** Opens data from the given location. */ + default D open(Location source) throws IOException { + throw new UnsupportedOperationException(); + } /** Saves the given data to the specified destination. */ @SuppressWarnings("unused") default void save(final D data, final String destination) throws IOException { + save(data, new FileLocation(destination)); + } + + /** Saves the given data to the specified location. */ + default void save(D data, Location destination) throws IOException { throw new UnsupportedOperationException(); } // -- Typed methods -- - @Override default boolean supports(final String descriptor) { return supportsOpen(descriptor) || supportsSave(descriptor); } @Override - default Class getType() { - return String.class; + default Class getType() { + return Location.class; } } diff --git a/src/main/java/org/scijava/io/IOService.java b/src/main/java/org/scijava/io/IOService.java index f31ffdf64..4e49f4aee 100644 --- a/src/main/java/org/scijava/io/IOService.java +++ b/src/main/java/org/scijava/io/IOService.java @@ -31,6 +31,8 @@ import java.io.IOException; +import org.scijava.io.location.FileLocation; +import org.scijava.io.location.Location; import org.scijava.plugin.HandlerService; import org.scijava.service.SciJavaService; @@ -39,15 +41,23 @@ * * @author Curtis Rueden */ -public interface IOService extends HandlerService>, +public interface IOService extends HandlerService>, SciJavaService { /** * Gets the most appropriate {@link IOPlugin} for opening data from the given - * source. + * location. */ default IOPlugin getOpener(final String source) { + return getOpener(new FileLocation(source)); + } + + /** + * Gets the most appropriate {@link IOPlugin} for opening data from the given + * location. + */ + default IOPlugin getOpener(Location source) { for (final IOPlugin handler : getInstances()) { if (handler.supportsOpen(source)) return handler; } @@ -56,9 +66,17 @@ default IOPlugin getOpener(final String source) { /** * Gets the most appropriate {@link IOPlugin} for saving data to the given - * destination. + * location. */ default IOPlugin getSaver(final D data, final String destination) { + return getSaver(data, new FileLocation(destination)); + } + + /** + * Gets the most appropriate {@link IOPlugin} for saving data to the given + * location. + */ + default IOPlugin getSaver(D data, Location destination) { for (final IOPlugin handler : getInstances()) { if (handler.supportsSave(data, destination)) { @SuppressWarnings("unchecked") @@ -77,7 +95,7 @@ default IOPlugin getSaver(final D data, final String destination) { * The opener to use is automatically determined based on available * {@link IOPlugin}s; see {@link #getOpener(String)}. *

    - * + * * @param source The source (e.g., file path) from which to data should be * loaded. * @return An object representing the loaded data, or null if the source is @@ -86,6 +104,20 @@ default IOPlugin getSaver(final D data, final String destination) { */ Object open(String source) throws IOException; + /** + * Loads data from the given location. + *

    + * The opener to use is automatically determined based on available + * {@link IOPlugin}s; see {@link #getOpener(Location)}. + *

    + * + * @param source The location from which to data should be loaded. + * @return An object representing the loaded data, or null if the source is + * not supported. + * @throws IOException if something goes wrong loading the data. + */ + Object open(Location source) throws IOException; + /** * Saves data to the given destination. The nature of the destination is left * intentionally general, but the most common example is a file path. @@ -93,7 +125,7 @@ default IOPlugin getSaver(final D data, final String destination) { * The saver to use is automatically determined based on available * {@link IOPlugin}s; see {@link #getSaver(Object, String)}. *

    - * + * * @param data The data to be saved to the destination. * @param destination The destination (e.g., file path) to which data should * be saved. @@ -101,6 +133,19 @@ default IOPlugin getSaver(final D data, final String destination) { */ void save(Object data, String destination) throws IOException; + /** + * Saves data to the given location. + *

    + * The saver to use is automatically determined based on available + * {@link IOPlugin}s; see {@link #getSaver(Object, Location)}. + *

    + * + * @param data The data to be saved to the destination. + * @param destination The destination location to which data should be saved. + * @throws IOException if something goes wrong saving the data. + */ + void save(Object data, Location destination) throws IOException; + // -- HandlerService methods -- @Override @@ -110,7 +155,7 @@ default Class> getPluginType() { } @Override - default Class getType() { - return String.class; + default Class getType() { + return Location.class; } } diff --git a/src/main/java/org/scijava/io/event/DataOpenedEvent.java b/src/main/java/org/scijava/io/event/DataOpenedEvent.java index 7af006c5a..4cf613856 100644 --- a/src/main/java/org/scijava/io/event/DataOpenedEvent.java +++ b/src/main/java/org/scijava/io/event/DataOpenedEvent.java @@ -29,22 +29,18 @@ package org.scijava.io.event; + +import org.scijava.io.location.Location; + /** - * An event indicating that data has been opened from a source. + * An event indicating that data has been opened from a location. * * @author Curtis Rueden */ public class DataOpenedEvent extends IOEvent { - public DataOpenedEvent(final String source, final Object data) { - super(source, data); - } - - // -- DataOpenedEvent methods -- - - /** Gets the source from which data was opened. */ - public String getSource() { - return getDescriptor(); + public DataOpenedEvent(final Location location, final Object data) { + super(location, data); } } diff --git a/src/main/java/org/scijava/io/event/DataSavedEvent.java b/src/main/java/org/scijava/io/event/DataSavedEvent.java index cd6d22439..fe4b7abc3 100644 --- a/src/main/java/org/scijava/io/event/DataSavedEvent.java +++ b/src/main/java/org/scijava/io/event/DataSavedEvent.java @@ -29,6 +29,9 @@ package org.scijava.io.event; + +import org.scijava.io.location.Location; + /** * An event indicating that data has been saved to a destination. * @@ -36,15 +39,8 @@ */ public class DataSavedEvent extends IOEvent { - public DataSavedEvent(final String destination, final Object data) { + public DataSavedEvent(final Location destination, final Object data) { super(destination, data); } - // -- DataSavedEvent methods -- - - /** Gets the destination to which data was saved. */ - public String getDestination() { - return getDescriptor(); - } - } diff --git a/src/main/java/org/scijava/io/event/IOEvent.java b/src/main/java/org/scijava/io/event/IOEvent.java index 1a62e6fca..9228c94a4 100644 --- a/src/main/java/org/scijava/io/event/IOEvent.java +++ b/src/main/java/org/scijava/io/event/IOEvent.java @@ -30,6 +30,7 @@ package org.scijava.io.event; import org.scijava.event.SciJavaEvent; +import org.scijava.io.location.Location; /** * An event indicating that I/O (e.g., opening or saving) has occurred. @@ -38,20 +39,20 @@ */ public abstract class IOEvent extends SciJavaEvent { - /** The data descriptor (source or destination). */ - private final String descriptor; + /** The data location (source or destination). */ + private final Location location; /** The data for which I/O took place. */ private final Object data; - public IOEvent(final String descriptor, final Object data) { - this.descriptor = descriptor; + public IOEvent(final Location location, final Object data) { + this.location = location; this.data = data; } - /** Gets the data descriptor (source or destination). */ - public String getDescriptor() { - return descriptor; + /** Gets the data location (source or destination). */ + public Location getLocation() { + return location; } /** Gets the data for which I/O took place. */ @@ -63,7 +64,8 @@ public Object getData() { @Override public String toString() { - return super.toString() + "\n\tdescriptor = " + data + "\n\tdata = " + data; + return super.toString() + "\n\tlocation = " + location + "\n\tdata = " + + data; } } diff --git a/src/main/java/org/scijava/script/io/ScriptIOPlugin.java b/src/main/java/org/scijava/script/io/ScriptIOPlugin.java index 56d201770..f881dc429 100644 --- a/src/main/java/org/scijava/script/io/ScriptIOPlugin.java +++ b/src/main/java/org/scijava/script/io/ScriptIOPlugin.java @@ -33,6 +33,8 @@ import org.scijava.io.AbstractIOPlugin; import org.scijava.io.IOPlugin; +import org.scijava.io.location.FileLocation; +import org.scijava.io.location.Location; import org.scijava.plugin.Parameter; import org.scijava.script.ScriptService; @@ -55,13 +57,16 @@ public Class getDataType() { } @Override - public boolean supportsOpen(final String source) { + public boolean supportsOpen(final Location source) { if (scriptService == null) return false; // no service for opening scripts - return scriptService.canHandleFile(source); + // TODO: Update ScriptService to use Location instead of File. + if (!(source instanceof FileLocation)) return false; + final FileLocation loc = (FileLocation) source; + return scriptService.canHandleFile(loc.getFile()); } @Override - public String open(final String source) throws IOException { + public String open(final Location source) throws IOException { if (scriptService == null) return null; // no service for opening scripts // TODO: Use the script service to open the file in the script editor. return null; diff --git a/src/main/java/org/scijava/text/io/TextIOPlugin.java b/src/main/java/org/scijava/text/io/TextIOPlugin.java index 3d2c64172..523ff2c34 100644 --- a/src/main/java/org/scijava/text/io/TextIOPlugin.java +++ b/src/main/java/org/scijava/text/io/TextIOPlugin.java @@ -29,12 +29,13 @@ package org.scijava.text.io; -import java.io.File; import java.io.IOException; import org.scijava.Priority; import org.scijava.io.AbstractIOPlugin; import org.scijava.io.IOPlugin; +import org.scijava.io.location.FileLocation; +import org.scijava.io.location.Location; import org.scijava.plugin.Parameter; import org.scijava.plugin.Plugin; import org.scijava.text.TextService; @@ -59,15 +60,19 @@ public Class getDataType() { } @Override - public boolean supportsOpen(final String source) { + public boolean supportsOpen(final Location source) { if (textService == null) return false; // no service for opening text files - return textService.supports(new File(source)); + if (!(source instanceof FileLocation)) return false; + final FileLocation loc = (FileLocation) source; + return textService.supports(loc.getFile()); } @Override - public String open(final String source) throws IOException { + public String open(final Location source) throws IOException { if (textService == null) return null; // no service for opening text files - return textService.asHTML(new File(source)); + if (!(source instanceof FileLocation)) throw new IllegalArgumentException(); + final FileLocation loc = (FileLocation) source; + return textService.asHTML(loc.getFile()); } } diff --git a/src/main/java/org/scijava/ui/dnd/FileDragAndDropHandler.java b/src/main/java/org/scijava/ui/dnd/FileDragAndDropHandler.java index 2076c6a20..02289b6e4 100644 --- a/src/main/java/org/scijava/ui/dnd/FileDragAndDropHandler.java +++ b/src/main/java/org/scijava/ui/dnd/FileDragAndDropHandler.java @@ -36,6 +36,7 @@ import org.scijava.display.Display; import org.scijava.display.DisplayService; import org.scijava.io.IOService; +import org.scijava.io.location.FileLocation; import org.scijava.log.LogService; import org.scijava.plugin.Parameter; import org.scijava.plugin.Plugin; @@ -68,7 +69,8 @@ public boolean supports(final File file) { if (!super.supports(file)) return false; // verify that the file can be opened somehow - return ioService.getOpener(file.getAbsolutePath()) != null; + final FileLocation loc = new FileLocation(file); + return ioService.getOpener(loc) != null; } @Override @@ -78,13 +80,12 @@ public boolean drop(final File file, final Display display) { if (file == null) return true; // trivial case // load the data - final String filename = file.getAbsolutePath(); final Object data; try { - data = ioService.open(filename); + data = ioService.open(new FileLocation(file)); } catch (final IOException exc) { - if (log != null) log.error("Error opening file: " + filename, exc); + if (log != null) log.error("Error opening file: " + file, exc); return false; } diff --git a/src/test/java/org/scijava/io/DummyTextFormat.java b/src/test/java/org/scijava/io/DummyTextFormat.java new file mode 100644 index 000000000..21729843f --- /dev/null +++ b/src/test/java/org/scijava/io/DummyTextFormat.java @@ -0,0 +1,22 @@ +package org.scijava.io; + +import org.scijava.plugin.Plugin; +import org.scijava.text.AbstractTextFormat; +import org.scijava.text.TextFormat; + +import java.util.Collections; +import java.util.List; + +@Plugin(type = TextFormat.class) +public class DummyTextFormat extends AbstractTextFormat { + + @Override + public List getExtensions() { + return Collections.singletonList("txt"); + } + + @Override + public String asHTML(String text) { + return text; + } +} diff --git a/src/test/java/org/scijava/io/IOServiceTest.java b/src/test/java/org/scijava/io/IOServiceTest.java new file mode 100644 index 000000000..55ebcf774 --- /dev/null +++ b/src/test/java/org/scijava/io/IOServiceTest.java @@ -0,0 +1,38 @@ +package org.scijava.io; + +import org.junit.Test; +import org.scijava.Context; +import org.scijava.io.location.FileLocation; +import org.scijava.plugin.PluginInfo; +import org.scijava.text.TextFormat; +import org.xml.sax.SAXException; + +import javax.xml.parsers.ParserConfigurationException; +import java.io.IOException; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + +public class IOServiceTest { + + @Test + public void testTextFile() throws IOException { + // create context, add dummy text format + final Context ctx = new Context(); + ctx.getPluginIndex().add(new PluginInfo<>(DummyTextFormat.class, TextFormat.class)); + final IOService io = ctx.getService(IOService.class); + + // open text file from resources as String + String localFile = getClass().getResource("test.txt").getPath(); + Object obj = io.open(localFile); + assertNotNull(obj); + String content = obj.toString(); + assertTrue(content.contains("content")); + + // open text file from resources as FileLocation + obj = io.open(new FileLocation(localFile)); + assertNotNull(obj); + assertEquals(content, obj.toString()); + } +} diff --git a/src/test/resources/org/scijava/io/test.txt b/src/test/resources/org/scijava/io/test.txt new file mode 100644 index 000000000..d95f3ad14 --- /dev/null +++ b/src/test/resources/org/scijava/io/test.txt @@ -0,0 +1 @@ +content From 0bcbce32adee756dee8d2e77fee29371b2451e48 Mon Sep 17 00:00:00 2001 From: frauzufall Date: Wed, 12 Aug 2020 13:45:10 +0200 Subject: [PATCH 148/383] POM: update to pom-scijava 29.2.1 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 92757258f..df8282af0 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.scijava pom-scijava - 28.0.0 + 29.2.1 From acbb65dd5b2a285ad01aa7cedf69854f20458290 Mon Sep 17 00:00:00 2001 From: frauzufall Date: Wed, 12 Aug 2020 13:45:40 +0200 Subject: [PATCH 149/383] AbstractIOPlugin: add open(String destination) method --- src/main/java/org/scijava/io/AbstractIOPlugin.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/main/java/org/scijava/io/AbstractIOPlugin.java b/src/main/java/org/scijava/io/AbstractIOPlugin.java index 9d314f8a3..98dd6fef7 100644 --- a/src/main/java/org/scijava/io/AbstractIOPlugin.java +++ b/src/main/java/org/scijava/io/AbstractIOPlugin.java @@ -75,4 +75,14 @@ public void save(final D data, final String destination) throws IOException { throw new IOException(e); } } + + @Override + public D open(final String destination) throws IOException { + try { + return open(locationService.resolve(destination)); + } catch (URISyntaxException e) { + throw new IOException(e); + } + } + } From 59061954cde14ac20d20beefa4f4b66416352d57 Mon Sep 17 00:00:00 2001 From: frauzufall Date: Wed, 12 Aug 2020 13:54:30 +0200 Subject: [PATCH 150/383] Make test class for IOServiceTest inline class --- .../java/org/scijava/io/DummyTextFormat.java | 22 ------------------- .../java/org/scijava/io/IOServiceTest.java | 19 ++++++++++++++-- 2 files changed, 17 insertions(+), 24 deletions(-) delete mode 100644 src/test/java/org/scijava/io/DummyTextFormat.java diff --git a/src/test/java/org/scijava/io/DummyTextFormat.java b/src/test/java/org/scijava/io/DummyTextFormat.java deleted file mode 100644 index 21729843f..000000000 --- a/src/test/java/org/scijava/io/DummyTextFormat.java +++ /dev/null @@ -1,22 +0,0 @@ -package org.scijava.io; - -import org.scijava.plugin.Plugin; -import org.scijava.text.AbstractTextFormat; -import org.scijava.text.TextFormat; - -import java.util.Collections; -import java.util.List; - -@Plugin(type = TextFormat.class) -public class DummyTextFormat extends AbstractTextFormat { - - @Override - public List getExtensions() { - return Collections.singletonList("txt"); - } - - @Override - public String asHTML(String text) { - return text; - } -} diff --git a/src/test/java/org/scijava/io/IOServiceTest.java b/src/test/java/org/scijava/io/IOServiceTest.java index 55ebcf774..bd3f7a3af 100644 --- a/src/test/java/org/scijava/io/IOServiceTest.java +++ b/src/test/java/org/scijava/io/IOServiceTest.java @@ -4,11 +4,12 @@ import org.scijava.Context; import org.scijava.io.location.FileLocation; import org.scijava.plugin.PluginInfo; +import org.scijava.text.AbstractTextFormat; import org.scijava.text.TextFormat; -import org.xml.sax.SAXException; -import javax.xml.parsers.ParserConfigurationException; import java.io.IOException; +import java.util.Collections; +import java.util.List; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; @@ -35,4 +36,18 @@ public void testTextFile() throws IOException { assertNotNull(obj); assertEquals(content, obj.toString()); } + + + public static class DummyTextFormat extends AbstractTextFormat { + + @Override + public List getExtensions() { + return Collections.singletonList("txt"); + } + + @Override + public String asHTML(String text) { + return text; + } + } } From 7d4a580b8ed7456e52b3aa4bf4d7aebd69a996cd Mon Sep 17 00:00:00 2001 From: frauzufall Date: Wed, 12 Aug 2020 21:55:09 +0200 Subject: [PATCH 151/383] Re-add reprecated methods * they were removed in favor of using Location instead of String for IO handling * they are re-added to restore backwards compatibility --- .../org/scijava/io/event/DataOpenedEvent.java | 22 ++++++++++++++++ .../org/scijava/io/event/DataSavedEvent.java | 21 ++++++++++++++++ .../java/org/scijava/io/event/IOEvent.java | 22 ++++++++++++++++ .../org/scijava/io/event/DataEventTest.java | 25 +++++++++++++++++++ 4 files changed, 90 insertions(+) create mode 100644 src/test/java/org/scijava/io/event/DataEventTest.java diff --git a/src/main/java/org/scijava/io/event/DataOpenedEvent.java b/src/main/java/org/scijava/io/event/DataOpenedEvent.java index 4cf613856..2d9c50929 100644 --- a/src/main/java/org/scijava/io/event/DataOpenedEvent.java +++ b/src/main/java/org/scijava/io/event/DataOpenedEvent.java @@ -30,6 +30,7 @@ package org.scijava.io.event; +import org.scijava.io.location.FileLocation; import org.scijava.io.location.Location; /** @@ -43,4 +44,25 @@ public DataOpenedEvent(final Location location, final Object data) { super(location, data); } + /** + * @deprecated use {@link #DataOpenedEvent(Location, Object)} instead + */ + @Deprecated + public DataOpenedEvent(final String source, final Object data) { + this(new FileLocation(source), data); + } + + /** + * @deprecated use {@link #getLocation} instead + */ + @Deprecated + public String getSource() { + try { + FileLocation fileLocation = (FileLocation) getLocation(); + return fileLocation.getFile().getAbsolutePath(); + } catch(ClassCastException e) { + return getLocation().getURI().toString(); + } + } + } diff --git a/src/main/java/org/scijava/io/event/DataSavedEvent.java b/src/main/java/org/scijava/io/event/DataSavedEvent.java index fe4b7abc3..600eccafc 100644 --- a/src/main/java/org/scijava/io/event/DataSavedEvent.java +++ b/src/main/java/org/scijava/io/event/DataSavedEvent.java @@ -30,6 +30,7 @@ package org.scijava.io.event; +import org.scijava.io.location.FileLocation; import org.scijava.io.location.Location; /** @@ -43,4 +44,24 @@ public DataSavedEvent(final Location destination, final Object data) { super(destination, data); } + /** + * @deprecated use {@link #DataSavedEvent(Location, Object)} instead + */ + @Deprecated + public DataSavedEvent(final String destination, final Object data) { + this(new FileLocation(destination), data); + } + + /** + * @deprecated use {@link #getLocation} instead + */ + @Deprecated + public String getDestination() { + try { + FileLocation fileLocation = (FileLocation) getLocation(); + return fileLocation.getFile().getAbsolutePath(); + } catch(ClassCastException e) { + return getLocation().getURI().toString(); + } + } } diff --git a/src/main/java/org/scijava/io/event/IOEvent.java b/src/main/java/org/scijava/io/event/IOEvent.java index 9228c94a4..89bfe0f27 100644 --- a/src/main/java/org/scijava/io/event/IOEvent.java +++ b/src/main/java/org/scijava/io/event/IOEvent.java @@ -30,6 +30,7 @@ package org.scijava.io.event; import org.scijava.event.SciJavaEvent; +import org.scijava.io.location.FileLocation; import org.scijava.io.location.Location; /** @@ -45,6 +46,14 @@ public abstract class IOEvent extends SciJavaEvent { /** The data for which I/O took place. */ private final Object data; + /** + * @deprecated use {@link #IOEvent(Location, Object)} instead + */ + @Deprecated + public IOEvent(final String descriptor, final Object data) { + this(new FileLocation(descriptor), data); + } + public IOEvent(final Location location, final Object data) { this.location = location; this.data = data; @@ -68,4 +77,17 @@ public String toString() { data; } + /** + * @deprecated use {@link #getLocation()} instead + */ + @Deprecated + public String getDescriptor() { + try { + FileLocation fileLocation = (FileLocation) getLocation(); + return fileLocation.getFile().getAbsolutePath(); + } catch(ClassCastException e) { + return getLocation().getURI().toString(); + } + } + } diff --git a/src/test/java/org/scijava/io/event/DataEventTest.java b/src/test/java/org/scijava/io/event/DataEventTest.java new file mode 100644 index 000000000..8e2ce0aa0 --- /dev/null +++ b/src/test/java/org/scijava/io/event/DataEventTest.java @@ -0,0 +1,25 @@ +package org.scijava.io.event; + +import org.junit.Test; + +import static org.junit.Assert.assertEquals; + +public class DataEventTest { + + @Test + public void testDeprecatedMethods() { + String localPath = "/local/absolute/path.txt"; + Object obj = null; + DataOpenedEvent openedEvent = new DataOpenedEvent(localPath, obj); + DataSavedEvent savedEvent = new DataSavedEvent(localPath, obj); + assertEquals(localPath, openedEvent.getSource()); + assertEquals(localPath, savedEvent.getDestination()); + +// String remotepath = "https://remote.org/path.txt"; +// openedEvent = new DataOpenedEvent(remotepath, obj); +// savedEvent = new DataSavedEvent(remotepath, obj); +// assertEquals(remotepath, openedEvent.getSource()); +// assertEquals(remotepath, savedEvent.getDestination()); + } + +} From d255cdd1df501c5a2afcd37ec9569e307737d32b Mon Sep 17 00:00:00 2001 From: frauzufall Date: Wed, 12 Aug 2020 22:11:16 +0200 Subject: [PATCH 152/383] IOService: add default body to open(Location) and save(Object, Location) - this restores backwards-compatibility --- src/main/java/org/scijava/io/IOService.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/scijava/io/IOService.java b/src/main/java/org/scijava/io/IOService.java index 4e49f4aee..0d6ad9340 100644 --- a/src/main/java/org/scijava/io/IOService.java +++ b/src/main/java/org/scijava/io/IOService.java @@ -116,7 +116,9 @@ default IOPlugin getSaver(D data, Location destination) { * not supported. * @throws IOException if something goes wrong loading the data. */ - Object open(Location source) throws IOException; + default Object open(Location source) throws IOException { + throw new UnsupportedOperationException(); + } /** * Saves data to the given destination. The nature of the destination is left @@ -144,7 +146,9 @@ default IOPlugin getSaver(D data, Location destination) { * @param destination The destination location to which data should be saved. * @throws IOException if something goes wrong saving the data. */ - void save(Object data, Location destination) throws IOException; + default void save(Object data, Location destination) throws IOException { + throw new UnsupportedOperationException(); + } // -- HandlerService methods -- From 5a83bcdbba7ab0d77fa552f1555c2b3b1ab5c66e Mon Sep 17 00:00:00 2001 From: frauzufall Date: Wed, 12 Aug 2020 16:32:20 +0200 Subject: [PATCH 153/383] Add TypedIOService This is an interface which can be used to write IOServices opening and saving a specific type. The TypedIOServiceTest class demonstrates how to do that with an exemplary TextIOService. So far, IO services like DatasetIOService or TableIOServcie don't share a common IOService interface. --- .../scijava/io/AbstractTypedIOService.java | 140 +++++++++++++++ .../java/org/scijava/io/TypedIOService.java | 168 ++++++++++++++++++ .../org/scijava/io/TypedIOServiceTest.java | 61 +++++++ 3 files changed, 369 insertions(+) create mode 100644 src/main/java/org/scijava/io/AbstractTypedIOService.java create mode 100644 src/main/java/org/scijava/io/TypedIOService.java create mode 100644 src/test/java/org/scijava/io/TypedIOServiceTest.java diff --git a/src/main/java/org/scijava/io/AbstractTypedIOService.java b/src/main/java/org/scijava/io/AbstractTypedIOService.java new file mode 100644 index 000000000..45403af49 --- /dev/null +++ b/src/main/java/org/scijava/io/AbstractTypedIOService.java @@ -0,0 +1,140 @@ +/* + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2020 SciJava developers. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ + +package org.scijava.io; + +import org.scijava.io.location.Location; +import org.scijava.io.location.LocationService; +import org.scijava.plugin.AbstractHandlerService; +import org.scijava.plugin.Parameter; + +import java.io.IOException; +import java.net.URISyntaxException; + +/** + * Abstract base class for typed {@link IOPlugin}s. + * + * @author Curtis Rueden + * @author Deborah Schmidt + */ +public abstract class AbstractTypedIOService extends AbstractHandlerService> implements TypedIOService +{ + + @Parameter + private LocationService locationService; + + @Parameter + private IOService ioService; + + @Override + public D open(String source) throws IOException { + try { + return open(locationService.resolve(source)); + } catch (URISyntaxException e) { + throw new IOException(e); + } + } + + @Override + public D open(Location source) throws IOException { + IOPlugin opener = ioService().getOpener(source); + try { + Class ignored = (Class) opener.getDataType(); + return (D) opener.open(source); + } + catch(ClassCastException e) { + throw new UnsupportedOperationException("No compatible opener found."); + } + } + + @Override + public void save(D data, String destination) throws IOException { + try { + save(data, locationService.resolve(destination)); + } catch (URISyntaxException e) { + throw new IOException(e); + } + } + + @Override + public void save(D data, Location destination) throws IOException { + IOPlugin saver = ioService().getSaver(data, destination); + if (saver != null) { + saver.save(data, destination); + } + else { + throw new UnsupportedOperationException("No compatible saver found."); + } + } + + @Override + public boolean canOpen(String source) { + try { + return canOpen(locationService.resolve(source)); + } catch (URISyntaxException e) { + return false; + } + } + + @Override + public boolean canOpen(Location source) { + IOPlugin opener = ioService().getOpener(source); + if (opener == null) return false; + try { + Class ignored = (Class) (opener.getDataType()); + return true; + } catch(ClassCastException e) { + return false; + } + } + + @Override + public boolean canSave(D data, String source) { + try { + return canSave(data, locationService.resolve(source)); + } catch (URISyntaxException e) { + return false; + } + } + + @Override + public boolean canSave(D data, Location destination) { + IOPlugin saver = ioService.getSaver(data, destination); + if (saver == null) return false; + return saver.supportsSave(destination); + } + + protected LocationService locationService() { + return locationService; + } + + protected IOService ioService() { + return ioService; + } +} diff --git a/src/main/java/org/scijava/io/TypedIOService.java b/src/main/java/org/scijava/io/TypedIOService.java new file mode 100644 index 000000000..550edd67a --- /dev/null +++ b/src/main/java/org/scijava/io/TypedIOService.java @@ -0,0 +1,168 @@ +/* + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2020 SciJava developers. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ + +package org.scijava.io; + +import java.io.IOException; + +import org.scijava.io.location.FileLocation; +import org.scijava.io.location.Location; +import org.scijava.plugin.HandlerService; +import org.scijava.service.SciJavaService; + +/** + * Interface for high-level data I/O: opening and saving data of a specific type. + * + * @author Curtis Rueden + * @author Deborah Schmidt + */ +public interface TypedIOService extends HandlerService>, + SciJavaService +{ + + /** + * Gets the most appropriate {@link IOPlugin} for opening data from the given + * location. + */ + default IOPlugin getOpener(final String source) { + return getOpener(new FileLocation(source)); + } + + /** + * Gets the most appropriate {@link IOPlugin} for opening data from the given + * location. + */ + default IOPlugin getOpener(Location source) { + for (final IOPlugin handler : getInstances()) { + if (handler.supportsOpen(source)) return handler; + } + return null; + } + + /** + * Gets the most appropriate {@link IOPlugin} for saving data to the given + * location. + */ + default IOPlugin getSaver(final D data, final String destination) { + return getSaver(data, new FileLocation(destination)); + } + + /** + * Gets the most appropriate {@link IOPlugin} for saving data to the given + * location. + */ + default IOPlugin getSaver(D data, Location destination) { + for (final IOPlugin handler : getInstances()) { + if (handler.supportsSave(data, destination)) { + return (IOPlugin) handler; + } + } + return null; + } + + /** + * Loads data from the given source. For extensibility, the nature of the + * source is left intentionally general, but two common examples include file + * paths and URLs. + *

    + * The opener to use is automatically determined based on available + * {@link IOPlugin}s; see {@link #getOpener(String)}. + *

    + * + * @param source The source (e.g., file path) from which to data should be + * loaded. + * @return An object representing the loaded data, or null if the source is + * not supported. + * @throws IOException if something goes wrong loading the data. + */ + D open(String source) throws IOException; + + /** + * Loads data from the given location. + *

    + * The opener to use is automatically determined based on available + * {@link IOPlugin}s; see {@link #getOpener(Location)}. + *

    + * + * @param source The location from which to data should be loaded. + * @return An object representing the loaded data, or null if the source is + * not supported. + * @throws IOException if something goes wrong loading the data. + */ + D open(Location source) throws IOException; + + /** + * Saves data to the given destination. The nature of the destination is left + * intentionally general, but the most common example is a file path. + *

    + * The saver to use is automatically determined based on available + * {@link IOPlugin}s; see {@link #getSaver(Object, String)}. + *

    + * + * @param data The data to be saved to the destination. + * @param destination The destination (e.g., file path) to which data should + * be saved. + * @throws IOException if something goes wrong saving the data. + */ + void save(D data, String destination) throws IOException; + + /** + * Saves data to the given location. + *

    + * The saver to use is automatically determined based on available + * {@link IOPlugin}s; see {@link #getSaver(Object, Location)}. + *

    + * + * @param data The data to be saved to the destination. + * @param destination The destination location to which data should be saved. + * @throws IOException if something goes wrong saving the data. + */ + void save(D data, Location destination) throws IOException; + + boolean canOpen(String source); + + boolean canOpen(Location source); + + boolean canSave(D data, String destination); + + boolean canSave(D data, Location destination); + + // -- HandlerService methods -- + + @Override + @SuppressWarnings({ "rawtypes", "unchecked" }) + default Class> getPluginType() { + return (Class) IOPlugin.class; + } + + @Override + default Class getType() { + return Location.class; + } +} diff --git a/src/test/java/org/scijava/io/TypedIOServiceTest.java b/src/test/java/org/scijava/io/TypedIOServiceTest.java new file mode 100644 index 000000000..e72324c60 --- /dev/null +++ b/src/test/java/org/scijava/io/TypedIOServiceTest.java @@ -0,0 +1,61 @@ +package org.scijava.io; + +import org.junit.Test; +import org.scijava.Context; +import org.scijava.plugin.PluginInfo; +import org.scijava.plugin.PluginService; +import org.scijava.plugin.SciJavaPlugin; +import org.scijava.service.SciJavaService; +import org.scijava.text.AbstractTextFormat; +import org.scijava.text.TextFormat; +import org.scijava.text.TextService; + +import java.io.IOException; +import java.util.Collections; +import java.util.List; + +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + +public class TypedIOServiceTest { + + @Test + public void testTextFile() throws IOException { + // create context, add dummy text format + final Context ctx = new Context(); + ctx.getPluginIndex().add(new PluginInfo<>(DummyTextFormat.class, TextFormat.class)); + ctx.getPluginIndex().add(new PluginInfo<>(DefaultTextIOService.class, TextIOService.class)); + TextIOService instance = (TextIOService) ctx.getService(PluginService.class).createInstance(ctx.getPluginIndex().get(TextIOService.class).get(0)); + ctx.getServiceIndex().add(instance); + + // try to get the TextIOService + final TextIOService io = ctx.service(TextIOService.class); + assertNotNull(io); + + // open text file from resources as String + String localFile = getClass().getResource("test.txt").getPath(); + String obj = io.open(localFile); + assertNotNull(obj); + assertTrue(obj.contains("content")); + } + + interface TextIOService extends TypedIOService { + } + + public static class DefaultTextIOService extends AbstractTypedIOService implements TextIOService { + } + + public static class DummyTextFormat extends AbstractTextFormat { + + @Override + public List getExtensions() { + return Collections.singletonList("txt"); + } + + @Override + public String asHTML(String text) { + return text; + } + + } +} From bba50af44bc437670fb482d4e7959c32c3e14565 Mon Sep 17 00:00:00 2001 From: frauzufall Date: Wed, 12 Aug 2020 17:24:32 +0200 Subject: [PATCH 154/383] Adding TextIOService with default implementation * .. which was originally implemented in the TypedIOServiceTest for testing the TypedIOService architecture --- .../scijava/text/io/DefaultTextIOService.java | 43 +++++++++++++++++++ .../org/scijava/text/io/TextIOService.java | 40 +++++++++++++++++ .../java/org/scijava/ContextCreationTest.java | 1 + .../org/scijava/io/TypedIOServiceTest.java | 14 +----- 4 files changed, 85 insertions(+), 13 deletions(-) create mode 100644 src/main/java/org/scijava/text/io/DefaultTextIOService.java create mode 100644 src/main/java/org/scijava/text/io/TextIOService.java diff --git a/src/main/java/org/scijava/text/io/DefaultTextIOService.java b/src/main/java/org/scijava/text/io/DefaultTextIOService.java new file mode 100644 index 000000000..509216a3c --- /dev/null +++ b/src/main/java/org/scijava/text/io/DefaultTextIOService.java @@ -0,0 +1,43 @@ +/* + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2020 SciJava developers. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ + +package org.scijava.text.io; + +import org.scijava.io.AbstractTypedIOService; +import org.scijava.plugin.Plugin; +import org.scijava.service.Service; + +/** + * Default {@link TextIOService} implementation for opening and saving text data + * + * @author Deborah Schmidt + */ +@Plugin(type = Service.class) +public class DefaultTextIOService extends AbstractTypedIOService implements TextIOService { +} diff --git a/src/main/java/org/scijava/text/io/TextIOService.java b/src/main/java/org/scijava/text/io/TextIOService.java new file mode 100644 index 000000000..c87d2847a --- /dev/null +++ b/src/main/java/org/scijava/text/io/TextIOService.java @@ -0,0 +1,40 @@ +/* + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2020 SciJava developers. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ + +package org.scijava.text.io; + +import org.scijava.io.TypedIOService; + +/** + * {@link TypedIOService} for opening and saving text data + * + * @author Deborah Schmidt + */ +public interface TextIOService extends TypedIOService { +} diff --git a/src/test/java/org/scijava/ContextCreationTest.java b/src/test/java/org/scijava/ContextCreationTest.java index 4fd266e4b..ccf76e426 100644 --- a/src/test/java/org/scijava/ContextCreationTest.java +++ b/src/test/java/org/scijava/ContextCreationTest.java @@ -114,6 +114,7 @@ public void testFull() { org.scijava.startup.DefaultStartupService.class, org.scijava.task.DefaultTaskService.class, org.scijava.text.DefaultTextService.class, + org.scijava.text.io.DefaultTextIOService.class, org.scijava.thread.DefaultThreadService.class, org.scijava.tool.DefaultToolService.class, org.scijava.ui.DefaultUIService.class, diff --git a/src/test/java/org/scijava/io/TypedIOServiceTest.java b/src/test/java/org/scijava/io/TypedIOServiceTest.java index e72324c60..de64730e2 100644 --- a/src/test/java/org/scijava/io/TypedIOServiceTest.java +++ b/src/test/java/org/scijava/io/TypedIOServiceTest.java @@ -3,12 +3,9 @@ import org.junit.Test; import org.scijava.Context; import org.scijava.plugin.PluginInfo; -import org.scijava.plugin.PluginService; -import org.scijava.plugin.SciJavaPlugin; -import org.scijava.service.SciJavaService; import org.scijava.text.AbstractTextFormat; import org.scijava.text.TextFormat; -import org.scijava.text.TextService; +import org.scijava.text.io.TextIOService; import java.io.IOException; import java.util.Collections; @@ -24,9 +21,6 @@ public void testTextFile() throws IOException { // create context, add dummy text format final Context ctx = new Context(); ctx.getPluginIndex().add(new PluginInfo<>(DummyTextFormat.class, TextFormat.class)); - ctx.getPluginIndex().add(new PluginInfo<>(DefaultTextIOService.class, TextIOService.class)); - TextIOService instance = (TextIOService) ctx.getService(PluginService.class).createInstance(ctx.getPluginIndex().get(TextIOService.class).get(0)); - ctx.getServiceIndex().add(instance); // try to get the TextIOService final TextIOService io = ctx.service(TextIOService.class); @@ -39,12 +33,6 @@ public void testTextFile() throws IOException { assertTrue(obj.contains("content")); } - interface TextIOService extends TypedIOService { - } - - public static class DefaultTextIOService extends AbstractTypedIOService implements TextIOService { - } - public static class DummyTextFormat extends AbstractTextFormat { @Override From 1b38b35f5050147570c5e2d33161ebfd3dbedcae Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Thu, 13 Aug 2020 12:45:25 -0500 Subject: [PATCH 155/383] Fix out-of-sync license headers --- src/main/java/org/scijava/command/Inputs.java | 9 ++---- .../java/org/scijava/io/TypedIOService.java | 4 +-- .../scijava/text/io/DefaultTextIOService.java | 4 +-- .../org/scijava/text/io/TextIOService.java | 4 +-- .../java/org/scijava/command/InputsTest.java | 9 ++---- .../java/org/scijava/io/IOServiceTest.java | 28 +++++++++++++++++++ .../org/scijava/io/TypedIOServiceTest.java | 28 +++++++++++++++++++ .../org/scijava/io/event/DataEventTest.java | 28 +++++++++++++++++++ 8 files changed, 96 insertions(+), 18 deletions(-) diff --git a/src/main/java/org/scijava/command/Inputs.java b/src/main/java/org/scijava/command/Inputs.java index ad7ba18f4..a686bf4ff 100644 --- a/src/main/java/org/scijava/command/Inputs.java +++ b/src/main/java/org/scijava/command/Inputs.java @@ -2,20 +2,17 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE diff --git a/src/main/java/org/scijava/io/TypedIOService.java b/src/main/java/org/scijava/io/TypedIOService.java index 550edd67a..ca27e9bf7 100644 --- a/src/main/java/org/scijava/io/TypedIOService.java +++ b/src/main/java/org/scijava/io/TypedIOService.java @@ -6,13 +6,13 @@ * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE diff --git a/src/main/java/org/scijava/text/io/DefaultTextIOService.java b/src/main/java/org/scijava/text/io/DefaultTextIOService.java index 509216a3c..e29a1c796 100644 --- a/src/main/java/org/scijava/text/io/DefaultTextIOService.java +++ b/src/main/java/org/scijava/text/io/DefaultTextIOService.java @@ -6,13 +6,13 @@ * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE diff --git a/src/main/java/org/scijava/text/io/TextIOService.java b/src/main/java/org/scijava/text/io/TextIOService.java index c87d2847a..d196c893a 100644 --- a/src/main/java/org/scijava/text/io/TextIOService.java +++ b/src/main/java/org/scijava/text/io/TextIOService.java @@ -6,13 +6,13 @@ * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE diff --git a/src/test/java/org/scijava/command/InputsTest.java b/src/test/java/org/scijava/command/InputsTest.java index 8c06e0bbe..f53146d26 100644 --- a/src/test/java/org/scijava/command/InputsTest.java +++ b/src/test/java/org/scijava/command/InputsTest.java @@ -2,20 +2,17 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2017 Board of Regents of the University of - * Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck - * Institute of Molecular Cell Biology and Genetics, University of - * Konstanz, and KNIME GmbH. + * Copyright (C) 2009 - 2020 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE diff --git a/src/test/java/org/scijava/io/IOServiceTest.java b/src/test/java/org/scijava/io/IOServiceTest.java index bd3f7a3af..5e39835ea 100644 --- a/src/test/java/org/scijava/io/IOServiceTest.java +++ b/src/test/java/org/scijava/io/IOServiceTest.java @@ -1,3 +1,31 @@ +/*- + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2020 SciJava developers. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ package org.scijava.io; import org.junit.Test; diff --git a/src/test/java/org/scijava/io/TypedIOServiceTest.java b/src/test/java/org/scijava/io/TypedIOServiceTest.java index de64730e2..affbbf66d 100644 --- a/src/test/java/org/scijava/io/TypedIOServiceTest.java +++ b/src/test/java/org/scijava/io/TypedIOServiceTest.java @@ -1,3 +1,31 @@ +/*- + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2020 SciJava developers. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ package org.scijava.io; import org.junit.Test; diff --git a/src/test/java/org/scijava/io/event/DataEventTest.java b/src/test/java/org/scijava/io/event/DataEventTest.java index 8e2ce0aa0..45568b12e 100644 --- a/src/test/java/org/scijava/io/event/DataEventTest.java +++ b/src/test/java/org/scijava/io/event/DataEventTest.java @@ -1,3 +1,31 @@ +/*- + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2020 SciJava developers. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ package org.scijava.io.event; import org.junit.Test; From 6d6eec59b8a147a996dbdcd9568de7ac845e8a73 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Thu, 13 Aug 2020 12:48:15 -0500 Subject: [PATCH 156/383] Bump to next development cycle Signed-off-by: Curtis Rueden --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index df8282af0..8b8fef07a 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.84.0-SNAPSHOT + 2.84.1-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From 9970cef348faa343e6870981d1c1702604419b1e Mon Sep 17 00:00:00 2001 From: Mark Hiner Date: Fri, 14 Aug 2020 13:18:20 -0500 Subject: [PATCH 157/383] Context: code formatting Using the ImageJ style preferences --- src/main/java/org/scijava/Context.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/scijava/Context.java b/src/main/java/org/scijava/Context.java index 638230db1..e4d2bda14 100644 --- a/src/main/java/org/scijava/Context.java +++ b/src/main/java/org/scijava/Context.java @@ -445,7 +445,8 @@ public static List> serviceClassList( * @see ClassLoader#getSystemClassLoader() */ public static ClassLoader getClassLoader() { - final ClassLoader contextCL = Thread.currentThread().getContextClassLoader(); + final ClassLoader contextCL = Thread.currentThread() + .getContextClassLoader(); return contextCL != null ? contextCL : ClassLoader.getSystemClassLoader(); } @@ -570,8 +571,8 @@ private static PluginIndex plugins(final boolean empty) { } private static List> services(final boolean empty) { - if (empty) return Collections.>emptyList(); - return Arrays.>asList(Service.class); + if (empty) return Collections.> emptyList(); + return Arrays.> asList(Service.class); } private static boolean strict() { From a63cd8ff51938186c7a5ca3a0a4c0a2fae1493ba Mon Sep 17 00:00:00 2001 From: Mark Hiner Date: Fri, 14 Aug 2020 13:18:46 -0500 Subject: [PATCH 158/383] Make Context AutoCloseable This will provide developers hints that the Context should be disposed after creation. See https://github.com/scijava/scijava-common/pull/394 --- src/main/java/org/scijava/Context.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/scijava/Context.java b/src/main/java/org/scijava/Context.java index e4d2bda14..2576b4c37 100644 --- a/src/main/java/org/scijava/Context.java +++ b/src/main/java/org/scijava/Context.java @@ -58,7 +58,7 @@ * @author Curtis Rueden * @see Service */ -public class Context implements Disposable { +public class Context implements Disposable, AutoCloseable { // -- Constants -- @@ -248,6 +248,13 @@ public Context(final Collection> serviceClasses, * those of lower priority). See {@link ServiceHelper#loadServices()} for more * information. *

    + *

    + * NB: Instiantiation of a Context has an implied requirement of a + * corresponding call to {@link Context#dispose()} at the end of the SciJava + * applicaton's lifecycle. This cleans up any remaining resources and allows + * the JVM to exit gracefully. This is called automatically when constructed as + * an {@link AutoCloseable}. + *

    * * @param serviceClasses A collection of types that implement the * {@link Service} interface (e.g., {@code DisplayService.class}). @@ -423,6 +430,13 @@ public void dispose() { } } + // -- AutoCloseable methods -- + + @Override + public void close() throws Exception { + dispose(); + } + // -- Utility methods -- /** From b9e7b951d1b57919f8ec45ce2f5a7a2ce5716bdd Mon Sep 17 00:00:00 2001 From: Jan Eglinger Date: Thu, 30 Apr 2020 15:50:39 +0200 Subject: [PATCH 159/383] Add WidgetStyle utility class to centralize style logic This should replace isStyle() implementations and other case logic around (possibly multiple) style attributes of parameters. Also add a test exercising this utility class. --- .../scijava/widget/DefaultWidgetModel.java | 7 +- .../java/org/scijava/widget/WidgetStyle.java | 35 ++++++++++ .../org/scijava/script/ScriptInfoTest.java | 6 +- .../org/scijava/widget/WidgetStyleTest.java | 68 +++++++++++++++++++ 4 files changed, 108 insertions(+), 8 deletions(-) create mode 100644 src/main/java/org/scijava/widget/WidgetStyle.java create mode 100644 src/test/java/org/scijava/widget/WidgetStyleTest.java diff --git a/src/main/java/org/scijava/widget/DefaultWidgetModel.java b/src/main/java/org/scijava/widget/DefaultWidgetModel.java index ffb19061f..1a768d5d7 100644 --- a/src/main/java/org/scijava/widget/DefaultWidgetModel.java +++ b/src/main/java/org/scijava/widget/DefaultWidgetModel.java @@ -129,12 +129,7 @@ public String getWidgetLabel() { @Override public boolean isStyle(final String style) { - final String widgetStyle = getItem().getWidgetStyle(); - if (widgetStyle == null) return style == null; - for (final String s : widgetStyle.split(",")) { - if (s.equals(style)) return true; - } - return false; + return WidgetStyle.isStyle(getItem(), style); } @Override diff --git a/src/main/java/org/scijava/widget/WidgetStyle.java b/src/main/java/org/scijava/widget/WidgetStyle.java new file mode 100644 index 000000000..346262d01 --- /dev/null +++ b/src/main/java/org/scijava/widget/WidgetStyle.java @@ -0,0 +1,35 @@ +package org.scijava.widget; + +import org.scijava.module.ModuleItem; + +public class WidgetStyle { + private WidgetStyle() { + // prevent instantiation of utility class + } + + public static boolean isStyle(String widgetStyle, String target) { + if (widgetStyle == null || target == null) + return widgetStyle == target; + for (final String s : widgetStyle.split(",")) { + if (s.trim().toLowerCase().equals(target.toLowerCase())) return true; + } + return false; + } + + public static boolean isStyle(ModuleItem item, String target) { + return isStyle(item.getWidgetStyle(), target); + } + + public static String[] getStyleModifiers(String widgetStyle, String target) { + if (widgetStyle == null || target == null) + return null; + String[] styles = widgetStyle.split(","); + for (String s : styles) { + if (s.trim().toLowerCase().startsWith(target.toLowerCase())) { + String suffix = s.split(":")[1]; + return suffix.split("/"); + } + } + return null; + } +} diff --git a/src/test/java/org/scijava/script/ScriptInfoTest.java b/src/test/java/org/scijava/script/ScriptInfoTest.java index 38c0ffa2f..678996628 100644 --- a/src/test/java/org/scijava/script/ScriptInfoTest.java +++ b/src/test/java/org/scijava/script/ScriptInfoTest.java @@ -65,6 +65,7 @@ import org.scijava.test.TestUtils; import org.scijava.util.DigestUtils; import org.scijava.util.FileUtils; +import org.scijava.widget.WidgetStyle; /** * Tests {@link ScriptInfo}. @@ -251,7 +252,7 @@ public void testParameters() { final String script = "" + // "#@ LogService (required = false) log\n" + // "#@ int (label=\"Slider Value\", softMin=5, softMax=15, " + // - "stepSize=3, value=11, style=\"slider\") sliderValue\n" + // + "stepSize=3, value=11, style=\" slidEr,\") sliderValue\n" + // "#@ String (persist = false, family='Carnivora', " + // "choices={'quick brown fox', 'lazy dog'}) animal\n" + // "#@ Double (autoFill = false) notAutoFilled\n" + // @@ -269,7 +270,8 @@ public void testParameters() { final ModuleItem sliderValue = info.getInput("sliderValue"); assertItem("sliderValue", int.class, "Slider Value", ItemIO.INPUT, true, - true, null, "slider", 11, null, null, 5, 15, 3.0, noChoices, sliderValue); + true, null, " slidEr,", 11, null, null, 5, 15, 3.0, noChoices, sliderValue); + assertTrue("Case-insensitive trimmed style", WidgetStyle.isStyle(sliderValue, "slider")); final ModuleItem animal = info.getInput("animal"); final List animalChoices = // diff --git a/src/test/java/org/scijava/widget/WidgetStyleTest.java b/src/test/java/org/scijava/widget/WidgetStyleTest.java new file mode 100644 index 000000000..d7b3c0564 --- /dev/null +++ b/src/test/java/org/scijava/widget/WidgetStyleTest.java @@ -0,0 +1,68 @@ +package org.scijava.widget; + +import static org.junit.Assert.assertArrayEquals; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.util.Arrays; +import java.util.Collection; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; +import java.util.stream.IntStream; + +import org.junit.Test; +import org.junit.experimental.runners.Enclosed; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; +import org.junit.runners.Parameterized.Parameter; +import org.junit.runners.Parameterized.Parameters; + +@RunWith(Enclosed.class) +public class WidgetStyleTest { + + @RunWith(Parameterized.class) + public static class TestIsStyle { + + static String[] styleStrings = { "foo, bar, someThing", " FOO, BAR, SOMEthing ", "foo ", " bar", + "trash, sOmEtHiNg", null }; + + static String[] stylesToTest = { "foo", "bar", "someThing", null }; + + static boolean[][] stylesToHave = { // foo, bar, someThing + new boolean[] { true, true, true, false }, new boolean[] { true, true, true, false }, + new boolean[] { true, false, false, false }, new boolean[] { false, true, false, false }, + new boolean[] { false, false, true, false }, new boolean[] { false, false, false, true } }; + + @Parameters(name = "{0}") + public static List params() { + return IntStream.range(0, styleStrings.length) + .mapToObj(i -> new Object[] { styleStrings[i], stylesToHave[i] }).collect(Collectors.toList()); + } + + @Parameter + public String styleString; + + @Parameter(1) + public boolean[] targetStyles; + + @Test + public void testSimpleStyles() { + for (int i = 0; i < stylesToTest.length; i++) { + assertEquals("style: " + stylesToTest[i], targetStyles[i], + WidgetStyle.isStyle(styleString, stylesToTest[i])); + } + } + } + + public static class TestStyleModifiers { + @Test + public void testStyleModifiers() { + String style = "open, extensions:tiff/tif/jpeg/jpg"; + Set extensions = new HashSet<>(Arrays.asList(WidgetStyle.getStyleModifiers(style, "extensions"))); + Set expected = new HashSet<>(Arrays.asList("tiff", "jpg", "jpeg", "tif")); + assertEquals(expected, extensions); + } + } +} From 3d64e2a2ea9f6eab5d75c7e778dc3da75bd03f90 Mon Sep 17 00:00:00 2001 From: Mark Hiner Date: Fri, 18 Sep 2020 08:25:40 -0500 Subject: [PATCH 160/383] Don't persist test inputs If inputs are pesisted then they may be populated even without the MockInputHarvester, which is confusing. --- .../java/org/scijava/command/InputsTest.java | 26 ++++++++++++++----- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/src/test/java/org/scijava/command/InputsTest.java b/src/test/java/org/scijava/command/InputsTest.java index f53146d26..57df8ff62 100644 --- a/src/test/java/org/scijava/command/InputsTest.java +++ b/src/test/java/org/scijava/command/InputsTest.java @@ -40,8 +40,6 @@ import org.junit.Test; import org.scijava.Context; import org.scijava.InstantiableException; -import org.scijava.log.LogLevel; -import org.scijava.log.LogService; import org.scijava.module.Module; import org.scijava.module.ModuleItem; import org.scijava.module.MutableModuleItem; @@ -81,7 +79,7 @@ public void testSingleInput() { }}); Inputs inputs = new Inputs(context); inputs.getInfo().setName("testSingleInput");//TEMP - inputs.addInput("sigma", Float.class); + addTempInput(inputs, "sigma", Float.class); float sigma = (Float) inputs.harvest().get("sigma"); assertEquals(3.9f, sigma, 0); } @@ -95,8 +93,8 @@ public void testTwoInputs() { }}); Inputs inputs = new Inputs(context); inputs.getInfo().setName("testTwoInputs");//TEMP - inputs.addInput("name", String.class); - inputs.addInput("age", Integer.class); + addTempInput(inputs, "name", String.class); + addTempInput(inputs, "age", Integer.class); Map values = inputs.harvest(); String name = (String) values.get("name"); int age = (Integer) values.get("age"); @@ -113,11 +111,13 @@ public void testWithConfiguration() { }}); Inputs inputs = new Inputs(context); inputs.getInfo().setName("testWithConfiguration");//TEMP - MutableModuleItem wordInput = inputs.addInput("word", String.class); + MutableModuleItem wordInput = addTempInput(inputs, "word", + String.class); wordInput.setLabel("Favorite word"); wordInput.setChoices(Arrays.asList("quick", "brown", "fox")); wordInput.setDefaultValue("fox"); - MutableModuleItem opacityInput = inputs.addInput("opacity", Double.class); + MutableModuleItem opacityInput = addTempInput(inputs, "opacity", + Double.class); opacityInput.setMinimumValue(0.0); opacityInput.setMaximumValue(1.0); opacityInput.setDefaultValue(0.5); @@ -145,6 +145,18 @@ public PreprocessorPlugin createInstance() throws InstantiableException { context.service(PluginService.class).addPlugin(info); } + /** + * Add a non-persisted input to ensure we are testing with the mock input + * harvester. + */ + private static MutableModuleItem addTempInput(Inputs inputs, + String inputName, Class inputType) + { + MutableModuleItem input = inputs.addInput(inputName, inputType); + input.setPersisted(false); + return input; + } + public static class MockInputHarvester extends AbstractPreprocessorPlugin { private Map expected; public void setExpected(final Map expected) { From b1bab6945931fb2798ef5d5dd9797cabf4a83326 Mon Sep 17 00:00:00 2001 From: Jan Eglinger Date: Sun, 25 Oct 2020 21:33:55 +0100 Subject: [PATCH 161/383] Always ignore commented script parameters Before this commit, commented-out new-style (#@) script parameters were ignored when in the script body, but parsed when in the script header, because they matched the pattern for old-style parameter syntax. We now explicitly omit lines with new-style syntax preceded by non-word characters from being matched, so the behavior is consistent independent of the position of the parameter in the script. Without this change in ParameterScriptProcessor, the test added in this commit would fail with: [ERROR] ParameterScriptProcessorTest.testScriptParameterParsing:49 expected null, but was: --- .../process/ParameterScriptProcessor.java | 6 ++- .../process/ParameterScriptProcessorTest.java | 54 +++++++++++++++++++ 2 files changed, 58 insertions(+), 2 deletions(-) create mode 100644 src/test/java/org/scijava/script/process/ParameterScriptProcessorTest.java diff --git a/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java b/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java index fb73cdc16..0ed4d7212 100644 --- a/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java +++ b/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java @@ -129,7 +129,7 @@ public void begin(final ScriptInfo scriptInfo) { @Override public String process(final String line) { - // parse new-style parameters starting with @# anywhere in the script. + // parse new-style parameters starting with #@ anywhere in the script. if (line.matches("^#@.*")) { final int at = line.indexOf('@'); return process(line, line.substring(at + 1)); @@ -140,7 +140,9 @@ public String process(final String line) { // NB: Check if line contains an '@' with no prior alphameric // characters. This assumes that only non-alphanumeric characters can // be used as comment line markers. - if (line.matches("^[^\\w]*@.*")) { + // NB: In addition, to allow for commented-out new-style parameters, we exclude + // lines that have the new-style #@ preceded by non-alphanumeric characters. + if (line.matches("^[^\\w]*[^\\w#]@.*")) { final int at = line.indexOf('@'); return process(line, line.substring(at + 1)); } diff --git a/src/test/java/org/scijava/script/process/ParameterScriptProcessorTest.java b/src/test/java/org/scijava/script/process/ParameterScriptProcessorTest.java new file mode 100644 index 000000000..3e29007bb --- /dev/null +++ b/src/test/java/org/scijava/script/process/ParameterScriptProcessorTest.java @@ -0,0 +1,54 @@ +package org.scijava.script.process; + +import static org.junit.Assert.*; + +import java.io.StringReader; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.scijava.Context; +import org.scijava.script.ScriptInfo; + +public class ParameterScriptProcessorTest { + + private Context context; + + @Before + public void setUp() { + context = new Context(); + } + + @After + public void tearDown() { + context.dispose(); + } + + @Test + public void testScriptParameterParsing() { + String script = "" + // + "% @String legacyStyleParameter\n" + + "% #@ String commentedHeaderParameter\n" + + "% ############## Some Comment ###########\n" + + "#@ String implicitInputParameter\n" + + "#@input String explicitInputParameter\n" + + "\n" + + "% @String legacyStyleBodyParameter\n" + + "% #@ String commentedBodyParameter\n" + + "\n" + + "#@output implicitlyTypedOutputParameter\n" + + "#@output String explicitlyTypedOutputParameter\n"; + final ScriptInfo info = new ScriptInfo(context, ".bsizes", new StringReader(script)); + assertEquals("legacyStyleParameter", info.getInput("legacyStyleParameter").getName()); + assertEquals("implicitInputParameter", info.getInput("implicitInputParameter").getName()); + assertEquals("explicitInputParameter", info.getInput("explicitInputParameter").getName()); + + assertEquals("implicitlyTypedOutputParameter", info.getOutput("implicitlyTypedOutputParameter").getName()); + assertEquals("explicitlyTypedOutputParameter", info.getOutput("explicitlyTypedOutputParameter").getName()); + + assertNull(info.getInput("commentedHeaderParameter")); + assertNull(info.getInput("legacyStyleBodyParameter")); + assertNull(info.getInput("commentedBodyParameter")); + } + +} From b389657a1f22b23afc5ba802e3e417b50af5d9ba Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Thu, 29 Oct 2020 18:49:53 -0500 Subject: [PATCH 162/383] Add missing copyright headers --- .../java/org/scijava/widget/WidgetStyle.java | 28 +++++++++++++++++++ .../process/ParameterScriptProcessorTest.java | 28 +++++++++++++++++++ .../org/scijava/widget/WidgetStyleTest.java | 28 +++++++++++++++++++ 3 files changed, 84 insertions(+) diff --git a/src/main/java/org/scijava/widget/WidgetStyle.java b/src/main/java/org/scijava/widget/WidgetStyle.java index 346262d01..7b71a80fc 100644 --- a/src/main/java/org/scijava/widget/WidgetStyle.java +++ b/src/main/java/org/scijava/widget/WidgetStyle.java @@ -1,3 +1,31 @@ +/*- + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2020 SciJava developers. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ package org.scijava.widget; import org.scijava.module.ModuleItem; diff --git a/src/test/java/org/scijava/script/process/ParameterScriptProcessorTest.java b/src/test/java/org/scijava/script/process/ParameterScriptProcessorTest.java index 3e29007bb..756a2dc9d 100644 --- a/src/test/java/org/scijava/script/process/ParameterScriptProcessorTest.java +++ b/src/test/java/org/scijava/script/process/ParameterScriptProcessorTest.java @@ -1,3 +1,31 @@ +/*- + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2020 SciJava developers. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ package org.scijava.script.process; import static org.junit.Assert.*; diff --git a/src/test/java/org/scijava/widget/WidgetStyleTest.java b/src/test/java/org/scijava/widget/WidgetStyleTest.java index d7b3c0564..1c1a3aa22 100644 --- a/src/test/java/org/scijava/widget/WidgetStyleTest.java +++ b/src/test/java/org/scijava/widget/WidgetStyleTest.java @@ -1,3 +1,31 @@ +/*- + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2020 SciJava developers. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ package org.scijava.widget; import static org.junit.Assert.assertArrayEquals; From 80d0a38fc9e9c1d85c3a5602cddedf6cd10984a7 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Thu, 29 Oct 2020 18:51:03 -0500 Subject: [PATCH 163/383] Bump to next development cycle Signed-off-by: Curtis Rueden --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 8b8fef07a..893a968ca 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.84.1-SNAPSHOT + 2.85.1-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From 1e70db29dc461d25ce2c887e83c7851b12506d93 Mon Sep 17 00:00:00 2001 From: Matthias Arzt Date: Thu, 3 Dec 2020 15:47:10 +0100 Subject: [PATCH 164/383] LogService: Make getLevel() more robust against ClassNotFoundException --- .../org/scijava/log/AbstractLogService.java | 2 +- .../org/scijava/log/CallingClassUtils.java | 32 +++++++++++++++++++ .../org/scijava/log/IgnoreAsCallingClass.java | 2 +- .../scijava/log/CallingClassUtilsTest.java | 18 ++++++----- 4 files changed, 44 insertions(+), 10 deletions(-) diff --git a/src/main/java/org/scijava/log/AbstractLogService.java b/src/main/java/org/scijava/log/AbstractLogService.java index e813e10e3..e749bf59a 100644 --- a/src/main/java/org/scijava/log/AbstractLogService.java +++ b/src/main/java/org/scijava/log/AbstractLogService.java @@ -104,7 +104,7 @@ public LogSource getSource() { @Override public int getLevel() { if (classAndPackageLevels.isEmpty()) return currentLevel; - return getLevelForClass(CallingClassUtils.getCallingClass().getName(), + return getLevelForClass(CallingClassUtils.getCallingClassName(), currentLevel); } diff --git a/src/main/java/org/scijava/log/CallingClassUtils.java b/src/main/java/org/scijava/log/CallingClassUtils.java index 5bcf98460..bbe5357ed 100644 --- a/src/main/java/org/scijava/log/CallingClassUtils.java +++ b/src/main/java/org/scijava/log/CallingClassUtils.java @@ -43,12 +43,44 @@ private CallingClassUtils() { } /** + * Inspects the stack trace to return the name of the class that calls + * this method, but ignores every class annotated with @IgnoreAsCallingClass. + *

    + * If every class on the stack trace is annotated, then the class at the + * root of the stack trace is returned. + */ + public static String getCallingClassName() { + StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace(); + for (int i = 1; i < stackTrace.length - 2; i++) { + String className = stackTrace[i].getClassName(); + if (!hasIgnoreAsCallingClassAnnotation(className)) return className; + } + return stackTrace[stackTrace.length - 1].getClassName(); + } + + private static boolean hasIgnoreAsCallingClassAnnotation(String className) { + try { + Class< ? > clazz = Class.forName(className); + return clazz.isAnnotationPresent(IgnoreAsCallingClass.class); + } + catch (ClassNotFoundException ignore) { + return false; + } + } + + /** + * @deprecated Use {@link #getCallingClassName()} instead. + * + * Warning: This method throws a IllegalStateException as soon as it comes + * across a class that can't be loaded with the default class loader. + * * Inspects the stack trace to return the class that calls this method, but * ignores every class annotated with @IgnoreAsCallingClass. * * @throws IllegalStateException if every method on the stack, is in a class * annotated with @IgnoreAsCallingClass. */ + @Deprecated public static Class getCallingClass() { try { StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace(); diff --git a/src/main/java/org/scijava/log/IgnoreAsCallingClass.java b/src/main/java/org/scijava/log/IgnoreAsCallingClass.java index d6ff175f1..62aefe2db 100644 --- a/src/main/java/org/scijava/log/IgnoreAsCallingClass.java +++ b/src/main/java/org/scijava/log/IgnoreAsCallingClass.java @@ -34,7 +34,7 @@ /** * Classes annotated with {@link IgnoreAsCallingClass} are ignored by - * {@link CallingClassUtils#getCallingClass()}. + * {@link CallingClassUtils#getCallingClassName()}. * * @author Matthias Arzt */ diff --git a/src/test/java/org/scijava/log/CallingClassUtilsTest.java b/src/test/java/org/scijava/log/CallingClassUtilsTest.java index a23f8fee0..ff6d3df24 100644 --- a/src/test/java/org/scijava/log/CallingClassUtilsTest.java +++ b/src/test/java/org/scijava/log/CallingClassUtilsTest.java @@ -31,6 +31,8 @@ import org.junit.Test; +import java.util.function.Supplier; + import static org.junit.Assert.assertEquals; /** @@ -41,26 +43,26 @@ public class CallingClassUtilsTest { @Test public void testGetCallingClass() { - Class callingClass = CallingClassUtils.getCallingClass(); - assertEquals(this.getClass(), callingClass); + String callingClass = CallingClassUtils.getCallingClassName(); + assertEquals(this.getClass().getName(), callingClass); } @Test public void testIgnoreAsCallingClass() { - assertEquals(ClassA.class, ClassA.returnGetCallingClass()); - assertEquals(this.getClass(), ClassB.returnGetCallingClass()); + assertEquals(ClassA.class.getName(), ClassA.returnGetCallingClass()); + assertEquals(this.getClass().getName(), ClassB.returnGetCallingClass()); } public static class ClassA { - static Class returnGetCallingClass() { - return CallingClassUtils.getCallingClass(); + static String returnGetCallingClass() { + return CallingClassUtils.getCallingClassName(); } } @IgnoreAsCallingClass private static class ClassB { - static Class returnGetCallingClass() { - return CallingClassUtils.getCallingClass(); + static String returnGetCallingClass() { + return CallingClassUtils.getCallingClassName(); } } } From 2231238f85072c2460ed3148edeeb7fd13fe079c Mon Sep 17 00:00:00 2001 From: Ulrik Guenther Date: Wed, 25 Nov 2020 18:04:30 +0100 Subject: [PATCH 165/383] ScriptREPL: Add language parameter to constructor to indicate preference for a scripting language --- .../java/org/scijava/script/ScriptREPL.java | 49 +++++++++++++++++-- 1 file changed, 45 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/scijava/script/ScriptREPL.java b/src/main/java/org/scijava/script/ScriptREPL.java index d6c10adfd..edfafa538 100644 --- a/src/main/java/org/scijava/script/ScriptREPL.java +++ b/src/main/java/org/scijava/script/ScriptREPL.java @@ -69,6 +69,8 @@ public class ScriptREPL { private final PrintStream out; + private String languagePreference = null; + /** List of interpreter-friendly script languages. */ private List languages; @@ -88,6 +90,15 @@ public ScriptREPL(final Context context, final OutputStream out) { (PrintStream) out : new PrintStream(out); } + public ScriptREPL(final Context context, final String language) { + this(context, language, System.out); + } + + public ScriptREPL(final Context context, final String language, final OutputStream out) { + this(context, out); + languagePreference = language; + } + /** * Gets the list of languages compatible with the REPL. *

    @@ -162,12 +173,35 @@ public void initialize(final boolean verbose) { } out.println("Have fun!"); out.println(); - lang(langs.get(0).getLanguageName()); + + if(languagePreference != null) { + selectPreferredLanguage(langs); + } else { + lang(langs.get(0).getLanguageName()); + } } - else if (!langs.isEmpty()) lang(langs.get(0)); + else if (!langs.isEmpty()) { + if(languagePreference != null) { + selectPreferredLanguage(langs); + } else { + lang(langs.get(0)); + } + } + populateBindings(interpreter.getBindings()); } + private void selectPreferredLanguage(List langs) { + final ScriptLanguage preference = langs + .stream().filter(lang -> languagePreference.equals(lang.getLanguageName())) + .findAny().orElse(null); + if(preference != null) { + lang(preference); + } else { + lang(langs.get(0).getLanguageName()); + } + } + /** Outputs the prompt. */ public void prompt() { out.print(interpreter == null || interpreter.isReady() ? "> " : "\\ "); @@ -310,8 +344,15 @@ public static void main(final String... args) throws Exception { // make a SciJava application context final Context context = new Context(); - // create the script interpreter - final ScriptREPL scriptCLI = new ScriptREPL(context); + // see if we have a preferred language + // and create the script interpreter + final ScriptREPL scriptCLI; + if(args.length > 0) { + final String preference = args[0]; + scriptCLI = new ScriptREPL(context, preference); + } else { + scriptCLI = new ScriptREPL(context); + } // start the REPL scriptCLI.loop(); From 5c3c7b74b09852b4430df183483a78d6a603ca1a Mon Sep 17 00:00:00 2001 From: Mark Hiner Date: Mon, 7 Dec 2020 11:08:53 -0600 Subject: [PATCH 166/383] Bump minor version Public API added in 2231238f85072c2460ed3148edeeb7fd13fe079c. --- pom.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 893a968ca..b2f1fe541 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.85.1-SNAPSHOT + 2.86.0-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. @@ -154,6 +154,8 @@ + 11 + 8 org.scijava bsd_2 From 509ff2b16613096f872a66c8a09475b8ec9d2d4a Mon Sep 17 00:00:00 2001 From: Mark Hiner Date: Mon, 7 Dec 2020 11:21:06 -0600 Subject: [PATCH 167/383] Remove accidental maven.compiler config --- pom.xml | 2 -- 1 file changed, 2 deletions(-) diff --git a/pom.xml b/pom.xml index b2f1fe541..af0a9af81 100644 --- a/pom.xml +++ b/pom.xml @@ -154,8 +154,6 @@ - 11 - 8 org.scijava bsd_2 From 0aa57e4779b4e0ff4cd2627b5b4e8a24db86bd65 Mon Sep 17 00:00:00 2001 From: Mark Hiner Date: Mon, 7 Dec 2020 11:26:29 -0600 Subject: [PATCH 168/383] DataEventTest: make cross-platform Remove *nix-style path. --- .../java/org/scijava/io/event/DataEventTest.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/test/java/org/scijava/io/event/DataEventTest.java b/src/test/java/org/scijava/io/event/DataEventTest.java index 45568b12e..e2d9457cd 100644 --- a/src/test/java/org/scijava/io/event/DataEventTest.java +++ b/src/test/java/org/scijava/io/event/DataEventTest.java @@ -28,15 +28,20 @@ */ package org.scijava.io.event; -import org.junit.Test; - import static org.junit.Assert.assertEquals; +import java.io.File; +import java.io.IOException; + +import org.junit.Test; + public class DataEventTest { @Test - public void testDeprecatedMethods() { - String localPath = "/local/absolute/path.txt"; + public void testDeprecatedMethods() throws IOException { + File tmpFile = File.createTempFile("path", "txt"); + tmpFile.deleteOnExit(); + String localPath = tmpFile.getAbsolutePath(); Object obj = null; DataOpenedEvent openedEvent = new DataOpenedEvent(localPath, obj); DataSavedEvent savedEvent = new DataSavedEvent(localPath, obj); From 13c1763f0dcd06dfe4625798f644921ed4269b48 Mon Sep 17 00:00:00 2001 From: Mark Hiner Date: Mon, 7 Dec 2020 11:33:59 -0600 Subject: [PATCH 169/383] Bump to next development cycle Signed-off-by: Mark Hiner --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index af0a9af81..8065fba5a 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.86.0-SNAPSHOT + 2.86.1-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From b80f6fe18be696716c2545a43440c14534e92115 Mon Sep 17 00:00:00 2001 From: Matthias Arzt Date: Wed, 9 Dec 2020 14:24:03 +0100 Subject: [PATCH 170/383] CallingClassUtils: replace Class.forName() with Context.getClassLoader() Class.forName() will fail if the threads class loader is not set. --- src/main/java/org/scijava/log/CallingClassUtils.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/scijava/log/CallingClassUtils.java b/src/main/java/org/scijava/log/CallingClassUtils.java index bbe5357ed..66bef3263 100644 --- a/src/main/java/org/scijava/log/CallingClassUtils.java +++ b/src/main/java/org/scijava/log/CallingClassUtils.java @@ -29,6 +29,8 @@ package org.scijava.log; +import org.scijava.Context; + /** * Utility class for getting the calling class of a method. * @@ -60,7 +62,7 @@ public static String getCallingClassName() { private static boolean hasIgnoreAsCallingClassAnnotation(String className) { try { - Class< ? > clazz = Class.forName(className); + Class< ? > clazz = Context.getClassLoader().loadClass(className); return clazz.isAnnotationPresent(IgnoreAsCallingClass.class); } catch (ClassNotFoundException ignore) { From f6d8749965411a07c9ec96029ad2991620626a1a Mon Sep 17 00:00:00 2001 From: Jan Eglinger Date: Tue, 5 Jan 2021 11:14:28 +0100 Subject: [PATCH 171/383] Fix Types.raw for GenericArrayType Also add minimal test for array types with generics. See https://github.com/scijava/scijava-common/issues/415 --- src/main/java/org/scijava/util/Types.java | 2 + .../scijava/util/GenericArrayTypesTest.java | 50 +++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 src/test/java/org/scijava/util/GenericArrayTypesTest.java diff --git a/src/main/java/org/scijava/util/Types.java b/src/main/java/org/scijava/util/Types.java index adfbc3fcb..597e2bb06 100644 --- a/src/main/java/org/scijava/util/Types.java +++ b/src/main/java/org/scijava/util/Types.java @@ -365,6 +365,8 @@ public static String name(final Type t) { public static Class raw(final Type type) { if (type == null) return null; if (type instanceof Class) return (Class) type; + if (type instanceof GenericArrayType) + return array(raw(((GenericArrayType) type).getGenericComponentType())); final List> c = raws(type); if (c == null || c.size() == 0) return null; return c.get(0); diff --git a/src/test/java/org/scijava/util/GenericArrayTypesTest.java b/src/test/java/org/scijava/util/GenericArrayTypesTest.java new file mode 100644 index 000000000..689d5328d --- /dev/null +++ b/src/test/java/org/scijava/util/GenericArrayTypesTest.java @@ -0,0 +1,50 @@ +package org.scijava.util; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertSame; +import static org.junit.Assert.assertTrue; + +import java.lang.reflect.Field; +import java.lang.reflect.GenericArrayType; +import java.lang.reflect.Type; +import java.util.List; + +import org.junit.Test; + +public class GenericArrayTypesTest { + + @Test + public void testArrayFields() throws NoSuchFieldException, SecurityException { + Field rawField = Types.field(ClassWithFields.class, "rawListArray"); + Field genericWildcardField = Types.field(ClassWithFields.class, "wildcardListArray"); + Field genericTypedField = Types.field(ClassWithFields.class, "integerListArray"); + + Type rawFieldType = Types.fieldType(rawField, ClassWithFields.class); + Type genericWildcardFieldType = Types.fieldType(genericWildcardField, ClassWithFields.class); + Type genericTypedFieldType = Types.fieldType(genericTypedField, ClassWithFields.class); + + // raw type + assertFalse(rawFieldType instanceof GenericArrayType); + assertTrue(rawFieldType instanceof Class); + + // generic array types + assertTrue(genericWildcardFieldType instanceof GenericArrayType); + assertTrue(genericTypedFieldType instanceof GenericArrayType); + + assertEquals(rawField.getGenericType(), rawFieldType); + assertEquals(genericWildcardField.getGenericType(), genericWildcardFieldType); + assertEquals(genericTypedField.getGenericType(), genericTypedFieldType); + + assertSame(List[].class, Types.raw(rawFieldType)); + assertSame(List[].class, Types.raw(genericWildcardFieldType)); + assertSame(List[].class, Types.raw(genericTypedFieldType)); + } + + @SuppressWarnings({ "rawtypes", "unused" }) + private static class ClassWithFields { + public List[] rawListArray; + public List[] wildcardListArray; + public List[] integerListArray; + } +} From b15807535d2822c3a0e1d69040f21267ff6cd989 Mon Sep 17 00:00:00 2001 From: Jan Eglinger Date: Tue, 5 Jan 2021 13:33:56 +0100 Subject: [PATCH 172/383] TypesTest: test for array types with generics --- src/test/java/org/scijava/util/TypesTest.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/test/java/org/scijava/util/TypesTest.java b/src/test/java/org/scijava/util/TypesTest.java index f5eef7b01..f18a60c95 100644 --- a/src/test/java/org/scijava/util/TypesTest.java +++ b/src/test/java/org/scijava/util/TypesTest.java @@ -222,6 +222,7 @@ class Struct { private String[][] strings; private Void v; private List list; + private List[] listArray; private HashMap map; } assertSame(int[].class, raw(Struct.class, "intArray")); @@ -229,6 +230,7 @@ class Struct { assertSame(String[][].class, raw(Struct.class, "strings")); assertSame(Void.class, raw(Struct.class, "v")); assertSame(List.class, raw(Struct.class, "list")); + assertSame(List[].class, raw(Struct.class, "listArray")); assertSame(HashMap.class, raw(Struct.class, "map")); } From c7aa9f497534cb23765a8af80b4d4caa117d3a05 Mon Sep 17 00:00:00 2001 From: Nicolas Chiaruttini Date: Mon, 4 Jan 2021 22:16:52 +0100 Subject: [PATCH 173/383] adds test for string to array conversion in command --- .../command/CommandArrayConverterTest.java | 162 ++++++++++++++++++ 1 file changed, 162 insertions(+) create mode 100644 src/test/java/org/scijava/command/CommandArrayConverterTest.java diff --git a/src/test/java/org/scijava/command/CommandArrayConverterTest.java b/src/test/java/org/scijava/command/CommandArrayConverterTest.java new file mode 100644 index 000000000..b42d2eae7 --- /dev/null +++ b/src/test/java/org/scijava/command/CommandArrayConverterTest.java @@ -0,0 +1,162 @@ +package org.scijava.command; + +import org.junit.Test; +import org.scijava.Context; +import org.scijava.ItemIO; +import org.scijava.Priority; +import org.scijava.convert.AbstractConverter; +import org.scijava.plugin.Parameter; +import org.scijava.plugin.Plugin; + +import java.util.concurrent.ExecutionException; + +import static org.junit.Assert.*; + +public class CommandArrayConverterTest { + + @Test + public void testArrayCommandRaw() throws InterruptedException, + ExecutionException + { + final Context context = new Context(CommandService.class); + final CommandService commandService = context.service(CommandService.class); + + UserClass[] userObjects = new UserClass[2]; + userObjects[0] = new UserClass("User Object 0", new Object()); + userObjects[1] = new UserClass("User Object 1", new Object()); + + final CommandModule module = // + commandService.run(CommandRawArrayInput.class, true, "userObjects", userObjects ).get(); // + assertEquals("User Object 0;User Object 1;", module.getOutput("result")); + } + + @Test + public void testArrayConvertFromStringCommandRaw() throws InterruptedException, + ExecutionException + { + final Context context = new Context(CommandService.class); + final CommandService commandService = context.service(CommandService.class); + + final CommandModule module = // + commandService.run(CommandRawArrayInput.class, true, "userObjects", "User Object 0,User Object 1" ).get(); // + + assertEquals("User Object 0;User Object 1;", module.getOutput("result")); + } + + @Test + public void testArrayCommandWildcardGenerics() throws InterruptedException, + ExecutionException + { + final Context context = new Context(CommandService.class); + final CommandService commandService = context.service(CommandService.class); + + UserClass[] userObjects = new UserClass[2]; + userObjects[0] = new UserClass("User Object 0", new Object()); + userObjects[1] = new UserClass("User Object 1", new Object()); + + final CommandModule module = // + commandService.run(CommandGenericsWildcardArrayInput.class, true, "userObjects", userObjects ).get(); // + assertEquals("User Object 0;User Object 1;", module.getOutput("result")); + } + + @Test + public void testArrayConvertFromStringCommandWildcardGenerics() throws InterruptedException, + ExecutionException + { + final Context context = new Context(CommandService.class); + final CommandService commandService = context.service(CommandService.class); + + final CommandModule module = // + commandService.run(CommandGenericsWildcardArrayInput.class, true, "userObjects", "User Object 0,User Object 1" ).get(); // + + assertEquals("User Object 0;User Object 1;", module.getOutput("result")); + } + + /** A command which uses a UserClass Raw Array parameter. */ + @Plugin(type = Command.class) + public static class CommandRawArrayInput implements Command { + + @Parameter + private UserClass[] userObjects; + + @Parameter(type = ItemIO.OUTPUT) + private String result = "default"; + + @Override + public void run() { + final StringBuilder sb = new StringBuilder(); + System.out.println("userObjects length : "+userObjects.length); + System.out.println("class : "+userObjects.getClass()); + for (UserClass obj : userObjects) { + System.out.println("\t"+obj); + sb.append(obj.toString()+";"); + } + result = sb.toString(); + } + } + + /** A command which uses a UserClass Array with generics wildcard */ + @Plugin(type = Command.class) + public static class CommandGenericsWildcardArrayInput implements Command { + + @Parameter + private UserClass[] userObjects; + + @Parameter(type = ItemIO.OUTPUT) + private String result = "default"; + + @Override + public void run() { + final StringBuilder sb = new StringBuilder(); + System.out.println("userObjects length : "+userObjects.length); + System.out.println("class : "+userObjects.getClass()); + for (UserClass obj : userObjects) { + System.out.println("\t"+obj); + sb.append(obj.toString()+";"); + } + result = sb.toString(); + } + } + + @Plugin(type = org.scijava.convert.Converter.class, priority = Priority.LOW) + public static class StringToUserClassConverterNoGenerics extends AbstractConverter { + + @Override + public T convert(Object src, Class dest) { + String str = (String) src; + String[] names = str.split(","); + UserClass[] userObjects = new UserClass[names.length]; + for (int index = 0; index < names.length ; index++) { + userObjects[index] = new UserClass(names[index], new Object()); + } + return (T) userObjects; + } + + @Override + public Class getOutputType() { + return UserClass[].class; + } + + @Override + public Class getInputType() { + return String.class; + } + } + + /** + * Simple class to test input arrays in command + */ + public static class UserClass { + + String name; + + public UserClass(String objectName, T generic_object) { + name = objectName; + } + + public String toString() { + return name; + } + } + +} From 46ca0d04c5c86eeb51f9daa9f130b0d7c8decd65 Mon Sep 17 00:00:00 2001 From: Mark Hiner Date: Tue, 19 Jan 2021 11:54:33 -0600 Subject: [PATCH 174/383] Bump pom-scijava to 30.0.0 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 8065fba5a..92de9613c 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.scijava pom-scijava - 29.2.1 + 30.0.0 From c8ab4ad9ae0f76588ea92e61c741a703a94d7f19 Mon Sep 17 00:00:00 2001 From: Jan Eglinger Date: Fri, 16 Oct 2020 20:28:06 +0200 Subject: [PATCH 175/383] DefaultWidgetModel: check for null choicesList Let's fail fast and return null when item.getChoices() returns null. --- src/main/java/org/scijava/widget/DefaultWidgetModel.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/org/scijava/widget/DefaultWidgetModel.java b/src/main/java/org/scijava/widget/DefaultWidgetModel.java index 1a768d5d7..91e301684 100644 --- a/src/main/java/org/scijava/widget/DefaultWidgetModel.java +++ b/src/main/java/org/scijava/widget/DefaultWidgetModel.java @@ -221,6 +221,7 @@ public Number getStepSize() { @Override public String[] getChoices() { final List choicesList = item.getChoices(); + if (choicesList == null) return null; final String[] choices = new String[choicesList.size()]; for (int i = 0; i < choices.length; i++) { choices[i] = objectService.getName(choicesList.get(i)); From c4cb3a71f6e5c02d78d27bcee728adb096f579ef Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 27 Apr 2021 10:23:43 -0500 Subject: [PATCH 176/383] FileHandle: infer mode based on file permissions Instead of always trying read/write, which throws an exception for existing but read-only files. --- .../org/scijava/io/handle/FileHandle.java | 27 ++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/scijava/io/handle/FileHandle.java b/src/main/java/org/scijava/io/handle/FileHandle.java index 3bcbfe6dd..39b6e0448 100644 --- a/src/main/java/org/scijava/io/handle/FileHandle.java +++ b/src/main/java/org/scijava/io/handle/FileHandle.java @@ -29,8 +29,11 @@ package org.scijava.io.handle; +import java.io.File; import java.io.IOException; import java.io.RandomAccessFile; +import java.nio.file.Files; +import java.nio.file.Path; import java.util.Date; import org.scijava.io.location.FileLocation; @@ -50,7 +53,7 @@ public class FileHandle extends AbstractDataHandle { private RandomAccessFile raf; /** The mode of the {@link RandomAccessFile}. */ - private String mode = "rw"; + private String mode; /** True iff the {@link #close()} has already been called. */ private boolean closed; @@ -232,6 +235,28 @@ public synchronized void close() throws IOException { closed = true; } + // -- WrapperPlugin methods -- + + @Override + public void set(FileLocation loc) { + super.set(loc); + + // Infer the initial mode based on file existence + permissions. + final File file = loc.getFile(); + String mode; + if (file.exists()) { + final Path path = loc.getFile().toPath(); + mode = ""; + if (Files.isReadable(path)) mode += "r"; + if (Files.isWritable(path)) mode += "w"; + } + else { + // Non-existent file; assume the intent is to create it. + mode = "rw"; + } + setMode(mode); + } + // -- Typed methods -- @Override From 7cc0b56df02ec944dcc65913a1af1ceb63a83e86 Mon Sep 17 00:00:00 2001 From: Jan Eglinger Date: Tue, 11 May 2021 21:28:20 +0200 Subject: [PATCH 177/383] CommandInfo: allow shadowed Service parameters When a command extends another command, we often have both classes use specific services. It's better to be able to name these Service parameters consistently, than to avoid shadowing parameters at all costs. So let's exclude all Service parameters from the validity check. --- .../java/org/scijava/command/CommandInfo.java | 4 +- .../org/scijava/command/CommandInfoTest.java | 38 ++++++++++++++++++- 2 files changed, 40 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/scijava/command/CommandInfo.java b/src/main/java/org/scijava/command/CommandInfo.java index 8d843d457..806c6f2ae 100644 --- a/src/main/java/org/scijava/command/CommandInfo.java +++ b/src/main/java/org/scijava/command/CommandInfo.java @@ -52,6 +52,7 @@ import org.scijava.plugin.Parameter; import org.scijava.plugin.Plugin; import org.scijava.plugin.PluginInfo; +import org.scijava.service.Service; import org.scijava.util.ClassUtils; import org.scijava.util.StringMaker; import org.scijava.util.Types; @@ -460,7 +461,8 @@ private void checkFields(final Class type) { } final String name = f.getName(); - if (inputMap.containsKey(name) || outputMap.containsKey(name)) { + if ((inputMap.containsKey(name) || outputMap.containsKey(name)) + && !Service.class.isAssignableFrom(f.getType())) { // NB: Shadowed parameters are bad because they are ambiguous. final String error = "Invalid duplicate parameter: " + f; problems.add(new ValidityProblem(error)); diff --git a/src/test/java/org/scijava/command/CommandInfoTest.java b/src/test/java/org/scijava/command/CommandInfoTest.java index 63a698b23..822686f86 100644 --- a/src/test/java/org/scijava/command/CommandInfoTest.java +++ b/src/test/java/org/scijava/command/CommandInfoTest.java @@ -39,10 +39,12 @@ import java.util.Arrays; import java.util.Iterator; +import org.junit.After; import org.junit.Before; import org.junit.Test; import org.scijava.Context; import org.scijava.command.CommandInfoTest.CommandWithEnumParam.Choice; +import org.scijava.log.LogService; import org.scijava.module.ModuleItem; import org.scijava.plugin.Parameter; @@ -53,14 +55,20 @@ */ public class CommandInfoTest { + private Context ctx; private CommandService commandService; @Before public void setUp() { - final Context ctx = new Context(CommandService.class); + ctx = new Context(CommandService.class); commandService = ctx.getService(CommandService.class); } + @After + public void tearDown() { + ctx.dispose(); + } + @Test public void testEnumParam() { final CommandInfo info = commandService.getCommand( @@ -88,6 +96,12 @@ public void testEnumParam() { choice.getChoices()); } + @Test + public void testDuplicateServiceParameters() { + CommandInfo commandInfo = new CommandInfo(ExtendedServiceCommand.class); + assertTrue(commandInfo.isValid()); + } + // -- Helper classes -- /** A command with an enum parameter. */ @@ -112,4 +126,26 @@ public void run() { // NB: No implementation needed. } } + + private static class ServiceCommand implements Command { + + @Parameter + private LogService logService; + + @Override + public void run() { + // do nothing + } + } + + private static class ExtendedServiceCommand extends ServiceCommand { + + @Parameter + private LogService logService; + + @Override + public void run() { + // do nothing + } + } } From 565f9a995ca69923f02177330d1c600abaa23eb0 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Thu, 1 Jul 2021 16:12:07 -0500 Subject: [PATCH 178/383] Switch from Travis CI to GitHub Actions --- .github/build.sh | 3 +++ .github/setup.sh | 3 +++ .github/workflows/build-main.yml | 42 +++++++++++++++++++++++++++++++ .github/workflows/build-pr.yml | 35 ++++++++++++++++++++++++++ .travis.yml | 17 ------------- .travis/build.sh | 3 --- .travis/signingkey.asc.enc | Bin 9632 -> 0 bytes README.md | 2 +- pom.xml | 6 ++--- 9 files changed, 86 insertions(+), 25 deletions(-) create mode 100755 .github/build.sh create mode 100755 .github/setup.sh create mode 100644 .github/workflows/build-main.yml create mode 100644 .github/workflows/build-pr.yml delete mode 100644 .travis.yml delete mode 100755 .travis/build.sh delete mode 100644 .travis/signingkey.asc.enc diff --git a/.github/build.sh b/.github/build.sh new file mode 100755 index 000000000..7da42622b --- /dev/null +++ b/.github/build.sh @@ -0,0 +1,3 @@ +#!/bin/sh +curl -fsLO https://raw.githubusercontent.com/scijava/scijava-scripts/master/ci-build.sh +sh ci-build.sh diff --git a/.github/setup.sh b/.github/setup.sh new file mode 100755 index 000000000..f359bbeeb --- /dev/null +++ b/.github/setup.sh @@ -0,0 +1,3 @@ +#!/bin/sh +curl -fsLO https://raw.githubusercontent.com/scijava/scijava-scripts/master/ci-setup-github-actions.sh +sh ci-setup-github-actions.sh diff --git a/.github/workflows/build-main.yml b/.github/workflows/build-main.yml new file mode 100644 index 000000000..45b6b5e69 --- /dev/null +++ b/.github/workflows/build-main.yml @@ -0,0 +1,42 @@ +name: build + +on: + push: + branches: + - master + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: Cache m2 folder + uses: actions/cache@v2 + env: + cache-name: cache-m2 + with: + path: ~/.m2/repository + key: ${{ runner.os }}-build-${{ env.cache-name }} + restore-keys: | + ${{ runner.os }}-build-${{ env.cache-name }}- + ${{ runner.os }}-build- + ${{ runner.os }}- + + - name: Set up JDK 8 + uses: actions/setup-java@v2 + with: + java-version: '8' + distribution: 'zulu' + - name: Set up CI environment + run: .github/setup.sh + - name: Execute the build + run: .github/build.sh + env: + GPG_KEY_NAME: ${{ secrets.GPG_KEY_NAME }} + GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} + MAVEN_USER: ${{ secrets.MAVEN_USER }} + MAVEN_PASS: ${{ secrets.MAVEN_PASS }} + OSSRH_PASS: ${{ secrets.OSSRH_PASS }} + SIGNING_ASC: ${{ secrets.SIGNING_ASC }} diff --git a/.github/workflows/build-pr.yml b/.github/workflows/build-pr.yml new file mode 100644 index 000000000..92a019264 --- /dev/null +++ b/.github/workflows/build-pr.yml @@ -0,0 +1,35 @@ +name: build PR + +on: + pull_request: + branches: + - master + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: Cache m2 folder + uses: actions/cache@v2 + env: + cache-name: cache-m2 + with: + path: ~/.m2/repository + key: ${{ runner.os }}-build-${{ env.cache-name }} + restore-keys: | + ${{ runner.os }}-build-${{ env.cache-name }}- + ${{ runner.os }}-build- + ${{ runner.os }}- + + - name: Set up JDK 8 + uses: actions/setup-java@v2 + with: + java-version: '8' + distribution: 'zulu' + - name: Set up CI environment + run: .github/setup.sh + - name: Execute the build + run: .github/build.sh diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 3bc57c558..000000000 --- a/.travis.yml +++ /dev/null @@ -1,17 +0,0 @@ -language: java -jdk: openjdk8 -branches: - only: - - master - - "/.*-[0-9]+\\..*/" -install: true -script: ".travis/build.sh" -cache: - directories: - - "~/.m2/repository" -env: - global: - - secure: Xkwu2u/v0+kBqW2Mt80FpMS+2NRMnfRaZ6ptiEW44sViKkaENnJegmYVjdSm9RAwAJx9DEp6KYTLH4Hh56JbWp6s8qGcxm2vCbAWBE6ZesOj3oTvv/T4lucxarocZ8hK9NqfY9iCePjl8R10UDePThZgWBFidUQjvPbH+LcXo9g= - - secure: Jgj204N4hKv+7sUrXGtXMvUoXYuHAerhUvwbHsm0BJFpzUSyHP5QWJH2tHvCUL9Yb4VhNEjc46RLFVmiIXynJwAdAWJodT/VEnOTb5Cf7+0UHK4qCyjyjVHiWq1cf+R8Lr9fuKRqxUAdz9Hw6g0Yt23TX8kCa+wQW9lwchn0IG8= - - secure: RuGzuPrxyvBRJwsCpSJ10p9PdP2Hzc9lxb29L//Y/Fkc3bJwNMlNa0ST83oGNHJapYc4dWuFk22Ooy/2YioNgsVvR4n5MAslqXQXSY0VDle1Nbf1pudAlPU+quaiYxcAyyysjUUtqc5wADVgpkrDA7GJzAuCOWb4aSwiiIn6u4A= - - secure: bnsjVlj9MBJto8ahZdMwGpVPjZeyF7r5tZh+t+NhDuZsP0WMlURzGZ9/lJOO4quklgiWCyeVDB5uvDvsdG9BReBe5Q8Q6WZyxhxYtP2iLV0zRWSWsGKk0stGcrmJKk8wbicIJdXD8suiP+2Li5GfxTge/hkhL4CL0OOr6b1JqrM= diff --git a/.travis/build.sh b/.travis/build.sh deleted file mode 100755 index 094a570ee..000000000 --- a/.travis/build.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -curl -fsLO https://raw.githubusercontent.com/scijava/scijava-scripts/master/travis-build.sh -sh travis-build.sh $encrypted_d2fbfc37eea9_key $encrypted_d2fbfc37eea9_iv diff --git a/.travis/signingkey.asc.enc b/.travis/signingkey.asc.enc deleted file mode 100644 index 4e4802b462a4c4ae860a84af0c7ec1d1390408e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9632 zcmV;RC12W{wS_|d+vp;Au{m6gL+BFhM?-BCikSk7{kH6M6KnW+ponRb-+96rEk7hE z$R3OOz6*I!!Y2GYes}r67t%!(VNWQ7qP*|qENU*=!#tm1+5INUY9FkY9^~29Bx@=7 zruzk)i_++1DCkU_00z&cF$$(I+M(`CXe}*3VEJC?yhdPZP=qd&K^mQ75k^OudIacK zVLw-#qc0TF_%wx?JNaM-l4|Ur>;e7pOzr3bRQQx*w@X4BF8pE%i$1Gy zcNFnE2yx@W9soPHEql?WsrGi3^#M==o;{v}wTPXKtyvB{@LjfpouVE{#GloOG5sxNu!P5tX?_CvMQx)Am@hpsU43k} zYPZQBz7I z3of{=oGWvJ*F%3?Rc>md&i~AdY>@qaW`z4zuwebm48MAz~>(8Y_EJ~5I_1kQvTpe%G>to z@7KSDF9U(-50|{zI~Aq}g+5~eiv{BDV8%{W-C9$rj>J5_X%9hFIgRfH1$hZ4zYJfC zzuv^k^^Wc4>@`UBE?dAQGN*bDp}3vJ$RzWz_&2U`^ge)f;)nHILYa5K=kkWFE|98k z22?Jbp?-9nle9&u32u?tT?3wc+n=q3nA=$e#{8++^x??Zo~j(%tv%Jpr-!4$@&$LvPcp-=jH&SSC#@Eb4WUHeNB`$}g zrDnPg<Wj<@5dBLEfrTI6OuZ!Y7v%vb5v^ zpZk(){UM7dD(Q1ujM&(&`0__IaS-ZTlO=U@^_Ol)qCcsaaR;j-H9bB8Ni22TFxMOn zXW&`yZq~3q?0$P$`!>p#K4YgB7}nm?9udcdi}j?tu@sN(+V?GAWQ{?mvVCKeazu&B zl07qGBs(l34Z4;(2oNvgk;cyA`wBhmquhj@Uu?PJu+QbNfK10mE@%#Za>Le?_;HJ$ zx5yRm*=@!3R*yGPlp@&_+cZCKBgkmuZcVvqY3_J=d5im&=lcwOlV(tDPt@xCTdXCX zjjyQ|fvu*MOxGkVoZ?!NOwv`U0|@s4i%zZXOr`))oOmV|m;n#MH47++H$c|_tr+-F zL=gIGa~6Oj`FW)Rht{NAqRRFFKSHkVZR@D-*DSnCDi7F#k*RsY_Vgnmr+KpFMxMo9 z_03xUvlI;^qOc5mdiCOmxp;O7NI>e*+0v#V5wP*HBBIR}5wrgR@Iq;!4yboTIL$a9 z2eEQO`USO+;U~s*GjZ=KA(=xb^~bPBK8}i*%6b|N`{u@t2D&fp(_G{m+n}*QgZ?JM zFYEHm_=UW&4eV{6VwbvMbDGqpAmIrDYM2Fuw*A8yGOjEfzX}3+*_T$%4W3DZ)w~ts z+x)`kAl~m0h*WH=(@EFX3h$KV`~6w1v$4j6uv6nAxvql=2O8u>@KU_({g1H}ryjCg zN>>Lu0EXRWw^KV=&ZJ~T7$1rxW9sQyqW25(B)MZ*nWDKaPOTm-RYSBsvCY}`Ow6+R z7mc+pgf?teGfp+5Fo|?IDzgDNY3PAS?QZ(yM_JP4H&F!oK<1k}e&xfZ+nPI8y13wF z?}3POC42V1-35>`BvdK=o?KONxM0d&3qn@>zvmm!<9cO?z8&TXtFC636AIj2q%42X zUYE_peTV-NY)b+lZ+c{qKBRpyEs2C;8Q-x<0_E@|VBq!Q=k-*ySEKFAHv6n7(Iw&+ z$Uloh)Xq{ie?}~y$X|5@NblY^%Q`-l{j7xVmr8~;EoJ$cIrRks))RbkkSs*d$wy;g z_F8IN1g5?7)r$aK;~Bx{Kkgry$ZBj-VOKpB)P3CWL9PgUG(6Q$P5(mitfsf|$QDxY#|6VdMOR*@((!$v z?hXXB9+IdBc$V$l^;Fv?;VbjuO$bphrvjfR%8{j7G&at!8K_9t$-tKo>M6>LA*uca ze^?f^^ppmk{D>6Gl6u7awg_yyDqJR~2zmXTfoh}i5^6`v+J;{O(U|TH`1SD*c`CTH zOsvrz!WD}6^9krB%6X_9@jEsX@&xh4?En5-`5oIIrycJ)speiNEAbah2Obpvgn zJZ`kzgdju>kz~D~7LpRJLGF3_oAI`a24%7@)s zRJdJ~t>F%+F%D^9h+4@1Fp0T!#N0#Nf&56p~7OR0!==X9IM*oP=*d`vcTl)m1Ifv-AwoIv5C=CZ`?b=$wq-_`-LxJd2 zeKL|H8k7SY4?D*+ac1no+`;#J!a?}jz)Xt@twqfrz(oOuP3zlskhrvJ3Ll*Mb5w2N z*C1kOZ}A7j^%0R{<(iwHpQmZ zu8g~zc7z>%8EG-liO`ei-yLaF>JF~@N4IYYdQGnLdO&#GW}U-vEES;eJKLRBbkxRn z`Zgrsx4DhxIjqWfY4auC<+OTz^U;lV0MRxynYRZ>1){x>T30l+F099~0alYsy;7Vz z^1sN9JNl9G6wl0S%9&m&m>QbM?3SG#Gr3bWwzICXW`485&Q6B^H}&|zd^@zYJ8hM& z6(JX`*zNLCwXArzoDF=UwWc$?&4ru8H-&oaWVBLtHgQb|w->l!pK(?^e)Kq`X{Fj}!; z(IKV+V(ejC!=7m6u)vtad3W&4#+>u4e%?M?kwzm(&>4v*Pi+pTIDDC{+8491Ndu&^ zoWt-~V2P^7oQ0E9d~N+cB;1Q_Z6-Z(0_RY>By$>y!vKn_2wPcsoDCXQ?vA}hq8_f zLxX(hB4lcj28IjbTcT~^YS|~>Qs-8;oJeWq+Lq7^Y~m)F2_j*~{10r^>_3ppBXs0R zWe)`bE9H=kyFi^ebn}Ggf2aoYJk1jPF(&*f?Ej3FAXZF5lwffAoY}%k%)Cvz_FjI> z*a+vy?8$_E0-$eIP=v5=_*ScT_VbxV_3yB*u8a7~ zQy%1L&X+L|@P=)BL2zlSd5oV3Ee-T({9J1F;BNgS zaX-f|Y8Tv{#&6>Cv-Suh+l!3W@HDZ0mRyo!hyWE@y#>^WNJ|m6?&C2}lk|8rNX!QOD zmMCmdB+7yu&QEXbp8yC*ON=AJQ}Ja&1G3sA*4Xe_^yVm@hgD}E_R{GfDK)*toPBCW z=NW1A?K>0}nj-?{aIa_v#1nm@0RTSW%VFV>mTVyBUgo5LQwcl~d|hGp=ybmrBB#W4 zXl`l~9+>cehYXv#b$yU4r0GL>rj;y~&} zTMF>sIci_%-WqFbifx4M8Snb|$J-mg29QcY@psRaDCbeCDp0fR;>` zB|KNDvu?_lV@?7KL)n9Cqw`BAl&BPU?tK$46K*Q1XP)2oIY+Z#~FDSFtZ zsgEFsGaC+dq_1{*nojjaR6#H|Me_=H{u@{Ng-k_@c!C)p65n?uS>YO2FwPqz%ns!871!T#7CTbodeIz94E{hmIY}| z#$j9s_*PgW0`KR{^@H;C7;sZ>rp1VcZf7HD24I%iZp4H1It@D~#HFOb{1Pi%mF#e^ z(Sf}zrWYuRF#8wYGStYC4#3xs46o?8S6svWLuAL=|1-@3;l*3k=-}*6CJ6u{ROR0 z-84w0t!aku+e`djC{zW~G430O_5zTnQdQxxQ3Ta=#%j5*U7rz3Nx0U?YEFfmWacMEkJkb$ ztBuxlLd_nb1MEMsXlnqhpX=!An*m}E|0iGU_~Uf&Q&y#QD=-z%W%F1g3RO6N6EJh(lbBw@f(Lmn6xcq8Cxm=(` zhaq7MY{O-l-EWW6RLdWCz#)OXAR*r+UCc)7caGE#3rSZVUTsMm;&K_?;;j4b%P3>#B0yF-z+88po2q}#DVbYi&(Oe7@7ri73 z^N@4^zyeo2+l)ae0{+2`hB%%t_mh8ed@HwQ+)emtj$e|VOy!^Xsk)l~=1o@`JMR&p zCG@ws})m9`_Z` z=I;=6hT}o){c@P!Jqn}bbpfg22-k~4-aX~FqUC&?x3rO!Nq{-@8gYR6;4JVtoD#!z zZq>K!Jw48r)9inh@^B845PCz{u^>6TaCb@{uk)uUQEo(!3v&xixvG`ym3*786a$0Ssd6P_qc7UIuJU4((uBmxs%$b8? ztgcO-rU6wax?gQ>>Di`&F%<2R(U~UFMWzQJ?vGr zU1JV4$?+!rN&L!o(8^a#g23ph{{*L{GXDm)YXk<+cV&bWaW`bo^=0BuebR`kAy%=x~`gom#&=B|m5 z`qf};;ELo6uo2@t+OjWPaacH03#@_pYpEj5(r!!EdJsREMHn(n{^&g+RKX`(=571> z3*4nW801sGZhe9NvvZC`V?n;)h9)%w;GyiSePJcy1`$6Vu&bXvmE_Kn1(i1)qp#-{ zu#k{#+y`|P#IqZvU-B&VhGyyZ;{7q+-mS_le~BJJ_Ne6_rvsg&NaC~{wF3WM*q`yx z<*-^_Fx-ECk*RjM3#(AY>=zmJMgH4?kqS_#MbBEz?!>yb+Z8@_9ZKxdhK)j>|kX>GlMfM*y1OLN?FBp+4mJYlK=*ztHxhjQr z;DX1f7lc$+Wyh)!nm!$IXr(|)qG!Jle>`M!ozc; zQ-y)mStI5n3|CTmtNko19P6)08&hFC`p^o8terFgBOU{^hgcFzeiwGaj68-o&V`l& zotpr{o$l7eYUH7NbrD#Z1TV-w1c+z$TCMH;k~crSAnS6s?7uZ1Lh!uWXh*(nPfawN zjQJ^qIu>uyQ&dPXMk1jtK-ts?BDwkNb9EJgs7CLrH?+qZo=~**Q^EJI#H0x|xL|PP zV3{e$m$ZS9I2#{<-Uj~9TC;Enx>dcQzeH7xf{yh}Pma8s9i!mcGUI-DAIR#+6U7C7clHMR9J`je&g7mK!#d37ou&BaT7F1ON6((^Ue_eGd!EHDE`L z;He`g`l$XaRX@qJgdy1u-P<@>B5fm>o9s&TjG>z4gStKc4rIwMt_c$_7wD5GZB^Sk zq8#r`#&K#8DV{#X7+#$b?HVd=flTf)?juR)BF%bOpS=irmjdUz&`S;1nP88a(T^no zXcM^gv~QQx;xr9H8Nt_YJsJ%qK5W9V>1YFBU!qk}q4s2TJvmOfLiu`P!YfNz!5383 zkcccx&ZpU9+cz~zl^0gC!QRd&)oco|5biL7c9qPio!;WDOKGT?ybLt#x8@@60iS%S zX(Ed9mK4Ya1Oro@Pm;E9(`_a5bnD-kg+A1;h zg>i#q#5IssCmMn_a3Lr-8uOV#5-$;w>IdAF`6-4M%JT zaS=!JPz9!pgkQbzC@nG%9ePJCiJ}&IElQlRFOIG(?OT<}WR2N!Y;MxZ-{1z84Ww@f zePUD-s0>|5_-OH>2Z#BeP$;%DoR%Aw+cS=(u>}bNA_>|ONaijG%Mx53x3)|ekv)r* zmZKFqF_W>pHzhQRHP+7SCcgRui8&&QNVxqh7Dxq9Q@l`L?EX~M(@b$?!4Vu#*9nMS zY|Zd>U$H$ln&7PIjV7R3>^Xevv(X;?;nHedM;IkI(^YpcHClEq=X%bWf@PLN#9K|9 zl4jIdx%Wu=t_8o6HN@%OOtG~J_2gcKVZSxxW@Tvn$1a^+V4(`;?Qw0?spN+y6@}bH z&PkrrtUw~I3S^swp$x(}Mv>h{&afJ4as?BUk)U1Xg}6S{TqWrVCnfK3>TvaJS%S#y zgFie|vnE2gvjHTQ^{;|m084L%DCxbZ`eI0}2|k8q5WxKaXqE(}SSn}D{C(fZ|NAB>lIJB-j5Ob%>}K!Y|KwA;6pTn}+ft-UR;ld5@yx~3#3dxYw>L?0 zQD*MX+E2Wr{sDKT_;*55T*guBLDK$2!Njt)SKGwdW{#1(;k2V9MTzSs_?%-O#XXgs zCxE9KjTm2uH=hg}8jkz>@(dW00Fp+ZC;h{3>U%LILlYSg?}J;v2HGxY!w#qH;biqO zd7XdIynnt2AFarb|zK^*@6830W%Kf^6sUgf z!0Ni7pl4lD)`h8X*v>pt))cAQ1PGbTg)G?x!u2fMGhDPwSMS{DLo|K~)or?@oWTl- zlpNC7Ec~gg4*D(vL4zX1g!mDtFMYeL$rf|CdJ3{(EwP>HqLG51$|uFo_2=e~{}G~% zAWH52-~L1N%Kqtw)403`GdF?tbVgJp^;g!mz~3mVdhR|~g|M@UI0<;OuUv+JakX0( zkIvI$(68W47-z!vW=zi%thgm%zruV%js(HjN;0#>UIMTS?1)uo9tmTjqB9awPD9aOFPGhU~MK(xw{f<-zc8 zlY=6bIvB#~yO>8)zU&hCyCL_FPo;!shdT4}SF`vkoAHSAo~D3%x(w7u=1NR^$H#Tm z);Ra@*;)NHP$?@TsPT2{#3}spgPaSgd{jyuk%z2KCVOGk&lY7l@QP+eC>$h8GNQE$ zPuSd)S8L3+)69I*cCjz1xEif|7~2#n|QLE|XEYk_7>wtreogAh)xtq|vfz3XC*)$xUCBXL8^gMrK;c z(>=?-oGZ|#T<^h%A&s6frd=wTcgf)n%Ry&9+p%x;#s))BtHx?ShOFcM=H5~M`xBJa zSLdlv3_Dx#94G3B*U6o`W8mkBK%468&W1kkJ-ZQCiwKOaMujrACfdQFPb3#>&3N-Bgu0iKtK#2rTIiyd?3m^s;KS;K z!WNo?(Y)bU)PEG3b=6~XMz&ZrjXlI@xm~pv@Q=J8Xc6=n8ZK9}WFaSwuwI6`(ZEy^ ze0J(zLCD#zT7H}8$hqkh&hmHj*A>~QwX8JtdNstyQQ)qKV|3B(aA}_!JpTTGnc~|#YW`Ras=SJ zTBHguYR*BTx|pW)CA;N{B5JUY54gi{nO-qe>C~EQtPhJY@NR;-%JRR1;C7r^Na96@K?cvIG!_7r36q|a6sx@uA;>*CZ8qD+f4X&{847U|Dz+MpOOCvf z{9Lhs@oKSD&q41(eE%SjU}cXBzBVk)b7DE$4O=eS;xL&nGH&H|M;(d0a;$U$%(A=Jsu-`nlb$yC+m@umt2oG(IjBc z-?&m8S9>4oVG6Gwi3QuECVUXq`Spv}c%^tI4~`lFFd4B2`(l$}MdW(=mZB@iSFWCu zAxC38|MxINHQS;Ldig%5+qo3x)zJHDV-f~~YQ8tq;jIypIFZ|oB)^?W{$hkT!B-FN zcU}T~#dtKm#ea-o>xPn4%9F;|&xr~Lq;e;NH~ue-62FEDUoOjem^$R;%G7p%XykZ! zXwD3At0GqEObPf3U3?2NXkrobdqiehi4^141|N?D6KU5Tki$O-7{tyG7L zwfTc5rhj`-uBHhXI$Z~~+wQV^ZE`{~N9&iM1Y85|-Fcr4(1@{)&1Y#M;J;;lG=e^) z|A1_@f=6cdIVw|X<@7UP=F!UjXTId@z)!Z3(NfwrM+lou=Dat~c_-;ec9UTOn372t zfk7K*aFeAwj%V1XRUiUyp$Ef4AOrE^7##eZNp+l`8^H3CB5264FqRU9Gi`$`e(8Wb zMMWc5;0(4y1JTu&(%0+Fv+rhm7jt8dZBkgzS5C^b&4>z$dP^8LjG$pjwlDe^3iY+VPjR^C-pDmQo~(LfAQCPJ+vsVcgXIy63bs?Km6^xkf?s?ZF2O z{%jBi?--Txg;9o_QRT*Cs`MdULC2*U7JB+t*u z*{aG&n1im4_}NuyK3dgCKd2KJ=NVOE9~*Qr(3}4^6{gFAVMRb-5P!&ePv(%K_j3 diff --git a/README.md b/README.md index 0838f7b7b..b7f00e234 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ [![](https://img.shields.io/maven-central/v/org.scijava/scijava-common.svg)](http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.scijava%22%20AND%20a%3A%22scijava-common%22) -[![](https://travis-ci.org/scijava/scijava-common.svg?branch=master)](https://travis-ci.org/scijava/scijava-common) +[![](https://github.com/scijava/scijava-common/actions/workflows/build-main.yml/badge.svg)](https://github.com/scijava/scijava-common/actions/workflows/build-main.yml) [![Join the chat at https://gitter.im/scijava/scijava-common](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/scijava/scijava-common?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) SciJava Common is a common library for SciJava software. It provides a diff --git a/pom.xml b/pom.xml index 92de9613c..52035522b 100644 --- a/pom.xml +++ b/pom.xml @@ -149,8 +149,8 @@ https://github.com/scijava/scijava-common/issues - Travis CI - https://travis-ci.org/scijava/scijava-common + GitHub Actions + https://github.com/scijava/scijava-common/actions @@ -159,8 +159,6 @@ bsd_2 SciJava Common shared library for SciJava software. SciJava developers. - - 2.0.0 From be5b13ee90290b669a46f55830189b52581185a9 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Thu, 1 Jul 2021 16:34:54 -0500 Subject: [PATCH 179/383] POMTest: update test for GitHub Actions --- src/test/java/org/scijava/util/POMTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/java/org/scijava/util/POMTest.java b/src/test/java/org/scijava/util/POMTest.java index b398d98f8..6d3c5e9cb 100644 --- a/src/test/java/org/scijava/util/POMTest.java +++ b/src/test/java/org/scijava/util/POMTest.java @@ -92,9 +92,9 @@ public void testAccessors() throws ParserConfigurationException, assertEquals("org.scijava", pom.getGroupId()); assertEquals("scijava-common", pom.getArtifactId()); assertNotNull(pom.getVersion()); - assertEquals("Travis CI", pom.getCIManagementSystem()); + assertEquals("GitHub Actions", pom.getCIManagementSystem()); final String ciManagementURL = pom.getCIManagementURL(); - assertEquals("https://travis-ci.org/scijava/scijava-common", + assertEquals("https://github.com/scijava/scijava-common/actions", ciManagementURL); assertEquals("GitHub Issues", pom.getIssueManagementSystem()); final String issueManagementURL = pom.getIssueManagementURL(); From d24acd6c686227a3ff9a875b3c4024e6f94ae20f Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Fri, 2 Jul 2021 09:48:29 -0500 Subject: [PATCH 180/383] CI: build release tags --- .github/workflows/build-main.yml | 2 ++ src/main/java/org/scijava/util/ClassUtils.java | 3 +++ 2 files changed, 5 insertions(+) diff --git a/.github/workflows/build-main.yml b/.github/workflows/build-main.yml index 45b6b5e69..3fb562252 100644 --- a/.github/workflows/build-main.yml +++ b/.github/workflows/build-main.yml @@ -4,6 +4,8 @@ on: push: branches: - master + tags: + - "*-[0-9]+.*" jobs: build: diff --git a/src/main/java/org/scijava/util/ClassUtils.java b/src/main/java/org/scijava/util/ClassUtils.java index 9bc2000ea..b238586fe 100644 --- a/src/main/java/org/scijava/util/ClassUtils.java +++ b/src/main/java/org/scijava/util/ClassUtils.java @@ -189,6 +189,9 @@ public static void getAnnotatedFields( cacheAnnotatedObjects(c, query); cachedFields = fieldCache.getList(c, annotationClass); } + // CTR START HERE: cachedFields should never be null now. + // But it is, with FilamentDetector 1.0.0. Figure out why and fix. + // Then cut release of scijava-common, and FilamentDetector. fields.addAll(cachedFields); } From 77ef6b3c2f29a379463ca78caebd191da88de85f Mon Sep 17 00:00:00 2001 From: ktian8 <69399418+ktian8@users.noreply.github.com> Date: Tue, 27 Jul 2021 03:04:48 -0500 Subject: [PATCH 181/383] Add a check to decide whether use writer() or reader() --- src/main/java/org/scijava/io/handle/FileHandle.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/scijava/io/handle/FileHandle.java b/src/main/java/org/scijava/io/handle/FileHandle.java index 39b6e0448..93cdd4610 100644 --- a/src/main/java/org/scijava/io/handle/FileHandle.java +++ b/src/main/java/org/scijava/io/handle/FileHandle.java @@ -136,7 +136,12 @@ public int read(final byte[] b, final int off, final int len) @Override public void seek(final long pos) throws IOException { - reader().seek(pos); + if (isWritable()) { + writer().seek(pos); + } + else { + reader().seek(pos); + } } // -- DataInput methods -- From e406d63ac88968bcc41dbfbafabbc9c1c1f00dd9 Mon Sep 17 00:00:00 2001 From: Jan Eglinger Date: Fri, 30 Oct 2020 17:20:46 +0100 Subject: [PATCH 182/383] WidgetStyle: add javadoc and new method While getStyleModifiers() is useful for things like "extensions:png/gif/bmp", this commit adds a new getStyleModifier() method that simply returns the suffix after the colon, for cases like "format:#0.001". See also https://github.com/scijava/scijava-ui-swing/pull/52. --- .../java/org/scijava/widget/WidgetStyle.java | 58 ++++++++++++++++++- 1 file changed, 55 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/scijava/widget/WidgetStyle.java b/src/main/java/org/scijava/widget/WidgetStyle.java index 7b71a80fc..6e7b04b87 100644 --- a/src/main/java/org/scijava/widget/WidgetStyle.java +++ b/src/main/java/org/scijava/widget/WidgetStyle.java @@ -35,6 +35,16 @@ private WidgetStyle() { // prevent instantiation of utility class } + /** + * Check whether a given widget style contains the target style. + * + * @param widgetStyle + * The style declaration to test, usually a comma-separated + * {@code String}; trailing spaces are ignored. + * @param target + * The style being checked, case-insensitive. + * @return {@code true} if the target style matches. + */ public static boolean isStyle(String widgetStyle, String target) { if (widgetStyle == null || target == null) return widgetStyle == target; @@ -44,20 +54,62 @@ public static boolean isStyle(String widgetStyle, String target) { return false; } + /** + * Check whether a given {@link ModuleItem} has the target style. + * + * @param item + * The module item to test. + * @param target + * The style being checked, case-insensitive. + * @return {@code true} if the module item has the target style. + */ public static boolean isStyle(ModuleItem item, String target) { return isStyle(item.getWidgetStyle(), target); } - public static String[] getStyleModifiers(String widgetStyle, String target) { + /** + * Get the modifying value for a given style attribute in a style declaration. + * + *

    + * For example, for {@code style="format:#0.00"}, this will return + * {@code "#0.00"}. + *

    + * + * @param widgetStyle + * The style declaration string, e.g. "format:#0.00". + * @param target + * The target style attribute, e.g. "format". + * @return The modifier for the given target, e.g. "#0.00". + */ + public static String getStyleModifier(String widgetStyle, String target) { if (widgetStyle == null || target == null) return null; String[] styles = widgetStyle.split(","); for (String s : styles) { if (s.trim().toLowerCase().startsWith(target.toLowerCase())) { - String suffix = s.split(":")[1]; - return suffix.split("/"); + return s.split(":")[1]; } } return null; } + + /** + * Get an array of all modifying values for a given style attribute. + * + *

    + * For example, for {@code style="extensions:png/gif/bmp"}, this will return {@code ["png", "gif", "bmp"]}. + *

    + * + * @param widgetStyle + * The style declaration string, e.g. "extensions:png/gif/bmp". + * @param target + * The target style attribute, e.g. "extensions". + * @return An array of modifiers for the given target, e.g. ["png", "gif", "bmp"]. + */ + public static String[] getStyleModifiers(String widgetStyle, String target) { + String suffix = getStyleModifier(widgetStyle, target); + if (suffix == null) return null; + return suffix.split("/"); + } + } From fdfc89ca57ac58756842d2d11afc94764f358ff4 Mon Sep 17 00:00:00 2001 From: hinerm Date: Tue, 7 Sep 2021 09:58:03 -0500 Subject: [PATCH 183/383] Update minor version API added in e406d63ac88968bcc41dbfbafabbc9c1c1f00dd9 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 52035522b..264a48d6f 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.86.1-SNAPSHOT + 2.87.0-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From db0a56d2d2579520eb5e4df70ac5ac9b124e8087 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Thu, 9 Sep 2021 10:02:25 -0500 Subject: [PATCH 184/383] Happy New Year 2021 --- LICENSE.txt | 2 +- src/it/apt-test/pom.xml | 2 +- src/it/apt-test/setup.bsh | 2 +- .../org/scijava/annotation/its/Annotated.java | 2 +- .../annotation/its/CustomAnnotation.java | 2 +- src/it/apt-test/verify.bsh | 2 +- src/it/settings.xml | 2 +- .../org/scijava/AbstractBasicDetails.java | 2 +- .../java/org/scijava/AbstractContextual.java | 2 +- .../java/org/scijava/AbstractGateway.java | 2 +- .../java/org/scijava/AbstractUIDetails.java | 2 +- src/main/java/org/scijava/BasicDetails.java | 2 +- src/main/java/org/scijava/Cancelable.java | 2 +- src/main/java/org/scijava/Context.java | 2 +- src/main/java/org/scijava/Contextual.java | 2 +- src/main/java/org/scijava/Disposable.java | 2 +- src/main/java/org/scijava/Gateway.java | 2 +- src/main/java/org/scijava/Identifiable.java | 2 +- src/main/java/org/scijava/Initializable.java | 2 +- src/main/java/org/scijava/Instantiable.java | 2 +- .../org/scijava/InstantiableException.java | 2 +- src/main/java/org/scijava/ItemIO.java | 2 +- src/main/java/org/scijava/ItemVisibility.java | 2 +- src/main/java/org/scijava/Locatable.java | 2 +- src/main/java/org/scijava/MenuEntry.java | 2 +- src/main/java/org/scijava/MenuPath.java | 2 +- src/main/java/org/scijava/Named.java | 2 +- .../org/scijava/NoSuchServiceException.java | 2 +- .../org/scijava/NullContextException.java | 2 +- src/main/java/org/scijava/Optional.java | 2 +- src/main/java/org/scijava/Prioritized.java | 2 +- src/main/java/org/scijava/Priority.java | 2 +- src/main/java/org/scijava/SciJava.java | 2 +- src/main/java/org/scijava/Typed.java | 2 +- src/main/java/org/scijava/UIDetails.java | 2 +- src/main/java/org/scijava/Validated.java | 2 +- .../java/org/scijava/ValidityProblem.java | 2 +- src/main/java/org/scijava/Versioned.java | 2 +- .../annotations/AbstractIndexWriter.java | 2 +- .../annotations/AnnotationCombiner.java | 2 +- .../annotations/AnnotationProcessor.java | 2 +- .../scijava/annotations/ByteCodeAnalyzer.java | 2 +- .../scijava/annotations/DirectoryIndexer.java | 2 +- .../scijava/annotations/EclipseHelper.java | 2 +- .../java/org/scijava/annotations/Index.java | 2 +- .../org/scijava/annotations/IndexItem.java | 2 +- .../org/scijava/annotations/IndexReader.java | 2 +- .../org/scijava/annotations/Indexable.java | 2 +- .../annotations/legacy/LegacyReader.java | 2 +- .../java/org/scijava/app/AbstractApp.java | 2 +- src/main/java/org/scijava/app/App.java | 2 +- src/main/java/org/scijava/app/AppService.java | 2 +- .../org/scijava/app/DefaultAppService.java | 2 +- .../org/scijava/app/DefaultStatusService.java | 2 +- src/main/java/org/scijava/app/SciJavaApp.java | 2 +- .../java/org/scijava/app/StatusService.java | 2 +- .../org/scijava/app/event/StatusEvent.java | 2 +- .../java/org/scijava/cache/CacheService.java | 2 +- .../scijava/cache/DefaultCacheService.java | 2 +- .../java/org/scijava/command/Command.java | 2 +- .../java/org/scijava/command/CommandInfo.java | 2 +- .../org/scijava/command/CommandModule.java | 2 +- .../scijava/command/CommandModuleItem.java | 2 +- .../org/scijava/command/CommandService.java | 2 +- .../org/scijava/command/ContextCommand.java | 2 +- .../command/DefaultCommandService.java | 2 +- .../org/scijava/command/DynamicCommand.java | 2 +- .../scijava/command/DynamicCommandInfo.java | 2 +- src/main/java/org/scijava/command/Inputs.java | 2 +- .../java/org/scijava/command/Interactive.java | 2 +- .../scijava/command/InteractiveCommand.java | 2 +- .../org/scijava/command/ModuleCommand.java | 2 +- .../java/org/scijava/command/Previewable.java | 2 +- .../scijava/command/UnimplementedCommand.java | 2 +- .../scijava/command/console/RunArgument.java | 2 +- .../command/run/CommandCodeRunner.java | 2 +- .../console/AbstractConsoleArgument.java | 2 +- .../org/scijava/console/ConsoleArgument.java | 2 +- .../org/scijava/console/ConsoleService.java | 2 +- .../org/scijava/console/ConsoleUtils.java | 2 +- .../console/DefaultConsoleService.java | 2 +- .../scijava/console/MultiOutputStream.java | 2 +- .../org/scijava/console/MultiPrintStream.java | 2 +- .../java/org/scijava/console/OutputEvent.java | 2 +- .../org/scijava/console/OutputListener.java | 2 +- .../console/SystemPropertyArgument.java | 2 +- .../convert/AbstractConvertService.java | 2 +- .../scijava/convert/AbstractConverter.java | 2 +- .../convert/AbstractDelegateConverter.java | 2 +- .../org/scijava/convert/ArrayConverters.java | 2 +- .../org/scijava/convert/CastingConverter.java | 2 +- .../scijava/convert/ConversionRequest.java | 2 +- .../org/scijava/convert/ConvertService.java | 2 +- .../java/org/scijava/convert/Converter.java | 2 +- .../convert/DefaultConvertService.java | 2 +- .../org/scijava/convert/DefaultConverter.java | 2 +- .../scijava/convert/FileListConverters.java | 2 +- .../org/scijava/convert/NullConverter.java | 2 +- .../org/scijava/convert/NumberConverters.java | 2 +- .../convert/NumberToBigDecimalConverter.java | 2 +- .../convert/NumberToBigIntegerConverter.java | 2 +- .../convert/NumberToDoubleConverter.java | 2 +- .../convert/NumberToFloatConverter.java | 2 +- .../convert/NumberToIntegerConverter.java | 2 +- .../convert/NumberToLongConverter.java | 2 +- .../convert/NumberToNumberConverter.java | 2 +- .../convert/NumberToShortConverter.java | 2 +- .../convert/PrimitiveArrayUnwrapper.java | 2 +- .../convert/PrimitiveArrayWrapper.java | 2 +- .../org/scijava/display/AbstractDisplay.java | 2 +- .../display/ActiveDisplayPreprocessor.java | 2 +- .../org/scijava/display/DefaultDisplay.java | 2 +- .../display/DefaultDisplayService.java | 2 +- .../scijava/display/DefaultTextDisplay.java | 2 +- .../java/org/scijava/display/Display.java | 2 +- .../scijava/display/DisplayPostprocessor.java | 2 +- .../org/scijava/display/DisplayService.java | 2 +- .../java/org/scijava/display/Displayable.java | 2 +- .../java/org/scijava/display/TextDisplay.java | 2 +- .../display/event/DisplayActivatedEvent.java | 2 +- .../display/event/DisplayCreatedEvent.java | 2 +- .../display/event/DisplayDeletedEvent.java | 2 +- .../scijava/display/event/DisplayEvent.java | 2 +- .../display/event/DisplayUpdatedEvent.java | 2 +- .../display/event/input/InputEvent.java | 2 +- .../scijava/display/event/input/KyEvent.java | 2 +- .../display/event/input/KyPressedEvent.java | 2 +- .../display/event/input/KyReleasedEvent.java | 2 +- .../display/event/input/KyTypedEvent.java | 2 +- .../display/event/input/MsButtonEvent.java | 2 +- .../display/event/input/MsClickedEvent.java | 2 +- .../display/event/input/MsDraggedEvent.java | 2 +- .../display/event/input/MsEnteredEvent.java | 2 +- .../scijava/display/event/input/MsEvent.java | 2 +- .../display/event/input/MsExitedEvent.java | 2 +- .../display/event/input/MsMovedEvent.java | 2 +- .../display/event/input/MsPressedEvent.java | 2 +- .../display/event/input/MsReleasedEvent.java | 2 +- .../display/event/input/MsWheelEvent.java | 2 +- .../event/window/WinActivatedEvent.java | 2 +- .../display/event/window/WinClosedEvent.java | 2 +- .../display/event/window/WinClosingEvent.java | 2 +- .../event/window/WinDeactivatedEvent.java | 2 +- .../event/window/WinDeiconifiedEvent.java | 2 +- .../display/event/window/WinEvent.java | 2 +- .../event/window/WinIconifiedEvent.java | 2 +- .../display/event/window/WinOpenedEvent.java | 2 +- .../download/DefaultDownloadService.java | 2 +- .../scijava/download/DiskLocationCache.java | 2 +- .../java/org/scijava/download/Download.java | 2 +- .../org/scijava/download/DownloadService.java | 2 +- .../org/scijava/download/LocationCache.java | 2 +- .../scijava/download/MultiWriteHandle.java | 2 +- .../scijava/event/ContextDisposingEvent.java | 2 +- .../org/scijava/event/DefaultEventBus.java | 2 +- .../scijava/event/DefaultEventHistory.java | 2 +- .../scijava/event/DefaultEventService.java | 2 +- .../java/org/scijava/event/EventDetails.java | 2 +- .../java/org/scijava/event/EventHandler.java | 2 +- .../java/org/scijava/event/EventHistory.java | 2 +- .../scijava/event/EventHistoryListener.java | 2 +- .../java/org/scijava/event/EventService.java | 2 +- .../org/scijava/event/EventSubscriber.java | 2 +- .../java/org/scijava/event/SciJavaEvent.java | 2 +- .../java/org/scijava/input/Accelerator.java | 2 +- .../scijava/input/DefaultInputService.java | 2 +- .../org/scijava/input/InputModifiers.java | 2 +- .../java/org/scijava/input/InputService.java | 2 +- src/main/java/org/scijava/input/KeyCode.java | 2 +- .../java/org/scijava/input/MouseCursor.java | 2 +- .../java/org/scijava/io/AbstractIOPlugin.java | 2 +- .../scijava/io/AbstractTypedIOService.java | 2 +- .../org/scijava/io/ByteArrayByteBank.java | 2 +- src/main/java/org/scijava/io/ByteBank.java | 2 +- .../java/org/scijava/io/DefaultIOService.java | 2 +- .../scijava/io/DefaultRecentFileService.java | 2 +- src/main/java/org/scijava/io/IOPlugin.java | 2 +- src/main/java/org/scijava/io/IOService.java | 2 +- .../org/scijava/io/RecentFileService.java | 2 +- .../java/org/scijava/io/TypedIOService.java | 2 +- .../org/scijava/io/console/OpenArgument.java | 2 +- .../org/scijava/io/event/DataOpenedEvent.java | 2 +- .../org/scijava/io/event/DataSavedEvent.java | 2 +- .../java/org/scijava/io/event/IOEvent.java | 2 +- .../scijava/io/handle/AbstractDataHandle.java | 2 +- .../io/handle/AbstractHigherOrderHandle.java | 2 +- .../handle/AbstractSeekableStreamHandle.java | 2 +- .../io/handle/AbstractStreamHandle.java | 2 +- .../org/scijava/io/handle/BytesHandle.java | 2 +- .../org/scijava/io/handle/DataHandle.java | 2 +- .../io/handle/DataHandleInputStream.java | 2 +- .../io/handle/DataHandleOutputStream.java | 2 +- .../scijava/io/handle/DataHandleService.java | 2 +- .../org/scijava/io/handle/DataHandles.java | 2 +- .../io/handle/DefaultDataHandleService.java | 2 +- .../org/scijava/io/handle/DummyHandle.java | 2 +- .../org/scijava/io/handle/FileHandle.java | 2 +- .../io/handle/ReadBufferDataHandle.java | 2 +- .../io/handle/ResettableStreamHandle.java | 2 +- .../io/handle/SeekableStreamHandle.java | 2 +- .../org/scijava/io/handle/StreamHandle.java | 2 +- .../io/handle/WriteBufferDataHandle.java | 2 +- .../scijava/io/location/AbstractLocation.java | 2 +- .../io/location/AbstractLocationResolver.java | 2 +- .../io/location/AbstractRemoteLocation.java | 2 +- .../io/location/BrowsableLocation.java | 2 +- .../scijava/io/location/BytesLocation.java | 2 +- .../io/location/DefaultLocationService.java | 2 +- .../scijava/io/location/DummyLocation.java | 2 +- .../org/scijava/io/location/FileLocation.java | 2 +- .../io/location/FileLocationResolver.java | 2 +- .../org/scijava/io/location/Location.java | 2 +- .../scijava/io/location/LocationResolver.java | 2 +- .../scijava/io/location/LocationService.java | 2 +- .../scijava/io/location/RemoteLocation.java | 2 +- .../org/scijava/io/location/URILocation.java | 2 +- .../org/scijava/io/location/URLLocation.java | 2 +- .../scijava/io/nio/ByteBufferByteBank.java | 2 +- .../org/scijava/io/nio/DefaultNIOService.java | 2 +- .../java/org/scijava/io/nio/NIOService.java | 2 +- .../org/scijava/log/AbstractLogService.java | 2 +- .../org/scijava/log/CallingClassUtils.java | 2 +- .../java/org/scijava/log/DefaultLogger.java | 2 +- .../log/DefaultUncaughtExceptionHandler.java | 2 +- .../org/scijava/log/IgnoreAsCallingClass.java | 2 +- src/main/java/org/scijava/log/LogLevel.java | 2 +- .../java/org/scijava/log/LogListener.java | 2 +- src/main/java/org/scijava/log/LogMessage.java | 2 +- src/main/java/org/scijava/log/LogService.java | 2 +- src/main/java/org/scijava/log/LogSource.java | 2 +- src/main/java/org/scijava/log/Logged.java | 2 +- src/main/java/org/scijava/log/Logger.java | 2 +- .../org/scijava/log/StderrLogService.java | 2 +- .../org/scijava/main/DefaultMainService.java | 2 +- .../java/org/scijava/main/MainService.java | 2 +- .../scijava/main/console/MainArgument.java | 2 +- .../org/scijava/main/run/MainCodeRunner.java | 2 +- .../org/scijava/menu/AbstractMenuCreator.java | 2 +- .../org/scijava/menu/DefaultMenuService.java | 2 +- .../java/org/scijava/menu/MenuConstants.java | 2 +- .../java/org/scijava/menu/MenuCreator.java | 2 +- .../java/org/scijava/menu/MenuService.java | 2 +- .../java/org/scijava/menu/ShadowMenu.java | 2 +- .../org/scijava/menu/ShadowMenuIterator.java | 2 +- .../org/scijava/menu/event/MenuEvent.java | 2 +- .../scijava/menu/event/MenusAddedEvent.java | 2 +- .../scijava/menu/event/MenusRemovedEvent.java | 2 +- .../scijava/menu/event/MenusUpdatedEvent.java | 2 +- .../org/scijava/module/AbstractModule.java | 2 +- .../scijava/module/AbstractModuleInfo.java | 2 +- .../scijava/module/AbstractModuleItem.java | 2 +- .../scijava/module/DefaultModuleService.java | 2 +- .../scijava/module/DefaultMutableModule.java | 2 +- .../module/DefaultMutableModuleInfo.java | 2 +- .../module/DefaultMutableModuleItem.java | 2 +- .../scijava/module/MethodCallException.java | 2 +- .../java/org/scijava/module/MethodRef.java | 2 +- src/main/java/org/scijava/module/Module.java | 2 +- .../module/ModuleCanceledException.java | 2 +- .../org/scijava/module/ModuleException.java | 2 +- .../java/org/scijava/module/ModuleIndex.java | 2 +- .../java/org/scijava/module/ModuleInfo.java | 2 +- .../java/org/scijava/module/ModuleItem.java | 2 +- .../java/org/scijava/module/ModuleRunner.java | 2 +- .../org/scijava/module/ModuleService.java | 2 +- .../org/scijava/module/MutableModule.java | 2 +- .../org/scijava/module/MutableModuleInfo.java | 2 +- .../org/scijava/module/MutableModuleItem.java | 2 +- .../module/event/ModuleCanceledEvent.java | 2 +- .../org/scijava/module/event/ModuleEvent.java | 2 +- .../module/event/ModuleExecutedEvent.java | 2 +- .../module/event/ModuleExecutingEvent.java | 2 +- .../module/event/ModuleExecutionEvent.java | 2 +- .../module/event/ModuleFinishedEvent.java | 2 +- .../module/event/ModulePostprocessEvent.java | 2 +- .../module/event/ModulePreprocessEvent.java | 2 +- .../module/event/ModuleProcessEvent.java | 2 +- .../module/event/ModuleStartedEvent.java | 2 +- .../module/event/ModulesAddedEvent.java | 2 +- .../module/event/ModulesListEvent.java | 2 +- .../module/event/ModulesRemovedEvent.java | 2 +- .../module/event/ModulesUpdatedEvent.java | 2 +- .../process/AbstractPostprocessorPlugin.java | 2 +- .../process/AbstractPreprocessorPlugin.java | 2 +- .../AbstractSingleInputPreprocessor.java | 2 +- .../process/CheckInputsPreprocessor.java | 2 +- .../module/process/DebugPostprocessor.java | 2 +- .../module/process/DebugPreprocessor.java | 2 +- .../process/DefaultValuePreprocessor.java | 2 +- .../module/process/GatewayPreprocessor.java | 2 +- .../module/process/InitPreprocessor.java | 2 +- .../process/LoadInputsPreprocessor.java | 2 +- .../module/process/LoggerPreprocessor.java | 2 +- .../module/process/ModulePostprocessor.java | 2 +- .../module/process/ModulePreprocessor.java | 2 +- .../module/process/ModuleProcessor.java | 2 +- .../module/process/PostprocessorPlugin.java | 2 +- .../module/process/PreprocessorPlugin.java | 2 +- .../process/SaveInputsPreprocessor.java | 2 +- .../module/process/ServicePreprocessor.java | 2 +- .../module/process/ValidityPreprocessor.java | 2 +- .../scijava/module/run/ModuleCodeRunner.java | 2 +- .../scijava/object/DefaultObjectService.java | 2 +- .../java/org/scijava/object/LazyObjects.java | 2 +- .../org/scijava/object/NamedObjectIndex.java | 2 +- .../java/org/scijava/object/ObjectIndex.java | 2 +- .../org/scijava/object/ObjectService.java | 2 +- .../org/scijava/object/SortedObjectIndex.java | 2 +- .../org/scijava/object/event/ListEvent.java | 2 +- .../object/event/ObjectCreatedEvent.java | 2 +- .../object/event/ObjectDeletedEvent.java | 2 +- .../org/scijava/object/event/ObjectEvent.java | 2 +- .../object/event/ObjectModifiedEvent.java | 2 +- .../object/event/ObjectsAddedEvent.java | 2 +- .../object/event/ObjectsListEvent.java | 2 +- .../object/event/ObjectsRemovedEvent.java | 2 +- .../options/DefaultOptionsService.java | 2 +- .../org/scijava/options/OptionsPlugin.java | 2 +- .../org/scijava/options/OptionsService.java | 2 +- .../scijava/options/event/OptionsEvent.java | 2 +- .../scijava/parse/DefaultParseService.java | 2 +- src/main/java/org/scijava/parse/Item.java | 2 +- src/main/java/org/scijava/parse/Items.java | 2 +- .../java/org/scijava/parse/ParseService.java | 2 +- .../scijava/platform/AbstractPlatform.java | 2 +- .../org/scijava/platform/AppEventService.java | 2 +- .../platform/DefaultAppEventService.java | 2 +- .../org/scijava/platform/DefaultPlatform.java | 2 +- .../platform/DefaultPlatformService.java | 2 +- .../java/org/scijava/platform/Platform.java | 2 +- .../org/scijava/platform/PlatformService.java | 2 +- .../scijava/platform/event/AppAboutEvent.java | 2 +- .../scijava/platform/event/AppFocusEvent.java | 2 +- .../platform/event/AppMenusCreatedEvent.java | 2 +- .../platform/event/AppOpenFilesEvent.java | 2 +- .../platform/event/AppPreferencesEvent.java | 2 +- .../scijava/platform/event/AppPrintEvent.java | 2 +- .../scijava/platform/event/AppQuitEvent.java | 2 +- .../platform/event/AppReOpenEvent.java | 2 +- .../platform/event/AppScreenSleepEvent.java | 2 +- .../scijava/platform/event/AppSleepEvent.java | 2 +- .../platform/event/AppSystemSleepEvent.java | 2 +- .../platform/event/AppUserSessionEvent.java | 2 +- .../platform/event/AppVisibleEvent.java | 2 +- .../platform/event/ApplicationEvent.java | 2 +- .../scijava/plugin/AbstractHandlerPlugin.java | 2 +- .../plugin/AbstractHandlerService.java | 2 +- .../org/scijava/plugin/AbstractPTService.java | 2 +- .../scijava/plugin/AbstractRichPlugin.java | 2 +- .../plugin/AbstractSingletonService.java | 2 +- .../scijava/plugin/AbstractTypedPlugin.java | 2 +- .../scijava/plugin/AbstractTypedService.java | 2 +- .../scijava/plugin/AbstractWrapperPlugin.java | 2 +- .../plugin/AbstractWrapperService.java | 2 +- src/main/java/org/scijava/plugin/Attr.java | 2 +- .../scijava/plugin/DefaultPluginFinder.java | 2 +- .../scijava/plugin/DefaultPluginService.java | 2 +- .../org/scijava/plugin/HandlerPlugin.java | 2 +- .../org/scijava/plugin/HandlerService.java | 2 +- .../org/scijava/plugin/HasPluginInfo.java | 2 +- src/main/java/org/scijava/plugin/Menu.java | 2 +- .../java/org/scijava/plugin/PTService.java | 2 +- .../java/org/scijava/plugin/Parameter.java | 2 +- src/main/java/org/scijava/plugin/Plugin.java | 2 +- .../java/org/scijava/plugin/PluginFinder.java | 2 +- .../java/org/scijava/plugin/PluginIndex.java | 2 +- .../java/org/scijava/plugin/PluginInfo.java | 2 +- .../org/scijava/plugin/PluginService.java | 2 +- .../java/org/scijava/plugin/RichPlugin.java | 2 +- .../org/scijava/plugin/SciJavaPlugin.java | 2 +- .../org/scijava/plugin/SingletonPlugin.java | 2 +- .../org/scijava/plugin/SingletonService.java | 2 +- .../org/scijava/plugin/SortablePlugin.java | 2 +- .../java/org/scijava/plugin/TypedPlugin.java | 2 +- .../java/org/scijava/plugin/TypedService.java | 2 +- .../org/scijava/plugin/WrapperPlugin.java | 2 +- .../org/scijava/plugin/WrapperService.java | 2 +- .../plugin/event/PluginsAddedEvent.java | 2 +- .../plugin/event/PluginsListEvent.java | 2 +- .../plugin/event/PluginsRemovedEvent.java | 2 +- .../scijava/prefs/AbstractPrefService.java | 2 +- .../org/scijava/prefs/DefaultPrefService.java | 2 +- .../java/org/scijava/prefs/PrefService.java | 2 +- .../org/scijava/run/AbstractCodeRunner.java | 2 +- src/main/java/org/scijava/run/CodeRunner.java | 2 +- .../org/scijava/run/DefaultRunService.java | 2 +- src/main/java/org/scijava/run/RunService.java | 2 +- .../org/scijava/run/console/RunArgument.java | 2 +- .../scijava/script/AbstractAutoCompleter.java | 2 +- .../scijava/script/AbstractScriptContext.java | 2 +- .../scijava/script/AbstractScriptEngine.java | 2 +- .../scijava/script/AbstractScriptHeader.java | 2 +- .../script/AbstractScriptLanguage.java | 2 +- .../scijava/script/AdaptedScriptEngine.java | 2 +- .../scijava/script/AdaptedScriptLanguage.java | 2 +- .../org/scijava/script/AutoCompleter.java | 2 +- .../scijava/script/AutoCompletionResult.java | 2 +- .../org/scijava/script/CodeGenerator.java | 2 +- .../org/scijava/script/CodeGeneratorJava.java | 2 +- .../scijava/script/DefaultAutoCompleter.java | 2 +- .../script/DefaultScriptHeaderService.java | 2 +- .../script/DefaultScriptInterpreter.java | 2 +- .../scijava/script/DefaultScriptService.java | 2 +- .../org/scijava/script/InvocationObject.java | 2 +- .../org/scijava/script/ParameterObject.java | 2 +- .../java/org/scijava/script/ScriptFinder.java | 2 +- .../java/org/scijava/script/ScriptHeader.java | 2 +- .../scijava/script/ScriptHeaderService.java | 2 +- .../java/org/scijava/script/ScriptInfo.java | 2 +- .../org/scijava/script/ScriptInterpreter.java | 2 +- .../org/scijava/script/ScriptLanguage.java | 2 +- .../scijava/script/ScriptLanguageIndex.java | 2 +- .../java/org/scijava/script/ScriptModule.java | 2 +- .../java/org/scijava/script/ScriptREPL.java | 2 +- .../org/scijava/script/ScriptService.java | 2 +- .../script/console/RunScriptArgument.java | 2 +- .../org/scijava/script/io/ScriptIOPlugin.java | 2 +- .../DefaultScriptProcessorService.java | 2 +- .../process/DirectiveScriptProcessor.java | 2 +- .../process/ParameterScriptProcessor.java | 2 +- .../script/process/ScriptCallback.java | 2 +- .../ScriptDirectiveScriptProcessor.java | 2 +- .../script/process/ScriptProcessor.java | 2 +- .../process/ScriptProcessorService.java | 2 +- .../process/ShebangScriptProcessor.java | 2 +- .../scijava/script/run/ScriptCodeRunner.java | 2 +- .../org/scijava/service/AbstractService.java | 2 +- .../org/scijava/service/SciJavaService.java | 2 +- .../java/org/scijava/service/Service.java | 2 +- .../org/scijava/service/ServiceHelper.java | 2 +- .../org/scijava/service/ServiceIndex.java | 2 +- .../service/event/ServicesLoadedEvent.java | 2 +- .../startup/DefaultStartupService.java | 2 +- .../org/scijava/startup/StartupService.java | 2 +- .../java/org/scijava/task/DefaultTask.java | 2 +- .../org/scijava/task/DefaultTaskService.java | 2 +- src/main/java/org/scijava/task/Task.java | 2 +- .../java/org/scijava/task/TaskService.java | 2 +- .../org/scijava/task/event/TaskEvent.java | 2 +- src/main/java/org/scijava/test/TestUtils.java | 2 +- .../org/scijava/text/AbstractTextFormat.java | 2 +- .../org/scijava/text/DefaultTextService.java | 2 +- .../java/org/scijava/text/TextFormat.java | 2 +- .../java/org/scijava/text/TextService.java | 2 +- .../scijava/text/io/DefaultTextIOService.java | 2 +- .../org/scijava/text/io/TextIOPlugin.java | 2 +- .../org/scijava/text/io/TextIOService.java | 2 +- .../scijava/thread/DefaultThreadService.java | 2 +- .../org/scijava/thread/ThreadService.java | 2 +- .../java/org/scijava/tool/AbstractTool.java | 2 +- .../org/scijava/tool/CustomDrawnTool.java | 2 +- .../org/scijava/tool/DefaultToolService.java | 2 +- src/main/java/org/scijava/tool/DummyTool.java | 2 +- .../java/org/scijava/tool/IconDrawer.java | 2 +- .../java/org/scijava/tool/IconService.java | 2 +- src/main/java/org/scijava/tool/Tool.java | 2 +- .../java/org/scijava/tool/ToolService.java | 2 +- .../tool/event/ToolActivatedEvent.java | 2 +- .../tool/event/ToolDeactivatedEvent.java | 2 +- .../org/scijava/tool/event/ToolEvent.java | 2 +- src/main/java/org/scijava/ui/ARGBPlane.java | 2 +- .../ui/AbstractInputHarvesterPlugin.java | 2 +- .../org/scijava/ui/AbstractUIInputWidget.java | 2 +- .../org/scijava/ui/AbstractUserInterface.java | 2 +- .../java/org/scijava/ui/ApplicationFrame.java | 2 +- src/main/java/org/scijava/ui/Arrangeable.java | 2 +- .../java/org/scijava/ui/CloseConfirmable.java | 2 +- .../java/org/scijava/ui/DefaultUIService.java | 2 +- src/main/java/org/scijava/ui/Desktop.java | 2 +- .../java/org/scijava/ui/DialogPrompt.java | 2 +- .../org/scijava/ui/FileListPreprocessor.java | 2 +- .../java/org/scijava/ui/FilePreprocessor.java | 2 +- src/main/java/org/scijava/ui/StatusBar.java | 2 +- .../java/org/scijava/ui/SystemClipboard.java | 2 +- src/main/java/org/scijava/ui/ToolBar.java | 2 +- .../java/org/scijava/ui/UIPreprocessor.java | 2 +- src/main/java/org/scijava/ui/UIService.java | 2 +- .../java/org/scijava/ui/UserInterface.java | 2 +- .../ui/console/AbstractConsolePane.java | 2 +- .../org/scijava/ui/console/ConsolePane.java | 2 +- .../scijava/ui/console/HeadlessArgument.java | 2 +- .../scijava/ui/console/ShowUIArgument.java | 2 +- .../org/scijava/ui/console/UIArgument.java | 2 +- .../ui/dnd/AbstractDragAndDropData.java | 2 +- .../ui/dnd/AbstractDragAndDropHandler.java | 2 +- .../ui/dnd/DefaultDragAndDropData.java | 2 +- .../ui/dnd/DefaultDragAndDropService.java | 2 +- .../org/scijava/ui/dnd/DragAndDropData.java | 2 +- .../scijava/ui/dnd/DragAndDropHandler.java | 2 +- .../scijava/ui/dnd/DragAndDropService.java | 2 +- .../ui/dnd/FileDragAndDropHandler.java | 2 +- .../ui/dnd/ListDragAndDropHandler.java | 2 +- .../java/org/scijava/ui/dnd/MIMEType.java | 2 +- .../ui/dnd/ScriptFileDragAndDropHandler.java | 2 +- .../ui/dnd/event/DragAndDropEvent.java | 2 +- .../scijava/ui/dnd/event/DragEnterEvent.java | 2 +- .../scijava/ui/dnd/event/DragExitEvent.java | 2 +- .../scijava/ui/dnd/event/DragOverEvent.java | 2 +- .../org/scijava/ui/dnd/event/DropEvent.java | 2 +- .../java/org/scijava/ui/event/UIEvent.java | 2 +- .../org/scijava/ui/event/UIShownEvent.java | 2 +- .../ui/headless/HeadlessDisplayViewer.java | 2 +- .../org/scijava/ui/headless/HeadlessUI.java | 2 +- .../org/scijava/ui/headlessUI/HeadlessUI.java | 2 +- .../ui/viewer/AbstractDisplayViewer.java | 2 +- .../org/scijava/ui/viewer/DisplayPanel.java | 2 +- .../org/scijava/ui/viewer/DisplayViewer.java | 2 +- .../org/scijava/ui/viewer/DisplayWindow.java | 2 +- .../text/AbstractTextDisplayViewer.java | 2 +- .../ui/viewer/text/TextDisplayPanel.java | 2 +- .../ui/viewer/text/TextDisplayViewer.java | 2 +- .../scijava/util/AbstractPrimitiveArray.java | 2 +- src/main/java/org/scijava/util/AppUtils.java | 2 +- .../java/org/scijava/util/ArrayUtils.java | 2 +- src/main/java/org/scijava/util/BoolArray.java | 2 +- src/main/java/org/scijava/util/ByteArray.java | 2 +- src/main/java/org/scijava/util/Bytes.java | 2 +- src/main/java/org/scijava/util/CharArray.java | 2 +- .../java/org/scijava/util/CheckSezpoz.java | 2 +- .../java/org/scijava/util/ClassUtils.java | 2 +- src/main/java/org/scijava/util/ColorRGB.java | 2 +- src/main/java/org/scijava/util/ColorRGBA.java | 2 +- src/main/java/org/scijava/util/Colors.java | 2 +- .../org/scijava/util/CombineAnnotations.java | 2 +- src/main/java/org/scijava/util/Combiner.java | 2 +- .../org/scijava/util/ConversionUtils.java | 2 +- .../java/org/scijava/util/DebugUtils.java | 2 +- .../org/scijava/util/DefaultTreeNode.java | 2 +- .../java/org/scijava/util/DigestUtils.java | 2 +- .../java/org/scijava/util/DoubleArray.java | 2 +- src/main/java/org/scijava/util/FileUtils.java | 2 +- .../java/org/scijava/util/FloatArray.java | 2 +- .../java/org/scijava/util/GenericUtils.java | 2 +- src/main/java/org/scijava/util/IntArray.java | 2 +- src/main/java/org/scijava/util/IntCoords.java | 2 +- src/main/java/org/scijava/util/IntRect.java | 2 +- .../java/org/scijava/util/IteratorPlus.java | 2 +- .../org/scijava/util/LastRecentlyUsed.java | 2 +- .../org/scijava/util/LineOutputStream.java | 2 +- src/main/java/org/scijava/util/ListUtils.java | 2 +- src/main/java/org/scijava/util/LongArray.java | 2 +- src/main/java/org/scijava/util/Manifest.java | 2 +- .../org/scijava/util/MersenneTwisterFast.java | 2 +- .../org/scijava/util/MetaInfCombiner.java | 2 +- .../java/org/scijava/util/MirrorWebsite.java | 2 +- src/main/java/org/scijava/util/MiscUtils.java | 2 +- .../java/org/scijava/util/NumberUtils.java | 2 +- .../java/org/scijava/util/ObjectArray.java | 2 +- src/main/java/org/scijava/util/POM.java | 2 +- .../java/org/scijava/util/PlatformUtils.java | 2 +- src/main/java/org/scijava/util/Prefs.java | 2 +- .../java/org/scijava/util/PrimitiveArray.java | 2 +- .../java/org/scijava/util/ProcessUtils.java | 2 +- src/main/java/org/scijava/util/Query.java | 2 +- src/main/java/org/scijava/util/ReadInto.java | 2 +- .../java/org/scijava/util/RealCoords.java | 2 +- src/main/java/org/scijava/util/RealRect.java | 2 +- .../org/scijava/util/ReflectException.java | 2 +- .../org/scijava/util/ReflectedUniverse.java | 2 +- .../org/scijava/util/ServiceCombiner.java | 2 +- .../java/org/scijava/util/ShortArray.java | 2 +- src/main/java/org/scijava/util/Sizable.java | 2 +- .../org/scijava/util/SizableArrayList.java | 2 +- .../java/org/scijava/util/StringMaker.java | 2 +- .../java/org/scijava/util/StringUtils.java | 2 +- src/main/java/org/scijava/util/Timing.java | 2 +- src/main/java/org/scijava/util/TreeNode.java | 2 +- .../java/org/scijava/util/TunePlayer.java | 2 +- src/main/java/org/scijava/util/Types.java | 2 +- src/main/java/org/scijava/util/UnitUtils.java | 2 +- .../java/org/scijava/util/VersionUtils.java | 2 +- src/main/java/org/scijava/util/XML.java | 2 +- .../welcome/DefaultWelcomeService.java | 2 +- .../org/scijava/welcome/WelcomeService.java | 2 +- .../scijava/welcome/event/WelcomeEvent.java | 2 +- .../widget/AbstractInputHarvester.java | 2 +- .../scijava/widget/AbstractInputPanel.java | 2 +- .../scijava/widget/AbstractInputWidget.java | 2 +- src/main/java/org/scijava/widget/Button.java | 2 +- .../java/org/scijava/widget/ButtonWidget.java | 2 +- .../java/org/scijava/widget/ChoiceWidget.java | 2 +- .../java/org/scijava/widget/ColorWidget.java | 2 +- .../java/org/scijava/widget/DateWidget.java | 2 +- .../scijava/widget/DefaultWidgetModel.java | 2 +- .../scijava/widget/DefaultWidgetService.java | 2 +- .../org/scijava/widget/FileListWidget.java | 2 +- .../java/org/scijava/widget/FileWidget.java | 2 +- .../org/scijava/widget/InputHarvester.java | 2 +- .../java/org/scijava/widget/InputPanel.java | 2 +- .../java/org/scijava/widget/InputWidget.java | 2 +- .../org/scijava/widget/MessageWidget.java | 2 +- .../java/org/scijava/widget/NumberWidget.java | 2 +- .../java/org/scijava/widget/ObjectWidget.java | 2 +- .../java/org/scijava/widget/TextWidget.java | 2 +- .../java/org/scijava/widget/ToggleWidget.java | 2 +- .../java/org/scijava/widget/UIComponent.java | 2 +- .../java/org/scijava/widget/WidgetModel.java | 2 +- .../org/scijava/widget/WidgetService.java | 2 +- .../java/org/scijava/widget/WidgetStyle.java | 2 +- .../java/org/scijava/ContextCreationTest.java | 2 +- .../org/scijava/ContextInjectionTest.java | 2 +- src/test/java/org/scijava/SciJavaTest.java | 2 +- .../org/scijava/annotations/AnnotatedA.java | 2 +- .../org/scijava/annotations/AnnotatedB.java | 2 +- .../org/scijava/annotations/AnnotatedC.java | 2 +- .../org/scijava/annotations/AnnotatedD.java | 2 +- .../annotations/AnnotatedInnerClass.java | 2 +- .../java/org/scijava/annotations/Complex.java | 2 +- .../annotations/DirectoryIndexerTest.java | 2 +- .../annotations/EclipseHelperTest.java | 2 +- .../java/org/scijava/annotations/Fruit.java | 2 +- .../org/scijava/annotations/LegacyTest.java | 2 +- .../java/org/scijava/annotations/Simple.java | 2 +- .../org/scijava/app/StatusServiceTest.java | 2 +- .../command/CommandArrayConverterTest.java | 28 +++++++++++++++++++ .../org/scijava/command/CommandInfoTest.java | 2 +- .../scijava/command/CommandModuleTest.java | 2 +- .../scijava/command/CommandServiceTest.java | 2 +- .../java/org/scijava/command/InputsTest.java | 2 +- .../scijava/command/InvalidCommandTest.java | 2 +- .../command/run/CommandCodeRunnerTest.java | 2 +- .../scijava/console/ConsoleServiceTest.java | 2 +- .../console/SystemPropertyArgumentTest.java | 2 +- .../convert/AbstractNumberConverterTests.java | 2 +- .../BigIntegerToBigDecimalConverterTest.java | 2 +- .../ByteToBigDecimalConverterTest.java | 2 +- .../ByteToBigIntegerConverterTest.java | 2 +- .../convert/ByteToDoubleConverterTest.java | 2 +- .../convert/ByteToFloatConverterTest.java | 2 +- .../convert/ByteToIntegerConverterTest.java | 2 +- .../convert/ByteToLongConverterTest.java | 2 +- .../convert/ByteToShortConverterTest.java | 2 +- .../scijava/convert/ConvertServiceTest.java | 2 +- .../org/scijava/convert/ConverterTest.java | 2 +- .../convert/DelegateConverterTest.java | 2 +- .../DoubleToBigDecimalConverterTest.java | 2 +- .../convert/FileListConverterTest.java | 2 +- .../FloatToBigDecimalConverterTest.java | 2 +- .../convert/FloatToDoubleConverterTest.java | 2 +- .../IntegerToBigDecimalConverterTest.java | 2 +- .../IntegerToBigIntegerConverterTest.java | 2 +- .../convert/IntegerToDoubleConverterTest.java | 2 +- .../convert/IntegerToLongConverterTest.java | 2 +- .../LongToBigDecimalConverterTest.java | 2 +- .../LongToBigIntegerConverterTest.java | 2 +- .../ShortToBigDecimalConverterTest.java | 2 +- .../ShortToBigIntegerConverterTest.java | 2 +- .../convert/ShortToDoubleConverterTest.java | 2 +- .../convert/ShortToFloatConverterTest.java | 2 +- .../convert/ShortToIntegerConverterTest.java | 2 +- .../convert/ShortToLongConverterTest.java | 2 +- .../java/org/scijava/display/DisplayTest.java | 2 +- .../scijava/download/DownloadServiceTest.java | 2 +- .../org/scijava/event/EventServiceTest.java | 2 +- .../org/scijava/io/ByteArrayByteBankTest.java | 2 +- .../java/org/scijava/io/ByteBankTest.java | 2 +- .../java/org/scijava/io/IOServiceTest.java | 2 +- .../org/scijava/io/TypedIOServiceTest.java | 2 +- .../org/scijava/io/event/DataEventTest.java | 2 +- .../scijava/io/handle/BytesHandleTest.java | 2 +- .../io/handle/DataHandleEdgeCaseTests.java | 2 +- .../org/scijava/io/handle/DataHandleTest.java | 2 +- .../scijava/io/handle/DataHandlesTest.java | 2 +- .../org/scijava/io/handle/FileHandleTest.java | 2 +- .../handle/ReadBufferDataHandleMockTest.java | 2 +- .../io/handle/ReadBufferDataHandleTest.java | 2 +- .../io/handle/WriteBufferDataHandleTest.java | 2 +- .../io/location/BytesLocationTest.java | 2 +- .../io/location/FileLocationResolverTest.java | 2 +- .../scijava/io/location/FileLocationTest.java | 2 +- .../io/location/LocationServiceTest.java | 2 +- .../scijava/io/location/URILocationTest.java | 2 +- .../scijava/io/location/URLLocationTest.java | 2 +- .../io/nio/ByteBufferByteBankTest.java | 2 +- .../scijava/log/CallingClassUtilsTest.java | 2 +- .../org/scijava/log/DefaultLoggerTest.java | 2 +- .../java/org/scijava/log/LogMessageTest.java | 2 +- .../java/org/scijava/log/LogServiceTest.java | 2 +- .../java/org/scijava/log/LogSourceTest.java | 2 +- .../org/scijava/log/StderrLogServiceTest.java | 2 +- .../java/org/scijava/log/TestLogListener.java | 2 +- .../org/scijava/main/MainServiceTest.java | 2 +- .../scijava/main/run/MainCodeRunnerTest.java | 2 +- .../org/scijava/menu/MenuServiceTest.java | 2 +- .../java/org/scijava/menu/ShadowMenuTest.java | 2 +- .../org/scijava/module/ModuleServiceTest.java | 2 +- .../process/LoggerPreprocessorTest.java | 2 +- .../module/run/ModuleCodeRunnerTest.java | 2 +- .../scijava/object/NamedObjectIndexTest.java | 2 +- .../org/scijava/object/ObjectIndexTest.java | 2 +- .../org/scijava/object/ObjectServiceTest.java | 2 +- .../scijava/object/SortedObjectIndexTest.java | 2 +- .../java/org/scijava/options/OptionsTest.java | 2 +- .../org/scijava/parse/ParseServiceTest.java | 2 +- .../org/scijava/plugin/PluginFinderTest.java | 2 +- .../org/scijava/plugin/PluginIndexTest.java | 2 +- .../org/scijava/plugin/PluginInfoTest.java | 2 +- .../scijava/plugin/SingletonServiceTest.java | 2 +- .../org/scijava/prefs/PrefServiceTest.java | 2 +- .../java/org/scijava/run/RunServiceTest.java | 2 +- .../script/AbstractScriptLanguageTest.java | 2 +- .../org/scijava/script/ScriptEngineTest.java | 2 +- .../org/scijava/script/ScriptFinderTest.java | 2 +- .../org/scijava/script/ScriptInfoTest.java | 2 +- .../org/scijava/script/ScriptServiceTest.java | 2 +- .../process/ParameterScriptProcessorTest.java | 2 +- .../org/scijava/service/ServiceIndexTest.java | 2 +- .../org/scijava/task/TaskServiceTest.java | 2 +- .../org/scijava/test/AbstractSciJavaTest.java | 2 +- .../java/org/scijava/test/TestUtilsTest.java | 2 +- .../org/scijava/thread/ThreadServiceTest.java | 2 +- .../java/org/scijava/ui/UIServiceTest.java | 2 +- .../java/org/scijava/util/AppUtilsTest.java | 2 +- .../java/org/scijava/util/ArrayUtilsTest.java | 2 +- .../java/org/scijava/util/BoolArrayTest.java | 2 +- .../java/org/scijava/util/ByteArrayTest.java | 2 +- .../java/org/scijava/util/CharArrayTest.java | 2 +- .../java/org/scijava/util/ClassUtilsTest.java | 2 +- .../java/org/scijava/util/ColorRGBTest.java | 2 +- .../org/scijava/util/ConversionUtilsTest.java | 2 +- .../org/scijava/util/DigestUtilsTest.java | 2 +- .../org/scijava/util/DoubleArrayTest.java | 2 +- .../java/org/scijava/util/FileUtilsTest.java | 2 +- .../java/org/scijava/util/FloatArrayTest.java | 2 +- .../scijava/util/GenericArrayTypesTest.java | 28 +++++++++++++++++++ .../java/org/scijava/util/IntArrayTest.java | 2 +- .../scijava/util/LastRecentlyUsedTest.java | 2 +- .../java/org/scijava/util/LongArrayTest.java | 2 +- .../org/scijava/util/ObjectArrayTest.java | 2 +- src/test/java/org/scijava/util/POMTest.java | 2 +- .../org/scijava/util/PrimitiveArrayTest.java | 2 +- .../org/scijava/util/ProcessUtilsTest.java | 2 +- .../java/org/scijava/util/ShortArrayTest.java | 2 +- .../org/scijava/util/StringUtilsTest.java | 2 +- src/test/java/org/scijava/util/TypesTest.java | 2 +- .../java/org/scijava/util/UnitUtilsTest.java | 2 +- .../org/scijava/util/VersionUtilsTest.java | 2 +- .../org/scijava/widget/WidgetStyleTest.java | 2 +- 738 files changed, 792 insertions(+), 736 deletions(-) diff --git a/LICENSE.txt b/LICENSE.txt index 7d75d811c..43b1df69e 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,4 +1,4 @@ -Copyright (c) 2009 - 2020, SciJava developers. +Copyright (c) 2009 - 2021, SciJava developers. All rights reserved. Redistribution and use in source and binary forms, with or without modification, diff --git a/src/it/apt-test/pom.xml b/src/it/apt-test/pom.xml index f250325d7..c28b04b3b 100644 --- a/src/it/apt-test/pom.xml +++ b/src/it/apt-test/pom.xml @@ -3,7 +3,7 @@ #%L SciJava Common shared library for SciJava software. %% - Copyright (C) 2009 - 2020 SciJava developers. + Copyright (C) 2009 - 2021 SciJava developers. %% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: diff --git a/src/it/apt-test/setup.bsh b/src/it/apt-test/setup.bsh index a2a1dab92..8d0aff88c 100644 --- a/src/it/apt-test/setup.bsh +++ b/src/it/apt-test/setup.bsh @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/it/apt-test/src/main/java/org/scijava/annotation/its/Annotated.java b/src/it/apt-test/src/main/java/org/scijava/annotation/its/Annotated.java index d7322e748..2cdd86b5d 100644 --- a/src/it/apt-test/src/main/java/org/scijava/annotation/its/Annotated.java +++ b/src/it/apt-test/src/main/java/org/scijava/annotation/its/Annotated.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/it/apt-test/src/main/java/org/scijava/annotation/its/CustomAnnotation.java b/src/it/apt-test/src/main/java/org/scijava/annotation/its/CustomAnnotation.java index bf204259b..a2b88d6d8 100644 --- a/src/it/apt-test/src/main/java/org/scijava/annotation/its/CustomAnnotation.java +++ b/src/it/apt-test/src/main/java/org/scijava/annotation/its/CustomAnnotation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/it/apt-test/verify.bsh b/src/it/apt-test/verify.bsh index 66d036d7b..d0130489e 100644 --- a/src/it/apt-test/verify.bsh +++ b/src/it/apt-test/verify.bsh @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/it/settings.xml b/src/it/settings.xml index d5b5c19c7..a658c93af 100644 --- a/src/it/settings.xml +++ b/src/it/settings.xml @@ -3,7 +3,7 @@ #%L SciJava Common shared library for SciJava software. %% - Copyright (C) 2009 - 2020 SciJava developers. + Copyright (C) 2009 - 2021 SciJava developers. %% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/AbstractBasicDetails.java b/src/main/java/org/scijava/AbstractBasicDetails.java index e8f52a049..c1957ba7b 100644 --- a/src/main/java/org/scijava/AbstractBasicDetails.java +++ b/src/main/java/org/scijava/AbstractBasicDetails.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/AbstractContextual.java b/src/main/java/org/scijava/AbstractContextual.java index 647ea1d97..f1746123e 100644 --- a/src/main/java/org/scijava/AbstractContextual.java +++ b/src/main/java/org/scijava/AbstractContextual.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/AbstractGateway.java b/src/main/java/org/scijava/AbstractGateway.java index 5c3dbd446..5975db5b7 100644 --- a/src/main/java/org/scijava/AbstractGateway.java +++ b/src/main/java/org/scijava/AbstractGateway.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/AbstractUIDetails.java b/src/main/java/org/scijava/AbstractUIDetails.java index 3d86efba7..0113ae104 100644 --- a/src/main/java/org/scijava/AbstractUIDetails.java +++ b/src/main/java/org/scijava/AbstractUIDetails.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/BasicDetails.java b/src/main/java/org/scijava/BasicDetails.java index 454929e6b..3d2fd592b 100644 --- a/src/main/java/org/scijava/BasicDetails.java +++ b/src/main/java/org/scijava/BasicDetails.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Cancelable.java b/src/main/java/org/scijava/Cancelable.java index 968b66586..645e4d0f9 100644 --- a/src/main/java/org/scijava/Cancelable.java +++ b/src/main/java/org/scijava/Cancelable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Context.java b/src/main/java/org/scijava/Context.java index 2576b4c37..dee623861 100644 --- a/src/main/java/org/scijava/Context.java +++ b/src/main/java/org/scijava/Context.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Contextual.java b/src/main/java/org/scijava/Contextual.java index 416f03ff9..9a3f5ec98 100644 --- a/src/main/java/org/scijava/Contextual.java +++ b/src/main/java/org/scijava/Contextual.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Disposable.java b/src/main/java/org/scijava/Disposable.java index df22b8ec8..1713edd7b 100644 --- a/src/main/java/org/scijava/Disposable.java +++ b/src/main/java/org/scijava/Disposable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Gateway.java b/src/main/java/org/scijava/Gateway.java index 59fe12810..a8d00fa71 100644 --- a/src/main/java/org/scijava/Gateway.java +++ b/src/main/java/org/scijava/Gateway.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Identifiable.java b/src/main/java/org/scijava/Identifiable.java index 512d69b11..f7f4a607e 100644 --- a/src/main/java/org/scijava/Identifiable.java +++ b/src/main/java/org/scijava/Identifiable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Initializable.java b/src/main/java/org/scijava/Initializable.java index efa9854ab..025b1023a 100644 --- a/src/main/java/org/scijava/Initializable.java +++ b/src/main/java/org/scijava/Initializable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Instantiable.java b/src/main/java/org/scijava/Instantiable.java index 85480ad34..df9a4c02f 100644 --- a/src/main/java/org/scijava/Instantiable.java +++ b/src/main/java/org/scijava/Instantiable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/InstantiableException.java b/src/main/java/org/scijava/InstantiableException.java index c3904f7b4..38dffb74a 100644 --- a/src/main/java/org/scijava/InstantiableException.java +++ b/src/main/java/org/scijava/InstantiableException.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ItemIO.java b/src/main/java/org/scijava/ItemIO.java index eacc23958..8d85f3d92 100644 --- a/src/main/java/org/scijava/ItemIO.java +++ b/src/main/java/org/scijava/ItemIO.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ItemVisibility.java b/src/main/java/org/scijava/ItemVisibility.java index 749e91ae3..f9750c56b 100644 --- a/src/main/java/org/scijava/ItemVisibility.java +++ b/src/main/java/org/scijava/ItemVisibility.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Locatable.java b/src/main/java/org/scijava/Locatable.java index e855158ab..51cdaed24 100644 --- a/src/main/java/org/scijava/Locatable.java +++ b/src/main/java/org/scijava/Locatable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/MenuEntry.java b/src/main/java/org/scijava/MenuEntry.java index d8ca1961a..b0967e474 100644 --- a/src/main/java/org/scijava/MenuEntry.java +++ b/src/main/java/org/scijava/MenuEntry.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/MenuPath.java b/src/main/java/org/scijava/MenuPath.java index d18d5045f..762a2f230 100644 --- a/src/main/java/org/scijava/MenuPath.java +++ b/src/main/java/org/scijava/MenuPath.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Named.java b/src/main/java/org/scijava/Named.java index b30c410a1..7fdb52160 100644 --- a/src/main/java/org/scijava/Named.java +++ b/src/main/java/org/scijava/Named.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/NoSuchServiceException.java b/src/main/java/org/scijava/NoSuchServiceException.java index e19a58270..1ac3e1370 100644 --- a/src/main/java/org/scijava/NoSuchServiceException.java +++ b/src/main/java/org/scijava/NoSuchServiceException.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/NullContextException.java b/src/main/java/org/scijava/NullContextException.java index e3eb1c731..ce2ec0ebd 100644 --- a/src/main/java/org/scijava/NullContextException.java +++ b/src/main/java/org/scijava/NullContextException.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Optional.java b/src/main/java/org/scijava/Optional.java index 570991bb8..9661b38ac 100644 --- a/src/main/java/org/scijava/Optional.java +++ b/src/main/java/org/scijava/Optional.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Prioritized.java b/src/main/java/org/scijava/Prioritized.java index a3b9b7223..990bc4f9e 100644 --- a/src/main/java/org/scijava/Prioritized.java +++ b/src/main/java/org/scijava/Prioritized.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Priority.java b/src/main/java/org/scijava/Priority.java index 61776fff4..064a860c7 100644 --- a/src/main/java/org/scijava/Priority.java +++ b/src/main/java/org/scijava/Priority.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/SciJava.java b/src/main/java/org/scijava/SciJava.java index f41be8bbe..aed3bb358 100644 --- a/src/main/java/org/scijava/SciJava.java +++ b/src/main/java/org/scijava/SciJava.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Typed.java b/src/main/java/org/scijava/Typed.java index 26d2ef9e2..c38fa1d37 100644 --- a/src/main/java/org/scijava/Typed.java +++ b/src/main/java/org/scijava/Typed.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/UIDetails.java b/src/main/java/org/scijava/UIDetails.java index 49b508347..2c293a899 100644 --- a/src/main/java/org/scijava/UIDetails.java +++ b/src/main/java/org/scijava/UIDetails.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Validated.java b/src/main/java/org/scijava/Validated.java index cd2c8c04e..5bc4b934a 100644 --- a/src/main/java/org/scijava/Validated.java +++ b/src/main/java/org/scijava/Validated.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ValidityProblem.java b/src/main/java/org/scijava/ValidityProblem.java index 9c31dd435..dede56c21 100644 --- a/src/main/java/org/scijava/ValidityProblem.java +++ b/src/main/java/org/scijava/ValidityProblem.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Versioned.java b/src/main/java/org/scijava/Versioned.java index e14786fd2..aa4d19c7f 100644 --- a/src/main/java/org/scijava/Versioned.java +++ b/src/main/java/org/scijava/Versioned.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/AbstractIndexWriter.java b/src/main/java/org/scijava/annotations/AbstractIndexWriter.java index 5d3749e9d..21a2a90cf 100644 --- a/src/main/java/org/scijava/annotations/AbstractIndexWriter.java +++ b/src/main/java/org/scijava/annotations/AbstractIndexWriter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/AnnotationCombiner.java b/src/main/java/org/scijava/annotations/AnnotationCombiner.java index 3855ed454..9e3fbd0f7 100644 --- a/src/main/java/org/scijava/annotations/AnnotationCombiner.java +++ b/src/main/java/org/scijava/annotations/AnnotationCombiner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/AnnotationProcessor.java b/src/main/java/org/scijava/annotations/AnnotationProcessor.java index 5e8c1febc..72fa9e051 100644 --- a/src/main/java/org/scijava/annotations/AnnotationProcessor.java +++ b/src/main/java/org/scijava/annotations/AnnotationProcessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/ByteCodeAnalyzer.java b/src/main/java/org/scijava/annotations/ByteCodeAnalyzer.java index 88e4229be..94a4f62f9 100644 --- a/src/main/java/org/scijava/annotations/ByteCodeAnalyzer.java +++ b/src/main/java/org/scijava/annotations/ByteCodeAnalyzer.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/DirectoryIndexer.java b/src/main/java/org/scijava/annotations/DirectoryIndexer.java index 8b5650e48..098afabe0 100644 --- a/src/main/java/org/scijava/annotations/DirectoryIndexer.java +++ b/src/main/java/org/scijava/annotations/DirectoryIndexer.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/EclipseHelper.java b/src/main/java/org/scijava/annotations/EclipseHelper.java index 72c521ead..194cdbf50 100644 --- a/src/main/java/org/scijava/annotations/EclipseHelper.java +++ b/src/main/java/org/scijava/annotations/EclipseHelper.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/Index.java b/src/main/java/org/scijava/annotations/Index.java index 6507152be..0688fd264 100644 --- a/src/main/java/org/scijava/annotations/Index.java +++ b/src/main/java/org/scijava/annotations/Index.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/IndexItem.java b/src/main/java/org/scijava/annotations/IndexItem.java index 34956a4f6..52083be38 100644 --- a/src/main/java/org/scijava/annotations/IndexItem.java +++ b/src/main/java/org/scijava/annotations/IndexItem.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/IndexReader.java b/src/main/java/org/scijava/annotations/IndexReader.java index 32ac714e5..fce9a2535 100644 --- a/src/main/java/org/scijava/annotations/IndexReader.java +++ b/src/main/java/org/scijava/annotations/IndexReader.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/Indexable.java b/src/main/java/org/scijava/annotations/Indexable.java index 2c72f011c..8dc6fbe3e 100644 --- a/src/main/java/org/scijava/annotations/Indexable.java +++ b/src/main/java/org/scijava/annotations/Indexable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/legacy/LegacyReader.java b/src/main/java/org/scijava/annotations/legacy/LegacyReader.java index 44aa9dd49..31eccfb14 100644 --- a/src/main/java/org/scijava/annotations/legacy/LegacyReader.java +++ b/src/main/java/org/scijava/annotations/legacy/LegacyReader.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/app/AbstractApp.java b/src/main/java/org/scijava/app/AbstractApp.java index f4d5f9d8e..91d6ee387 100644 --- a/src/main/java/org/scijava/app/AbstractApp.java +++ b/src/main/java/org/scijava/app/AbstractApp.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/app/App.java b/src/main/java/org/scijava/app/App.java index c4d2515af..319424009 100644 --- a/src/main/java/org/scijava/app/App.java +++ b/src/main/java/org/scijava/app/App.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/app/AppService.java b/src/main/java/org/scijava/app/AppService.java index cdf4bbdf0..3327d8ac5 100644 --- a/src/main/java/org/scijava/app/AppService.java +++ b/src/main/java/org/scijava/app/AppService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/app/DefaultAppService.java b/src/main/java/org/scijava/app/DefaultAppService.java index 40f7816fa..aa94bb420 100644 --- a/src/main/java/org/scijava/app/DefaultAppService.java +++ b/src/main/java/org/scijava/app/DefaultAppService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/app/DefaultStatusService.java b/src/main/java/org/scijava/app/DefaultStatusService.java index 0fab08453..5ff4059d5 100644 --- a/src/main/java/org/scijava/app/DefaultStatusService.java +++ b/src/main/java/org/scijava/app/DefaultStatusService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/app/SciJavaApp.java b/src/main/java/org/scijava/app/SciJavaApp.java index 32bf3f5e2..2b40968af 100644 --- a/src/main/java/org/scijava/app/SciJavaApp.java +++ b/src/main/java/org/scijava/app/SciJavaApp.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/app/StatusService.java b/src/main/java/org/scijava/app/StatusService.java index 2748361e1..7fee4c9af 100644 --- a/src/main/java/org/scijava/app/StatusService.java +++ b/src/main/java/org/scijava/app/StatusService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/app/event/StatusEvent.java b/src/main/java/org/scijava/app/event/StatusEvent.java index e94ad4eb1..9a341198b 100644 --- a/src/main/java/org/scijava/app/event/StatusEvent.java +++ b/src/main/java/org/scijava/app/event/StatusEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/cache/CacheService.java b/src/main/java/org/scijava/cache/CacheService.java index 2cae0d038..669ccb3d9 100644 --- a/src/main/java/org/scijava/cache/CacheService.java +++ b/src/main/java/org/scijava/cache/CacheService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/cache/DefaultCacheService.java b/src/main/java/org/scijava/cache/DefaultCacheService.java index 0b4242720..142528f5e 100644 --- a/src/main/java/org/scijava/cache/DefaultCacheService.java +++ b/src/main/java/org/scijava/cache/DefaultCacheService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/Command.java b/src/main/java/org/scijava/command/Command.java index 66c9decca..efe93bef4 100644 --- a/src/main/java/org/scijava/command/Command.java +++ b/src/main/java/org/scijava/command/Command.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/CommandInfo.java b/src/main/java/org/scijava/command/CommandInfo.java index 806c6f2ae..8f1a5da5f 100644 --- a/src/main/java/org/scijava/command/CommandInfo.java +++ b/src/main/java/org/scijava/command/CommandInfo.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/CommandModule.java b/src/main/java/org/scijava/command/CommandModule.java index 3cff108b9..745bd8a6f 100644 --- a/src/main/java/org/scijava/command/CommandModule.java +++ b/src/main/java/org/scijava/command/CommandModule.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/CommandModuleItem.java b/src/main/java/org/scijava/command/CommandModuleItem.java index 7be4d3e9f..219e8d3e9 100644 --- a/src/main/java/org/scijava/command/CommandModuleItem.java +++ b/src/main/java/org/scijava/command/CommandModuleItem.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/CommandService.java b/src/main/java/org/scijava/command/CommandService.java index 9caa8a956..e526aa92c 100644 --- a/src/main/java/org/scijava/command/CommandService.java +++ b/src/main/java/org/scijava/command/CommandService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/ContextCommand.java b/src/main/java/org/scijava/command/ContextCommand.java index a804b41a5..0d7b52c1d 100644 --- a/src/main/java/org/scijava/command/ContextCommand.java +++ b/src/main/java/org/scijava/command/ContextCommand.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/DefaultCommandService.java b/src/main/java/org/scijava/command/DefaultCommandService.java index 86abd98c9..dd17f807a 100644 --- a/src/main/java/org/scijava/command/DefaultCommandService.java +++ b/src/main/java/org/scijava/command/DefaultCommandService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/DynamicCommand.java b/src/main/java/org/scijava/command/DynamicCommand.java index c9919ef33..6276cdec6 100644 --- a/src/main/java/org/scijava/command/DynamicCommand.java +++ b/src/main/java/org/scijava/command/DynamicCommand.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/DynamicCommandInfo.java b/src/main/java/org/scijava/command/DynamicCommandInfo.java index 172273b06..65054b9cc 100644 --- a/src/main/java/org/scijava/command/DynamicCommandInfo.java +++ b/src/main/java/org/scijava/command/DynamicCommandInfo.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/Inputs.java b/src/main/java/org/scijava/command/Inputs.java index a686bf4ff..cb314b844 100644 --- a/src/main/java/org/scijava/command/Inputs.java +++ b/src/main/java/org/scijava/command/Inputs.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/Interactive.java b/src/main/java/org/scijava/command/Interactive.java index 864d9ba5e..b79030cd4 100644 --- a/src/main/java/org/scijava/command/Interactive.java +++ b/src/main/java/org/scijava/command/Interactive.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/InteractiveCommand.java b/src/main/java/org/scijava/command/InteractiveCommand.java index ed52be5df..45cdbcc89 100644 --- a/src/main/java/org/scijava/command/InteractiveCommand.java +++ b/src/main/java/org/scijava/command/InteractiveCommand.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/ModuleCommand.java b/src/main/java/org/scijava/command/ModuleCommand.java index e51acee46..b0685a3de 100644 --- a/src/main/java/org/scijava/command/ModuleCommand.java +++ b/src/main/java/org/scijava/command/ModuleCommand.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/Previewable.java b/src/main/java/org/scijava/command/Previewable.java index 211ad5033..69a246b0b 100644 --- a/src/main/java/org/scijava/command/Previewable.java +++ b/src/main/java/org/scijava/command/Previewable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/UnimplementedCommand.java b/src/main/java/org/scijava/command/UnimplementedCommand.java index 1b9e0cb49..8d714abe8 100644 --- a/src/main/java/org/scijava/command/UnimplementedCommand.java +++ b/src/main/java/org/scijava/command/UnimplementedCommand.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/console/RunArgument.java b/src/main/java/org/scijava/command/console/RunArgument.java index 770ba3366..77a8ebcba 100644 --- a/src/main/java/org/scijava/command/console/RunArgument.java +++ b/src/main/java/org/scijava/command/console/RunArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/run/CommandCodeRunner.java b/src/main/java/org/scijava/command/run/CommandCodeRunner.java index 863c404ef..204129581 100644 --- a/src/main/java/org/scijava/command/run/CommandCodeRunner.java +++ b/src/main/java/org/scijava/command/run/CommandCodeRunner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/AbstractConsoleArgument.java b/src/main/java/org/scijava/console/AbstractConsoleArgument.java index 21cb3883c..0f9ca35c2 100644 --- a/src/main/java/org/scijava/console/AbstractConsoleArgument.java +++ b/src/main/java/org/scijava/console/AbstractConsoleArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/ConsoleArgument.java b/src/main/java/org/scijava/console/ConsoleArgument.java index 06834e22c..06ceb965a 100644 --- a/src/main/java/org/scijava/console/ConsoleArgument.java +++ b/src/main/java/org/scijava/console/ConsoleArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/ConsoleService.java b/src/main/java/org/scijava/console/ConsoleService.java index 1a9fdc3d9..377bbb37b 100644 --- a/src/main/java/org/scijava/console/ConsoleService.java +++ b/src/main/java/org/scijava/console/ConsoleService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/ConsoleUtils.java b/src/main/java/org/scijava/console/ConsoleUtils.java index eab050323..8e36b0d0c 100644 --- a/src/main/java/org/scijava/console/ConsoleUtils.java +++ b/src/main/java/org/scijava/console/ConsoleUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/DefaultConsoleService.java b/src/main/java/org/scijava/console/DefaultConsoleService.java index b30bdd2e7..7ae73c9d7 100644 --- a/src/main/java/org/scijava/console/DefaultConsoleService.java +++ b/src/main/java/org/scijava/console/DefaultConsoleService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/MultiOutputStream.java b/src/main/java/org/scijava/console/MultiOutputStream.java index 84c3e9a82..999db00e2 100644 --- a/src/main/java/org/scijava/console/MultiOutputStream.java +++ b/src/main/java/org/scijava/console/MultiOutputStream.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/MultiPrintStream.java b/src/main/java/org/scijava/console/MultiPrintStream.java index 80224eb76..093ccc004 100644 --- a/src/main/java/org/scijava/console/MultiPrintStream.java +++ b/src/main/java/org/scijava/console/MultiPrintStream.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/OutputEvent.java b/src/main/java/org/scijava/console/OutputEvent.java index 5255a41be..3b7b91213 100644 --- a/src/main/java/org/scijava/console/OutputEvent.java +++ b/src/main/java/org/scijava/console/OutputEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/OutputListener.java b/src/main/java/org/scijava/console/OutputListener.java index 895ba73a5..afdce7781 100644 --- a/src/main/java/org/scijava/console/OutputListener.java +++ b/src/main/java/org/scijava/console/OutputListener.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/SystemPropertyArgument.java b/src/main/java/org/scijava/console/SystemPropertyArgument.java index 725fbe44c..638941d24 100644 --- a/src/main/java/org/scijava/console/SystemPropertyArgument.java +++ b/src/main/java/org/scijava/console/SystemPropertyArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/AbstractConvertService.java b/src/main/java/org/scijava/convert/AbstractConvertService.java index 5bc2d5d3b..9b98b2925 100644 --- a/src/main/java/org/scijava/convert/AbstractConvertService.java +++ b/src/main/java/org/scijava/convert/AbstractConvertService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/AbstractConverter.java b/src/main/java/org/scijava/convert/AbstractConverter.java index 08699df4f..098d25fb1 100644 --- a/src/main/java/org/scijava/convert/AbstractConverter.java +++ b/src/main/java/org/scijava/convert/AbstractConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/AbstractDelegateConverter.java b/src/main/java/org/scijava/convert/AbstractDelegateConverter.java index 047c9070e..d4a503876 100644 --- a/src/main/java/org/scijava/convert/AbstractDelegateConverter.java +++ b/src/main/java/org/scijava/convert/AbstractDelegateConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/ArrayConverters.java b/src/main/java/org/scijava/convert/ArrayConverters.java index 0ed8136e8..4a3be7d96 100644 --- a/src/main/java/org/scijava/convert/ArrayConverters.java +++ b/src/main/java/org/scijava/convert/ArrayConverters.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/CastingConverter.java b/src/main/java/org/scijava/convert/CastingConverter.java index 71a5b3d87..edb6f7aed 100644 --- a/src/main/java/org/scijava/convert/CastingConverter.java +++ b/src/main/java/org/scijava/convert/CastingConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/ConversionRequest.java b/src/main/java/org/scijava/convert/ConversionRequest.java index 173733bc6..c9f9b77cb 100644 --- a/src/main/java/org/scijava/convert/ConversionRequest.java +++ b/src/main/java/org/scijava/convert/ConversionRequest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/ConvertService.java b/src/main/java/org/scijava/convert/ConvertService.java index 2ae80eb74..d94a67711 100644 --- a/src/main/java/org/scijava/convert/ConvertService.java +++ b/src/main/java/org/scijava/convert/ConvertService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/Converter.java b/src/main/java/org/scijava/convert/Converter.java index 687f1f80f..118a188e2 100644 --- a/src/main/java/org/scijava/convert/Converter.java +++ b/src/main/java/org/scijava/convert/Converter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/DefaultConvertService.java b/src/main/java/org/scijava/convert/DefaultConvertService.java index 023f3f2a3..dc8610947 100644 --- a/src/main/java/org/scijava/convert/DefaultConvertService.java +++ b/src/main/java/org/scijava/convert/DefaultConvertService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/DefaultConverter.java b/src/main/java/org/scijava/convert/DefaultConverter.java index b7a30e12d..68ebb8e89 100644 --- a/src/main/java/org/scijava/convert/DefaultConverter.java +++ b/src/main/java/org/scijava/convert/DefaultConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/FileListConverters.java b/src/main/java/org/scijava/convert/FileListConverters.java index 87ef0b625..5c1e1ff9a 100644 --- a/src/main/java/org/scijava/convert/FileListConverters.java +++ b/src/main/java/org/scijava/convert/FileListConverters.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NullConverter.java b/src/main/java/org/scijava/convert/NullConverter.java index fee7fd868..862c91507 100644 --- a/src/main/java/org/scijava/convert/NullConverter.java +++ b/src/main/java/org/scijava/convert/NullConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberConverters.java b/src/main/java/org/scijava/convert/NumberConverters.java index f5b290f7a..596ac4f0b 100644 --- a/src/main/java/org/scijava/convert/NumberConverters.java +++ b/src/main/java/org/scijava/convert/NumberConverters.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberToBigDecimalConverter.java b/src/main/java/org/scijava/convert/NumberToBigDecimalConverter.java index d478b3a52..f48ba06ea 100644 --- a/src/main/java/org/scijava/convert/NumberToBigDecimalConverter.java +++ b/src/main/java/org/scijava/convert/NumberToBigDecimalConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberToBigIntegerConverter.java b/src/main/java/org/scijava/convert/NumberToBigIntegerConverter.java index 8f9809beb..76a96d49f 100644 --- a/src/main/java/org/scijava/convert/NumberToBigIntegerConverter.java +++ b/src/main/java/org/scijava/convert/NumberToBigIntegerConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberToDoubleConverter.java b/src/main/java/org/scijava/convert/NumberToDoubleConverter.java index 4476c7c39..768c514ad 100644 --- a/src/main/java/org/scijava/convert/NumberToDoubleConverter.java +++ b/src/main/java/org/scijava/convert/NumberToDoubleConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberToFloatConverter.java b/src/main/java/org/scijava/convert/NumberToFloatConverter.java index 46e2ebdbc..716ab1db2 100644 --- a/src/main/java/org/scijava/convert/NumberToFloatConverter.java +++ b/src/main/java/org/scijava/convert/NumberToFloatConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberToIntegerConverter.java b/src/main/java/org/scijava/convert/NumberToIntegerConverter.java index 0bd5fd940..106836372 100644 --- a/src/main/java/org/scijava/convert/NumberToIntegerConverter.java +++ b/src/main/java/org/scijava/convert/NumberToIntegerConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberToLongConverter.java b/src/main/java/org/scijava/convert/NumberToLongConverter.java index 9cf6119cf..26688e057 100644 --- a/src/main/java/org/scijava/convert/NumberToLongConverter.java +++ b/src/main/java/org/scijava/convert/NumberToLongConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberToNumberConverter.java b/src/main/java/org/scijava/convert/NumberToNumberConverter.java index 185a05cc5..ea5a58340 100644 --- a/src/main/java/org/scijava/convert/NumberToNumberConverter.java +++ b/src/main/java/org/scijava/convert/NumberToNumberConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberToShortConverter.java b/src/main/java/org/scijava/convert/NumberToShortConverter.java index 28685a49e..0cc896d99 100644 --- a/src/main/java/org/scijava/convert/NumberToShortConverter.java +++ b/src/main/java/org/scijava/convert/NumberToShortConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/PrimitiveArrayUnwrapper.java b/src/main/java/org/scijava/convert/PrimitiveArrayUnwrapper.java index 98d2968bb..e56efd060 100644 --- a/src/main/java/org/scijava/convert/PrimitiveArrayUnwrapper.java +++ b/src/main/java/org/scijava/convert/PrimitiveArrayUnwrapper.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/PrimitiveArrayWrapper.java b/src/main/java/org/scijava/convert/PrimitiveArrayWrapper.java index b7e2bffbb..86de8361b 100644 --- a/src/main/java/org/scijava/convert/PrimitiveArrayWrapper.java +++ b/src/main/java/org/scijava/convert/PrimitiveArrayWrapper.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/AbstractDisplay.java b/src/main/java/org/scijava/display/AbstractDisplay.java index 53d48f526..a3f9215b7 100644 --- a/src/main/java/org/scijava/display/AbstractDisplay.java +++ b/src/main/java/org/scijava/display/AbstractDisplay.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/ActiveDisplayPreprocessor.java b/src/main/java/org/scijava/display/ActiveDisplayPreprocessor.java index acb44807c..4d1796f26 100644 --- a/src/main/java/org/scijava/display/ActiveDisplayPreprocessor.java +++ b/src/main/java/org/scijava/display/ActiveDisplayPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/DefaultDisplay.java b/src/main/java/org/scijava/display/DefaultDisplay.java index 03ecfdf8e..3096e8db7 100644 --- a/src/main/java/org/scijava/display/DefaultDisplay.java +++ b/src/main/java/org/scijava/display/DefaultDisplay.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/DefaultDisplayService.java b/src/main/java/org/scijava/display/DefaultDisplayService.java index 9875f381a..457d20f63 100644 --- a/src/main/java/org/scijava/display/DefaultDisplayService.java +++ b/src/main/java/org/scijava/display/DefaultDisplayService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/DefaultTextDisplay.java b/src/main/java/org/scijava/display/DefaultTextDisplay.java index 9b1344f1e..fc8b812ad 100644 --- a/src/main/java/org/scijava/display/DefaultTextDisplay.java +++ b/src/main/java/org/scijava/display/DefaultTextDisplay.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/Display.java b/src/main/java/org/scijava/display/Display.java index aea51db20..d22fcd67a 100644 --- a/src/main/java/org/scijava/display/Display.java +++ b/src/main/java/org/scijava/display/Display.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/DisplayPostprocessor.java b/src/main/java/org/scijava/display/DisplayPostprocessor.java index 71dd23651..5fed339ab 100644 --- a/src/main/java/org/scijava/display/DisplayPostprocessor.java +++ b/src/main/java/org/scijava/display/DisplayPostprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/DisplayService.java b/src/main/java/org/scijava/display/DisplayService.java index df6402848..55436b60e 100644 --- a/src/main/java/org/scijava/display/DisplayService.java +++ b/src/main/java/org/scijava/display/DisplayService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/Displayable.java b/src/main/java/org/scijava/display/Displayable.java index 2a3d401ab..f705b1e42 100644 --- a/src/main/java/org/scijava/display/Displayable.java +++ b/src/main/java/org/scijava/display/Displayable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/TextDisplay.java b/src/main/java/org/scijava/display/TextDisplay.java index 133dbe33c..f2ca2e2be 100644 --- a/src/main/java/org/scijava/display/TextDisplay.java +++ b/src/main/java/org/scijava/display/TextDisplay.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/DisplayActivatedEvent.java b/src/main/java/org/scijava/display/event/DisplayActivatedEvent.java index b2fdcdc3e..e0da2212e 100644 --- a/src/main/java/org/scijava/display/event/DisplayActivatedEvent.java +++ b/src/main/java/org/scijava/display/event/DisplayActivatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/DisplayCreatedEvent.java b/src/main/java/org/scijava/display/event/DisplayCreatedEvent.java index cc31035d2..315a98f0a 100644 --- a/src/main/java/org/scijava/display/event/DisplayCreatedEvent.java +++ b/src/main/java/org/scijava/display/event/DisplayCreatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/DisplayDeletedEvent.java b/src/main/java/org/scijava/display/event/DisplayDeletedEvent.java index e9c2d2591..bac010462 100644 --- a/src/main/java/org/scijava/display/event/DisplayDeletedEvent.java +++ b/src/main/java/org/scijava/display/event/DisplayDeletedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/DisplayEvent.java b/src/main/java/org/scijava/display/event/DisplayEvent.java index 8623bef2e..cd54e08be 100644 --- a/src/main/java/org/scijava/display/event/DisplayEvent.java +++ b/src/main/java/org/scijava/display/event/DisplayEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/DisplayUpdatedEvent.java b/src/main/java/org/scijava/display/event/DisplayUpdatedEvent.java index aac425b78..b962e4119 100644 --- a/src/main/java/org/scijava/display/event/DisplayUpdatedEvent.java +++ b/src/main/java/org/scijava/display/event/DisplayUpdatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/InputEvent.java b/src/main/java/org/scijava/display/event/input/InputEvent.java index cb965f47d..76a7ff92b 100644 --- a/src/main/java/org/scijava/display/event/input/InputEvent.java +++ b/src/main/java/org/scijava/display/event/input/InputEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/KyEvent.java b/src/main/java/org/scijava/display/event/input/KyEvent.java index 72240dd43..e17a02507 100644 --- a/src/main/java/org/scijava/display/event/input/KyEvent.java +++ b/src/main/java/org/scijava/display/event/input/KyEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/KyPressedEvent.java b/src/main/java/org/scijava/display/event/input/KyPressedEvent.java index 5114179df..4b56d81ab 100644 --- a/src/main/java/org/scijava/display/event/input/KyPressedEvent.java +++ b/src/main/java/org/scijava/display/event/input/KyPressedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/KyReleasedEvent.java b/src/main/java/org/scijava/display/event/input/KyReleasedEvent.java index 7dd73548e..17469b570 100644 --- a/src/main/java/org/scijava/display/event/input/KyReleasedEvent.java +++ b/src/main/java/org/scijava/display/event/input/KyReleasedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/KyTypedEvent.java b/src/main/java/org/scijava/display/event/input/KyTypedEvent.java index 357c325aa..c13badf41 100644 --- a/src/main/java/org/scijava/display/event/input/KyTypedEvent.java +++ b/src/main/java/org/scijava/display/event/input/KyTypedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsButtonEvent.java b/src/main/java/org/scijava/display/event/input/MsButtonEvent.java index 9f06970c6..f1124f023 100644 --- a/src/main/java/org/scijava/display/event/input/MsButtonEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsButtonEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsClickedEvent.java b/src/main/java/org/scijava/display/event/input/MsClickedEvent.java index 1303ed7bc..706ec58df 100644 --- a/src/main/java/org/scijava/display/event/input/MsClickedEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsClickedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsDraggedEvent.java b/src/main/java/org/scijava/display/event/input/MsDraggedEvent.java index f82342037..54b0f24b6 100644 --- a/src/main/java/org/scijava/display/event/input/MsDraggedEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsDraggedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsEnteredEvent.java b/src/main/java/org/scijava/display/event/input/MsEnteredEvent.java index 4f9633cc7..2237f2c74 100644 --- a/src/main/java/org/scijava/display/event/input/MsEnteredEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsEnteredEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsEvent.java b/src/main/java/org/scijava/display/event/input/MsEvent.java index c31d00fec..72f08ad0b 100644 --- a/src/main/java/org/scijava/display/event/input/MsEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsExitedEvent.java b/src/main/java/org/scijava/display/event/input/MsExitedEvent.java index 89e22cc84..1b74f0bb8 100644 --- a/src/main/java/org/scijava/display/event/input/MsExitedEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsExitedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsMovedEvent.java b/src/main/java/org/scijava/display/event/input/MsMovedEvent.java index 71b0f9de8..01d23456a 100644 --- a/src/main/java/org/scijava/display/event/input/MsMovedEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsMovedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsPressedEvent.java b/src/main/java/org/scijava/display/event/input/MsPressedEvent.java index ac91255cd..afe13bf50 100644 --- a/src/main/java/org/scijava/display/event/input/MsPressedEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsPressedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsReleasedEvent.java b/src/main/java/org/scijava/display/event/input/MsReleasedEvent.java index 7b0d29a11..033e91326 100644 --- a/src/main/java/org/scijava/display/event/input/MsReleasedEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsReleasedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsWheelEvent.java b/src/main/java/org/scijava/display/event/input/MsWheelEvent.java index 550ff39d4..8f65e28f4 100644 --- a/src/main/java/org/scijava/display/event/input/MsWheelEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsWheelEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/window/WinActivatedEvent.java b/src/main/java/org/scijava/display/event/window/WinActivatedEvent.java index 151c7a075..becbbd348 100644 --- a/src/main/java/org/scijava/display/event/window/WinActivatedEvent.java +++ b/src/main/java/org/scijava/display/event/window/WinActivatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/window/WinClosedEvent.java b/src/main/java/org/scijava/display/event/window/WinClosedEvent.java index 599cd2f2e..aee1651ff 100644 --- a/src/main/java/org/scijava/display/event/window/WinClosedEvent.java +++ b/src/main/java/org/scijava/display/event/window/WinClosedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/window/WinClosingEvent.java b/src/main/java/org/scijava/display/event/window/WinClosingEvent.java index c1cbb600f..915cf34af 100644 --- a/src/main/java/org/scijava/display/event/window/WinClosingEvent.java +++ b/src/main/java/org/scijava/display/event/window/WinClosingEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/window/WinDeactivatedEvent.java b/src/main/java/org/scijava/display/event/window/WinDeactivatedEvent.java index 5087352c1..25422b3bf 100644 --- a/src/main/java/org/scijava/display/event/window/WinDeactivatedEvent.java +++ b/src/main/java/org/scijava/display/event/window/WinDeactivatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/window/WinDeiconifiedEvent.java b/src/main/java/org/scijava/display/event/window/WinDeiconifiedEvent.java index 7a6bf981c..f3ac7e1d5 100644 --- a/src/main/java/org/scijava/display/event/window/WinDeiconifiedEvent.java +++ b/src/main/java/org/scijava/display/event/window/WinDeiconifiedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/window/WinEvent.java b/src/main/java/org/scijava/display/event/window/WinEvent.java index 2f5a5628a..8ad776940 100644 --- a/src/main/java/org/scijava/display/event/window/WinEvent.java +++ b/src/main/java/org/scijava/display/event/window/WinEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/window/WinIconifiedEvent.java b/src/main/java/org/scijava/display/event/window/WinIconifiedEvent.java index 197640421..82add267c 100644 --- a/src/main/java/org/scijava/display/event/window/WinIconifiedEvent.java +++ b/src/main/java/org/scijava/display/event/window/WinIconifiedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/window/WinOpenedEvent.java b/src/main/java/org/scijava/display/event/window/WinOpenedEvent.java index d3a24080f..80a9d3a59 100644 --- a/src/main/java/org/scijava/display/event/window/WinOpenedEvent.java +++ b/src/main/java/org/scijava/display/event/window/WinOpenedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/download/DefaultDownloadService.java b/src/main/java/org/scijava/download/DefaultDownloadService.java index 41fd8d36c..99806a4fa 100644 --- a/src/main/java/org/scijava/download/DefaultDownloadService.java +++ b/src/main/java/org/scijava/download/DefaultDownloadService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/download/DiskLocationCache.java b/src/main/java/org/scijava/download/DiskLocationCache.java index 1cb2b2cf4..414d879df 100644 --- a/src/main/java/org/scijava/download/DiskLocationCache.java +++ b/src/main/java/org/scijava/download/DiskLocationCache.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/download/Download.java b/src/main/java/org/scijava/download/Download.java index 499e3ffd7..abecc1a10 100644 --- a/src/main/java/org/scijava/download/Download.java +++ b/src/main/java/org/scijava/download/Download.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/download/DownloadService.java b/src/main/java/org/scijava/download/DownloadService.java index 1471ce490..f09f706ab 100644 --- a/src/main/java/org/scijava/download/DownloadService.java +++ b/src/main/java/org/scijava/download/DownloadService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/download/LocationCache.java b/src/main/java/org/scijava/download/LocationCache.java index aa93b5b96..a281d81f3 100644 --- a/src/main/java/org/scijava/download/LocationCache.java +++ b/src/main/java/org/scijava/download/LocationCache.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/download/MultiWriteHandle.java b/src/main/java/org/scijava/download/MultiWriteHandle.java index f47928ce2..6e4dc23e1 100644 --- a/src/main/java/org/scijava/download/MultiWriteHandle.java +++ b/src/main/java/org/scijava/download/MultiWriteHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/ContextDisposingEvent.java b/src/main/java/org/scijava/event/ContextDisposingEvent.java index 2a7533c30..48496d441 100644 --- a/src/main/java/org/scijava/event/ContextDisposingEvent.java +++ b/src/main/java/org/scijava/event/ContextDisposingEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/DefaultEventBus.java b/src/main/java/org/scijava/event/DefaultEventBus.java index 09110c29b..7236ac5d6 100644 --- a/src/main/java/org/scijava/event/DefaultEventBus.java +++ b/src/main/java/org/scijava/event/DefaultEventBus.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/DefaultEventHistory.java b/src/main/java/org/scijava/event/DefaultEventHistory.java index b5e9678ec..2fa1e0cce 100644 --- a/src/main/java/org/scijava/event/DefaultEventHistory.java +++ b/src/main/java/org/scijava/event/DefaultEventHistory.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/DefaultEventService.java b/src/main/java/org/scijava/event/DefaultEventService.java index 76530d7af..5d56a77c7 100644 --- a/src/main/java/org/scijava/event/DefaultEventService.java +++ b/src/main/java/org/scijava/event/DefaultEventService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/EventDetails.java b/src/main/java/org/scijava/event/EventDetails.java index 77cbe8ec6..8d6f91436 100644 --- a/src/main/java/org/scijava/event/EventDetails.java +++ b/src/main/java/org/scijava/event/EventDetails.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/EventHandler.java b/src/main/java/org/scijava/event/EventHandler.java index adb6e6f72..76160a25c 100644 --- a/src/main/java/org/scijava/event/EventHandler.java +++ b/src/main/java/org/scijava/event/EventHandler.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/EventHistory.java b/src/main/java/org/scijava/event/EventHistory.java index a74eb57b2..ac11eb5a3 100644 --- a/src/main/java/org/scijava/event/EventHistory.java +++ b/src/main/java/org/scijava/event/EventHistory.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/EventHistoryListener.java b/src/main/java/org/scijava/event/EventHistoryListener.java index a860eacda..3f4737d90 100644 --- a/src/main/java/org/scijava/event/EventHistoryListener.java +++ b/src/main/java/org/scijava/event/EventHistoryListener.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/EventService.java b/src/main/java/org/scijava/event/EventService.java index 63565cf64..2d4d36234 100644 --- a/src/main/java/org/scijava/event/EventService.java +++ b/src/main/java/org/scijava/event/EventService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/EventSubscriber.java b/src/main/java/org/scijava/event/EventSubscriber.java index ce8d38274..9fe27543f 100644 --- a/src/main/java/org/scijava/event/EventSubscriber.java +++ b/src/main/java/org/scijava/event/EventSubscriber.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/SciJavaEvent.java b/src/main/java/org/scijava/event/SciJavaEvent.java index 92fa10abe..c2d23a37f 100644 --- a/src/main/java/org/scijava/event/SciJavaEvent.java +++ b/src/main/java/org/scijava/event/SciJavaEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/input/Accelerator.java b/src/main/java/org/scijava/input/Accelerator.java index c5fefc304..cf19d15a5 100644 --- a/src/main/java/org/scijava/input/Accelerator.java +++ b/src/main/java/org/scijava/input/Accelerator.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/input/DefaultInputService.java b/src/main/java/org/scijava/input/DefaultInputService.java index 5901b3fbe..54a4c56b0 100644 --- a/src/main/java/org/scijava/input/DefaultInputService.java +++ b/src/main/java/org/scijava/input/DefaultInputService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/input/InputModifiers.java b/src/main/java/org/scijava/input/InputModifiers.java index 6df1198cb..e09651abc 100644 --- a/src/main/java/org/scijava/input/InputModifiers.java +++ b/src/main/java/org/scijava/input/InputModifiers.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/input/InputService.java b/src/main/java/org/scijava/input/InputService.java index d402ebd85..109c70636 100644 --- a/src/main/java/org/scijava/input/InputService.java +++ b/src/main/java/org/scijava/input/InputService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/input/KeyCode.java b/src/main/java/org/scijava/input/KeyCode.java index 5a0ae0139..60250f4de 100644 --- a/src/main/java/org/scijava/input/KeyCode.java +++ b/src/main/java/org/scijava/input/KeyCode.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/input/MouseCursor.java b/src/main/java/org/scijava/input/MouseCursor.java index 3c0521552..24910d279 100644 --- a/src/main/java/org/scijava/input/MouseCursor.java +++ b/src/main/java/org/scijava/input/MouseCursor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/AbstractIOPlugin.java b/src/main/java/org/scijava/io/AbstractIOPlugin.java index 98dd6fef7..a8493340f 100644 --- a/src/main/java/org/scijava/io/AbstractIOPlugin.java +++ b/src/main/java/org/scijava/io/AbstractIOPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/AbstractTypedIOService.java b/src/main/java/org/scijava/io/AbstractTypedIOService.java index 45403af49..2c93f3c88 100644 --- a/src/main/java/org/scijava/io/AbstractTypedIOService.java +++ b/src/main/java/org/scijava/io/AbstractTypedIOService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/ByteArrayByteBank.java b/src/main/java/org/scijava/io/ByteArrayByteBank.java index 699d9ed59..4617a2b3b 100644 --- a/src/main/java/org/scijava/io/ByteArrayByteBank.java +++ b/src/main/java/org/scijava/io/ByteArrayByteBank.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/ByteBank.java b/src/main/java/org/scijava/io/ByteBank.java index e5462f035..9933b7298 100644 --- a/src/main/java/org/scijava/io/ByteBank.java +++ b/src/main/java/org/scijava/io/ByteBank.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/DefaultIOService.java b/src/main/java/org/scijava/io/DefaultIOService.java index bfdaf35a2..0d08321c4 100644 --- a/src/main/java/org/scijava/io/DefaultIOService.java +++ b/src/main/java/org/scijava/io/DefaultIOService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/DefaultRecentFileService.java b/src/main/java/org/scijava/io/DefaultRecentFileService.java index a15b172b5..dc2f00418 100644 --- a/src/main/java/org/scijava/io/DefaultRecentFileService.java +++ b/src/main/java/org/scijava/io/DefaultRecentFileService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/IOPlugin.java b/src/main/java/org/scijava/io/IOPlugin.java index 298cf6252..e7f3e68bc 100644 --- a/src/main/java/org/scijava/io/IOPlugin.java +++ b/src/main/java/org/scijava/io/IOPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/IOService.java b/src/main/java/org/scijava/io/IOService.java index 0d6ad9340..038bc320f 100644 --- a/src/main/java/org/scijava/io/IOService.java +++ b/src/main/java/org/scijava/io/IOService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/RecentFileService.java b/src/main/java/org/scijava/io/RecentFileService.java index a2f98459c..be9946e62 100644 --- a/src/main/java/org/scijava/io/RecentFileService.java +++ b/src/main/java/org/scijava/io/RecentFileService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/TypedIOService.java b/src/main/java/org/scijava/io/TypedIOService.java index ca27e9bf7..c75fd4225 100644 --- a/src/main/java/org/scijava/io/TypedIOService.java +++ b/src/main/java/org/scijava/io/TypedIOService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/console/OpenArgument.java b/src/main/java/org/scijava/io/console/OpenArgument.java index 7ca6363de..498dd39a8 100644 --- a/src/main/java/org/scijava/io/console/OpenArgument.java +++ b/src/main/java/org/scijava/io/console/OpenArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/event/DataOpenedEvent.java b/src/main/java/org/scijava/io/event/DataOpenedEvent.java index 2d9c50929..adad59e67 100644 --- a/src/main/java/org/scijava/io/event/DataOpenedEvent.java +++ b/src/main/java/org/scijava/io/event/DataOpenedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/event/DataSavedEvent.java b/src/main/java/org/scijava/io/event/DataSavedEvent.java index 600eccafc..a4b2ceb43 100644 --- a/src/main/java/org/scijava/io/event/DataSavedEvent.java +++ b/src/main/java/org/scijava/io/event/DataSavedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/event/IOEvent.java b/src/main/java/org/scijava/io/event/IOEvent.java index 89bfe0f27..37e0e570b 100644 --- a/src/main/java/org/scijava/io/event/IOEvent.java +++ b/src/main/java/org/scijava/io/event/IOEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/AbstractDataHandle.java b/src/main/java/org/scijava/io/handle/AbstractDataHandle.java index 6242fff7e..41ae3ce81 100644 --- a/src/main/java/org/scijava/io/handle/AbstractDataHandle.java +++ b/src/main/java/org/scijava/io/handle/AbstractDataHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/AbstractHigherOrderHandle.java b/src/main/java/org/scijava/io/handle/AbstractHigherOrderHandle.java index 9953eb226..99b9b5b07 100644 --- a/src/main/java/org/scijava/io/handle/AbstractHigherOrderHandle.java +++ b/src/main/java/org/scijava/io/handle/AbstractHigherOrderHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/AbstractSeekableStreamHandle.java b/src/main/java/org/scijava/io/handle/AbstractSeekableStreamHandle.java index bdc345e5b..361c1ef42 100644 --- a/src/main/java/org/scijava/io/handle/AbstractSeekableStreamHandle.java +++ b/src/main/java/org/scijava/io/handle/AbstractSeekableStreamHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/AbstractStreamHandle.java b/src/main/java/org/scijava/io/handle/AbstractStreamHandle.java index 80619f38b..6debf7f7a 100644 --- a/src/main/java/org/scijava/io/handle/AbstractStreamHandle.java +++ b/src/main/java/org/scijava/io/handle/AbstractStreamHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/BytesHandle.java b/src/main/java/org/scijava/io/handle/BytesHandle.java index 8d58024ee..e45dde502 100644 --- a/src/main/java/org/scijava/io/handle/BytesHandle.java +++ b/src/main/java/org/scijava/io/handle/BytesHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/DataHandle.java b/src/main/java/org/scijava/io/handle/DataHandle.java index c20b043ee..641403570 100644 --- a/src/main/java/org/scijava/io/handle/DataHandle.java +++ b/src/main/java/org/scijava/io/handle/DataHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/DataHandleInputStream.java b/src/main/java/org/scijava/io/handle/DataHandleInputStream.java index f0d15852c..bd0780c13 100644 --- a/src/main/java/org/scijava/io/handle/DataHandleInputStream.java +++ b/src/main/java/org/scijava/io/handle/DataHandleInputStream.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/DataHandleOutputStream.java b/src/main/java/org/scijava/io/handle/DataHandleOutputStream.java index c702f9bf9..49349caa6 100644 --- a/src/main/java/org/scijava/io/handle/DataHandleOutputStream.java +++ b/src/main/java/org/scijava/io/handle/DataHandleOutputStream.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/DataHandleService.java b/src/main/java/org/scijava/io/handle/DataHandleService.java index ecd96333e..dbe4ccdbb 100644 --- a/src/main/java/org/scijava/io/handle/DataHandleService.java +++ b/src/main/java/org/scijava/io/handle/DataHandleService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/DataHandles.java b/src/main/java/org/scijava/io/handle/DataHandles.java index 91522eb9b..3a26c109e 100644 --- a/src/main/java/org/scijava/io/handle/DataHandles.java +++ b/src/main/java/org/scijava/io/handle/DataHandles.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/DefaultDataHandleService.java b/src/main/java/org/scijava/io/handle/DefaultDataHandleService.java index af7c931cf..70bb96137 100644 --- a/src/main/java/org/scijava/io/handle/DefaultDataHandleService.java +++ b/src/main/java/org/scijava/io/handle/DefaultDataHandleService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/DummyHandle.java b/src/main/java/org/scijava/io/handle/DummyHandle.java index 45b9b5571..37d143afe 100644 --- a/src/main/java/org/scijava/io/handle/DummyHandle.java +++ b/src/main/java/org/scijava/io/handle/DummyHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/FileHandle.java b/src/main/java/org/scijava/io/handle/FileHandle.java index 93cdd4610..64e3fed06 100644 --- a/src/main/java/org/scijava/io/handle/FileHandle.java +++ b/src/main/java/org/scijava/io/handle/FileHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java b/src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java index 05e442405..32b9880a4 100644 --- a/src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java +++ b/src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/ResettableStreamHandle.java b/src/main/java/org/scijava/io/handle/ResettableStreamHandle.java index 98bc48e62..74bb85170 100644 --- a/src/main/java/org/scijava/io/handle/ResettableStreamHandle.java +++ b/src/main/java/org/scijava/io/handle/ResettableStreamHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/SeekableStreamHandle.java b/src/main/java/org/scijava/io/handle/SeekableStreamHandle.java index 8b5f767b6..3031d5e30 100644 --- a/src/main/java/org/scijava/io/handle/SeekableStreamHandle.java +++ b/src/main/java/org/scijava/io/handle/SeekableStreamHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/StreamHandle.java b/src/main/java/org/scijava/io/handle/StreamHandle.java index 3483932dc..cc34c567e 100644 --- a/src/main/java/org/scijava/io/handle/StreamHandle.java +++ b/src/main/java/org/scijava/io/handle/StreamHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/WriteBufferDataHandle.java b/src/main/java/org/scijava/io/handle/WriteBufferDataHandle.java index 86e63ec81..ff1fe6ad5 100644 --- a/src/main/java/org/scijava/io/handle/WriteBufferDataHandle.java +++ b/src/main/java/org/scijava/io/handle/WriteBufferDataHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/AbstractLocation.java b/src/main/java/org/scijava/io/location/AbstractLocation.java index 6b493a391..a11750d63 100644 --- a/src/main/java/org/scijava/io/location/AbstractLocation.java +++ b/src/main/java/org/scijava/io/location/AbstractLocation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/AbstractLocationResolver.java b/src/main/java/org/scijava/io/location/AbstractLocationResolver.java index dc6f613d4..10e909deb 100644 --- a/src/main/java/org/scijava/io/location/AbstractLocationResolver.java +++ b/src/main/java/org/scijava/io/location/AbstractLocationResolver.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/AbstractRemoteLocation.java b/src/main/java/org/scijava/io/location/AbstractRemoteLocation.java index 2a31dcfe6..0a7ca02dc 100644 --- a/src/main/java/org/scijava/io/location/AbstractRemoteLocation.java +++ b/src/main/java/org/scijava/io/location/AbstractRemoteLocation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/BrowsableLocation.java b/src/main/java/org/scijava/io/location/BrowsableLocation.java index 52356fbc1..5e831059b 100644 --- a/src/main/java/org/scijava/io/location/BrowsableLocation.java +++ b/src/main/java/org/scijava/io/location/BrowsableLocation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/BytesLocation.java b/src/main/java/org/scijava/io/location/BytesLocation.java index a4d870b6f..f79933193 100644 --- a/src/main/java/org/scijava/io/location/BytesLocation.java +++ b/src/main/java/org/scijava/io/location/BytesLocation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/DefaultLocationService.java b/src/main/java/org/scijava/io/location/DefaultLocationService.java index f84ddb1e5..a86971eba 100644 --- a/src/main/java/org/scijava/io/location/DefaultLocationService.java +++ b/src/main/java/org/scijava/io/location/DefaultLocationService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/DummyLocation.java b/src/main/java/org/scijava/io/location/DummyLocation.java index f393a381a..2b6a8979f 100644 --- a/src/main/java/org/scijava/io/location/DummyLocation.java +++ b/src/main/java/org/scijava/io/location/DummyLocation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/FileLocation.java b/src/main/java/org/scijava/io/location/FileLocation.java index 618f8a3b0..073717716 100644 --- a/src/main/java/org/scijava/io/location/FileLocation.java +++ b/src/main/java/org/scijava/io/location/FileLocation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/FileLocationResolver.java b/src/main/java/org/scijava/io/location/FileLocationResolver.java index 5873b5285..b690802d8 100644 --- a/src/main/java/org/scijava/io/location/FileLocationResolver.java +++ b/src/main/java/org/scijava/io/location/FileLocationResolver.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/Location.java b/src/main/java/org/scijava/io/location/Location.java index 6b87ab2ec..11e935934 100644 --- a/src/main/java/org/scijava/io/location/Location.java +++ b/src/main/java/org/scijava/io/location/Location.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/LocationResolver.java b/src/main/java/org/scijava/io/location/LocationResolver.java index 3f9c84048..9c6ce6bc1 100644 --- a/src/main/java/org/scijava/io/location/LocationResolver.java +++ b/src/main/java/org/scijava/io/location/LocationResolver.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/LocationService.java b/src/main/java/org/scijava/io/location/LocationService.java index 8cfb3cda1..117611779 100644 --- a/src/main/java/org/scijava/io/location/LocationService.java +++ b/src/main/java/org/scijava/io/location/LocationService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/RemoteLocation.java b/src/main/java/org/scijava/io/location/RemoteLocation.java index da2b59f3c..b1b8007ed 100644 --- a/src/main/java/org/scijava/io/location/RemoteLocation.java +++ b/src/main/java/org/scijava/io/location/RemoteLocation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/URILocation.java b/src/main/java/org/scijava/io/location/URILocation.java index 5413e8bb6..5fb1318a5 100644 --- a/src/main/java/org/scijava/io/location/URILocation.java +++ b/src/main/java/org/scijava/io/location/URILocation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/URLLocation.java b/src/main/java/org/scijava/io/location/URLLocation.java index ac9a7a34e..a7938f43c 100644 --- a/src/main/java/org/scijava/io/location/URLLocation.java +++ b/src/main/java/org/scijava/io/location/URLLocation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/nio/ByteBufferByteBank.java b/src/main/java/org/scijava/io/nio/ByteBufferByteBank.java index 10fc18e42..3934d4f4e 100644 --- a/src/main/java/org/scijava/io/nio/ByteBufferByteBank.java +++ b/src/main/java/org/scijava/io/nio/ByteBufferByteBank.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/nio/DefaultNIOService.java b/src/main/java/org/scijava/io/nio/DefaultNIOService.java index 29218ea6e..6a6f9c702 100644 --- a/src/main/java/org/scijava/io/nio/DefaultNIOService.java +++ b/src/main/java/org/scijava/io/nio/DefaultNIOService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/nio/NIOService.java b/src/main/java/org/scijava/io/nio/NIOService.java index 6ebf4d618..c750e2680 100644 --- a/src/main/java/org/scijava/io/nio/NIOService.java +++ b/src/main/java/org/scijava/io/nio/NIOService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/AbstractLogService.java b/src/main/java/org/scijava/log/AbstractLogService.java index e749bf59a..331879bb5 100644 --- a/src/main/java/org/scijava/log/AbstractLogService.java +++ b/src/main/java/org/scijava/log/AbstractLogService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/CallingClassUtils.java b/src/main/java/org/scijava/log/CallingClassUtils.java index 66bef3263..55c8943e9 100644 --- a/src/main/java/org/scijava/log/CallingClassUtils.java +++ b/src/main/java/org/scijava/log/CallingClassUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/DefaultLogger.java b/src/main/java/org/scijava/log/DefaultLogger.java index 506b02447..3a261f2e2 100644 --- a/src/main/java/org/scijava/log/DefaultLogger.java +++ b/src/main/java/org/scijava/log/DefaultLogger.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/DefaultUncaughtExceptionHandler.java b/src/main/java/org/scijava/log/DefaultUncaughtExceptionHandler.java index 0c313435f..83247b49a 100644 --- a/src/main/java/org/scijava/log/DefaultUncaughtExceptionHandler.java +++ b/src/main/java/org/scijava/log/DefaultUncaughtExceptionHandler.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/IgnoreAsCallingClass.java b/src/main/java/org/scijava/log/IgnoreAsCallingClass.java index 62aefe2db..7dee3b2e9 100644 --- a/src/main/java/org/scijava/log/IgnoreAsCallingClass.java +++ b/src/main/java/org/scijava/log/IgnoreAsCallingClass.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/LogLevel.java b/src/main/java/org/scijava/log/LogLevel.java index dab6e9583..3b2524b5b 100644 --- a/src/main/java/org/scijava/log/LogLevel.java +++ b/src/main/java/org/scijava/log/LogLevel.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/LogListener.java b/src/main/java/org/scijava/log/LogListener.java index 918895891..c93a0680d 100644 --- a/src/main/java/org/scijava/log/LogListener.java +++ b/src/main/java/org/scijava/log/LogListener.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/LogMessage.java b/src/main/java/org/scijava/log/LogMessage.java index a9755e034..7284bbe65 100644 --- a/src/main/java/org/scijava/log/LogMessage.java +++ b/src/main/java/org/scijava/log/LogMessage.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/LogService.java b/src/main/java/org/scijava/log/LogService.java index d8dd1c2b0..7e8ec0bec 100644 --- a/src/main/java/org/scijava/log/LogService.java +++ b/src/main/java/org/scijava/log/LogService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/LogSource.java b/src/main/java/org/scijava/log/LogSource.java index 16fdd6c6b..4ecab5831 100644 --- a/src/main/java/org/scijava/log/LogSource.java +++ b/src/main/java/org/scijava/log/LogSource.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/Logged.java b/src/main/java/org/scijava/log/Logged.java index 3f31f51c5..867ccb551 100644 --- a/src/main/java/org/scijava/log/Logged.java +++ b/src/main/java/org/scijava/log/Logged.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/Logger.java b/src/main/java/org/scijava/log/Logger.java index 492203115..657ae6fe0 100644 --- a/src/main/java/org/scijava/log/Logger.java +++ b/src/main/java/org/scijava/log/Logger.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/StderrLogService.java b/src/main/java/org/scijava/log/StderrLogService.java index 39f09ac2d..13919c18a 100644 --- a/src/main/java/org/scijava/log/StderrLogService.java +++ b/src/main/java/org/scijava/log/StderrLogService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/main/DefaultMainService.java b/src/main/java/org/scijava/main/DefaultMainService.java index 17ef070f6..e141b6320 100644 --- a/src/main/java/org/scijava/main/DefaultMainService.java +++ b/src/main/java/org/scijava/main/DefaultMainService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/main/MainService.java b/src/main/java/org/scijava/main/MainService.java index 7ecc9ff67..2a04d13e6 100644 --- a/src/main/java/org/scijava/main/MainService.java +++ b/src/main/java/org/scijava/main/MainService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/main/console/MainArgument.java b/src/main/java/org/scijava/main/console/MainArgument.java index b01f55636..1f0598ce7 100644 --- a/src/main/java/org/scijava/main/console/MainArgument.java +++ b/src/main/java/org/scijava/main/console/MainArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/main/run/MainCodeRunner.java b/src/main/java/org/scijava/main/run/MainCodeRunner.java index 5b6a17acf..8b673eea1 100644 --- a/src/main/java/org/scijava/main/run/MainCodeRunner.java +++ b/src/main/java/org/scijava/main/run/MainCodeRunner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/AbstractMenuCreator.java b/src/main/java/org/scijava/menu/AbstractMenuCreator.java index acda55b48..451db4217 100644 --- a/src/main/java/org/scijava/menu/AbstractMenuCreator.java +++ b/src/main/java/org/scijava/menu/AbstractMenuCreator.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/DefaultMenuService.java b/src/main/java/org/scijava/menu/DefaultMenuService.java index dc43dd7d5..4b4fcca1e 100644 --- a/src/main/java/org/scijava/menu/DefaultMenuService.java +++ b/src/main/java/org/scijava/menu/DefaultMenuService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/MenuConstants.java b/src/main/java/org/scijava/menu/MenuConstants.java index eb80cbc89..9b5c45d19 100644 --- a/src/main/java/org/scijava/menu/MenuConstants.java +++ b/src/main/java/org/scijava/menu/MenuConstants.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/MenuCreator.java b/src/main/java/org/scijava/menu/MenuCreator.java index a9d510f9c..83b1802db 100644 --- a/src/main/java/org/scijava/menu/MenuCreator.java +++ b/src/main/java/org/scijava/menu/MenuCreator.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/MenuService.java b/src/main/java/org/scijava/menu/MenuService.java index f7fc4a7e7..a993825d9 100644 --- a/src/main/java/org/scijava/menu/MenuService.java +++ b/src/main/java/org/scijava/menu/MenuService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/ShadowMenu.java b/src/main/java/org/scijava/menu/ShadowMenu.java index 7872caaa3..a38bd3d96 100644 --- a/src/main/java/org/scijava/menu/ShadowMenu.java +++ b/src/main/java/org/scijava/menu/ShadowMenu.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/ShadowMenuIterator.java b/src/main/java/org/scijava/menu/ShadowMenuIterator.java index 42e0d1970..fb26e5f3f 100644 --- a/src/main/java/org/scijava/menu/ShadowMenuIterator.java +++ b/src/main/java/org/scijava/menu/ShadowMenuIterator.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/event/MenuEvent.java b/src/main/java/org/scijava/menu/event/MenuEvent.java index 3dbeca85c..f58a6a7ef 100644 --- a/src/main/java/org/scijava/menu/event/MenuEvent.java +++ b/src/main/java/org/scijava/menu/event/MenuEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/event/MenusAddedEvent.java b/src/main/java/org/scijava/menu/event/MenusAddedEvent.java index f824c3ad6..34684640e 100644 --- a/src/main/java/org/scijava/menu/event/MenusAddedEvent.java +++ b/src/main/java/org/scijava/menu/event/MenusAddedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/event/MenusRemovedEvent.java b/src/main/java/org/scijava/menu/event/MenusRemovedEvent.java index 70926115c..f7d2779b3 100644 --- a/src/main/java/org/scijava/menu/event/MenusRemovedEvent.java +++ b/src/main/java/org/scijava/menu/event/MenusRemovedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/event/MenusUpdatedEvent.java b/src/main/java/org/scijava/menu/event/MenusUpdatedEvent.java index df5b30223..c403b8518 100644 --- a/src/main/java/org/scijava/menu/event/MenusUpdatedEvent.java +++ b/src/main/java/org/scijava/menu/event/MenusUpdatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/AbstractModule.java b/src/main/java/org/scijava/module/AbstractModule.java index 04ad15e3a..94a259fad 100644 --- a/src/main/java/org/scijava/module/AbstractModule.java +++ b/src/main/java/org/scijava/module/AbstractModule.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/AbstractModuleInfo.java b/src/main/java/org/scijava/module/AbstractModuleInfo.java index 334f9f37e..5c1b797f2 100644 --- a/src/main/java/org/scijava/module/AbstractModuleInfo.java +++ b/src/main/java/org/scijava/module/AbstractModuleInfo.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/AbstractModuleItem.java b/src/main/java/org/scijava/module/AbstractModuleItem.java index da260b12a..665c1cb14 100644 --- a/src/main/java/org/scijava/module/AbstractModuleItem.java +++ b/src/main/java/org/scijava/module/AbstractModuleItem.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/DefaultModuleService.java b/src/main/java/org/scijava/module/DefaultModuleService.java index 26fac0d84..171eb8ce2 100644 --- a/src/main/java/org/scijava/module/DefaultModuleService.java +++ b/src/main/java/org/scijava/module/DefaultModuleService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/DefaultMutableModule.java b/src/main/java/org/scijava/module/DefaultMutableModule.java index 011c9336a..801c3f468 100644 --- a/src/main/java/org/scijava/module/DefaultMutableModule.java +++ b/src/main/java/org/scijava/module/DefaultMutableModule.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/DefaultMutableModuleInfo.java b/src/main/java/org/scijava/module/DefaultMutableModuleInfo.java index af331696e..18d5f1da2 100644 --- a/src/main/java/org/scijava/module/DefaultMutableModuleInfo.java +++ b/src/main/java/org/scijava/module/DefaultMutableModuleInfo.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/DefaultMutableModuleItem.java b/src/main/java/org/scijava/module/DefaultMutableModuleItem.java index 4c8354d14..27b2a241b 100644 --- a/src/main/java/org/scijava/module/DefaultMutableModuleItem.java +++ b/src/main/java/org/scijava/module/DefaultMutableModuleItem.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/MethodCallException.java b/src/main/java/org/scijava/module/MethodCallException.java index d17923d9b..eca9c26ff 100644 --- a/src/main/java/org/scijava/module/MethodCallException.java +++ b/src/main/java/org/scijava/module/MethodCallException.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/MethodRef.java b/src/main/java/org/scijava/module/MethodRef.java index a3399c35e..38bae5059 100644 --- a/src/main/java/org/scijava/module/MethodRef.java +++ b/src/main/java/org/scijava/module/MethodRef.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/Module.java b/src/main/java/org/scijava/module/Module.java index 70a45398b..eabfb9809 100644 --- a/src/main/java/org/scijava/module/Module.java +++ b/src/main/java/org/scijava/module/Module.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/ModuleCanceledException.java b/src/main/java/org/scijava/module/ModuleCanceledException.java index 08dd0ef3f..8978ddf0e 100644 --- a/src/main/java/org/scijava/module/ModuleCanceledException.java +++ b/src/main/java/org/scijava/module/ModuleCanceledException.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/ModuleException.java b/src/main/java/org/scijava/module/ModuleException.java index 6c07451f4..9c1af227d 100644 --- a/src/main/java/org/scijava/module/ModuleException.java +++ b/src/main/java/org/scijava/module/ModuleException.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/ModuleIndex.java b/src/main/java/org/scijava/module/ModuleIndex.java index 431924783..86da5b169 100644 --- a/src/main/java/org/scijava/module/ModuleIndex.java +++ b/src/main/java/org/scijava/module/ModuleIndex.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/ModuleInfo.java b/src/main/java/org/scijava/module/ModuleInfo.java index 2e1dbb476..20186524e 100644 --- a/src/main/java/org/scijava/module/ModuleInfo.java +++ b/src/main/java/org/scijava/module/ModuleInfo.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/ModuleItem.java b/src/main/java/org/scijava/module/ModuleItem.java index 4abd391ea..06a837c42 100644 --- a/src/main/java/org/scijava/module/ModuleItem.java +++ b/src/main/java/org/scijava/module/ModuleItem.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/ModuleRunner.java b/src/main/java/org/scijava/module/ModuleRunner.java index b8ec3a20a..705b33b61 100644 --- a/src/main/java/org/scijava/module/ModuleRunner.java +++ b/src/main/java/org/scijava/module/ModuleRunner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/ModuleService.java b/src/main/java/org/scijava/module/ModuleService.java index 0767fb2f4..b2dbfd664 100644 --- a/src/main/java/org/scijava/module/ModuleService.java +++ b/src/main/java/org/scijava/module/ModuleService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/MutableModule.java b/src/main/java/org/scijava/module/MutableModule.java index 302b321e4..da6be43ef 100644 --- a/src/main/java/org/scijava/module/MutableModule.java +++ b/src/main/java/org/scijava/module/MutableModule.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/MutableModuleInfo.java b/src/main/java/org/scijava/module/MutableModuleInfo.java index 6436b0d42..378d04add 100644 --- a/src/main/java/org/scijava/module/MutableModuleInfo.java +++ b/src/main/java/org/scijava/module/MutableModuleInfo.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/MutableModuleItem.java b/src/main/java/org/scijava/module/MutableModuleItem.java index 58c146a81..9f7cf991f 100644 --- a/src/main/java/org/scijava/module/MutableModuleItem.java +++ b/src/main/java/org/scijava/module/MutableModuleItem.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleCanceledEvent.java b/src/main/java/org/scijava/module/event/ModuleCanceledEvent.java index d40bf6a9f..f79fc99fe 100644 --- a/src/main/java/org/scijava/module/event/ModuleCanceledEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleCanceledEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleEvent.java b/src/main/java/org/scijava/module/event/ModuleEvent.java index cd618e566..59aad02fd 100644 --- a/src/main/java/org/scijava/module/event/ModuleEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleExecutedEvent.java b/src/main/java/org/scijava/module/event/ModuleExecutedEvent.java index 5771a16ee..71644fcbd 100644 --- a/src/main/java/org/scijava/module/event/ModuleExecutedEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleExecutedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleExecutingEvent.java b/src/main/java/org/scijava/module/event/ModuleExecutingEvent.java index b9e8231d3..0091f7019 100644 --- a/src/main/java/org/scijava/module/event/ModuleExecutingEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleExecutingEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleExecutionEvent.java b/src/main/java/org/scijava/module/event/ModuleExecutionEvent.java index 6b674ad84..257680232 100644 --- a/src/main/java/org/scijava/module/event/ModuleExecutionEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleExecutionEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleFinishedEvent.java b/src/main/java/org/scijava/module/event/ModuleFinishedEvent.java index 8a6d748b9..ddf1205e9 100644 --- a/src/main/java/org/scijava/module/event/ModuleFinishedEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleFinishedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModulePostprocessEvent.java b/src/main/java/org/scijava/module/event/ModulePostprocessEvent.java index 5f5c3a7bf..e0b8f25af 100644 --- a/src/main/java/org/scijava/module/event/ModulePostprocessEvent.java +++ b/src/main/java/org/scijava/module/event/ModulePostprocessEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModulePreprocessEvent.java b/src/main/java/org/scijava/module/event/ModulePreprocessEvent.java index 468d5ef66..6a702a26e 100644 --- a/src/main/java/org/scijava/module/event/ModulePreprocessEvent.java +++ b/src/main/java/org/scijava/module/event/ModulePreprocessEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleProcessEvent.java b/src/main/java/org/scijava/module/event/ModuleProcessEvent.java index 57482a65a..5c049fe41 100644 --- a/src/main/java/org/scijava/module/event/ModuleProcessEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleProcessEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleStartedEvent.java b/src/main/java/org/scijava/module/event/ModuleStartedEvent.java index 28933c8ad..c26a07bc0 100644 --- a/src/main/java/org/scijava/module/event/ModuleStartedEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleStartedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModulesAddedEvent.java b/src/main/java/org/scijava/module/event/ModulesAddedEvent.java index 98f9f3b39..c49bdde61 100644 --- a/src/main/java/org/scijava/module/event/ModulesAddedEvent.java +++ b/src/main/java/org/scijava/module/event/ModulesAddedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModulesListEvent.java b/src/main/java/org/scijava/module/event/ModulesListEvent.java index 467ac137b..632bc88b5 100644 --- a/src/main/java/org/scijava/module/event/ModulesListEvent.java +++ b/src/main/java/org/scijava/module/event/ModulesListEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModulesRemovedEvent.java b/src/main/java/org/scijava/module/event/ModulesRemovedEvent.java index fabc602a0..049ceae3f 100644 --- a/src/main/java/org/scijava/module/event/ModulesRemovedEvent.java +++ b/src/main/java/org/scijava/module/event/ModulesRemovedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModulesUpdatedEvent.java b/src/main/java/org/scijava/module/event/ModulesUpdatedEvent.java index 00a3ef6cb..bd2cac2fc 100644 --- a/src/main/java/org/scijava/module/event/ModulesUpdatedEvent.java +++ b/src/main/java/org/scijava/module/event/ModulesUpdatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/AbstractPostprocessorPlugin.java b/src/main/java/org/scijava/module/process/AbstractPostprocessorPlugin.java index 73f5a2dcf..f39ca300e 100644 --- a/src/main/java/org/scijava/module/process/AbstractPostprocessorPlugin.java +++ b/src/main/java/org/scijava/module/process/AbstractPostprocessorPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/AbstractPreprocessorPlugin.java b/src/main/java/org/scijava/module/process/AbstractPreprocessorPlugin.java index 861e00f33..3fc4567c4 100644 --- a/src/main/java/org/scijava/module/process/AbstractPreprocessorPlugin.java +++ b/src/main/java/org/scijava/module/process/AbstractPreprocessorPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/AbstractSingleInputPreprocessor.java b/src/main/java/org/scijava/module/process/AbstractSingleInputPreprocessor.java index 864d780a8..b6b2bc72a 100644 --- a/src/main/java/org/scijava/module/process/AbstractSingleInputPreprocessor.java +++ b/src/main/java/org/scijava/module/process/AbstractSingleInputPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/CheckInputsPreprocessor.java b/src/main/java/org/scijava/module/process/CheckInputsPreprocessor.java index 58d6fc890..2b7a48798 100644 --- a/src/main/java/org/scijava/module/process/CheckInputsPreprocessor.java +++ b/src/main/java/org/scijava/module/process/CheckInputsPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/DebugPostprocessor.java b/src/main/java/org/scijava/module/process/DebugPostprocessor.java index 4cff4eb06..9066ae88c 100644 --- a/src/main/java/org/scijava/module/process/DebugPostprocessor.java +++ b/src/main/java/org/scijava/module/process/DebugPostprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/DebugPreprocessor.java b/src/main/java/org/scijava/module/process/DebugPreprocessor.java index bd3e2826d..a7d898206 100644 --- a/src/main/java/org/scijava/module/process/DebugPreprocessor.java +++ b/src/main/java/org/scijava/module/process/DebugPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/DefaultValuePreprocessor.java b/src/main/java/org/scijava/module/process/DefaultValuePreprocessor.java index 431d80f52..9e1dd7178 100644 --- a/src/main/java/org/scijava/module/process/DefaultValuePreprocessor.java +++ b/src/main/java/org/scijava/module/process/DefaultValuePreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/GatewayPreprocessor.java b/src/main/java/org/scijava/module/process/GatewayPreprocessor.java index c71fe444a..095a0764d 100644 --- a/src/main/java/org/scijava/module/process/GatewayPreprocessor.java +++ b/src/main/java/org/scijava/module/process/GatewayPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/InitPreprocessor.java b/src/main/java/org/scijava/module/process/InitPreprocessor.java index 5e1dad59f..31566a112 100644 --- a/src/main/java/org/scijava/module/process/InitPreprocessor.java +++ b/src/main/java/org/scijava/module/process/InitPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/LoadInputsPreprocessor.java b/src/main/java/org/scijava/module/process/LoadInputsPreprocessor.java index 3e9b01ca5..fc0db2aea 100644 --- a/src/main/java/org/scijava/module/process/LoadInputsPreprocessor.java +++ b/src/main/java/org/scijava/module/process/LoadInputsPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/LoggerPreprocessor.java b/src/main/java/org/scijava/module/process/LoggerPreprocessor.java index 19306d59c..f918dee36 100644 --- a/src/main/java/org/scijava/module/process/LoggerPreprocessor.java +++ b/src/main/java/org/scijava/module/process/LoggerPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/ModulePostprocessor.java b/src/main/java/org/scijava/module/process/ModulePostprocessor.java index 8293fd796..16c781ee0 100644 --- a/src/main/java/org/scijava/module/process/ModulePostprocessor.java +++ b/src/main/java/org/scijava/module/process/ModulePostprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/ModulePreprocessor.java b/src/main/java/org/scijava/module/process/ModulePreprocessor.java index e2c48d3b0..1735bf142 100644 --- a/src/main/java/org/scijava/module/process/ModulePreprocessor.java +++ b/src/main/java/org/scijava/module/process/ModulePreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/ModuleProcessor.java b/src/main/java/org/scijava/module/process/ModuleProcessor.java index 4cb204c62..47561dc45 100644 --- a/src/main/java/org/scijava/module/process/ModuleProcessor.java +++ b/src/main/java/org/scijava/module/process/ModuleProcessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/PostprocessorPlugin.java b/src/main/java/org/scijava/module/process/PostprocessorPlugin.java index ada646e05..bff0bbe0e 100644 --- a/src/main/java/org/scijava/module/process/PostprocessorPlugin.java +++ b/src/main/java/org/scijava/module/process/PostprocessorPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/PreprocessorPlugin.java b/src/main/java/org/scijava/module/process/PreprocessorPlugin.java index af68aeffc..85a1df8f9 100644 --- a/src/main/java/org/scijava/module/process/PreprocessorPlugin.java +++ b/src/main/java/org/scijava/module/process/PreprocessorPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/SaveInputsPreprocessor.java b/src/main/java/org/scijava/module/process/SaveInputsPreprocessor.java index ce19bfd45..92c0e772e 100644 --- a/src/main/java/org/scijava/module/process/SaveInputsPreprocessor.java +++ b/src/main/java/org/scijava/module/process/SaveInputsPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/ServicePreprocessor.java b/src/main/java/org/scijava/module/process/ServicePreprocessor.java index 85e8aec4f..bce52f377 100644 --- a/src/main/java/org/scijava/module/process/ServicePreprocessor.java +++ b/src/main/java/org/scijava/module/process/ServicePreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/ValidityPreprocessor.java b/src/main/java/org/scijava/module/process/ValidityPreprocessor.java index bf33a6d7c..a533e2da7 100644 --- a/src/main/java/org/scijava/module/process/ValidityPreprocessor.java +++ b/src/main/java/org/scijava/module/process/ValidityPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/run/ModuleCodeRunner.java b/src/main/java/org/scijava/module/run/ModuleCodeRunner.java index d94a04a80..51fece17e 100644 --- a/src/main/java/org/scijava/module/run/ModuleCodeRunner.java +++ b/src/main/java/org/scijava/module/run/ModuleCodeRunner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/DefaultObjectService.java b/src/main/java/org/scijava/object/DefaultObjectService.java index c72dcf434..4c0e5af62 100644 --- a/src/main/java/org/scijava/object/DefaultObjectService.java +++ b/src/main/java/org/scijava/object/DefaultObjectService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/LazyObjects.java b/src/main/java/org/scijava/object/LazyObjects.java index c0b5ab00c..fed095cc9 100644 --- a/src/main/java/org/scijava/object/LazyObjects.java +++ b/src/main/java/org/scijava/object/LazyObjects.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/NamedObjectIndex.java b/src/main/java/org/scijava/object/NamedObjectIndex.java index 2fe990d15..f80e66077 100644 --- a/src/main/java/org/scijava/object/NamedObjectIndex.java +++ b/src/main/java/org/scijava/object/NamedObjectIndex.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/ObjectIndex.java b/src/main/java/org/scijava/object/ObjectIndex.java index 47f1efd25..1cf7d432c 100644 --- a/src/main/java/org/scijava/object/ObjectIndex.java +++ b/src/main/java/org/scijava/object/ObjectIndex.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/ObjectService.java b/src/main/java/org/scijava/object/ObjectService.java index e68eaf1c4..3406eb167 100644 --- a/src/main/java/org/scijava/object/ObjectService.java +++ b/src/main/java/org/scijava/object/ObjectService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/SortedObjectIndex.java b/src/main/java/org/scijava/object/SortedObjectIndex.java index c89921129..2b5470e58 100644 --- a/src/main/java/org/scijava/object/SortedObjectIndex.java +++ b/src/main/java/org/scijava/object/SortedObjectIndex.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/event/ListEvent.java b/src/main/java/org/scijava/object/event/ListEvent.java index c863add41..176acf991 100644 --- a/src/main/java/org/scijava/object/event/ListEvent.java +++ b/src/main/java/org/scijava/object/event/ListEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/event/ObjectCreatedEvent.java b/src/main/java/org/scijava/object/event/ObjectCreatedEvent.java index 0b92de092..b17c86287 100644 --- a/src/main/java/org/scijava/object/event/ObjectCreatedEvent.java +++ b/src/main/java/org/scijava/object/event/ObjectCreatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/event/ObjectDeletedEvent.java b/src/main/java/org/scijava/object/event/ObjectDeletedEvent.java index e5857e7f7..58516916d 100644 --- a/src/main/java/org/scijava/object/event/ObjectDeletedEvent.java +++ b/src/main/java/org/scijava/object/event/ObjectDeletedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/event/ObjectEvent.java b/src/main/java/org/scijava/object/event/ObjectEvent.java index e9b649635..7e7fd581a 100644 --- a/src/main/java/org/scijava/object/event/ObjectEvent.java +++ b/src/main/java/org/scijava/object/event/ObjectEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/event/ObjectModifiedEvent.java b/src/main/java/org/scijava/object/event/ObjectModifiedEvent.java index 51b2bf3fb..d2cb07ebf 100644 --- a/src/main/java/org/scijava/object/event/ObjectModifiedEvent.java +++ b/src/main/java/org/scijava/object/event/ObjectModifiedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/event/ObjectsAddedEvent.java b/src/main/java/org/scijava/object/event/ObjectsAddedEvent.java index 7030ec9f9..0ff9b213b 100644 --- a/src/main/java/org/scijava/object/event/ObjectsAddedEvent.java +++ b/src/main/java/org/scijava/object/event/ObjectsAddedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/event/ObjectsListEvent.java b/src/main/java/org/scijava/object/event/ObjectsListEvent.java index 3790576c7..05f20d0f6 100644 --- a/src/main/java/org/scijava/object/event/ObjectsListEvent.java +++ b/src/main/java/org/scijava/object/event/ObjectsListEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/event/ObjectsRemovedEvent.java b/src/main/java/org/scijava/object/event/ObjectsRemovedEvent.java index 8dda4a1b5..3d371eb9d 100644 --- a/src/main/java/org/scijava/object/event/ObjectsRemovedEvent.java +++ b/src/main/java/org/scijava/object/event/ObjectsRemovedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/options/DefaultOptionsService.java b/src/main/java/org/scijava/options/DefaultOptionsService.java index 3067f7c4d..5266d4e45 100644 --- a/src/main/java/org/scijava/options/DefaultOptionsService.java +++ b/src/main/java/org/scijava/options/DefaultOptionsService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/options/OptionsPlugin.java b/src/main/java/org/scijava/options/OptionsPlugin.java index 40e07da97..900109983 100644 --- a/src/main/java/org/scijava/options/OptionsPlugin.java +++ b/src/main/java/org/scijava/options/OptionsPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/options/OptionsService.java b/src/main/java/org/scijava/options/OptionsService.java index 2c0bc2e7b..235853e40 100644 --- a/src/main/java/org/scijava/options/OptionsService.java +++ b/src/main/java/org/scijava/options/OptionsService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/options/event/OptionsEvent.java b/src/main/java/org/scijava/options/event/OptionsEvent.java index 71970cd2d..de0a12a0c 100644 --- a/src/main/java/org/scijava/options/event/OptionsEvent.java +++ b/src/main/java/org/scijava/options/event/OptionsEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/parse/DefaultParseService.java b/src/main/java/org/scijava/parse/DefaultParseService.java index 05262097b..21bc7d8d5 100644 --- a/src/main/java/org/scijava/parse/DefaultParseService.java +++ b/src/main/java/org/scijava/parse/DefaultParseService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/parse/Item.java b/src/main/java/org/scijava/parse/Item.java index 1a7217d02..34547dc18 100644 --- a/src/main/java/org/scijava/parse/Item.java +++ b/src/main/java/org/scijava/parse/Item.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/parse/Items.java b/src/main/java/org/scijava/parse/Items.java index dd7a0a8a1..9d5a42df0 100644 --- a/src/main/java/org/scijava/parse/Items.java +++ b/src/main/java/org/scijava/parse/Items.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/parse/ParseService.java b/src/main/java/org/scijava/parse/ParseService.java index 6a4b7bf80..4395c17f0 100644 --- a/src/main/java/org/scijava/parse/ParseService.java +++ b/src/main/java/org/scijava/parse/ParseService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/AbstractPlatform.java b/src/main/java/org/scijava/platform/AbstractPlatform.java index f97e4b6d4..c3cee3fcc 100644 --- a/src/main/java/org/scijava/platform/AbstractPlatform.java +++ b/src/main/java/org/scijava/platform/AbstractPlatform.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/AppEventService.java b/src/main/java/org/scijava/platform/AppEventService.java index 8591a610b..9811d86bb 100644 --- a/src/main/java/org/scijava/platform/AppEventService.java +++ b/src/main/java/org/scijava/platform/AppEventService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/DefaultAppEventService.java b/src/main/java/org/scijava/platform/DefaultAppEventService.java index b3957baec..291d3fce7 100644 --- a/src/main/java/org/scijava/platform/DefaultAppEventService.java +++ b/src/main/java/org/scijava/platform/DefaultAppEventService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/DefaultPlatform.java b/src/main/java/org/scijava/platform/DefaultPlatform.java index fb6e44fab..7815f8955 100644 --- a/src/main/java/org/scijava/platform/DefaultPlatform.java +++ b/src/main/java/org/scijava/platform/DefaultPlatform.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/DefaultPlatformService.java b/src/main/java/org/scijava/platform/DefaultPlatformService.java index 7bcc67b26..932048b0a 100644 --- a/src/main/java/org/scijava/platform/DefaultPlatformService.java +++ b/src/main/java/org/scijava/platform/DefaultPlatformService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/Platform.java b/src/main/java/org/scijava/platform/Platform.java index 99c801f66..ea244411f 100644 --- a/src/main/java/org/scijava/platform/Platform.java +++ b/src/main/java/org/scijava/platform/Platform.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/PlatformService.java b/src/main/java/org/scijava/platform/PlatformService.java index f0825da3b..7c4ec53db 100644 --- a/src/main/java/org/scijava/platform/PlatformService.java +++ b/src/main/java/org/scijava/platform/PlatformService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppAboutEvent.java b/src/main/java/org/scijava/platform/event/AppAboutEvent.java index 1abf52932..0e8f5c7f6 100644 --- a/src/main/java/org/scijava/platform/event/AppAboutEvent.java +++ b/src/main/java/org/scijava/platform/event/AppAboutEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppFocusEvent.java b/src/main/java/org/scijava/platform/event/AppFocusEvent.java index 48d8a1dc9..92163037a 100644 --- a/src/main/java/org/scijava/platform/event/AppFocusEvent.java +++ b/src/main/java/org/scijava/platform/event/AppFocusEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppMenusCreatedEvent.java b/src/main/java/org/scijava/platform/event/AppMenusCreatedEvent.java index 871321496..1e8fa0289 100644 --- a/src/main/java/org/scijava/platform/event/AppMenusCreatedEvent.java +++ b/src/main/java/org/scijava/platform/event/AppMenusCreatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppOpenFilesEvent.java b/src/main/java/org/scijava/platform/event/AppOpenFilesEvent.java index 38f6d114d..10afdd083 100644 --- a/src/main/java/org/scijava/platform/event/AppOpenFilesEvent.java +++ b/src/main/java/org/scijava/platform/event/AppOpenFilesEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppPreferencesEvent.java b/src/main/java/org/scijava/platform/event/AppPreferencesEvent.java index 67e214539..08c44def8 100644 --- a/src/main/java/org/scijava/platform/event/AppPreferencesEvent.java +++ b/src/main/java/org/scijava/platform/event/AppPreferencesEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppPrintEvent.java b/src/main/java/org/scijava/platform/event/AppPrintEvent.java index 1e7ca07da..926421cd6 100644 --- a/src/main/java/org/scijava/platform/event/AppPrintEvent.java +++ b/src/main/java/org/scijava/platform/event/AppPrintEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppQuitEvent.java b/src/main/java/org/scijava/platform/event/AppQuitEvent.java index 445bb83c0..0317cdcd6 100644 --- a/src/main/java/org/scijava/platform/event/AppQuitEvent.java +++ b/src/main/java/org/scijava/platform/event/AppQuitEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppReOpenEvent.java b/src/main/java/org/scijava/platform/event/AppReOpenEvent.java index 6fce38f6e..d05449948 100644 --- a/src/main/java/org/scijava/platform/event/AppReOpenEvent.java +++ b/src/main/java/org/scijava/platform/event/AppReOpenEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppScreenSleepEvent.java b/src/main/java/org/scijava/platform/event/AppScreenSleepEvent.java index 7d6626e11..43776691f 100644 --- a/src/main/java/org/scijava/platform/event/AppScreenSleepEvent.java +++ b/src/main/java/org/scijava/platform/event/AppScreenSleepEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppSleepEvent.java b/src/main/java/org/scijava/platform/event/AppSleepEvent.java index 7ff2d58f9..8b8278736 100644 --- a/src/main/java/org/scijava/platform/event/AppSleepEvent.java +++ b/src/main/java/org/scijava/platform/event/AppSleepEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppSystemSleepEvent.java b/src/main/java/org/scijava/platform/event/AppSystemSleepEvent.java index 56347c8cf..ccfd0d442 100644 --- a/src/main/java/org/scijava/platform/event/AppSystemSleepEvent.java +++ b/src/main/java/org/scijava/platform/event/AppSystemSleepEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppUserSessionEvent.java b/src/main/java/org/scijava/platform/event/AppUserSessionEvent.java index a35cde8d9..fc22d4198 100644 --- a/src/main/java/org/scijava/platform/event/AppUserSessionEvent.java +++ b/src/main/java/org/scijava/platform/event/AppUserSessionEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppVisibleEvent.java b/src/main/java/org/scijava/platform/event/AppVisibleEvent.java index 8e63de1a8..27f833171 100644 --- a/src/main/java/org/scijava/platform/event/AppVisibleEvent.java +++ b/src/main/java/org/scijava/platform/event/AppVisibleEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/ApplicationEvent.java b/src/main/java/org/scijava/platform/event/ApplicationEvent.java index f9ae6a778..79933bf37 100644 --- a/src/main/java/org/scijava/platform/event/ApplicationEvent.java +++ b/src/main/java/org/scijava/platform/event/ApplicationEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractHandlerPlugin.java b/src/main/java/org/scijava/plugin/AbstractHandlerPlugin.java index 5242b040f..1ab4989e3 100644 --- a/src/main/java/org/scijava/plugin/AbstractHandlerPlugin.java +++ b/src/main/java/org/scijava/plugin/AbstractHandlerPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractHandlerService.java b/src/main/java/org/scijava/plugin/AbstractHandlerService.java index 4d5dfe5ec..40088d311 100644 --- a/src/main/java/org/scijava/plugin/AbstractHandlerService.java +++ b/src/main/java/org/scijava/plugin/AbstractHandlerService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractPTService.java b/src/main/java/org/scijava/plugin/AbstractPTService.java index 5c5cef87e..73a95c611 100644 --- a/src/main/java/org/scijava/plugin/AbstractPTService.java +++ b/src/main/java/org/scijava/plugin/AbstractPTService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractRichPlugin.java b/src/main/java/org/scijava/plugin/AbstractRichPlugin.java index 179dcf60a..7b6197cb9 100644 --- a/src/main/java/org/scijava/plugin/AbstractRichPlugin.java +++ b/src/main/java/org/scijava/plugin/AbstractRichPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractSingletonService.java b/src/main/java/org/scijava/plugin/AbstractSingletonService.java index 81fe6d810..60b31c6c6 100644 --- a/src/main/java/org/scijava/plugin/AbstractSingletonService.java +++ b/src/main/java/org/scijava/plugin/AbstractSingletonService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractTypedPlugin.java b/src/main/java/org/scijava/plugin/AbstractTypedPlugin.java index 088516aa4..962918659 100644 --- a/src/main/java/org/scijava/plugin/AbstractTypedPlugin.java +++ b/src/main/java/org/scijava/plugin/AbstractTypedPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractTypedService.java b/src/main/java/org/scijava/plugin/AbstractTypedService.java index 15f2b2f50..6c46ef9c0 100644 --- a/src/main/java/org/scijava/plugin/AbstractTypedService.java +++ b/src/main/java/org/scijava/plugin/AbstractTypedService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractWrapperPlugin.java b/src/main/java/org/scijava/plugin/AbstractWrapperPlugin.java index 86834e247..41daaff61 100644 --- a/src/main/java/org/scijava/plugin/AbstractWrapperPlugin.java +++ b/src/main/java/org/scijava/plugin/AbstractWrapperPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractWrapperService.java b/src/main/java/org/scijava/plugin/AbstractWrapperService.java index 44319cb0a..df87969ea 100644 --- a/src/main/java/org/scijava/plugin/AbstractWrapperService.java +++ b/src/main/java/org/scijava/plugin/AbstractWrapperService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/Attr.java b/src/main/java/org/scijava/plugin/Attr.java index dbff0e208..1c8f6101e 100644 --- a/src/main/java/org/scijava/plugin/Attr.java +++ b/src/main/java/org/scijava/plugin/Attr.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/DefaultPluginFinder.java b/src/main/java/org/scijava/plugin/DefaultPluginFinder.java index 3cb59909e..f8e0c9d49 100644 --- a/src/main/java/org/scijava/plugin/DefaultPluginFinder.java +++ b/src/main/java/org/scijava/plugin/DefaultPluginFinder.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/DefaultPluginService.java b/src/main/java/org/scijava/plugin/DefaultPluginService.java index 2920aeb92..0563024ae 100644 --- a/src/main/java/org/scijava/plugin/DefaultPluginService.java +++ b/src/main/java/org/scijava/plugin/DefaultPluginService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/HandlerPlugin.java b/src/main/java/org/scijava/plugin/HandlerPlugin.java index 9a70628d9..f023888c2 100644 --- a/src/main/java/org/scijava/plugin/HandlerPlugin.java +++ b/src/main/java/org/scijava/plugin/HandlerPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/HandlerService.java b/src/main/java/org/scijava/plugin/HandlerService.java index cf72138fa..4275ec970 100644 --- a/src/main/java/org/scijava/plugin/HandlerService.java +++ b/src/main/java/org/scijava/plugin/HandlerService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/HasPluginInfo.java b/src/main/java/org/scijava/plugin/HasPluginInfo.java index ffd2326c5..12c06b806 100644 --- a/src/main/java/org/scijava/plugin/HasPluginInfo.java +++ b/src/main/java/org/scijava/plugin/HasPluginInfo.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/Menu.java b/src/main/java/org/scijava/plugin/Menu.java index 33bda0f4a..be5d37bdd 100644 --- a/src/main/java/org/scijava/plugin/Menu.java +++ b/src/main/java/org/scijava/plugin/Menu.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/PTService.java b/src/main/java/org/scijava/plugin/PTService.java index 9d45d2ebb..72a0fc638 100644 --- a/src/main/java/org/scijava/plugin/PTService.java +++ b/src/main/java/org/scijava/plugin/PTService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/Parameter.java b/src/main/java/org/scijava/plugin/Parameter.java index ac24dd5e6..b419bc31e 100644 --- a/src/main/java/org/scijava/plugin/Parameter.java +++ b/src/main/java/org/scijava/plugin/Parameter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/Plugin.java b/src/main/java/org/scijava/plugin/Plugin.java index f71c9d0b8..e44215498 100644 --- a/src/main/java/org/scijava/plugin/Plugin.java +++ b/src/main/java/org/scijava/plugin/Plugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/PluginFinder.java b/src/main/java/org/scijava/plugin/PluginFinder.java index 3437229c1..15f0fe877 100644 --- a/src/main/java/org/scijava/plugin/PluginFinder.java +++ b/src/main/java/org/scijava/plugin/PluginFinder.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/PluginIndex.java b/src/main/java/org/scijava/plugin/PluginIndex.java index ac783ec41..0fd466d23 100644 --- a/src/main/java/org/scijava/plugin/PluginIndex.java +++ b/src/main/java/org/scijava/plugin/PluginIndex.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/PluginInfo.java b/src/main/java/org/scijava/plugin/PluginInfo.java index 55b6034a8..ae48603ab 100644 --- a/src/main/java/org/scijava/plugin/PluginInfo.java +++ b/src/main/java/org/scijava/plugin/PluginInfo.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/PluginService.java b/src/main/java/org/scijava/plugin/PluginService.java index afe785048..c2d525c6a 100644 --- a/src/main/java/org/scijava/plugin/PluginService.java +++ b/src/main/java/org/scijava/plugin/PluginService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/RichPlugin.java b/src/main/java/org/scijava/plugin/RichPlugin.java index 528e378dc..1218852a6 100644 --- a/src/main/java/org/scijava/plugin/RichPlugin.java +++ b/src/main/java/org/scijava/plugin/RichPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/SciJavaPlugin.java b/src/main/java/org/scijava/plugin/SciJavaPlugin.java index 3c4014149..3ed3fa771 100644 --- a/src/main/java/org/scijava/plugin/SciJavaPlugin.java +++ b/src/main/java/org/scijava/plugin/SciJavaPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/SingletonPlugin.java b/src/main/java/org/scijava/plugin/SingletonPlugin.java index 64c52b840..cd71d2be7 100644 --- a/src/main/java/org/scijava/plugin/SingletonPlugin.java +++ b/src/main/java/org/scijava/plugin/SingletonPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/SingletonService.java b/src/main/java/org/scijava/plugin/SingletonService.java index 71a1f09d1..64f90005d 100644 --- a/src/main/java/org/scijava/plugin/SingletonService.java +++ b/src/main/java/org/scijava/plugin/SingletonService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/SortablePlugin.java b/src/main/java/org/scijava/plugin/SortablePlugin.java index 596f536d9..42c729638 100644 --- a/src/main/java/org/scijava/plugin/SortablePlugin.java +++ b/src/main/java/org/scijava/plugin/SortablePlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/TypedPlugin.java b/src/main/java/org/scijava/plugin/TypedPlugin.java index ff5866890..4eb666f1d 100644 --- a/src/main/java/org/scijava/plugin/TypedPlugin.java +++ b/src/main/java/org/scijava/plugin/TypedPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/TypedService.java b/src/main/java/org/scijava/plugin/TypedService.java index 052a00aca..42929b3b2 100644 --- a/src/main/java/org/scijava/plugin/TypedService.java +++ b/src/main/java/org/scijava/plugin/TypedService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/WrapperPlugin.java b/src/main/java/org/scijava/plugin/WrapperPlugin.java index b2391b7de..a05355487 100644 --- a/src/main/java/org/scijava/plugin/WrapperPlugin.java +++ b/src/main/java/org/scijava/plugin/WrapperPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/WrapperService.java b/src/main/java/org/scijava/plugin/WrapperService.java index 08fb27213..fd6da8767 100644 --- a/src/main/java/org/scijava/plugin/WrapperService.java +++ b/src/main/java/org/scijava/plugin/WrapperService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/event/PluginsAddedEvent.java b/src/main/java/org/scijava/plugin/event/PluginsAddedEvent.java index 4f9e4cb72..38ff5c9c9 100644 --- a/src/main/java/org/scijava/plugin/event/PluginsAddedEvent.java +++ b/src/main/java/org/scijava/plugin/event/PluginsAddedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/event/PluginsListEvent.java b/src/main/java/org/scijava/plugin/event/PluginsListEvent.java index 9a65c9fb0..cd3fd6997 100644 --- a/src/main/java/org/scijava/plugin/event/PluginsListEvent.java +++ b/src/main/java/org/scijava/plugin/event/PluginsListEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/event/PluginsRemovedEvent.java b/src/main/java/org/scijava/plugin/event/PluginsRemovedEvent.java index 98eca3ac8..7f871aaeb 100644 --- a/src/main/java/org/scijava/plugin/event/PluginsRemovedEvent.java +++ b/src/main/java/org/scijava/plugin/event/PluginsRemovedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/prefs/AbstractPrefService.java b/src/main/java/org/scijava/prefs/AbstractPrefService.java index 21ea5976f..f1dbfdf38 100644 --- a/src/main/java/org/scijava/prefs/AbstractPrefService.java +++ b/src/main/java/org/scijava/prefs/AbstractPrefService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/prefs/DefaultPrefService.java b/src/main/java/org/scijava/prefs/DefaultPrefService.java index 229c8deed..47676d4b2 100644 --- a/src/main/java/org/scijava/prefs/DefaultPrefService.java +++ b/src/main/java/org/scijava/prefs/DefaultPrefService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/prefs/PrefService.java b/src/main/java/org/scijava/prefs/PrefService.java index ba4f40876..5862a1895 100644 --- a/src/main/java/org/scijava/prefs/PrefService.java +++ b/src/main/java/org/scijava/prefs/PrefService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/run/AbstractCodeRunner.java b/src/main/java/org/scijava/run/AbstractCodeRunner.java index 3f10ada1a..7e5104dd9 100644 --- a/src/main/java/org/scijava/run/AbstractCodeRunner.java +++ b/src/main/java/org/scijava/run/AbstractCodeRunner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/run/CodeRunner.java b/src/main/java/org/scijava/run/CodeRunner.java index c3dd29465..e42a9aa6b 100644 --- a/src/main/java/org/scijava/run/CodeRunner.java +++ b/src/main/java/org/scijava/run/CodeRunner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/run/DefaultRunService.java b/src/main/java/org/scijava/run/DefaultRunService.java index fd481f213..5adef39f3 100644 --- a/src/main/java/org/scijava/run/DefaultRunService.java +++ b/src/main/java/org/scijava/run/DefaultRunService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/run/RunService.java b/src/main/java/org/scijava/run/RunService.java index d0f293b92..d4a124b22 100644 --- a/src/main/java/org/scijava/run/RunService.java +++ b/src/main/java/org/scijava/run/RunService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/run/console/RunArgument.java b/src/main/java/org/scijava/run/console/RunArgument.java index 3f5d01fb4..0b3ba6bce 100644 --- a/src/main/java/org/scijava/run/console/RunArgument.java +++ b/src/main/java/org/scijava/run/console/RunArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AbstractAutoCompleter.java b/src/main/java/org/scijava/script/AbstractAutoCompleter.java index f06224bfd..7846a8b68 100644 --- a/src/main/java/org/scijava/script/AbstractAutoCompleter.java +++ b/src/main/java/org/scijava/script/AbstractAutoCompleter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AbstractScriptContext.java b/src/main/java/org/scijava/script/AbstractScriptContext.java index 452a7b212..84942758b 100644 --- a/src/main/java/org/scijava/script/AbstractScriptContext.java +++ b/src/main/java/org/scijava/script/AbstractScriptContext.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AbstractScriptEngine.java b/src/main/java/org/scijava/script/AbstractScriptEngine.java index 13b9d56d3..326eb216f 100644 --- a/src/main/java/org/scijava/script/AbstractScriptEngine.java +++ b/src/main/java/org/scijava/script/AbstractScriptEngine.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AbstractScriptHeader.java b/src/main/java/org/scijava/script/AbstractScriptHeader.java index f2cd2549a..66385208f 100644 --- a/src/main/java/org/scijava/script/AbstractScriptHeader.java +++ b/src/main/java/org/scijava/script/AbstractScriptHeader.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AbstractScriptLanguage.java b/src/main/java/org/scijava/script/AbstractScriptLanguage.java index c3b0934c8..c537f8587 100644 --- a/src/main/java/org/scijava/script/AbstractScriptLanguage.java +++ b/src/main/java/org/scijava/script/AbstractScriptLanguage.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AdaptedScriptEngine.java b/src/main/java/org/scijava/script/AdaptedScriptEngine.java index 506da8b54..5b0f15d9d 100644 --- a/src/main/java/org/scijava/script/AdaptedScriptEngine.java +++ b/src/main/java/org/scijava/script/AdaptedScriptEngine.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AdaptedScriptLanguage.java b/src/main/java/org/scijava/script/AdaptedScriptLanguage.java index 804fa7e80..f1f353939 100644 --- a/src/main/java/org/scijava/script/AdaptedScriptLanguage.java +++ b/src/main/java/org/scijava/script/AdaptedScriptLanguage.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AutoCompleter.java b/src/main/java/org/scijava/script/AutoCompleter.java index 37c2960e4..791676279 100644 --- a/src/main/java/org/scijava/script/AutoCompleter.java +++ b/src/main/java/org/scijava/script/AutoCompleter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AutoCompletionResult.java b/src/main/java/org/scijava/script/AutoCompletionResult.java index 90e1000db..e405df4c9 100644 --- a/src/main/java/org/scijava/script/AutoCompletionResult.java +++ b/src/main/java/org/scijava/script/AutoCompletionResult.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/CodeGenerator.java b/src/main/java/org/scijava/script/CodeGenerator.java index 461b2cd1c..9628ffb1f 100644 --- a/src/main/java/org/scijava/script/CodeGenerator.java +++ b/src/main/java/org/scijava/script/CodeGenerator.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/CodeGeneratorJava.java b/src/main/java/org/scijava/script/CodeGeneratorJava.java index a6911a839..97aa72ee4 100644 --- a/src/main/java/org/scijava/script/CodeGeneratorJava.java +++ b/src/main/java/org/scijava/script/CodeGeneratorJava.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/DefaultAutoCompleter.java b/src/main/java/org/scijava/script/DefaultAutoCompleter.java index 0f9878e88..5196a5bd5 100644 --- a/src/main/java/org/scijava/script/DefaultAutoCompleter.java +++ b/src/main/java/org/scijava/script/DefaultAutoCompleter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/DefaultScriptHeaderService.java b/src/main/java/org/scijava/script/DefaultScriptHeaderService.java index 39b718050..ac88d9514 100644 --- a/src/main/java/org/scijava/script/DefaultScriptHeaderService.java +++ b/src/main/java/org/scijava/script/DefaultScriptHeaderService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/DefaultScriptInterpreter.java b/src/main/java/org/scijava/script/DefaultScriptInterpreter.java index 58fb7e4b0..8d0e9e994 100644 --- a/src/main/java/org/scijava/script/DefaultScriptInterpreter.java +++ b/src/main/java/org/scijava/script/DefaultScriptInterpreter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/DefaultScriptService.java b/src/main/java/org/scijava/script/DefaultScriptService.java index 974b4e517..4c5f3925d 100644 --- a/src/main/java/org/scijava/script/DefaultScriptService.java +++ b/src/main/java/org/scijava/script/DefaultScriptService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/InvocationObject.java b/src/main/java/org/scijava/script/InvocationObject.java index d90d3b4d6..d78ef45bb 100644 --- a/src/main/java/org/scijava/script/InvocationObject.java +++ b/src/main/java/org/scijava/script/InvocationObject.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ParameterObject.java b/src/main/java/org/scijava/script/ParameterObject.java index 7142501d8..a7bebe51b 100644 --- a/src/main/java/org/scijava/script/ParameterObject.java +++ b/src/main/java/org/scijava/script/ParameterObject.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptFinder.java b/src/main/java/org/scijava/script/ScriptFinder.java index ef358a778..2608120d9 100644 --- a/src/main/java/org/scijava/script/ScriptFinder.java +++ b/src/main/java/org/scijava/script/ScriptFinder.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptHeader.java b/src/main/java/org/scijava/script/ScriptHeader.java index 631183696..3a960398c 100644 --- a/src/main/java/org/scijava/script/ScriptHeader.java +++ b/src/main/java/org/scijava/script/ScriptHeader.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptHeaderService.java b/src/main/java/org/scijava/script/ScriptHeaderService.java index 54fb2e316..333555a40 100644 --- a/src/main/java/org/scijava/script/ScriptHeaderService.java +++ b/src/main/java/org/scijava/script/ScriptHeaderService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptInfo.java b/src/main/java/org/scijava/script/ScriptInfo.java index ce199cbe8..de1c7caae 100644 --- a/src/main/java/org/scijava/script/ScriptInfo.java +++ b/src/main/java/org/scijava/script/ScriptInfo.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptInterpreter.java b/src/main/java/org/scijava/script/ScriptInterpreter.java index bea31b1bd..c889fe818 100644 --- a/src/main/java/org/scijava/script/ScriptInterpreter.java +++ b/src/main/java/org/scijava/script/ScriptInterpreter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptLanguage.java b/src/main/java/org/scijava/script/ScriptLanguage.java index da77e84a3..73a86f94e 100644 --- a/src/main/java/org/scijava/script/ScriptLanguage.java +++ b/src/main/java/org/scijava/script/ScriptLanguage.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptLanguageIndex.java b/src/main/java/org/scijava/script/ScriptLanguageIndex.java index 66035b130..84b202634 100644 --- a/src/main/java/org/scijava/script/ScriptLanguageIndex.java +++ b/src/main/java/org/scijava/script/ScriptLanguageIndex.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptModule.java b/src/main/java/org/scijava/script/ScriptModule.java index 7e398fb55..2df926592 100644 --- a/src/main/java/org/scijava/script/ScriptModule.java +++ b/src/main/java/org/scijava/script/ScriptModule.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptREPL.java b/src/main/java/org/scijava/script/ScriptREPL.java index edfafa538..bbc00fcbc 100644 --- a/src/main/java/org/scijava/script/ScriptREPL.java +++ b/src/main/java/org/scijava/script/ScriptREPL.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptService.java b/src/main/java/org/scijava/script/ScriptService.java index b295fdadd..064ac980b 100644 --- a/src/main/java/org/scijava/script/ScriptService.java +++ b/src/main/java/org/scijava/script/ScriptService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/console/RunScriptArgument.java b/src/main/java/org/scijava/script/console/RunScriptArgument.java index db593af9e..ff2e0c448 100644 --- a/src/main/java/org/scijava/script/console/RunScriptArgument.java +++ b/src/main/java/org/scijava/script/console/RunScriptArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/io/ScriptIOPlugin.java b/src/main/java/org/scijava/script/io/ScriptIOPlugin.java index f881dc429..80cf99e7d 100644 --- a/src/main/java/org/scijava/script/io/ScriptIOPlugin.java +++ b/src/main/java/org/scijava/script/io/ScriptIOPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/process/DefaultScriptProcessorService.java b/src/main/java/org/scijava/script/process/DefaultScriptProcessorService.java index b3486a274..21ff9ebc0 100644 --- a/src/main/java/org/scijava/script/process/DefaultScriptProcessorService.java +++ b/src/main/java/org/scijava/script/process/DefaultScriptProcessorService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/process/DirectiveScriptProcessor.java b/src/main/java/org/scijava/script/process/DirectiveScriptProcessor.java index 047b09986..c5260ffb8 100644 --- a/src/main/java/org/scijava/script/process/DirectiveScriptProcessor.java +++ b/src/main/java/org/scijava/script/process/DirectiveScriptProcessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java b/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java index 0ed4d7212..9ef7ecd83 100644 --- a/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java +++ b/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/process/ScriptCallback.java b/src/main/java/org/scijava/script/process/ScriptCallback.java index d3c21ac86..41a347362 100644 --- a/src/main/java/org/scijava/script/process/ScriptCallback.java +++ b/src/main/java/org/scijava/script/process/ScriptCallback.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/process/ScriptDirectiveScriptProcessor.java b/src/main/java/org/scijava/script/process/ScriptDirectiveScriptProcessor.java index 3521add73..9b7e49b86 100644 --- a/src/main/java/org/scijava/script/process/ScriptDirectiveScriptProcessor.java +++ b/src/main/java/org/scijava/script/process/ScriptDirectiveScriptProcessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/process/ScriptProcessor.java b/src/main/java/org/scijava/script/process/ScriptProcessor.java index 28ef60b73..23fae5d9a 100644 --- a/src/main/java/org/scijava/script/process/ScriptProcessor.java +++ b/src/main/java/org/scijava/script/process/ScriptProcessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/process/ScriptProcessorService.java b/src/main/java/org/scijava/script/process/ScriptProcessorService.java index cbf37f84c..056bbd7be 100644 --- a/src/main/java/org/scijava/script/process/ScriptProcessorService.java +++ b/src/main/java/org/scijava/script/process/ScriptProcessorService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/process/ShebangScriptProcessor.java b/src/main/java/org/scijava/script/process/ShebangScriptProcessor.java index f0acd3f06..3aa87d4b9 100644 --- a/src/main/java/org/scijava/script/process/ShebangScriptProcessor.java +++ b/src/main/java/org/scijava/script/process/ShebangScriptProcessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/run/ScriptCodeRunner.java b/src/main/java/org/scijava/script/run/ScriptCodeRunner.java index 007f7eb5e..3ca981b0e 100644 --- a/src/main/java/org/scijava/script/run/ScriptCodeRunner.java +++ b/src/main/java/org/scijava/script/run/ScriptCodeRunner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/service/AbstractService.java b/src/main/java/org/scijava/service/AbstractService.java index 3aaef93d9..a7c360ece 100644 --- a/src/main/java/org/scijava/service/AbstractService.java +++ b/src/main/java/org/scijava/service/AbstractService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/service/SciJavaService.java b/src/main/java/org/scijava/service/SciJavaService.java index a1dad4f9d..993fcff82 100644 --- a/src/main/java/org/scijava/service/SciJavaService.java +++ b/src/main/java/org/scijava/service/SciJavaService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/service/Service.java b/src/main/java/org/scijava/service/Service.java index 31b5c5137..83767672e 100644 --- a/src/main/java/org/scijava/service/Service.java +++ b/src/main/java/org/scijava/service/Service.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/service/ServiceHelper.java b/src/main/java/org/scijava/service/ServiceHelper.java index f4222cd09..0af3dff5a 100644 --- a/src/main/java/org/scijava/service/ServiceHelper.java +++ b/src/main/java/org/scijava/service/ServiceHelper.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/service/ServiceIndex.java b/src/main/java/org/scijava/service/ServiceIndex.java index 4507986b0..fdba46c9a 100644 --- a/src/main/java/org/scijava/service/ServiceIndex.java +++ b/src/main/java/org/scijava/service/ServiceIndex.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/service/event/ServicesLoadedEvent.java b/src/main/java/org/scijava/service/event/ServicesLoadedEvent.java index aa43d1d6f..84fb560c9 100644 --- a/src/main/java/org/scijava/service/event/ServicesLoadedEvent.java +++ b/src/main/java/org/scijava/service/event/ServicesLoadedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/startup/DefaultStartupService.java b/src/main/java/org/scijava/startup/DefaultStartupService.java index e37f3684c..de8ad6baa 100644 --- a/src/main/java/org/scijava/startup/DefaultStartupService.java +++ b/src/main/java/org/scijava/startup/DefaultStartupService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/startup/StartupService.java b/src/main/java/org/scijava/startup/StartupService.java index 8f886e34a..2b9d69d35 100644 --- a/src/main/java/org/scijava/startup/StartupService.java +++ b/src/main/java/org/scijava/startup/StartupService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/task/DefaultTask.java b/src/main/java/org/scijava/task/DefaultTask.java index fae38bd39..15736ad9d 100644 --- a/src/main/java/org/scijava/task/DefaultTask.java +++ b/src/main/java/org/scijava/task/DefaultTask.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/task/DefaultTaskService.java b/src/main/java/org/scijava/task/DefaultTaskService.java index 67f5c60c8..5b58f66ce 100644 --- a/src/main/java/org/scijava/task/DefaultTaskService.java +++ b/src/main/java/org/scijava/task/DefaultTaskService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/task/Task.java b/src/main/java/org/scijava/task/Task.java index f2ea69aef..eb515000b 100644 --- a/src/main/java/org/scijava/task/Task.java +++ b/src/main/java/org/scijava/task/Task.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/task/TaskService.java b/src/main/java/org/scijava/task/TaskService.java index 82d015847..019709766 100644 --- a/src/main/java/org/scijava/task/TaskService.java +++ b/src/main/java/org/scijava/task/TaskService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/task/event/TaskEvent.java b/src/main/java/org/scijava/task/event/TaskEvent.java index 9b88b2642..9a6c68266 100644 --- a/src/main/java/org/scijava/task/event/TaskEvent.java +++ b/src/main/java/org/scijava/task/event/TaskEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/test/TestUtils.java b/src/main/java/org/scijava/test/TestUtils.java index 3a71c3fa0..750b1d1a2 100644 --- a/src/main/java/org/scijava/test/TestUtils.java +++ b/src/main/java/org/scijava/test/TestUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/text/AbstractTextFormat.java b/src/main/java/org/scijava/text/AbstractTextFormat.java index ce1a419dc..928143097 100644 --- a/src/main/java/org/scijava/text/AbstractTextFormat.java +++ b/src/main/java/org/scijava/text/AbstractTextFormat.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/text/DefaultTextService.java b/src/main/java/org/scijava/text/DefaultTextService.java index 82d09cf40..8739af515 100644 --- a/src/main/java/org/scijava/text/DefaultTextService.java +++ b/src/main/java/org/scijava/text/DefaultTextService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/text/TextFormat.java b/src/main/java/org/scijava/text/TextFormat.java index aeb62d315..fb4f0e23b 100644 --- a/src/main/java/org/scijava/text/TextFormat.java +++ b/src/main/java/org/scijava/text/TextFormat.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/text/TextService.java b/src/main/java/org/scijava/text/TextService.java index 03209c58c..d9e9fc9a1 100644 --- a/src/main/java/org/scijava/text/TextService.java +++ b/src/main/java/org/scijava/text/TextService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/text/io/DefaultTextIOService.java b/src/main/java/org/scijava/text/io/DefaultTextIOService.java index e29a1c796..219a6f06d 100644 --- a/src/main/java/org/scijava/text/io/DefaultTextIOService.java +++ b/src/main/java/org/scijava/text/io/DefaultTextIOService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/text/io/TextIOPlugin.java b/src/main/java/org/scijava/text/io/TextIOPlugin.java index 523ff2c34..e8f8172df 100644 --- a/src/main/java/org/scijava/text/io/TextIOPlugin.java +++ b/src/main/java/org/scijava/text/io/TextIOPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/text/io/TextIOService.java b/src/main/java/org/scijava/text/io/TextIOService.java index d196c893a..24f105c64 100644 --- a/src/main/java/org/scijava/text/io/TextIOService.java +++ b/src/main/java/org/scijava/text/io/TextIOService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/thread/DefaultThreadService.java b/src/main/java/org/scijava/thread/DefaultThreadService.java index 626fb7a24..bfcf79d0e 100644 --- a/src/main/java/org/scijava/thread/DefaultThreadService.java +++ b/src/main/java/org/scijava/thread/DefaultThreadService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/thread/ThreadService.java b/src/main/java/org/scijava/thread/ThreadService.java index 69a6c13bf..b00f6fe80 100644 --- a/src/main/java/org/scijava/thread/ThreadService.java +++ b/src/main/java/org/scijava/thread/ThreadService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/AbstractTool.java b/src/main/java/org/scijava/tool/AbstractTool.java index b1bbfbff9..22492cb2e 100644 --- a/src/main/java/org/scijava/tool/AbstractTool.java +++ b/src/main/java/org/scijava/tool/AbstractTool.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/CustomDrawnTool.java b/src/main/java/org/scijava/tool/CustomDrawnTool.java index 48af501ac..7eea24aa4 100644 --- a/src/main/java/org/scijava/tool/CustomDrawnTool.java +++ b/src/main/java/org/scijava/tool/CustomDrawnTool.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/DefaultToolService.java b/src/main/java/org/scijava/tool/DefaultToolService.java index f907ce6fc..7aacdcee1 100644 --- a/src/main/java/org/scijava/tool/DefaultToolService.java +++ b/src/main/java/org/scijava/tool/DefaultToolService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/DummyTool.java b/src/main/java/org/scijava/tool/DummyTool.java index 0da513789..b6375479e 100644 --- a/src/main/java/org/scijava/tool/DummyTool.java +++ b/src/main/java/org/scijava/tool/DummyTool.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/IconDrawer.java b/src/main/java/org/scijava/tool/IconDrawer.java index 782c1eda3..a7cae7e4e 100644 --- a/src/main/java/org/scijava/tool/IconDrawer.java +++ b/src/main/java/org/scijava/tool/IconDrawer.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/IconService.java b/src/main/java/org/scijava/tool/IconService.java index e293a5a79..b51a31be4 100644 --- a/src/main/java/org/scijava/tool/IconService.java +++ b/src/main/java/org/scijava/tool/IconService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/Tool.java b/src/main/java/org/scijava/tool/Tool.java index 118e54529..664a20284 100644 --- a/src/main/java/org/scijava/tool/Tool.java +++ b/src/main/java/org/scijava/tool/Tool.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/ToolService.java b/src/main/java/org/scijava/tool/ToolService.java index 175fc01d3..7d09765d9 100644 --- a/src/main/java/org/scijava/tool/ToolService.java +++ b/src/main/java/org/scijava/tool/ToolService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/event/ToolActivatedEvent.java b/src/main/java/org/scijava/tool/event/ToolActivatedEvent.java index 33665f794..125a3b6ca 100644 --- a/src/main/java/org/scijava/tool/event/ToolActivatedEvent.java +++ b/src/main/java/org/scijava/tool/event/ToolActivatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/event/ToolDeactivatedEvent.java b/src/main/java/org/scijava/tool/event/ToolDeactivatedEvent.java index 5099ed283..95d5a6e1a 100644 --- a/src/main/java/org/scijava/tool/event/ToolDeactivatedEvent.java +++ b/src/main/java/org/scijava/tool/event/ToolDeactivatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/event/ToolEvent.java b/src/main/java/org/scijava/tool/event/ToolEvent.java index c6bf80824..13967a4ed 100644 --- a/src/main/java/org/scijava/tool/event/ToolEvent.java +++ b/src/main/java/org/scijava/tool/event/ToolEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/ARGBPlane.java b/src/main/java/org/scijava/ui/ARGBPlane.java index 1601a2b07..9f223593c 100644 --- a/src/main/java/org/scijava/ui/ARGBPlane.java +++ b/src/main/java/org/scijava/ui/ARGBPlane.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/AbstractInputHarvesterPlugin.java b/src/main/java/org/scijava/ui/AbstractInputHarvesterPlugin.java index 920b4e6a0..a39e1aa89 100644 --- a/src/main/java/org/scijava/ui/AbstractInputHarvesterPlugin.java +++ b/src/main/java/org/scijava/ui/AbstractInputHarvesterPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/AbstractUIInputWidget.java b/src/main/java/org/scijava/ui/AbstractUIInputWidget.java index ca37e8503..c402a1f2e 100644 --- a/src/main/java/org/scijava/ui/AbstractUIInputWidget.java +++ b/src/main/java/org/scijava/ui/AbstractUIInputWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/AbstractUserInterface.java b/src/main/java/org/scijava/ui/AbstractUserInterface.java index 1efa8139b..2c9adba78 100644 --- a/src/main/java/org/scijava/ui/AbstractUserInterface.java +++ b/src/main/java/org/scijava/ui/AbstractUserInterface.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/ApplicationFrame.java b/src/main/java/org/scijava/ui/ApplicationFrame.java index 30a63ca2d..10477bab6 100644 --- a/src/main/java/org/scijava/ui/ApplicationFrame.java +++ b/src/main/java/org/scijava/ui/ApplicationFrame.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/Arrangeable.java b/src/main/java/org/scijava/ui/Arrangeable.java index bdcbaafa7..0d082a58e 100644 --- a/src/main/java/org/scijava/ui/Arrangeable.java +++ b/src/main/java/org/scijava/ui/Arrangeable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/CloseConfirmable.java b/src/main/java/org/scijava/ui/CloseConfirmable.java index c0f410b6b..4e6027ed6 100644 --- a/src/main/java/org/scijava/ui/CloseConfirmable.java +++ b/src/main/java/org/scijava/ui/CloseConfirmable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/DefaultUIService.java b/src/main/java/org/scijava/ui/DefaultUIService.java index 96fc2ea6d..939ea5331 100644 --- a/src/main/java/org/scijava/ui/DefaultUIService.java +++ b/src/main/java/org/scijava/ui/DefaultUIService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/Desktop.java b/src/main/java/org/scijava/ui/Desktop.java index f8407428e..db3920956 100644 --- a/src/main/java/org/scijava/ui/Desktop.java +++ b/src/main/java/org/scijava/ui/Desktop.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/DialogPrompt.java b/src/main/java/org/scijava/ui/DialogPrompt.java index 82401f183..9ec7c6f5c 100644 --- a/src/main/java/org/scijava/ui/DialogPrompt.java +++ b/src/main/java/org/scijava/ui/DialogPrompt.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/FileListPreprocessor.java b/src/main/java/org/scijava/ui/FileListPreprocessor.java index fbb5cea5b..82ee890fa 100644 --- a/src/main/java/org/scijava/ui/FileListPreprocessor.java +++ b/src/main/java/org/scijava/ui/FileListPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/FilePreprocessor.java b/src/main/java/org/scijava/ui/FilePreprocessor.java index 02b8d1a04..c87674ef4 100644 --- a/src/main/java/org/scijava/ui/FilePreprocessor.java +++ b/src/main/java/org/scijava/ui/FilePreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/StatusBar.java b/src/main/java/org/scijava/ui/StatusBar.java index 8d11e6ddb..695d28cdb 100644 --- a/src/main/java/org/scijava/ui/StatusBar.java +++ b/src/main/java/org/scijava/ui/StatusBar.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/SystemClipboard.java b/src/main/java/org/scijava/ui/SystemClipboard.java index 42e2bd1cd..694d9dbd2 100644 --- a/src/main/java/org/scijava/ui/SystemClipboard.java +++ b/src/main/java/org/scijava/ui/SystemClipboard.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/ToolBar.java b/src/main/java/org/scijava/ui/ToolBar.java index 91555eb7f..5fdd4cdc7 100644 --- a/src/main/java/org/scijava/ui/ToolBar.java +++ b/src/main/java/org/scijava/ui/ToolBar.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/UIPreprocessor.java b/src/main/java/org/scijava/ui/UIPreprocessor.java index abf939667..4d726baed 100644 --- a/src/main/java/org/scijava/ui/UIPreprocessor.java +++ b/src/main/java/org/scijava/ui/UIPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/UIService.java b/src/main/java/org/scijava/ui/UIService.java index efd1cbccf..516ce1384 100644 --- a/src/main/java/org/scijava/ui/UIService.java +++ b/src/main/java/org/scijava/ui/UIService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/UserInterface.java b/src/main/java/org/scijava/ui/UserInterface.java index ca5c86cee..7c1654dbd 100644 --- a/src/main/java/org/scijava/ui/UserInterface.java +++ b/src/main/java/org/scijava/ui/UserInterface.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/console/AbstractConsolePane.java b/src/main/java/org/scijava/ui/console/AbstractConsolePane.java index d8e66b589..57fcdfe26 100644 --- a/src/main/java/org/scijava/ui/console/AbstractConsolePane.java +++ b/src/main/java/org/scijava/ui/console/AbstractConsolePane.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/console/ConsolePane.java b/src/main/java/org/scijava/ui/console/ConsolePane.java index 28336c6d6..bd347f69e 100644 --- a/src/main/java/org/scijava/ui/console/ConsolePane.java +++ b/src/main/java/org/scijava/ui/console/ConsolePane.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/console/HeadlessArgument.java b/src/main/java/org/scijava/ui/console/HeadlessArgument.java index ff1079f3f..0aa658fc1 100644 --- a/src/main/java/org/scijava/ui/console/HeadlessArgument.java +++ b/src/main/java/org/scijava/ui/console/HeadlessArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/console/ShowUIArgument.java b/src/main/java/org/scijava/ui/console/ShowUIArgument.java index aabaa1c0f..9489db54f 100644 --- a/src/main/java/org/scijava/ui/console/ShowUIArgument.java +++ b/src/main/java/org/scijava/ui/console/ShowUIArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/console/UIArgument.java b/src/main/java/org/scijava/ui/console/UIArgument.java index 39053f14e..e454ee13e 100644 --- a/src/main/java/org/scijava/ui/console/UIArgument.java +++ b/src/main/java/org/scijava/ui/console/UIArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropData.java b/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropData.java index 6f26986bd..364ee52c3 100644 --- a/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropData.java +++ b/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropData.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropHandler.java b/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropHandler.java index 512f01035..f311b89fe 100644 --- a/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropHandler.java +++ b/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropHandler.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropData.java b/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropData.java index f89136087..17f007443 100644 --- a/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropData.java +++ b/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropData.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropService.java b/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropService.java index bf7230819..b542e7405 100644 --- a/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropService.java +++ b/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/DragAndDropData.java b/src/main/java/org/scijava/ui/dnd/DragAndDropData.java index 2d59d4af9..391064a8b 100644 --- a/src/main/java/org/scijava/ui/dnd/DragAndDropData.java +++ b/src/main/java/org/scijava/ui/dnd/DragAndDropData.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/DragAndDropHandler.java b/src/main/java/org/scijava/ui/dnd/DragAndDropHandler.java index 140f61ada..0de0dd56a 100644 --- a/src/main/java/org/scijava/ui/dnd/DragAndDropHandler.java +++ b/src/main/java/org/scijava/ui/dnd/DragAndDropHandler.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/DragAndDropService.java b/src/main/java/org/scijava/ui/dnd/DragAndDropService.java index 5dfbaa90c..bb999c01b 100644 --- a/src/main/java/org/scijava/ui/dnd/DragAndDropService.java +++ b/src/main/java/org/scijava/ui/dnd/DragAndDropService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/FileDragAndDropHandler.java b/src/main/java/org/scijava/ui/dnd/FileDragAndDropHandler.java index 02289b6e4..7b8a0ff34 100644 --- a/src/main/java/org/scijava/ui/dnd/FileDragAndDropHandler.java +++ b/src/main/java/org/scijava/ui/dnd/FileDragAndDropHandler.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/ListDragAndDropHandler.java b/src/main/java/org/scijava/ui/dnd/ListDragAndDropHandler.java index ba24d62b9..fba1ac075 100644 --- a/src/main/java/org/scijava/ui/dnd/ListDragAndDropHandler.java +++ b/src/main/java/org/scijava/ui/dnd/ListDragAndDropHandler.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/MIMEType.java b/src/main/java/org/scijava/ui/dnd/MIMEType.java index eb3b860af..90c539fa4 100644 --- a/src/main/java/org/scijava/ui/dnd/MIMEType.java +++ b/src/main/java/org/scijava/ui/dnd/MIMEType.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/ScriptFileDragAndDropHandler.java b/src/main/java/org/scijava/ui/dnd/ScriptFileDragAndDropHandler.java index ae911864b..b519354aa 100644 --- a/src/main/java/org/scijava/ui/dnd/ScriptFileDragAndDropHandler.java +++ b/src/main/java/org/scijava/ui/dnd/ScriptFileDragAndDropHandler.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/event/DragAndDropEvent.java b/src/main/java/org/scijava/ui/dnd/event/DragAndDropEvent.java index 3be4929f6..2b06f058f 100644 --- a/src/main/java/org/scijava/ui/dnd/event/DragAndDropEvent.java +++ b/src/main/java/org/scijava/ui/dnd/event/DragAndDropEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/event/DragEnterEvent.java b/src/main/java/org/scijava/ui/dnd/event/DragEnterEvent.java index 76b2eb9d2..da9285286 100644 --- a/src/main/java/org/scijava/ui/dnd/event/DragEnterEvent.java +++ b/src/main/java/org/scijava/ui/dnd/event/DragEnterEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/event/DragExitEvent.java b/src/main/java/org/scijava/ui/dnd/event/DragExitEvent.java index 7fd8845af..11b1ad1a8 100644 --- a/src/main/java/org/scijava/ui/dnd/event/DragExitEvent.java +++ b/src/main/java/org/scijava/ui/dnd/event/DragExitEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/event/DragOverEvent.java b/src/main/java/org/scijava/ui/dnd/event/DragOverEvent.java index 286ddbe03..b2f3cfe4b 100644 --- a/src/main/java/org/scijava/ui/dnd/event/DragOverEvent.java +++ b/src/main/java/org/scijava/ui/dnd/event/DragOverEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/event/DropEvent.java b/src/main/java/org/scijava/ui/dnd/event/DropEvent.java index 8fe5364b5..99ca4f859 100644 --- a/src/main/java/org/scijava/ui/dnd/event/DropEvent.java +++ b/src/main/java/org/scijava/ui/dnd/event/DropEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/event/UIEvent.java b/src/main/java/org/scijava/ui/event/UIEvent.java index 3c974ac4d..6f80f9f88 100644 --- a/src/main/java/org/scijava/ui/event/UIEvent.java +++ b/src/main/java/org/scijava/ui/event/UIEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/event/UIShownEvent.java b/src/main/java/org/scijava/ui/event/UIShownEvent.java index 1a57865a4..2de8238eb 100644 --- a/src/main/java/org/scijava/ui/event/UIShownEvent.java +++ b/src/main/java/org/scijava/ui/event/UIShownEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/headless/HeadlessDisplayViewer.java b/src/main/java/org/scijava/ui/headless/HeadlessDisplayViewer.java index b265c389b..31bea8a62 100644 --- a/src/main/java/org/scijava/ui/headless/HeadlessDisplayViewer.java +++ b/src/main/java/org/scijava/ui/headless/HeadlessDisplayViewer.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/headless/HeadlessUI.java b/src/main/java/org/scijava/ui/headless/HeadlessUI.java index b315b377f..bf2c128af 100644 --- a/src/main/java/org/scijava/ui/headless/HeadlessUI.java +++ b/src/main/java/org/scijava/ui/headless/HeadlessUI.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/headlessUI/HeadlessUI.java b/src/main/java/org/scijava/ui/headlessUI/HeadlessUI.java index 928168d90..4efc3fd1f 100644 --- a/src/main/java/org/scijava/ui/headlessUI/HeadlessUI.java +++ b/src/main/java/org/scijava/ui/headlessUI/HeadlessUI.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/viewer/AbstractDisplayViewer.java b/src/main/java/org/scijava/ui/viewer/AbstractDisplayViewer.java index aa75ca0fc..1cc70a7a9 100644 --- a/src/main/java/org/scijava/ui/viewer/AbstractDisplayViewer.java +++ b/src/main/java/org/scijava/ui/viewer/AbstractDisplayViewer.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/viewer/DisplayPanel.java b/src/main/java/org/scijava/ui/viewer/DisplayPanel.java index ba7f324ff..786a95a2d 100644 --- a/src/main/java/org/scijava/ui/viewer/DisplayPanel.java +++ b/src/main/java/org/scijava/ui/viewer/DisplayPanel.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/viewer/DisplayViewer.java b/src/main/java/org/scijava/ui/viewer/DisplayViewer.java index cfe9570e7..3805bf1a7 100644 --- a/src/main/java/org/scijava/ui/viewer/DisplayViewer.java +++ b/src/main/java/org/scijava/ui/viewer/DisplayViewer.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/viewer/DisplayWindow.java b/src/main/java/org/scijava/ui/viewer/DisplayWindow.java index 825510501..a990d1a48 100644 --- a/src/main/java/org/scijava/ui/viewer/DisplayWindow.java +++ b/src/main/java/org/scijava/ui/viewer/DisplayWindow.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/viewer/text/AbstractTextDisplayViewer.java b/src/main/java/org/scijava/ui/viewer/text/AbstractTextDisplayViewer.java index ba48ce527..9cd858082 100644 --- a/src/main/java/org/scijava/ui/viewer/text/AbstractTextDisplayViewer.java +++ b/src/main/java/org/scijava/ui/viewer/text/AbstractTextDisplayViewer.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/viewer/text/TextDisplayPanel.java b/src/main/java/org/scijava/ui/viewer/text/TextDisplayPanel.java index 38513d1f8..59b9e5068 100644 --- a/src/main/java/org/scijava/ui/viewer/text/TextDisplayPanel.java +++ b/src/main/java/org/scijava/ui/viewer/text/TextDisplayPanel.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/viewer/text/TextDisplayViewer.java b/src/main/java/org/scijava/ui/viewer/text/TextDisplayViewer.java index b052d4f58..7937f7a2b 100644 --- a/src/main/java/org/scijava/ui/viewer/text/TextDisplayViewer.java +++ b/src/main/java/org/scijava/ui/viewer/text/TextDisplayViewer.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/AbstractPrimitiveArray.java b/src/main/java/org/scijava/util/AbstractPrimitiveArray.java index e745e5ba2..71f620135 100644 --- a/src/main/java/org/scijava/util/AbstractPrimitiveArray.java +++ b/src/main/java/org/scijava/util/AbstractPrimitiveArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/AppUtils.java b/src/main/java/org/scijava/util/AppUtils.java index ea93137b1..4e7038849 100644 --- a/src/main/java/org/scijava/util/AppUtils.java +++ b/src/main/java/org/scijava/util/AppUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ArrayUtils.java b/src/main/java/org/scijava/util/ArrayUtils.java index 6d396fd36..3dae18ade 100644 --- a/src/main/java/org/scijava/util/ArrayUtils.java +++ b/src/main/java/org/scijava/util/ArrayUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/BoolArray.java b/src/main/java/org/scijava/util/BoolArray.java index e2f69e924..13e378677 100644 --- a/src/main/java/org/scijava/util/BoolArray.java +++ b/src/main/java/org/scijava/util/BoolArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ByteArray.java b/src/main/java/org/scijava/util/ByteArray.java index 3f56a3089..5803f10b9 100644 --- a/src/main/java/org/scijava/util/ByteArray.java +++ b/src/main/java/org/scijava/util/ByteArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Bytes.java b/src/main/java/org/scijava/util/Bytes.java index ea7415fe5..bdf52bbcb 100644 --- a/src/main/java/org/scijava/util/Bytes.java +++ b/src/main/java/org/scijava/util/Bytes.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/CharArray.java b/src/main/java/org/scijava/util/CharArray.java index a3e661f26..1816709d7 100644 --- a/src/main/java/org/scijava/util/CharArray.java +++ b/src/main/java/org/scijava/util/CharArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/CheckSezpoz.java b/src/main/java/org/scijava/util/CheckSezpoz.java index c5d535281..dcb6c17ee 100644 --- a/src/main/java/org/scijava/util/CheckSezpoz.java +++ b/src/main/java/org/scijava/util/CheckSezpoz.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ClassUtils.java b/src/main/java/org/scijava/util/ClassUtils.java index b238586fe..d1be649dd 100644 --- a/src/main/java/org/scijava/util/ClassUtils.java +++ b/src/main/java/org/scijava/util/ClassUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ColorRGB.java b/src/main/java/org/scijava/util/ColorRGB.java index 39d15a21f..c90ee211a 100644 --- a/src/main/java/org/scijava/util/ColorRGB.java +++ b/src/main/java/org/scijava/util/ColorRGB.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ColorRGBA.java b/src/main/java/org/scijava/util/ColorRGBA.java index d9abbd395..4cdf59c25 100644 --- a/src/main/java/org/scijava/util/ColorRGBA.java +++ b/src/main/java/org/scijava/util/ColorRGBA.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Colors.java b/src/main/java/org/scijava/util/Colors.java index db2db000f..35b3486e4 100644 --- a/src/main/java/org/scijava/util/Colors.java +++ b/src/main/java/org/scijava/util/Colors.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/CombineAnnotations.java b/src/main/java/org/scijava/util/CombineAnnotations.java index fd8804f96..1b4676bca 100644 --- a/src/main/java/org/scijava/util/CombineAnnotations.java +++ b/src/main/java/org/scijava/util/CombineAnnotations.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Combiner.java b/src/main/java/org/scijava/util/Combiner.java index 064d32bb3..b8f4c25a7 100644 --- a/src/main/java/org/scijava/util/Combiner.java +++ b/src/main/java/org/scijava/util/Combiner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ConversionUtils.java b/src/main/java/org/scijava/util/ConversionUtils.java index d12ad5281..a90039651 100644 --- a/src/main/java/org/scijava/util/ConversionUtils.java +++ b/src/main/java/org/scijava/util/ConversionUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/DebugUtils.java b/src/main/java/org/scijava/util/DebugUtils.java index dc08f1085..5be10e252 100644 --- a/src/main/java/org/scijava/util/DebugUtils.java +++ b/src/main/java/org/scijava/util/DebugUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/DefaultTreeNode.java b/src/main/java/org/scijava/util/DefaultTreeNode.java index 9e9351a2d..7b2e2f529 100644 --- a/src/main/java/org/scijava/util/DefaultTreeNode.java +++ b/src/main/java/org/scijava/util/DefaultTreeNode.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/DigestUtils.java b/src/main/java/org/scijava/util/DigestUtils.java index 08d4fe587..cc862f321 100644 --- a/src/main/java/org/scijava/util/DigestUtils.java +++ b/src/main/java/org/scijava/util/DigestUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/DoubleArray.java b/src/main/java/org/scijava/util/DoubleArray.java index 00dd0dec6..b54ed91e3 100644 --- a/src/main/java/org/scijava/util/DoubleArray.java +++ b/src/main/java/org/scijava/util/DoubleArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/FileUtils.java b/src/main/java/org/scijava/util/FileUtils.java index 69a658896..cd1eb3781 100644 --- a/src/main/java/org/scijava/util/FileUtils.java +++ b/src/main/java/org/scijava/util/FileUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/FloatArray.java b/src/main/java/org/scijava/util/FloatArray.java index 61d7102d7..e3eab4d3d 100644 --- a/src/main/java/org/scijava/util/FloatArray.java +++ b/src/main/java/org/scijava/util/FloatArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/GenericUtils.java b/src/main/java/org/scijava/util/GenericUtils.java index ff45ab5ce..b1e623e12 100644 --- a/src/main/java/org/scijava/util/GenericUtils.java +++ b/src/main/java/org/scijava/util/GenericUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/IntArray.java b/src/main/java/org/scijava/util/IntArray.java index 21592e25d..491dbdc35 100644 --- a/src/main/java/org/scijava/util/IntArray.java +++ b/src/main/java/org/scijava/util/IntArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/IntCoords.java b/src/main/java/org/scijava/util/IntCoords.java index e368dbab7..3232d6634 100644 --- a/src/main/java/org/scijava/util/IntCoords.java +++ b/src/main/java/org/scijava/util/IntCoords.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/IntRect.java b/src/main/java/org/scijava/util/IntRect.java index 2ed65bbb2..0d6c621cd 100644 --- a/src/main/java/org/scijava/util/IntRect.java +++ b/src/main/java/org/scijava/util/IntRect.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/IteratorPlus.java b/src/main/java/org/scijava/util/IteratorPlus.java index 5827b173b..07a2699a1 100644 --- a/src/main/java/org/scijava/util/IteratorPlus.java +++ b/src/main/java/org/scijava/util/IteratorPlus.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/LastRecentlyUsed.java b/src/main/java/org/scijava/util/LastRecentlyUsed.java index 4f23438ce..baa11ea6d 100644 --- a/src/main/java/org/scijava/util/LastRecentlyUsed.java +++ b/src/main/java/org/scijava/util/LastRecentlyUsed.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/LineOutputStream.java b/src/main/java/org/scijava/util/LineOutputStream.java index de517f696..befb5c3d8 100644 --- a/src/main/java/org/scijava/util/LineOutputStream.java +++ b/src/main/java/org/scijava/util/LineOutputStream.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ListUtils.java b/src/main/java/org/scijava/util/ListUtils.java index 09981d20f..781980da9 100644 --- a/src/main/java/org/scijava/util/ListUtils.java +++ b/src/main/java/org/scijava/util/ListUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/LongArray.java b/src/main/java/org/scijava/util/LongArray.java index fce832a0b..e8fdab952 100644 --- a/src/main/java/org/scijava/util/LongArray.java +++ b/src/main/java/org/scijava/util/LongArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Manifest.java b/src/main/java/org/scijava/util/Manifest.java index e0dae6e79..460becff0 100644 --- a/src/main/java/org/scijava/util/Manifest.java +++ b/src/main/java/org/scijava/util/Manifest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/MersenneTwisterFast.java b/src/main/java/org/scijava/util/MersenneTwisterFast.java index d7e178c59..8b781c8e9 100644 --- a/src/main/java/org/scijava/util/MersenneTwisterFast.java +++ b/src/main/java/org/scijava/util/MersenneTwisterFast.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/MetaInfCombiner.java b/src/main/java/org/scijava/util/MetaInfCombiner.java index c34b3a236..66df0b78b 100644 --- a/src/main/java/org/scijava/util/MetaInfCombiner.java +++ b/src/main/java/org/scijava/util/MetaInfCombiner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/MirrorWebsite.java b/src/main/java/org/scijava/util/MirrorWebsite.java index d6f5ff1c6..08e7f6ccb 100644 --- a/src/main/java/org/scijava/util/MirrorWebsite.java +++ b/src/main/java/org/scijava/util/MirrorWebsite.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/MiscUtils.java b/src/main/java/org/scijava/util/MiscUtils.java index 0a6286d19..fffae00f5 100644 --- a/src/main/java/org/scijava/util/MiscUtils.java +++ b/src/main/java/org/scijava/util/MiscUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/NumberUtils.java b/src/main/java/org/scijava/util/NumberUtils.java index f3b8d84c6..1a77f54d6 100644 --- a/src/main/java/org/scijava/util/NumberUtils.java +++ b/src/main/java/org/scijava/util/NumberUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ObjectArray.java b/src/main/java/org/scijava/util/ObjectArray.java index 6b6ce4e60..252a551a1 100644 --- a/src/main/java/org/scijava/util/ObjectArray.java +++ b/src/main/java/org/scijava/util/ObjectArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/POM.java b/src/main/java/org/scijava/util/POM.java index 0811cdb21..2517c09ed 100644 --- a/src/main/java/org/scijava/util/POM.java +++ b/src/main/java/org/scijava/util/POM.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/PlatformUtils.java b/src/main/java/org/scijava/util/PlatformUtils.java index c6412303a..1dbf798a0 100644 --- a/src/main/java/org/scijava/util/PlatformUtils.java +++ b/src/main/java/org/scijava/util/PlatformUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Prefs.java b/src/main/java/org/scijava/util/Prefs.java index 9e1bc9191..d013b489c 100644 --- a/src/main/java/org/scijava/util/Prefs.java +++ b/src/main/java/org/scijava/util/Prefs.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/PrimitiveArray.java b/src/main/java/org/scijava/util/PrimitiveArray.java index 7fc4935df..694a5d1e2 100644 --- a/src/main/java/org/scijava/util/PrimitiveArray.java +++ b/src/main/java/org/scijava/util/PrimitiveArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ProcessUtils.java b/src/main/java/org/scijava/util/ProcessUtils.java index 233fca0c3..00be9935b 100644 --- a/src/main/java/org/scijava/util/ProcessUtils.java +++ b/src/main/java/org/scijava/util/ProcessUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Query.java b/src/main/java/org/scijava/util/Query.java index 431176950..eb9e40e13 100644 --- a/src/main/java/org/scijava/util/Query.java +++ b/src/main/java/org/scijava/util/Query.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ReadInto.java b/src/main/java/org/scijava/util/ReadInto.java index 3ef783c28..b6292da6a 100644 --- a/src/main/java/org/scijava/util/ReadInto.java +++ b/src/main/java/org/scijava/util/ReadInto.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/RealCoords.java b/src/main/java/org/scijava/util/RealCoords.java index 781b38910..bb2038ed5 100644 --- a/src/main/java/org/scijava/util/RealCoords.java +++ b/src/main/java/org/scijava/util/RealCoords.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/RealRect.java b/src/main/java/org/scijava/util/RealRect.java index b2fabab85..e39fe223e 100644 --- a/src/main/java/org/scijava/util/RealRect.java +++ b/src/main/java/org/scijava/util/RealRect.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ReflectException.java b/src/main/java/org/scijava/util/ReflectException.java index f3841cbc6..3dc5d5fde 100644 --- a/src/main/java/org/scijava/util/ReflectException.java +++ b/src/main/java/org/scijava/util/ReflectException.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ReflectedUniverse.java b/src/main/java/org/scijava/util/ReflectedUniverse.java index e3bb179fe..444f7aa13 100644 --- a/src/main/java/org/scijava/util/ReflectedUniverse.java +++ b/src/main/java/org/scijava/util/ReflectedUniverse.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ServiceCombiner.java b/src/main/java/org/scijava/util/ServiceCombiner.java index 92ab6595e..d6d80b4d5 100644 --- a/src/main/java/org/scijava/util/ServiceCombiner.java +++ b/src/main/java/org/scijava/util/ServiceCombiner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ShortArray.java b/src/main/java/org/scijava/util/ShortArray.java index e6552acb4..967279cb8 100644 --- a/src/main/java/org/scijava/util/ShortArray.java +++ b/src/main/java/org/scijava/util/ShortArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Sizable.java b/src/main/java/org/scijava/util/Sizable.java index 69826743e..415e5cda8 100644 --- a/src/main/java/org/scijava/util/Sizable.java +++ b/src/main/java/org/scijava/util/Sizable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/SizableArrayList.java b/src/main/java/org/scijava/util/SizableArrayList.java index a4882d018..56f37d9a3 100644 --- a/src/main/java/org/scijava/util/SizableArrayList.java +++ b/src/main/java/org/scijava/util/SizableArrayList.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/StringMaker.java b/src/main/java/org/scijava/util/StringMaker.java index 84a4b1338..35e57613f 100644 --- a/src/main/java/org/scijava/util/StringMaker.java +++ b/src/main/java/org/scijava/util/StringMaker.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/StringUtils.java b/src/main/java/org/scijava/util/StringUtils.java index ba1f57305..9bc7a5eb6 100644 --- a/src/main/java/org/scijava/util/StringUtils.java +++ b/src/main/java/org/scijava/util/StringUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Timing.java b/src/main/java/org/scijava/util/Timing.java index 56c71c050..3cb1b2ad9 100644 --- a/src/main/java/org/scijava/util/Timing.java +++ b/src/main/java/org/scijava/util/Timing.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/TreeNode.java b/src/main/java/org/scijava/util/TreeNode.java index 9402f1db7..5bea3299e 100644 --- a/src/main/java/org/scijava/util/TreeNode.java +++ b/src/main/java/org/scijava/util/TreeNode.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/TunePlayer.java b/src/main/java/org/scijava/util/TunePlayer.java index 7460c8bcf..5b67f2573 100644 --- a/src/main/java/org/scijava/util/TunePlayer.java +++ b/src/main/java/org/scijava/util/TunePlayer.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Types.java b/src/main/java/org/scijava/util/Types.java index 597e2bb06..6044ba831 100644 --- a/src/main/java/org/scijava/util/Types.java +++ b/src/main/java/org/scijava/util/Types.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/UnitUtils.java b/src/main/java/org/scijava/util/UnitUtils.java index 315c69149..55934b8be 100644 --- a/src/main/java/org/scijava/util/UnitUtils.java +++ b/src/main/java/org/scijava/util/UnitUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/VersionUtils.java b/src/main/java/org/scijava/util/VersionUtils.java index 0dac9702f..f207865b4 100644 --- a/src/main/java/org/scijava/util/VersionUtils.java +++ b/src/main/java/org/scijava/util/VersionUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/XML.java b/src/main/java/org/scijava/util/XML.java index aee47bf36..c9edda41b 100644 --- a/src/main/java/org/scijava/util/XML.java +++ b/src/main/java/org/scijava/util/XML.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/welcome/DefaultWelcomeService.java b/src/main/java/org/scijava/welcome/DefaultWelcomeService.java index 763fe8a08..70781baae 100644 --- a/src/main/java/org/scijava/welcome/DefaultWelcomeService.java +++ b/src/main/java/org/scijava/welcome/DefaultWelcomeService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/welcome/WelcomeService.java b/src/main/java/org/scijava/welcome/WelcomeService.java index dfdc1ace1..afababa6e 100644 --- a/src/main/java/org/scijava/welcome/WelcomeService.java +++ b/src/main/java/org/scijava/welcome/WelcomeService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/welcome/event/WelcomeEvent.java b/src/main/java/org/scijava/welcome/event/WelcomeEvent.java index 09e67f6ab..b84d124b5 100644 --- a/src/main/java/org/scijava/welcome/event/WelcomeEvent.java +++ b/src/main/java/org/scijava/welcome/event/WelcomeEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/AbstractInputHarvester.java b/src/main/java/org/scijava/widget/AbstractInputHarvester.java index 582b72b77..52ee74ae9 100644 --- a/src/main/java/org/scijava/widget/AbstractInputHarvester.java +++ b/src/main/java/org/scijava/widget/AbstractInputHarvester.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/AbstractInputPanel.java b/src/main/java/org/scijava/widget/AbstractInputPanel.java index d0483f911..da306e7f2 100644 --- a/src/main/java/org/scijava/widget/AbstractInputPanel.java +++ b/src/main/java/org/scijava/widget/AbstractInputPanel.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/AbstractInputWidget.java b/src/main/java/org/scijava/widget/AbstractInputWidget.java index 379521c9a..c62cfb201 100644 --- a/src/main/java/org/scijava/widget/AbstractInputWidget.java +++ b/src/main/java/org/scijava/widget/AbstractInputWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/Button.java b/src/main/java/org/scijava/widget/Button.java index ef8c22460..fe268b23d 100644 --- a/src/main/java/org/scijava/widget/Button.java +++ b/src/main/java/org/scijava/widget/Button.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/ButtonWidget.java b/src/main/java/org/scijava/widget/ButtonWidget.java index f06772fa4..865a879c9 100644 --- a/src/main/java/org/scijava/widget/ButtonWidget.java +++ b/src/main/java/org/scijava/widget/ButtonWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/ChoiceWidget.java b/src/main/java/org/scijava/widget/ChoiceWidget.java index d7b5449c5..158119163 100644 --- a/src/main/java/org/scijava/widget/ChoiceWidget.java +++ b/src/main/java/org/scijava/widget/ChoiceWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/ColorWidget.java b/src/main/java/org/scijava/widget/ColorWidget.java index 77363a9f3..15a835f02 100644 --- a/src/main/java/org/scijava/widget/ColorWidget.java +++ b/src/main/java/org/scijava/widget/ColorWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/DateWidget.java b/src/main/java/org/scijava/widget/DateWidget.java index 1bed7f3bd..c58aacd41 100644 --- a/src/main/java/org/scijava/widget/DateWidget.java +++ b/src/main/java/org/scijava/widget/DateWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/DefaultWidgetModel.java b/src/main/java/org/scijava/widget/DefaultWidgetModel.java index 1a768d5d7..1ff982265 100644 --- a/src/main/java/org/scijava/widget/DefaultWidgetModel.java +++ b/src/main/java/org/scijava/widget/DefaultWidgetModel.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/DefaultWidgetService.java b/src/main/java/org/scijava/widget/DefaultWidgetService.java index 5487289d1..f41a248d4 100644 --- a/src/main/java/org/scijava/widget/DefaultWidgetService.java +++ b/src/main/java/org/scijava/widget/DefaultWidgetService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/FileListWidget.java b/src/main/java/org/scijava/widget/FileListWidget.java index a47cc89c9..331344f76 100644 --- a/src/main/java/org/scijava/widget/FileListWidget.java +++ b/src/main/java/org/scijava/widget/FileListWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/FileWidget.java b/src/main/java/org/scijava/widget/FileWidget.java index 2e3b5fac1..dd2ea0aad 100644 --- a/src/main/java/org/scijava/widget/FileWidget.java +++ b/src/main/java/org/scijava/widget/FileWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/InputHarvester.java b/src/main/java/org/scijava/widget/InputHarvester.java index 80640cd83..2c364e914 100644 --- a/src/main/java/org/scijava/widget/InputHarvester.java +++ b/src/main/java/org/scijava/widget/InputHarvester.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/InputPanel.java b/src/main/java/org/scijava/widget/InputPanel.java index 78ee87076..d13b01161 100644 --- a/src/main/java/org/scijava/widget/InputPanel.java +++ b/src/main/java/org/scijava/widget/InputPanel.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/InputWidget.java b/src/main/java/org/scijava/widget/InputWidget.java index 5107eb2aa..0e7bfc07a 100644 --- a/src/main/java/org/scijava/widget/InputWidget.java +++ b/src/main/java/org/scijava/widget/InputWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/MessageWidget.java b/src/main/java/org/scijava/widget/MessageWidget.java index c1245b479..020ca8435 100644 --- a/src/main/java/org/scijava/widget/MessageWidget.java +++ b/src/main/java/org/scijava/widget/MessageWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/NumberWidget.java b/src/main/java/org/scijava/widget/NumberWidget.java index 1e6f85a30..39122cb03 100644 --- a/src/main/java/org/scijava/widget/NumberWidget.java +++ b/src/main/java/org/scijava/widget/NumberWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/ObjectWidget.java b/src/main/java/org/scijava/widget/ObjectWidget.java index d13a56261..fdde6e55a 100644 --- a/src/main/java/org/scijava/widget/ObjectWidget.java +++ b/src/main/java/org/scijava/widget/ObjectWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/TextWidget.java b/src/main/java/org/scijava/widget/TextWidget.java index 4f5dab5f5..41f38498c 100644 --- a/src/main/java/org/scijava/widget/TextWidget.java +++ b/src/main/java/org/scijava/widget/TextWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/ToggleWidget.java b/src/main/java/org/scijava/widget/ToggleWidget.java index af9e18369..7e128e7f5 100644 --- a/src/main/java/org/scijava/widget/ToggleWidget.java +++ b/src/main/java/org/scijava/widget/ToggleWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/UIComponent.java b/src/main/java/org/scijava/widget/UIComponent.java index c03d375be..9a5e636ba 100644 --- a/src/main/java/org/scijava/widget/UIComponent.java +++ b/src/main/java/org/scijava/widget/UIComponent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/WidgetModel.java b/src/main/java/org/scijava/widget/WidgetModel.java index 80f033de0..3e8d9f953 100644 --- a/src/main/java/org/scijava/widget/WidgetModel.java +++ b/src/main/java/org/scijava/widget/WidgetModel.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/WidgetService.java b/src/main/java/org/scijava/widget/WidgetService.java index fd0eee169..323c1f257 100644 --- a/src/main/java/org/scijava/widget/WidgetService.java +++ b/src/main/java/org/scijava/widget/WidgetService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/WidgetStyle.java b/src/main/java/org/scijava/widget/WidgetStyle.java index 6e7b04b87..508f29e0a 100644 --- a/src/main/java/org/scijava/widget/WidgetStyle.java +++ b/src/main/java/org/scijava/widget/WidgetStyle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/ContextCreationTest.java b/src/test/java/org/scijava/ContextCreationTest.java index ccf76e426..f34259805 100644 --- a/src/test/java/org/scijava/ContextCreationTest.java +++ b/src/test/java/org/scijava/ContextCreationTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/ContextInjectionTest.java b/src/test/java/org/scijava/ContextInjectionTest.java index f05706dfa..ee6d087cf 100644 --- a/src/test/java/org/scijava/ContextInjectionTest.java +++ b/src/test/java/org/scijava/ContextInjectionTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/SciJavaTest.java b/src/test/java/org/scijava/SciJavaTest.java index b66a0587f..fc7cb0db4 100644 --- a/src/test/java/org/scijava/SciJavaTest.java +++ b/src/test/java/org/scijava/SciJavaTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/AnnotatedA.java b/src/test/java/org/scijava/annotations/AnnotatedA.java index b30632b66..7fdfba27e 100644 --- a/src/test/java/org/scijava/annotations/AnnotatedA.java +++ b/src/test/java/org/scijava/annotations/AnnotatedA.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/AnnotatedB.java b/src/test/java/org/scijava/annotations/AnnotatedB.java index c6a2af6b1..88103149c 100644 --- a/src/test/java/org/scijava/annotations/AnnotatedB.java +++ b/src/test/java/org/scijava/annotations/AnnotatedB.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/AnnotatedC.java b/src/test/java/org/scijava/annotations/AnnotatedC.java index 098b4597a..72c387845 100644 --- a/src/test/java/org/scijava/annotations/AnnotatedC.java +++ b/src/test/java/org/scijava/annotations/AnnotatedC.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/AnnotatedD.java b/src/test/java/org/scijava/annotations/AnnotatedD.java index 9baa28c3d..242180095 100644 --- a/src/test/java/org/scijava/annotations/AnnotatedD.java +++ b/src/test/java/org/scijava/annotations/AnnotatedD.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/AnnotatedInnerClass.java b/src/test/java/org/scijava/annotations/AnnotatedInnerClass.java index 8a7be9293..5acfd4beb 100644 --- a/src/test/java/org/scijava/annotations/AnnotatedInnerClass.java +++ b/src/test/java/org/scijava/annotations/AnnotatedInnerClass.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/Complex.java b/src/test/java/org/scijava/annotations/Complex.java index cf767f6b3..e2348e92b 100644 --- a/src/test/java/org/scijava/annotations/Complex.java +++ b/src/test/java/org/scijava/annotations/Complex.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/DirectoryIndexerTest.java b/src/test/java/org/scijava/annotations/DirectoryIndexerTest.java index 06ce50b5b..3ad441f01 100644 --- a/src/test/java/org/scijava/annotations/DirectoryIndexerTest.java +++ b/src/test/java/org/scijava/annotations/DirectoryIndexerTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/EclipseHelperTest.java b/src/test/java/org/scijava/annotations/EclipseHelperTest.java index e47ee1d4d..204257bac 100644 --- a/src/test/java/org/scijava/annotations/EclipseHelperTest.java +++ b/src/test/java/org/scijava/annotations/EclipseHelperTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/Fruit.java b/src/test/java/org/scijava/annotations/Fruit.java index 657d3ecb5..bdc884e7d 100644 --- a/src/test/java/org/scijava/annotations/Fruit.java +++ b/src/test/java/org/scijava/annotations/Fruit.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/LegacyTest.java b/src/test/java/org/scijava/annotations/LegacyTest.java index 7e7290c52..b1eea96ac 100644 --- a/src/test/java/org/scijava/annotations/LegacyTest.java +++ b/src/test/java/org/scijava/annotations/LegacyTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/Simple.java b/src/test/java/org/scijava/annotations/Simple.java index 5b713e1d9..62eb0e389 100644 --- a/src/test/java/org/scijava/annotations/Simple.java +++ b/src/test/java/org/scijava/annotations/Simple.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/app/StatusServiceTest.java b/src/test/java/org/scijava/app/StatusServiceTest.java index 02b074e38..35630e00d 100644 --- a/src/test/java/org/scijava/app/StatusServiceTest.java +++ b/src/test/java/org/scijava/app/StatusServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/command/CommandArrayConverterTest.java b/src/test/java/org/scijava/command/CommandArrayConverterTest.java index b42d2eae7..bdc0c1682 100644 --- a/src/test/java/org/scijava/command/CommandArrayConverterTest.java +++ b/src/test/java/org/scijava/command/CommandArrayConverterTest.java @@ -1,3 +1,31 @@ +/*- + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2021 SciJava developers. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ package org.scijava.command; import org.junit.Test; diff --git a/src/test/java/org/scijava/command/CommandInfoTest.java b/src/test/java/org/scijava/command/CommandInfoTest.java index 822686f86..fabad17f0 100644 --- a/src/test/java/org/scijava/command/CommandInfoTest.java +++ b/src/test/java/org/scijava/command/CommandInfoTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/command/CommandModuleTest.java b/src/test/java/org/scijava/command/CommandModuleTest.java index 8f32e59bd..5620d4cd2 100644 --- a/src/test/java/org/scijava/command/CommandModuleTest.java +++ b/src/test/java/org/scijava/command/CommandModuleTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/command/CommandServiceTest.java b/src/test/java/org/scijava/command/CommandServiceTest.java index ca89f8084..521dae0f2 100644 --- a/src/test/java/org/scijava/command/CommandServiceTest.java +++ b/src/test/java/org/scijava/command/CommandServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/command/InputsTest.java b/src/test/java/org/scijava/command/InputsTest.java index 57df8ff62..0ed5fbcee 100644 --- a/src/test/java/org/scijava/command/InputsTest.java +++ b/src/test/java/org/scijava/command/InputsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/command/InvalidCommandTest.java b/src/test/java/org/scijava/command/InvalidCommandTest.java index 8ab7b7c53..7c9c4e509 100644 --- a/src/test/java/org/scijava/command/InvalidCommandTest.java +++ b/src/test/java/org/scijava/command/InvalidCommandTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/command/run/CommandCodeRunnerTest.java b/src/test/java/org/scijava/command/run/CommandCodeRunnerTest.java index d9a47c566..8b94a4396 100644 --- a/src/test/java/org/scijava/command/run/CommandCodeRunnerTest.java +++ b/src/test/java/org/scijava/command/run/CommandCodeRunnerTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/console/ConsoleServiceTest.java b/src/test/java/org/scijava/console/ConsoleServiceTest.java index 45f3af9c5..7f6f9ce76 100644 --- a/src/test/java/org/scijava/console/ConsoleServiceTest.java +++ b/src/test/java/org/scijava/console/ConsoleServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/console/SystemPropertyArgumentTest.java b/src/test/java/org/scijava/console/SystemPropertyArgumentTest.java index a1b0b5992..1fa912c8d 100644 --- a/src/test/java/org/scijava/console/SystemPropertyArgumentTest.java +++ b/src/test/java/org/scijava/console/SystemPropertyArgumentTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/AbstractNumberConverterTests.java b/src/test/java/org/scijava/convert/AbstractNumberConverterTests.java index c28ff6247..5dd0fb908 100644 --- a/src/test/java/org/scijava/convert/AbstractNumberConverterTests.java +++ b/src/test/java/org/scijava/convert/AbstractNumberConverterTests.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/BigIntegerToBigDecimalConverterTest.java b/src/test/java/org/scijava/convert/BigIntegerToBigDecimalConverterTest.java index 966ca3501..2b604398a 100644 --- a/src/test/java/org/scijava/convert/BigIntegerToBigDecimalConverterTest.java +++ b/src/test/java/org/scijava/convert/BigIntegerToBigDecimalConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ByteToBigDecimalConverterTest.java b/src/test/java/org/scijava/convert/ByteToBigDecimalConverterTest.java index c988e252e..8ef681e1b 100644 --- a/src/test/java/org/scijava/convert/ByteToBigDecimalConverterTest.java +++ b/src/test/java/org/scijava/convert/ByteToBigDecimalConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ByteToBigIntegerConverterTest.java b/src/test/java/org/scijava/convert/ByteToBigIntegerConverterTest.java index db0ce1531..2985dcd7a 100644 --- a/src/test/java/org/scijava/convert/ByteToBigIntegerConverterTest.java +++ b/src/test/java/org/scijava/convert/ByteToBigIntegerConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ByteToDoubleConverterTest.java b/src/test/java/org/scijava/convert/ByteToDoubleConverterTest.java index 153986d8f..e62bd6741 100644 --- a/src/test/java/org/scijava/convert/ByteToDoubleConverterTest.java +++ b/src/test/java/org/scijava/convert/ByteToDoubleConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ByteToFloatConverterTest.java b/src/test/java/org/scijava/convert/ByteToFloatConverterTest.java index d5fe939ff..8c003a1de 100644 --- a/src/test/java/org/scijava/convert/ByteToFloatConverterTest.java +++ b/src/test/java/org/scijava/convert/ByteToFloatConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ByteToIntegerConverterTest.java b/src/test/java/org/scijava/convert/ByteToIntegerConverterTest.java index b5eeddebb..0d3388b30 100644 --- a/src/test/java/org/scijava/convert/ByteToIntegerConverterTest.java +++ b/src/test/java/org/scijava/convert/ByteToIntegerConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ByteToLongConverterTest.java b/src/test/java/org/scijava/convert/ByteToLongConverterTest.java index dc76b0314..3d60ed5c8 100644 --- a/src/test/java/org/scijava/convert/ByteToLongConverterTest.java +++ b/src/test/java/org/scijava/convert/ByteToLongConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ByteToShortConverterTest.java b/src/test/java/org/scijava/convert/ByteToShortConverterTest.java index ac4169511..4cf3772de 100644 --- a/src/test/java/org/scijava/convert/ByteToShortConverterTest.java +++ b/src/test/java/org/scijava/convert/ByteToShortConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ConvertServiceTest.java b/src/test/java/org/scijava/convert/ConvertServiceTest.java index 1634f8e57..75553f0a6 100644 --- a/src/test/java/org/scijava/convert/ConvertServiceTest.java +++ b/src/test/java/org/scijava/convert/ConvertServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ConverterTest.java b/src/test/java/org/scijava/convert/ConverterTest.java index 9473e4a16..af7e64dbf 100644 --- a/src/test/java/org/scijava/convert/ConverterTest.java +++ b/src/test/java/org/scijava/convert/ConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/DelegateConverterTest.java b/src/test/java/org/scijava/convert/DelegateConverterTest.java index ab3941050..d85d11090 100644 --- a/src/test/java/org/scijava/convert/DelegateConverterTest.java +++ b/src/test/java/org/scijava/convert/DelegateConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/DoubleToBigDecimalConverterTest.java b/src/test/java/org/scijava/convert/DoubleToBigDecimalConverterTest.java index c903e33eb..c235a8005 100644 --- a/src/test/java/org/scijava/convert/DoubleToBigDecimalConverterTest.java +++ b/src/test/java/org/scijava/convert/DoubleToBigDecimalConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/FileListConverterTest.java b/src/test/java/org/scijava/convert/FileListConverterTest.java index e690f926e..95ecad501 100644 --- a/src/test/java/org/scijava/convert/FileListConverterTest.java +++ b/src/test/java/org/scijava/convert/FileListConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/FloatToBigDecimalConverterTest.java b/src/test/java/org/scijava/convert/FloatToBigDecimalConverterTest.java index b67714c14..bc32f0223 100644 --- a/src/test/java/org/scijava/convert/FloatToBigDecimalConverterTest.java +++ b/src/test/java/org/scijava/convert/FloatToBigDecimalConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/FloatToDoubleConverterTest.java b/src/test/java/org/scijava/convert/FloatToDoubleConverterTest.java index fe2c586b4..8c54546ba 100644 --- a/src/test/java/org/scijava/convert/FloatToDoubleConverterTest.java +++ b/src/test/java/org/scijava/convert/FloatToDoubleConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/IntegerToBigDecimalConverterTest.java b/src/test/java/org/scijava/convert/IntegerToBigDecimalConverterTest.java index ac3d1d222..19325bd76 100644 --- a/src/test/java/org/scijava/convert/IntegerToBigDecimalConverterTest.java +++ b/src/test/java/org/scijava/convert/IntegerToBigDecimalConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/IntegerToBigIntegerConverterTest.java b/src/test/java/org/scijava/convert/IntegerToBigIntegerConverterTest.java index 980fdee94..5517d4fa3 100644 --- a/src/test/java/org/scijava/convert/IntegerToBigIntegerConverterTest.java +++ b/src/test/java/org/scijava/convert/IntegerToBigIntegerConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/IntegerToDoubleConverterTest.java b/src/test/java/org/scijava/convert/IntegerToDoubleConverterTest.java index be4045cd4..bfdadf07b 100644 --- a/src/test/java/org/scijava/convert/IntegerToDoubleConverterTest.java +++ b/src/test/java/org/scijava/convert/IntegerToDoubleConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/IntegerToLongConverterTest.java b/src/test/java/org/scijava/convert/IntegerToLongConverterTest.java index d3c174f2f..312a85679 100644 --- a/src/test/java/org/scijava/convert/IntegerToLongConverterTest.java +++ b/src/test/java/org/scijava/convert/IntegerToLongConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/LongToBigDecimalConverterTest.java b/src/test/java/org/scijava/convert/LongToBigDecimalConverterTest.java index 684c6480f..091132b8a 100644 --- a/src/test/java/org/scijava/convert/LongToBigDecimalConverterTest.java +++ b/src/test/java/org/scijava/convert/LongToBigDecimalConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/LongToBigIntegerConverterTest.java b/src/test/java/org/scijava/convert/LongToBigIntegerConverterTest.java index 67a3aa196..79031df8d 100644 --- a/src/test/java/org/scijava/convert/LongToBigIntegerConverterTest.java +++ b/src/test/java/org/scijava/convert/LongToBigIntegerConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ShortToBigDecimalConverterTest.java b/src/test/java/org/scijava/convert/ShortToBigDecimalConverterTest.java index b70c66c99..94f762a12 100644 --- a/src/test/java/org/scijava/convert/ShortToBigDecimalConverterTest.java +++ b/src/test/java/org/scijava/convert/ShortToBigDecimalConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ShortToBigIntegerConverterTest.java b/src/test/java/org/scijava/convert/ShortToBigIntegerConverterTest.java index 5770c77a9..ea1e57231 100644 --- a/src/test/java/org/scijava/convert/ShortToBigIntegerConverterTest.java +++ b/src/test/java/org/scijava/convert/ShortToBigIntegerConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ShortToDoubleConverterTest.java b/src/test/java/org/scijava/convert/ShortToDoubleConverterTest.java index b02e438f2..de2cc0830 100644 --- a/src/test/java/org/scijava/convert/ShortToDoubleConverterTest.java +++ b/src/test/java/org/scijava/convert/ShortToDoubleConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ShortToFloatConverterTest.java b/src/test/java/org/scijava/convert/ShortToFloatConverterTest.java index 29592cd6c..3990fd988 100644 --- a/src/test/java/org/scijava/convert/ShortToFloatConverterTest.java +++ b/src/test/java/org/scijava/convert/ShortToFloatConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ShortToIntegerConverterTest.java b/src/test/java/org/scijava/convert/ShortToIntegerConverterTest.java index 83079e693..4447698b8 100644 --- a/src/test/java/org/scijava/convert/ShortToIntegerConverterTest.java +++ b/src/test/java/org/scijava/convert/ShortToIntegerConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ShortToLongConverterTest.java b/src/test/java/org/scijava/convert/ShortToLongConverterTest.java index 9e7dcac9d..b41a7f34e 100644 --- a/src/test/java/org/scijava/convert/ShortToLongConverterTest.java +++ b/src/test/java/org/scijava/convert/ShortToLongConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/display/DisplayTest.java b/src/test/java/org/scijava/display/DisplayTest.java index 45d667eb9..ebf9badd2 100644 --- a/src/test/java/org/scijava/display/DisplayTest.java +++ b/src/test/java/org/scijava/display/DisplayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/download/DownloadServiceTest.java b/src/test/java/org/scijava/download/DownloadServiceTest.java index 3a4f3abfb..b825cb23a 100644 --- a/src/test/java/org/scijava/download/DownloadServiceTest.java +++ b/src/test/java/org/scijava/download/DownloadServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/event/EventServiceTest.java b/src/test/java/org/scijava/event/EventServiceTest.java index b8b5c1c32..06c43b617 100644 --- a/src/test/java/org/scijava/event/EventServiceTest.java +++ b/src/test/java/org/scijava/event/EventServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/ByteArrayByteBankTest.java b/src/test/java/org/scijava/io/ByteArrayByteBankTest.java index 8466a16e0..ea9a55f08 100644 --- a/src/test/java/org/scijava/io/ByteArrayByteBankTest.java +++ b/src/test/java/org/scijava/io/ByteArrayByteBankTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/ByteBankTest.java b/src/test/java/org/scijava/io/ByteBankTest.java index b6350fb83..51836b92c 100644 --- a/src/test/java/org/scijava/io/ByteBankTest.java +++ b/src/test/java/org/scijava/io/ByteBankTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/IOServiceTest.java b/src/test/java/org/scijava/io/IOServiceTest.java index 5e39835ea..5a6888c6e 100644 --- a/src/test/java/org/scijava/io/IOServiceTest.java +++ b/src/test/java/org/scijava/io/IOServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/TypedIOServiceTest.java b/src/test/java/org/scijava/io/TypedIOServiceTest.java index affbbf66d..dbbccebd2 100644 --- a/src/test/java/org/scijava/io/TypedIOServiceTest.java +++ b/src/test/java/org/scijava/io/TypedIOServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/event/DataEventTest.java b/src/test/java/org/scijava/io/event/DataEventTest.java index e2d9457cd..961fcca13 100644 --- a/src/test/java/org/scijava/io/event/DataEventTest.java +++ b/src/test/java/org/scijava/io/event/DataEventTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/handle/BytesHandleTest.java b/src/test/java/org/scijava/io/handle/BytesHandleTest.java index 991d2663b..75777d74e 100644 --- a/src/test/java/org/scijava/io/handle/BytesHandleTest.java +++ b/src/test/java/org/scijava/io/handle/BytesHandleTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/handle/DataHandleEdgeCaseTests.java b/src/test/java/org/scijava/io/handle/DataHandleEdgeCaseTests.java index 6e0398aa8..33e77b6ff 100644 --- a/src/test/java/org/scijava/io/handle/DataHandleEdgeCaseTests.java +++ b/src/test/java/org/scijava/io/handle/DataHandleEdgeCaseTests.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/handle/DataHandleTest.java b/src/test/java/org/scijava/io/handle/DataHandleTest.java index 99ce93e35..b3b0335e8 100644 --- a/src/test/java/org/scijava/io/handle/DataHandleTest.java +++ b/src/test/java/org/scijava/io/handle/DataHandleTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/handle/DataHandlesTest.java b/src/test/java/org/scijava/io/handle/DataHandlesTest.java index 6bc45b329..4da36f681 100644 --- a/src/test/java/org/scijava/io/handle/DataHandlesTest.java +++ b/src/test/java/org/scijava/io/handle/DataHandlesTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/handle/FileHandleTest.java b/src/test/java/org/scijava/io/handle/FileHandleTest.java index 687161d90..408481690 100644 --- a/src/test/java/org/scijava/io/handle/FileHandleTest.java +++ b/src/test/java/org/scijava/io/handle/FileHandleTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/handle/ReadBufferDataHandleMockTest.java b/src/test/java/org/scijava/io/handle/ReadBufferDataHandleMockTest.java index ee964d265..aeea4acaa 100644 --- a/src/test/java/org/scijava/io/handle/ReadBufferDataHandleMockTest.java +++ b/src/test/java/org/scijava/io/handle/ReadBufferDataHandleMockTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/handle/ReadBufferDataHandleTest.java b/src/test/java/org/scijava/io/handle/ReadBufferDataHandleTest.java index 52d1436b0..4885c44f5 100644 --- a/src/test/java/org/scijava/io/handle/ReadBufferDataHandleTest.java +++ b/src/test/java/org/scijava/io/handle/ReadBufferDataHandleTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/handle/WriteBufferDataHandleTest.java b/src/test/java/org/scijava/io/handle/WriteBufferDataHandleTest.java index efa3c70d7..894e2c831 100644 --- a/src/test/java/org/scijava/io/handle/WriteBufferDataHandleTest.java +++ b/src/test/java/org/scijava/io/handle/WriteBufferDataHandleTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/location/BytesLocationTest.java b/src/test/java/org/scijava/io/location/BytesLocationTest.java index 583861392..ae7d7693c 100644 --- a/src/test/java/org/scijava/io/location/BytesLocationTest.java +++ b/src/test/java/org/scijava/io/location/BytesLocationTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/location/FileLocationResolverTest.java b/src/test/java/org/scijava/io/location/FileLocationResolverTest.java index 9b58fe467..f61e64659 100644 --- a/src/test/java/org/scijava/io/location/FileLocationResolverTest.java +++ b/src/test/java/org/scijava/io/location/FileLocationResolverTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/location/FileLocationTest.java b/src/test/java/org/scijava/io/location/FileLocationTest.java index aa12f5df7..dfdfc5e69 100644 --- a/src/test/java/org/scijava/io/location/FileLocationTest.java +++ b/src/test/java/org/scijava/io/location/FileLocationTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/location/LocationServiceTest.java b/src/test/java/org/scijava/io/location/LocationServiceTest.java index c298896da..032fbe403 100644 --- a/src/test/java/org/scijava/io/location/LocationServiceTest.java +++ b/src/test/java/org/scijava/io/location/LocationServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/location/URILocationTest.java b/src/test/java/org/scijava/io/location/URILocationTest.java index a8314552a..02d561c89 100644 --- a/src/test/java/org/scijava/io/location/URILocationTest.java +++ b/src/test/java/org/scijava/io/location/URILocationTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/location/URLLocationTest.java b/src/test/java/org/scijava/io/location/URLLocationTest.java index 5a802b5f9..487673059 100644 --- a/src/test/java/org/scijava/io/location/URLLocationTest.java +++ b/src/test/java/org/scijava/io/location/URLLocationTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/nio/ByteBufferByteBankTest.java b/src/test/java/org/scijava/io/nio/ByteBufferByteBankTest.java index 61e4a6c46..023b403f6 100644 --- a/src/test/java/org/scijava/io/nio/ByteBufferByteBankTest.java +++ b/src/test/java/org/scijava/io/nio/ByteBufferByteBankTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/log/CallingClassUtilsTest.java b/src/test/java/org/scijava/log/CallingClassUtilsTest.java index ff6d3df24..69a8e3dcd 100644 --- a/src/test/java/org/scijava/log/CallingClassUtilsTest.java +++ b/src/test/java/org/scijava/log/CallingClassUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/log/DefaultLoggerTest.java b/src/test/java/org/scijava/log/DefaultLoggerTest.java index f19707bec..dbdbfe16d 100644 --- a/src/test/java/org/scijava/log/DefaultLoggerTest.java +++ b/src/test/java/org/scijava/log/DefaultLoggerTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/log/LogMessageTest.java b/src/test/java/org/scijava/log/LogMessageTest.java index 8ad7252e3..199768671 100644 --- a/src/test/java/org/scijava/log/LogMessageTest.java +++ b/src/test/java/org/scijava/log/LogMessageTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/log/LogServiceTest.java b/src/test/java/org/scijava/log/LogServiceTest.java index 79d2b5362..700d6a173 100644 --- a/src/test/java/org/scijava/log/LogServiceTest.java +++ b/src/test/java/org/scijava/log/LogServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/log/LogSourceTest.java b/src/test/java/org/scijava/log/LogSourceTest.java index 2348731ef..d8096fd27 100644 --- a/src/test/java/org/scijava/log/LogSourceTest.java +++ b/src/test/java/org/scijava/log/LogSourceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/log/StderrLogServiceTest.java b/src/test/java/org/scijava/log/StderrLogServiceTest.java index 72c1de930..f18bbb3cb 100644 --- a/src/test/java/org/scijava/log/StderrLogServiceTest.java +++ b/src/test/java/org/scijava/log/StderrLogServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/log/TestLogListener.java b/src/test/java/org/scijava/log/TestLogListener.java index a07dc82e1..626d4e5dd 100644 --- a/src/test/java/org/scijava/log/TestLogListener.java +++ b/src/test/java/org/scijava/log/TestLogListener.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/main/MainServiceTest.java b/src/test/java/org/scijava/main/MainServiceTest.java index 1280da8ee..296008e36 100644 --- a/src/test/java/org/scijava/main/MainServiceTest.java +++ b/src/test/java/org/scijava/main/MainServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/main/run/MainCodeRunnerTest.java b/src/test/java/org/scijava/main/run/MainCodeRunnerTest.java index 8dc7b9449..961a21211 100644 --- a/src/test/java/org/scijava/main/run/MainCodeRunnerTest.java +++ b/src/test/java/org/scijava/main/run/MainCodeRunnerTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/menu/MenuServiceTest.java b/src/test/java/org/scijava/menu/MenuServiceTest.java index a5df5b5fa..c098f4ad0 100644 --- a/src/test/java/org/scijava/menu/MenuServiceTest.java +++ b/src/test/java/org/scijava/menu/MenuServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/menu/ShadowMenuTest.java b/src/test/java/org/scijava/menu/ShadowMenuTest.java index e1056e81e..4387f23e1 100644 --- a/src/test/java/org/scijava/menu/ShadowMenuTest.java +++ b/src/test/java/org/scijava/menu/ShadowMenuTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/module/ModuleServiceTest.java b/src/test/java/org/scijava/module/ModuleServiceTest.java index 90c9107b7..e41fd82ab 100644 --- a/src/test/java/org/scijava/module/ModuleServiceTest.java +++ b/src/test/java/org/scijava/module/ModuleServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/module/process/LoggerPreprocessorTest.java b/src/test/java/org/scijava/module/process/LoggerPreprocessorTest.java index f39cbccb8..98ab6288a 100644 --- a/src/test/java/org/scijava/module/process/LoggerPreprocessorTest.java +++ b/src/test/java/org/scijava/module/process/LoggerPreprocessorTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/module/run/ModuleCodeRunnerTest.java b/src/test/java/org/scijava/module/run/ModuleCodeRunnerTest.java index 03f5b059c..d3249eb30 100644 --- a/src/test/java/org/scijava/module/run/ModuleCodeRunnerTest.java +++ b/src/test/java/org/scijava/module/run/ModuleCodeRunnerTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/object/NamedObjectIndexTest.java b/src/test/java/org/scijava/object/NamedObjectIndexTest.java index 29544816a..7375ab0b4 100644 --- a/src/test/java/org/scijava/object/NamedObjectIndexTest.java +++ b/src/test/java/org/scijava/object/NamedObjectIndexTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/object/ObjectIndexTest.java b/src/test/java/org/scijava/object/ObjectIndexTest.java index e31d2b54d..244fce9ca 100644 --- a/src/test/java/org/scijava/object/ObjectIndexTest.java +++ b/src/test/java/org/scijava/object/ObjectIndexTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/object/ObjectServiceTest.java b/src/test/java/org/scijava/object/ObjectServiceTest.java index 0a473a3ba..cfaf44c7a 100644 --- a/src/test/java/org/scijava/object/ObjectServiceTest.java +++ b/src/test/java/org/scijava/object/ObjectServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/object/SortedObjectIndexTest.java b/src/test/java/org/scijava/object/SortedObjectIndexTest.java index a1922ad25..63f966fe4 100644 --- a/src/test/java/org/scijava/object/SortedObjectIndexTest.java +++ b/src/test/java/org/scijava/object/SortedObjectIndexTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/options/OptionsTest.java b/src/test/java/org/scijava/options/OptionsTest.java index c4de55bbd..d83de80e8 100644 --- a/src/test/java/org/scijava/options/OptionsTest.java +++ b/src/test/java/org/scijava/options/OptionsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/parse/ParseServiceTest.java b/src/test/java/org/scijava/parse/ParseServiceTest.java index 69ab7c3f9..7f1b3070a 100644 --- a/src/test/java/org/scijava/parse/ParseServiceTest.java +++ b/src/test/java/org/scijava/parse/ParseServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/plugin/PluginFinderTest.java b/src/test/java/org/scijava/plugin/PluginFinderTest.java index 6df16a8d7..28790ae03 100644 --- a/src/test/java/org/scijava/plugin/PluginFinderTest.java +++ b/src/test/java/org/scijava/plugin/PluginFinderTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/plugin/PluginIndexTest.java b/src/test/java/org/scijava/plugin/PluginIndexTest.java index 2fb4e4f59..5d44ea093 100644 --- a/src/test/java/org/scijava/plugin/PluginIndexTest.java +++ b/src/test/java/org/scijava/plugin/PluginIndexTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/plugin/PluginInfoTest.java b/src/test/java/org/scijava/plugin/PluginInfoTest.java index 3e46bf072..abb5b7fbc 100644 --- a/src/test/java/org/scijava/plugin/PluginInfoTest.java +++ b/src/test/java/org/scijava/plugin/PluginInfoTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/plugin/SingletonServiceTest.java b/src/test/java/org/scijava/plugin/SingletonServiceTest.java index f2cf3075e..2f00f5020 100644 --- a/src/test/java/org/scijava/plugin/SingletonServiceTest.java +++ b/src/test/java/org/scijava/plugin/SingletonServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/prefs/PrefServiceTest.java b/src/test/java/org/scijava/prefs/PrefServiceTest.java index 9f9733037..5797cab0f 100644 --- a/src/test/java/org/scijava/prefs/PrefServiceTest.java +++ b/src/test/java/org/scijava/prefs/PrefServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/run/RunServiceTest.java b/src/test/java/org/scijava/run/RunServiceTest.java index 304bce5cb..b8bdbce28 100644 --- a/src/test/java/org/scijava/run/RunServiceTest.java +++ b/src/test/java/org/scijava/run/RunServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/script/AbstractScriptLanguageTest.java b/src/test/java/org/scijava/script/AbstractScriptLanguageTest.java index e99d850e0..1b67d8fc1 100644 --- a/src/test/java/org/scijava/script/AbstractScriptLanguageTest.java +++ b/src/test/java/org/scijava/script/AbstractScriptLanguageTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/script/ScriptEngineTest.java b/src/test/java/org/scijava/script/ScriptEngineTest.java index a45d9b66e..c6ee8830c 100644 --- a/src/test/java/org/scijava/script/ScriptEngineTest.java +++ b/src/test/java/org/scijava/script/ScriptEngineTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/script/ScriptFinderTest.java b/src/test/java/org/scijava/script/ScriptFinderTest.java index 92bcfd1cb..8979affba 100644 --- a/src/test/java/org/scijava/script/ScriptFinderTest.java +++ b/src/test/java/org/scijava/script/ScriptFinderTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/script/ScriptInfoTest.java b/src/test/java/org/scijava/script/ScriptInfoTest.java index 678996628..43750e601 100644 --- a/src/test/java/org/scijava/script/ScriptInfoTest.java +++ b/src/test/java/org/scijava/script/ScriptInfoTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/script/ScriptServiceTest.java b/src/test/java/org/scijava/script/ScriptServiceTest.java index b9c5d14da..ab774845f 100644 --- a/src/test/java/org/scijava/script/ScriptServiceTest.java +++ b/src/test/java/org/scijava/script/ScriptServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/script/process/ParameterScriptProcessorTest.java b/src/test/java/org/scijava/script/process/ParameterScriptProcessorTest.java index 756a2dc9d..1f9cbde21 100644 --- a/src/test/java/org/scijava/script/process/ParameterScriptProcessorTest.java +++ b/src/test/java/org/scijava/script/process/ParameterScriptProcessorTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/service/ServiceIndexTest.java b/src/test/java/org/scijava/service/ServiceIndexTest.java index 972697a01..fa5d07512 100644 --- a/src/test/java/org/scijava/service/ServiceIndexTest.java +++ b/src/test/java/org/scijava/service/ServiceIndexTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/task/TaskServiceTest.java b/src/test/java/org/scijava/task/TaskServiceTest.java index 1dce2952a..3f80516b9 100644 --- a/src/test/java/org/scijava/task/TaskServiceTest.java +++ b/src/test/java/org/scijava/task/TaskServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/test/AbstractSciJavaTest.java b/src/test/java/org/scijava/test/AbstractSciJavaTest.java index 9064f9f92..2ba9fa0ea 100644 --- a/src/test/java/org/scijava/test/AbstractSciJavaTest.java +++ b/src/test/java/org/scijava/test/AbstractSciJavaTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/test/TestUtilsTest.java b/src/test/java/org/scijava/test/TestUtilsTest.java index b47d94f79..38058c958 100644 --- a/src/test/java/org/scijava/test/TestUtilsTest.java +++ b/src/test/java/org/scijava/test/TestUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/thread/ThreadServiceTest.java b/src/test/java/org/scijava/thread/ThreadServiceTest.java index 1bde42216..dcdc5822b 100644 --- a/src/test/java/org/scijava/thread/ThreadServiceTest.java +++ b/src/test/java/org/scijava/thread/ThreadServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/ui/UIServiceTest.java b/src/test/java/org/scijava/ui/UIServiceTest.java index f4c43008d..66c9fb892 100644 --- a/src/test/java/org/scijava/ui/UIServiceTest.java +++ b/src/test/java/org/scijava/ui/UIServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/AppUtilsTest.java b/src/test/java/org/scijava/util/AppUtilsTest.java index 11ac49cb5..e951aefc1 100644 --- a/src/test/java/org/scijava/util/AppUtilsTest.java +++ b/src/test/java/org/scijava/util/AppUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/ArrayUtilsTest.java b/src/test/java/org/scijava/util/ArrayUtilsTest.java index 7e98f5bf0..20c7b1e04 100644 --- a/src/test/java/org/scijava/util/ArrayUtilsTest.java +++ b/src/test/java/org/scijava/util/ArrayUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/BoolArrayTest.java b/src/test/java/org/scijava/util/BoolArrayTest.java index f481aab12..54ff4f062 100644 --- a/src/test/java/org/scijava/util/BoolArrayTest.java +++ b/src/test/java/org/scijava/util/BoolArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/ByteArrayTest.java b/src/test/java/org/scijava/util/ByteArrayTest.java index b0c22be5e..7897f5a46 100644 --- a/src/test/java/org/scijava/util/ByteArrayTest.java +++ b/src/test/java/org/scijava/util/ByteArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/CharArrayTest.java b/src/test/java/org/scijava/util/CharArrayTest.java index deb2b2a66..65bd49e8f 100644 --- a/src/test/java/org/scijava/util/CharArrayTest.java +++ b/src/test/java/org/scijava/util/CharArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/ClassUtilsTest.java b/src/test/java/org/scijava/util/ClassUtilsTest.java index e48c59dde..5276f427c 100644 --- a/src/test/java/org/scijava/util/ClassUtilsTest.java +++ b/src/test/java/org/scijava/util/ClassUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/ColorRGBTest.java b/src/test/java/org/scijava/util/ColorRGBTest.java index 5302f04d8..f4925301a 100644 --- a/src/test/java/org/scijava/util/ColorRGBTest.java +++ b/src/test/java/org/scijava/util/ColorRGBTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/ConversionUtilsTest.java b/src/test/java/org/scijava/util/ConversionUtilsTest.java index 84ee67931..4406e2cda 100644 --- a/src/test/java/org/scijava/util/ConversionUtilsTest.java +++ b/src/test/java/org/scijava/util/ConversionUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/DigestUtilsTest.java b/src/test/java/org/scijava/util/DigestUtilsTest.java index 792bac870..a0dbd98e3 100644 --- a/src/test/java/org/scijava/util/DigestUtilsTest.java +++ b/src/test/java/org/scijava/util/DigestUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/DoubleArrayTest.java b/src/test/java/org/scijava/util/DoubleArrayTest.java index 42d9dbeb9..cfe85860c 100644 --- a/src/test/java/org/scijava/util/DoubleArrayTest.java +++ b/src/test/java/org/scijava/util/DoubleArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/FileUtilsTest.java b/src/test/java/org/scijava/util/FileUtilsTest.java index 64c3a0024..89e83b4a9 100644 --- a/src/test/java/org/scijava/util/FileUtilsTest.java +++ b/src/test/java/org/scijava/util/FileUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/FloatArrayTest.java b/src/test/java/org/scijava/util/FloatArrayTest.java index d68961a92..72a8350f0 100644 --- a/src/test/java/org/scijava/util/FloatArrayTest.java +++ b/src/test/java/org/scijava/util/FloatArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/GenericArrayTypesTest.java b/src/test/java/org/scijava/util/GenericArrayTypesTest.java index 689d5328d..fdf443b05 100644 --- a/src/test/java/org/scijava/util/GenericArrayTypesTest.java +++ b/src/test/java/org/scijava/util/GenericArrayTypesTest.java @@ -1,3 +1,31 @@ +/*- + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2021 SciJava developers. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ package org.scijava.util; import static org.junit.Assert.assertEquals; diff --git a/src/test/java/org/scijava/util/IntArrayTest.java b/src/test/java/org/scijava/util/IntArrayTest.java index e55154002..c495d0e35 100644 --- a/src/test/java/org/scijava/util/IntArrayTest.java +++ b/src/test/java/org/scijava/util/IntArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/LastRecentlyUsedTest.java b/src/test/java/org/scijava/util/LastRecentlyUsedTest.java index 55e7157cb..7d701c838 100644 --- a/src/test/java/org/scijava/util/LastRecentlyUsedTest.java +++ b/src/test/java/org/scijava/util/LastRecentlyUsedTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/LongArrayTest.java b/src/test/java/org/scijava/util/LongArrayTest.java index 43d742da3..554f4b2be 100644 --- a/src/test/java/org/scijava/util/LongArrayTest.java +++ b/src/test/java/org/scijava/util/LongArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/ObjectArrayTest.java b/src/test/java/org/scijava/util/ObjectArrayTest.java index 9b9ff1eab..5eb9056a3 100644 --- a/src/test/java/org/scijava/util/ObjectArrayTest.java +++ b/src/test/java/org/scijava/util/ObjectArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/POMTest.java b/src/test/java/org/scijava/util/POMTest.java index 6d3c5e9cb..3a6890ae9 100644 --- a/src/test/java/org/scijava/util/POMTest.java +++ b/src/test/java/org/scijava/util/POMTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/PrimitiveArrayTest.java b/src/test/java/org/scijava/util/PrimitiveArrayTest.java index 7b64063fd..679327709 100644 --- a/src/test/java/org/scijava/util/PrimitiveArrayTest.java +++ b/src/test/java/org/scijava/util/PrimitiveArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/ProcessUtilsTest.java b/src/test/java/org/scijava/util/ProcessUtilsTest.java index 300cd5b01..82bc10524 100644 --- a/src/test/java/org/scijava/util/ProcessUtilsTest.java +++ b/src/test/java/org/scijava/util/ProcessUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/ShortArrayTest.java b/src/test/java/org/scijava/util/ShortArrayTest.java index 1a3211c03..bff05f0c2 100644 --- a/src/test/java/org/scijava/util/ShortArrayTest.java +++ b/src/test/java/org/scijava/util/ShortArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/StringUtilsTest.java b/src/test/java/org/scijava/util/StringUtilsTest.java index 168ef614b..bc31d533b 100644 --- a/src/test/java/org/scijava/util/StringUtilsTest.java +++ b/src/test/java/org/scijava/util/StringUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/TypesTest.java b/src/test/java/org/scijava/util/TypesTest.java index f18a60c95..545877756 100644 --- a/src/test/java/org/scijava/util/TypesTest.java +++ b/src/test/java/org/scijava/util/TypesTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/UnitUtilsTest.java b/src/test/java/org/scijava/util/UnitUtilsTest.java index e5ecb806b..116f8ad8e 100644 --- a/src/test/java/org/scijava/util/UnitUtilsTest.java +++ b/src/test/java/org/scijava/util/UnitUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/VersionUtilsTest.java b/src/test/java/org/scijava/util/VersionUtilsTest.java index 57bf77718..4874af6eb 100644 --- a/src/test/java/org/scijava/util/VersionUtilsTest.java +++ b/src/test/java/org/scijava/util/VersionUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/widget/WidgetStyleTest.java b/src/test/java/org/scijava/widget/WidgetStyleTest.java index 1c1a3aa22..079ed72a5 100644 --- a/src/test/java/org/scijava/widget/WidgetStyleTest.java +++ b/src/test/java/org/scijava/widget/WidgetStyleTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2020 SciJava developers. + * Copyright (C) 2009 - 2021 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: From 986cf8260ceca8778a598022bb9c5a182d0b73e9 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Thu, 9 Sep 2021 10:03:19 -0500 Subject: [PATCH 185/383] Bump to next development cycle Signed-off-by: Curtis Rueden --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 264a48d6f..738ab9db2 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.87.0-SNAPSHOT + 2.87.1-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From 582bafeefd85eac6a3bfcbdb1cc368a5bd21a86d Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Thu, 9 Sep 2021 12:23:12 -0500 Subject: [PATCH 186/383] ClassUtils: be defensive about field annotations We already do this when caching annotations for methods; see 52acc853ed1dd77b9b487f0d3c9cfac45f7fbd6d. It is possible for the list of fields to be null if something goes sideways regarding class loading. --- src/main/java/org/scijava/util/ClassUtils.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/main/java/org/scijava/util/ClassUtils.java b/src/main/java/org/scijava/util/ClassUtils.java index d1be649dd..12a727530 100644 --- a/src/main/java/org/scijava/util/ClassUtils.java +++ b/src/main/java/org/scijava/util/ClassUtils.java @@ -189,11 +189,8 @@ public static
    void getAnnotatedFields( cacheAnnotatedObjects(c, query); cachedFields = fieldCache.getList(c, annotationClass); } - // CTR START HERE: cachedFields should never be null now. - // But it is, with FilamentDetector 1.0.0. Figure out why and fix. - // Then cut release of scijava-common, and FilamentDetector. - fields.addAll(cachedFields); + if (cachedFields != null) fields.addAll(cachedFields); } /** From f8c14fd032021c38b03e8c7d58926792751e7e06 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Sun, 10 Oct 2021 16:15:14 -0500 Subject: [PATCH 187/383] Context: do not let close() throw Exception The dispose() method does not throw exceptions, and we do not need to throw one when auto-closing. This prevents the compilation error: Unhandled exception type Exception thrown by automatic close() invocation on context which occurs with code of the form: try (Context context = new Context()) { ... } --- src/main/java/org/scijava/Context.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/scijava/Context.java b/src/main/java/org/scijava/Context.java index dee623861..c1559cb4c 100644 --- a/src/main/java/org/scijava/Context.java +++ b/src/main/java/org/scijava/Context.java @@ -433,7 +433,7 @@ public void dispose() { // -- AutoCloseable methods -- @Override - public void close() throws Exception { + public void close() { dispose(); } From f1aaf7d38cdab772177bca9921dfadf215c84bf0 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Sat, 23 Oct 2021 18:46:12 -0500 Subject: [PATCH 188/383] POM: update parent POM version and imagej.net URLs --- pom.xml | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/pom.xml b/pom.xml index 738ab9db2..e78356f70 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.scijava pom-scijava - 30.0.0 + 31.1.0 @@ -31,7 +31,7 @@ ctrueden Curtis Rueden - https://imagej.net/User:Rueden + https://imagej.net/people/ctrueden founder lead @@ -46,13 +46,13 @@ Mark Hiner - https://imagej.net/User:Hinerm + https://imagej.net/people/hinerm founder hinerm Johannes Schindelin - https://imagej.net/User:Schindelin + https://imagej.net/people/dscho dscho @@ -61,69 +61,72 @@ Barry DeZonia - https://imagej.net/User:Bdezonia + https://imagej.net/people/bdezonia bdezonia Christian Dietz - https://imagej.net/User:Dietzc + https://imagej.net/people/dietzc dietzc Richard Domander - https://imagej.net/User:Rdom + https://imagej.net/people/rimadoma rimadoma Gabriel Einsdorf - https://imagej.net/User:Gab1one + https://imagej.net/people/gab1one gab1one Aivar Grislis - https://imagej.net/User:Grislis + https://imagej.net/people/grislis grislis Jonathan Hale + https://imagej.net/people/Squareys Squareys Grant Harris - https://imagej.net/User:Harris + https://imagej.net/people/tnargsirrah tnargsirrah Lee Kamentsky - https://imagej.net/User:Leek + https://imagej.net/people/LeeKamentsky LeeKamentsky Rick Lentz - https://imagej.net/User:Lentz + https://imagej.net/people/ricklentz + ricklentz Melissa Linkert - https://imagej.net/User:Linkert + https://imagej.net/people/melissalinkert melissalinkert Kevin Mader - https://imagej.net/User:Ksmader + https://imagej.net/people/kmader kmader Hadrien Mary - https://imagej.net/User:Hadim + https://imagej.net/people/hadim hadim Alison Walter - https://imagej.net/User:Awalter2 + https://imagej.net/people/awalter17 awalter17 Jay Warrick + https://imagej.net/people/jaywarrick jaywarrick From 65b8595666406515e58e94648758dcfb75eec9e8 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Sat, 23 Oct 2021 18:47:24 -0500 Subject: [PATCH 189/383] Bump to next development cycle Signed-off-by: Curtis Rueden --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index e78356f70..7cc934d49 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.87.1-SNAPSHOT + 2.87.2-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From 2cfa934aae6a75f47629ce7b313f131853ff2259 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 8 Nov 2021 15:42:10 -0600 Subject: [PATCH 190/383] POM: Stop using git:// protocol with github.com The GitHub platform is discontinuing support for it. See: https://github.blog/2021-09-01-improving-git-protocol-security-github/#whats-changing --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 7cc934d49..0560f653a 100644 --- a/pom.xml +++ b/pom.xml @@ -142,7 +142,7 @@ - scm:git:git://github.com/scijava/scijava-common + scm:git:https://github.com/scijava/scijava-common scm:git:git@github.com:scijava/scijava-common HEAD https://github.com/scijava/scijava-common From 780acadbb236ef7edf03106371f6d4f41179429a Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 9 Nov 2021 22:08:11 -0600 Subject: [PATCH 191/383] POMTest: update scm connection URL We cannot use git:// anymore; see previous commit. --- src/test/java/org/scijava/util/POMTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/org/scijava/util/POMTest.java b/src/test/java/org/scijava/util/POMTest.java index 3a6890ae9..3dbfac27a 100644 --- a/src/test/java/org/scijava/util/POMTest.java +++ b/src/test/java/org/scijava/util/POMTest.java @@ -110,7 +110,7 @@ public void testAccessors() throws ParserConfigurationException, assertEquals("https://github.com/scijava/scijava-common", // pom.getProjectURL()); final String scmConnection = pom.getSCMConnection(); - assertEquals("scm:git:git://github.com/scijava/scijava-common", + assertEquals("scm:git:https://github.com/scijava/scijava-common", scmConnection); final String scmDeveloperConnection = pom.getSCMDeveloperConnection(); assertEquals("scm:git:git@github.com:scijava/scijava-common", From 0889da279e75666ac680849cb6b5b98d72b7a512 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 9 Nov 2021 22:08:31 -0600 Subject: [PATCH 192/383] UIService: fix behavior of isHeadless/setHeadless When setHeadless is called, it should toggle a flag local to the context, not override the java.awt.headless system property. That way, each context can be headless or not independently. Closes #424. --- .../java/org/scijava/ui/DefaultUIService.java | 14 ++++++++++++-- src/main/java/org/scijava/ui/UIService.java | 17 ++++++++++++++++- 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/scijava/ui/DefaultUIService.java b/src/main/java/org/scijava/ui/DefaultUIService.java index 939ea5331..06f8c8289 100644 --- a/src/main/java/org/scijava/ui/DefaultUIService.java +++ b/src/main/java/org/scijava/ui/DefaultUIService.java @@ -116,6 +116,14 @@ public final class DefaultUIService extends AbstractService implements /** The default user interface to use, if one is not explicitly specified. */ private UserInterface defaultUI; + /** + * When true, {@link #isHeadless()} will return true regardless of the value + * of the {@code java.awt.headless} system property. When false, {@link + * #isHeadless()} matches the global JVM headless state defined by {@code + * java.awt.headless}. + */ + private boolean forceHeadless; + private boolean activationInvocationPending = false; // -- UIService methods -- @@ -178,12 +186,14 @@ public boolean isVisible(final String name) { @Override public void setHeadless(final boolean headless) { - System.setProperty("java.awt.headless", String.valueOf(headless)); + forceHeadless = headless; } @Override public boolean isHeadless() { - return Boolean.getBoolean("java.awt.headless"); + // NB: We do not use java.awt.GraphicsConfiguration.isHeadless() + // because scijava-common eschews java.awt.* classes when possible. + return forceHeadless || Boolean.getBoolean("java.awt.headless"); } @Override diff --git a/src/main/java/org/scijava/ui/UIService.java b/src/main/java/org/scijava/ui/UIService.java index 516ce1384..82a35a686 100644 --- a/src/main/java/org/scijava/ui/UIService.java +++ b/src/main/java/org/scijava/ui/UIService.java @@ -101,7 +101,22 @@ public interface UIService extends SciJavaService { /** Gets whether the UI with the given name or class name is visible. */ boolean isVisible(String name); - /** Sets whether the application is running in headless mode (no UI). */ + /** + * Sets whether the application should run in headless mode (no UI). + *

    + * Note that if the system itself is headless—which can be detected via + * the {@code java.awt.headless} system property or by calling + * {@code java.awt.GraphicsEnvironment.isHeadless()}—then calling + * {@code setHeadless(false)} will have no effect; the system will still be + * headless, and {@link #isHeadless()} will still return true. + *

    + *

    + * But if the system itself is not headless, calling + * {@code setHeadless(true)} will force {@link #isHeadless()} to return true, + * instructing the application to behave in a headless manner insofar as it + * can. + *

    + */ void setHeadless(boolean isHeadless); /** Gets whether the UI is running in headless mode (no UI). */ From cb6d2fa7af33eb2a394778d3d4b1b9120d4aa331 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 8 Dec 2021 09:40:10 -0600 Subject: [PATCH 193/383] DebugUtils: use a lambda for comparator --- src/main/java/org/scijava/util/DebugUtils.java | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/src/main/java/org/scijava/util/DebugUtils.java b/src/main/java/org/scijava/util/DebugUtils.java index 5be10e252..f2d3a3de5 100644 --- a/src/main/java/org/scijava/util/DebugUtils.java +++ b/src/main/java/org/scijava/util/DebugUtils.java @@ -36,7 +36,6 @@ import java.lang.reflect.Modifier; import java.util.ArrayList; import java.util.Collections; -import java.util.Comparator; import java.util.Map; /** @@ -105,13 +104,7 @@ public static String getStackDump() { // sort list of threads by name final ArrayList threads = new ArrayList<>(stackTraces.keySet()); - Collections.sort(threads, new Comparator() { - - @Override - public int compare(final Thread t1, final Thread t2) { - return t1.getName().compareTo(t2.getName()); - } - }); + Collections.sort(threads, (t1, t2) -> t1.getName().compareTo(t2.getName())); for (final Thread t : threads) { dumpThread(t, stackTraces.get(t), sb); From c342f87279b94adcc25a5012ae244adcd49a30ab Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 15 Dec 2021 09:22:44 -0600 Subject: [PATCH 194/383] Bump to next development cycle Signed-off-by: Curtis Rueden --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 0560f653a..432bbb837 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.87.2-SNAPSHOT + 2.87.3-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From 9a9e241e9b7b11f0743ad7d878661a517a0f1b9e Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 11 Jan 2022 16:00:41 -0600 Subject: [PATCH 195/383] ReadBufferDataHandle: fix buffer copying bug And fix a couple of typos and a warning while we're at it. --- .../org/scijava/io/handle/ReadBufferDataHandle.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java b/src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java index 32b9880a4..991fde6cf 100644 --- a/src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java +++ b/src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java @@ -211,9 +211,9 @@ public int read(final byte[] b, final int targetOffset, final int len) // calculate local offsets final int pageOffset = globalToLocalOffset(offset); int localLength = pageSize - pageOffset; - if (read + localLength > readLength) { - localLength = readLength - read; - } + localLength = Math.min(localLength, readLength - read); + localLength = Math.min(localLength, b.length - localTargetOff); + if (localLength == 0) break; // we've read all we can // copy the data System.arraycopy(currentPage, pageOffset, b, localTargetOff, localLength); @@ -281,7 +281,7 @@ private class LRUReplacementStrategy { public LRUReplacementStrategy(final int numSlots) { queue = new ArrayDeque<>(numSlots); - // fill the que + // fill the queue for (int i = 0; i < numSlots; i++) { queue.add(i); } @@ -295,12 +295,12 @@ public LRUReplacementStrategy(final int numSlots) { * the id of the slot that has been accessed */ public void accessed(final int slotID) { - // put accessed element to the end of the que + // put accessed element to the end of the queue queue.remove(slotID); queue.add(slotID); } - public int pickVictim(final int pageID) { + public int pickVictim(@SuppressWarnings("unused") final int pageID) { return queue.peek(); } } From 9af7cb67285bca342c4357e6eaf32f9acfc22adf Mon Sep 17 00:00:00 2001 From: Nicolas Chiaruttini Date: Tue, 29 Mar 2022 23:53:35 +0200 Subject: [PATCH 196/383] Task interface and DefaultTask modifications - backward compatible With this commit task events are published automatically when an asynchronous task (task.run(runnable))) is started and finished. Additionally, task can be run in a synchronous manner and can trigger task events with additional methods added to the Task interface. This commit brings additional methods to the Task interface (empty default implementations provided): * start and finish method: a job can notify when it is starting and ending in a synchronous manner * setCancelCallback(runnable) method: Can be used to add a callback when a task is canceled The DefaultTask implementation is modified: * TaskEvent are published when start() and finish() are called (synchronous task) * TaskEvent are published just before the runnable is started and after it is finished * A try finally statement is used in the async case to ensure a taskevent is sent even in the case of job execution failure * And event is called when cancel is called, and: * Async job : future.cancel(true) is called, + the custom cancel callback is called, if set * Sync job : the custom cancel callback is called, if set * adds a test to check whether many parallel tasks send an event when they are starting and when they are done * documentation --- .../java/org/scijava/task/DefaultTask.java | 69 +++++++++++- src/main/java/org/scijava/task/Task.java | 44 +++++++- .../java/org/scijava/task/TaskEventTest.java | 106 ++++++++++++++++++ 3 files changed, 210 insertions(+), 9 deletions(-) create mode 100644 src/test/java/org/scijava/task/TaskEventTest.java diff --git a/src/main/java/org/scijava/task/DefaultTask.java b/src/main/java/org/scijava/task/DefaultTask.java index 15736ad9d..3e9a910c5 100644 --- a/src/main/java/org/scijava/task/DefaultTask.java +++ b/src/main/java/org/scijava/task/DefaultTask.java @@ -36,11 +36,32 @@ import org.scijava.thread.ThreadService; /** - * Default implementation of {@link Task}. It launches code via the linked - * {@link ThreadService}, and reports status updates via the linked - * {@link EventService}. + * Default implementation of {@link Task}. Throughout the task (or job), + * {@link Task#setProgressValue(long)} can be called to inform + * how the job is progressing. * - * @author Curtis Rueden + * Asynchronous case: + * - A job (runnable) is sent for execution to the linked {@link ThreadService}. + * It reports status updates via the linked {@link EventService}. + * A {@link org.scijava.task.event.TaskEvent} is sent before the job + * is started and when finished. + * In the asynchronous case, upon task cancellation ({@link Task#cancel(String)} call), + * the runnable associated to the ThreadService is attempted to be stopped + * by calling {@link Future#cancel(boolean)}. + * This default behaviour can be supplemented by an additional + * custom callback which can be set in {@link Task#setCancelCallBack(Runnable)}. + * + * Synchronous case: + * - A job that reports its status in between calls of {@link Task#start()}, + * and {@link Task#finish()}. It also reports its status via + * the linked {@link EventService}. + * Start and finish calls allow publishing proper {@link org.scijava.task.event.TaskEvent} + * to subscribers (with the EventService). + * Upon cancellation of a synchronous task, it is the responsibility + * of the synchronous task to handle its own cancellation through + * a custom callback which can be set via {@link Task#setCancelCallBack(Runnable)}. + * + * @author Curtis Rueden, Nicolas Chiaruttini */ public class DefaultTask implements Task { @@ -51,6 +72,7 @@ public class DefaultTask implements Task { private boolean canceled; private String cancelReason; + volatile boolean isDone = false; private String status; private long step; @@ -58,6 +80,8 @@ public class DefaultTask implements Task { private String name; + private Runnable cancelCallBack; + /** * Creates a new task. * @@ -76,20 +100,35 @@ public DefaultTask(final ThreadService threadService, // -- Task methods -- + // - Asynchronous @Override public void run(final Runnable r) { if (r == null) throw new NullPointerException(); future(r); } + // - Asynchronous @Override public void waitFor() throws InterruptedException, ExecutionException { future().get(); } + // - Synchronous + @Override + public void start() { + fireTaskEvent(); + } + + // - Synchronous + @Override + public void finish() { + isDone=true; + fireTaskEvent(); + } + @Override public boolean isDone() { - return future != null && future.isDone(); + return (isDone) || (future != null && future.isDone()); } @Override @@ -136,6 +175,16 @@ public boolean isCanceled() { public void cancel(final String reason) { canceled = true; cancelReason = reason; + if (cancelCallBack!=null) cancelCallBack.run(); + if (future!=null) { + isDone = future.cancel(true); + } + fireTaskEvent(); + } + + @Override + public void setCancelCallBack(Runnable r) { + this.cancelCallBack = r; } @Override @@ -169,7 +218,15 @@ private Future future(final Runnable r) { private synchronized void initFuture(final Runnable r) { if (future != null) return; if (r == null) throw new IllegalArgumentException("Must call run first"); - future = threadService.run(r); + future = threadService.run(() -> { + try { + fireTaskEvent(); // Triggers an event just before the task is executed + r.run(); + } finally { + isDone = true; + fireTaskEvent(); // Triggers an event just after the task has successfully completed or failed + } + }); } private void fireTaskEvent() { diff --git a/src/main/java/org/scijava/task/Task.java b/src/main/java/org/scijava/task/Task.java index eb515000b..6d5ce478d 100644 --- a/src/main/java/org/scijava/task/Task.java +++ b/src/main/java/org/scijava/task/Task.java @@ -37,19 +37,39 @@ /** * A self-aware job which reports its status and progress as it runs. * - * @author Curtis Rueden + * There are two ways to use a Task object: + * - A job can be run asynchronously by using {@link Task#run(Runnable)}, and + * can report its progression from within the Runnable. + * + * - A {@link Task} object can simply be used to report in a synchronous manner + * the progression of a piece of code. In the case of synchronous reporting, + * the job is considered started when {@link Task#start()} is called and + * finished when {@link Task#finish()} is called. A finished job can be finished + * either because it is done or because it has been cancelled. + * + * A cancel callback can be set with {@link Task#setCancelCallBack(Runnable)}. + * The runnable argument will be executed in the case of an external event + * requesting a cancellation of the task - typically, if a user clicks + * a cancel button on the GUI, task.cancel("User cancellation requested") will + * be called. As a result, the task implementors should run the callback. + * This callback can be used to make the task aware that a cancellation + * has been requested, and should proceed to stop its execution. + * + * See also {@link TaskService}, {@link DefaultTask} + * + * @author Curtis Rueden, Nicolas Chiaruttini */ public interface Task extends Cancelable, Named { /** - * Starts running the task. + * Starts running the task - asynchronous job * * @throws IllegalStateException if the task was already started. */ void run(Runnable r); /** - * Waits for the task to complete. + * Waits for the task to complete - asynchronous job * * @throws IllegalStateException if {@link #run} has not been called yet. * @throws InterruptedException if the task is interrupted. @@ -57,6 +77,16 @@ public interface Task extends Cancelable, Named { */ void waitFor() throws InterruptedException, ExecutionException; + /** + * reports that the task is started - synchronous job + */ + default void start() {} + + /** + * reports that the task is finished - synchronous job + */ + default void finish() {} + /** Checks whether the task has completed. */ boolean isDone(); @@ -102,4 +132,12 @@ public interface Task extends Cancelable, Named { * @see #getProgressMaximum() */ void setProgressMaximum(long max); + + /** + * If the task is cancelled (external call to {@link Task#cancel(String)}), + * the input runnable argument should be executed by task implementors. + * + * @param runnable : should be executed if this task is cancelled through {@link Task#cancel(String)} + */ + default void setCancelCallBack(Runnable runnable) {} } diff --git a/src/test/java/org/scijava/task/TaskEventTest.java b/src/test/java/org/scijava/task/TaskEventTest.java new file mode 100644 index 000000000..9a0b2f71f --- /dev/null +++ b/src/test/java/org/scijava/task/TaskEventTest.java @@ -0,0 +1,106 @@ +package org.scijava.task; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.scijava.Context; +import org.scijava.event.EventHandler; +import org.scijava.task.event.TaskEvent; + +import java.util.HashSet; +import java.util.Set; + +import static org.junit.Assert.assertEquals; + +/** + * Tests whether many tasks run in parallel consistently trigger an Event + * when each task is started and when each task is ended. + * + * The test fails inconsistently, sometimes with a few tasks remaining, sometimes with almost all tasks remaining. + */ + +public class TaskEventTest { + + private TaskService taskService; + private TaskEventListener eventListener; + + static int nTasks = 500; // Putting higher value can lead to issues because too many threads cannot be launched in parallel + + @Before + public void setUp() { + final Context ctx = new Context(TaskService.class); + taskService = ctx.service(TaskService.class); + eventListener = new TaskEventListener(); + ctx.inject(eventListener); + } + + @After + public void tearDown() { + taskService.context().dispose(); + } + + @Test + public void testManyTasks() throws InterruptedException { + for (int i=0;i { + try { + System.out.println("Waiting to start task "+taskName); + Thread.sleep(msBeforeStart); + + // Task started + task.setProgressMaximum(100); + + task.run(() -> { + int totalMs = 0; + while(totalMs tasks = new HashSet<>(); + + @EventHandler + private synchronized void onEvent(final TaskEvent evt) { + Task task = evt.getTask(); + if (task.isDone()) { + tasks.remove(task); + } else { + tasks.add(task); + } + } + + public synchronized Set getLeftOvers() { + return new HashSet<>(tasks); + } + } +} \ No newline at end of file From 0bac95333327205d5868c714a652670f85b420a8 Mon Sep 17 00:00:00 2001 From: Nicolas Chiaruttini Date: Mon, 4 Apr 2022 22:36:57 +0200 Subject: [PATCH 197/383] The task interface now contains a method to retrieve its cancel callback. Use case: adding a confirmation dialog before cancelling. --- .../java/org/scijava/task/DefaultTask.java | 19 ++++++++++++++----- src/main/java/org/scijava/task/Task.java | 12 ++++++++++-- 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/scijava/task/DefaultTask.java b/src/main/java/org/scijava/task/DefaultTask.java index 3e9a910c5..6de1d4507 100644 --- a/src/main/java/org/scijava/task/DefaultTask.java +++ b/src/main/java/org/scijava/task/DefaultTask.java @@ -6,13 +6,13 @@ * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -84,7 +84,7 @@ public class DefaultTask implements Task { /** * Creates a new task. - * + * * @param threadService Service to use for launching the task in its own * thread. Required. * @param eventService Service to use for reporting status updates as @@ -92,10 +92,11 @@ public class DefaultTask implements Task { * reported. */ public DefaultTask(final ThreadService threadService, - final EventService eventService) + final EventService eventService) { this.threadService = threadService; this.eventService = eventService; + cancelCallBack = this::defaultCancelCallback; } // -- Task methods -- @@ -176,10 +177,13 @@ public void cancel(final String reason) { canceled = true; cancelReason = reason; if (cancelCallBack!=null) cancelCallBack.run(); + fireTaskEvent(); + } + + void defaultCancelCallback() { if (future!=null) { isDone = future.cancel(true); } - fireTaskEvent(); } @Override @@ -187,6 +191,11 @@ public void setCancelCallBack(Runnable r) { this.cancelCallBack = r; } + @Override + public Runnable getCancelCallBack() { + return this.cancelCallBack; + } + @Override public String getCancelReason() { return cancelReason; diff --git a/src/main/java/org/scijava/task/Task.java b/src/main/java/org/scijava/task/Task.java index 6d5ce478d..6267dfd7b 100644 --- a/src/main/java/org/scijava/task/Task.java +++ b/src/main/java/org/scijava/task/Task.java @@ -6,13 +6,13 @@ * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -140,4 +140,12 @@ default void finish() {} * @param runnable : should be executed if this task is cancelled through {@link Task#cancel(String)} */ default void setCancelCallBack(Runnable runnable) {} + + /** + * Returns the current cancel callback runnable, + * This can be used to concatenate callbacks in order, + * for instance, to ask for a user confirmation before cancelling the task + */ + default Runnable getCancelCallBack() { return () -> {}; } + } From 6e431dd6d01a3330a3200e47d7443622d435e350 Mon Sep 17 00:00:00 2001 From: hinerm Date: Thu, 7 Apr 2022 10:37:20 -0500 Subject: [PATCH 198/383] Apply scijava-formatter NB: the class-level javadoc was skipped. See: https://github.com/scijava/scijava-coding-style/issues/4 --- src/main/java/org/scijava/task/DefaultTask.java | 14 ++++++++------ src/main/java/org/scijava/task/Task.java | 13 ++++++++----- .../java/org/scijava/task/TaskServiceTest.java | 1 + 3 files changed, 17 insertions(+), 11 deletions(-) diff --git a/src/main/java/org/scijava/task/DefaultTask.java b/src/main/java/org/scijava/task/DefaultTask.java index 6de1d4507..54b69f8d0 100644 --- a/src/main/java/org/scijava/task/DefaultTask.java +++ b/src/main/java/org/scijava/task/DefaultTask.java @@ -92,7 +92,7 @@ public class DefaultTask implements Task { * reported. */ public DefaultTask(final ThreadService threadService, - final EventService eventService) + final EventService eventService) { this.threadService = threadService; this.eventService = eventService; @@ -123,7 +123,7 @@ public void start() { // - Synchronous @Override public void finish() { - isDone=true; + isDone = true; fireTaskEvent(); } @@ -176,12 +176,12 @@ public boolean isCanceled() { public void cancel(final String reason) { canceled = true; cancelReason = reason; - if (cancelCallBack!=null) cancelCallBack.run(); + if (cancelCallBack != null) cancelCallBack.run(); fireTaskEvent(); } void defaultCancelCallback() { - if (future!=null) { + if (future != null) { isDone = future.cancel(true); } } @@ -231,9 +231,11 @@ private synchronized void initFuture(final Runnable r) { try { fireTaskEvent(); // Triggers an event just before the task is executed r.run(); - } finally { + } + finally { isDone = true; - fireTaskEvent(); // Triggers an event just after the task has successfully completed or failed + fireTaskEvent(); // Triggers an event just after the task has + // successfully completed or failed } }); } diff --git a/src/main/java/org/scijava/task/Task.java b/src/main/java/org/scijava/task/Task.java index 6267dfd7b..4867954da 100644 --- a/src/main/java/org/scijava/task/Task.java +++ b/src/main/java/org/scijava/task/Task.java @@ -137,15 +137,18 @@ default void finish() {} * If the task is cancelled (external call to {@link Task#cancel(String)}), * the input runnable argument should be executed by task implementors. * - * @param runnable : should be executed if this task is cancelled through {@link Task#cancel(String)} + * @param runnable : should be executed if this task is cancelled through + * {@link Task#cancel(String)} */ default void setCancelCallBack(Runnable runnable) {} /** - * Returns the current cancel callback runnable, - * This can be used to concatenate callbacks in order, - * for instance, to ask for a user confirmation before cancelling the task + * Returns the current cancel callback runnable, This can be used to + * concatenate callbacks in order, for instance, to ask for a user + * confirmation before cancelling the task */ - default Runnable getCancelCallBack() { return () -> {}; } + default Runnable getCancelCallBack() { + return () -> {}; + } } diff --git a/src/test/java/org/scijava/task/TaskServiceTest.java b/src/test/java/org/scijava/task/TaskServiceTest.java index 3f80516b9..2471cdaa1 100644 --- a/src/test/java/org/scijava/task/TaskServiceTest.java +++ b/src/test/java/org/scijava/task/TaskServiceTest.java @@ -26,6 +26,7 @@ * POSSIBILITY OF SUCH DAMAGE. * #L% */ + package org.scijava.task; import static org.junit.Assert.assertEquals; From c753406111dfd4c5712ace4f6723caf990b559b5 Mon Sep 17 00:00:00 2001 From: hinerm Date: Thu, 7 Apr 2022 10:42:01 -0500 Subject: [PATCH 199/383] Bump minor version for API additions --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 432bbb837..20f135e6d 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.87.3-SNAPSHOT + 2.88.0-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From 4864a2a15eba64307f686a87390a30274788c8ae Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Sat, 9 Apr 2022 10:47:32 -0500 Subject: [PATCH 200/383] POM: use HTTPS for schema location URL Maven no longer supports plain HTTP for the schema location. And using HTTP now generates errors in Eclipse (and probably other IDEs). --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 20f135e6d..5ef9ba2bd 100644 --- a/pom.xml +++ b/pom.xml @@ -1,5 +1,5 @@ - + 4.0.0 From 566983b52aa809134124964787943f5fcf6822ff Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Sat, 9 Apr 2022 10:47:39 -0500 Subject: [PATCH 201/383] Happy New Year 2022 --- LICENSE.txt | 2 +- src/it/apt-test/pom.xml | 2 +- src/it/apt-test/setup.bsh | 2 +- .../org/scijava/annotation/its/Annotated.java | 2 +- .../annotation/its/CustomAnnotation.java | 2 +- src/it/apt-test/verify.bsh | 2 +- src/it/settings.xml | 2 +- .../org/scijava/AbstractBasicDetails.java | 2 +- .../java/org/scijava/AbstractContextual.java | 2 +- .../java/org/scijava/AbstractGateway.java | 2 +- .../java/org/scijava/AbstractUIDetails.java | 2 +- src/main/java/org/scijava/BasicDetails.java | 2 +- src/main/java/org/scijava/Cancelable.java | 2 +- src/main/java/org/scijava/Context.java | 2 +- src/main/java/org/scijava/Contextual.java | 2 +- src/main/java/org/scijava/Disposable.java | 2 +- src/main/java/org/scijava/Gateway.java | 2 +- src/main/java/org/scijava/Identifiable.java | 2 +- src/main/java/org/scijava/Initializable.java | 2 +- src/main/java/org/scijava/Instantiable.java | 2 +- .../org/scijava/InstantiableException.java | 2 +- src/main/java/org/scijava/ItemIO.java | 2 +- src/main/java/org/scijava/ItemVisibility.java | 2 +- src/main/java/org/scijava/Locatable.java | 2 +- src/main/java/org/scijava/MenuEntry.java | 2 +- src/main/java/org/scijava/MenuPath.java | 2 +- src/main/java/org/scijava/Named.java | 2 +- .../org/scijava/NoSuchServiceException.java | 2 +- .../org/scijava/NullContextException.java | 2 +- src/main/java/org/scijava/Optional.java | 2 +- src/main/java/org/scijava/Prioritized.java | 2 +- src/main/java/org/scijava/Priority.java | 2 +- src/main/java/org/scijava/SciJava.java | 2 +- src/main/java/org/scijava/Typed.java | 2 +- src/main/java/org/scijava/UIDetails.java | 2 +- src/main/java/org/scijava/Validated.java | 2 +- .../java/org/scijava/ValidityProblem.java | 2 +- src/main/java/org/scijava/Versioned.java | 2 +- .../annotations/AbstractIndexWriter.java | 2 +- .../annotations/AnnotationCombiner.java | 2 +- .../annotations/AnnotationProcessor.java | 2 +- .../scijava/annotations/ByteCodeAnalyzer.java | 2 +- .../scijava/annotations/DirectoryIndexer.java | 2 +- .../scijava/annotations/EclipseHelper.java | 2 +- .../java/org/scijava/annotations/Index.java | 2 +- .../org/scijava/annotations/IndexItem.java | 2 +- .../org/scijava/annotations/IndexReader.java | 2 +- .../org/scijava/annotations/Indexable.java | 2 +- .../annotations/legacy/LegacyReader.java | 2 +- .../java/org/scijava/app/AbstractApp.java | 2 +- src/main/java/org/scijava/app/App.java | 2 +- src/main/java/org/scijava/app/AppService.java | 2 +- .../org/scijava/app/DefaultAppService.java | 2 +- .../org/scijava/app/DefaultStatusService.java | 2 +- src/main/java/org/scijava/app/SciJavaApp.java | 2 +- .../java/org/scijava/app/StatusService.java | 2 +- .../org/scijava/app/event/StatusEvent.java | 2 +- .../java/org/scijava/cache/CacheService.java | 2 +- .../scijava/cache/DefaultCacheService.java | 2 +- .../java/org/scijava/command/Command.java | 2 +- .../java/org/scijava/command/CommandInfo.java | 2 +- .../org/scijava/command/CommandModule.java | 2 +- .../scijava/command/CommandModuleItem.java | 2 +- .../org/scijava/command/CommandService.java | 2 +- .../org/scijava/command/ContextCommand.java | 2 +- .../command/DefaultCommandService.java | 2 +- .../org/scijava/command/DynamicCommand.java | 2 +- .../scijava/command/DynamicCommandInfo.java | 2 +- src/main/java/org/scijava/command/Inputs.java | 2 +- .../java/org/scijava/command/Interactive.java | 2 +- .../scijava/command/InteractiveCommand.java | 2 +- .../org/scijava/command/ModuleCommand.java | 2 +- .../java/org/scijava/command/Previewable.java | 2 +- .../scijava/command/UnimplementedCommand.java | 2 +- .../scijava/command/console/RunArgument.java | 2 +- .../command/run/CommandCodeRunner.java | 2 +- .../console/AbstractConsoleArgument.java | 2 +- .../org/scijava/console/ConsoleArgument.java | 2 +- .../org/scijava/console/ConsoleService.java | 2 +- .../org/scijava/console/ConsoleUtils.java | 2 +- .../console/DefaultConsoleService.java | 2 +- .../scijava/console/MultiOutputStream.java | 2 +- .../org/scijava/console/MultiPrintStream.java | 2 +- .../java/org/scijava/console/OutputEvent.java | 2 +- .../org/scijava/console/OutputListener.java | 2 +- .../console/SystemPropertyArgument.java | 2 +- .../convert/AbstractConvertService.java | 2 +- .../scijava/convert/AbstractConverter.java | 2 +- .../convert/AbstractDelegateConverter.java | 2 +- .../org/scijava/convert/ArrayConverters.java | 2 +- .../org/scijava/convert/CastingConverter.java | 2 +- .../scijava/convert/ConversionRequest.java | 2 +- .../org/scijava/convert/ConvertService.java | 2 +- .../java/org/scijava/convert/Converter.java | 2 +- .../convert/DefaultConvertService.java | 2 +- .../org/scijava/convert/DefaultConverter.java | 2 +- .../scijava/convert/FileListConverters.java | 2 +- .../org/scijava/convert/NullConverter.java | 2 +- .../org/scijava/convert/NumberConverters.java | 2 +- .../convert/NumberToBigDecimalConverter.java | 2 +- .../convert/NumberToBigIntegerConverter.java | 2 +- .../convert/NumberToDoubleConverter.java | 2 +- .../convert/NumberToFloatConverter.java | 2 +- .../convert/NumberToIntegerConverter.java | 2 +- .../convert/NumberToLongConverter.java | 2 +- .../convert/NumberToNumberConverter.java | 2 +- .../convert/NumberToShortConverter.java | 2 +- .../convert/PrimitiveArrayUnwrapper.java | 2 +- .../convert/PrimitiveArrayWrapper.java | 2 +- .../org/scijava/display/AbstractDisplay.java | 2 +- .../display/ActiveDisplayPreprocessor.java | 2 +- .../org/scijava/display/DefaultDisplay.java | 2 +- .../display/DefaultDisplayService.java | 2 +- .../scijava/display/DefaultTextDisplay.java | 2 +- .../java/org/scijava/display/Display.java | 2 +- .../scijava/display/DisplayPostprocessor.java | 2 +- .../org/scijava/display/DisplayService.java | 2 +- .../java/org/scijava/display/Displayable.java | 2 +- .../java/org/scijava/display/TextDisplay.java | 2 +- .../display/event/DisplayActivatedEvent.java | 2 +- .../display/event/DisplayCreatedEvent.java | 2 +- .../display/event/DisplayDeletedEvent.java | 2 +- .../scijava/display/event/DisplayEvent.java | 2 +- .../display/event/DisplayUpdatedEvent.java | 2 +- .../display/event/input/InputEvent.java | 2 +- .../scijava/display/event/input/KyEvent.java | 2 +- .../display/event/input/KyPressedEvent.java | 2 +- .../display/event/input/KyReleasedEvent.java | 2 +- .../display/event/input/KyTypedEvent.java | 2 +- .../display/event/input/MsButtonEvent.java | 2 +- .../display/event/input/MsClickedEvent.java | 2 +- .../display/event/input/MsDraggedEvent.java | 2 +- .../display/event/input/MsEnteredEvent.java | 2 +- .../scijava/display/event/input/MsEvent.java | 2 +- .../display/event/input/MsExitedEvent.java | 2 +- .../display/event/input/MsMovedEvent.java | 2 +- .../display/event/input/MsPressedEvent.java | 2 +- .../display/event/input/MsReleasedEvent.java | 2 +- .../display/event/input/MsWheelEvent.java | 2 +- .../event/window/WinActivatedEvent.java | 2 +- .../display/event/window/WinClosedEvent.java | 2 +- .../display/event/window/WinClosingEvent.java | 2 +- .../event/window/WinDeactivatedEvent.java | 2 +- .../event/window/WinDeiconifiedEvent.java | 2 +- .../display/event/window/WinEvent.java | 2 +- .../event/window/WinIconifiedEvent.java | 2 +- .../display/event/window/WinOpenedEvent.java | 2 +- .../download/DefaultDownloadService.java | 2 +- .../scijava/download/DiskLocationCache.java | 2 +- .../java/org/scijava/download/Download.java | 2 +- .../org/scijava/download/DownloadService.java | 2 +- .../org/scijava/download/LocationCache.java | 2 +- .../scijava/download/MultiWriteHandle.java | 2 +- .../scijava/event/ContextDisposingEvent.java | 2 +- .../org/scijava/event/DefaultEventBus.java | 2 +- .../scijava/event/DefaultEventHistory.java | 2 +- .../scijava/event/DefaultEventService.java | 2 +- .../java/org/scijava/event/EventDetails.java | 2 +- .../java/org/scijava/event/EventHandler.java | 2 +- .../java/org/scijava/event/EventHistory.java | 2 +- .../scijava/event/EventHistoryListener.java | 2 +- .../java/org/scijava/event/EventService.java | 2 +- .../org/scijava/event/EventSubscriber.java | 2 +- .../java/org/scijava/event/SciJavaEvent.java | 2 +- .../java/org/scijava/input/Accelerator.java | 2 +- .../scijava/input/DefaultInputService.java | 2 +- .../org/scijava/input/InputModifiers.java | 2 +- .../java/org/scijava/input/InputService.java | 2 +- src/main/java/org/scijava/input/KeyCode.java | 2 +- .../java/org/scijava/input/MouseCursor.java | 2 +- .../java/org/scijava/io/AbstractIOPlugin.java | 2 +- .../scijava/io/AbstractTypedIOService.java | 2 +- .../org/scijava/io/ByteArrayByteBank.java | 2 +- src/main/java/org/scijava/io/ByteBank.java | 2 +- .../java/org/scijava/io/DefaultIOService.java | 2 +- .../scijava/io/DefaultRecentFileService.java | 2 +- src/main/java/org/scijava/io/IOPlugin.java | 2 +- src/main/java/org/scijava/io/IOService.java | 2 +- .../org/scijava/io/RecentFileService.java | 2 +- .../java/org/scijava/io/TypedIOService.java | 2 +- .../org/scijava/io/console/OpenArgument.java | 2 +- .../org/scijava/io/event/DataOpenedEvent.java | 2 +- .../org/scijava/io/event/DataSavedEvent.java | 2 +- .../java/org/scijava/io/event/IOEvent.java | 2 +- .../scijava/io/handle/AbstractDataHandle.java | 2 +- .../io/handle/AbstractHigherOrderHandle.java | 2 +- .../handle/AbstractSeekableStreamHandle.java | 2 +- .../io/handle/AbstractStreamHandle.java | 2 +- .../org/scijava/io/handle/BytesHandle.java | 2 +- .../org/scijava/io/handle/DataHandle.java | 2 +- .../io/handle/DataHandleInputStream.java | 2 +- .../io/handle/DataHandleOutputStream.java | 2 +- .../scijava/io/handle/DataHandleService.java | 2 +- .../org/scijava/io/handle/DataHandles.java | 2 +- .../io/handle/DefaultDataHandleService.java | 2 +- .../org/scijava/io/handle/DummyHandle.java | 2 +- .../org/scijava/io/handle/FileHandle.java | 2 +- .../io/handle/ReadBufferDataHandle.java | 2 +- .../io/handle/ResettableStreamHandle.java | 2 +- .../io/handle/SeekableStreamHandle.java | 2 +- .../org/scijava/io/handle/StreamHandle.java | 2 +- .../io/handle/WriteBufferDataHandle.java | 2 +- .../scijava/io/location/AbstractLocation.java | 2 +- .../io/location/AbstractLocationResolver.java | 2 +- .../io/location/AbstractRemoteLocation.java | 2 +- .../io/location/BrowsableLocation.java | 2 +- .../scijava/io/location/BytesLocation.java | 2 +- .../io/location/DefaultLocationService.java | 2 +- .../scijava/io/location/DummyLocation.java | 2 +- .../org/scijava/io/location/FileLocation.java | 2 +- .../io/location/FileLocationResolver.java | 2 +- .../org/scijava/io/location/Location.java | 2 +- .../scijava/io/location/LocationResolver.java | 2 +- .../scijava/io/location/LocationService.java | 2 +- .../scijava/io/location/RemoteLocation.java | 2 +- .../org/scijava/io/location/URILocation.java | 2 +- .../org/scijava/io/location/URLLocation.java | 2 +- .../scijava/io/nio/ByteBufferByteBank.java | 2 +- .../org/scijava/io/nio/DefaultNIOService.java | 2 +- .../java/org/scijava/io/nio/NIOService.java | 2 +- .../org/scijava/log/AbstractLogService.java | 2 +- .../org/scijava/log/CallingClassUtils.java | 2 +- .../java/org/scijava/log/DefaultLogger.java | 2 +- .../log/DefaultUncaughtExceptionHandler.java | 2 +- .../org/scijava/log/IgnoreAsCallingClass.java | 2 +- src/main/java/org/scijava/log/LogLevel.java | 2 +- .../java/org/scijava/log/LogListener.java | 2 +- src/main/java/org/scijava/log/LogMessage.java | 2 +- src/main/java/org/scijava/log/LogService.java | 2 +- src/main/java/org/scijava/log/LogSource.java | 2 +- src/main/java/org/scijava/log/Logged.java | 2 +- src/main/java/org/scijava/log/Logger.java | 2 +- .../org/scijava/log/StderrLogService.java | 2 +- .../org/scijava/main/DefaultMainService.java | 2 +- .../java/org/scijava/main/MainService.java | 2 +- .../scijava/main/console/MainArgument.java | 2 +- .../org/scijava/main/run/MainCodeRunner.java | 2 +- .../org/scijava/menu/AbstractMenuCreator.java | 2 +- .../org/scijava/menu/DefaultMenuService.java | 2 +- .../java/org/scijava/menu/MenuConstants.java | 2 +- .../java/org/scijava/menu/MenuCreator.java | 2 +- .../java/org/scijava/menu/MenuService.java | 2 +- .../java/org/scijava/menu/ShadowMenu.java | 2 +- .../org/scijava/menu/ShadowMenuIterator.java | 2 +- .../org/scijava/menu/event/MenuEvent.java | 2 +- .../scijava/menu/event/MenusAddedEvent.java | 2 +- .../scijava/menu/event/MenusRemovedEvent.java | 2 +- .../scijava/menu/event/MenusUpdatedEvent.java | 2 +- .../org/scijava/module/AbstractModule.java | 2 +- .../scijava/module/AbstractModuleInfo.java | 2 +- .../scijava/module/AbstractModuleItem.java | 2 +- .../scijava/module/DefaultModuleService.java | 2 +- .../scijava/module/DefaultMutableModule.java | 2 +- .../module/DefaultMutableModuleInfo.java | 2 +- .../module/DefaultMutableModuleItem.java | 2 +- .../scijava/module/MethodCallException.java | 2 +- .../java/org/scijava/module/MethodRef.java | 2 +- src/main/java/org/scijava/module/Module.java | 2 +- .../module/ModuleCanceledException.java | 2 +- .../org/scijava/module/ModuleException.java | 2 +- .../java/org/scijava/module/ModuleIndex.java | 2 +- .../java/org/scijava/module/ModuleInfo.java | 2 +- .../java/org/scijava/module/ModuleItem.java | 2 +- .../java/org/scijava/module/ModuleRunner.java | 2 +- .../org/scijava/module/ModuleService.java | 2 +- .../org/scijava/module/MutableModule.java | 2 +- .../org/scijava/module/MutableModuleInfo.java | 2 +- .../org/scijava/module/MutableModuleItem.java | 2 +- .../module/event/ModuleCanceledEvent.java | 2 +- .../org/scijava/module/event/ModuleEvent.java | 2 +- .../module/event/ModuleExecutedEvent.java | 2 +- .../module/event/ModuleExecutingEvent.java | 2 +- .../module/event/ModuleExecutionEvent.java | 2 +- .../module/event/ModuleFinishedEvent.java | 2 +- .../module/event/ModulePostprocessEvent.java | 2 +- .../module/event/ModulePreprocessEvent.java | 2 +- .../module/event/ModuleProcessEvent.java | 2 +- .../module/event/ModuleStartedEvent.java | 2 +- .../module/event/ModulesAddedEvent.java | 2 +- .../module/event/ModulesListEvent.java | 2 +- .../module/event/ModulesRemovedEvent.java | 2 +- .../module/event/ModulesUpdatedEvent.java | 2 +- .../process/AbstractPostprocessorPlugin.java | 2 +- .../process/AbstractPreprocessorPlugin.java | 2 +- .../AbstractSingleInputPreprocessor.java | 2 +- .../process/CheckInputsPreprocessor.java | 2 +- .../module/process/DebugPostprocessor.java | 2 +- .../module/process/DebugPreprocessor.java | 2 +- .../process/DefaultValuePreprocessor.java | 2 +- .../module/process/GatewayPreprocessor.java | 2 +- .../module/process/InitPreprocessor.java | 2 +- .../process/LoadInputsPreprocessor.java | 2 +- .../module/process/LoggerPreprocessor.java | 2 +- .../module/process/ModulePostprocessor.java | 2 +- .../module/process/ModulePreprocessor.java | 2 +- .../module/process/ModuleProcessor.java | 2 +- .../module/process/PostprocessorPlugin.java | 2 +- .../module/process/PreprocessorPlugin.java | 2 +- .../process/SaveInputsPreprocessor.java | 2 +- .../module/process/ServicePreprocessor.java | 2 +- .../module/process/ValidityPreprocessor.java | 2 +- .../scijava/module/run/ModuleCodeRunner.java | 2 +- .../scijava/object/DefaultObjectService.java | 2 +- .../java/org/scijava/object/LazyObjects.java | 2 +- .../org/scijava/object/NamedObjectIndex.java | 2 +- .../java/org/scijava/object/ObjectIndex.java | 2 +- .../org/scijava/object/ObjectService.java | 2 +- .../org/scijava/object/SortedObjectIndex.java | 2 +- .../org/scijava/object/event/ListEvent.java | 2 +- .../object/event/ObjectCreatedEvent.java | 2 +- .../object/event/ObjectDeletedEvent.java | 2 +- .../org/scijava/object/event/ObjectEvent.java | 2 +- .../object/event/ObjectModifiedEvent.java | 2 +- .../object/event/ObjectsAddedEvent.java | 2 +- .../object/event/ObjectsListEvent.java | 2 +- .../object/event/ObjectsRemovedEvent.java | 2 +- .../options/DefaultOptionsService.java | 2 +- .../org/scijava/options/OptionsPlugin.java | 2 +- .../org/scijava/options/OptionsService.java | 2 +- .../scijava/options/event/OptionsEvent.java | 2 +- .../scijava/parse/DefaultParseService.java | 2 +- src/main/java/org/scijava/parse/Item.java | 2 +- src/main/java/org/scijava/parse/Items.java | 2 +- .../java/org/scijava/parse/ParseService.java | 2 +- .../scijava/platform/AbstractPlatform.java | 2 +- .../org/scijava/platform/AppEventService.java | 2 +- .../platform/DefaultAppEventService.java | 2 +- .../org/scijava/platform/DefaultPlatform.java | 2 +- .../platform/DefaultPlatformService.java | 2 +- .../java/org/scijava/platform/Platform.java | 2 +- .../org/scijava/platform/PlatformService.java | 2 +- .../scijava/platform/event/AppAboutEvent.java | 2 +- .../scijava/platform/event/AppFocusEvent.java | 2 +- .../platform/event/AppMenusCreatedEvent.java | 2 +- .../platform/event/AppOpenFilesEvent.java | 2 +- .../platform/event/AppPreferencesEvent.java | 2 +- .../scijava/platform/event/AppPrintEvent.java | 2 +- .../scijava/platform/event/AppQuitEvent.java | 2 +- .../platform/event/AppReOpenEvent.java | 2 +- .../platform/event/AppScreenSleepEvent.java | 2 +- .../scijava/platform/event/AppSleepEvent.java | 2 +- .../platform/event/AppSystemSleepEvent.java | 2 +- .../platform/event/AppUserSessionEvent.java | 2 +- .../platform/event/AppVisibleEvent.java | 2 +- .../platform/event/ApplicationEvent.java | 2 +- .../scijava/plugin/AbstractHandlerPlugin.java | 2 +- .../plugin/AbstractHandlerService.java | 2 +- .../org/scijava/plugin/AbstractPTService.java | 2 +- .../scijava/plugin/AbstractRichPlugin.java | 2 +- .../plugin/AbstractSingletonService.java | 2 +- .../scijava/plugin/AbstractTypedPlugin.java | 2 +- .../scijava/plugin/AbstractTypedService.java | 2 +- .../scijava/plugin/AbstractWrapperPlugin.java | 2 +- .../plugin/AbstractWrapperService.java | 2 +- src/main/java/org/scijava/plugin/Attr.java | 2 +- .../scijava/plugin/DefaultPluginFinder.java | 2 +- .../scijava/plugin/DefaultPluginService.java | 2 +- .../org/scijava/plugin/HandlerPlugin.java | 2 +- .../org/scijava/plugin/HandlerService.java | 2 +- .../org/scijava/plugin/HasPluginInfo.java | 2 +- src/main/java/org/scijava/plugin/Menu.java | 2 +- .../java/org/scijava/plugin/PTService.java | 2 +- .../java/org/scijava/plugin/Parameter.java | 2 +- src/main/java/org/scijava/plugin/Plugin.java | 2 +- .../java/org/scijava/plugin/PluginFinder.java | 2 +- .../java/org/scijava/plugin/PluginIndex.java | 2 +- .../java/org/scijava/plugin/PluginInfo.java | 2 +- .../org/scijava/plugin/PluginService.java | 2 +- .../java/org/scijava/plugin/RichPlugin.java | 2 +- .../org/scijava/plugin/SciJavaPlugin.java | 2 +- .../org/scijava/plugin/SingletonPlugin.java | 2 +- .../org/scijava/plugin/SingletonService.java | 2 +- .../org/scijava/plugin/SortablePlugin.java | 2 +- .../java/org/scijava/plugin/TypedPlugin.java | 2 +- .../java/org/scijava/plugin/TypedService.java | 2 +- .../org/scijava/plugin/WrapperPlugin.java | 2 +- .../org/scijava/plugin/WrapperService.java | 2 +- .../plugin/event/PluginsAddedEvent.java | 2 +- .../plugin/event/PluginsListEvent.java | 2 +- .../plugin/event/PluginsRemovedEvent.java | 2 +- .../scijava/prefs/AbstractPrefService.java | 2 +- .../org/scijava/prefs/DefaultPrefService.java | 2 +- .../java/org/scijava/prefs/PrefService.java | 2 +- .../org/scijava/run/AbstractCodeRunner.java | 2 +- src/main/java/org/scijava/run/CodeRunner.java | 2 +- .../org/scijava/run/DefaultRunService.java | 2 +- src/main/java/org/scijava/run/RunService.java | 2 +- .../org/scijava/run/console/RunArgument.java | 2 +- .../scijava/script/AbstractAutoCompleter.java | 2 +- .../scijava/script/AbstractScriptContext.java | 2 +- .../scijava/script/AbstractScriptEngine.java | 2 +- .../scijava/script/AbstractScriptHeader.java | 2 +- .../script/AbstractScriptLanguage.java | 2 +- .../scijava/script/AdaptedScriptEngine.java | 2 +- .../scijava/script/AdaptedScriptLanguage.java | 2 +- .../org/scijava/script/AutoCompleter.java | 2 +- .../scijava/script/AutoCompletionResult.java | 2 +- .../org/scijava/script/CodeGenerator.java | 2 +- .../org/scijava/script/CodeGeneratorJava.java | 2 +- .../scijava/script/DefaultAutoCompleter.java | 2 +- .../script/DefaultScriptHeaderService.java | 2 +- .../script/DefaultScriptInterpreter.java | 2 +- .../scijava/script/DefaultScriptService.java | 2 +- .../org/scijava/script/InvocationObject.java | 2 +- .../org/scijava/script/ParameterObject.java | 2 +- .../java/org/scijava/script/ScriptFinder.java | 2 +- .../java/org/scijava/script/ScriptHeader.java | 2 +- .../scijava/script/ScriptHeaderService.java | 2 +- .../java/org/scijava/script/ScriptInfo.java | 2 +- .../org/scijava/script/ScriptInterpreter.java | 2 +- .../org/scijava/script/ScriptLanguage.java | 2 +- .../scijava/script/ScriptLanguageIndex.java | 2 +- .../java/org/scijava/script/ScriptModule.java | 2 +- .../java/org/scijava/script/ScriptREPL.java | 2 +- .../org/scijava/script/ScriptService.java | 2 +- .../script/console/RunScriptArgument.java | 2 +- .../org/scijava/script/io/ScriptIOPlugin.java | 2 +- .../DefaultScriptProcessorService.java | 2 +- .../process/DirectiveScriptProcessor.java | 2 +- .../process/ParameterScriptProcessor.java | 2 +- .../script/process/ScriptCallback.java | 2 +- .../ScriptDirectiveScriptProcessor.java | 2 +- .../script/process/ScriptProcessor.java | 2 +- .../process/ScriptProcessorService.java | 2 +- .../process/ShebangScriptProcessor.java | 2 +- .../scijava/script/run/ScriptCodeRunner.java | 2 +- .../org/scijava/service/AbstractService.java | 2 +- .../org/scijava/service/SciJavaService.java | 2 +- .../java/org/scijava/service/Service.java | 2 +- .../org/scijava/service/ServiceHelper.java | 2 +- .../org/scijava/service/ServiceIndex.java | 2 +- .../service/event/ServicesLoadedEvent.java | 2 +- .../startup/DefaultStartupService.java | 2 +- .../org/scijava/startup/StartupService.java | 2 +- .../java/org/scijava/task/DefaultTask.java | 6 ++-- .../org/scijava/task/DefaultTaskService.java | 2 +- src/main/java/org/scijava/task/Task.java | 6 ++-- .../java/org/scijava/task/TaskService.java | 2 +- .../org/scijava/task/event/TaskEvent.java | 2 +- src/main/java/org/scijava/test/TestUtils.java | 2 +- .../org/scijava/text/AbstractTextFormat.java | 2 +- .../org/scijava/text/DefaultTextService.java | 2 +- .../java/org/scijava/text/TextFormat.java | 2 +- .../java/org/scijava/text/TextService.java | 2 +- .../scijava/text/io/DefaultTextIOService.java | 2 +- .../org/scijava/text/io/TextIOPlugin.java | 2 +- .../org/scijava/text/io/TextIOService.java | 2 +- .../scijava/thread/DefaultThreadService.java | 2 +- .../org/scijava/thread/ThreadService.java | 2 +- .../java/org/scijava/tool/AbstractTool.java | 2 +- .../org/scijava/tool/CustomDrawnTool.java | 2 +- .../org/scijava/tool/DefaultToolService.java | 2 +- src/main/java/org/scijava/tool/DummyTool.java | 2 +- .../java/org/scijava/tool/IconDrawer.java | 2 +- .../java/org/scijava/tool/IconService.java | 2 +- src/main/java/org/scijava/tool/Tool.java | 2 +- .../java/org/scijava/tool/ToolService.java | 2 +- .../tool/event/ToolActivatedEvent.java | 2 +- .../tool/event/ToolDeactivatedEvent.java | 2 +- .../org/scijava/tool/event/ToolEvent.java | 2 +- src/main/java/org/scijava/ui/ARGBPlane.java | 2 +- .../ui/AbstractInputHarvesterPlugin.java | 2 +- .../org/scijava/ui/AbstractUIInputWidget.java | 2 +- .../org/scijava/ui/AbstractUserInterface.java | 2 +- .../java/org/scijava/ui/ApplicationFrame.java | 2 +- src/main/java/org/scijava/ui/Arrangeable.java | 2 +- .../java/org/scijava/ui/CloseConfirmable.java | 2 +- .../java/org/scijava/ui/DefaultUIService.java | 2 +- src/main/java/org/scijava/ui/Desktop.java | 2 +- .../java/org/scijava/ui/DialogPrompt.java | 2 +- .../org/scijava/ui/FileListPreprocessor.java | 2 +- .../java/org/scijava/ui/FilePreprocessor.java | 2 +- src/main/java/org/scijava/ui/StatusBar.java | 2 +- .../java/org/scijava/ui/SystemClipboard.java | 2 +- src/main/java/org/scijava/ui/ToolBar.java | 2 +- .../java/org/scijava/ui/UIPreprocessor.java | 2 +- src/main/java/org/scijava/ui/UIService.java | 2 +- .../java/org/scijava/ui/UserInterface.java | 2 +- .../ui/console/AbstractConsolePane.java | 2 +- .../org/scijava/ui/console/ConsolePane.java | 2 +- .../scijava/ui/console/HeadlessArgument.java | 2 +- .../scijava/ui/console/ShowUIArgument.java | 2 +- .../org/scijava/ui/console/UIArgument.java | 2 +- .../ui/dnd/AbstractDragAndDropData.java | 2 +- .../ui/dnd/AbstractDragAndDropHandler.java | 2 +- .../ui/dnd/DefaultDragAndDropData.java | 2 +- .../ui/dnd/DefaultDragAndDropService.java | 2 +- .../org/scijava/ui/dnd/DragAndDropData.java | 2 +- .../scijava/ui/dnd/DragAndDropHandler.java | 2 +- .../scijava/ui/dnd/DragAndDropService.java | 2 +- .../ui/dnd/FileDragAndDropHandler.java | 2 +- .../ui/dnd/ListDragAndDropHandler.java | 2 +- .../java/org/scijava/ui/dnd/MIMEType.java | 2 +- .../ui/dnd/ScriptFileDragAndDropHandler.java | 2 +- .../ui/dnd/event/DragAndDropEvent.java | 2 +- .../scijava/ui/dnd/event/DragEnterEvent.java | 2 +- .../scijava/ui/dnd/event/DragExitEvent.java | 2 +- .../scijava/ui/dnd/event/DragOverEvent.java | 2 +- .../org/scijava/ui/dnd/event/DropEvent.java | 2 +- .../java/org/scijava/ui/event/UIEvent.java | 2 +- .../org/scijava/ui/event/UIShownEvent.java | 2 +- .../ui/headless/HeadlessDisplayViewer.java | 2 +- .../org/scijava/ui/headless/HeadlessUI.java | 2 +- .../org/scijava/ui/headlessUI/HeadlessUI.java | 2 +- .../ui/viewer/AbstractDisplayViewer.java | 2 +- .../org/scijava/ui/viewer/DisplayPanel.java | 2 +- .../org/scijava/ui/viewer/DisplayViewer.java | 2 +- .../org/scijava/ui/viewer/DisplayWindow.java | 2 +- .../text/AbstractTextDisplayViewer.java | 2 +- .../ui/viewer/text/TextDisplayPanel.java | 2 +- .../ui/viewer/text/TextDisplayViewer.java | 2 +- .../scijava/util/AbstractPrimitiveArray.java | 2 +- src/main/java/org/scijava/util/AppUtils.java | 2 +- .../java/org/scijava/util/ArrayUtils.java | 2 +- src/main/java/org/scijava/util/BoolArray.java | 2 +- src/main/java/org/scijava/util/ByteArray.java | 2 +- src/main/java/org/scijava/util/Bytes.java | 2 +- src/main/java/org/scijava/util/CharArray.java | 2 +- .../java/org/scijava/util/CheckSezpoz.java | 2 +- .../java/org/scijava/util/ClassUtils.java | 2 +- src/main/java/org/scijava/util/ColorRGB.java | 2 +- src/main/java/org/scijava/util/ColorRGBA.java | 2 +- src/main/java/org/scijava/util/Colors.java | 2 +- .../org/scijava/util/CombineAnnotations.java | 2 +- src/main/java/org/scijava/util/Combiner.java | 2 +- .../org/scijava/util/ConversionUtils.java | 2 +- .../java/org/scijava/util/DebugUtils.java | 2 +- .../org/scijava/util/DefaultTreeNode.java | 2 +- .../java/org/scijava/util/DigestUtils.java | 2 +- .../java/org/scijava/util/DoubleArray.java | 2 +- src/main/java/org/scijava/util/FileUtils.java | 2 +- .../java/org/scijava/util/FloatArray.java | 2 +- .../java/org/scijava/util/GenericUtils.java | 2 +- src/main/java/org/scijava/util/IntArray.java | 2 +- src/main/java/org/scijava/util/IntCoords.java | 2 +- src/main/java/org/scijava/util/IntRect.java | 2 +- .../java/org/scijava/util/IteratorPlus.java | 2 +- .../org/scijava/util/LastRecentlyUsed.java | 2 +- .../org/scijava/util/LineOutputStream.java | 2 +- src/main/java/org/scijava/util/ListUtils.java | 2 +- src/main/java/org/scijava/util/LongArray.java | 2 +- src/main/java/org/scijava/util/Manifest.java | 2 +- .../org/scijava/util/MersenneTwisterFast.java | 2 +- .../org/scijava/util/MetaInfCombiner.java | 2 +- .../java/org/scijava/util/MirrorWebsite.java | 2 +- src/main/java/org/scijava/util/MiscUtils.java | 2 +- .../java/org/scijava/util/NumberUtils.java | 2 +- .../java/org/scijava/util/ObjectArray.java | 2 +- src/main/java/org/scijava/util/POM.java | 2 +- .../java/org/scijava/util/PlatformUtils.java | 2 +- src/main/java/org/scijava/util/Prefs.java | 2 +- .../java/org/scijava/util/PrimitiveArray.java | 2 +- .../java/org/scijava/util/ProcessUtils.java | 2 +- src/main/java/org/scijava/util/Query.java | 2 +- src/main/java/org/scijava/util/ReadInto.java | 2 +- .../java/org/scijava/util/RealCoords.java | 2 +- src/main/java/org/scijava/util/RealRect.java | 2 +- .../org/scijava/util/ReflectException.java | 2 +- .../org/scijava/util/ReflectedUniverse.java | 2 +- .../org/scijava/util/ServiceCombiner.java | 2 +- .../java/org/scijava/util/ShortArray.java | 2 +- src/main/java/org/scijava/util/Sizable.java | 2 +- .../org/scijava/util/SizableArrayList.java | 2 +- .../java/org/scijava/util/StringMaker.java | 2 +- .../java/org/scijava/util/StringUtils.java | 2 +- src/main/java/org/scijava/util/Timing.java | 2 +- src/main/java/org/scijava/util/TreeNode.java | 2 +- .../java/org/scijava/util/TunePlayer.java | 2 +- src/main/java/org/scijava/util/Types.java | 2 +- src/main/java/org/scijava/util/UnitUtils.java | 2 +- .../java/org/scijava/util/VersionUtils.java | 2 +- src/main/java/org/scijava/util/XML.java | 2 +- .../welcome/DefaultWelcomeService.java | 2 +- .../org/scijava/welcome/WelcomeService.java | 2 +- .../scijava/welcome/event/WelcomeEvent.java | 2 +- .../widget/AbstractInputHarvester.java | 2 +- .../scijava/widget/AbstractInputPanel.java | 2 +- .../scijava/widget/AbstractInputWidget.java | 2 +- src/main/java/org/scijava/widget/Button.java | 2 +- .../java/org/scijava/widget/ButtonWidget.java | 2 +- .../java/org/scijava/widget/ChoiceWidget.java | 2 +- .../java/org/scijava/widget/ColorWidget.java | 2 +- .../java/org/scijava/widget/DateWidget.java | 2 +- .../scijava/widget/DefaultWidgetModel.java | 2 +- .../scijava/widget/DefaultWidgetService.java | 2 +- .../org/scijava/widget/FileListWidget.java | 2 +- .../java/org/scijava/widget/FileWidget.java | 2 +- .../org/scijava/widget/InputHarvester.java | 2 +- .../java/org/scijava/widget/InputPanel.java | 2 +- .../java/org/scijava/widget/InputWidget.java | 2 +- .../org/scijava/widget/MessageWidget.java | 2 +- .../java/org/scijava/widget/NumberWidget.java | 2 +- .../java/org/scijava/widget/ObjectWidget.java | 2 +- .../java/org/scijava/widget/TextWidget.java | 2 +- .../java/org/scijava/widget/ToggleWidget.java | 2 +- .../java/org/scijava/widget/UIComponent.java | 2 +- .../java/org/scijava/widget/WidgetModel.java | 2 +- .../org/scijava/widget/WidgetService.java | 2 +- .../java/org/scijava/widget/WidgetStyle.java | 2 +- .../java/org/scijava/ContextCreationTest.java | 2 +- .../org/scijava/ContextInjectionTest.java | 2 +- src/test/java/org/scijava/SciJavaTest.java | 2 +- .../org/scijava/annotations/AnnotatedA.java | 2 +- .../org/scijava/annotations/AnnotatedB.java | 2 +- .../org/scijava/annotations/AnnotatedC.java | 2 +- .../org/scijava/annotations/AnnotatedD.java | 2 +- .../annotations/AnnotatedInnerClass.java | 2 +- .../java/org/scijava/annotations/Complex.java | 2 +- .../annotations/DirectoryIndexerTest.java | 2 +- .../annotations/EclipseHelperTest.java | 2 +- .../java/org/scijava/annotations/Fruit.java | 2 +- .../org/scijava/annotations/LegacyTest.java | 2 +- .../java/org/scijava/annotations/Simple.java | 2 +- .../org/scijava/app/StatusServiceTest.java | 2 +- .../command/CommandArrayConverterTest.java | 2 +- .../org/scijava/command/CommandInfoTest.java | 2 +- .../scijava/command/CommandModuleTest.java | 2 +- .../scijava/command/CommandServiceTest.java | 2 +- .../java/org/scijava/command/InputsTest.java | 2 +- .../scijava/command/InvalidCommandTest.java | 2 +- .../command/run/CommandCodeRunnerTest.java | 2 +- .../scijava/console/ConsoleServiceTest.java | 2 +- .../console/SystemPropertyArgumentTest.java | 2 +- .../convert/AbstractNumberConverterTests.java | 2 +- .../BigIntegerToBigDecimalConverterTest.java | 2 +- .../ByteToBigDecimalConverterTest.java | 2 +- .../ByteToBigIntegerConverterTest.java | 2 +- .../convert/ByteToDoubleConverterTest.java | 2 +- .../convert/ByteToFloatConverterTest.java | 2 +- .../convert/ByteToIntegerConverterTest.java | 2 +- .../convert/ByteToLongConverterTest.java | 2 +- .../convert/ByteToShortConverterTest.java | 2 +- .../scijava/convert/ConvertServiceTest.java | 2 +- .../org/scijava/convert/ConverterTest.java | 2 +- .../convert/DelegateConverterTest.java | 2 +- .../DoubleToBigDecimalConverterTest.java | 2 +- .../convert/FileListConverterTest.java | 2 +- .../FloatToBigDecimalConverterTest.java | 2 +- .../convert/FloatToDoubleConverterTest.java | 2 +- .../IntegerToBigDecimalConverterTest.java | 2 +- .../IntegerToBigIntegerConverterTest.java | 2 +- .../convert/IntegerToDoubleConverterTest.java | 2 +- .../convert/IntegerToLongConverterTest.java | 2 +- .../LongToBigDecimalConverterTest.java | 2 +- .../LongToBigIntegerConverterTest.java | 2 +- .../ShortToBigDecimalConverterTest.java | 2 +- .../ShortToBigIntegerConverterTest.java | 2 +- .../convert/ShortToDoubleConverterTest.java | 2 +- .../convert/ShortToFloatConverterTest.java | 2 +- .../convert/ShortToIntegerConverterTest.java | 2 +- .../convert/ShortToLongConverterTest.java | 2 +- .../java/org/scijava/display/DisplayTest.java | 2 +- .../scijava/download/DownloadServiceTest.java | 2 +- .../org/scijava/event/EventServiceTest.java | 2 +- .../org/scijava/io/ByteArrayByteBankTest.java | 2 +- .../java/org/scijava/io/ByteBankTest.java | 2 +- .../java/org/scijava/io/IOServiceTest.java | 2 +- .../org/scijava/io/TypedIOServiceTest.java | 2 +- .../org/scijava/io/event/DataEventTest.java | 2 +- .../scijava/io/handle/BytesHandleTest.java | 2 +- .../io/handle/DataHandleEdgeCaseTests.java | 2 +- .../org/scijava/io/handle/DataHandleTest.java | 2 +- .../scijava/io/handle/DataHandlesTest.java | 2 +- .../org/scijava/io/handle/FileHandleTest.java | 2 +- .../handle/ReadBufferDataHandleMockTest.java | 2 +- .../io/handle/ReadBufferDataHandleTest.java | 2 +- .../io/handle/WriteBufferDataHandleTest.java | 2 +- .../io/location/BytesLocationTest.java | 2 +- .../io/location/FileLocationResolverTest.java | 2 +- .../scijava/io/location/FileLocationTest.java | 2 +- .../io/location/LocationServiceTest.java | 2 +- .../scijava/io/location/URILocationTest.java | 2 +- .../scijava/io/location/URLLocationTest.java | 2 +- .../io/nio/ByteBufferByteBankTest.java | 2 +- .../scijava/log/CallingClassUtilsTest.java | 2 +- .../org/scijava/log/DefaultLoggerTest.java | 2 +- .../java/org/scijava/log/LogMessageTest.java | 2 +- .../java/org/scijava/log/LogServiceTest.java | 2 +- .../java/org/scijava/log/LogSourceTest.java | 2 +- .../org/scijava/log/StderrLogServiceTest.java | 2 +- .../java/org/scijava/log/TestLogListener.java | 2 +- .../org/scijava/main/MainServiceTest.java | 2 +- .../scijava/main/run/MainCodeRunnerTest.java | 2 +- .../org/scijava/menu/MenuServiceTest.java | 2 +- .../java/org/scijava/menu/ShadowMenuTest.java | 2 +- .../org/scijava/module/ModuleServiceTest.java | 2 +- .../process/LoggerPreprocessorTest.java | 2 +- .../module/run/ModuleCodeRunnerTest.java | 2 +- .../scijava/object/NamedObjectIndexTest.java | 2 +- .../org/scijava/object/ObjectIndexTest.java | 2 +- .../org/scijava/object/ObjectServiceTest.java | 2 +- .../scijava/object/SortedObjectIndexTest.java | 2 +- .../java/org/scijava/options/OptionsTest.java | 2 +- .../org/scijava/parse/ParseServiceTest.java | 2 +- .../org/scijava/plugin/PluginFinderTest.java | 2 +- .../org/scijava/plugin/PluginIndexTest.java | 2 +- .../org/scijava/plugin/PluginInfoTest.java | 2 +- .../scijava/plugin/SingletonServiceTest.java | 2 +- .../org/scijava/prefs/PrefServiceTest.java | 2 +- .../java/org/scijava/run/RunServiceTest.java | 2 +- .../script/AbstractScriptLanguageTest.java | 2 +- .../org/scijava/script/ScriptEngineTest.java | 2 +- .../org/scijava/script/ScriptFinderTest.java | 2 +- .../org/scijava/script/ScriptInfoTest.java | 2 +- .../org/scijava/script/ScriptServiceTest.java | 2 +- .../process/ParameterScriptProcessorTest.java | 2 +- .../org/scijava/service/ServiceIndexTest.java | 2 +- .../java/org/scijava/task/TaskEventTest.java | 30 ++++++++++++++++++- .../org/scijava/task/TaskServiceTest.java | 2 +- .../org/scijava/test/AbstractSciJavaTest.java | 2 +- .../java/org/scijava/test/TestUtilsTest.java | 2 +- .../org/scijava/thread/ThreadServiceTest.java | 2 +- .../java/org/scijava/ui/UIServiceTest.java | 2 +- .../java/org/scijava/util/AppUtilsTest.java | 2 +- .../java/org/scijava/util/ArrayUtilsTest.java | 2 +- .../java/org/scijava/util/BoolArrayTest.java | 2 +- .../java/org/scijava/util/ByteArrayTest.java | 2 +- .../java/org/scijava/util/CharArrayTest.java | 2 +- .../java/org/scijava/util/ClassUtilsTest.java | 2 +- .../java/org/scijava/util/ColorRGBTest.java | 2 +- .../org/scijava/util/ConversionUtilsTest.java | 2 +- .../org/scijava/util/DigestUtilsTest.java | 2 +- .../org/scijava/util/DoubleArrayTest.java | 2 +- .../java/org/scijava/util/FileUtilsTest.java | 2 +- .../java/org/scijava/util/FloatArrayTest.java | 2 +- .../scijava/util/GenericArrayTypesTest.java | 2 +- .../java/org/scijava/util/IntArrayTest.java | 2 +- .../scijava/util/LastRecentlyUsedTest.java | 2 +- .../java/org/scijava/util/LongArrayTest.java | 2 +- .../org/scijava/util/ObjectArrayTest.java | 2 +- src/test/java/org/scijava/util/POMTest.java | 2 +- .../org/scijava/util/PrimitiveArrayTest.java | 2 +- .../org/scijava/util/ProcessUtilsTest.java | 2 +- .../java/org/scijava/util/ShortArrayTest.java | 2 +- .../org/scijava/util/StringUtilsTest.java | 2 +- src/test/java/org/scijava/util/TypesTest.java | 2 +- .../java/org/scijava/util/UnitUtilsTest.java | 2 +- .../org/scijava/util/VersionUtilsTest.java | 2 +- .../org/scijava/widget/WidgetStyleTest.java | 2 +- 739 files changed, 771 insertions(+), 743 deletions(-) diff --git a/LICENSE.txt b/LICENSE.txt index 43b1df69e..5f08911f4 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,4 +1,4 @@ -Copyright (c) 2009 - 2021, SciJava developers. +Copyright (c) 2009 - 2022, SciJava developers. All rights reserved. Redistribution and use in source and binary forms, with or without modification, diff --git a/src/it/apt-test/pom.xml b/src/it/apt-test/pom.xml index c28b04b3b..8bfa04980 100644 --- a/src/it/apt-test/pom.xml +++ b/src/it/apt-test/pom.xml @@ -3,7 +3,7 @@ #%L SciJava Common shared library for SciJava software. %% - Copyright (C) 2009 - 2021 SciJava developers. + Copyright (C) 2009 - 2022 SciJava developers. %% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: diff --git a/src/it/apt-test/setup.bsh b/src/it/apt-test/setup.bsh index 8d0aff88c..1aa0b6938 100644 --- a/src/it/apt-test/setup.bsh +++ b/src/it/apt-test/setup.bsh @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/it/apt-test/src/main/java/org/scijava/annotation/its/Annotated.java b/src/it/apt-test/src/main/java/org/scijava/annotation/its/Annotated.java index 2cdd86b5d..1bda32ca5 100644 --- a/src/it/apt-test/src/main/java/org/scijava/annotation/its/Annotated.java +++ b/src/it/apt-test/src/main/java/org/scijava/annotation/its/Annotated.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/it/apt-test/src/main/java/org/scijava/annotation/its/CustomAnnotation.java b/src/it/apt-test/src/main/java/org/scijava/annotation/its/CustomAnnotation.java index a2b88d6d8..77e414da2 100644 --- a/src/it/apt-test/src/main/java/org/scijava/annotation/its/CustomAnnotation.java +++ b/src/it/apt-test/src/main/java/org/scijava/annotation/its/CustomAnnotation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/it/apt-test/verify.bsh b/src/it/apt-test/verify.bsh index d0130489e..bf20d6cc0 100644 --- a/src/it/apt-test/verify.bsh +++ b/src/it/apt-test/verify.bsh @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/it/settings.xml b/src/it/settings.xml index a658c93af..be7d7b999 100644 --- a/src/it/settings.xml +++ b/src/it/settings.xml @@ -3,7 +3,7 @@ #%L SciJava Common shared library for SciJava software. %% - Copyright (C) 2009 - 2021 SciJava developers. + Copyright (C) 2009 - 2022 SciJava developers. %% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/AbstractBasicDetails.java b/src/main/java/org/scijava/AbstractBasicDetails.java index c1957ba7b..96ba66746 100644 --- a/src/main/java/org/scijava/AbstractBasicDetails.java +++ b/src/main/java/org/scijava/AbstractBasicDetails.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/AbstractContextual.java b/src/main/java/org/scijava/AbstractContextual.java index f1746123e..b8a074336 100644 --- a/src/main/java/org/scijava/AbstractContextual.java +++ b/src/main/java/org/scijava/AbstractContextual.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/AbstractGateway.java b/src/main/java/org/scijava/AbstractGateway.java index 5975db5b7..c6be31959 100644 --- a/src/main/java/org/scijava/AbstractGateway.java +++ b/src/main/java/org/scijava/AbstractGateway.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/AbstractUIDetails.java b/src/main/java/org/scijava/AbstractUIDetails.java index 0113ae104..0b887cafa 100644 --- a/src/main/java/org/scijava/AbstractUIDetails.java +++ b/src/main/java/org/scijava/AbstractUIDetails.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/BasicDetails.java b/src/main/java/org/scijava/BasicDetails.java index 3d2fd592b..b3ab1e40f 100644 --- a/src/main/java/org/scijava/BasicDetails.java +++ b/src/main/java/org/scijava/BasicDetails.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Cancelable.java b/src/main/java/org/scijava/Cancelable.java index 645e4d0f9..0b1098ca0 100644 --- a/src/main/java/org/scijava/Cancelable.java +++ b/src/main/java/org/scijava/Cancelable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Context.java b/src/main/java/org/scijava/Context.java index c1559cb4c..f93f22991 100644 --- a/src/main/java/org/scijava/Context.java +++ b/src/main/java/org/scijava/Context.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Contextual.java b/src/main/java/org/scijava/Contextual.java index 9a3f5ec98..cd247a466 100644 --- a/src/main/java/org/scijava/Contextual.java +++ b/src/main/java/org/scijava/Contextual.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Disposable.java b/src/main/java/org/scijava/Disposable.java index 1713edd7b..cde51c0fc 100644 --- a/src/main/java/org/scijava/Disposable.java +++ b/src/main/java/org/scijava/Disposable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Gateway.java b/src/main/java/org/scijava/Gateway.java index a8d00fa71..47b346156 100644 --- a/src/main/java/org/scijava/Gateway.java +++ b/src/main/java/org/scijava/Gateway.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Identifiable.java b/src/main/java/org/scijava/Identifiable.java index f7f4a607e..0774e0fb2 100644 --- a/src/main/java/org/scijava/Identifiable.java +++ b/src/main/java/org/scijava/Identifiable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Initializable.java b/src/main/java/org/scijava/Initializable.java index 025b1023a..149e8d503 100644 --- a/src/main/java/org/scijava/Initializable.java +++ b/src/main/java/org/scijava/Initializable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Instantiable.java b/src/main/java/org/scijava/Instantiable.java index df9a4c02f..5be5d288d 100644 --- a/src/main/java/org/scijava/Instantiable.java +++ b/src/main/java/org/scijava/Instantiable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/InstantiableException.java b/src/main/java/org/scijava/InstantiableException.java index 38dffb74a..bf31a522f 100644 --- a/src/main/java/org/scijava/InstantiableException.java +++ b/src/main/java/org/scijava/InstantiableException.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ItemIO.java b/src/main/java/org/scijava/ItemIO.java index 8d85f3d92..e9955fcaf 100644 --- a/src/main/java/org/scijava/ItemIO.java +++ b/src/main/java/org/scijava/ItemIO.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ItemVisibility.java b/src/main/java/org/scijava/ItemVisibility.java index f9750c56b..d69da15d2 100644 --- a/src/main/java/org/scijava/ItemVisibility.java +++ b/src/main/java/org/scijava/ItemVisibility.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Locatable.java b/src/main/java/org/scijava/Locatable.java index 51cdaed24..e200df42e 100644 --- a/src/main/java/org/scijava/Locatable.java +++ b/src/main/java/org/scijava/Locatable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/MenuEntry.java b/src/main/java/org/scijava/MenuEntry.java index b0967e474..ee0ac4b75 100644 --- a/src/main/java/org/scijava/MenuEntry.java +++ b/src/main/java/org/scijava/MenuEntry.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/MenuPath.java b/src/main/java/org/scijava/MenuPath.java index 762a2f230..508eec37b 100644 --- a/src/main/java/org/scijava/MenuPath.java +++ b/src/main/java/org/scijava/MenuPath.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Named.java b/src/main/java/org/scijava/Named.java index 7fdb52160..2307e06f3 100644 --- a/src/main/java/org/scijava/Named.java +++ b/src/main/java/org/scijava/Named.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/NoSuchServiceException.java b/src/main/java/org/scijava/NoSuchServiceException.java index 1ac3e1370..498c0989f 100644 --- a/src/main/java/org/scijava/NoSuchServiceException.java +++ b/src/main/java/org/scijava/NoSuchServiceException.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/NullContextException.java b/src/main/java/org/scijava/NullContextException.java index ce2ec0ebd..7c13e82ba 100644 --- a/src/main/java/org/scijava/NullContextException.java +++ b/src/main/java/org/scijava/NullContextException.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Optional.java b/src/main/java/org/scijava/Optional.java index 9661b38ac..8ce2fc46f 100644 --- a/src/main/java/org/scijava/Optional.java +++ b/src/main/java/org/scijava/Optional.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Prioritized.java b/src/main/java/org/scijava/Prioritized.java index 990bc4f9e..bb49dc76f 100644 --- a/src/main/java/org/scijava/Prioritized.java +++ b/src/main/java/org/scijava/Prioritized.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Priority.java b/src/main/java/org/scijava/Priority.java index 064a860c7..a495ec026 100644 --- a/src/main/java/org/scijava/Priority.java +++ b/src/main/java/org/scijava/Priority.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/SciJava.java b/src/main/java/org/scijava/SciJava.java index aed3bb358..3c1180e43 100644 --- a/src/main/java/org/scijava/SciJava.java +++ b/src/main/java/org/scijava/SciJava.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Typed.java b/src/main/java/org/scijava/Typed.java index c38fa1d37..a600d4718 100644 --- a/src/main/java/org/scijava/Typed.java +++ b/src/main/java/org/scijava/Typed.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/UIDetails.java b/src/main/java/org/scijava/UIDetails.java index 2c293a899..949cf24cb 100644 --- a/src/main/java/org/scijava/UIDetails.java +++ b/src/main/java/org/scijava/UIDetails.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Validated.java b/src/main/java/org/scijava/Validated.java index 5bc4b934a..f3383a252 100644 --- a/src/main/java/org/scijava/Validated.java +++ b/src/main/java/org/scijava/Validated.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ValidityProblem.java b/src/main/java/org/scijava/ValidityProblem.java index dede56c21..65cfa240c 100644 --- a/src/main/java/org/scijava/ValidityProblem.java +++ b/src/main/java/org/scijava/ValidityProblem.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Versioned.java b/src/main/java/org/scijava/Versioned.java index aa4d19c7f..c12d5be9b 100644 --- a/src/main/java/org/scijava/Versioned.java +++ b/src/main/java/org/scijava/Versioned.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/AbstractIndexWriter.java b/src/main/java/org/scijava/annotations/AbstractIndexWriter.java index 21a2a90cf..9132512e6 100644 --- a/src/main/java/org/scijava/annotations/AbstractIndexWriter.java +++ b/src/main/java/org/scijava/annotations/AbstractIndexWriter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/AnnotationCombiner.java b/src/main/java/org/scijava/annotations/AnnotationCombiner.java index 9e3fbd0f7..88f92ca9e 100644 --- a/src/main/java/org/scijava/annotations/AnnotationCombiner.java +++ b/src/main/java/org/scijava/annotations/AnnotationCombiner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/AnnotationProcessor.java b/src/main/java/org/scijava/annotations/AnnotationProcessor.java index 72fa9e051..03cc759b0 100644 --- a/src/main/java/org/scijava/annotations/AnnotationProcessor.java +++ b/src/main/java/org/scijava/annotations/AnnotationProcessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/ByteCodeAnalyzer.java b/src/main/java/org/scijava/annotations/ByteCodeAnalyzer.java index 94a4f62f9..316ce2601 100644 --- a/src/main/java/org/scijava/annotations/ByteCodeAnalyzer.java +++ b/src/main/java/org/scijava/annotations/ByteCodeAnalyzer.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/DirectoryIndexer.java b/src/main/java/org/scijava/annotations/DirectoryIndexer.java index 098afabe0..84a176e00 100644 --- a/src/main/java/org/scijava/annotations/DirectoryIndexer.java +++ b/src/main/java/org/scijava/annotations/DirectoryIndexer.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/EclipseHelper.java b/src/main/java/org/scijava/annotations/EclipseHelper.java index 194cdbf50..d8b457f29 100644 --- a/src/main/java/org/scijava/annotations/EclipseHelper.java +++ b/src/main/java/org/scijava/annotations/EclipseHelper.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/Index.java b/src/main/java/org/scijava/annotations/Index.java index 0688fd264..e9fe9a5c4 100644 --- a/src/main/java/org/scijava/annotations/Index.java +++ b/src/main/java/org/scijava/annotations/Index.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/IndexItem.java b/src/main/java/org/scijava/annotations/IndexItem.java index 52083be38..3a3fc8b54 100644 --- a/src/main/java/org/scijava/annotations/IndexItem.java +++ b/src/main/java/org/scijava/annotations/IndexItem.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/IndexReader.java b/src/main/java/org/scijava/annotations/IndexReader.java index fce9a2535..061226272 100644 --- a/src/main/java/org/scijava/annotations/IndexReader.java +++ b/src/main/java/org/scijava/annotations/IndexReader.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/Indexable.java b/src/main/java/org/scijava/annotations/Indexable.java index 8dc6fbe3e..31315dcf0 100644 --- a/src/main/java/org/scijava/annotations/Indexable.java +++ b/src/main/java/org/scijava/annotations/Indexable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/legacy/LegacyReader.java b/src/main/java/org/scijava/annotations/legacy/LegacyReader.java index 31eccfb14..300a03da0 100644 --- a/src/main/java/org/scijava/annotations/legacy/LegacyReader.java +++ b/src/main/java/org/scijava/annotations/legacy/LegacyReader.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/app/AbstractApp.java b/src/main/java/org/scijava/app/AbstractApp.java index 91d6ee387..3efbfc005 100644 --- a/src/main/java/org/scijava/app/AbstractApp.java +++ b/src/main/java/org/scijava/app/AbstractApp.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/app/App.java b/src/main/java/org/scijava/app/App.java index 319424009..ad603f17f 100644 --- a/src/main/java/org/scijava/app/App.java +++ b/src/main/java/org/scijava/app/App.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/app/AppService.java b/src/main/java/org/scijava/app/AppService.java index 3327d8ac5..876475de3 100644 --- a/src/main/java/org/scijava/app/AppService.java +++ b/src/main/java/org/scijava/app/AppService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/app/DefaultAppService.java b/src/main/java/org/scijava/app/DefaultAppService.java index aa94bb420..26642e99b 100644 --- a/src/main/java/org/scijava/app/DefaultAppService.java +++ b/src/main/java/org/scijava/app/DefaultAppService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/app/DefaultStatusService.java b/src/main/java/org/scijava/app/DefaultStatusService.java index 5ff4059d5..c622c12ea 100644 --- a/src/main/java/org/scijava/app/DefaultStatusService.java +++ b/src/main/java/org/scijava/app/DefaultStatusService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/app/SciJavaApp.java b/src/main/java/org/scijava/app/SciJavaApp.java index 2b40968af..1c9679b06 100644 --- a/src/main/java/org/scijava/app/SciJavaApp.java +++ b/src/main/java/org/scijava/app/SciJavaApp.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/app/StatusService.java b/src/main/java/org/scijava/app/StatusService.java index 7fee4c9af..e2c64ebf0 100644 --- a/src/main/java/org/scijava/app/StatusService.java +++ b/src/main/java/org/scijava/app/StatusService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/app/event/StatusEvent.java b/src/main/java/org/scijava/app/event/StatusEvent.java index 9a341198b..cb34e3f4e 100644 --- a/src/main/java/org/scijava/app/event/StatusEvent.java +++ b/src/main/java/org/scijava/app/event/StatusEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/cache/CacheService.java b/src/main/java/org/scijava/cache/CacheService.java index 669ccb3d9..f91b37214 100644 --- a/src/main/java/org/scijava/cache/CacheService.java +++ b/src/main/java/org/scijava/cache/CacheService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/cache/DefaultCacheService.java b/src/main/java/org/scijava/cache/DefaultCacheService.java index 142528f5e..210ed2558 100644 --- a/src/main/java/org/scijava/cache/DefaultCacheService.java +++ b/src/main/java/org/scijava/cache/DefaultCacheService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/Command.java b/src/main/java/org/scijava/command/Command.java index efe93bef4..420c5c2e9 100644 --- a/src/main/java/org/scijava/command/Command.java +++ b/src/main/java/org/scijava/command/Command.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/CommandInfo.java b/src/main/java/org/scijava/command/CommandInfo.java index 8f1a5da5f..cdde41992 100644 --- a/src/main/java/org/scijava/command/CommandInfo.java +++ b/src/main/java/org/scijava/command/CommandInfo.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/CommandModule.java b/src/main/java/org/scijava/command/CommandModule.java index 745bd8a6f..fc1e59469 100644 --- a/src/main/java/org/scijava/command/CommandModule.java +++ b/src/main/java/org/scijava/command/CommandModule.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/CommandModuleItem.java b/src/main/java/org/scijava/command/CommandModuleItem.java index 219e8d3e9..38b52ac11 100644 --- a/src/main/java/org/scijava/command/CommandModuleItem.java +++ b/src/main/java/org/scijava/command/CommandModuleItem.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/CommandService.java b/src/main/java/org/scijava/command/CommandService.java index e526aa92c..6e777ea5b 100644 --- a/src/main/java/org/scijava/command/CommandService.java +++ b/src/main/java/org/scijava/command/CommandService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/ContextCommand.java b/src/main/java/org/scijava/command/ContextCommand.java index 0d7b52c1d..86094df90 100644 --- a/src/main/java/org/scijava/command/ContextCommand.java +++ b/src/main/java/org/scijava/command/ContextCommand.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/DefaultCommandService.java b/src/main/java/org/scijava/command/DefaultCommandService.java index dd17f807a..64ee66b62 100644 --- a/src/main/java/org/scijava/command/DefaultCommandService.java +++ b/src/main/java/org/scijava/command/DefaultCommandService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/DynamicCommand.java b/src/main/java/org/scijava/command/DynamicCommand.java index 6276cdec6..4d6f8e980 100644 --- a/src/main/java/org/scijava/command/DynamicCommand.java +++ b/src/main/java/org/scijava/command/DynamicCommand.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/DynamicCommandInfo.java b/src/main/java/org/scijava/command/DynamicCommandInfo.java index 65054b9cc..f45561e6b 100644 --- a/src/main/java/org/scijava/command/DynamicCommandInfo.java +++ b/src/main/java/org/scijava/command/DynamicCommandInfo.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/Inputs.java b/src/main/java/org/scijava/command/Inputs.java index cb314b844..291f748cb 100644 --- a/src/main/java/org/scijava/command/Inputs.java +++ b/src/main/java/org/scijava/command/Inputs.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/Interactive.java b/src/main/java/org/scijava/command/Interactive.java index b79030cd4..cb35b9314 100644 --- a/src/main/java/org/scijava/command/Interactive.java +++ b/src/main/java/org/scijava/command/Interactive.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/InteractiveCommand.java b/src/main/java/org/scijava/command/InteractiveCommand.java index 45cdbcc89..51e7b9ffa 100644 --- a/src/main/java/org/scijava/command/InteractiveCommand.java +++ b/src/main/java/org/scijava/command/InteractiveCommand.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/ModuleCommand.java b/src/main/java/org/scijava/command/ModuleCommand.java index b0685a3de..5cb014814 100644 --- a/src/main/java/org/scijava/command/ModuleCommand.java +++ b/src/main/java/org/scijava/command/ModuleCommand.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/Previewable.java b/src/main/java/org/scijava/command/Previewable.java index 69a246b0b..5115b88a1 100644 --- a/src/main/java/org/scijava/command/Previewable.java +++ b/src/main/java/org/scijava/command/Previewable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/UnimplementedCommand.java b/src/main/java/org/scijava/command/UnimplementedCommand.java index 8d714abe8..f803e283c 100644 --- a/src/main/java/org/scijava/command/UnimplementedCommand.java +++ b/src/main/java/org/scijava/command/UnimplementedCommand.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/console/RunArgument.java b/src/main/java/org/scijava/command/console/RunArgument.java index 77a8ebcba..d066e9d74 100644 --- a/src/main/java/org/scijava/command/console/RunArgument.java +++ b/src/main/java/org/scijava/command/console/RunArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/run/CommandCodeRunner.java b/src/main/java/org/scijava/command/run/CommandCodeRunner.java index 204129581..ea493609c 100644 --- a/src/main/java/org/scijava/command/run/CommandCodeRunner.java +++ b/src/main/java/org/scijava/command/run/CommandCodeRunner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/AbstractConsoleArgument.java b/src/main/java/org/scijava/console/AbstractConsoleArgument.java index 0f9ca35c2..88d64af7a 100644 --- a/src/main/java/org/scijava/console/AbstractConsoleArgument.java +++ b/src/main/java/org/scijava/console/AbstractConsoleArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/ConsoleArgument.java b/src/main/java/org/scijava/console/ConsoleArgument.java index 06ceb965a..2067aae10 100644 --- a/src/main/java/org/scijava/console/ConsoleArgument.java +++ b/src/main/java/org/scijava/console/ConsoleArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/ConsoleService.java b/src/main/java/org/scijava/console/ConsoleService.java index 377bbb37b..97299556c 100644 --- a/src/main/java/org/scijava/console/ConsoleService.java +++ b/src/main/java/org/scijava/console/ConsoleService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/ConsoleUtils.java b/src/main/java/org/scijava/console/ConsoleUtils.java index 8e36b0d0c..80713b5bd 100644 --- a/src/main/java/org/scijava/console/ConsoleUtils.java +++ b/src/main/java/org/scijava/console/ConsoleUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/DefaultConsoleService.java b/src/main/java/org/scijava/console/DefaultConsoleService.java index 7ae73c9d7..9f474b2f7 100644 --- a/src/main/java/org/scijava/console/DefaultConsoleService.java +++ b/src/main/java/org/scijava/console/DefaultConsoleService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/MultiOutputStream.java b/src/main/java/org/scijava/console/MultiOutputStream.java index 999db00e2..dc2a3ec62 100644 --- a/src/main/java/org/scijava/console/MultiOutputStream.java +++ b/src/main/java/org/scijava/console/MultiOutputStream.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/MultiPrintStream.java b/src/main/java/org/scijava/console/MultiPrintStream.java index 093ccc004..991f24710 100644 --- a/src/main/java/org/scijava/console/MultiPrintStream.java +++ b/src/main/java/org/scijava/console/MultiPrintStream.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/OutputEvent.java b/src/main/java/org/scijava/console/OutputEvent.java index 3b7b91213..ffacdfa07 100644 --- a/src/main/java/org/scijava/console/OutputEvent.java +++ b/src/main/java/org/scijava/console/OutputEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/OutputListener.java b/src/main/java/org/scijava/console/OutputListener.java index afdce7781..1486f70f0 100644 --- a/src/main/java/org/scijava/console/OutputListener.java +++ b/src/main/java/org/scijava/console/OutputListener.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/SystemPropertyArgument.java b/src/main/java/org/scijava/console/SystemPropertyArgument.java index 638941d24..c6a053fbc 100644 --- a/src/main/java/org/scijava/console/SystemPropertyArgument.java +++ b/src/main/java/org/scijava/console/SystemPropertyArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/AbstractConvertService.java b/src/main/java/org/scijava/convert/AbstractConvertService.java index 9b98b2925..89b883f63 100644 --- a/src/main/java/org/scijava/convert/AbstractConvertService.java +++ b/src/main/java/org/scijava/convert/AbstractConvertService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/AbstractConverter.java b/src/main/java/org/scijava/convert/AbstractConverter.java index 098d25fb1..9b2ae2cda 100644 --- a/src/main/java/org/scijava/convert/AbstractConverter.java +++ b/src/main/java/org/scijava/convert/AbstractConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/AbstractDelegateConverter.java b/src/main/java/org/scijava/convert/AbstractDelegateConverter.java index d4a503876..4e447eb79 100644 --- a/src/main/java/org/scijava/convert/AbstractDelegateConverter.java +++ b/src/main/java/org/scijava/convert/AbstractDelegateConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/ArrayConverters.java b/src/main/java/org/scijava/convert/ArrayConverters.java index 4a3be7d96..507ff693e 100644 --- a/src/main/java/org/scijava/convert/ArrayConverters.java +++ b/src/main/java/org/scijava/convert/ArrayConverters.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/CastingConverter.java b/src/main/java/org/scijava/convert/CastingConverter.java index edb6f7aed..d55b9663a 100644 --- a/src/main/java/org/scijava/convert/CastingConverter.java +++ b/src/main/java/org/scijava/convert/CastingConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/ConversionRequest.java b/src/main/java/org/scijava/convert/ConversionRequest.java index c9f9b77cb..36fc745a9 100644 --- a/src/main/java/org/scijava/convert/ConversionRequest.java +++ b/src/main/java/org/scijava/convert/ConversionRequest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/ConvertService.java b/src/main/java/org/scijava/convert/ConvertService.java index d94a67711..f82552970 100644 --- a/src/main/java/org/scijava/convert/ConvertService.java +++ b/src/main/java/org/scijava/convert/ConvertService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/Converter.java b/src/main/java/org/scijava/convert/Converter.java index 118a188e2..bf63a19d8 100644 --- a/src/main/java/org/scijava/convert/Converter.java +++ b/src/main/java/org/scijava/convert/Converter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/DefaultConvertService.java b/src/main/java/org/scijava/convert/DefaultConvertService.java index dc8610947..bb5ec9d50 100644 --- a/src/main/java/org/scijava/convert/DefaultConvertService.java +++ b/src/main/java/org/scijava/convert/DefaultConvertService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/DefaultConverter.java b/src/main/java/org/scijava/convert/DefaultConverter.java index 68ebb8e89..d2daea418 100644 --- a/src/main/java/org/scijava/convert/DefaultConverter.java +++ b/src/main/java/org/scijava/convert/DefaultConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/FileListConverters.java b/src/main/java/org/scijava/convert/FileListConverters.java index 5c1e1ff9a..5aad27fb1 100644 --- a/src/main/java/org/scijava/convert/FileListConverters.java +++ b/src/main/java/org/scijava/convert/FileListConverters.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NullConverter.java b/src/main/java/org/scijava/convert/NullConverter.java index 862c91507..594468617 100644 --- a/src/main/java/org/scijava/convert/NullConverter.java +++ b/src/main/java/org/scijava/convert/NullConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberConverters.java b/src/main/java/org/scijava/convert/NumberConverters.java index 596ac4f0b..d2d23e617 100644 --- a/src/main/java/org/scijava/convert/NumberConverters.java +++ b/src/main/java/org/scijava/convert/NumberConverters.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberToBigDecimalConverter.java b/src/main/java/org/scijava/convert/NumberToBigDecimalConverter.java index f48ba06ea..1b646057d 100644 --- a/src/main/java/org/scijava/convert/NumberToBigDecimalConverter.java +++ b/src/main/java/org/scijava/convert/NumberToBigDecimalConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberToBigIntegerConverter.java b/src/main/java/org/scijava/convert/NumberToBigIntegerConverter.java index 76a96d49f..b2f29f89d 100644 --- a/src/main/java/org/scijava/convert/NumberToBigIntegerConverter.java +++ b/src/main/java/org/scijava/convert/NumberToBigIntegerConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberToDoubleConverter.java b/src/main/java/org/scijava/convert/NumberToDoubleConverter.java index 768c514ad..79ca2723b 100644 --- a/src/main/java/org/scijava/convert/NumberToDoubleConverter.java +++ b/src/main/java/org/scijava/convert/NumberToDoubleConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberToFloatConverter.java b/src/main/java/org/scijava/convert/NumberToFloatConverter.java index 716ab1db2..8c036173a 100644 --- a/src/main/java/org/scijava/convert/NumberToFloatConverter.java +++ b/src/main/java/org/scijava/convert/NumberToFloatConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberToIntegerConverter.java b/src/main/java/org/scijava/convert/NumberToIntegerConverter.java index 106836372..cc1aad5d7 100644 --- a/src/main/java/org/scijava/convert/NumberToIntegerConverter.java +++ b/src/main/java/org/scijava/convert/NumberToIntegerConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberToLongConverter.java b/src/main/java/org/scijava/convert/NumberToLongConverter.java index 26688e057..834388f9c 100644 --- a/src/main/java/org/scijava/convert/NumberToLongConverter.java +++ b/src/main/java/org/scijava/convert/NumberToLongConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberToNumberConverter.java b/src/main/java/org/scijava/convert/NumberToNumberConverter.java index ea5a58340..edbe1aeda 100644 --- a/src/main/java/org/scijava/convert/NumberToNumberConverter.java +++ b/src/main/java/org/scijava/convert/NumberToNumberConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberToShortConverter.java b/src/main/java/org/scijava/convert/NumberToShortConverter.java index 0cc896d99..3c0666f2a 100644 --- a/src/main/java/org/scijava/convert/NumberToShortConverter.java +++ b/src/main/java/org/scijava/convert/NumberToShortConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/PrimitiveArrayUnwrapper.java b/src/main/java/org/scijava/convert/PrimitiveArrayUnwrapper.java index e56efd060..c9e1a0412 100644 --- a/src/main/java/org/scijava/convert/PrimitiveArrayUnwrapper.java +++ b/src/main/java/org/scijava/convert/PrimitiveArrayUnwrapper.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/PrimitiveArrayWrapper.java b/src/main/java/org/scijava/convert/PrimitiveArrayWrapper.java index 86de8361b..96fdd4211 100644 --- a/src/main/java/org/scijava/convert/PrimitiveArrayWrapper.java +++ b/src/main/java/org/scijava/convert/PrimitiveArrayWrapper.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/AbstractDisplay.java b/src/main/java/org/scijava/display/AbstractDisplay.java index a3f9215b7..b3aa8cc47 100644 --- a/src/main/java/org/scijava/display/AbstractDisplay.java +++ b/src/main/java/org/scijava/display/AbstractDisplay.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/ActiveDisplayPreprocessor.java b/src/main/java/org/scijava/display/ActiveDisplayPreprocessor.java index 4d1796f26..b480f84d1 100644 --- a/src/main/java/org/scijava/display/ActiveDisplayPreprocessor.java +++ b/src/main/java/org/scijava/display/ActiveDisplayPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/DefaultDisplay.java b/src/main/java/org/scijava/display/DefaultDisplay.java index 3096e8db7..8813ccd1b 100644 --- a/src/main/java/org/scijava/display/DefaultDisplay.java +++ b/src/main/java/org/scijava/display/DefaultDisplay.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/DefaultDisplayService.java b/src/main/java/org/scijava/display/DefaultDisplayService.java index 457d20f63..836f105f5 100644 --- a/src/main/java/org/scijava/display/DefaultDisplayService.java +++ b/src/main/java/org/scijava/display/DefaultDisplayService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/DefaultTextDisplay.java b/src/main/java/org/scijava/display/DefaultTextDisplay.java index fc8b812ad..f9b0d3171 100644 --- a/src/main/java/org/scijava/display/DefaultTextDisplay.java +++ b/src/main/java/org/scijava/display/DefaultTextDisplay.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/Display.java b/src/main/java/org/scijava/display/Display.java index d22fcd67a..0662c15f6 100644 --- a/src/main/java/org/scijava/display/Display.java +++ b/src/main/java/org/scijava/display/Display.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/DisplayPostprocessor.java b/src/main/java/org/scijava/display/DisplayPostprocessor.java index 5fed339ab..1f1db6ac0 100644 --- a/src/main/java/org/scijava/display/DisplayPostprocessor.java +++ b/src/main/java/org/scijava/display/DisplayPostprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/DisplayService.java b/src/main/java/org/scijava/display/DisplayService.java index 55436b60e..cc4a96b89 100644 --- a/src/main/java/org/scijava/display/DisplayService.java +++ b/src/main/java/org/scijava/display/DisplayService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/Displayable.java b/src/main/java/org/scijava/display/Displayable.java index f705b1e42..d079a4c96 100644 --- a/src/main/java/org/scijava/display/Displayable.java +++ b/src/main/java/org/scijava/display/Displayable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/TextDisplay.java b/src/main/java/org/scijava/display/TextDisplay.java index f2ca2e2be..63f58eb36 100644 --- a/src/main/java/org/scijava/display/TextDisplay.java +++ b/src/main/java/org/scijava/display/TextDisplay.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/DisplayActivatedEvent.java b/src/main/java/org/scijava/display/event/DisplayActivatedEvent.java index e0da2212e..715a4a291 100644 --- a/src/main/java/org/scijava/display/event/DisplayActivatedEvent.java +++ b/src/main/java/org/scijava/display/event/DisplayActivatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/DisplayCreatedEvent.java b/src/main/java/org/scijava/display/event/DisplayCreatedEvent.java index 315a98f0a..9cca17b84 100644 --- a/src/main/java/org/scijava/display/event/DisplayCreatedEvent.java +++ b/src/main/java/org/scijava/display/event/DisplayCreatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/DisplayDeletedEvent.java b/src/main/java/org/scijava/display/event/DisplayDeletedEvent.java index bac010462..a558604a7 100644 --- a/src/main/java/org/scijava/display/event/DisplayDeletedEvent.java +++ b/src/main/java/org/scijava/display/event/DisplayDeletedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/DisplayEvent.java b/src/main/java/org/scijava/display/event/DisplayEvent.java index cd54e08be..8bdd74598 100644 --- a/src/main/java/org/scijava/display/event/DisplayEvent.java +++ b/src/main/java/org/scijava/display/event/DisplayEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/DisplayUpdatedEvent.java b/src/main/java/org/scijava/display/event/DisplayUpdatedEvent.java index b962e4119..ee62e8ad9 100644 --- a/src/main/java/org/scijava/display/event/DisplayUpdatedEvent.java +++ b/src/main/java/org/scijava/display/event/DisplayUpdatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/InputEvent.java b/src/main/java/org/scijava/display/event/input/InputEvent.java index 76a7ff92b..bae65d081 100644 --- a/src/main/java/org/scijava/display/event/input/InputEvent.java +++ b/src/main/java/org/scijava/display/event/input/InputEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/KyEvent.java b/src/main/java/org/scijava/display/event/input/KyEvent.java index e17a02507..c045d99d2 100644 --- a/src/main/java/org/scijava/display/event/input/KyEvent.java +++ b/src/main/java/org/scijava/display/event/input/KyEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/KyPressedEvent.java b/src/main/java/org/scijava/display/event/input/KyPressedEvent.java index 4b56d81ab..c8d73d8fb 100644 --- a/src/main/java/org/scijava/display/event/input/KyPressedEvent.java +++ b/src/main/java/org/scijava/display/event/input/KyPressedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/KyReleasedEvent.java b/src/main/java/org/scijava/display/event/input/KyReleasedEvent.java index 17469b570..ca7fdd18c 100644 --- a/src/main/java/org/scijava/display/event/input/KyReleasedEvent.java +++ b/src/main/java/org/scijava/display/event/input/KyReleasedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/KyTypedEvent.java b/src/main/java/org/scijava/display/event/input/KyTypedEvent.java index c13badf41..f18264ef5 100644 --- a/src/main/java/org/scijava/display/event/input/KyTypedEvent.java +++ b/src/main/java/org/scijava/display/event/input/KyTypedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsButtonEvent.java b/src/main/java/org/scijava/display/event/input/MsButtonEvent.java index f1124f023..51cf3adbb 100644 --- a/src/main/java/org/scijava/display/event/input/MsButtonEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsButtonEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsClickedEvent.java b/src/main/java/org/scijava/display/event/input/MsClickedEvent.java index 706ec58df..b4af7b6b8 100644 --- a/src/main/java/org/scijava/display/event/input/MsClickedEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsClickedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsDraggedEvent.java b/src/main/java/org/scijava/display/event/input/MsDraggedEvent.java index 54b0f24b6..d02a8f9e9 100644 --- a/src/main/java/org/scijava/display/event/input/MsDraggedEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsDraggedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsEnteredEvent.java b/src/main/java/org/scijava/display/event/input/MsEnteredEvent.java index 2237f2c74..1fefc1f1c 100644 --- a/src/main/java/org/scijava/display/event/input/MsEnteredEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsEnteredEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsEvent.java b/src/main/java/org/scijava/display/event/input/MsEvent.java index 72f08ad0b..e2288e32e 100644 --- a/src/main/java/org/scijava/display/event/input/MsEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsExitedEvent.java b/src/main/java/org/scijava/display/event/input/MsExitedEvent.java index 1b74f0bb8..f47cda06f 100644 --- a/src/main/java/org/scijava/display/event/input/MsExitedEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsExitedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsMovedEvent.java b/src/main/java/org/scijava/display/event/input/MsMovedEvent.java index 01d23456a..c1c1030ce 100644 --- a/src/main/java/org/scijava/display/event/input/MsMovedEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsMovedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsPressedEvent.java b/src/main/java/org/scijava/display/event/input/MsPressedEvent.java index afe13bf50..cebaebae1 100644 --- a/src/main/java/org/scijava/display/event/input/MsPressedEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsPressedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsReleasedEvent.java b/src/main/java/org/scijava/display/event/input/MsReleasedEvent.java index 033e91326..d9b39fe7d 100644 --- a/src/main/java/org/scijava/display/event/input/MsReleasedEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsReleasedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsWheelEvent.java b/src/main/java/org/scijava/display/event/input/MsWheelEvent.java index 8f65e28f4..008b66c11 100644 --- a/src/main/java/org/scijava/display/event/input/MsWheelEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsWheelEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/window/WinActivatedEvent.java b/src/main/java/org/scijava/display/event/window/WinActivatedEvent.java index becbbd348..7220064e8 100644 --- a/src/main/java/org/scijava/display/event/window/WinActivatedEvent.java +++ b/src/main/java/org/scijava/display/event/window/WinActivatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/window/WinClosedEvent.java b/src/main/java/org/scijava/display/event/window/WinClosedEvent.java index aee1651ff..e8e470175 100644 --- a/src/main/java/org/scijava/display/event/window/WinClosedEvent.java +++ b/src/main/java/org/scijava/display/event/window/WinClosedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/window/WinClosingEvent.java b/src/main/java/org/scijava/display/event/window/WinClosingEvent.java index 915cf34af..fa7b1bd79 100644 --- a/src/main/java/org/scijava/display/event/window/WinClosingEvent.java +++ b/src/main/java/org/scijava/display/event/window/WinClosingEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/window/WinDeactivatedEvent.java b/src/main/java/org/scijava/display/event/window/WinDeactivatedEvent.java index 25422b3bf..7d5e0b3e4 100644 --- a/src/main/java/org/scijava/display/event/window/WinDeactivatedEvent.java +++ b/src/main/java/org/scijava/display/event/window/WinDeactivatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/window/WinDeiconifiedEvent.java b/src/main/java/org/scijava/display/event/window/WinDeiconifiedEvent.java index f3ac7e1d5..2af77304f 100644 --- a/src/main/java/org/scijava/display/event/window/WinDeiconifiedEvent.java +++ b/src/main/java/org/scijava/display/event/window/WinDeiconifiedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/window/WinEvent.java b/src/main/java/org/scijava/display/event/window/WinEvent.java index 8ad776940..bfe00ebde 100644 --- a/src/main/java/org/scijava/display/event/window/WinEvent.java +++ b/src/main/java/org/scijava/display/event/window/WinEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/window/WinIconifiedEvent.java b/src/main/java/org/scijava/display/event/window/WinIconifiedEvent.java index 82add267c..7d50a608b 100644 --- a/src/main/java/org/scijava/display/event/window/WinIconifiedEvent.java +++ b/src/main/java/org/scijava/display/event/window/WinIconifiedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/window/WinOpenedEvent.java b/src/main/java/org/scijava/display/event/window/WinOpenedEvent.java index 80a9d3a59..3affb4051 100644 --- a/src/main/java/org/scijava/display/event/window/WinOpenedEvent.java +++ b/src/main/java/org/scijava/display/event/window/WinOpenedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/download/DefaultDownloadService.java b/src/main/java/org/scijava/download/DefaultDownloadService.java index 99806a4fa..f87355f54 100644 --- a/src/main/java/org/scijava/download/DefaultDownloadService.java +++ b/src/main/java/org/scijava/download/DefaultDownloadService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/download/DiskLocationCache.java b/src/main/java/org/scijava/download/DiskLocationCache.java index 414d879df..6442d9c27 100644 --- a/src/main/java/org/scijava/download/DiskLocationCache.java +++ b/src/main/java/org/scijava/download/DiskLocationCache.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/download/Download.java b/src/main/java/org/scijava/download/Download.java index abecc1a10..146c7eb96 100644 --- a/src/main/java/org/scijava/download/Download.java +++ b/src/main/java/org/scijava/download/Download.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/download/DownloadService.java b/src/main/java/org/scijava/download/DownloadService.java index f09f706ab..94ed5ce53 100644 --- a/src/main/java/org/scijava/download/DownloadService.java +++ b/src/main/java/org/scijava/download/DownloadService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/download/LocationCache.java b/src/main/java/org/scijava/download/LocationCache.java index a281d81f3..3f902f44e 100644 --- a/src/main/java/org/scijava/download/LocationCache.java +++ b/src/main/java/org/scijava/download/LocationCache.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/download/MultiWriteHandle.java b/src/main/java/org/scijava/download/MultiWriteHandle.java index 6e4dc23e1..eb9443133 100644 --- a/src/main/java/org/scijava/download/MultiWriteHandle.java +++ b/src/main/java/org/scijava/download/MultiWriteHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/ContextDisposingEvent.java b/src/main/java/org/scijava/event/ContextDisposingEvent.java index 48496d441..77ef59e3d 100644 --- a/src/main/java/org/scijava/event/ContextDisposingEvent.java +++ b/src/main/java/org/scijava/event/ContextDisposingEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/DefaultEventBus.java b/src/main/java/org/scijava/event/DefaultEventBus.java index 7236ac5d6..7a7fd98bc 100644 --- a/src/main/java/org/scijava/event/DefaultEventBus.java +++ b/src/main/java/org/scijava/event/DefaultEventBus.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/DefaultEventHistory.java b/src/main/java/org/scijava/event/DefaultEventHistory.java index 2fa1e0cce..57cab6bdc 100644 --- a/src/main/java/org/scijava/event/DefaultEventHistory.java +++ b/src/main/java/org/scijava/event/DefaultEventHistory.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/DefaultEventService.java b/src/main/java/org/scijava/event/DefaultEventService.java index 5d56a77c7..d18b5c62e 100644 --- a/src/main/java/org/scijava/event/DefaultEventService.java +++ b/src/main/java/org/scijava/event/DefaultEventService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/EventDetails.java b/src/main/java/org/scijava/event/EventDetails.java index 8d6f91436..b10ee4ff4 100644 --- a/src/main/java/org/scijava/event/EventDetails.java +++ b/src/main/java/org/scijava/event/EventDetails.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/EventHandler.java b/src/main/java/org/scijava/event/EventHandler.java index 76160a25c..ad94bda55 100644 --- a/src/main/java/org/scijava/event/EventHandler.java +++ b/src/main/java/org/scijava/event/EventHandler.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/EventHistory.java b/src/main/java/org/scijava/event/EventHistory.java index ac11eb5a3..3d0adfbad 100644 --- a/src/main/java/org/scijava/event/EventHistory.java +++ b/src/main/java/org/scijava/event/EventHistory.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/EventHistoryListener.java b/src/main/java/org/scijava/event/EventHistoryListener.java index 3f4737d90..b06812dc0 100644 --- a/src/main/java/org/scijava/event/EventHistoryListener.java +++ b/src/main/java/org/scijava/event/EventHistoryListener.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/EventService.java b/src/main/java/org/scijava/event/EventService.java index 2d4d36234..96d35aba1 100644 --- a/src/main/java/org/scijava/event/EventService.java +++ b/src/main/java/org/scijava/event/EventService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/EventSubscriber.java b/src/main/java/org/scijava/event/EventSubscriber.java index 9fe27543f..69725c846 100644 --- a/src/main/java/org/scijava/event/EventSubscriber.java +++ b/src/main/java/org/scijava/event/EventSubscriber.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/SciJavaEvent.java b/src/main/java/org/scijava/event/SciJavaEvent.java index c2d23a37f..4adf94671 100644 --- a/src/main/java/org/scijava/event/SciJavaEvent.java +++ b/src/main/java/org/scijava/event/SciJavaEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/input/Accelerator.java b/src/main/java/org/scijava/input/Accelerator.java index cf19d15a5..4615ffd21 100644 --- a/src/main/java/org/scijava/input/Accelerator.java +++ b/src/main/java/org/scijava/input/Accelerator.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/input/DefaultInputService.java b/src/main/java/org/scijava/input/DefaultInputService.java index 54a4c56b0..b31364f48 100644 --- a/src/main/java/org/scijava/input/DefaultInputService.java +++ b/src/main/java/org/scijava/input/DefaultInputService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/input/InputModifiers.java b/src/main/java/org/scijava/input/InputModifiers.java index e09651abc..51dca592c 100644 --- a/src/main/java/org/scijava/input/InputModifiers.java +++ b/src/main/java/org/scijava/input/InputModifiers.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/input/InputService.java b/src/main/java/org/scijava/input/InputService.java index 109c70636..5966c06d7 100644 --- a/src/main/java/org/scijava/input/InputService.java +++ b/src/main/java/org/scijava/input/InputService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/input/KeyCode.java b/src/main/java/org/scijava/input/KeyCode.java index 60250f4de..e09a75dd5 100644 --- a/src/main/java/org/scijava/input/KeyCode.java +++ b/src/main/java/org/scijava/input/KeyCode.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/input/MouseCursor.java b/src/main/java/org/scijava/input/MouseCursor.java index 24910d279..e04d7d9da 100644 --- a/src/main/java/org/scijava/input/MouseCursor.java +++ b/src/main/java/org/scijava/input/MouseCursor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/AbstractIOPlugin.java b/src/main/java/org/scijava/io/AbstractIOPlugin.java index a8493340f..787879832 100644 --- a/src/main/java/org/scijava/io/AbstractIOPlugin.java +++ b/src/main/java/org/scijava/io/AbstractIOPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/AbstractTypedIOService.java b/src/main/java/org/scijava/io/AbstractTypedIOService.java index 2c93f3c88..4ca97bd1b 100644 --- a/src/main/java/org/scijava/io/AbstractTypedIOService.java +++ b/src/main/java/org/scijava/io/AbstractTypedIOService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/ByteArrayByteBank.java b/src/main/java/org/scijava/io/ByteArrayByteBank.java index 4617a2b3b..e3b833405 100644 --- a/src/main/java/org/scijava/io/ByteArrayByteBank.java +++ b/src/main/java/org/scijava/io/ByteArrayByteBank.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/ByteBank.java b/src/main/java/org/scijava/io/ByteBank.java index 9933b7298..c79cbd5d4 100644 --- a/src/main/java/org/scijava/io/ByteBank.java +++ b/src/main/java/org/scijava/io/ByteBank.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/DefaultIOService.java b/src/main/java/org/scijava/io/DefaultIOService.java index 0d08321c4..b59d2113d 100644 --- a/src/main/java/org/scijava/io/DefaultIOService.java +++ b/src/main/java/org/scijava/io/DefaultIOService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/DefaultRecentFileService.java b/src/main/java/org/scijava/io/DefaultRecentFileService.java index dc2f00418..050b22e78 100644 --- a/src/main/java/org/scijava/io/DefaultRecentFileService.java +++ b/src/main/java/org/scijava/io/DefaultRecentFileService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/IOPlugin.java b/src/main/java/org/scijava/io/IOPlugin.java index e7f3e68bc..118b693e2 100644 --- a/src/main/java/org/scijava/io/IOPlugin.java +++ b/src/main/java/org/scijava/io/IOPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/IOService.java b/src/main/java/org/scijava/io/IOService.java index 038bc320f..499e18ea5 100644 --- a/src/main/java/org/scijava/io/IOService.java +++ b/src/main/java/org/scijava/io/IOService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/RecentFileService.java b/src/main/java/org/scijava/io/RecentFileService.java index be9946e62..019d0a6a1 100644 --- a/src/main/java/org/scijava/io/RecentFileService.java +++ b/src/main/java/org/scijava/io/RecentFileService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/TypedIOService.java b/src/main/java/org/scijava/io/TypedIOService.java index c75fd4225..0439544e8 100644 --- a/src/main/java/org/scijava/io/TypedIOService.java +++ b/src/main/java/org/scijava/io/TypedIOService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/console/OpenArgument.java b/src/main/java/org/scijava/io/console/OpenArgument.java index 498dd39a8..a198a946e 100644 --- a/src/main/java/org/scijava/io/console/OpenArgument.java +++ b/src/main/java/org/scijava/io/console/OpenArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/event/DataOpenedEvent.java b/src/main/java/org/scijava/io/event/DataOpenedEvent.java index adad59e67..a13d20c18 100644 --- a/src/main/java/org/scijava/io/event/DataOpenedEvent.java +++ b/src/main/java/org/scijava/io/event/DataOpenedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/event/DataSavedEvent.java b/src/main/java/org/scijava/io/event/DataSavedEvent.java index a4b2ceb43..427da0e6a 100644 --- a/src/main/java/org/scijava/io/event/DataSavedEvent.java +++ b/src/main/java/org/scijava/io/event/DataSavedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/event/IOEvent.java b/src/main/java/org/scijava/io/event/IOEvent.java index 37e0e570b..f3ff1652a 100644 --- a/src/main/java/org/scijava/io/event/IOEvent.java +++ b/src/main/java/org/scijava/io/event/IOEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/AbstractDataHandle.java b/src/main/java/org/scijava/io/handle/AbstractDataHandle.java index 41ae3ce81..c9007e250 100644 --- a/src/main/java/org/scijava/io/handle/AbstractDataHandle.java +++ b/src/main/java/org/scijava/io/handle/AbstractDataHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/AbstractHigherOrderHandle.java b/src/main/java/org/scijava/io/handle/AbstractHigherOrderHandle.java index 99b9b5b07..fb191561c 100644 --- a/src/main/java/org/scijava/io/handle/AbstractHigherOrderHandle.java +++ b/src/main/java/org/scijava/io/handle/AbstractHigherOrderHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/AbstractSeekableStreamHandle.java b/src/main/java/org/scijava/io/handle/AbstractSeekableStreamHandle.java index 361c1ef42..838cc9229 100644 --- a/src/main/java/org/scijava/io/handle/AbstractSeekableStreamHandle.java +++ b/src/main/java/org/scijava/io/handle/AbstractSeekableStreamHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/AbstractStreamHandle.java b/src/main/java/org/scijava/io/handle/AbstractStreamHandle.java index 6debf7f7a..3c86730a8 100644 --- a/src/main/java/org/scijava/io/handle/AbstractStreamHandle.java +++ b/src/main/java/org/scijava/io/handle/AbstractStreamHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/BytesHandle.java b/src/main/java/org/scijava/io/handle/BytesHandle.java index e45dde502..c967b1380 100644 --- a/src/main/java/org/scijava/io/handle/BytesHandle.java +++ b/src/main/java/org/scijava/io/handle/BytesHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/DataHandle.java b/src/main/java/org/scijava/io/handle/DataHandle.java index 641403570..7be53f5bb 100644 --- a/src/main/java/org/scijava/io/handle/DataHandle.java +++ b/src/main/java/org/scijava/io/handle/DataHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/DataHandleInputStream.java b/src/main/java/org/scijava/io/handle/DataHandleInputStream.java index bd0780c13..92e72dcab 100644 --- a/src/main/java/org/scijava/io/handle/DataHandleInputStream.java +++ b/src/main/java/org/scijava/io/handle/DataHandleInputStream.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/DataHandleOutputStream.java b/src/main/java/org/scijava/io/handle/DataHandleOutputStream.java index 49349caa6..6b30e1c59 100644 --- a/src/main/java/org/scijava/io/handle/DataHandleOutputStream.java +++ b/src/main/java/org/scijava/io/handle/DataHandleOutputStream.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/DataHandleService.java b/src/main/java/org/scijava/io/handle/DataHandleService.java index dbe4ccdbb..dfb5007f4 100644 --- a/src/main/java/org/scijava/io/handle/DataHandleService.java +++ b/src/main/java/org/scijava/io/handle/DataHandleService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/DataHandles.java b/src/main/java/org/scijava/io/handle/DataHandles.java index 3a26c109e..0ed55abc0 100644 --- a/src/main/java/org/scijava/io/handle/DataHandles.java +++ b/src/main/java/org/scijava/io/handle/DataHandles.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/DefaultDataHandleService.java b/src/main/java/org/scijava/io/handle/DefaultDataHandleService.java index 70bb96137..1349653a6 100644 --- a/src/main/java/org/scijava/io/handle/DefaultDataHandleService.java +++ b/src/main/java/org/scijava/io/handle/DefaultDataHandleService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/DummyHandle.java b/src/main/java/org/scijava/io/handle/DummyHandle.java index 37d143afe..a5b2754b9 100644 --- a/src/main/java/org/scijava/io/handle/DummyHandle.java +++ b/src/main/java/org/scijava/io/handle/DummyHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/FileHandle.java b/src/main/java/org/scijava/io/handle/FileHandle.java index 64e3fed06..ad9822101 100644 --- a/src/main/java/org/scijava/io/handle/FileHandle.java +++ b/src/main/java/org/scijava/io/handle/FileHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java b/src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java index 991fde6cf..1d26e20c0 100644 --- a/src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java +++ b/src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/ResettableStreamHandle.java b/src/main/java/org/scijava/io/handle/ResettableStreamHandle.java index 74bb85170..17859653a 100644 --- a/src/main/java/org/scijava/io/handle/ResettableStreamHandle.java +++ b/src/main/java/org/scijava/io/handle/ResettableStreamHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/SeekableStreamHandle.java b/src/main/java/org/scijava/io/handle/SeekableStreamHandle.java index 3031d5e30..1740b7b70 100644 --- a/src/main/java/org/scijava/io/handle/SeekableStreamHandle.java +++ b/src/main/java/org/scijava/io/handle/SeekableStreamHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/StreamHandle.java b/src/main/java/org/scijava/io/handle/StreamHandle.java index cc34c567e..5a4169535 100644 --- a/src/main/java/org/scijava/io/handle/StreamHandle.java +++ b/src/main/java/org/scijava/io/handle/StreamHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/WriteBufferDataHandle.java b/src/main/java/org/scijava/io/handle/WriteBufferDataHandle.java index ff1fe6ad5..db400b26a 100644 --- a/src/main/java/org/scijava/io/handle/WriteBufferDataHandle.java +++ b/src/main/java/org/scijava/io/handle/WriteBufferDataHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/AbstractLocation.java b/src/main/java/org/scijava/io/location/AbstractLocation.java index a11750d63..a629c9b48 100644 --- a/src/main/java/org/scijava/io/location/AbstractLocation.java +++ b/src/main/java/org/scijava/io/location/AbstractLocation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/AbstractLocationResolver.java b/src/main/java/org/scijava/io/location/AbstractLocationResolver.java index 10e909deb..93616403e 100644 --- a/src/main/java/org/scijava/io/location/AbstractLocationResolver.java +++ b/src/main/java/org/scijava/io/location/AbstractLocationResolver.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/AbstractRemoteLocation.java b/src/main/java/org/scijava/io/location/AbstractRemoteLocation.java index 0a7ca02dc..c36f21bbf 100644 --- a/src/main/java/org/scijava/io/location/AbstractRemoteLocation.java +++ b/src/main/java/org/scijava/io/location/AbstractRemoteLocation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/BrowsableLocation.java b/src/main/java/org/scijava/io/location/BrowsableLocation.java index 5e831059b..312df412c 100644 --- a/src/main/java/org/scijava/io/location/BrowsableLocation.java +++ b/src/main/java/org/scijava/io/location/BrowsableLocation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/BytesLocation.java b/src/main/java/org/scijava/io/location/BytesLocation.java index f79933193..0d6210d69 100644 --- a/src/main/java/org/scijava/io/location/BytesLocation.java +++ b/src/main/java/org/scijava/io/location/BytesLocation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/DefaultLocationService.java b/src/main/java/org/scijava/io/location/DefaultLocationService.java index a86971eba..92ba74047 100644 --- a/src/main/java/org/scijava/io/location/DefaultLocationService.java +++ b/src/main/java/org/scijava/io/location/DefaultLocationService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/DummyLocation.java b/src/main/java/org/scijava/io/location/DummyLocation.java index 2b6a8979f..676bd87df 100644 --- a/src/main/java/org/scijava/io/location/DummyLocation.java +++ b/src/main/java/org/scijava/io/location/DummyLocation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/FileLocation.java b/src/main/java/org/scijava/io/location/FileLocation.java index 073717716..03480c0ae 100644 --- a/src/main/java/org/scijava/io/location/FileLocation.java +++ b/src/main/java/org/scijava/io/location/FileLocation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/FileLocationResolver.java b/src/main/java/org/scijava/io/location/FileLocationResolver.java index b690802d8..b8d642d3e 100644 --- a/src/main/java/org/scijava/io/location/FileLocationResolver.java +++ b/src/main/java/org/scijava/io/location/FileLocationResolver.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/Location.java b/src/main/java/org/scijava/io/location/Location.java index 11e935934..470c9cb22 100644 --- a/src/main/java/org/scijava/io/location/Location.java +++ b/src/main/java/org/scijava/io/location/Location.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/LocationResolver.java b/src/main/java/org/scijava/io/location/LocationResolver.java index 9c6ce6bc1..9dd2c650c 100644 --- a/src/main/java/org/scijava/io/location/LocationResolver.java +++ b/src/main/java/org/scijava/io/location/LocationResolver.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/LocationService.java b/src/main/java/org/scijava/io/location/LocationService.java index 117611779..0d6104815 100644 --- a/src/main/java/org/scijava/io/location/LocationService.java +++ b/src/main/java/org/scijava/io/location/LocationService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/RemoteLocation.java b/src/main/java/org/scijava/io/location/RemoteLocation.java index b1b8007ed..f9bc1b608 100644 --- a/src/main/java/org/scijava/io/location/RemoteLocation.java +++ b/src/main/java/org/scijava/io/location/RemoteLocation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/URILocation.java b/src/main/java/org/scijava/io/location/URILocation.java index 5fb1318a5..3311412e0 100644 --- a/src/main/java/org/scijava/io/location/URILocation.java +++ b/src/main/java/org/scijava/io/location/URILocation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/URLLocation.java b/src/main/java/org/scijava/io/location/URLLocation.java index a7938f43c..d7e4ed49e 100644 --- a/src/main/java/org/scijava/io/location/URLLocation.java +++ b/src/main/java/org/scijava/io/location/URLLocation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/nio/ByteBufferByteBank.java b/src/main/java/org/scijava/io/nio/ByteBufferByteBank.java index 3934d4f4e..8fb6b0c52 100644 --- a/src/main/java/org/scijava/io/nio/ByteBufferByteBank.java +++ b/src/main/java/org/scijava/io/nio/ByteBufferByteBank.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/nio/DefaultNIOService.java b/src/main/java/org/scijava/io/nio/DefaultNIOService.java index 6a6f9c702..8bff57a73 100644 --- a/src/main/java/org/scijava/io/nio/DefaultNIOService.java +++ b/src/main/java/org/scijava/io/nio/DefaultNIOService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/nio/NIOService.java b/src/main/java/org/scijava/io/nio/NIOService.java index c750e2680..cbc8d681d 100644 --- a/src/main/java/org/scijava/io/nio/NIOService.java +++ b/src/main/java/org/scijava/io/nio/NIOService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/AbstractLogService.java b/src/main/java/org/scijava/log/AbstractLogService.java index 331879bb5..5ae980645 100644 --- a/src/main/java/org/scijava/log/AbstractLogService.java +++ b/src/main/java/org/scijava/log/AbstractLogService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/CallingClassUtils.java b/src/main/java/org/scijava/log/CallingClassUtils.java index 55c8943e9..fc1250e78 100644 --- a/src/main/java/org/scijava/log/CallingClassUtils.java +++ b/src/main/java/org/scijava/log/CallingClassUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/DefaultLogger.java b/src/main/java/org/scijava/log/DefaultLogger.java index 3a261f2e2..f11ec5ae0 100644 --- a/src/main/java/org/scijava/log/DefaultLogger.java +++ b/src/main/java/org/scijava/log/DefaultLogger.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/DefaultUncaughtExceptionHandler.java b/src/main/java/org/scijava/log/DefaultUncaughtExceptionHandler.java index 83247b49a..d8d45c4d5 100644 --- a/src/main/java/org/scijava/log/DefaultUncaughtExceptionHandler.java +++ b/src/main/java/org/scijava/log/DefaultUncaughtExceptionHandler.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/IgnoreAsCallingClass.java b/src/main/java/org/scijava/log/IgnoreAsCallingClass.java index 7dee3b2e9..775c7b4ff 100644 --- a/src/main/java/org/scijava/log/IgnoreAsCallingClass.java +++ b/src/main/java/org/scijava/log/IgnoreAsCallingClass.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/LogLevel.java b/src/main/java/org/scijava/log/LogLevel.java index 3b2524b5b..276970ae2 100644 --- a/src/main/java/org/scijava/log/LogLevel.java +++ b/src/main/java/org/scijava/log/LogLevel.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/LogListener.java b/src/main/java/org/scijava/log/LogListener.java index c93a0680d..8c4047849 100644 --- a/src/main/java/org/scijava/log/LogListener.java +++ b/src/main/java/org/scijava/log/LogListener.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/LogMessage.java b/src/main/java/org/scijava/log/LogMessage.java index 7284bbe65..235de87f1 100644 --- a/src/main/java/org/scijava/log/LogMessage.java +++ b/src/main/java/org/scijava/log/LogMessage.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/LogService.java b/src/main/java/org/scijava/log/LogService.java index 7e8ec0bec..4675e0eab 100644 --- a/src/main/java/org/scijava/log/LogService.java +++ b/src/main/java/org/scijava/log/LogService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/LogSource.java b/src/main/java/org/scijava/log/LogSource.java index 4ecab5831..af8e6802e 100644 --- a/src/main/java/org/scijava/log/LogSource.java +++ b/src/main/java/org/scijava/log/LogSource.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/Logged.java b/src/main/java/org/scijava/log/Logged.java index 867ccb551..8e15caf9e 100644 --- a/src/main/java/org/scijava/log/Logged.java +++ b/src/main/java/org/scijava/log/Logged.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/Logger.java b/src/main/java/org/scijava/log/Logger.java index 657ae6fe0..eccb06796 100644 --- a/src/main/java/org/scijava/log/Logger.java +++ b/src/main/java/org/scijava/log/Logger.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/StderrLogService.java b/src/main/java/org/scijava/log/StderrLogService.java index 13919c18a..f387991d2 100644 --- a/src/main/java/org/scijava/log/StderrLogService.java +++ b/src/main/java/org/scijava/log/StderrLogService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/main/DefaultMainService.java b/src/main/java/org/scijava/main/DefaultMainService.java index e141b6320..81677d5c2 100644 --- a/src/main/java/org/scijava/main/DefaultMainService.java +++ b/src/main/java/org/scijava/main/DefaultMainService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/main/MainService.java b/src/main/java/org/scijava/main/MainService.java index 2a04d13e6..f1e76b85f 100644 --- a/src/main/java/org/scijava/main/MainService.java +++ b/src/main/java/org/scijava/main/MainService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/main/console/MainArgument.java b/src/main/java/org/scijava/main/console/MainArgument.java index 1f0598ce7..71a116fb6 100644 --- a/src/main/java/org/scijava/main/console/MainArgument.java +++ b/src/main/java/org/scijava/main/console/MainArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/main/run/MainCodeRunner.java b/src/main/java/org/scijava/main/run/MainCodeRunner.java index 8b673eea1..f1da7f002 100644 --- a/src/main/java/org/scijava/main/run/MainCodeRunner.java +++ b/src/main/java/org/scijava/main/run/MainCodeRunner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/AbstractMenuCreator.java b/src/main/java/org/scijava/menu/AbstractMenuCreator.java index 451db4217..8d076304c 100644 --- a/src/main/java/org/scijava/menu/AbstractMenuCreator.java +++ b/src/main/java/org/scijava/menu/AbstractMenuCreator.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/DefaultMenuService.java b/src/main/java/org/scijava/menu/DefaultMenuService.java index 4b4fcca1e..287e28e5b 100644 --- a/src/main/java/org/scijava/menu/DefaultMenuService.java +++ b/src/main/java/org/scijava/menu/DefaultMenuService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/MenuConstants.java b/src/main/java/org/scijava/menu/MenuConstants.java index 9b5c45d19..24e27506b 100644 --- a/src/main/java/org/scijava/menu/MenuConstants.java +++ b/src/main/java/org/scijava/menu/MenuConstants.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/MenuCreator.java b/src/main/java/org/scijava/menu/MenuCreator.java index 83b1802db..d5ddc13d9 100644 --- a/src/main/java/org/scijava/menu/MenuCreator.java +++ b/src/main/java/org/scijava/menu/MenuCreator.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/MenuService.java b/src/main/java/org/scijava/menu/MenuService.java index a993825d9..1a9a98a13 100644 --- a/src/main/java/org/scijava/menu/MenuService.java +++ b/src/main/java/org/scijava/menu/MenuService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/ShadowMenu.java b/src/main/java/org/scijava/menu/ShadowMenu.java index a38bd3d96..a364d827e 100644 --- a/src/main/java/org/scijava/menu/ShadowMenu.java +++ b/src/main/java/org/scijava/menu/ShadowMenu.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/ShadowMenuIterator.java b/src/main/java/org/scijava/menu/ShadowMenuIterator.java index fb26e5f3f..5c1471f7d 100644 --- a/src/main/java/org/scijava/menu/ShadowMenuIterator.java +++ b/src/main/java/org/scijava/menu/ShadowMenuIterator.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/event/MenuEvent.java b/src/main/java/org/scijava/menu/event/MenuEvent.java index f58a6a7ef..56a29995a 100644 --- a/src/main/java/org/scijava/menu/event/MenuEvent.java +++ b/src/main/java/org/scijava/menu/event/MenuEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/event/MenusAddedEvent.java b/src/main/java/org/scijava/menu/event/MenusAddedEvent.java index 34684640e..77b4626d4 100644 --- a/src/main/java/org/scijava/menu/event/MenusAddedEvent.java +++ b/src/main/java/org/scijava/menu/event/MenusAddedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/event/MenusRemovedEvent.java b/src/main/java/org/scijava/menu/event/MenusRemovedEvent.java index f7d2779b3..717f4be7c 100644 --- a/src/main/java/org/scijava/menu/event/MenusRemovedEvent.java +++ b/src/main/java/org/scijava/menu/event/MenusRemovedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/event/MenusUpdatedEvent.java b/src/main/java/org/scijava/menu/event/MenusUpdatedEvent.java index c403b8518..781a6c998 100644 --- a/src/main/java/org/scijava/menu/event/MenusUpdatedEvent.java +++ b/src/main/java/org/scijava/menu/event/MenusUpdatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/AbstractModule.java b/src/main/java/org/scijava/module/AbstractModule.java index 94a259fad..e30a52a1c 100644 --- a/src/main/java/org/scijava/module/AbstractModule.java +++ b/src/main/java/org/scijava/module/AbstractModule.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/AbstractModuleInfo.java b/src/main/java/org/scijava/module/AbstractModuleInfo.java index 5c1b797f2..196b11ab5 100644 --- a/src/main/java/org/scijava/module/AbstractModuleInfo.java +++ b/src/main/java/org/scijava/module/AbstractModuleInfo.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/AbstractModuleItem.java b/src/main/java/org/scijava/module/AbstractModuleItem.java index 665c1cb14..b96941e8d 100644 --- a/src/main/java/org/scijava/module/AbstractModuleItem.java +++ b/src/main/java/org/scijava/module/AbstractModuleItem.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/DefaultModuleService.java b/src/main/java/org/scijava/module/DefaultModuleService.java index 171eb8ce2..228cee0b1 100644 --- a/src/main/java/org/scijava/module/DefaultModuleService.java +++ b/src/main/java/org/scijava/module/DefaultModuleService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/DefaultMutableModule.java b/src/main/java/org/scijava/module/DefaultMutableModule.java index 801c3f468..29c28bdfb 100644 --- a/src/main/java/org/scijava/module/DefaultMutableModule.java +++ b/src/main/java/org/scijava/module/DefaultMutableModule.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/DefaultMutableModuleInfo.java b/src/main/java/org/scijava/module/DefaultMutableModuleInfo.java index 18d5f1da2..a7b2c8de2 100644 --- a/src/main/java/org/scijava/module/DefaultMutableModuleInfo.java +++ b/src/main/java/org/scijava/module/DefaultMutableModuleInfo.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/DefaultMutableModuleItem.java b/src/main/java/org/scijava/module/DefaultMutableModuleItem.java index 27b2a241b..fc74b85d0 100644 --- a/src/main/java/org/scijava/module/DefaultMutableModuleItem.java +++ b/src/main/java/org/scijava/module/DefaultMutableModuleItem.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/MethodCallException.java b/src/main/java/org/scijava/module/MethodCallException.java index eca9c26ff..823220f4c 100644 --- a/src/main/java/org/scijava/module/MethodCallException.java +++ b/src/main/java/org/scijava/module/MethodCallException.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/MethodRef.java b/src/main/java/org/scijava/module/MethodRef.java index 38bae5059..2761aaa25 100644 --- a/src/main/java/org/scijava/module/MethodRef.java +++ b/src/main/java/org/scijava/module/MethodRef.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/Module.java b/src/main/java/org/scijava/module/Module.java index eabfb9809..35ae5decd 100644 --- a/src/main/java/org/scijava/module/Module.java +++ b/src/main/java/org/scijava/module/Module.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/ModuleCanceledException.java b/src/main/java/org/scijava/module/ModuleCanceledException.java index 8978ddf0e..df33ba8c9 100644 --- a/src/main/java/org/scijava/module/ModuleCanceledException.java +++ b/src/main/java/org/scijava/module/ModuleCanceledException.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/ModuleException.java b/src/main/java/org/scijava/module/ModuleException.java index 9c1af227d..59d490f17 100644 --- a/src/main/java/org/scijava/module/ModuleException.java +++ b/src/main/java/org/scijava/module/ModuleException.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/ModuleIndex.java b/src/main/java/org/scijava/module/ModuleIndex.java index 86da5b169..f40875599 100644 --- a/src/main/java/org/scijava/module/ModuleIndex.java +++ b/src/main/java/org/scijava/module/ModuleIndex.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/ModuleInfo.java b/src/main/java/org/scijava/module/ModuleInfo.java index 20186524e..bcf7107f5 100644 --- a/src/main/java/org/scijava/module/ModuleInfo.java +++ b/src/main/java/org/scijava/module/ModuleInfo.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/ModuleItem.java b/src/main/java/org/scijava/module/ModuleItem.java index 06a837c42..b226bcde0 100644 --- a/src/main/java/org/scijava/module/ModuleItem.java +++ b/src/main/java/org/scijava/module/ModuleItem.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/ModuleRunner.java b/src/main/java/org/scijava/module/ModuleRunner.java index 705b33b61..0a4cff44e 100644 --- a/src/main/java/org/scijava/module/ModuleRunner.java +++ b/src/main/java/org/scijava/module/ModuleRunner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/ModuleService.java b/src/main/java/org/scijava/module/ModuleService.java index b2dbfd664..ffcbb4d0d 100644 --- a/src/main/java/org/scijava/module/ModuleService.java +++ b/src/main/java/org/scijava/module/ModuleService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/MutableModule.java b/src/main/java/org/scijava/module/MutableModule.java index da6be43ef..294a7c66a 100644 --- a/src/main/java/org/scijava/module/MutableModule.java +++ b/src/main/java/org/scijava/module/MutableModule.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/MutableModuleInfo.java b/src/main/java/org/scijava/module/MutableModuleInfo.java index 378d04add..976603838 100644 --- a/src/main/java/org/scijava/module/MutableModuleInfo.java +++ b/src/main/java/org/scijava/module/MutableModuleInfo.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/MutableModuleItem.java b/src/main/java/org/scijava/module/MutableModuleItem.java index 9f7cf991f..fc3dfa6a0 100644 --- a/src/main/java/org/scijava/module/MutableModuleItem.java +++ b/src/main/java/org/scijava/module/MutableModuleItem.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleCanceledEvent.java b/src/main/java/org/scijava/module/event/ModuleCanceledEvent.java index f79fc99fe..eef9c42d1 100644 --- a/src/main/java/org/scijava/module/event/ModuleCanceledEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleCanceledEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleEvent.java b/src/main/java/org/scijava/module/event/ModuleEvent.java index 59aad02fd..f059dd3a9 100644 --- a/src/main/java/org/scijava/module/event/ModuleEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleExecutedEvent.java b/src/main/java/org/scijava/module/event/ModuleExecutedEvent.java index 71644fcbd..f8b17ed12 100644 --- a/src/main/java/org/scijava/module/event/ModuleExecutedEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleExecutedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleExecutingEvent.java b/src/main/java/org/scijava/module/event/ModuleExecutingEvent.java index 0091f7019..e3ba97c10 100644 --- a/src/main/java/org/scijava/module/event/ModuleExecutingEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleExecutingEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleExecutionEvent.java b/src/main/java/org/scijava/module/event/ModuleExecutionEvent.java index 257680232..3f6aa0c97 100644 --- a/src/main/java/org/scijava/module/event/ModuleExecutionEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleExecutionEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleFinishedEvent.java b/src/main/java/org/scijava/module/event/ModuleFinishedEvent.java index ddf1205e9..d72d0cd07 100644 --- a/src/main/java/org/scijava/module/event/ModuleFinishedEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleFinishedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModulePostprocessEvent.java b/src/main/java/org/scijava/module/event/ModulePostprocessEvent.java index e0b8f25af..6402c8e1a 100644 --- a/src/main/java/org/scijava/module/event/ModulePostprocessEvent.java +++ b/src/main/java/org/scijava/module/event/ModulePostprocessEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModulePreprocessEvent.java b/src/main/java/org/scijava/module/event/ModulePreprocessEvent.java index 6a702a26e..0eedb7c05 100644 --- a/src/main/java/org/scijava/module/event/ModulePreprocessEvent.java +++ b/src/main/java/org/scijava/module/event/ModulePreprocessEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleProcessEvent.java b/src/main/java/org/scijava/module/event/ModuleProcessEvent.java index 5c049fe41..8dba30973 100644 --- a/src/main/java/org/scijava/module/event/ModuleProcessEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleProcessEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleStartedEvent.java b/src/main/java/org/scijava/module/event/ModuleStartedEvent.java index c26a07bc0..cbe7f0518 100644 --- a/src/main/java/org/scijava/module/event/ModuleStartedEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleStartedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModulesAddedEvent.java b/src/main/java/org/scijava/module/event/ModulesAddedEvent.java index c49bdde61..8ef3dcf44 100644 --- a/src/main/java/org/scijava/module/event/ModulesAddedEvent.java +++ b/src/main/java/org/scijava/module/event/ModulesAddedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModulesListEvent.java b/src/main/java/org/scijava/module/event/ModulesListEvent.java index 632bc88b5..7fba52f93 100644 --- a/src/main/java/org/scijava/module/event/ModulesListEvent.java +++ b/src/main/java/org/scijava/module/event/ModulesListEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModulesRemovedEvent.java b/src/main/java/org/scijava/module/event/ModulesRemovedEvent.java index 049ceae3f..87b43a956 100644 --- a/src/main/java/org/scijava/module/event/ModulesRemovedEvent.java +++ b/src/main/java/org/scijava/module/event/ModulesRemovedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModulesUpdatedEvent.java b/src/main/java/org/scijava/module/event/ModulesUpdatedEvent.java index bd2cac2fc..610ad5a94 100644 --- a/src/main/java/org/scijava/module/event/ModulesUpdatedEvent.java +++ b/src/main/java/org/scijava/module/event/ModulesUpdatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/AbstractPostprocessorPlugin.java b/src/main/java/org/scijava/module/process/AbstractPostprocessorPlugin.java index f39ca300e..8242389bb 100644 --- a/src/main/java/org/scijava/module/process/AbstractPostprocessorPlugin.java +++ b/src/main/java/org/scijava/module/process/AbstractPostprocessorPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/AbstractPreprocessorPlugin.java b/src/main/java/org/scijava/module/process/AbstractPreprocessorPlugin.java index 3fc4567c4..93d3726a2 100644 --- a/src/main/java/org/scijava/module/process/AbstractPreprocessorPlugin.java +++ b/src/main/java/org/scijava/module/process/AbstractPreprocessorPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/AbstractSingleInputPreprocessor.java b/src/main/java/org/scijava/module/process/AbstractSingleInputPreprocessor.java index b6b2bc72a..1fcdc7403 100644 --- a/src/main/java/org/scijava/module/process/AbstractSingleInputPreprocessor.java +++ b/src/main/java/org/scijava/module/process/AbstractSingleInputPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/CheckInputsPreprocessor.java b/src/main/java/org/scijava/module/process/CheckInputsPreprocessor.java index 2b7a48798..d5323ad2f 100644 --- a/src/main/java/org/scijava/module/process/CheckInputsPreprocessor.java +++ b/src/main/java/org/scijava/module/process/CheckInputsPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/DebugPostprocessor.java b/src/main/java/org/scijava/module/process/DebugPostprocessor.java index 9066ae88c..1927c68aa 100644 --- a/src/main/java/org/scijava/module/process/DebugPostprocessor.java +++ b/src/main/java/org/scijava/module/process/DebugPostprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/DebugPreprocessor.java b/src/main/java/org/scijava/module/process/DebugPreprocessor.java index a7d898206..69e9a0099 100644 --- a/src/main/java/org/scijava/module/process/DebugPreprocessor.java +++ b/src/main/java/org/scijava/module/process/DebugPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/DefaultValuePreprocessor.java b/src/main/java/org/scijava/module/process/DefaultValuePreprocessor.java index 9e1dd7178..7239743f9 100644 --- a/src/main/java/org/scijava/module/process/DefaultValuePreprocessor.java +++ b/src/main/java/org/scijava/module/process/DefaultValuePreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/GatewayPreprocessor.java b/src/main/java/org/scijava/module/process/GatewayPreprocessor.java index 095a0764d..86ad0eb5e 100644 --- a/src/main/java/org/scijava/module/process/GatewayPreprocessor.java +++ b/src/main/java/org/scijava/module/process/GatewayPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/InitPreprocessor.java b/src/main/java/org/scijava/module/process/InitPreprocessor.java index 31566a112..2ca0e647b 100644 --- a/src/main/java/org/scijava/module/process/InitPreprocessor.java +++ b/src/main/java/org/scijava/module/process/InitPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/LoadInputsPreprocessor.java b/src/main/java/org/scijava/module/process/LoadInputsPreprocessor.java index fc0db2aea..62b6ad5bd 100644 --- a/src/main/java/org/scijava/module/process/LoadInputsPreprocessor.java +++ b/src/main/java/org/scijava/module/process/LoadInputsPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/LoggerPreprocessor.java b/src/main/java/org/scijava/module/process/LoggerPreprocessor.java index f918dee36..6145337ac 100644 --- a/src/main/java/org/scijava/module/process/LoggerPreprocessor.java +++ b/src/main/java/org/scijava/module/process/LoggerPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/ModulePostprocessor.java b/src/main/java/org/scijava/module/process/ModulePostprocessor.java index 16c781ee0..a64b52723 100644 --- a/src/main/java/org/scijava/module/process/ModulePostprocessor.java +++ b/src/main/java/org/scijava/module/process/ModulePostprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/ModulePreprocessor.java b/src/main/java/org/scijava/module/process/ModulePreprocessor.java index 1735bf142..293610033 100644 --- a/src/main/java/org/scijava/module/process/ModulePreprocessor.java +++ b/src/main/java/org/scijava/module/process/ModulePreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/ModuleProcessor.java b/src/main/java/org/scijava/module/process/ModuleProcessor.java index 47561dc45..c14c275b3 100644 --- a/src/main/java/org/scijava/module/process/ModuleProcessor.java +++ b/src/main/java/org/scijava/module/process/ModuleProcessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/PostprocessorPlugin.java b/src/main/java/org/scijava/module/process/PostprocessorPlugin.java index bff0bbe0e..07081b6c9 100644 --- a/src/main/java/org/scijava/module/process/PostprocessorPlugin.java +++ b/src/main/java/org/scijava/module/process/PostprocessorPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/PreprocessorPlugin.java b/src/main/java/org/scijava/module/process/PreprocessorPlugin.java index 85a1df8f9..66b10b86a 100644 --- a/src/main/java/org/scijava/module/process/PreprocessorPlugin.java +++ b/src/main/java/org/scijava/module/process/PreprocessorPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/SaveInputsPreprocessor.java b/src/main/java/org/scijava/module/process/SaveInputsPreprocessor.java index 92c0e772e..1998a76d1 100644 --- a/src/main/java/org/scijava/module/process/SaveInputsPreprocessor.java +++ b/src/main/java/org/scijava/module/process/SaveInputsPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/ServicePreprocessor.java b/src/main/java/org/scijava/module/process/ServicePreprocessor.java index bce52f377..048f0da82 100644 --- a/src/main/java/org/scijava/module/process/ServicePreprocessor.java +++ b/src/main/java/org/scijava/module/process/ServicePreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/ValidityPreprocessor.java b/src/main/java/org/scijava/module/process/ValidityPreprocessor.java index a533e2da7..ac86b2020 100644 --- a/src/main/java/org/scijava/module/process/ValidityPreprocessor.java +++ b/src/main/java/org/scijava/module/process/ValidityPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/run/ModuleCodeRunner.java b/src/main/java/org/scijava/module/run/ModuleCodeRunner.java index 51fece17e..2ee78144c 100644 --- a/src/main/java/org/scijava/module/run/ModuleCodeRunner.java +++ b/src/main/java/org/scijava/module/run/ModuleCodeRunner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/DefaultObjectService.java b/src/main/java/org/scijava/object/DefaultObjectService.java index 4c0e5af62..0b112b662 100644 --- a/src/main/java/org/scijava/object/DefaultObjectService.java +++ b/src/main/java/org/scijava/object/DefaultObjectService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/LazyObjects.java b/src/main/java/org/scijava/object/LazyObjects.java index fed095cc9..3fc476f79 100644 --- a/src/main/java/org/scijava/object/LazyObjects.java +++ b/src/main/java/org/scijava/object/LazyObjects.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/NamedObjectIndex.java b/src/main/java/org/scijava/object/NamedObjectIndex.java index f80e66077..9cd2aeae6 100644 --- a/src/main/java/org/scijava/object/NamedObjectIndex.java +++ b/src/main/java/org/scijava/object/NamedObjectIndex.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/ObjectIndex.java b/src/main/java/org/scijava/object/ObjectIndex.java index 1cf7d432c..e97521043 100644 --- a/src/main/java/org/scijava/object/ObjectIndex.java +++ b/src/main/java/org/scijava/object/ObjectIndex.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/ObjectService.java b/src/main/java/org/scijava/object/ObjectService.java index 3406eb167..392e476d5 100644 --- a/src/main/java/org/scijava/object/ObjectService.java +++ b/src/main/java/org/scijava/object/ObjectService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/SortedObjectIndex.java b/src/main/java/org/scijava/object/SortedObjectIndex.java index 2b5470e58..77b231a0c 100644 --- a/src/main/java/org/scijava/object/SortedObjectIndex.java +++ b/src/main/java/org/scijava/object/SortedObjectIndex.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/event/ListEvent.java b/src/main/java/org/scijava/object/event/ListEvent.java index 176acf991..ecf3103e9 100644 --- a/src/main/java/org/scijava/object/event/ListEvent.java +++ b/src/main/java/org/scijava/object/event/ListEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/event/ObjectCreatedEvent.java b/src/main/java/org/scijava/object/event/ObjectCreatedEvent.java index b17c86287..7f0615f4c 100644 --- a/src/main/java/org/scijava/object/event/ObjectCreatedEvent.java +++ b/src/main/java/org/scijava/object/event/ObjectCreatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/event/ObjectDeletedEvent.java b/src/main/java/org/scijava/object/event/ObjectDeletedEvent.java index 58516916d..47fc3c88c 100644 --- a/src/main/java/org/scijava/object/event/ObjectDeletedEvent.java +++ b/src/main/java/org/scijava/object/event/ObjectDeletedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/event/ObjectEvent.java b/src/main/java/org/scijava/object/event/ObjectEvent.java index 7e7fd581a..80816a27b 100644 --- a/src/main/java/org/scijava/object/event/ObjectEvent.java +++ b/src/main/java/org/scijava/object/event/ObjectEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/event/ObjectModifiedEvent.java b/src/main/java/org/scijava/object/event/ObjectModifiedEvent.java index d2cb07ebf..966294653 100644 --- a/src/main/java/org/scijava/object/event/ObjectModifiedEvent.java +++ b/src/main/java/org/scijava/object/event/ObjectModifiedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/event/ObjectsAddedEvent.java b/src/main/java/org/scijava/object/event/ObjectsAddedEvent.java index 0ff9b213b..9da819a74 100644 --- a/src/main/java/org/scijava/object/event/ObjectsAddedEvent.java +++ b/src/main/java/org/scijava/object/event/ObjectsAddedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/event/ObjectsListEvent.java b/src/main/java/org/scijava/object/event/ObjectsListEvent.java index 05f20d0f6..f9880b3e6 100644 --- a/src/main/java/org/scijava/object/event/ObjectsListEvent.java +++ b/src/main/java/org/scijava/object/event/ObjectsListEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/event/ObjectsRemovedEvent.java b/src/main/java/org/scijava/object/event/ObjectsRemovedEvent.java index 3d371eb9d..4a0872e99 100644 --- a/src/main/java/org/scijava/object/event/ObjectsRemovedEvent.java +++ b/src/main/java/org/scijava/object/event/ObjectsRemovedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/options/DefaultOptionsService.java b/src/main/java/org/scijava/options/DefaultOptionsService.java index 5266d4e45..7e44fb84a 100644 --- a/src/main/java/org/scijava/options/DefaultOptionsService.java +++ b/src/main/java/org/scijava/options/DefaultOptionsService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/options/OptionsPlugin.java b/src/main/java/org/scijava/options/OptionsPlugin.java index 900109983..bda0f4df2 100644 --- a/src/main/java/org/scijava/options/OptionsPlugin.java +++ b/src/main/java/org/scijava/options/OptionsPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/options/OptionsService.java b/src/main/java/org/scijava/options/OptionsService.java index 235853e40..72ead76f2 100644 --- a/src/main/java/org/scijava/options/OptionsService.java +++ b/src/main/java/org/scijava/options/OptionsService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/options/event/OptionsEvent.java b/src/main/java/org/scijava/options/event/OptionsEvent.java index de0a12a0c..48c53fffc 100644 --- a/src/main/java/org/scijava/options/event/OptionsEvent.java +++ b/src/main/java/org/scijava/options/event/OptionsEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/parse/DefaultParseService.java b/src/main/java/org/scijava/parse/DefaultParseService.java index 21bc7d8d5..febbba898 100644 --- a/src/main/java/org/scijava/parse/DefaultParseService.java +++ b/src/main/java/org/scijava/parse/DefaultParseService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/parse/Item.java b/src/main/java/org/scijava/parse/Item.java index 34547dc18..efb86a527 100644 --- a/src/main/java/org/scijava/parse/Item.java +++ b/src/main/java/org/scijava/parse/Item.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/parse/Items.java b/src/main/java/org/scijava/parse/Items.java index 9d5a42df0..a54117481 100644 --- a/src/main/java/org/scijava/parse/Items.java +++ b/src/main/java/org/scijava/parse/Items.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/parse/ParseService.java b/src/main/java/org/scijava/parse/ParseService.java index 4395c17f0..de88860dd 100644 --- a/src/main/java/org/scijava/parse/ParseService.java +++ b/src/main/java/org/scijava/parse/ParseService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/AbstractPlatform.java b/src/main/java/org/scijava/platform/AbstractPlatform.java index c3cee3fcc..6c8cfa5bc 100644 --- a/src/main/java/org/scijava/platform/AbstractPlatform.java +++ b/src/main/java/org/scijava/platform/AbstractPlatform.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/AppEventService.java b/src/main/java/org/scijava/platform/AppEventService.java index 9811d86bb..26d2b4555 100644 --- a/src/main/java/org/scijava/platform/AppEventService.java +++ b/src/main/java/org/scijava/platform/AppEventService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/DefaultAppEventService.java b/src/main/java/org/scijava/platform/DefaultAppEventService.java index 291d3fce7..2101d8c04 100644 --- a/src/main/java/org/scijava/platform/DefaultAppEventService.java +++ b/src/main/java/org/scijava/platform/DefaultAppEventService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/DefaultPlatform.java b/src/main/java/org/scijava/platform/DefaultPlatform.java index 7815f8955..6d61317fe 100644 --- a/src/main/java/org/scijava/platform/DefaultPlatform.java +++ b/src/main/java/org/scijava/platform/DefaultPlatform.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/DefaultPlatformService.java b/src/main/java/org/scijava/platform/DefaultPlatformService.java index 932048b0a..2a1c671ae 100644 --- a/src/main/java/org/scijava/platform/DefaultPlatformService.java +++ b/src/main/java/org/scijava/platform/DefaultPlatformService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/Platform.java b/src/main/java/org/scijava/platform/Platform.java index ea244411f..3a663bb85 100644 --- a/src/main/java/org/scijava/platform/Platform.java +++ b/src/main/java/org/scijava/platform/Platform.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/PlatformService.java b/src/main/java/org/scijava/platform/PlatformService.java index 7c4ec53db..2f771bd35 100644 --- a/src/main/java/org/scijava/platform/PlatformService.java +++ b/src/main/java/org/scijava/platform/PlatformService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppAboutEvent.java b/src/main/java/org/scijava/platform/event/AppAboutEvent.java index 0e8f5c7f6..46eed9b31 100644 --- a/src/main/java/org/scijava/platform/event/AppAboutEvent.java +++ b/src/main/java/org/scijava/platform/event/AppAboutEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppFocusEvent.java b/src/main/java/org/scijava/platform/event/AppFocusEvent.java index 92163037a..36d5605a0 100644 --- a/src/main/java/org/scijava/platform/event/AppFocusEvent.java +++ b/src/main/java/org/scijava/platform/event/AppFocusEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppMenusCreatedEvent.java b/src/main/java/org/scijava/platform/event/AppMenusCreatedEvent.java index 1e8fa0289..1e9dd3f9e 100644 --- a/src/main/java/org/scijava/platform/event/AppMenusCreatedEvent.java +++ b/src/main/java/org/scijava/platform/event/AppMenusCreatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppOpenFilesEvent.java b/src/main/java/org/scijava/platform/event/AppOpenFilesEvent.java index 10afdd083..5b3bdcde1 100644 --- a/src/main/java/org/scijava/platform/event/AppOpenFilesEvent.java +++ b/src/main/java/org/scijava/platform/event/AppOpenFilesEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppPreferencesEvent.java b/src/main/java/org/scijava/platform/event/AppPreferencesEvent.java index 08c44def8..2b4883129 100644 --- a/src/main/java/org/scijava/platform/event/AppPreferencesEvent.java +++ b/src/main/java/org/scijava/platform/event/AppPreferencesEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppPrintEvent.java b/src/main/java/org/scijava/platform/event/AppPrintEvent.java index 926421cd6..013a70e79 100644 --- a/src/main/java/org/scijava/platform/event/AppPrintEvent.java +++ b/src/main/java/org/scijava/platform/event/AppPrintEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppQuitEvent.java b/src/main/java/org/scijava/platform/event/AppQuitEvent.java index 0317cdcd6..de8d9be40 100644 --- a/src/main/java/org/scijava/platform/event/AppQuitEvent.java +++ b/src/main/java/org/scijava/platform/event/AppQuitEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppReOpenEvent.java b/src/main/java/org/scijava/platform/event/AppReOpenEvent.java index d05449948..907e83148 100644 --- a/src/main/java/org/scijava/platform/event/AppReOpenEvent.java +++ b/src/main/java/org/scijava/platform/event/AppReOpenEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppScreenSleepEvent.java b/src/main/java/org/scijava/platform/event/AppScreenSleepEvent.java index 43776691f..fcedfd3a3 100644 --- a/src/main/java/org/scijava/platform/event/AppScreenSleepEvent.java +++ b/src/main/java/org/scijava/platform/event/AppScreenSleepEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppSleepEvent.java b/src/main/java/org/scijava/platform/event/AppSleepEvent.java index 8b8278736..776b80fba 100644 --- a/src/main/java/org/scijava/platform/event/AppSleepEvent.java +++ b/src/main/java/org/scijava/platform/event/AppSleepEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppSystemSleepEvent.java b/src/main/java/org/scijava/platform/event/AppSystemSleepEvent.java index ccfd0d442..f7c426e3a 100644 --- a/src/main/java/org/scijava/platform/event/AppSystemSleepEvent.java +++ b/src/main/java/org/scijava/platform/event/AppSystemSleepEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppUserSessionEvent.java b/src/main/java/org/scijava/platform/event/AppUserSessionEvent.java index fc22d4198..e3ee34255 100644 --- a/src/main/java/org/scijava/platform/event/AppUserSessionEvent.java +++ b/src/main/java/org/scijava/platform/event/AppUserSessionEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppVisibleEvent.java b/src/main/java/org/scijava/platform/event/AppVisibleEvent.java index 27f833171..307895791 100644 --- a/src/main/java/org/scijava/platform/event/AppVisibleEvent.java +++ b/src/main/java/org/scijava/platform/event/AppVisibleEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/ApplicationEvent.java b/src/main/java/org/scijava/platform/event/ApplicationEvent.java index 79933bf37..0b359cd46 100644 --- a/src/main/java/org/scijava/platform/event/ApplicationEvent.java +++ b/src/main/java/org/scijava/platform/event/ApplicationEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractHandlerPlugin.java b/src/main/java/org/scijava/plugin/AbstractHandlerPlugin.java index 1ab4989e3..3187fcd23 100644 --- a/src/main/java/org/scijava/plugin/AbstractHandlerPlugin.java +++ b/src/main/java/org/scijava/plugin/AbstractHandlerPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractHandlerService.java b/src/main/java/org/scijava/plugin/AbstractHandlerService.java index 40088d311..4ede3e5aa 100644 --- a/src/main/java/org/scijava/plugin/AbstractHandlerService.java +++ b/src/main/java/org/scijava/plugin/AbstractHandlerService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractPTService.java b/src/main/java/org/scijava/plugin/AbstractPTService.java index 73a95c611..7d96d2770 100644 --- a/src/main/java/org/scijava/plugin/AbstractPTService.java +++ b/src/main/java/org/scijava/plugin/AbstractPTService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractRichPlugin.java b/src/main/java/org/scijava/plugin/AbstractRichPlugin.java index 7b6197cb9..2d53decac 100644 --- a/src/main/java/org/scijava/plugin/AbstractRichPlugin.java +++ b/src/main/java/org/scijava/plugin/AbstractRichPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractSingletonService.java b/src/main/java/org/scijava/plugin/AbstractSingletonService.java index 60b31c6c6..c54f26ee5 100644 --- a/src/main/java/org/scijava/plugin/AbstractSingletonService.java +++ b/src/main/java/org/scijava/plugin/AbstractSingletonService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractTypedPlugin.java b/src/main/java/org/scijava/plugin/AbstractTypedPlugin.java index 962918659..8d9e4a1f3 100644 --- a/src/main/java/org/scijava/plugin/AbstractTypedPlugin.java +++ b/src/main/java/org/scijava/plugin/AbstractTypedPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractTypedService.java b/src/main/java/org/scijava/plugin/AbstractTypedService.java index 6c46ef9c0..17ea8f400 100644 --- a/src/main/java/org/scijava/plugin/AbstractTypedService.java +++ b/src/main/java/org/scijava/plugin/AbstractTypedService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractWrapperPlugin.java b/src/main/java/org/scijava/plugin/AbstractWrapperPlugin.java index 41daaff61..26fcc5e47 100644 --- a/src/main/java/org/scijava/plugin/AbstractWrapperPlugin.java +++ b/src/main/java/org/scijava/plugin/AbstractWrapperPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractWrapperService.java b/src/main/java/org/scijava/plugin/AbstractWrapperService.java index df87969ea..516ad9d69 100644 --- a/src/main/java/org/scijava/plugin/AbstractWrapperService.java +++ b/src/main/java/org/scijava/plugin/AbstractWrapperService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/Attr.java b/src/main/java/org/scijava/plugin/Attr.java index 1c8f6101e..d45a4f0b0 100644 --- a/src/main/java/org/scijava/plugin/Attr.java +++ b/src/main/java/org/scijava/plugin/Attr.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/DefaultPluginFinder.java b/src/main/java/org/scijava/plugin/DefaultPluginFinder.java index f8e0c9d49..99fc8fd18 100644 --- a/src/main/java/org/scijava/plugin/DefaultPluginFinder.java +++ b/src/main/java/org/scijava/plugin/DefaultPluginFinder.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/DefaultPluginService.java b/src/main/java/org/scijava/plugin/DefaultPluginService.java index 0563024ae..02b905f56 100644 --- a/src/main/java/org/scijava/plugin/DefaultPluginService.java +++ b/src/main/java/org/scijava/plugin/DefaultPluginService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/HandlerPlugin.java b/src/main/java/org/scijava/plugin/HandlerPlugin.java index f023888c2..b511aab11 100644 --- a/src/main/java/org/scijava/plugin/HandlerPlugin.java +++ b/src/main/java/org/scijava/plugin/HandlerPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/HandlerService.java b/src/main/java/org/scijava/plugin/HandlerService.java index 4275ec970..1a2bfa119 100644 --- a/src/main/java/org/scijava/plugin/HandlerService.java +++ b/src/main/java/org/scijava/plugin/HandlerService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/HasPluginInfo.java b/src/main/java/org/scijava/plugin/HasPluginInfo.java index 12c06b806..19c3da732 100644 --- a/src/main/java/org/scijava/plugin/HasPluginInfo.java +++ b/src/main/java/org/scijava/plugin/HasPluginInfo.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/Menu.java b/src/main/java/org/scijava/plugin/Menu.java index be5d37bdd..0c00e546b 100644 --- a/src/main/java/org/scijava/plugin/Menu.java +++ b/src/main/java/org/scijava/plugin/Menu.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/PTService.java b/src/main/java/org/scijava/plugin/PTService.java index 72a0fc638..4feb02532 100644 --- a/src/main/java/org/scijava/plugin/PTService.java +++ b/src/main/java/org/scijava/plugin/PTService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/Parameter.java b/src/main/java/org/scijava/plugin/Parameter.java index b419bc31e..0a41c094d 100644 --- a/src/main/java/org/scijava/plugin/Parameter.java +++ b/src/main/java/org/scijava/plugin/Parameter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/Plugin.java b/src/main/java/org/scijava/plugin/Plugin.java index e44215498..a1f7af866 100644 --- a/src/main/java/org/scijava/plugin/Plugin.java +++ b/src/main/java/org/scijava/plugin/Plugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/PluginFinder.java b/src/main/java/org/scijava/plugin/PluginFinder.java index 15f0fe877..0b9ff441e 100644 --- a/src/main/java/org/scijava/plugin/PluginFinder.java +++ b/src/main/java/org/scijava/plugin/PluginFinder.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/PluginIndex.java b/src/main/java/org/scijava/plugin/PluginIndex.java index 0fd466d23..73763ef03 100644 --- a/src/main/java/org/scijava/plugin/PluginIndex.java +++ b/src/main/java/org/scijava/plugin/PluginIndex.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/PluginInfo.java b/src/main/java/org/scijava/plugin/PluginInfo.java index ae48603ab..a9e4b5e09 100644 --- a/src/main/java/org/scijava/plugin/PluginInfo.java +++ b/src/main/java/org/scijava/plugin/PluginInfo.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/PluginService.java b/src/main/java/org/scijava/plugin/PluginService.java index c2d525c6a..07f44a6ca 100644 --- a/src/main/java/org/scijava/plugin/PluginService.java +++ b/src/main/java/org/scijava/plugin/PluginService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/RichPlugin.java b/src/main/java/org/scijava/plugin/RichPlugin.java index 1218852a6..d649eb5aa 100644 --- a/src/main/java/org/scijava/plugin/RichPlugin.java +++ b/src/main/java/org/scijava/plugin/RichPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/SciJavaPlugin.java b/src/main/java/org/scijava/plugin/SciJavaPlugin.java index 3ed3fa771..ff4bd3c7a 100644 --- a/src/main/java/org/scijava/plugin/SciJavaPlugin.java +++ b/src/main/java/org/scijava/plugin/SciJavaPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/SingletonPlugin.java b/src/main/java/org/scijava/plugin/SingletonPlugin.java index cd71d2be7..b26ee37cc 100644 --- a/src/main/java/org/scijava/plugin/SingletonPlugin.java +++ b/src/main/java/org/scijava/plugin/SingletonPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/SingletonService.java b/src/main/java/org/scijava/plugin/SingletonService.java index 64f90005d..07c2ff091 100644 --- a/src/main/java/org/scijava/plugin/SingletonService.java +++ b/src/main/java/org/scijava/plugin/SingletonService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/SortablePlugin.java b/src/main/java/org/scijava/plugin/SortablePlugin.java index 42c729638..e3ab8e244 100644 --- a/src/main/java/org/scijava/plugin/SortablePlugin.java +++ b/src/main/java/org/scijava/plugin/SortablePlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/TypedPlugin.java b/src/main/java/org/scijava/plugin/TypedPlugin.java index 4eb666f1d..26ae5468e 100644 --- a/src/main/java/org/scijava/plugin/TypedPlugin.java +++ b/src/main/java/org/scijava/plugin/TypedPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/TypedService.java b/src/main/java/org/scijava/plugin/TypedService.java index 42929b3b2..26f1c60bf 100644 --- a/src/main/java/org/scijava/plugin/TypedService.java +++ b/src/main/java/org/scijava/plugin/TypedService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/WrapperPlugin.java b/src/main/java/org/scijava/plugin/WrapperPlugin.java index a05355487..d867aeef8 100644 --- a/src/main/java/org/scijava/plugin/WrapperPlugin.java +++ b/src/main/java/org/scijava/plugin/WrapperPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/WrapperService.java b/src/main/java/org/scijava/plugin/WrapperService.java index fd6da8767..2377a9fef 100644 --- a/src/main/java/org/scijava/plugin/WrapperService.java +++ b/src/main/java/org/scijava/plugin/WrapperService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/event/PluginsAddedEvent.java b/src/main/java/org/scijava/plugin/event/PluginsAddedEvent.java index 38ff5c9c9..cae5e3792 100644 --- a/src/main/java/org/scijava/plugin/event/PluginsAddedEvent.java +++ b/src/main/java/org/scijava/plugin/event/PluginsAddedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/event/PluginsListEvent.java b/src/main/java/org/scijava/plugin/event/PluginsListEvent.java index cd3fd6997..927d76bee 100644 --- a/src/main/java/org/scijava/plugin/event/PluginsListEvent.java +++ b/src/main/java/org/scijava/plugin/event/PluginsListEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/event/PluginsRemovedEvent.java b/src/main/java/org/scijava/plugin/event/PluginsRemovedEvent.java index 7f871aaeb..f46d54bf9 100644 --- a/src/main/java/org/scijava/plugin/event/PluginsRemovedEvent.java +++ b/src/main/java/org/scijava/plugin/event/PluginsRemovedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/prefs/AbstractPrefService.java b/src/main/java/org/scijava/prefs/AbstractPrefService.java index f1dbfdf38..8fc849c20 100644 --- a/src/main/java/org/scijava/prefs/AbstractPrefService.java +++ b/src/main/java/org/scijava/prefs/AbstractPrefService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/prefs/DefaultPrefService.java b/src/main/java/org/scijava/prefs/DefaultPrefService.java index 47676d4b2..76a688924 100644 --- a/src/main/java/org/scijava/prefs/DefaultPrefService.java +++ b/src/main/java/org/scijava/prefs/DefaultPrefService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/prefs/PrefService.java b/src/main/java/org/scijava/prefs/PrefService.java index 5862a1895..9e787f436 100644 --- a/src/main/java/org/scijava/prefs/PrefService.java +++ b/src/main/java/org/scijava/prefs/PrefService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/run/AbstractCodeRunner.java b/src/main/java/org/scijava/run/AbstractCodeRunner.java index 7e5104dd9..37ebab4cb 100644 --- a/src/main/java/org/scijava/run/AbstractCodeRunner.java +++ b/src/main/java/org/scijava/run/AbstractCodeRunner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/run/CodeRunner.java b/src/main/java/org/scijava/run/CodeRunner.java index e42a9aa6b..13062df91 100644 --- a/src/main/java/org/scijava/run/CodeRunner.java +++ b/src/main/java/org/scijava/run/CodeRunner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/run/DefaultRunService.java b/src/main/java/org/scijava/run/DefaultRunService.java index 5adef39f3..cb9a7249e 100644 --- a/src/main/java/org/scijava/run/DefaultRunService.java +++ b/src/main/java/org/scijava/run/DefaultRunService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/run/RunService.java b/src/main/java/org/scijava/run/RunService.java index d4a124b22..e0f8de3bb 100644 --- a/src/main/java/org/scijava/run/RunService.java +++ b/src/main/java/org/scijava/run/RunService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/run/console/RunArgument.java b/src/main/java/org/scijava/run/console/RunArgument.java index 0b3ba6bce..ba056a6e8 100644 --- a/src/main/java/org/scijava/run/console/RunArgument.java +++ b/src/main/java/org/scijava/run/console/RunArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AbstractAutoCompleter.java b/src/main/java/org/scijava/script/AbstractAutoCompleter.java index 7846a8b68..b8368dbff 100644 --- a/src/main/java/org/scijava/script/AbstractAutoCompleter.java +++ b/src/main/java/org/scijava/script/AbstractAutoCompleter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AbstractScriptContext.java b/src/main/java/org/scijava/script/AbstractScriptContext.java index 84942758b..abd258195 100644 --- a/src/main/java/org/scijava/script/AbstractScriptContext.java +++ b/src/main/java/org/scijava/script/AbstractScriptContext.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AbstractScriptEngine.java b/src/main/java/org/scijava/script/AbstractScriptEngine.java index 326eb216f..f306ee488 100644 --- a/src/main/java/org/scijava/script/AbstractScriptEngine.java +++ b/src/main/java/org/scijava/script/AbstractScriptEngine.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AbstractScriptHeader.java b/src/main/java/org/scijava/script/AbstractScriptHeader.java index 66385208f..41b3185bc 100644 --- a/src/main/java/org/scijava/script/AbstractScriptHeader.java +++ b/src/main/java/org/scijava/script/AbstractScriptHeader.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AbstractScriptLanguage.java b/src/main/java/org/scijava/script/AbstractScriptLanguage.java index c537f8587..0f65a99c2 100644 --- a/src/main/java/org/scijava/script/AbstractScriptLanguage.java +++ b/src/main/java/org/scijava/script/AbstractScriptLanguage.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AdaptedScriptEngine.java b/src/main/java/org/scijava/script/AdaptedScriptEngine.java index 5b0f15d9d..39c8012a3 100644 --- a/src/main/java/org/scijava/script/AdaptedScriptEngine.java +++ b/src/main/java/org/scijava/script/AdaptedScriptEngine.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AdaptedScriptLanguage.java b/src/main/java/org/scijava/script/AdaptedScriptLanguage.java index f1f353939..ff96c74a3 100644 --- a/src/main/java/org/scijava/script/AdaptedScriptLanguage.java +++ b/src/main/java/org/scijava/script/AdaptedScriptLanguage.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AutoCompleter.java b/src/main/java/org/scijava/script/AutoCompleter.java index 791676279..f56ec50fb 100644 --- a/src/main/java/org/scijava/script/AutoCompleter.java +++ b/src/main/java/org/scijava/script/AutoCompleter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AutoCompletionResult.java b/src/main/java/org/scijava/script/AutoCompletionResult.java index e405df4c9..89ae99097 100644 --- a/src/main/java/org/scijava/script/AutoCompletionResult.java +++ b/src/main/java/org/scijava/script/AutoCompletionResult.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/CodeGenerator.java b/src/main/java/org/scijava/script/CodeGenerator.java index 9628ffb1f..7e95f1e78 100644 --- a/src/main/java/org/scijava/script/CodeGenerator.java +++ b/src/main/java/org/scijava/script/CodeGenerator.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/CodeGeneratorJava.java b/src/main/java/org/scijava/script/CodeGeneratorJava.java index 97aa72ee4..7f75c39fd 100644 --- a/src/main/java/org/scijava/script/CodeGeneratorJava.java +++ b/src/main/java/org/scijava/script/CodeGeneratorJava.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/DefaultAutoCompleter.java b/src/main/java/org/scijava/script/DefaultAutoCompleter.java index 5196a5bd5..95bcc94c0 100644 --- a/src/main/java/org/scijava/script/DefaultAutoCompleter.java +++ b/src/main/java/org/scijava/script/DefaultAutoCompleter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/DefaultScriptHeaderService.java b/src/main/java/org/scijava/script/DefaultScriptHeaderService.java index ac88d9514..39941978e 100644 --- a/src/main/java/org/scijava/script/DefaultScriptHeaderService.java +++ b/src/main/java/org/scijava/script/DefaultScriptHeaderService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/DefaultScriptInterpreter.java b/src/main/java/org/scijava/script/DefaultScriptInterpreter.java index 8d0e9e994..147c141af 100644 --- a/src/main/java/org/scijava/script/DefaultScriptInterpreter.java +++ b/src/main/java/org/scijava/script/DefaultScriptInterpreter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/DefaultScriptService.java b/src/main/java/org/scijava/script/DefaultScriptService.java index 4c5f3925d..188123998 100644 --- a/src/main/java/org/scijava/script/DefaultScriptService.java +++ b/src/main/java/org/scijava/script/DefaultScriptService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/InvocationObject.java b/src/main/java/org/scijava/script/InvocationObject.java index d78ef45bb..a7f373a7c 100644 --- a/src/main/java/org/scijava/script/InvocationObject.java +++ b/src/main/java/org/scijava/script/InvocationObject.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ParameterObject.java b/src/main/java/org/scijava/script/ParameterObject.java index a7bebe51b..184fb8209 100644 --- a/src/main/java/org/scijava/script/ParameterObject.java +++ b/src/main/java/org/scijava/script/ParameterObject.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptFinder.java b/src/main/java/org/scijava/script/ScriptFinder.java index 2608120d9..13f3fb37a 100644 --- a/src/main/java/org/scijava/script/ScriptFinder.java +++ b/src/main/java/org/scijava/script/ScriptFinder.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptHeader.java b/src/main/java/org/scijava/script/ScriptHeader.java index 3a960398c..57ca01749 100644 --- a/src/main/java/org/scijava/script/ScriptHeader.java +++ b/src/main/java/org/scijava/script/ScriptHeader.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptHeaderService.java b/src/main/java/org/scijava/script/ScriptHeaderService.java index 333555a40..692869a8f 100644 --- a/src/main/java/org/scijava/script/ScriptHeaderService.java +++ b/src/main/java/org/scijava/script/ScriptHeaderService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptInfo.java b/src/main/java/org/scijava/script/ScriptInfo.java index de1c7caae..02b6c46cf 100644 --- a/src/main/java/org/scijava/script/ScriptInfo.java +++ b/src/main/java/org/scijava/script/ScriptInfo.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptInterpreter.java b/src/main/java/org/scijava/script/ScriptInterpreter.java index c889fe818..df59b6a36 100644 --- a/src/main/java/org/scijava/script/ScriptInterpreter.java +++ b/src/main/java/org/scijava/script/ScriptInterpreter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptLanguage.java b/src/main/java/org/scijava/script/ScriptLanguage.java index 73a86f94e..e8c1be0cc 100644 --- a/src/main/java/org/scijava/script/ScriptLanguage.java +++ b/src/main/java/org/scijava/script/ScriptLanguage.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptLanguageIndex.java b/src/main/java/org/scijava/script/ScriptLanguageIndex.java index 84b202634..728c20831 100644 --- a/src/main/java/org/scijava/script/ScriptLanguageIndex.java +++ b/src/main/java/org/scijava/script/ScriptLanguageIndex.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptModule.java b/src/main/java/org/scijava/script/ScriptModule.java index 2df926592..b10e504dc 100644 --- a/src/main/java/org/scijava/script/ScriptModule.java +++ b/src/main/java/org/scijava/script/ScriptModule.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptREPL.java b/src/main/java/org/scijava/script/ScriptREPL.java index bbc00fcbc..9c5be1528 100644 --- a/src/main/java/org/scijava/script/ScriptREPL.java +++ b/src/main/java/org/scijava/script/ScriptREPL.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptService.java b/src/main/java/org/scijava/script/ScriptService.java index 064ac980b..602883be0 100644 --- a/src/main/java/org/scijava/script/ScriptService.java +++ b/src/main/java/org/scijava/script/ScriptService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/console/RunScriptArgument.java b/src/main/java/org/scijava/script/console/RunScriptArgument.java index ff2e0c448..8389d55f6 100644 --- a/src/main/java/org/scijava/script/console/RunScriptArgument.java +++ b/src/main/java/org/scijava/script/console/RunScriptArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/io/ScriptIOPlugin.java b/src/main/java/org/scijava/script/io/ScriptIOPlugin.java index 80cf99e7d..da60b2357 100644 --- a/src/main/java/org/scijava/script/io/ScriptIOPlugin.java +++ b/src/main/java/org/scijava/script/io/ScriptIOPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/process/DefaultScriptProcessorService.java b/src/main/java/org/scijava/script/process/DefaultScriptProcessorService.java index 21ff9ebc0..3ad01f908 100644 --- a/src/main/java/org/scijava/script/process/DefaultScriptProcessorService.java +++ b/src/main/java/org/scijava/script/process/DefaultScriptProcessorService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/process/DirectiveScriptProcessor.java b/src/main/java/org/scijava/script/process/DirectiveScriptProcessor.java index c5260ffb8..231ef68c7 100644 --- a/src/main/java/org/scijava/script/process/DirectiveScriptProcessor.java +++ b/src/main/java/org/scijava/script/process/DirectiveScriptProcessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java b/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java index 9ef7ecd83..70e696f16 100644 --- a/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java +++ b/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/process/ScriptCallback.java b/src/main/java/org/scijava/script/process/ScriptCallback.java index 41a347362..32ad3cebf 100644 --- a/src/main/java/org/scijava/script/process/ScriptCallback.java +++ b/src/main/java/org/scijava/script/process/ScriptCallback.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/process/ScriptDirectiveScriptProcessor.java b/src/main/java/org/scijava/script/process/ScriptDirectiveScriptProcessor.java index 9b7e49b86..cdf39b128 100644 --- a/src/main/java/org/scijava/script/process/ScriptDirectiveScriptProcessor.java +++ b/src/main/java/org/scijava/script/process/ScriptDirectiveScriptProcessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/process/ScriptProcessor.java b/src/main/java/org/scijava/script/process/ScriptProcessor.java index 23fae5d9a..e4d86a36e 100644 --- a/src/main/java/org/scijava/script/process/ScriptProcessor.java +++ b/src/main/java/org/scijava/script/process/ScriptProcessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/process/ScriptProcessorService.java b/src/main/java/org/scijava/script/process/ScriptProcessorService.java index 056bbd7be..458613b45 100644 --- a/src/main/java/org/scijava/script/process/ScriptProcessorService.java +++ b/src/main/java/org/scijava/script/process/ScriptProcessorService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/process/ShebangScriptProcessor.java b/src/main/java/org/scijava/script/process/ShebangScriptProcessor.java index 3aa87d4b9..5951b6dbb 100644 --- a/src/main/java/org/scijava/script/process/ShebangScriptProcessor.java +++ b/src/main/java/org/scijava/script/process/ShebangScriptProcessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/run/ScriptCodeRunner.java b/src/main/java/org/scijava/script/run/ScriptCodeRunner.java index 3ca981b0e..ac6535c89 100644 --- a/src/main/java/org/scijava/script/run/ScriptCodeRunner.java +++ b/src/main/java/org/scijava/script/run/ScriptCodeRunner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/service/AbstractService.java b/src/main/java/org/scijava/service/AbstractService.java index a7c360ece..39062d6a8 100644 --- a/src/main/java/org/scijava/service/AbstractService.java +++ b/src/main/java/org/scijava/service/AbstractService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/service/SciJavaService.java b/src/main/java/org/scijava/service/SciJavaService.java index 993fcff82..afcad184a 100644 --- a/src/main/java/org/scijava/service/SciJavaService.java +++ b/src/main/java/org/scijava/service/SciJavaService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/service/Service.java b/src/main/java/org/scijava/service/Service.java index 83767672e..c11d3c2a8 100644 --- a/src/main/java/org/scijava/service/Service.java +++ b/src/main/java/org/scijava/service/Service.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/service/ServiceHelper.java b/src/main/java/org/scijava/service/ServiceHelper.java index 0af3dff5a..0e8db19d6 100644 --- a/src/main/java/org/scijava/service/ServiceHelper.java +++ b/src/main/java/org/scijava/service/ServiceHelper.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/service/ServiceIndex.java b/src/main/java/org/scijava/service/ServiceIndex.java index fdba46c9a..9632da00d 100644 --- a/src/main/java/org/scijava/service/ServiceIndex.java +++ b/src/main/java/org/scijava/service/ServiceIndex.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/service/event/ServicesLoadedEvent.java b/src/main/java/org/scijava/service/event/ServicesLoadedEvent.java index 84fb560c9..0a9e58c27 100644 --- a/src/main/java/org/scijava/service/event/ServicesLoadedEvent.java +++ b/src/main/java/org/scijava/service/event/ServicesLoadedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/startup/DefaultStartupService.java b/src/main/java/org/scijava/startup/DefaultStartupService.java index de8ad6baa..4104c3d19 100644 --- a/src/main/java/org/scijava/startup/DefaultStartupService.java +++ b/src/main/java/org/scijava/startup/DefaultStartupService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/startup/StartupService.java b/src/main/java/org/scijava/startup/StartupService.java index 2b9d69d35..1dc08a2ee 100644 --- a/src/main/java/org/scijava/startup/StartupService.java +++ b/src/main/java/org/scijava/startup/StartupService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/task/DefaultTask.java b/src/main/java/org/scijava/task/DefaultTask.java index 54b69f8d0..44f1c3b30 100644 --- a/src/main/java/org/scijava/task/DefaultTask.java +++ b/src/main/java/org/scijava/task/DefaultTask.java @@ -2,17 +2,17 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE diff --git a/src/main/java/org/scijava/task/DefaultTaskService.java b/src/main/java/org/scijava/task/DefaultTaskService.java index 5b58f66ce..09375262a 100644 --- a/src/main/java/org/scijava/task/DefaultTaskService.java +++ b/src/main/java/org/scijava/task/DefaultTaskService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/task/Task.java b/src/main/java/org/scijava/task/Task.java index 4867954da..7e6b66062 100644 --- a/src/main/java/org/scijava/task/Task.java +++ b/src/main/java/org/scijava/task/Task.java @@ -2,17 +2,17 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE diff --git a/src/main/java/org/scijava/task/TaskService.java b/src/main/java/org/scijava/task/TaskService.java index 019709766..887acf804 100644 --- a/src/main/java/org/scijava/task/TaskService.java +++ b/src/main/java/org/scijava/task/TaskService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/task/event/TaskEvent.java b/src/main/java/org/scijava/task/event/TaskEvent.java index 9a6c68266..79d55f7d2 100644 --- a/src/main/java/org/scijava/task/event/TaskEvent.java +++ b/src/main/java/org/scijava/task/event/TaskEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/test/TestUtils.java b/src/main/java/org/scijava/test/TestUtils.java index 750b1d1a2..7f9c63075 100644 --- a/src/main/java/org/scijava/test/TestUtils.java +++ b/src/main/java/org/scijava/test/TestUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/text/AbstractTextFormat.java b/src/main/java/org/scijava/text/AbstractTextFormat.java index 928143097..202092996 100644 --- a/src/main/java/org/scijava/text/AbstractTextFormat.java +++ b/src/main/java/org/scijava/text/AbstractTextFormat.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/text/DefaultTextService.java b/src/main/java/org/scijava/text/DefaultTextService.java index 8739af515..dab8a2898 100644 --- a/src/main/java/org/scijava/text/DefaultTextService.java +++ b/src/main/java/org/scijava/text/DefaultTextService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/text/TextFormat.java b/src/main/java/org/scijava/text/TextFormat.java index fb4f0e23b..40a314e8a 100644 --- a/src/main/java/org/scijava/text/TextFormat.java +++ b/src/main/java/org/scijava/text/TextFormat.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/text/TextService.java b/src/main/java/org/scijava/text/TextService.java index d9e9fc9a1..8f640ba5f 100644 --- a/src/main/java/org/scijava/text/TextService.java +++ b/src/main/java/org/scijava/text/TextService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/text/io/DefaultTextIOService.java b/src/main/java/org/scijava/text/io/DefaultTextIOService.java index 219a6f06d..b1c9ad530 100644 --- a/src/main/java/org/scijava/text/io/DefaultTextIOService.java +++ b/src/main/java/org/scijava/text/io/DefaultTextIOService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/text/io/TextIOPlugin.java b/src/main/java/org/scijava/text/io/TextIOPlugin.java index e8f8172df..04018a44f 100644 --- a/src/main/java/org/scijava/text/io/TextIOPlugin.java +++ b/src/main/java/org/scijava/text/io/TextIOPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/text/io/TextIOService.java b/src/main/java/org/scijava/text/io/TextIOService.java index 24f105c64..42e36e64a 100644 --- a/src/main/java/org/scijava/text/io/TextIOService.java +++ b/src/main/java/org/scijava/text/io/TextIOService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/thread/DefaultThreadService.java b/src/main/java/org/scijava/thread/DefaultThreadService.java index bfcf79d0e..3262ee21d 100644 --- a/src/main/java/org/scijava/thread/DefaultThreadService.java +++ b/src/main/java/org/scijava/thread/DefaultThreadService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/thread/ThreadService.java b/src/main/java/org/scijava/thread/ThreadService.java index b00f6fe80..afddb6f8f 100644 --- a/src/main/java/org/scijava/thread/ThreadService.java +++ b/src/main/java/org/scijava/thread/ThreadService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/AbstractTool.java b/src/main/java/org/scijava/tool/AbstractTool.java index 22492cb2e..054fd1a8b 100644 --- a/src/main/java/org/scijava/tool/AbstractTool.java +++ b/src/main/java/org/scijava/tool/AbstractTool.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/CustomDrawnTool.java b/src/main/java/org/scijava/tool/CustomDrawnTool.java index 7eea24aa4..3a3905780 100644 --- a/src/main/java/org/scijava/tool/CustomDrawnTool.java +++ b/src/main/java/org/scijava/tool/CustomDrawnTool.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/DefaultToolService.java b/src/main/java/org/scijava/tool/DefaultToolService.java index 7aacdcee1..d78e1a53a 100644 --- a/src/main/java/org/scijava/tool/DefaultToolService.java +++ b/src/main/java/org/scijava/tool/DefaultToolService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/DummyTool.java b/src/main/java/org/scijava/tool/DummyTool.java index b6375479e..baef6dfe3 100644 --- a/src/main/java/org/scijava/tool/DummyTool.java +++ b/src/main/java/org/scijava/tool/DummyTool.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/IconDrawer.java b/src/main/java/org/scijava/tool/IconDrawer.java index a7cae7e4e..0d1b45824 100644 --- a/src/main/java/org/scijava/tool/IconDrawer.java +++ b/src/main/java/org/scijava/tool/IconDrawer.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/IconService.java b/src/main/java/org/scijava/tool/IconService.java index b51a31be4..43ac9f66f 100644 --- a/src/main/java/org/scijava/tool/IconService.java +++ b/src/main/java/org/scijava/tool/IconService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/Tool.java b/src/main/java/org/scijava/tool/Tool.java index 664a20284..cadfcf115 100644 --- a/src/main/java/org/scijava/tool/Tool.java +++ b/src/main/java/org/scijava/tool/Tool.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/ToolService.java b/src/main/java/org/scijava/tool/ToolService.java index 7d09765d9..a254a91e3 100644 --- a/src/main/java/org/scijava/tool/ToolService.java +++ b/src/main/java/org/scijava/tool/ToolService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/event/ToolActivatedEvent.java b/src/main/java/org/scijava/tool/event/ToolActivatedEvent.java index 125a3b6ca..5142bbe18 100644 --- a/src/main/java/org/scijava/tool/event/ToolActivatedEvent.java +++ b/src/main/java/org/scijava/tool/event/ToolActivatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/event/ToolDeactivatedEvent.java b/src/main/java/org/scijava/tool/event/ToolDeactivatedEvent.java index 95d5a6e1a..7503eed17 100644 --- a/src/main/java/org/scijava/tool/event/ToolDeactivatedEvent.java +++ b/src/main/java/org/scijava/tool/event/ToolDeactivatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/event/ToolEvent.java b/src/main/java/org/scijava/tool/event/ToolEvent.java index 13967a4ed..6c6f1f185 100644 --- a/src/main/java/org/scijava/tool/event/ToolEvent.java +++ b/src/main/java/org/scijava/tool/event/ToolEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/ARGBPlane.java b/src/main/java/org/scijava/ui/ARGBPlane.java index 9f223593c..5d7678f61 100644 --- a/src/main/java/org/scijava/ui/ARGBPlane.java +++ b/src/main/java/org/scijava/ui/ARGBPlane.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/AbstractInputHarvesterPlugin.java b/src/main/java/org/scijava/ui/AbstractInputHarvesterPlugin.java index a39e1aa89..9d12ab82f 100644 --- a/src/main/java/org/scijava/ui/AbstractInputHarvesterPlugin.java +++ b/src/main/java/org/scijava/ui/AbstractInputHarvesterPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/AbstractUIInputWidget.java b/src/main/java/org/scijava/ui/AbstractUIInputWidget.java index c402a1f2e..394ec8829 100644 --- a/src/main/java/org/scijava/ui/AbstractUIInputWidget.java +++ b/src/main/java/org/scijava/ui/AbstractUIInputWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/AbstractUserInterface.java b/src/main/java/org/scijava/ui/AbstractUserInterface.java index 2c9adba78..0c3e22da5 100644 --- a/src/main/java/org/scijava/ui/AbstractUserInterface.java +++ b/src/main/java/org/scijava/ui/AbstractUserInterface.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/ApplicationFrame.java b/src/main/java/org/scijava/ui/ApplicationFrame.java index 10477bab6..dbda0cc80 100644 --- a/src/main/java/org/scijava/ui/ApplicationFrame.java +++ b/src/main/java/org/scijava/ui/ApplicationFrame.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/Arrangeable.java b/src/main/java/org/scijava/ui/Arrangeable.java index 0d082a58e..fb5a06dff 100644 --- a/src/main/java/org/scijava/ui/Arrangeable.java +++ b/src/main/java/org/scijava/ui/Arrangeable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/CloseConfirmable.java b/src/main/java/org/scijava/ui/CloseConfirmable.java index 4e6027ed6..56450088f 100644 --- a/src/main/java/org/scijava/ui/CloseConfirmable.java +++ b/src/main/java/org/scijava/ui/CloseConfirmable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/DefaultUIService.java b/src/main/java/org/scijava/ui/DefaultUIService.java index 06f8c8289..42899053b 100644 --- a/src/main/java/org/scijava/ui/DefaultUIService.java +++ b/src/main/java/org/scijava/ui/DefaultUIService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/Desktop.java b/src/main/java/org/scijava/ui/Desktop.java index db3920956..bfca746d9 100644 --- a/src/main/java/org/scijava/ui/Desktop.java +++ b/src/main/java/org/scijava/ui/Desktop.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/DialogPrompt.java b/src/main/java/org/scijava/ui/DialogPrompt.java index 9ec7c6f5c..26c0ede95 100644 --- a/src/main/java/org/scijava/ui/DialogPrompt.java +++ b/src/main/java/org/scijava/ui/DialogPrompt.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/FileListPreprocessor.java b/src/main/java/org/scijava/ui/FileListPreprocessor.java index 82ee890fa..13d8feb68 100644 --- a/src/main/java/org/scijava/ui/FileListPreprocessor.java +++ b/src/main/java/org/scijava/ui/FileListPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/FilePreprocessor.java b/src/main/java/org/scijava/ui/FilePreprocessor.java index c87674ef4..d03e43bc4 100644 --- a/src/main/java/org/scijava/ui/FilePreprocessor.java +++ b/src/main/java/org/scijava/ui/FilePreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/StatusBar.java b/src/main/java/org/scijava/ui/StatusBar.java index 695d28cdb..9b6b71377 100644 --- a/src/main/java/org/scijava/ui/StatusBar.java +++ b/src/main/java/org/scijava/ui/StatusBar.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/SystemClipboard.java b/src/main/java/org/scijava/ui/SystemClipboard.java index 694d9dbd2..8eb4e8bf6 100644 --- a/src/main/java/org/scijava/ui/SystemClipboard.java +++ b/src/main/java/org/scijava/ui/SystemClipboard.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/ToolBar.java b/src/main/java/org/scijava/ui/ToolBar.java index 5fdd4cdc7..95a137aa5 100644 --- a/src/main/java/org/scijava/ui/ToolBar.java +++ b/src/main/java/org/scijava/ui/ToolBar.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/UIPreprocessor.java b/src/main/java/org/scijava/ui/UIPreprocessor.java index 4d726baed..87a755a14 100644 --- a/src/main/java/org/scijava/ui/UIPreprocessor.java +++ b/src/main/java/org/scijava/ui/UIPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/UIService.java b/src/main/java/org/scijava/ui/UIService.java index 82a35a686..d3111bb3e 100644 --- a/src/main/java/org/scijava/ui/UIService.java +++ b/src/main/java/org/scijava/ui/UIService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/UserInterface.java b/src/main/java/org/scijava/ui/UserInterface.java index 7c1654dbd..162532dac 100644 --- a/src/main/java/org/scijava/ui/UserInterface.java +++ b/src/main/java/org/scijava/ui/UserInterface.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/console/AbstractConsolePane.java b/src/main/java/org/scijava/ui/console/AbstractConsolePane.java index 57fcdfe26..db4817ceb 100644 --- a/src/main/java/org/scijava/ui/console/AbstractConsolePane.java +++ b/src/main/java/org/scijava/ui/console/AbstractConsolePane.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/console/ConsolePane.java b/src/main/java/org/scijava/ui/console/ConsolePane.java index bd347f69e..7145ed54a 100644 --- a/src/main/java/org/scijava/ui/console/ConsolePane.java +++ b/src/main/java/org/scijava/ui/console/ConsolePane.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/console/HeadlessArgument.java b/src/main/java/org/scijava/ui/console/HeadlessArgument.java index 0aa658fc1..3a10f459d 100644 --- a/src/main/java/org/scijava/ui/console/HeadlessArgument.java +++ b/src/main/java/org/scijava/ui/console/HeadlessArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/console/ShowUIArgument.java b/src/main/java/org/scijava/ui/console/ShowUIArgument.java index 9489db54f..9d0c1161b 100644 --- a/src/main/java/org/scijava/ui/console/ShowUIArgument.java +++ b/src/main/java/org/scijava/ui/console/ShowUIArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/console/UIArgument.java b/src/main/java/org/scijava/ui/console/UIArgument.java index e454ee13e..0deeba42b 100644 --- a/src/main/java/org/scijava/ui/console/UIArgument.java +++ b/src/main/java/org/scijava/ui/console/UIArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropData.java b/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropData.java index 364ee52c3..09e3efb79 100644 --- a/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropData.java +++ b/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropData.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropHandler.java b/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropHandler.java index f311b89fe..05d350bd7 100644 --- a/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropHandler.java +++ b/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropHandler.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropData.java b/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropData.java index 17f007443..0529ea7c5 100644 --- a/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropData.java +++ b/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropData.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropService.java b/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropService.java index b542e7405..524f5a887 100644 --- a/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropService.java +++ b/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/DragAndDropData.java b/src/main/java/org/scijava/ui/dnd/DragAndDropData.java index 391064a8b..d5924bbbc 100644 --- a/src/main/java/org/scijava/ui/dnd/DragAndDropData.java +++ b/src/main/java/org/scijava/ui/dnd/DragAndDropData.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/DragAndDropHandler.java b/src/main/java/org/scijava/ui/dnd/DragAndDropHandler.java index 0de0dd56a..4f7d47043 100644 --- a/src/main/java/org/scijava/ui/dnd/DragAndDropHandler.java +++ b/src/main/java/org/scijava/ui/dnd/DragAndDropHandler.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/DragAndDropService.java b/src/main/java/org/scijava/ui/dnd/DragAndDropService.java index bb999c01b..a7b394407 100644 --- a/src/main/java/org/scijava/ui/dnd/DragAndDropService.java +++ b/src/main/java/org/scijava/ui/dnd/DragAndDropService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/FileDragAndDropHandler.java b/src/main/java/org/scijava/ui/dnd/FileDragAndDropHandler.java index 7b8a0ff34..11aa98108 100644 --- a/src/main/java/org/scijava/ui/dnd/FileDragAndDropHandler.java +++ b/src/main/java/org/scijava/ui/dnd/FileDragAndDropHandler.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/ListDragAndDropHandler.java b/src/main/java/org/scijava/ui/dnd/ListDragAndDropHandler.java index fba1ac075..9ca0833ca 100644 --- a/src/main/java/org/scijava/ui/dnd/ListDragAndDropHandler.java +++ b/src/main/java/org/scijava/ui/dnd/ListDragAndDropHandler.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/MIMEType.java b/src/main/java/org/scijava/ui/dnd/MIMEType.java index 90c539fa4..c5fd7ec61 100644 --- a/src/main/java/org/scijava/ui/dnd/MIMEType.java +++ b/src/main/java/org/scijava/ui/dnd/MIMEType.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/ScriptFileDragAndDropHandler.java b/src/main/java/org/scijava/ui/dnd/ScriptFileDragAndDropHandler.java index b519354aa..a798ff7ec 100644 --- a/src/main/java/org/scijava/ui/dnd/ScriptFileDragAndDropHandler.java +++ b/src/main/java/org/scijava/ui/dnd/ScriptFileDragAndDropHandler.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/event/DragAndDropEvent.java b/src/main/java/org/scijava/ui/dnd/event/DragAndDropEvent.java index 2b06f058f..20c240ead 100644 --- a/src/main/java/org/scijava/ui/dnd/event/DragAndDropEvent.java +++ b/src/main/java/org/scijava/ui/dnd/event/DragAndDropEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/event/DragEnterEvent.java b/src/main/java/org/scijava/ui/dnd/event/DragEnterEvent.java index da9285286..f219555ab 100644 --- a/src/main/java/org/scijava/ui/dnd/event/DragEnterEvent.java +++ b/src/main/java/org/scijava/ui/dnd/event/DragEnterEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/event/DragExitEvent.java b/src/main/java/org/scijava/ui/dnd/event/DragExitEvent.java index 11b1ad1a8..fbe9b6ce1 100644 --- a/src/main/java/org/scijava/ui/dnd/event/DragExitEvent.java +++ b/src/main/java/org/scijava/ui/dnd/event/DragExitEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/event/DragOverEvent.java b/src/main/java/org/scijava/ui/dnd/event/DragOverEvent.java index b2f3cfe4b..f0376b017 100644 --- a/src/main/java/org/scijava/ui/dnd/event/DragOverEvent.java +++ b/src/main/java/org/scijava/ui/dnd/event/DragOverEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/event/DropEvent.java b/src/main/java/org/scijava/ui/dnd/event/DropEvent.java index 99ca4f859..0fd7677e6 100644 --- a/src/main/java/org/scijava/ui/dnd/event/DropEvent.java +++ b/src/main/java/org/scijava/ui/dnd/event/DropEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/event/UIEvent.java b/src/main/java/org/scijava/ui/event/UIEvent.java index 6f80f9f88..0f4e3a9b0 100644 --- a/src/main/java/org/scijava/ui/event/UIEvent.java +++ b/src/main/java/org/scijava/ui/event/UIEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/event/UIShownEvent.java b/src/main/java/org/scijava/ui/event/UIShownEvent.java index 2de8238eb..d7b893f3c 100644 --- a/src/main/java/org/scijava/ui/event/UIShownEvent.java +++ b/src/main/java/org/scijava/ui/event/UIShownEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/headless/HeadlessDisplayViewer.java b/src/main/java/org/scijava/ui/headless/HeadlessDisplayViewer.java index 31bea8a62..3352913e3 100644 --- a/src/main/java/org/scijava/ui/headless/HeadlessDisplayViewer.java +++ b/src/main/java/org/scijava/ui/headless/HeadlessDisplayViewer.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/headless/HeadlessUI.java b/src/main/java/org/scijava/ui/headless/HeadlessUI.java index bf2c128af..c8aceb5ae 100644 --- a/src/main/java/org/scijava/ui/headless/HeadlessUI.java +++ b/src/main/java/org/scijava/ui/headless/HeadlessUI.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/headlessUI/HeadlessUI.java b/src/main/java/org/scijava/ui/headlessUI/HeadlessUI.java index 4efc3fd1f..96f51ff72 100644 --- a/src/main/java/org/scijava/ui/headlessUI/HeadlessUI.java +++ b/src/main/java/org/scijava/ui/headlessUI/HeadlessUI.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/viewer/AbstractDisplayViewer.java b/src/main/java/org/scijava/ui/viewer/AbstractDisplayViewer.java index 1cc70a7a9..35cefdadc 100644 --- a/src/main/java/org/scijava/ui/viewer/AbstractDisplayViewer.java +++ b/src/main/java/org/scijava/ui/viewer/AbstractDisplayViewer.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/viewer/DisplayPanel.java b/src/main/java/org/scijava/ui/viewer/DisplayPanel.java index 786a95a2d..f438822c0 100644 --- a/src/main/java/org/scijava/ui/viewer/DisplayPanel.java +++ b/src/main/java/org/scijava/ui/viewer/DisplayPanel.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/viewer/DisplayViewer.java b/src/main/java/org/scijava/ui/viewer/DisplayViewer.java index 3805bf1a7..657e860b5 100644 --- a/src/main/java/org/scijava/ui/viewer/DisplayViewer.java +++ b/src/main/java/org/scijava/ui/viewer/DisplayViewer.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/viewer/DisplayWindow.java b/src/main/java/org/scijava/ui/viewer/DisplayWindow.java index a990d1a48..d9d4945c4 100644 --- a/src/main/java/org/scijava/ui/viewer/DisplayWindow.java +++ b/src/main/java/org/scijava/ui/viewer/DisplayWindow.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/viewer/text/AbstractTextDisplayViewer.java b/src/main/java/org/scijava/ui/viewer/text/AbstractTextDisplayViewer.java index 9cd858082..2b6e93004 100644 --- a/src/main/java/org/scijava/ui/viewer/text/AbstractTextDisplayViewer.java +++ b/src/main/java/org/scijava/ui/viewer/text/AbstractTextDisplayViewer.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/viewer/text/TextDisplayPanel.java b/src/main/java/org/scijava/ui/viewer/text/TextDisplayPanel.java index 59b9e5068..3f0ba3fec 100644 --- a/src/main/java/org/scijava/ui/viewer/text/TextDisplayPanel.java +++ b/src/main/java/org/scijava/ui/viewer/text/TextDisplayPanel.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/viewer/text/TextDisplayViewer.java b/src/main/java/org/scijava/ui/viewer/text/TextDisplayViewer.java index 7937f7a2b..302a6f41a 100644 --- a/src/main/java/org/scijava/ui/viewer/text/TextDisplayViewer.java +++ b/src/main/java/org/scijava/ui/viewer/text/TextDisplayViewer.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/AbstractPrimitiveArray.java b/src/main/java/org/scijava/util/AbstractPrimitiveArray.java index 71f620135..735f286b0 100644 --- a/src/main/java/org/scijava/util/AbstractPrimitiveArray.java +++ b/src/main/java/org/scijava/util/AbstractPrimitiveArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/AppUtils.java b/src/main/java/org/scijava/util/AppUtils.java index 4e7038849..e83e06798 100644 --- a/src/main/java/org/scijava/util/AppUtils.java +++ b/src/main/java/org/scijava/util/AppUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ArrayUtils.java b/src/main/java/org/scijava/util/ArrayUtils.java index 3dae18ade..c6487c5cf 100644 --- a/src/main/java/org/scijava/util/ArrayUtils.java +++ b/src/main/java/org/scijava/util/ArrayUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/BoolArray.java b/src/main/java/org/scijava/util/BoolArray.java index 13e378677..72e192bbe 100644 --- a/src/main/java/org/scijava/util/BoolArray.java +++ b/src/main/java/org/scijava/util/BoolArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ByteArray.java b/src/main/java/org/scijava/util/ByteArray.java index 5803f10b9..f1e831c0e 100644 --- a/src/main/java/org/scijava/util/ByteArray.java +++ b/src/main/java/org/scijava/util/ByteArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Bytes.java b/src/main/java/org/scijava/util/Bytes.java index bdf52bbcb..fbce5e167 100644 --- a/src/main/java/org/scijava/util/Bytes.java +++ b/src/main/java/org/scijava/util/Bytes.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/CharArray.java b/src/main/java/org/scijava/util/CharArray.java index 1816709d7..bfe0ae73e 100644 --- a/src/main/java/org/scijava/util/CharArray.java +++ b/src/main/java/org/scijava/util/CharArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/CheckSezpoz.java b/src/main/java/org/scijava/util/CheckSezpoz.java index dcb6c17ee..459260f05 100644 --- a/src/main/java/org/scijava/util/CheckSezpoz.java +++ b/src/main/java/org/scijava/util/CheckSezpoz.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ClassUtils.java b/src/main/java/org/scijava/util/ClassUtils.java index 12a727530..d9d3b2f67 100644 --- a/src/main/java/org/scijava/util/ClassUtils.java +++ b/src/main/java/org/scijava/util/ClassUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ColorRGB.java b/src/main/java/org/scijava/util/ColorRGB.java index c90ee211a..129eaf5f4 100644 --- a/src/main/java/org/scijava/util/ColorRGB.java +++ b/src/main/java/org/scijava/util/ColorRGB.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ColorRGBA.java b/src/main/java/org/scijava/util/ColorRGBA.java index 4cdf59c25..b7c55622b 100644 --- a/src/main/java/org/scijava/util/ColorRGBA.java +++ b/src/main/java/org/scijava/util/ColorRGBA.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Colors.java b/src/main/java/org/scijava/util/Colors.java index 35b3486e4..f32b4fad9 100644 --- a/src/main/java/org/scijava/util/Colors.java +++ b/src/main/java/org/scijava/util/Colors.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/CombineAnnotations.java b/src/main/java/org/scijava/util/CombineAnnotations.java index 1b4676bca..002659f4a 100644 --- a/src/main/java/org/scijava/util/CombineAnnotations.java +++ b/src/main/java/org/scijava/util/CombineAnnotations.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Combiner.java b/src/main/java/org/scijava/util/Combiner.java index b8f4c25a7..e4babbe96 100644 --- a/src/main/java/org/scijava/util/Combiner.java +++ b/src/main/java/org/scijava/util/Combiner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ConversionUtils.java b/src/main/java/org/scijava/util/ConversionUtils.java index a90039651..99b30254c 100644 --- a/src/main/java/org/scijava/util/ConversionUtils.java +++ b/src/main/java/org/scijava/util/ConversionUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/DebugUtils.java b/src/main/java/org/scijava/util/DebugUtils.java index f2d3a3de5..4e88f180b 100644 --- a/src/main/java/org/scijava/util/DebugUtils.java +++ b/src/main/java/org/scijava/util/DebugUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/DefaultTreeNode.java b/src/main/java/org/scijava/util/DefaultTreeNode.java index 7b2e2f529..db60c7673 100644 --- a/src/main/java/org/scijava/util/DefaultTreeNode.java +++ b/src/main/java/org/scijava/util/DefaultTreeNode.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/DigestUtils.java b/src/main/java/org/scijava/util/DigestUtils.java index cc862f321..b78af02ae 100644 --- a/src/main/java/org/scijava/util/DigestUtils.java +++ b/src/main/java/org/scijava/util/DigestUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/DoubleArray.java b/src/main/java/org/scijava/util/DoubleArray.java index b54ed91e3..928d62af6 100644 --- a/src/main/java/org/scijava/util/DoubleArray.java +++ b/src/main/java/org/scijava/util/DoubleArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/FileUtils.java b/src/main/java/org/scijava/util/FileUtils.java index cd1eb3781..4de14f37f 100644 --- a/src/main/java/org/scijava/util/FileUtils.java +++ b/src/main/java/org/scijava/util/FileUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/FloatArray.java b/src/main/java/org/scijava/util/FloatArray.java index e3eab4d3d..f232814d6 100644 --- a/src/main/java/org/scijava/util/FloatArray.java +++ b/src/main/java/org/scijava/util/FloatArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/GenericUtils.java b/src/main/java/org/scijava/util/GenericUtils.java index b1e623e12..fd5d3e9a7 100644 --- a/src/main/java/org/scijava/util/GenericUtils.java +++ b/src/main/java/org/scijava/util/GenericUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/IntArray.java b/src/main/java/org/scijava/util/IntArray.java index 491dbdc35..6d0086a17 100644 --- a/src/main/java/org/scijava/util/IntArray.java +++ b/src/main/java/org/scijava/util/IntArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/IntCoords.java b/src/main/java/org/scijava/util/IntCoords.java index 3232d6634..80d18eafc 100644 --- a/src/main/java/org/scijava/util/IntCoords.java +++ b/src/main/java/org/scijava/util/IntCoords.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/IntRect.java b/src/main/java/org/scijava/util/IntRect.java index 0d6c621cd..508fc5eeb 100644 --- a/src/main/java/org/scijava/util/IntRect.java +++ b/src/main/java/org/scijava/util/IntRect.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/IteratorPlus.java b/src/main/java/org/scijava/util/IteratorPlus.java index 07a2699a1..990246fd9 100644 --- a/src/main/java/org/scijava/util/IteratorPlus.java +++ b/src/main/java/org/scijava/util/IteratorPlus.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/LastRecentlyUsed.java b/src/main/java/org/scijava/util/LastRecentlyUsed.java index baa11ea6d..84ea1ecb8 100644 --- a/src/main/java/org/scijava/util/LastRecentlyUsed.java +++ b/src/main/java/org/scijava/util/LastRecentlyUsed.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/LineOutputStream.java b/src/main/java/org/scijava/util/LineOutputStream.java index befb5c3d8..38b014a14 100644 --- a/src/main/java/org/scijava/util/LineOutputStream.java +++ b/src/main/java/org/scijava/util/LineOutputStream.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ListUtils.java b/src/main/java/org/scijava/util/ListUtils.java index 781980da9..170124839 100644 --- a/src/main/java/org/scijava/util/ListUtils.java +++ b/src/main/java/org/scijava/util/ListUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/LongArray.java b/src/main/java/org/scijava/util/LongArray.java index e8fdab952..61ffed4a9 100644 --- a/src/main/java/org/scijava/util/LongArray.java +++ b/src/main/java/org/scijava/util/LongArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Manifest.java b/src/main/java/org/scijava/util/Manifest.java index 460becff0..807eaa05f 100644 --- a/src/main/java/org/scijava/util/Manifest.java +++ b/src/main/java/org/scijava/util/Manifest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/MersenneTwisterFast.java b/src/main/java/org/scijava/util/MersenneTwisterFast.java index 8b781c8e9..2abb4d206 100644 --- a/src/main/java/org/scijava/util/MersenneTwisterFast.java +++ b/src/main/java/org/scijava/util/MersenneTwisterFast.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/MetaInfCombiner.java b/src/main/java/org/scijava/util/MetaInfCombiner.java index 66df0b78b..745c39195 100644 --- a/src/main/java/org/scijava/util/MetaInfCombiner.java +++ b/src/main/java/org/scijava/util/MetaInfCombiner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/MirrorWebsite.java b/src/main/java/org/scijava/util/MirrorWebsite.java index 08e7f6ccb..d8f076e40 100644 --- a/src/main/java/org/scijava/util/MirrorWebsite.java +++ b/src/main/java/org/scijava/util/MirrorWebsite.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/MiscUtils.java b/src/main/java/org/scijava/util/MiscUtils.java index fffae00f5..492e2150e 100644 --- a/src/main/java/org/scijava/util/MiscUtils.java +++ b/src/main/java/org/scijava/util/MiscUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/NumberUtils.java b/src/main/java/org/scijava/util/NumberUtils.java index 1a77f54d6..ea9f684ac 100644 --- a/src/main/java/org/scijava/util/NumberUtils.java +++ b/src/main/java/org/scijava/util/NumberUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ObjectArray.java b/src/main/java/org/scijava/util/ObjectArray.java index 252a551a1..2564da853 100644 --- a/src/main/java/org/scijava/util/ObjectArray.java +++ b/src/main/java/org/scijava/util/ObjectArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/POM.java b/src/main/java/org/scijava/util/POM.java index 2517c09ed..8de96e17f 100644 --- a/src/main/java/org/scijava/util/POM.java +++ b/src/main/java/org/scijava/util/POM.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/PlatformUtils.java b/src/main/java/org/scijava/util/PlatformUtils.java index 1dbf798a0..d1b82104d 100644 --- a/src/main/java/org/scijava/util/PlatformUtils.java +++ b/src/main/java/org/scijava/util/PlatformUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Prefs.java b/src/main/java/org/scijava/util/Prefs.java index d013b489c..f946b587f 100644 --- a/src/main/java/org/scijava/util/Prefs.java +++ b/src/main/java/org/scijava/util/Prefs.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/PrimitiveArray.java b/src/main/java/org/scijava/util/PrimitiveArray.java index 694a5d1e2..8e72eb8ec 100644 --- a/src/main/java/org/scijava/util/PrimitiveArray.java +++ b/src/main/java/org/scijava/util/PrimitiveArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ProcessUtils.java b/src/main/java/org/scijava/util/ProcessUtils.java index 00be9935b..698b1ae78 100644 --- a/src/main/java/org/scijava/util/ProcessUtils.java +++ b/src/main/java/org/scijava/util/ProcessUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Query.java b/src/main/java/org/scijava/util/Query.java index eb9e40e13..2973c004e 100644 --- a/src/main/java/org/scijava/util/Query.java +++ b/src/main/java/org/scijava/util/Query.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ReadInto.java b/src/main/java/org/scijava/util/ReadInto.java index b6292da6a..5e822926b 100644 --- a/src/main/java/org/scijava/util/ReadInto.java +++ b/src/main/java/org/scijava/util/ReadInto.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/RealCoords.java b/src/main/java/org/scijava/util/RealCoords.java index bb2038ed5..d55f0cdfe 100644 --- a/src/main/java/org/scijava/util/RealCoords.java +++ b/src/main/java/org/scijava/util/RealCoords.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/RealRect.java b/src/main/java/org/scijava/util/RealRect.java index e39fe223e..c58fbb7a8 100644 --- a/src/main/java/org/scijava/util/RealRect.java +++ b/src/main/java/org/scijava/util/RealRect.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ReflectException.java b/src/main/java/org/scijava/util/ReflectException.java index 3dc5d5fde..2096b73cf 100644 --- a/src/main/java/org/scijava/util/ReflectException.java +++ b/src/main/java/org/scijava/util/ReflectException.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ReflectedUniverse.java b/src/main/java/org/scijava/util/ReflectedUniverse.java index 444f7aa13..53c0e0ab7 100644 --- a/src/main/java/org/scijava/util/ReflectedUniverse.java +++ b/src/main/java/org/scijava/util/ReflectedUniverse.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ServiceCombiner.java b/src/main/java/org/scijava/util/ServiceCombiner.java index d6d80b4d5..65bf24190 100644 --- a/src/main/java/org/scijava/util/ServiceCombiner.java +++ b/src/main/java/org/scijava/util/ServiceCombiner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ShortArray.java b/src/main/java/org/scijava/util/ShortArray.java index 967279cb8..50ca80a10 100644 --- a/src/main/java/org/scijava/util/ShortArray.java +++ b/src/main/java/org/scijava/util/ShortArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Sizable.java b/src/main/java/org/scijava/util/Sizable.java index 415e5cda8..b4939d7c8 100644 --- a/src/main/java/org/scijava/util/Sizable.java +++ b/src/main/java/org/scijava/util/Sizable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/SizableArrayList.java b/src/main/java/org/scijava/util/SizableArrayList.java index 56f37d9a3..163ae5939 100644 --- a/src/main/java/org/scijava/util/SizableArrayList.java +++ b/src/main/java/org/scijava/util/SizableArrayList.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/StringMaker.java b/src/main/java/org/scijava/util/StringMaker.java index 35e57613f..97af599da 100644 --- a/src/main/java/org/scijava/util/StringMaker.java +++ b/src/main/java/org/scijava/util/StringMaker.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/StringUtils.java b/src/main/java/org/scijava/util/StringUtils.java index 9bc7a5eb6..6516777b2 100644 --- a/src/main/java/org/scijava/util/StringUtils.java +++ b/src/main/java/org/scijava/util/StringUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Timing.java b/src/main/java/org/scijava/util/Timing.java index 3cb1b2ad9..d533840f6 100644 --- a/src/main/java/org/scijava/util/Timing.java +++ b/src/main/java/org/scijava/util/Timing.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/TreeNode.java b/src/main/java/org/scijava/util/TreeNode.java index 5bea3299e..a0ed8a293 100644 --- a/src/main/java/org/scijava/util/TreeNode.java +++ b/src/main/java/org/scijava/util/TreeNode.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/TunePlayer.java b/src/main/java/org/scijava/util/TunePlayer.java index 5b67f2573..a59e2019b 100644 --- a/src/main/java/org/scijava/util/TunePlayer.java +++ b/src/main/java/org/scijava/util/TunePlayer.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Types.java b/src/main/java/org/scijava/util/Types.java index 6044ba831..441516eaa 100644 --- a/src/main/java/org/scijava/util/Types.java +++ b/src/main/java/org/scijava/util/Types.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/UnitUtils.java b/src/main/java/org/scijava/util/UnitUtils.java index 55934b8be..1d45f7aac 100644 --- a/src/main/java/org/scijava/util/UnitUtils.java +++ b/src/main/java/org/scijava/util/UnitUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/VersionUtils.java b/src/main/java/org/scijava/util/VersionUtils.java index f207865b4..994a4aa71 100644 --- a/src/main/java/org/scijava/util/VersionUtils.java +++ b/src/main/java/org/scijava/util/VersionUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/XML.java b/src/main/java/org/scijava/util/XML.java index c9edda41b..e1b570d37 100644 --- a/src/main/java/org/scijava/util/XML.java +++ b/src/main/java/org/scijava/util/XML.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/welcome/DefaultWelcomeService.java b/src/main/java/org/scijava/welcome/DefaultWelcomeService.java index 70781baae..186b28260 100644 --- a/src/main/java/org/scijava/welcome/DefaultWelcomeService.java +++ b/src/main/java/org/scijava/welcome/DefaultWelcomeService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/welcome/WelcomeService.java b/src/main/java/org/scijava/welcome/WelcomeService.java index afababa6e..c7a1ec948 100644 --- a/src/main/java/org/scijava/welcome/WelcomeService.java +++ b/src/main/java/org/scijava/welcome/WelcomeService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/welcome/event/WelcomeEvent.java b/src/main/java/org/scijava/welcome/event/WelcomeEvent.java index b84d124b5..8ea1f3424 100644 --- a/src/main/java/org/scijava/welcome/event/WelcomeEvent.java +++ b/src/main/java/org/scijava/welcome/event/WelcomeEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/AbstractInputHarvester.java b/src/main/java/org/scijava/widget/AbstractInputHarvester.java index 52ee74ae9..1f65ae1d5 100644 --- a/src/main/java/org/scijava/widget/AbstractInputHarvester.java +++ b/src/main/java/org/scijava/widget/AbstractInputHarvester.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/AbstractInputPanel.java b/src/main/java/org/scijava/widget/AbstractInputPanel.java index da306e7f2..2a8bb49a5 100644 --- a/src/main/java/org/scijava/widget/AbstractInputPanel.java +++ b/src/main/java/org/scijava/widget/AbstractInputPanel.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/AbstractInputWidget.java b/src/main/java/org/scijava/widget/AbstractInputWidget.java index c62cfb201..f527847b0 100644 --- a/src/main/java/org/scijava/widget/AbstractInputWidget.java +++ b/src/main/java/org/scijava/widget/AbstractInputWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/Button.java b/src/main/java/org/scijava/widget/Button.java index fe268b23d..286cd1fb4 100644 --- a/src/main/java/org/scijava/widget/Button.java +++ b/src/main/java/org/scijava/widget/Button.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/ButtonWidget.java b/src/main/java/org/scijava/widget/ButtonWidget.java index 865a879c9..c869fc13e 100644 --- a/src/main/java/org/scijava/widget/ButtonWidget.java +++ b/src/main/java/org/scijava/widget/ButtonWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/ChoiceWidget.java b/src/main/java/org/scijava/widget/ChoiceWidget.java index 158119163..b900ac0ba 100644 --- a/src/main/java/org/scijava/widget/ChoiceWidget.java +++ b/src/main/java/org/scijava/widget/ChoiceWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/ColorWidget.java b/src/main/java/org/scijava/widget/ColorWidget.java index 15a835f02..84284a9dd 100644 --- a/src/main/java/org/scijava/widget/ColorWidget.java +++ b/src/main/java/org/scijava/widget/ColorWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/DateWidget.java b/src/main/java/org/scijava/widget/DateWidget.java index c58aacd41..d05049bf7 100644 --- a/src/main/java/org/scijava/widget/DateWidget.java +++ b/src/main/java/org/scijava/widget/DateWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/DefaultWidgetModel.java b/src/main/java/org/scijava/widget/DefaultWidgetModel.java index c30fbb0e3..229195289 100644 --- a/src/main/java/org/scijava/widget/DefaultWidgetModel.java +++ b/src/main/java/org/scijava/widget/DefaultWidgetModel.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/DefaultWidgetService.java b/src/main/java/org/scijava/widget/DefaultWidgetService.java index f41a248d4..2606eed13 100644 --- a/src/main/java/org/scijava/widget/DefaultWidgetService.java +++ b/src/main/java/org/scijava/widget/DefaultWidgetService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/FileListWidget.java b/src/main/java/org/scijava/widget/FileListWidget.java index 331344f76..d74ea12f5 100644 --- a/src/main/java/org/scijava/widget/FileListWidget.java +++ b/src/main/java/org/scijava/widget/FileListWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/FileWidget.java b/src/main/java/org/scijava/widget/FileWidget.java index dd2ea0aad..dc70e0ce1 100644 --- a/src/main/java/org/scijava/widget/FileWidget.java +++ b/src/main/java/org/scijava/widget/FileWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/InputHarvester.java b/src/main/java/org/scijava/widget/InputHarvester.java index 2c364e914..08b1a9fe3 100644 --- a/src/main/java/org/scijava/widget/InputHarvester.java +++ b/src/main/java/org/scijava/widget/InputHarvester.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/InputPanel.java b/src/main/java/org/scijava/widget/InputPanel.java index d13b01161..0813ee375 100644 --- a/src/main/java/org/scijava/widget/InputPanel.java +++ b/src/main/java/org/scijava/widget/InputPanel.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/InputWidget.java b/src/main/java/org/scijava/widget/InputWidget.java index 0e7bfc07a..43d931c01 100644 --- a/src/main/java/org/scijava/widget/InputWidget.java +++ b/src/main/java/org/scijava/widget/InputWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/MessageWidget.java b/src/main/java/org/scijava/widget/MessageWidget.java index 020ca8435..4092544eb 100644 --- a/src/main/java/org/scijava/widget/MessageWidget.java +++ b/src/main/java/org/scijava/widget/MessageWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/NumberWidget.java b/src/main/java/org/scijava/widget/NumberWidget.java index 39122cb03..886d423ea 100644 --- a/src/main/java/org/scijava/widget/NumberWidget.java +++ b/src/main/java/org/scijava/widget/NumberWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/ObjectWidget.java b/src/main/java/org/scijava/widget/ObjectWidget.java index fdde6e55a..2870ff270 100644 --- a/src/main/java/org/scijava/widget/ObjectWidget.java +++ b/src/main/java/org/scijava/widget/ObjectWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/TextWidget.java b/src/main/java/org/scijava/widget/TextWidget.java index 41f38498c..384523125 100644 --- a/src/main/java/org/scijava/widget/TextWidget.java +++ b/src/main/java/org/scijava/widget/TextWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/ToggleWidget.java b/src/main/java/org/scijava/widget/ToggleWidget.java index 7e128e7f5..bdb87913a 100644 --- a/src/main/java/org/scijava/widget/ToggleWidget.java +++ b/src/main/java/org/scijava/widget/ToggleWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/UIComponent.java b/src/main/java/org/scijava/widget/UIComponent.java index 9a5e636ba..54e38acb9 100644 --- a/src/main/java/org/scijava/widget/UIComponent.java +++ b/src/main/java/org/scijava/widget/UIComponent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/WidgetModel.java b/src/main/java/org/scijava/widget/WidgetModel.java index 3e8d9f953..83e8a2f9f 100644 --- a/src/main/java/org/scijava/widget/WidgetModel.java +++ b/src/main/java/org/scijava/widget/WidgetModel.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/WidgetService.java b/src/main/java/org/scijava/widget/WidgetService.java index 323c1f257..ef74c794a 100644 --- a/src/main/java/org/scijava/widget/WidgetService.java +++ b/src/main/java/org/scijava/widget/WidgetService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/WidgetStyle.java b/src/main/java/org/scijava/widget/WidgetStyle.java index 508f29e0a..ec5e1c466 100644 --- a/src/main/java/org/scijava/widget/WidgetStyle.java +++ b/src/main/java/org/scijava/widget/WidgetStyle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/ContextCreationTest.java b/src/test/java/org/scijava/ContextCreationTest.java index f34259805..b00b19dfb 100644 --- a/src/test/java/org/scijava/ContextCreationTest.java +++ b/src/test/java/org/scijava/ContextCreationTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/ContextInjectionTest.java b/src/test/java/org/scijava/ContextInjectionTest.java index ee6d087cf..b5b958a4e 100644 --- a/src/test/java/org/scijava/ContextInjectionTest.java +++ b/src/test/java/org/scijava/ContextInjectionTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/SciJavaTest.java b/src/test/java/org/scijava/SciJavaTest.java index fc7cb0db4..7e1f2866a 100644 --- a/src/test/java/org/scijava/SciJavaTest.java +++ b/src/test/java/org/scijava/SciJavaTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/AnnotatedA.java b/src/test/java/org/scijava/annotations/AnnotatedA.java index 7fdfba27e..1226a7e2b 100644 --- a/src/test/java/org/scijava/annotations/AnnotatedA.java +++ b/src/test/java/org/scijava/annotations/AnnotatedA.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/AnnotatedB.java b/src/test/java/org/scijava/annotations/AnnotatedB.java index 88103149c..7993d867a 100644 --- a/src/test/java/org/scijava/annotations/AnnotatedB.java +++ b/src/test/java/org/scijava/annotations/AnnotatedB.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/AnnotatedC.java b/src/test/java/org/scijava/annotations/AnnotatedC.java index 72c387845..5e50040a2 100644 --- a/src/test/java/org/scijava/annotations/AnnotatedC.java +++ b/src/test/java/org/scijava/annotations/AnnotatedC.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/AnnotatedD.java b/src/test/java/org/scijava/annotations/AnnotatedD.java index 242180095..7049ea841 100644 --- a/src/test/java/org/scijava/annotations/AnnotatedD.java +++ b/src/test/java/org/scijava/annotations/AnnotatedD.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/AnnotatedInnerClass.java b/src/test/java/org/scijava/annotations/AnnotatedInnerClass.java index 5acfd4beb..41e9a3849 100644 --- a/src/test/java/org/scijava/annotations/AnnotatedInnerClass.java +++ b/src/test/java/org/scijava/annotations/AnnotatedInnerClass.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/Complex.java b/src/test/java/org/scijava/annotations/Complex.java index e2348e92b..4d3b2ae4a 100644 --- a/src/test/java/org/scijava/annotations/Complex.java +++ b/src/test/java/org/scijava/annotations/Complex.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/DirectoryIndexerTest.java b/src/test/java/org/scijava/annotations/DirectoryIndexerTest.java index 3ad441f01..894dc5aa7 100644 --- a/src/test/java/org/scijava/annotations/DirectoryIndexerTest.java +++ b/src/test/java/org/scijava/annotations/DirectoryIndexerTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/EclipseHelperTest.java b/src/test/java/org/scijava/annotations/EclipseHelperTest.java index 204257bac..cffbc9228 100644 --- a/src/test/java/org/scijava/annotations/EclipseHelperTest.java +++ b/src/test/java/org/scijava/annotations/EclipseHelperTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/Fruit.java b/src/test/java/org/scijava/annotations/Fruit.java index bdc884e7d..28f04a12c 100644 --- a/src/test/java/org/scijava/annotations/Fruit.java +++ b/src/test/java/org/scijava/annotations/Fruit.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/LegacyTest.java b/src/test/java/org/scijava/annotations/LegacyTest.java index b1eea96ac..c12e8930c 100644 --- a/src/test/java/org/scijava/annotations/LegacyTest.java +++ b/src/test/java/org/scijava/annotations/LegacyTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/Simple.java b/src/test/java/org/scijava/annotations/Simple.java index 62eb0e389..2a0b751e3 100644 --- a/src/test/java/org/scijava/annotations/Simple.java +++ b/src/test/java/org/scijava/annotations/Simple.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/app/StatusServiceTest.java b/src/test/java/org/scijava/app/StatusServiceTest.java index 35630e00d..5dde120ff 100644 --- a/src/test/java/org/scijava/app/StatusServiceTest.java +++ b/src/test/java/org/scijava/app/StatusServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/command/CommandArrayConverterTest.java b/src/test/java/org/scijava/command/CommandArrayConverterTest.java index bdc0c1682..effe7a046 100644 --- a/src/test/java/org/scijava/command/CommandArrayConverterTest.java +++ b/src/test/java/org/scijava/command/CommandArrayConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/command/CommandInfoTest.java b/src/test/java/org/scijava/command/CommandInfoTest.java index fabad17f0..d7830f59e 100644 --- a/src/test/java/org/scijava/command/CommandInfoTest.java +++ b/src/test/java/org/scijava/command/CommandInfoTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/command/CommandModuleTest.java b/src/test/java/org/scijava/command/CommandModuleTest.java index 5620d4cd2..372ca5267 100644 --- a/src/test/java/org/scijava/command/CommandModuleTest.java +++ b/src/test/java/org/scijava/command/CommandModuleTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/command/CommandServiceTest.java b/src/test/java/org/scijava/command/CommandServiceTest.java index 521dae0f2..a66fe78e3 100644 --- a/src/test/java/org/scijava/command/CommandServiceTest.java +++ b/src/test/java/org/scijava/command/CommandServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/command/InputsTest.java b/src/test/java/org/scijava/command/InputsTest.java index 0ed5fbcee..a5387d6b9 100644 --- a/src/test/java/org/scijava/command/InputsTest.java +++ b/src/test/java/org/scijava/command/InputsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/command/InvalidCommandTest.java b/src/test/java/org/scijava/command/InvalidCommandTest.java index 7c9c4e509..3d5e11649 100644 --- a/src/test/java/org/scijava/command/InvalidCommandTest.java +++ b/src/test/java/org/scijava/command/InvalidCommandTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/command/run/CommandCodeRunnerTest.java b/src/test/java/org/scijava/command/run/CommandCodeRunnerTest.java index 8b94a4396..afde6646f 100644 --- a/src/test/java/org/scijava/command/run/CommandCodeRunnerTest.java +++ b/src/test/java/org/scijava/command/run/CommandCodeRunnerTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/console/ConsoleServiceTest.java b/src/test/java/org/scijava/console/ConsoleServiceTest.java index 7f6f9ce76..9bdb66ba4 100644 --- a/src/test/java/org/scijava/console/ConsoleServiceTest.java +++ b/src/test/java/org/scijava/console/ConsoleServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/console/SystemPropertyArgumentTest.java b/src/test/java/org/scijava/console/SystemPropertyArgumentTest.java index 1fa912c8d..830ad7047 100644 --- a/src/test/java/org/scijava/console/SystemPropertyArgumentTest.java +++ b/src/test/java/org/scijava/console/SystemPropertyArgumentTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/AbstractNumberConverterTests.java b/src/test/java/org/scijava/convert/AbstractNumberConverterTests.java index 5dd0fb908..1ab9f17d4 100644 --- a/src/test/java/org/scijava/convert/AbstractNumberConverterTests.java +++ b/src/test/java/org/scijava/convert/AbstractNumberConverterTests.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/BigIntegerToBigDecimalConverterTest.java b/src/test/java/org/scijava/convert/BigIntegerToBigDecimalConverterTest.java index 2b604398a..a345e9cbd 100644 --- a/src/test/java/org/scijava/convert/BigIntegerToBigDecimalConverterTest.java +++ b/src/test/java/org/scijava/convert/BigIntegerToBigDecimalConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ByteToBigDecimalConverterTest.java b/src/test/java/org/scijava/convert/ByteToBigDecimalConverterTest.java index 8ef681e1b..28ea79d65 100644 --- a/src/test/java/org/scijava/convert/ByteToBigDecimalConverterTest.java +++ b/src/test/java/org/scijava/convert/ByteToBigDecimalConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ByteToBigIntegerConverterTest.java b/src/test/java/org/scijava/convert/ByteToBigIntegerConverterTest.java index 2985dcd7a..fed7c84ce 100644 --- a/src/test/java/org/scijava/convert/ByteToBigIntegerConverterTest.java +++ b/src/test/java/org/scijava/convert/ByteToBigIntegerConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ByteToDoubleConverterTest.java b/src/test/java/org/scijava/convert/ByteToDoubleConverterTest.java index e62bd6741..3b33abecb 100644 --- a/src/test/java/org/scijava/convert/ByteToDoubleConverterTest.java +++ b/src/test/java/org/scijava/convert/ByteToDoubleConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ByteToFloatConverterTest.java b/src/test/java/org/scijava/convert/ByteToFloatConverterTest.java index 8c003a1de..4395c5789 100644 --- a/src/test/java/org/scijava/convert/ByteToFloatConverterTest.java +++ b/src/test/java/org/scijava/convert/ByteToFloatConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ByteToIntegerConverterTest.java b/src/test/java/org/scijava/convert/ByteToIntegerConverterTest.java index 0d3388b30..61724ec62 100644 --- a/src/test/java/org/scijava/convert/ByteToIntegerConverterTest.java +++ b/src/test/java/org/scijava/convert/ByteToIntegerConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ByteToLongConverterTest.java b/src/test/java/org/scijava/convert/ByteToLongConverterTest.java index 3d60ed5c8..00866555b 100644 --- a/src/test/java/org/scijava/convert/ByteToLongConverterTest.java +++ b/src/test/java/org/scijava/convert/ByteToLongConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ByteToShortConverterTest.java b/src/test/java/org/scijava/convert/ByteToShortConverterTest.java index 4cf3772de..2c307dcce 100644 --- a/src/test/java/org/scijava/convert/ByteToShortConverterTest.java +++ b/src/test/java/org/scijava/convert/ByteToShortConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ConvertServiceTest.java b/src/test/java/org/scijava/convert/ConvertServiceTest.java index 75553f0a6..cca1b2acc 100644 --- a/src/test/java/org/scijava/convert/ConvertServiceTest.java +++ b/src/test/java/org/scijava/convert/ConvertServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ConverterTest.java b/src/test/java/org/scijava/convert/ConverterTest.java index af7e64dbf..dd96e6191 100644 --- a/src/test/java/org/scijava/convert/ConverterTest.java +++ b/src/test/java/org/scijava/convert/ConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/DelegateConverterTest.java b/src/test/java/org/scijava/convert/DelegateConverterTest.java index d85d11090..045eabd6a 100644 --- a/src/test/java/org/scijava/convert/DelegateConverterTest.java +++ b/src/test/java/org/scijava/convert/DelegateConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/DoubleToBigDecimalConverterTest.java b/src/test/java/org/scijava/convert/DoubleToBigDecimalConverterTest.java index c235a8005..ed092262e 100644 --- a/src/test/java/org/scijava/convert/DoubleToBigDecimalConverterTest.java +++ b/src/test/java/org/scijava/convert/DoubleToBigDecimalConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/FileListConverterTest.java b/src/test/java/org/scijava/convert/FileListConverterTest.java index 95ecad501..632e82f4a 100644 --- a/src/test/java/org/scijava/convert/FileListConverterTest.java +++ b/src/test/java/org/scijava/convert/FileListConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/FloatToBigDecimalConverterTest.java b/src/test/java/org/scijava/convert/FloatToBigDecimalConverterTest.java index bc32f0223..0be67f354 100644 --- a/src/test/java/org/scijava/convert/FloatToBigDecimalConverterTest.java +++ b/src/test/java/org/scijava/convert/FloatToBigDecimalConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/FloatToDoubleConverterTest.java b/src/test/java/org/scijava/convert/FloatToDoubleConverterTest.java index 8c54546ba..245ba6233 100644 --- a/src/test/java/org/scijava/convert/FloatToDoubleConverterTest.java +++ b/src/test/java/org/scijava/convert/FloatToDoubleConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/IntegerToBigDecimalConverterTest.java b/src/test/java/org/scijava/convert/IntegerToBigDecimalConverterTest.java index 19325bd76..ffe7dc17b 100644 --- a/src/test/java/org/scijava/convert/IntegerToBigDecimalConverterTest.java +++ b/src/test/java/org/scijava/convert/IntegerToBigDecimalConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/IntegerToBigIntegerConverterTest.java b/src/test/java/org/scijava/convert/IntegerToBigIntegerConverterTest.java index 5517d4fa3..76690b449 100644 --- a/src/test/java/org/scijava/convert/IntegerToBigIntegerConverterTest.java +++ b/src/test/java/org/scijava/convert/IntegerToBigIntegerConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/IntegerToDoubleConverterTest.java b/src/test/java/org/scijava/convert/IntegerToDoubleConverterTest.java index bfdadf07b..9f4555224 100644 --- a/src/test/java/org/scijava/convert/IntegerToDoubleConverterTest.java +++ b/src/test/java/org/scijava/convert/IntegerToDoubleConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/IntegerToLongConverterTest.java b/src/test/java/org/scijava/convert/IntegerToLongConverterTest.java index 312a85679..1552f8da7 100644 --- a/src/test/java/org/scijava/convert/IntegerToLongConverterTest.java +++ b/src/test/java/org/scijava/convert/IntegerToLongConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/LongToBigDecimalConverterTest.java b/src/test/java/org/scijava/convert/LongToBigDecimalConverterTest.java index 091132b8a..929eb9bf7 100644 --- a/src/test/java/org/scijava/convert/LongToBigDecimalConverterTest.java +++ b/src/test/java/org/scijava/convert/LongToBigDecimalConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/LongToBigIntegerConverterTest.java b/src/test/java/org/scijava/convert/LongToBigIntegerConverterTest.java index 79031df8d..69fcb27bc 100644 --- a/src/test/java/org/scijava/convert/LongToBigIntegerConverterTest.java +++ b/src/test/java/org/scijava/convert/LongToBigIntegerConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ShortToBigDecimalConverterTest.java b/src/test/java/org/scijava/convert/ShortToBigDecimalConverterTest.java index 94f762a12..fb8dfae28 100644 --- a/src/test/java/org/scijava/convert/ShortToBigDecimalConverterTest.java +++ b/src/test/java/org/scijava/convert/ShortToBigDecimalConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ShortToBigIntegerConverterTest.java b/src/test/java/org/scijava/convert/ShortToBigIntegerConverterTest.java index ea1e57231..d0c4d67ee 100644 --- a/src/test/java/org/scijava/convert/ShortToBigIntegerConverterTest.java +++ b/src/test/java/org/scijava/convert/ShortToBigIntegerConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ShortToDoubleConverterTest.java b/src/test/java/org/scijava/convert/ShortToDoubleConverterTest.java index de2cc0830..a7befa860 100644 --- a/src/test/java/org/scijava/convert/ShortToDoubleConverterTest.java +++ b/src/test/java/org/scijava/convert/ShortToDoubleConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ShortToFloatConverterTest.java b/src/test/java/org/scijava/convert/ShortToFloatConverterTest.java index 3990fd988..2ce0c775b 100644 --- a/src/test/java/org/scijava/convert/ShortToFloatConverterTest.java +++ b/src/test/java/org/scijava/convert/ShortToFloatConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ShortToIntegerConverterTest.java b/src/test/java/org/scijava/convert/ShortToIntegerConverterTest.java index 4447698b8..cb8505498 100644 --- a/src/test/java/org/scijava/convert/ShortToIntegerConverterTest.java +++ b/src/test/java/org/scijava/convert/ShortToIntegerConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ShortToLongConverterTest.java b/src/test/java/org/scijava/convert/ShortToLongConverterTest.java index b41a7f34e..b9ca04268 100644 --- a/src/test/java/org/scijava/convert/ShortToLongConverterTest.java +++ b/src/test/java/org/scijava/convert/ShortToLongConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/display/DisplayTest.java b/src/test/java/org/scijava/display/DisplayTest.java index ebf9badd2..bb862450c 100644 --- a/src/test/java/org/scijava/display/DisplayTest.java +++ b/src/test/java/org/scijava/display/DisplayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/download/DownloadServiceTest.java b/src/test/java/org/scijava/download/DownloadServiceTest.java index b825cb23a..adf5fad02 100644 --- a/src/test/java/org/scijava/download/DownloadServiceTest.java +++ b/src/test/java/org/scijava/download/DownloadServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/event/EventServiceTest.java b/src/test/java/org/scijava/event/EventServiceTest.java index 06c43b617..c1e6e74e3 100644 --- a/src/test/java/org/scijava/event/EventServiceTest.java +++ b/src/test/java/org/scijava/event/EventServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/ByteArrayByteBankTest.java b/src/test/java/org/scijava/io/ByteArrayByteBankTest.java index ea9a55f08..e7ee584eb 100644 --- a/src/test/java/org/scijava/io/ByteArrayByteBankTest.java +++ b/src/test/java/org/scijava/io/ByteArrayByteBankTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/ByteBankTest.java b/src/test/java/org/scijava/io/ByteBankTest.java index 51836b92c..2c69cd595 100644 --- a/src/test/java/org/scijava/io/ByteBankTest.java +++ b/src/test/java/org/scijava/io/ByteBankTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/IOServiceTest.java b/src/test/java/org/scijava/io/IOServiceTest.java index 5a6888c6e..68ceb121a 100644 --- a/src/test/java/org/scijava/io/IOServiceTest.java +++ b/src/test/java/org/scijava/io/IOServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/TypedIOServiceTest.java b/src/test/java/org/scijava/io/TypedIOServiceTest.java index dbbccebd2..8e100352c 100644 --- a/src/test/java/org/scijava/io/TypedIOServiceTest.java +++ b/src/test/java/org/scijava/io/TypedIOServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/event/DataEventTest.java b/src/test/java/org/scijava/io/event/DataEventTest.java index 961fcca13..477f6be79 100644 --- a/src/test/java/org/scijava/io/event/DataEventTest.java +++ b/src/test/java/org/scijava/io/event/DataEventTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/handle/BytesHandleTest.java b/src/test/java/org/scijava/io/handle/BytesHandleTest.java index 75777d74e..9e023e1be 100644 --- a/src/test/java/org/scijava/io/handle/BytesHandleTest.java +++ b/src/test/java/org/scijava/io/handle/BytesHandleTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/handle/DataHandleEdgeCaseTests.java b/src/test/java/org/scijava/io/handle/DataHandleEdgeCaseTests.java index 33e77b6ff..abc9d99a8 100644 --- a/src/test/java/org/scijava/io/handle/DataHandleEdgeCaseTests.java +++ b/src/test/java/org/scijava/io/handle/DataHandleEdgeCaseTests.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/handle/DataHandleTest.java b/src/test/java/org/scijava/io/handle/DataHandleTest.java index b3b0335e8..d62bdca7f 100644 --- a/src/test/java/org/scijava/io/handle/DataHandleTest.java +++ b/src/test/java/org/scijava/io/handle/DataHandleTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/handle/DataHandlesTest.java b/src/test/java/org/scijava/io/handle/DataHandlesTest.java index 4da36f681..7aa81bfb1 100644 --- a/src/test/java/org/scijava/io/handle/DataHandlesTest.java +++ b/src/test/java/org/scijava/io/handle/DataHandlesTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/handle/FileHandleTest.java b/src/test/java/org/scijava/io/handle/FileHandleTest.java index 408481690..8b405416c 100644 --- a/src/test/java/org/scijava/io/handle/FileHandleTest.java +++ b/src/test/java/org/scijava/io/handle/FileHandleTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/handle/ReadBufferDataHandleMockTest.java b/src/test/java/org/scijava/io/handle/ReadBufferDataHandleMockTest.java index aeea4acaa..13a93571e 100644 --- a/src/test/java/org/scijava/io/handle/ReadBufferDataHandleMockTest.java +++ b/src/test/java/org/scijava/io/handle/ReadBufferDataHandleMockTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/handle/ReadBufferDataHandleTest.java b/src/test/java/org/scijava/io/handle/ReadBufferDataHandleTest.java index 4885c44f5..bd1a9ed14 100644 --- a/src/test/java/org/scijava/io/handle/ReadBufferDataHandleTest.java +++ b/src/test/java/org/scijava/io/handle/ReadBufferDataHandleTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/handle/WriteBufferDataHandleTest.java b/src/test/java/org/scijava/io/handle/WriteBufferDataHandleTest.java index 894e2c831..b9295187e 100644 --- a/src/test/java/org/scijava/io/handle/WriteBufferDataHandleTest.java +++ b/src/test/java/org/scijava/io/handle/WriteBufferDataHandleTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/location/BytesLocationTest.java b/src/test/java/org/scijava/io/location/BytesLocationTest.java index ae7d7693c..f7f26c67e 100644 --- a/src/test/java/org/scijava/io/location/BytesLocationTest.java +++ b/src/test/java/org/scijava/io/location/BytesLocationTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/location/FileLocationResolverTest.java b/src/test/java/org/scijava/io/location/FileLocationResolverTest.java index f61e64659..f3326660a 100644 --- a/src/test/java/org/scijava/io/location/FileLocationResolverTest.java +++ b/src/test/java/org/scijava/io/location/FileLocationResolverTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/location/FileLocationTest.java b/src/test/java/org/scijava/io/location/FileLocationTest.java index dfdfc5e69..cb7562977 100644 --- a/src/test/java/org/scijava/io/location/FileLocationTest.java +++ b/src/test/java/org/scijava/io/location/FileLocationTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/location/LocationServiceTest.java b/src/test/java/org/scijava/io/location/LocationServiceTest.java index 032fbe403..feb628fa4 100644 --- a/src/test/java/org/scijava/io/location/LocationServiceTest.java +++ b/src/test/java/org/scijava/io/location/LocationServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/location/URILocationTest.java b/src/test/java/org/scijava/io/location/URILocationTest.java index 02d561c89..08c886467 100644 --- a/src/test/java/org/scijava/io/location/URILocationTest.java +++ b/src/test/java/org/scijava/io/location/URILocationTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/location/URLLocationTest.java b/src/test/java/org/scijava/io/location/URLLocationTest.java index 487673059..9b939f4a1 100644 --- a/src/test/java/org/scijava/io/location/URLLocationTest.java +++ b/src/test/java/org/scijava/io/location/URLLocationTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/nio/ByteBufferByteBankTest.java b/src/test/java/org/scijava/io/nio/ByteBufferByteBankTest.java index 023b403f6..90919ed48 100644 --- a/src/test/java/org/scijava/io/nio/ByteBufferByteBankTest.java +++ b/src/test/java/org/scijava/io/nio/ByteBufferByteBankTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/log/CallingClassUtilsTest.java b/src/test/java/org/scijava/log/CallingClassUtilsTest.java index 69a8e3dcd..a5893c905 100644 --- a/src/test/java/org/scijava/log/CallingClassUtilsTest.java +++ b/src/test/java/org/scijava/log/CallingClassUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/log/DefaultLoggerTest.java b/src/test/java/org/scijava/log/DefaultLoggerTest.java index dbdbfe16d..865e306aa 100644 --- a/src/test/java/org/scijava/log/DefaultLoggerTest.java +++ b/src/test/java/org/scijava/log/DefaultLoggerTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/log/LogMessageTest.java b/src/test/java/org/scijava/log/LogMessageTest.java index 199768671..733e28ff5 100644 --- a/src/test/java/org/scijava/log/LogMessageTest.java +++ b/src/test/java/org/scijava/log/LogMessageTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/log/LogServiceTest.java b/src/test/java/org/scijava/log/LogServiceTest.java index 700d6a173..fccbc18fb 100644 --- a/src/test/java/org/scijava/log/LogServiceTest.java +++ b/src/test/java/org/scijava/log/LogServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/log/LogSourceTest.java b/src/test/java/org/scijava/log/LogSourceTest.java index d8096fd27..848a5e17d 100644 --- a/src/test/java/org/scijava/log/LogSourceTest.java +++ b/src/test/java/org/scijava/log/LogSourceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/log/StderrLogServiceTest.java b/src/test/java/org/scijava/log/StderrLogServiceTest.java index f18bbb3cb..00d3a698b 100644 --- a/src/test/java/org/scijava/log/StderrLogServiceTest.java +++ b/src/test/java/org/scijava/log/StderrLogServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/log/TestLogListener.java b/src/test/java/org/scijava/log/TestLogListener.java index 626d4e5dd..ef6224cfa 100644 --- a/src/test/java/org/scijava/log/TestLogListener.java +++ b/src/test/java/org/scijava/log/TestLogListener.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/main/MainServiceTest.java b/src/test/java/org/scijava/main/MainServiceTest.java index 296008e36..e96794ed8 100644 --- a/src/test/java/org/scijava/main/MainServiceTest.java +++ b/src/test/java/org/scijava/main/MainServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/main/run/MainCodeRunnerTest.java b/src/test/java/org/scijava/main/run/MainCodeRunnerTest.java index 961a21211..eaf05da9b 100644 --- a/src/test/java/org/scijava/main/run/MainCodeRunnerTest.java +++ b/src/test/java/org/scijava/main/run/MainCodeRunnerTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/menu/MenuServiceTest.java b/src/test/java/org/scijava/menu/MenuServiceTest.java index c098f4ad0..d3c7428d5 100644 --- a/src/test/java/org/scijava/menu/MenuServiceTest.java +++ b/src/test/java/org/scijava/menu/MenuServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/menu/ShadowMenuTest.java b/src/test/java/org/scijava/menu/ShadowMenuTest.java index 4387f23e1..f24093192 100644 --- a/src/test/java/org/scijava/menu/ShadowMenuTest.java +++ b/src/test/java/org/scijava/menu/ShadowMenuTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/module/ModuleServiceTest.java b/src/test/java/org/scijava/module/ModuleServiceTest.java index e41fd82ab..b7f94ca7a 100644 --- a/src/test/java/org/scijava/module/ModuleServiceTest.java +++ b/src/test/java/org/scijava/module/ModuleServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/module/process/LoggerPreprocessorTest.java b/src/test/java/org/scijava/module/process/LoggerPreprocessorTest.java index 98ab6288a..a0dd141ff 100644 --- a/src/test/java/org/scijava/module/process/LoggerPreprocessorTest.java +++ b/src/test/java/org/scijava/module/process/LoggerPreprocessorTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/module/run/ModuleCodeRunnerTest.java b/src/test/java/org/scijava/module/run/ModuleCodeRunnerTest.java index d3249eb30..3425c654b 100644 --- a/src/test/java/org/scijava/module/run/ModuleCodeRunnerTest.java +++ b/src/test/java/org/scijava/module/run/ModuleCodeRunnerTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/object/NamedObjectIndexTest.java b/src/test/java/org/scijava/object/NamedObjectIndexTest.java index 7375ab0b4..ad5fd4aa7 100644 --- a/src/test/java/org/scijava/object/NamedObjectIndexTest.java +++ b/src/test/java/org/scijava/object/NamedObjectIndexTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/object/ObjectIndexTest.java b/src/test/java/org/scijava/object/ObjectIndexTest.java index 244fce9ca..e81c87e1f 100644 --- a/src/test/java/org/scijava/object/ObjectIndexTest.java +++ b/src/test/java/org/scijava/object/ObjectIndexTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/object/ObjectServiceTest.java b/src/test/java/org/scijava/object/ObjectServiceTest.java index cfaf44c7a..321a402cb 100644 --- a/src/test/java/org/scijava/object/ObjectServiceTest.java +++ b/src/test/java/org/scijava/object/ObjectServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/object/SortedObjectIndexTest.java b/src/test/java/org/scijava/object/SortedObjectIndexTest.java index 63f966fe4..61894ab78 100644 --- a/src/test/java/org/scijava/object/SortedObjectIndexTest.java +++ b/src/test/java/org/scijava/object/SortedObjectIndexTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/options/OptionsTest.java b/src/test/java/org/scijava/options/OptionsTest.java index d83de80e8..3ed1d5f08 100644 --- a/src/test/java/org/scijava/options/OptionsTest.java +++ b/src/test/java/org/scijava/options/OptionsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/parse/ParseServiceTest.java b/src/test/java/org/scijava/parse/ParseServiceTest.java index 7f1b3070a..a5053766c 100644 --- a/src/test/java/org/scijava/parse/ParseServiceTest.java +++ b/src/test/java/org/scijava/parse/ParseServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/plugin/PluginFinderTest.java b/src/test/java/org/scijava/plugin/PluginFinderTest.java index 28790ae03..004165143 100644 --- a/src/test/java/org/scijava/plugin/PluginFinderTest.java +++ b/src/test/java/org/scijava/plugin/PluginFinderTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/plugin/PluginIndexTest.java b/src/test/java/org/scijava/plugin/PluginIndexTest.java index 5d44ea093..485484287 100644 --- a/src/test/java/org/scijava/plugin/PluginIndexTest.java +++ b/src/test/java/org/scijava/plugin/PluginIndexTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/plugin/PluginInfoTest.java b/src/test/java/org/scijava/plugin/PluginInfoTest.java index abb5b7fbc..c7e2fbea5 100644 --- a/src/test/java/org/scijava/plugin/PluginInfoTest.java +++ b/src/test/java/org/scijava/plugin/PluginInfoTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/plugin/SingletonServiceTest.java b/src/test/java/org/scijava/plugin/SingletonServiceTest.java index 2f00f5020..a4eabeec7 100644 --- a/src/test/java/org/scijava/plugin/SingletonServiceTest.java +++ b/src/test/java/org/scijava/plugin/SingletonServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/prefs/PrefServiceTest.java b/src/test/java/org/scijava/prefs/PrefServiceTest.java index 5797cab0f..1f2ee361a 100644 --- a/src/test/java/org/scijava/prefs/PrefServiceTest.java +++ b/src/test/java/org/scijava/prefs/PrefServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/run/RunServiceTest.java b/src/test/java/org/scijava/run/RunServiceTest.java index b8bdbce28..5b0189b7b 100644 --- a/src/test/java/org/scijava/run/RunServiceTest.java +++ b/src/test/java/org/scijava/run/RunServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/script/AbstractScriptLanguageTest.java b/src/test/java/org/scijava/script/AbstractScriptLanguageTest.java index 1b67d8fc1..42d0a0707 100644 --- a/src/test/java/org/scijava/script/AbstractScriptLanguageTest.java +++ b/src/test/java/org/scijava/script/AbstractScriptLanguageTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/script/ScriptEngineTest.java b/src/test/java/org/scijava/script/ScriptEngineTest.java index c6ee8830c..62914f64a 100644 --- a/src/test/java/org/scijava/script/ScriptEngineTest.java +++ b/src/test/java/org/scijava/script/ScriptEngineTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/script/ScriptFinderTest.java b/src/test/java/org/scijava/script/ScriptFinderTest.java index 8979affba..5c77988a6 100644 --- a/src/test/java/org/scijava/script/ScriptFinderTest.java +++ b/src/test/java/org/scijava/script/ScriptFinderTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/script/ScriptInfoTest.java b/src/test/java/org/scijava/script/ScriptInfoTest.java index 43750e601..53691a948 100644 --- a/src/test/java/org/scijava/script/ScriptInfoTest.java +++ b/src/test/java/org/scijava/script/ScriptInfoTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/script/ScriptServiceTest.java b/src/test/java/org/scijava/script/ScriptServiceTest.java index ab774845f..f3dda2de3 100644 --- a/src/test/java/org/scijava/script/ScriptServiceTest.java +++ b/src/test/java/org/scijava/script/ScriptServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/script/process/ParameterScriptProcessorTest.java b/src/test/java/org/scijava/script/process/ParameterScriptProcessorTest.java index 1f9cbde21..3256d6062 100644 --- a/src/test/java/org/scijava/script/process/ParameterScriptProcessorTest.java +++ b/src/test/java/org/scijava/script/process/ParameterScriptProcessorTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/service/ServiceIndexTest.java b/src/test/java/org/scijava/service/ServiceIndexTest.java index fa5d07512..af260c4ca 100644 --- a/src/test/java/org/scijava/service/ServiceIndexTest.java +++ b/src/test/java/org/scijava/service/ServiceIndexTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/task/TaskEventTest.java b/src/test/java/org/scijava/task/TaskEventTest.java index 9a0b2f71f..5ef418894 100644 --- a/src/test/java/org/scijava/task/TaskEventTest.java +++ b/src/test/java/org/scijava/task/TaskEventTest.java @@ -1,3 +1,31 @@ +/*- + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2022 SciJava developers. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ package org.scijava.task; import org.junit.After; @@ -103,4 +131,4 @@ public synchronized Set getLeftOvers() { return new HashSet<>(tasks); } } -} \ No newline at end of file +} diff --git a/src/test/java/org/scijava/task/TaskServiceTest.java b/src/test/java/org/scijava/task/TaskServiceTest.java index 2471cdaa1..7f6705495 100644 --- a/src/test/java/org/scijava/task/TaskServiceTest.java +++ b/src/test/java/org/scijava/task/TaskServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/test/AbstractSciJavaTest.java b/src/test/java/org/scijava/test/AbstractSciJavaTest.java index 2ba9fa0ea..ae0e45338 100644 --- a/src/test/java/org/scijava/test/AbstractSciJavaTest.java +++ b/src/test/java/org/scijava/test/AbstractSciJavaTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/test/TestUtilsTest.java b/src/test/java/org/scijava/test/TestUtilsTest.java index 38058c958..31eee18d4 100644 --- a/src/test/java/org/scijava/test/TestUtilsTest.java +++ b/src/test/java/org/scijava/test/TestUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/thread/ThreadServiceTest.java b/src/test/java/org/scijava/thread/ThreadServiceTest.java index dcdc5822b..0e92db904 100644 --- a/src/test/java/org/scijava/thread/ThreadServiceTest.java +++ b/src/test/java/org/scijava/thread/ThreadServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/ui/UIServiceTest.java b/src/test/java/org/scijava/ui/UIServiceTest.java index 66c9fb892..815b186d4 100644 --- a/src/test/java/org/scijava/ui/UIServiceTest.java +++ b/src/test/java/org/scijava/ui/UIServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/AppUtilsTest.java b/src/test/java/org/scijava/util/AppUtilsTest.java index e951aefc1..ddf392bec 100644 --- a/src/test/java/org/scijava/util/AppUtilsTest.java +++ b/src/test/java/org/scijava/util/AppUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/ArrayUtilsTest.java b/src/test/java/org/scijava/util/ArrayUtilsTest.java index 20c7b1e04..c31e809a1 100644 --- a/src/test/java/org/scijava/util/ArrayUtilsTest.java +++ b/src/test/java/org/scijava/util/ArrayUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/BoolArrayTest.java b/src/test/java/org/scijava/util/BoolArrayTest.java index 54ff4f062..51c5f6b4c 100644 --- a/src/test/java/org/scijava/util/BoolArrayTest.java +++ b/src/test/java/org/scijava/util/BoolArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/ByteArrayTest.java b/src/test/java/org/scijava/util/ByteArrayTest.java index 7897f5a46..31287b2a6 100644 --- a/src/test/java/org/scijava/util/ByteArrayTest.java +++ b/src/test/java/org/scijava/util/ByteArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/CharArrayTest.java b/src/test/java/org/scijava/util/CharArrayTest.java index 65bd49e8f..343a64b80 100644 --- a/src/test/java/org/scijava/util/CharArrayTest.java +++ b/src/test/java/org/scijava/util/CharArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/ClassUtilsTest.java b/src/test/java/org/scijava/util/ClassUtilsTest.java index 5276f427c..35e9c134e 100644 --- a/src/test/java/org/scijava/util/ClassUtilsTest.java +++ b/src/test/java/org/scijava/util/ClassUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/ColorRGBTest.java b/src/test/java/org/scijava/util/ColorRGBTest.java index f4925301a..4f3f68323 100644 --- a/src/test/java/org/scijava/util/ColorRGBTest.java +++ b/src/test/java/org/scijava/util/ColorRGBTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/ConversionUtilsTest.java b/src/test/java/org/scijava/util/ConversionUtilsTest.java index 4406e2cda..d04118628 100644 --- a/src/test/java/org/scijava/util/ConversionUtilsTest.java +++ b/src/test/java/org/scijava/util/ConversionUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/DigestUtilsTest.java b/src/test/java/org/scijava/util/DigestUtilsTest.java index a0dbd98e3..657ee757d 100644 --- a/src/test/java/org/scijava/util/DigestUtilsTest.java +++ b/src/test/java/org/scijava/util/DigestUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/DoubleArrayTest.java b/src/test/java/org/scijava/util/DoubleArrayTest.java index cfe85860c..093adb0a8 100644 --- a/src/test/java/org/scijava/util/DoubleArrayTest.java +++ b/src/test/java/org/scijava/util/DoubleArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/FileUtilsTest.java b/src/test/java/org/scijava/util/FileUtilsTest.java index 89e83b4a9..dab013e7a 100644 --- a/src/test/java/org/scijava/util/FileUtilsTest.java +++ b/src/test/java/org/scijava/util/FileUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/FloatArrayTest.java b/src/test/java/org/scijava/util/FloatArrayTest.java index 72a8350f0..b5bc6801e 100644 --- a/src/test/java/org/scijava/util/FloatArrayTest.java +++ b/src/test/java/org/scijava/util/FloatArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/GenericArrayTypesTest.java b/src/test/java/org/scijava/util/GenericArrayTypesTest.java index fdf443b05..73e6046df 100644 --- a/src/test/java/org/scijava/util/GenericArrayTypesTest.java +++ b/src/test/java/org/scijava/util/GenericArrayTypesTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/IntArrayTest.java b/src/test/java/org/scijava/util/IntArrayTest.java index c495d0e35..33b515224 100644 --- a/src/test/java/org/scijava/util/IntArrayTest.java +++ b/src/test/java/org/scijava/util/IntArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/LastRecentlyUsedTest.java b/src/test/java/org/scijava/util/LastRecentlyUsedTest.java index 7d701c838..2d17082ba 100644 --- a/src/test/java/org/scijava/util/LastRecentlyUsedTest.java +++ b/src/test/java/org/scijava/util/LastRecentlyUsedTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/LongArrayTest.java b/src/test/java/org/scijava/util/LongArrayTest.java index 554f4b2be..81f41c692 100644 --- a/src/test/java/org/scijava/util/LongArrayTest.java +++ b/src/test/java/org/scijava/util/LongArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/ObjectArrayTest.java b/src/test/java/org/scijava/util/ObjectArrayTest.java index 5eb9056a3..bb654fa0f 100644 --- a/src/test/java/org/scijava/util/ObjectArrayTest.java +++ b/src/test/java/org/scijava/util/ObjectArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/POMTest.java b/src/test/java/org/scijava/util/POMTest.java index 3dbfac27a..dad7a7aa7 100644 --- a/src/test/java/org/scijava/util/POMTest.java +++ b/src/test/java/org/scijava/util/POMTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/PrimitiveArrayTest.java b/src/test/java/org/scijava/util/PrimitiveArrayTest.java index 679327709..747b0fdac 100644 --- a/src/test/java/org/scijava/util/PrimitiveArrayTest.java +++ b/src/test/java/org/scijava/util/PrimitiveArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/ProcessUtilsTest.java b/src/test/java/org/scijava/util/ProcessUtilsTest.java index 82bc10524..2b717cb92 100644 --- a/src/test/java/org/scijava/util/ProcessUtilsTest.java +++ b/src/test/java/org/scijava/util/ProcessUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/ShortArrayTest.java b/src/test/java/org/scijava/util/ShortArrayTest.java index bff05f0c2..e4d3f7ed6 100644 --- a/src/test/java/org/scijava/util/ShortArrayTest.java +++ b/src/test/java/org/scijava/util/ShortArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/StringUtilsTest.java b/src/test/java/org/scijava/util/StringUtilsTest.java index bc31d533b..4fac7e5e7 100644 --- a/src/test/java/org/scijava/util/StringUtilsTest.java +++ b/src/test/java/org/scijava/util/StringUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/TypesTest.java b/src/test/java/org/scijava/util/TypesTest.java index 545877756..21fce520d 100644 --- a/src/test/java/org/scijava/util/TypesTest.java +++ b/src/test/java/org/scijava/util/TypesTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/UnitUtilsTest.java b/src/test/java/org/scijava/util/UnitUtilsTest.java index 116f8ad8e..e095f60a0 100644 --- a/src/test/java/org/scijava/util/UnitUtilsTest.java +++ b/src/test/java/org/scijava/util/UnitUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/VersionUtilsTest.java b/src/test/java/org/scijava/util/VersionUtilsTest.java index 4874af6eb..7b0844225 100644 --- a/src/test/java/org/scijava/util/VersionUtilsTest.java +++ b/src/test/java/org/scijava/util/VersionUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/widget/WidgetStyleTest.java b/src/test/java/org/scijava/widget/WidgetStyleTest.java index 079ed72a5..321342736 100644 --- a/src/test/java/org/scijava/widget/WidgetStyleTest.java +++ b/src/test/java/org/scijava/widget/WidgetStyleTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2021 SciJava developers. + * Copyright (C) 2009 - 2022 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: From 207d99f577be6d113cff35e2764769d59a69063e Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Sat, 9 Apr 2022 10:50:59 -0500 Subject: [PATCH 202/383] Bump to next development cycle Signed-off-by: Curtis Rueden --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 5ef9ba2bd..126935ebf 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.88.0-SNAPSHOT + 2.88.1-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From e05ef57a79820cacb9de3f69cfb335e2d88d6d5f Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Sat, 9 Apr 2022 11:15:47 -0500 Subject: [PATCH 203/383] POM: add NicoKiaru to contributors list --- pom.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pom.xml b/pom.xml index 126935ebf..a26f167bc 100644 --- a/pom.xml +++ b/pom.xml @@ -59,6 +59,11 @@ Chris Allan chris-allan + + Nicolas Chiaruttini + https://imagej.net/people/NicoKiaru + NicoKiaru + Barry DeZonia https://imagej.net/people/bdezonia From 51dffd29c5c65645c6592c65a7bb3bd5cb5820fe Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Fri, 29 Apr 2022 03:29:58 -0500 Subject: [PATCH 204/383] POM: update parent to pom-scijava 32.0.0-beta-3 --- pom.xml | 2 +- src/main/java/org/scijava/parse/DefaultParseService.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index a26f167bc..71ca6bc3a 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.scijava pom-scijava - 31.1.0 + 32.0.0-beta-3 diff --git a/src/main/java/org/scijava/parse/DefaultParseService.java b/src/main/java/org/scijava/parse/DefaultParseService.java index febbba898..53bdbe46a 100644 --- a/src/main/java/org/scijava/parse/DefaultParseService.java +++ b/src/main/java/org/scijava/parse/DefaultParseService.java @@ -35,7 +35,7 @@ import java.util.Map; import org.scijava.parsington.Variable; -import org.scijava.parsington.eval.DefaultEvaluator; +import org.scijava.parsington.eval.DefaultTreeEvaluator; import org.scijava.plugin.Plugin; import org.scijava.service.AbstractService; import org.scijava.service.Service; @@ -97,7 +97,7 @@ public boolean isList() { } private void parseItems(final String arg, final boolean strict) { - final DefaultEvaluator e = new DefaultEvaluator(); + final DefaultTreeEvaluator e = new DefaultTreeEvaluator(); e.setStrict(strict); final Object result = e.evaluate("(" + arg + ")"); if (result == null) { From a3590c6e05eee21e4c9731f3c9979e1f3e5629ee Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Fri, 29 Apr 2022 03:30:06 -0500 Subject: [PATCH 205/383] Remove print statements from tests --- .../java/org/scijava/command/CommandArrayConverterTest.java | 6 ------ src/test/java/org/scijava/task/TaskEventTest.java | 1 - 2 files changed, 7 deletions(-) diff --git a/src/test/java/org/scijava/command/CommandArrayConverterTest.java b/src/test/java/org/scijava/command/CommandArrayConverterTest.java index effe7a046..26dfebfc9 100644 --- a/src/test/java/org/scijava/command/CommandArrayConverterTest.java +++ b/src/test/java/org/scijava/command/CommandArrayConverterTest.java @@ -113,10 +113,7 @@ public static class CommandRawArrayInput implements Command { @Override public void run() { final StringBuilder sb = new StringBuilder(); - System.out.println("userObjects length : "+userObjects.length); - System.out.println("class : "+userObjects.getClass()); for (UserClass obj : userObjects) { - System.out.println("\t"+obj); sb.append(obj.toString()+";"); } result = sb.toString(); @@ -136,10 +133,7 @@ public static class CommandGenericsWildcardArrayInput implements Command { @Override public void run() { final StringBuilder sb = new StringBuilder(); - System.out.println("userObjects length : "+userObjects.length); - System.out.println("class : "+userObjects.getClass()); for (UserClass obj : userObjects) { - System.out.println("\t"+obj); sb.append(obj.toString()+";"); } result = sb.toString(); diff --git a/src/test/java/org/scijava/task/TaskEventTest.java b/src/test/java/org/scijava/task/TaskEventTest.java index 5ef418894..fadecc683 100644 --- a/src/test/java/org/scijava/task/TaskEventTest.java +++ b/src/test/java/org/scijava/task/TaskEventTest.java @@ -87,7 +87,6 @@ public static void createTask( new Thread( () -> { try { - System.out.println("Waiting to start task "+taskName); Thread.sleep(msBeforeStart); // Task started From 309dc33241cefab2a2207ae31b32c8f137072996 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Fri, 29 Apr 2022 03:31:41 -0500 Subject: [PATCH 206/383] Bump to next development cycle Signed-off-by: Curtis Rueden --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 71ca6bc3a..b49783f68 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.88.1-SNAPSHOT + 2.88.2-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From 487a40e1fd23246b366396aa26ec0c21c2c42478 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 31 May 2022 14:25:48 -0500 Subject: [PATCH 207/383] ScriptModule: make context class loader non-null Groovy assumes it will be non-null, and crashes if it's null. When is it null? Not totally clear. But it can happen! See its javadoc. --- src/main/java/org/scijava/script/ScriptModule.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main/java/org/scijava/script/ScriptModule.java b/src/main/java/org/scijava/script/ScriptModule.java index b10e504dc..f05cbc7ed 100644 --- a/src/main/java/org/scijava/script/ScriptModule.java +++ b/src/main/java/org/scijava/script/ScriptModule.java @@ -123,6 +123,13 @@ public ScriptInfo getInfo() { @Override public void run() { + // HACK: Work around code (Groovy!) assuming + // context class loader can't be null. + final ClassLoader cl = Thread.currentThread().getContextClassLoader(); + if (cl == null) { + Thread.currentThread().setContextClassLoader(Context.getClassLoader()); + } + final ScriptEngine engine = getEngine(); final String path = getInfo().getPath(); From 5d8c6ca9e3d3e82faa0644622af6f3d6f502e787 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 14 Jun 2022 15:54:00 -0500 Subject: [PATCH 208/383] CI: cache ~/.m2/repository correctly --- .github/workflows/build-main.yml | 18 +++--------------- .github/workflows/build-pr.yml | 18 +++--------------- 2 files changed, 6 insertions(+), 30 deletions(-) diff --git a/.github/workflows/build-main.yml b/.github/workflows/build-main.yml index 3fb562252..5ef569202 100644 --- a/.github/workflows/build-main.yml +++ b/.github/workflows/build-main.yml @@ -13,24 +13,12 @@ jobs: steps: - uses: actions/checkout@v2 - - - name: Cache m2 folder - uses: actions/cache@v2 - env: - cache-name: cache-m2 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-build-${{ env.cache-name }} - restore-keys: | - ${{ runner.os }}-build-${{ env.cache-name }}- - ${{ runner.os }}-build- - ${{ runner.os }}- - - - name: Set up JDK 8 - uses: actions/setup-java@v2 + - name: Set up Java + uses: actions/setup-java@v3 with: java-version: '8' distribution: 'zulu' + cache: 'maven' - name: Set up CI environment run: .github/setup.sh - name: Execute the build diff --git a/.github/workflows/build-pr.yml b/.github/workflows/build-pr.yml index 92a019264..925b57658 100644 --- a/.github/workflows/build-pr.yml +++ b/.github/workflows/build-pr.yml @@ -11,24 +11,12 @@ jobs: steps: - uses: actions/checkout@v2 - - - name: Cache m2 folder - uses: actions/cache@v2 - env: - cache-name: cache-m2 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-build-${{ env.cache-name }} - restore-keys: | - ${{ runner.os }}-build-${{ env.cache-name }}- - ${{ runner.os }}-build- - ${{ runner.os }}- - - - name: Set up JDK 8 - uses: actions/setup-java@v2 + - name: Set up Java + uses: actions/setup-java@v3 with: java-version: '8' distribution: 'zulu' + cache: 'maven' - name: Set up CI environment run: .github/setup.sh - name: Execute the build From df29cac4272f4e78b2ef408c8b3e02f15c43fd96 Mon Sep 17 00:00:00 2001 From: Gabriel Selzer Date: Fri, 17 Jun 2022 11:08:39 -0500 Subject: [PATCH 209/383] Split Strings before wrapping into ObjectArray We make the executive decision to always delimit by a comma --- src/main/java/org/scijava/util/ArrayUtils.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/main/java/org/scijava/util/ArrayUtils.java b/src/main/java/org/scijava/util/ArrayUtils.java index c6487c5cf..0fda592c5 100644 --- a/src/main/java/org/scijava/util/ArrayUtils.java +++ b/src/main/java/org/scijava/util/ArrayUtils.java @@ -58,7 +58,9 @@ package org.scijava.util; +import java.util.Arrays; import java.util.Collection; +import java.util.Collections; import java.util.List; /** @@ -120,6 +122,12 @@ public static Collection toCollection(final Object value) { if (value instanceof Object[]) { return new ObjectArray<>((Object[]) value); } + if (value instanceof String) { + String[] arr = ((String) value).split("\\s*,\\s*"); + Collection c = new ObjectArray(arr); + c.removeIf(o -> o.equals("")); + return c; + } // This object is neither an array nor a collection. // So we wrap it in a list and return. final List list = new ObjectArray<>(Object.class); From 4191f81317cf4f583b58ae416af4d7a79382b8e5 Mon Sep 17 00:00:00 2001 From: Gabriel Selzer Date: Fri, 17 Jun 2022 11:09:49 -0500 Subject: [PATCH 210/383] Improve array conversion to String --- .../org/scijava/convert/DefaultConverter.java | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/scijava/convert/DefaultConverter.java b/src/main/java/org/scijava/convert/DefaultConverter.java index d2daea418..651f171fd 100644 --- a/src/main/java/org/scijava/convert/DefaultConverter.java +++ b/src/main/java/org/scijava/convert/DefaultConverter.java @@ -39,6 +39,7 @@ import java.util.HashSet; import java.util.List; import java.util.Set; +import java.util.stream.Collectors; import org.scijava.Priority; import org.scijava.plugin.Plugin; @@ -168,10 +169,21 @@ public T convert(final Object src, final Class dest) { } if (saneDest == String.class) { // destination type is String; use Object.toString() method - final String sValue = src.toString(); - @SuppressWarnings("unchecked") - final T result = (T) sValue; - return result; + if (src.getClass().isArray()) { + final String elementString = ArrayUtils.toCollection(src).stream() // + .map(object -> convert(object, String.class)) // + .collect(Collectors.joining(",")); + String sb = "[" + elementString + ']'; + @SuppressWarnings("unchecked") + final T result = (T) elementString; + return result; + } + else { + final String sValue = src.toString(); + @SuppressWarnings("unchecked") + final T result = (T) sValue; + return result; + } } // wrap the original object with one of the new type, using a constructor From 37753fa342a7ef79b17a1cb7836d19965b5b894a Mon Sep 17 00:00:00 2001 From: Gabriel Selzer Date: Thu, 16 Jun 2022 16:29:06 -0500 Subject: [PATCH 211/383] Test Module saving and loading for array types --- .../org/scijava/module/ModuleServiceTest.java | 72 +++++++++++++++++-- 1 file changed, 66 insertions(+), 6 deletions(-) diff --git a/src/test/java/org/scijava/module/ModuleServiceTest.java b/src/test/java/org/scijava/module/ModuleServiceTest.java index b7f94ca7a..dffd09e02 100644 --- a/src/test/java/org/scijava/module/ModuleServiceTest.java +++ b/src/test/java/org/scijava/module/ModuleServiceTest.java @@ -29,11 +29,9 @@ package org.scijava.module; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertSame; - +import java.util.ArrayList; import java.util.HashMap; +import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.concurrent.ExecutionException; @@ -42,6 +40,9 @@ import org.junit.Before; import org.junit.Test; import org.scijava.Context; +import org.scijava.util.ObjectArray; + +import static org.junit.Assert.*; /** * Tests {@link ModuleService}. @@ -158,6 +159,66 @@ public void testGetSingleInput() throws ModuleException { assertSame(info.getInput("double2"), singleDouble); } + @Test + public void testSaveAndLoad() { + + List parameterizations = new ArrayList<>(); + parameterizations.add(new Object[] { // + double[].class, new double[] {} // + }); + parameterizations.add(new Object[] { // + double[].class, new double[] { 1., 2., 3. } // + }); + parameterizations.add(new Object[] { // + Double[].class, new Double[] {} // + }); + parameterizations.add(new Object[] { // + Double[].class, new Double[] { 1., 2., 3. } // + }); + + for (Object[] params : parameterizations) { + Class type = (Class) params[0]; + Object expected = params[1]; + // Get a ModuleItem of the right type + MutableModule m = new DefaultMutableModule(); + m.getInfo().addInput(new DefaultMutableModuleItem<>(m, "a", type)); + @SuppressWarnings("unchecked") + final ModuleItem item = (ModuleItem) moduleService + .getSingleInput(m, type); + // Save a value to the ModuleItem + moduleService.save(item, expected); + // Load that value from the ModuleItem + Object actual = moduleService.load(item); + // Assert equality + if (expected.getClass().isArray()) assertArrayEquality(expected, actual); + else assertEquals(expected, actual); + } + } + + private void assertArrayEquality(Object arr1, Object arr2) { + // Ensure that both Objects are arrays of the same type! + assertEquals(arr1.getClass(), arr2.getClass()); + assertTrue(arr1.getClass().isArray()); + + // We must check primitive arrays as they cannot be cast to Object[] + if (arr1 instanceof boolean[]) // + assertArrayEquals((boolean[]) arr1, (boolean[]) arr2); + else if (arr1 instanceof short[]) // + assertArrayEquals((short[]) arr1, (short[]) arr2); + else if (arr1 instanceof int[]) // + assertArrayEquals((int[]) arr1, (int[]) arr2); + else if (arr1 instanceof long[]) // + assertArrayEquals((long[]) arr1, (long[]) arr2); + else if (arr1 instanceof float[]) // + assertArrayEquals((float[]) arr1, (float[]) arr2, 1e-6f); + else if (arr1 instanceof double[]) // + assertArrayEquals((double[]) arr1, (double[]) arr2, 1e-6); + else if (arr1 instanceof char[]) // + assertArrayEquals((char[]) arr1, (char[]) arr2); + // Otherwise we can just cast to Object[] + else assertArrayEquals((Object[]) arr1, (Object[]) arr2); + } + // -- Helper methods -- private Object[] createInputArray() { @@ -167,7 +228,7 @@ private Object[] createInputArray() { "integer1", -2, // "integer2", 7, // "double1", Math.E, // - "double2", Math.PI // + "double2", Math.PI, // }; } @@ -198,7 +259,6 @@ private static String mapToString(final Map map) { /** A sample module for testing the module service. */ public static class FooModule extends AbstractModule { - private final FooModuleInfo info; public FooModule(final FooModuleInfo info) { From 8cc1a5f7afac25c5f104cc67c7c8ec274d2810d9 Mon Sep 17 00:00:00 2001 From: Gabriel Selzer Date: Fri, 17 Jun 2022 11:28:30 -0500 Subject: [PATCH 212/383] Remove unused variable --- src/main/java/org/scijava/convert/DefaultConverter.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/org/scijava/convert/DefaultConverter.java b/src/main/java/org/scijava/convert/DefaultConverter.java index 651f171fd..f01f9668b 100644 --- a/src/main/java/org/scijava/convert/DefaultConverter.java +++ b/src/main/java/org/scijava/convert/DefaultConverter.java @@ -173,7 +173,6 @@ public T convert(final Object src, final Class dest) { final String elementString = ArrayUtils.toCollection(src).stream() // .map(object -> convert(object, String.class)) // .collect(Collectors.joining(",")); - String sb = "[" + elementString + ']'; @SuppressWarnings("unchecked") final T result = (T) elementString; return result; From bd40f0554ca9efffc4e60c48648d0708a24fb6f4 Mon Sep 17 00:00:00 2001 From: Gabriel Selzer Date: Fri, 1 Jul 2022 15:12:23 -0500 Subject: [PATCH 213/383] Add a StringToNumberConverter --- .../convert/StringToNumberConverter.java | 56 +++++++++ .../convert/StringToNumberConverterTest.java | 112 ++++++++++++++++++ 2 files changed, 168 insertions(+) create mode 100644 src/main/java/org/scijava/convert/StringToNumberConverter.java create mode 100644 src/test/java/org/scijava/convert/StringToNumberConverterTest.java diff --git a/src/main/java/org/scijava/convert/StringToNumberConverter.java b/src/main/java/org/scijava/convert/StringToNumberConverter.java new file mode 100644 index 000000000..cd22eeafa --- /dev/null +++ b/src/main/java/org/scijava/convert/StringToNumberConverter.java @@ -0,0 +1,56 @@ + +package org.scijava.convert; + +import org.scijava.plugin.Plugin; +import org.scijava.util.Types; + +/** + * Converts a {@link String} to a {@link Number}. Currently handles all boxed + * and unboxed primitives, along with the Numbers. In particular, + * {@link String}s converted {@link Number}s are just {@link Double}s, as this + * features the broadest range of integers. + * + * @author Gabriel Selzer + */ +@Plugin(type = Converter.class) +public class StringToNumberConverter extends AbstractConverter { + + @Override + @SuppressWarnings("unchecked") + public T convert(Object src, Class dest) { + // ensure type is well-behaved, rather than a primitive type + Class saneDest = Types.box(dest); + if (!(src instanceof String)) throw new IllegalArgumentException( + "Expected src to be a String but got a " + src.getClass()); + if (!(Number.class.isAssignableFrom(saneDest))) + throw new IllegalArgumentException( + "Expected dest to be Number.class (or a subclass of Number, or a numerical primitive), but got " + + saneDest); + String srcString = (String) src; + if (saneDest == Byte.class) return (T) new Byte(srcString); + if (saneDest == Short.class) return (T) new Short(srcString); + if (saneDest == Integer.class) return (T) new Integer(srcString); + if (saneDest == Long.class) return (T) new Long(srcString); + if (saneDest == Float.class) return (T) new Float(srcString); + if (saneDest == Double.class) return (T) new Double(srcString); + if (saneDest == Number.class) return (T) new Double(srcString); + else throw new IllegalArgumentException("Unknown destination type: " + + saneDest); + } + + @Override + public Class getOutputType() { + return Number.class; + } + + @Override + public Class getInputType() { + return String.class; + } + + @Override + public boolean canConvert(Object src, Class dest) { + if (!Types.isAssignable(src.getClass(), String.class)) return false; + return Types.isAssignable(Types.box(dest), Number.class); + } +} diff --git a/src/test/java/org/scijava/convert/StringToNumberConverterTest.java b/src/test/java/org/scijava/convert/StringToNumberConverterTest.java new file mode 100644 index 000000000..efee1acd1 --- /dev/null +++ b/src/test/java/org/scijava/convert/StringToNumberConverterTest.java @@ -0,0 +1,112 @@ + +package org.scijava.convert; + +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +/** + * Tests {@link StringToNumberConverter} + * + * @author Gabriel Selzer + */ +public class StringToNumberConverterTest { + + Converter conv; + + @Before + public void setUp() { + conv = new StringToNumberConverter(); + } + + @Test + public void stringToByteTest() { + String s = "0"; + Assert.assertTrue(conv.canConvert(s, Byte.class)); + Assert.assertEquals(new Byte((byte) 0), conv.convert(s, Byte.class)); + } + + @Test + public void stringToPrimitiveByteTest() { + String s = "0"; + Assert.assertTrue(conv.canConvert(s, byte.class)); + Assert.assertEquals(0, (int) conv.convert(s, byte.class)); + } + + @Test + public void stringToShortTest() { + String s = "0"; + Assert.assertTrue(conv.canConvert(s, Short.class)); + Assert.assertEquals(new Short((short) 0), conv.convert(s, Short.class)); + } + + @Test + public void stringToPrimitiveShortTest() { + String s = "0"; + Assert.assertTrue(conv.canConvert(s, short.class)); + Assert.assertEquals(0, (int) conv.convert(s, short.class)); + } + + @Test + public void stringToIntegerTest() { + String s = "0"; + Assert.assertTrue(conv.canConvert(s, Integer.class)); + Assert.assertEquals(new Integer(0), conv.convert(s, Integer.class)); + } + + @Test + public void stringToPrimitiveIntegerTest() { + String s = "0"; + Assert.assertTrue(conv.canConvert(s, int.class)); + Assert.assertEquals(0, (int) conv.convert(s, int.class)); + } + + @Test + public void stringToLongTest() { + String s = "0"; + Assert.assertTrue(conv.canConvert(s, Long.class)); + Assert.assertEquals(new Long(0), conv.convert(s, Long.class)); + } + + @Test + public void stringToPrimitiveLongTest() { + String s = "0"; + Assert.assertTrue(conv.canConvert(s, long.class)); + Assert.assertEquals(0L, (long) conv.convert(s, long.class)); + } + + @Test + public void stringToFloatTest() { + String s = "0"; + Assert.assertTrue(conv.canConvert(s, Float.class)); + Assert.assertEquals(new Float(0), conv.convert(s, Float.class)); + } + + @Test + public void stringToPrimitiveFloat() { + String s = "0"; + Assert.assertTrue(conv.canConvert(s, float.class)); + Assert.assertEquals(0f, conv.convert(s, float.class), 1e-6); + } + + @Test + public void stringToDoubleTest() { + String s = "0"; + Assert.assertTrue(conv.canConvert(s, Double.class)); + Assert.assertEquals(new Double(0), conv.convert(s, Double.class)); + } + + @Test + public void stringToPrimitiveDouble() { + String s = "0"; + Assert.assertTrue(conv.canConvert(s, double.class)); + Assert.assertEquals(0d, conv.convert(s, double.class), 1e-6); + } + + @Test + public void stringToNumberTest() { + String s = "0"; + Assert.assertTrue(conv.canConvert(s, Number.class)); + Assert.assertEquals(0d, conv.convert(s, Number.class)); + } +} From 5c160d28404aa328ffdb5c20735a49cefe6f5049 Mon Sep 17 00:00:00 2001 From: Gabriel Selzer Date: Fri, 1 Jul 2022 15:41:00 -0500 Subject: [PATCH 214/383] Ensure that invalid strings cannot be converted --- .../convert/StringToNumberConverter.java | 21 ++++++++++++++++--- .../convert/StringToNumberConverterTest.java | 8 +++++++ 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/scijava/convert/StringToNumberConverter.java b/src/main/java/org/scijava/convert/StringToNumberConverter.java index cd22eeafa..0c75f579d 100644 --- a/src/main/java/org/scijava/convert/StringToNumberConverter.java +++ b/src/main/java/org/scijava/convert/StringToNumberConverter.java @@ -19,7 +19,7 @@ public class StringToNumberConverter extends AbstractConverter { @SuppressWarnings("unchecked") public T convert(Object src, Class dest) { // ensure type is well-behaved, rather than a primitive type - Class saneDest = Types.box(dest); + Class saneDest = sane(dest); if (!(src instanceof String)) throw new IllegalArgumentException( "Expected src to be a String but got a " + src.getClass()); if (!(Number.class.isAssignableFrom(saneDest))) @@ -33,7 +33,6 @@ public T convert(Object src, Class dest) { if (saneDest == Long.class) return (T) new Long(srcString); if (saneDest == Float.class) return (T) new Float(srcString); if (saneDest == Double.class) return (T) new Double(srcString); - if (saneDest == Number.class) return (T) new Double(srcString); else throw new IllegalArgumentException("Unknown destination type: " + saneDest); } @@ -51,6 +50,22 @@ public Class getInputType() { @Override public boolean canConvert(Object src, Class dest) { if (!Types.isAssignable(src.getClass(), String.class)) return false; - return Types.isAssignable(Types.box(dest), Number.class); + // The only way to know if the conversion is valid is to actually do it. + try { + String srcString = (String) src; + sane(dest).getConstructor(String.class).newInstance(srcString); + return true; + } + catch (Exception e) { + return false; + } + } + + // -- Helper functionality -- // + + @SuppressWarnings("unchecked") + private Class sane(Class c) { + if (c == Number.class) return (Class) Double.class; + return Types.box(c); } } diff --git a/src/test/java/org/scijava/convert/StringToNumberConverterTest.java b/src/test/java/org/scijava/convert/StringToNumberConverterTest.java index efee1acd1..8728bd47f 100644 --- a/src/test/java/org/scijava/convert/StringToNumberConverterTest.java +++ b/src/test/java/org/scijava/convert/StringToNumberConverterTest.java @@ -109,4 +109,12 @@ public void stringToNumberTest() { Assert.assertTrue(conv.canConvert(s, Number.class)); Assert.assertEquals(0d, conv.convert(s, Number.class)); } + + @Test + public void invalidStringToNumberTest() { + String s = "invalid"; + Assert.assertFalse(conv.canConvert(s, Number.class)); + Assert.assertThrows(IllegalArgumentException.class, () -> conv.convert(s, + Number.class)); + } } From 88f5eb0c9430b263bb2830172d138c7bd2042fb8 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 11 Jul 2022 15:40:45 -0500 Subject: [PATCH 215/383] Add missing license header blocks --- .../convert/StringToNumberConverter.java | 28 +++++++++++++++++++ .../convert/StringToNumberConverterTest.java | 28 +++++++++++++++++++ 2 files changed, 56 insertions(+) diff --git a/src/main/java/org/scijava/convert/StringToNumberConverter.java b/src/main/java/org/scijava/convert/StringToNumberConverter.java index 0c75f579d..6376a6a70 100644 --- a/src/main/java/org/scijava/convert/StringToNumberConverter.java +++ b/src/main/java/org/scijava/convert/StringToNumberConverter.java @@ -1,3 +1,31 @@ +/*- + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2022 SciJava developers. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ package org.scijava.convert; diff --git a/src/test/java/org/scijava/convert/StringToNumberConverterTest.java b/src/test/java/org/scijava/convert/StringToNumberConverterTest.java index 8728bd47f..b2778d128 100644 --- a/src/test/java/org/scijava/convert/StringToNumberConverterTest.java +++ b/src/test/java/org/scijava/convert/StringToNumberConverterTest.java @@ -1,3 +1,31 @@ +/*- + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2022 SciJava developers. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ package org.scijava.convert; From 0e120097555320a0045c109ae04d6eee2ac93370 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 11 Jul 2022 15:42:13 -0500 Subject: [PATCH 216/383] Update ImageJ -> ImageJ2 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b7f00e234..06c483c15 100644 --- a/README.md +++ b/README.md @@ -5,5 +5,5 @@ SciJava Common is a common library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. -It is used by both [ImageJ](https://github.com/imagej/imagej) and +It is used by both [ImageJ2](https://github.com/imagej/imagej2) and [SCIFIO](https://github.com/scifio/scifio). From d50ae5b31d8912eeab9adbb62a8ee966c0c10c83 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 11 Jul 2022 15:43:25 -0500 Subject: [PATCH 217/383] Bump to next development cycle Signed-off-by: Curtis Rueden --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index b49783f68..fca6aef22 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.88.2-SNAPSHOT + 2.88.3-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From a82242019bdada83f102628225c92c73f25245f0 Mon Sep 17 00:00:00 2001 From: Gabriel Selzer Date: Mon, 18 Jul 2022 09:09:20 -0500 Subject: [PATCH 218/383] Set the ScriptEngineManager to use Context's loader --- src/main/java/org/scijava/script/AdaptedScriptLanguage.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/scijava/script/AdaptedScriptLanguage.java b/src/main/java/org/scijava/script/AdaptedScriptLanguage.java index ff96c74a3..ad952d54d 100644 --- a/src/main/java/org/scijava/script/AdaptedScriptLanguage.java +++ b/src/main/java/org/scijava/script/AdaptedScriptLanguage.java @@ -35,6 +35,7 @@ import javax.script.ScriptEngineFactory; import javax.script.ScriptEngineManager; +import org.scijava.Context; import org.scijava.plugin.PluginInfo; /** @@ -140,7 +141,7 @@ public ScriptEngine getScriptEngine() { // -- Helper methods -- private static ScriptEngineFactory findFactory(final String factoryName) { - final ScriptEngineManager manager = new ScriptEngineManager(); + final ScriptEngineManager manager = new ScriptEngineManager(Context.getClassLoader()); for (final ScriptEngineFactory factory : manager.getEngineFactories()) { for (final String name : factory.getNames()) { if (factoryName.equals(name)) return factory; From 7201d4d5cd08ac127af553e8602037a80736203e Mon Sep 17 00:00:00 2001 From: Gabriel Selzer Date: Thu, 28 Jul 2022 15:44:37 -0500 Subject: [PATCH 219/383] Add support for Number in NumberUtils --- .../java/org/scijava/util/NumberUtils.java | 4 ++ .../org/scijava/util/NumberUtilsTest.java | 42 +++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 src/test/java/org/scijava/util/NumberUtilsTest.java diff --git a/src/main/java/org/scijava/util/NumberUtils.java b/src/main/java/org/scijava/util/NumberUtils.java index ea9f684ac..9b3ad2488 100644 --- a/src/main/java/org/scijava/util/NumberUtils.java +++ b/src/main/java/org/scijava/util/NumberUtils.java @@ -78,6 +78,8 @@ public static Number getMinimumNumber(final Class type) { if (Types.isLong(type)) return Long.MIN_VALUE; if (Types.isFloat(type)) return -Float.MAX_VALUE; if (Types.isDouble(type)) return -Double.MAX_VALUE; + // Fallback for Number.class + if (Types.isNumber(type)) return -Double.MAX_VALUE; return null; } @@ -88,6 +90,8 @@ public static Number getMaximumNumber(final Class type) { if (Types.isLong(type)) return Long.MAX_VALUE; if (Types.isFloat(type)) return Float.MAX_VALUE; if (Types.isDouble(type)) return Double.MAX_VALUE; + // Fallback for Number.class + if (Types.isNumber(type)) return Double.MAX_VALUE; return null; } diff --git a/src/test/java/org/scijava/util/NumberUtilsTest.java b/src/test/java/org/scijava/util/NumberUtilsTest.java new file mode 100644 index 000000000..78f94fbde --- /dev/null +++ b/src/test/java/org/scijava/util/NumberUtilsTest.java @@ -0,0 +1,42 @@ + +package org.scijava.util; + +import org.junit.Test; + +import static org.junit.Assert.assertEquals; + +/** + * Tests {@link NumberUtils} functionality + * + * @author Gabriel Selzer + */ +public class NumberUtilsTest { + + /** Tests {@link NumberUtils#getMinimumNumber(Class)} */ + @Test + public void testGetMinimumNumber() { + assertEquals(Byte.MIN_VALUE, NumberUtils.getMinimumNumber(Byte.class)); + assertEquals(Short.MIN_VALUE, NumberUtils.getMinimumNumber(Short.class)); + assertEquals(Integer.MIN_VALUE, NumberUtils.getMinimumNumber( + Integer.class)); + assertEquals(Long.MIN_VALUE, NumberUtils.getMinimumNumber(Long.class)); + assertEquals(-Float.MAX_VALUE, NumberUtils.getMinimumNumber(Float.class)); + assertEquals(-Double.MAX_VALUE, NumberUtils.getMinimumNumber(Double.class)); + // Number's minimum value should be the smallest of all the above -> Double + assertEquals(-Double.MAX_VALUE, NumberUtils.getMinimumNumber(Number.class)); + } + + /** Tests {@link NumberUtils#getMaximumNumber(Class)} */ + @Test + public void testGetMaximumNumber() { + assertEquals(Byte.MAX_VALUE, NumberUtils.getMaximumNumber(Byte.class)); + assertEquals(Short.MAX_VALUE, NumberUtils.getMaximumNumber(Short.class)); + assertEquals(Integer.MAX_VALUE, NumberUtils.getMaximumNumber( + Integer.class)); + assertEquals(Long.MAX_VALUE, NumberUtils.getMaximumNumber(Long.class)); + assertEquals(Float.MAX_VALUE, NumberUtils.getMaximumNumber(Float.class)); + assertEquals(Double.MAX_VALUE, NumberUtils.getMaximumNumber(Double.class)); + // Number's minimum value should be the smallest of all the above -> Double + assertEquals(Double.MAX_VALUE, NumberUtils.getMaximumNumber(Number.class)); + } +} From 818a252d6816a1a054f33ebc4cfbaf0cc3bba811 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 15 Aug 2022 10:40:26 -0500 Subject: [PATCH 220/383] POM: update parent to 32.0.0-beta-4 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index fca6aef22..4ee57020f 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.scijava pom-scijava - 32.0.0-beta-3 + 32.0.0-beta-4 From 832b1818c069fbe76c4a5156941afbd561161aa8 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 15 Aug 2022 12:36:50 -0500 Subject: [PATCH 221/383] Add missing license header --- .../org/scijava/util/NumberUtilsTest.java | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/test/java/org/scijava/util/NumberUtilsTest.java b/src/test/java/org/scijava/util/NumberUtilsTest.java index 78f94fbde..e175ab8e7 100644 --- a/src/test/java/org/scijava/util/NumberUtilsTest.java +++ b/src/test/java/org/scijava/util/NumberUtilsTest.java @@ -1,3 +1,31 @@ +/*- + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2022 SciJava developers. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ package org.scijava.util; From b37c0628658f4ac10decbc2135a2e1f5eac6db0d Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 15 Aug 2022 12:59:01 -0500 Subject: [PATCH 222/383] Bump to next development cycle Signed-off-by: Curtis Rueden --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 4ee57020f..0ed9c5fc3 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.88.3-SNAPSHOT + 2.89.1-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From 7751a9d2b91b5647f62d2a3f9d0f361f4b3ff6bc Mon Sep 17 00:00:00 2001 From: Gabriel Selzer Date: Wed, 17 Aug 2022 13:08:48 -0500 Subject: [PATCH 223/383] Refactor efforts into separate Converters --- .../convert/ArrayToStringConverter.java | 90 +++++++++ .../org/scijava/convert/DefaultConverter.java | 19 +- .../convert/StringToArrayConverter.java | 178 ++++++++++++++++++ .../java/org/scijava/util/ArrayUtils.java | 6 - .../convert/ArrayToStringConverterTest.java | 160 ++++++++++++++++ .../convert/StringToArrayConverterTest.java | 158 ++++++++++++++++ .../org/scijava/module/ModuleServiceTest.java | 86 +++++---- 7 files changed, 637 insertions(+), 60 deletions(-) create mode 100644 src/main/java/org/scijava/convert/ArrayToStringConverter.java create mode 100644 src/main/java/org/scijava/convert/StringToArrayConverter.java create mode 100644 src/test/java/org/scijava/convert/ArrayToStringConverterTest.java create mode 100644 src/test/java/org/scijava/convert/StringToArrayConverterTest.java diff --git a/src/main/java/org/scijava/convert/ArrayToStringConverter.java b/src/main/java/org/scijava/convert/ArrayToStringConverter.java new file mode 100644 index 000000000..922f2eac6 --- /dev/null +++ b/src/main/java/org/scijava/convert/ArrayToStringConverter.java @@ -0,0 +1,90 @@ +/* + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2022 SciJava developers. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ + +package org.scijava.convert; + +import java.lang.reflect.Array; +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +import org.scijava.Priority; +import org.scijava.plugin.Parameter; +import org.scijava.plugin.Plugin; +import org.scijava.util.ArrayUtils; +import org.scijava.util.Types; + +/** + * A {@link Converter} that specializes in converting + * n-dimensional arrays into {@link String}s. This {@link Converter} can convert any array whose + * component types can be converted into {@link String}s. By default, this + * {@link Converter} delimits the array elements with commas. + * + * @author Gabriel Selzer + */ +@Plugin(type = Converter.class, priority = Priority.VERY_LOW) +public class ArrayToStringConverter extends AbstractConverter { + + @Parameter private ConvertService convertService; + + @Override public boolean canConvert(final Class src, final Class dest) { + if (src == null) return false; + final Class saneSrc = Types.box(src); + final Class saneDest = Types.box(dest); + return saneSrc.isArray() && saneDest == String.class; + } + + @Override public boolean canConvert(final Object src, final Class dest) { + if (!canConvert(src.getClass(), dest)) return false; + if (Array.getLength(src) == 0) return true; + return convertService.supports(Array.get(src, 0), dest); + } + + @Override public Object convert(Object src, Type dest) { + final String elementString = ArrayUtils.toCollection(src).stream() // + .map(object -> convertService.convert(object, String.class)) // + .collect(Collectors.joining(", ")); + return "{" + elementString + "}"; + } + + @SuppressWarnings("unchecked") @Override + public T convert(Object src, Class dest) { + return (T) convert(src, (Type) dest); + } + + @Override public Class getOutputType() { + return String.class; + } + + @Override public Class getInputType() { + return Object.class; + } + +} diff --git a/src/main/java/org/scijava/convert/DefaultConverter.java b/src/main/java/org/scijava/convert/DefaultConverter.java index f01f9668b..d2daea418 100644 --- a/src/main/java/org/scijava/convert/DefaultConverter.java +++ b/src/main/java/org/scijava/convert/DefaultConverter.java @@ -39,7 +39,6 @@ import java.util.HashSet; import java.util.List; import java.util.Set; -import java.util.stream.Collectors; import org.scijava.Priority; import org.scijava.plugin.Plugin; @@ -169,20 +168,10 @@ public T convert(final Object src, final Class dest) { } if (saneDest == String.class) { // destination type is String; use Object.toString() method - if (src.getClass().isArray()) { - final String elementString = ArrayUtils.toCollection(src).stream() // - .map(object -> convert(object, String.class)) // - .collect(Collectors.joining(",")); - @SuppressWarnings("unchecked") - final T result = (T) elementString; - return result; - } - else { - final String sValue = src.toString(); - @SuppressWarnings("unchecked") - final T result = (T) sValue; - return result; - } + final String sValue = src.toString(); + @SuppressWarnings("unchecked") + final T result = (T) sValue; + return result; } // wrap the original object with one of the new type, using a constructor diff --git a/src/main/java/org/scijava/convert/StringToArrayConverter.java b/src/main/java/org/scijava/convert/StringToArrayConverter.java new file mode 100644 index 000000000..fdc57d5b4 --- /dev/null +++ b/src/main/java/org/scijava/convert/StringToArrayConverter.java @@ -0,0 +1,178 @@ +/* + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2022 SciJava developers. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ + +package org.scijava.convert; + +import org.scijava.Priority; +import org.scijava.plugin.Parameter; +import org.scijava.plugin.Plugin; +import org.scijava.util.Types; + +import java.lang.reflect.Array; +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.List; + +/** + * A {@link Converter} that specializes in converting {@link String}s to + * n-dimensional arrays. This {@link Converter} can convert any array whose + * component types can be created from a {@link String}. By default, this + * {@link Converter} delimits the {@link String} based on commas. + * + * @author Gabriel Selzer + */ +@Plugin(type = Converter.class, priority=Priority.VERY_LOW) +public class StringToArrayConverter extends AbstractConverter { + + @Parameter + private ConvertService convertService; + + @Override + public boolean canConvert(final Class src, final Class dest) { + if (src == null) return false; + final Class saneSrc = Types.box(src); + final Class saneDest = Types.box(dest); + return saneSrc == String.class && saneDest.isArray(); + } + + @Override + public boolean canConvert(final Object src, final Class dest) { + if (!canConvert(src.getClass(), dest)) return false; + String srcString = (String) src; + if (!(srcString.startsWith("{") && srcString.endsWith("}"))) return false; + List components = elements((String) src); + return components.size() == 0 || convertService.supports(components.get(0), + dest.getComponentType()); + } + + @Override + public Object convert(Object src, Type dest) { + final Type componentType = Types.component(dest); + if (componentType == null) throw new IllegalArgumentException(dest + + " is not an array type!"); + return convertToArray((String) src, componentType); + } + + @SuppressWarnings("unchecked") + @Override + public T convert(Object src, Class dest) { + return (T) convert((String) src, (Type) dest); + } + + @Override + public Class getOutputType() { + return Object.class; + } + + @Override + public Class getInputType() { + return String.class; + } + + // -- HELPER METHODS -- // + + /** + * Converts {@code src} into an array of component type {@code componentType} + * + * @param src the {@link String} to convert + * @param componentType the component type of the output array + * @return an array of {@code componentType} whose elements were created from + * {@code src} + */ + private Object convertToArray(String src, final Type componentType) { + List elements = elements( src); + Class componentClass = Types.raw(componentType); + final Object array = Array.newInstance(componentClass, elements.size()); + for (int i = 0; i < elements.size(); i++) + Array.set(array, i, convertService.convert(elements.get(i), + componentClass)); + return array; + } + + /** + * Gets the elements of {@code src}. + * + * @param src a {@link String} consisting of: + *
      + *
    1. A leading curly brace
    2. + *
    3. Some non-negative number of elements, can be a sublist.
    4. + *
    5. A trailing curly brace
    6. + *
    + * @return the elements of {@code src} + */ + private List elements(String src) { + // trim off the leading curly brace + if (src.startsWith("{")) src = src.substring(1); + // trim off the ending curly brace + if (src.endsWith("}")) src = src.substring(0, src.length() - 1); + return splitByComma(src); + } + + /** + * Custom method for {@link String} splitting. Splits on TOP-LEVEL commas. + * TODO: Is there a regex for which {@link String#split(String)} would work? + * + * @param s the {@link String} to split + * @return a {@link List} of substrings, split by a comma. + */ + private List splitByComma(String s) { + int openBraces = 0; + List arrayList = new ArrayList<>(); + int start = 0; + for (int i = 0; i < s.length(); i++) { + switch (s.charAt(i)) { + case '{': + openBraces++; + break; + case '}': + openBraces--; + break; + case ',': + if (openBraces == 0) { + addString(arrayList, s.substring(start, i)); + start = i + 1; + } + } + } + // Get the last substring + addString(arrayList, s.substring(start)); + return arrayList; + } + + /** + * Helper method used to filter and format the additions to {@code list} + * @param list the {@link List} to add to + * @param s the {@link String} to (potentially) be added. + */ + private void addString(List list, String s) { + s = s.trim(); + if (!s.equals("")) list.add(s); + } + +} diff --git a/src/main/java/org/scijava/util/ArrayUtils.java b/src/main/java/org/scijava/util/ArrayUtils.java index 0fda592c5..81b6cf28b 100644 --- a/src/main/java/org/scijava/util/ArrayUtils.java +++ b/src/main/java/org/scijava/util/ArrayUtils.java @@ -122,12 +122,6 @@ public static Collection toCollection(final Object value) { if (value instanceof Object[]) { return new ObjectArray<>((Object[]) value); } - if (value instanceof String) { - String[] arr = ((String) value).split("\\s*,\\s*"); - Collection c = new ObjectArray(arr); - c.removeIf(o -> o.equals("")); - return c; - } // This object is neither an array nor a collection. // So we wrap it in a list and return. final List list = new ObjectArray<>(Object.class); diff --git a/src/test/java/org/scijava/convert/ArrayToStringConverterTest.java b/src/test/java/org/scijava/convert/ArrayToStringConverterTest.java new file mode 100644 index 000000000..9e1de8785 --- /dev/null +++ b/src/test/java/org/scijava/convert/ArrayToStringConverterTest.java @@ -0,0 +1,160 @@ +/* + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2022 SciJava developers. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ + +package org.scijava.convert; + +import java.util.Arrays; +import java.util.List; + +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.scijava.Context; + +/** + * Tests {@link ArrayToStringConverter}. + * + * @author Gabriel Selzer + */ +public class ArrayToStringConverterTest { + + private final ArrayToStringConverter converter = new ArrayToStringConverter(); + private ConvertService convertService; + private Context context; + + @Before + public void setUp() { + context = new Context(ConvertService.class); + context.inject(converter); + convertService = context.getService(ConvertService.class); + } + + @After + public void tearDown() { + context.dispose(); + } + + /** + * Tests the ability of {@link StringToArrayConverter} in converting to arrays + * of various types + */ + @Test + public void testArrayConversion() { + // Component types for array conversions + List arrays = Arrays.asList( // + new byte[] { 1, 2, 3 }, // + new Byte[] { 1, 2, 3 }, // + new short[] { 1, 2, 3 }, // + new Short[] { 1, 2, 3 }, // + new int[] { 1, 2, 3 }, // + new Integer[] { 1, 2, 3 }, // + new long[] { 1, 2, 3 }, // + new Long[] { 1L, 2L, 3L }, // + new float[] { 1, 2, 3 }, // + new Float[] { 1F, 2F, 3F }, // + new double[] { 1, 2, 3 }, // + new Double[] { 1., 2., 3. } // + ); + // String expectation + String sInt = "{1, 2, 3}"; + String sFloat = "{1.0, 2.0, 3.0}"; + for (Object array : arrays) { + // Ensure our Converter can do the conversion + Assert.assertTrue(converter.canConvert(array, String.class)); + // Do the conversion + String converted = converter.convert(array, String.class); + // Ensure correctness + Assert.assertTrue(converted.equals(sInt) || converted.equals(sFloat)); + } + } + + /** + * Tests the ability of {@link ArrayToStringConverter} in converting + * 2-dimensional arrays + */ + @Test + public void test2DArrayConversion() { + byte[][] arr = new byte[][] { new byte[] { 0, 1 }, new byte[] { 2, 3 } }; + Assert.assertTrue(converter.canConvert(arr, String.class)); + String actual = converter.convert(arr, String.class); + String expected = "{{0, 1}, {2, 3}}"; + Assert.assertEquals(expected, actual); + } + + /** + * Tests the ability of {@link ArrayToStringConverter} in converting + * 3-dimensional arrays + */ + @Test + public void test3DArrayConversion() { + byte[][][] arr = new byte[2][2][2]; + for (int i = 0; i < 2; i++) + for (int j = 0; j < 2; j++) + for (int k = 0; k < 2; k++) + arr[i][j][k] = (byte) (i + j + k); + + Assert.assertTrue(converter.canConvert(arr, String.class)); + String actual = converter.convert(arr, String.class); + String expected = "{{{0, 1}, {1, 2}}, {{1, 2}, {2, 3}}}"; + Assert.assertEquals(expected, actual); + } + + /** + * Tests the ability of {@link ArrayToStringConverter} in converting empty + * arrays + */ + @Test + public void testEmptyArrayConversion() { + byte[] arr = new byte[0]; + Assert.assertTrue(converter.canConvert(arr, String.class)); + String actual = converter.convert(arr, String.class); + String expected = "{}"; + Assert.assertEquals(expected, actual); + } + + /** + * Tests the ability of {@link ArrayToStringConverter} and + * {@link StringToArrayConverter} to perform a cyclic conversion. + */ + @Test + public void testCyclicConversion() { + byte[] expected = new byte[] {1, 2, 3}; + // Do the first conversion + ArrayToStringConverter c1 = new ArrayToStringConverter(); + context.inject(c1); + String converted = c1.convert(expected, String.class); + // Convert back + StringToArrayConverter c2 = new StringToArrayConverter(); + context.inject(c2); + byte[] actual = c2.convert(converted, byte[].class); + Assert.assertArrayEquals(expected, actual); + } + +} diff --git a/src/test/java/org/scijava/convert/StringToArrayConverterTest.java b/src/test/java/org/scijava/convert/StringToArrayConverterTest.java new file mode 100644 index 000000000..f26bf804c --- /dev/null +++ b/src/test/java/org/scijava/convert/StringToArrayConverterTest.java @@ -0,0 +1,158 @@ +/* + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2022 SciJava developers. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ + +package org.scijava.convert; + +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.scijava.Context; + +import java.lang.reflect.Array; +import java.util.Arrays; +import java.util.List; + +/** + * Tests {@link StringToArrayConverter}. + * + * @author Gabriel Selzer + */ +public class StringToArrayConverterTest { + + private final StringToArrayConverter converter = new StringToArrayConverter(); + private ConvertService convertService; + private Context context; + + @Before + public void setUp() { + context = new Context(ConvertService.class); + context.inject(converter); + convertService = context.getService(ConvertService.class); + } + + @After + public void tearDown() { + context.dispose(); + } + + /** + * Tests the ability of {@link StringToArrayConverter} in converting to arrays + * of various types + */ + @Test + public void testArrayConversion() { + // Component types for array conversions + List> classes = Arrays.asList( // + byte.class, // + Byte.class, // + short.class, // + Short.class, // + int.class, // + Integer.class, // + long.class, // + Long.class, // + float.class, // + Float.class, // + double.class, // + Double.class // + ); + // String input + String s = "{0, 1, 2}"; + for (Class c : classes) { + // Make the array class + Class arrayClass = Array.newInstance(c, 0).getClass(); + // Ensure our Converter can do the conversion + Assert.assertTrue(converter.canConvert(s, arrayClass)); + // Do the conversion + Object converted = converter.convert(s, arrayClass); + // Ensure the output is the expected type + Assert.assertEquals(arrayClass, converted.getClass()); + for (int i = 0; i < 3; i++) { + // Ensure element correctness + Object expected = convertService.convert(i, c); + Assert.assertEquals(expected, Array.get(converted, i)); + } + } + } + + /** + * Tests the ability of {@link StringToArrayConverter} in converting + * 2-dimensional arrays + */ + @Test + public void test2DArrayConversion() { + String s = "{{0, 1}, {2, 3}}"; + Assert.assertTrue(converter.canConvert(s, byte[][].class)); + byte[][] actual = converter.convert(s, byte[][].class); + Assert.assertEquals(0, actual[0][0]); + Assert.assertEquals(1, actual[0][1]); + Assert.assertEquals(2, actual[1][0]); + Assert.assertEquals(3, actual[1][1]); + } + + /** + * Tests the ability of {@link StringToArrayConverter} in converting + * 3-dimensional arrays + */ + @Test + public void test3DArrayConversion() { + String s = "{{{0, 1}, {1, 2}},{{1, 2}, {2, 3}}}"; + Assert.assertTrue(converter.canConvert(s, byte[][][].class)); + byte[][][] actual = converter.convert(s, byte[][][].class); + + for (int i = 0; i < 2; i++) + for (int j = 0; j < 2; j++) + for (int k = 0; k < 2; k++) + Assert.assertEquals(i + j + k, actual[i][j][k]); + } + + /** + * Tests the ability of {@link StringToArrayConverter} in converting empty + * arrays + */ + @Test + public void testEmptyArrayConversion() { + String s = "{}"; + Assert.assertTrue(converter.canConvert(s, byte[].class)); + byte[] actual = converter.convert(s, byte[].class); + Assert.assertEquals(0, actual.length); + } + + /** + * Tests the ability of {@link StringToArrayConverter} in converting only + * arrays whose elements can be converted + */ + @Test + public void testInconvertibleArrayType() { + String s = "{ConverterA}"; + Assert.assertFalse(converter.canConvert(s, Converter[].class)); + } + +} diff --git a/src/test/java/org/scijava/module/ModuleServiceTest.java b/src/test/java/org/scijava/module/ModuleServiceTest.java index dffd09e02..dd9e15af8 100644 --- a/src/test/java/org/scijava/module/ModuleServiceTest.java +++ b/src/test/java/org/scijava/module/ModuleServiceTest.java @@ -40,9 +40,12 @@ import org.junit.Before; import org.junit.Test; import org.scijava.Context; -import org.scijava.util.ObjectArray; -import static org.junit.Assert.*; +import static org.junit.Assert.assertArrayEquals; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertSame; +import static org.junit.Assert.assertTrue; /** * Tests {@link ModuleService}. @@ -162,59 +165,63 @@ public void testGetSingleInput() throws ModuleException { @Test public void testSaveAndLoad() { - List parameterizations = new ArrayList<>(); - parameterizations.add(new Object[] { // - double[].class, new double[] {} // - }); - parameterizations.add(new Object[] { // - double[].class, new double[] { 1., 2., 3. } // - }); - parameterizations.add(new Object[] { // - Double[].class, new Double[] {} // - }); - parameterizations.add(new Object[] { // - Double[].class, new Double[] { 1., 2., 3. } // - }); - - for (Object[] params : parameterizations) { - Class type = (Class) params[0]; - Object expected = params[1]; - // Get a ModuleItem of the right type - MutableModule m = new DefaultMutableModule(); - m.getInfo().addInput(new DefaultMutableModuleItem<>(m, "a", type)); - @SuppressWarnings("unchecked") - final ModuleItem item = (ModuleItem) moduleService - .getSingleInput(m, type); - // Save a value to the ModuleItem - moduleService.save(item, expected); - // Load that value from the ModuleItem - Object actual = moduleService.load(item); - // Assert equality - if (expected.getClass().isArray()) assertArrayEquality(expected, actual); - else assertEquals(expected, actual); + List objects = new ArrayList<>(); + objects.add(new Object[] { new double[] {} }); + objects.add(new Object[] { new double[] { 1., 2., 3. } }); + objects.add(new Object[] { new Double[] {} }); + objects.add(new Object[] { new Double[] { 1., 2., 3. } }); + + for (Object[] params : objects) { + saveParam(params[0]); } } + private void saveParam(T object) { + @SuppressWarnings("unchecked") + Class c = (Class) object.getClass(); + // Get a ModuleItem of the right type + MutableModule m = new DefaultMutableModule(); + m.getInfo().addInput(new DefaultMutableModuleItem<>(m, "a", c)); + final ModuleItem item = moduleService.getSingleInput(m, c); + // Save a value to the ModuleItem + moduleService.save(item, object); + // Load that value from the ModuleItem + Object actual = moduleService.load(item); + // Assert equality + if (object.getClass().isArray()) assertArrayEquality(object, actual); + else assertEquals(object, actual); + } + private void assertArrayEquality(Object arr1, Object arr2) { // Ensure that both Objects are arrays of the same type! assertEquals(arr1.getClass(), arr2.getClass()); assertTrue(arr1.getClass().isArray()); // We must check primitive arrays as they cannot be cast to Object[] - if (arr1 instanceof boolean[]) // + if (arr1 instanceof boolean[]) { assertArrayEquals((boolean[]) arr1, (boolean[]) arr2); - else if (arr1 instanceof short[]) // + } + else if (arr1 instanceof byte[]) { + assertArrayEquals((byte[]) arr1, (byte[]) arr2); + } + else if (arr1 instanceof short[]) { assertArrayEquals((short[]) arr1, (short[]) arr2); - else if (arr1 instanceof int[]) // + } + else if (arr1 instanceof int[]) { assertArrayEquals((int[]) arr1, (int[]) arr2); - else if (arr1 instanceof long[]) // + } + else if (arr1 instanceof long[]) { assertArrayEquals((long[]) arr1, (long[]) arr2); - else if (arr1 instanceof float[]) // + } + else if (arr1 instanceof float[]) { assertArrayEquals((float[]) arr1, (float[]) arr2, 1e-6f); - else if (arr1 instanceof double[]) // + } + else if (arr1 instanceof double[]) { assertArrayEquals((double[]) arr1, (double[]) arr2, 1e-6); - else if (arr1 instanceof char[]) // + } + else if (arr1 instanceof char[]) { assertArrayEquals((char[]) arr1, (char[]) arr2); + } // Otherwise we can just cast to Object[] else assertArrayEquals((Object[]) arr1, (Object[]) arr2); } @@ -259,6 +266,7 @@ private static String mapToString(final Map map) { /** A sample module for testing the module service. */ public static class FooModule extends AbstractModule { + private final FooModuleInfo info; public FooModule(final FooModuleInfo info) { From 0142f59d03e0a031b60a67ed4b94eb59ad4be510 Mon Sep 17 00:00:00 2001 From: Gabriel Selzer Date: Thu, 18 Aug 2022 09:42:38 -0500 Subject: [PATCH 224/383] Add a note about StringToArray.canConvert --- .../java/org/scijava/convert/StringToArrayConverter.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/org/scijava/convert/StringToArrayConverter.java b/src/main/java/org/scijava/convert/StringToArrayConverter.java index fdc57d5b4..d78df7d13 100644 --- a/src/main/java/org/scijava/convert/StringToArrayConverter.java +++ b/src/main/java/org/scijava/convert/StringToArrayConverter.java @@ -67,6 +67,11 @@ public boolean canConvert(final Object src, final Class dest) { String srcString = (String) src; if (!(srcString.startsWith("{") && srcString.endsWith("}"))) return false; List components = elements((String) src); + // NB this check is merely a heuristic. In the case of a heterogeneous + // array, canConvert may falsely return positive, if later elements in the + // string-ified array cannot be converted into Objects. We make this + // compromise in the interest of speed, however, as ensuring correctness + // would require a premature conversion of the entire array. return components.size() == 0 || convertService.supports(components.get(0), dest.getComponentType()); } From 8203b522944594365c3bb78c192fda6996c1bc9a Mon Sep 17 00:00:00 2001 From: Gabriel Selzer Date: Thu, 18 Aug 2022 09:46:08 -0500 Subject: [PATCH 225/383] Format StringToArray.convert() IAE better It doesn't wrap anymore. --- .../java/org/scijava/convert/StringToArrayConverter.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/scijava/convert/StringToArrayConverter.java b/src/main/java/org/scijava/convert/StringToArrayConverter.java index d78df7d13..0dd55298f 100644 --- a/src/main/java/org/scijava/convert/StringToArrayConverter.java +++ b/src/main/java/org/scijava/convert/StringToArrayConverter.java @@ -79,8 +79,9 @@ public boolean canConvert(final Object src, final Class dest) { @Override public Object convert(Object src, Type dest) { final Type componentType = Types.component(dest); - if (componentType == null) throw new IllegalArgumentException(dest + - " is not an array type!"); + if (componentType == null) { + throw new IllegalArgumentException(dest + " is not an array type!"); + } return convertToArray((String) src, componentType); } From e852b7e3abc94e570977a933e313bf9d5efe515b Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Thu, 18 Aug 2022 11:12:09 -0500 Subject: [PATCH 226/383] README: change chat badge from gitter to zulip --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 06c483c15..42cba38b4 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ [![](https://img.shields.io/maven-central/v/org.scijava/scijava-common.svg)](http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.scijava%22%20AND%20a%3A%22scijava-common%22) [![](https://github.com/scijava/scijava-common/actions/workflows/build-main.yml/badge.svg)](https://github.com/scijava/scijava-common/actions/workflows/build-main.yml) -[![Join the chat at https://gitter.im/scijava/scijava-common](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/scijava/scijava-common?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) +[![developer chat](https://img.shields.io/badge/zulip-join_chat-brightgreen.svg)](https://imagesc.zulipchat.com/#narrow/stream/327237-SciJava) SciJava Common is a common library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed From e1ae87d67a1ce0e4efb61b698f0ccff562415972 Mon Sep 17 00:00:00 2001 From: Gabriel Selzer Date: Thu, 18 Aug 2022 11:39:02 -0500 Subject: [PATCH 227/383] Use Parsington for string parsing --- .../convert/StringToArrayConverter.java | 94 +++++++++++++++---- 1 file changed, 78 insertions(+), 16 deletions(-) diff --git a/src/main/java/org/scijava/convert/StringToArrayConverter.java b/src/main/java/org/scijava/convert/StringToArrayConverter.java index 0dd55298f..8bbbf54c3 100644 --- a/src/main/java/org/scijava/convert/StringToArrayConverter.java +++ b/src/main/java/org/scijava/convert/StringToArrayConverter.java @@ -30,6 +30,8 @@ package org.scijava.convert; import org.scijava.Priority; +import org.scijava.parsington.ExpressionParser; +import org.scijava.parsington.SyntaxTree; import org.scijava.plugin.Parameter; import org.scijava.plugin.Plugin; import org.scijava.util.Types; @@ -38,6 +40,7 @@ import java.lang.reflect.Type; import java.util.ArrayList; import java.util.List; +import java.util.Optional; /** * A {@link Converter} that specializes in converting {@link String}s to @@ -47,12 +50,14 @@ * * @author Gabriel Selzer */ -@Plugin(type = Converter.class, priority=Priority.VERY_LOW) +@Plugin(type = Converter.class, priority = Priority.VERY_LOW) public class StringToArrayConverter extends AbstractConverter { @Parameter private ConvertService convertService; + private final ExpressionParser parser = new ExpressionParser(); + @Override public boolean canConvert(final Class src, final Class dest) { if (src == null) return false; @@ -61,19 +66,35 @@ public boolean canConvert(final Class src, final Class dest) { return saneSrc == String.class && saneDest.isArray(); } + @Override + public boolean canConvert(final Object src, final Type dest) { + return canConvert(src, Types.raw(dest)); + } + @Override public boolean canConvert(final Object src, final Class dest) { + + // First, ensure the base types conform if (!canConvert(src.getClass(), dest)) return false; - String srcString = (String) src; - if (!(srcString.startsWith("{") && srcString.endsWith("}"))) return false; - List components = elements((String) src); + // Then, ensure we can parse the string + SyntaxTree tree; + try { + tree = parser.parseTree((String) src); + } + catch (IllegalArgumentException e) { + return false; + } + // We can always convert empty arrays as we don't have to create Objects + if (tree.count() == 0) return true; + // Finally, ensure that we can convert the elements of the array. // NB this check is merely a heuristic. In the case of a heterogeneous // array, canConvert may falsely return positive, if later elements in the // string-ified array cannot be converted into Objects. We make this // compromise in the interest of speed, however, as ensuring correctness // would require a premature conversion of the entire array. - return components.size() == 0 || convertService.supports(components.get(0), - dest.getComponentType()); + Object testSrc = firstElement(tree); + Class testDest = unitComponentType(dest); + return convertService.supports(testSrc, testDest); } @Override @@ -82,13 +103,19 @@ public Object convert(Object src, Type dest) { if (componentType == null) { throw new IllegalArgumentException(dest + " is not an array type!"); } - return convertToArray((String) src, componentType); + try { + SyntaxTree tree = parser.parseTree((String) src); + return convertToArray(tree, Types.raw(componentType)); + } + catch (IllegalArgumentException e) { + return null; + } } @SuppressWarnings("unchecked") @Override public T convert(Object src, Class dest) { - return (T) convert((String) src, (Type) dest); + return (T) convert(src, (Type) dest); } @Override @@ -106,21 +133,55 @@ public Class getInputType() { /** * Converts {@code src} into an array of component type {@code componentType} * - * @param src the {@link String} to convert + * @param tree the {@link String} to convert * @param componentType the component type of the output array * @return an array of {@code componentType} whose elements were created from * {@code src} */ - private Object convertToArray(String src, final Type componentType) { - List elements = elements( src); - Class componentClass = Types.raw(componentType); - final Object array = Array.newInstance(componentClass, elements.size()); - for (int i = 0; i < elements.size(); i++) - Array.set(array, i, convertService.convert(elements.get(i), - componentClass)); + private Object convertToArray(SyntaxTree tree, final Class componentType) { + // Create the array + final Object array = Array.newInstance(componentType, tree.count()); + // Set each element of the array + for (int i = 0; i < tree.count(); i++) { + SyntaxTree subTree = tree.child(i); + Object element; + // Case 1: Element is an array + if (componentType.isArray()) { + element = convertToArray(subTree, componentType.getComponentType()); + } + // Case 2: Element is a single object + else { + element = convertService.convert(subTree.token(), componentType); + } + Array.set(array, i, element); + } return array; } + /** + * Similar to {@link Class#getComponentType()}, but handles nested array types + * + * @param c the {@link Class} that may be an array class + * @return the unit component type of {@link Class} {@code c} + */ + private Class unitComponentType(Class c) { + if (!c.isArray()) return c; + return unitComponentType(c.getComponentType()); + } + + /** + * Traverses {@code tree} to find the first element + * + * @param tree the {@link SyntaxTree} containing elements + * @return the first {@link Object} in {@code tree} + */ + private Object firstElement(SyntaxTree tree) { + while (tree.count() > 0) { + tree = tree.child(0); + } + return tree.token(); + } + /** * Gets the elements of {@code src}. * @@ -173,6 +234,7 @@ private List splitByComma(String s) { /** * Helper method used to filter and format the additions to {@code list} + * * @param list the {@link List} to add to * @param s the {@link String} to (potentially) be added. */ From 244348726da4796ada9e27e79439929a6a979372 Mon Sep 17 00:00:00 2001 From: Gabriel Selzer Date: Thu, 18 Aug 2022 12:27:43 -0500 Subject: [PATCH 228/383] Clean up ModuleServiceTest --- .../org/scijava/module/ModuleServiceTest.java | 33 +++++++++---------- 1 file changed, 15 insertions(+), 18 deletions(-) diff --git a/src/test/java/org/scijava/module/ModuleServiceTest.java b/src/test/java/org/scijava/module/ModuleServiceTest.java index dd9e15af8..f863fe2ab 100644 --- a/src/test/java/org/scijava/module/ModuleServiceTest.java +++ b/src/test/java/org/scijava/module/ModuleServiceTest.java @@ -29,7 +29,13 @@ package org.scijava.module; -import java.util.ArrayList; +import static org.junit.Assert.assertArrayEquals; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertSame; +import static org.junit.Assert.assertTrue; + +import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -41,12 +47,6 @@ import org.junit.Test; import org.scijava.Context; -import static org.junit.Assert.assertArrayEquals; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertSame; -import static org.junit.Assert.assertTrue; - /** * Tests {@link ModuleService}. * @@ -164,19 +164,16 @@ public void testGetSingleInput() throws ModuleException { @Test public void testSaveAndLoad() { - - List objects = new ArrayList<>(); - objects.add(new Object[] { new double[] {} }); - objects.add(new Object[] { new double[] { 1., 2., 3. } }); - objects.add(new Object[] { new Double[] {} }); - objects.add(new Object[] { new Double[] { 1., 2., 3. } }); - - for (Object[] params : objects) { - saveParam(params[0]); - } + List objects = Arrays.asList( // + new double[] {}, // + new double[] { 1., 2., 3. }, // + new Double[] {}, // + new Double[] { 1., 2., 3. } // + ); + objects.forEach(this::assertParamSavedAndLoaded); } - private void saveParam(T object) { + private void assertParamSavedAndLoaded(T object) { @SuppressWarnings("unchecked") Class c = (Class) object.getClass(); // Get a ModuleItem of the right type From e17229dc0a8caf81b7c2d6481db2d0e45e98a1d5 Mon Sep 17 00:00:00 2001 From: Gabriel Selzer Date: Thu, 18 Aug 2022 13:41:04 -0500 Subject: [PATCH 229/383] Test special conditions --- .../convert/ArrayToStringConverter.java | 43 +++++++++++-- .../convert/StringToArrayConverter.java | 61 ------------------- .../convert/StringToArrayConverterTest.java | 36 ++++++++++- 3 files changed, 72 insertions(+), 68 deletions(-) diff --git a/src/main/java/org/scijava/convert/ArrayToStringConverter.java b/src/main/java/org/scijava/convert/ArrayToStringConverter.java index 922f2eac6..90f1e5ff2 100644 --- a/src/main/java/org/scijava/convert/ArrayToStringConverter.java +++ b/src/main/java/org/scijava/convert/ArrayToStringConverter.java @@ -31,8 +31,6 @@ import java.lang.reflect.Array; import java.lang.reflect.Type; -import java.util.ArrayList; -import java.util.List; import java.util.stream.Collectors; import org.scijava.Priority; @@ -67,13 +65,46 @@ public class ArrayToStringConverter extends AbstractConverter { return convertService.supports(Array.get(src, 0), dest); } - @Override public Object convert(Object src, Type dest) { - final String elementString = ArrayUtils.toCollection(src).stream() // - .map(object -> convertService.convert(object, String.class)) // - .collect(Collectors.joining(", ")); + @Override + public Object convert(Object src, Type dest) { + // Preprocess the "string-likes" + if (src.getClass().equals(String[].class) || // + src.getClass().equals(Character[].class) || // + src.getClass().equals(char[].class)) // + { + src = preprocessCharacters(src); + } + // Convert each element to Strings + String elementString = ArrayUtils.toCollection(src).stream() // + .map(object -> convertService.convert(object, String.class)) // + .collect(Collectors.joining(", ")); return "{" + elementString + "}"; } + private String[] preprocessStrings(final Object src) { + int numElements = Array.getLength(src); + String[] processed = new String[numElements]; + for (int i = 0; i < numElements; i++) { + processed[i] = preprocessString(Array.get(src, i)); + } + return processed; + } + + private String preprocessString(final Object o) { + String s = o.toString(); + s = s.replace("\\", "\\\\"); + s = s.replace("\"", "\\\""); + return "\"" + s + "\""; + } + + private String[] preprocessCharacters(Object src) { + String[] processed = new String[Array.getLength(src)]; + for (int i = 0; i < processed.length; i++) { + processed[i] = Array.get(src, i).toString(); + } + return preprocessStrings(processed); + } + @SuppressWarnings("unchecked") @Override public T convert(Object src, Class dest) { return (T) convert(src, (Type) dest); diff --git a/src/main/java/org/scijava/convert/StringToArrayConverter.java b/src/main/java/org/scijava/convert/StringToArrayConverter.java index 8bbbf54c3..64db2bb46 100644 --- a/src/main/java/org/scijava/convert/StringToArrayConverter.java +++ b/src/main/java/org/scijava/convert/StringToArrayConverter.java @@ -182,65 +182,4 @@ private Object firstElement(SyntaxTree tree) { return tree.token(); } - /** - * Gets the elements of {@code src}. - * - * @param src a {@link String} consisting of: - *
      - *
    1. A leading curly brace
    2. - *
    3. Some non-negative number of elements, can be a sublist.
    4. - *
    5. A trailing curly brace
    6. - *
    - * @return the elements of {@code src} - */ - private List elements(String src) { - // trim off the leading curly brace - if (src.startsWith("{")) src = src.substring(1); - // trim off the ending curly brace - if (src.endsWith("}")) src = src.substring(0, src.length() - 1); - return splitByComma(src); - } - - /** - * Custom method for {@link String} splitting. Splits on TOP-LEVEL commas. - * TODO: Is there a regex for which {@link String#split(String)} would work? - * - * @param s the {@link String} to split - * @return a {@link List} of substrings, split by a comma. - */ - private List splitByComma(String s) { - int openBraces = 0; - List arrayList = new ArrayList<>(); - int start = 0; - for (int i = 0; i < s.length(); i++) { - switch (s.charAt(i)) { - case '{': - openBraces++; - break; - case '}': - openBraces--; - break; - case ',': - if (openBraces == 0) { - addString(arrayList, s.substring(start, i)); - start = i + 1; - } - } - } - // Get the last substring - addString(arrayList, s.substring(start)); - return arrayList; - } - - /** - * Helper method used to filter and format the additions to {@code list} - * - * @param list the {@link List} to add to - * @param s the {@link String} to (potentially) be added. - */ - private void addString(List list, String s) { - s = s.trim(); - if (!s.equals("")) list.add(s); - } - } diff --git a/src/test/java/org/scijava/convert/StringToArrayConverterTest.java b/src/test/java/org/scijava/convert/StringToArrayConverterTest.java index f26bf804c..ef361b9e0 100644 --- a/src/test/java/org/scijava/convert/StringToArrayConverterTest.java +++ b/src/test/java/org/scijava/convert/StringToArrayConverterTest.java @@ -116,7 +116,6 @@ public void test2DArrayConversion() { Assert.assertEquals(2, actual[1][0]); Assert.assertEquals(3, actual[1][1]); } - /** * Tests the ability of {@link StringToArrayConverter} in converting * 3-dimensional arrays @@ -155,4 +154,39 @@ public void testInconvertibleArrayType() { Assert.assertFalse(converter.canConvert(s, Converter[].class)); } + /** + * Tests the special case of {@link String}s + */ + @Test + public void testStringArrayConversion() { + String[] expected = new String[] { // + "{foo", "bar}", // + "ha\nha", // + "foo,bar", // + "lol\"lol", // + "foo\\\"bar" // + }; + String converted = convertService.convert(expected, String.class); + String[] actual = convertService.convert(converted, String[].class); + Assert.assertArrayEquals(expected, actual); + } + + /** + * Tests the special case of {@link Character}s + */ + @Test + public void testCharacterArrayConversion() { + Character[] expected = new Character[] { // + 's', // + '\n', // + ',', // + '{', // + '}' // + }; + String converted = convertService.convert(expected, String.class); + Character[] actual = convertService.convert(converted, Character[].class); + Assert.assertArrayEquals(expected, actual); + } + + } From 95189404f8e8e7416a284e2509d6b1ebf76b3f15 Mon Sep 17 00:00:00 2001 From: Jan Eglinger Date: Thu, 25 Aug 2022 10:38:39 +0200 Subject: [PATCH 230/383] Adjust comment in NumberUtilsTest.java --- src/test/java/org/scijava/util/NumberUtilsTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/org/scijava/util/NumberUtilsTest.java b/src/test/java/org/scijava/util/NumberUtilsTest.java index e175ab8e7..c838ccc89 100644 --- a/src/test/java/org/scijava/util/NumberUtilsTest.java +++ b/src/test/java/org/scijava/util/NumberUtilsTest.java @@ -64,7 +64,7 @@ public void testGetMaximumNumber() { assertEquals(Long.MAX_VALUE, NumberUtils.getMaximumNumber(Long.class)); assertEquals(Float.MAX_VALUE, NumberUtils.getMaximumNumber(Float.class)); assertEquals(Double.MAX_VALUE, NumberUtils.getMaximumNumber(Double.class)); - // Number's minimum value should be the smallest of all the above -> Double + // Number's maximum value should be the largest of all the above -> Double assertEquals(Double.MAX_VALUE, NumberUtils.getMaximumNumber(Number.class)); } } From a841ee2cdf128b827f83a0ab7df9def1724f3b45 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 29 Aug 2022 16:06:47 -0500 Subject: [PATCH 231/383] DefaultUIService: fix class name typo The relevant class is GraphicsEnvironment, not GraphicsConfiguration. --- src/main/java/org/scijava/ui/DefaultUIService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/scijava/ui/DefaultUIService.java b/src/main/java/org/scijava/ui/DefaultUIService.java index 42899053b..d26cbd5d7 100644 --- a/src/main/java/org/scijava/ui/DefaultUIService.java +++ b/src/main/java/org/scijava/ui/DefaultUIService.java @@ -191,7 +191,7 @@ public void setHeadless(final boolean headless) { @Override public boolean isHeadless() { - // NB: We do not use java.awt.GraphicsConfiguration.isHeadless() + // NB: We do not use java.awt.GraphicsEnvironment.isHeadless() // because scijava-common eschews java.awt.* classes when possible. return forceHeadless || Boolean.getBoolean("java.awt.headless"); } From 77758562d0a1526cbcf19f4980f42e93a44db264 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Sat, 17 Sep 2022 12:33:37 -0500 Subject: [PATCH 232/383] POM: update parent to pom-scijava 33.2.0 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 0ed9c5fc3..8f538e5bc 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.scijava pom-scijava - 32.0.0-beta-4 + 33.2.0 From aa7fe2e241c9e5dcca2ffad7945475aca47dc72c Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Sat, 17 Sep 2022 17:53:33 -0500 Subject: [PATCH 233/383] Fix bug where text formats claim all files The file extension check was not being invoked, due to multiple inheritance order of precedence. --- .../org/scijava/text/AbstractTextFormat.java | 11 ++- .../java/org/scijava/text/TextFormat.java | 1 + .../org/scijava/text/TextServiceTest.java | 86 +++++++++++++++++++ 3 files changed, 97 insertions(+), 1 deletion(-) create mode 100644 src/test/java/org/scijava/text/TextServiceTest.java diff --git a/src/main/java/org/scijava/text/AbstractTextFormat.java b/src/main/java/org/scijava/text/AbstractTextFormat.java index 202092996..72654f649 100644 --- a/src/main/java/org/scijava/text/AbstractTextFormat.java +++ b/src/main/java/org/scijava/text/AbstractTextFormat.java @@ -41,5 +41,14 @@ public abstract class AbstractTextFormat extends AbstractHandlerPlugin implements TextFormat { - // NB: No implementation needed. + // -- Typed methods -- + + @Override + public boolean supports(final File data) { + // NB: This override is necessary, because the default super is + // AbstractHandlerPlugin->AbstractTypedPlugin->TypedPlugin->Typed, + // which fails to invoke the needed TextFormat.super. + // See fiji/fiji#303 and fiji/HDF5_Vibez#18. + return TextFormat.super.supports(data); + } } diff --git a/src/main/java/org/scijava/text/TextFormat.java b/src/main/java/org/scijava/text/TextFormat.java index 40a314e8a..01002be53 100644 --- a/src/main/java/org/scijava/text/TextFormat.java +++ b/src/main/java/org/scijava/text/TextFormat.java @@ -63,6 +63,7 @@ public interface TextFormat extends HandlerPlugin { @Override default boolean supports(final File file) { + if (!HandlerPlugin.super.supports(file)) return false; for (final String ext : getExtensions()) { if (FileUtils.getExtension(file).equalsIgnoreCase(ext)) return true; } diff --git a/src/test/java/org/scijava/text/TextServiceTest.java b/src/test/java/org/scijava/text/TextServiceTest.java new file mode 100644 index 000000000..974e0cbac --- /dev/null +++ b/src/test/java/org/scijava/text/TextServiceTest.java @@ -0,0 +1,86 @@ +/*- + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2022 SciJava developers. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ +package org.scijava.text; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; + +import java.io.File; +import java.util.Arrays; +import java.util.List; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.scijava.Context; +import org.scijava.plugin.Plugin; + +/** Tests {@link TextService}. */ +public class TextServiceTest { + + private Context ctx; + private TextService textService; + + @Before + public void setUp() { + ctx = new Context(TextService.class); + textService = ctx.service(TextService.class); + } + + @After + public void tearDown() { + ctx.dispose(); + } + + @Test + public void testGetHandler() { + final TextFormat fooHandler = textService.getHandler(new File("data.foo")); + assertNotNull(fooHandler); + assertEquals(FooTextFormat.class, fooHandler.getClass()); + System.out.println(fooHandler); + + final TextFormat barHandler = textService.getHandler(new File("data.bar")); + assertNull(barHandler); + } + + @Plugin(type = TextFormat.class) + public static class FooTextFormat extends AbstractTextFormat { + + @Override + public List getExtensions() { + return Arrays.asList("foo"); + } + + @Override + public String asHTML(final String text) { + return "[FOO]" + text + "[/FOO]"; + } + } +} From 17da84f728d8a6abdf9be1da2362ee61b40cfbad Mon Sep 17 00:00:00 2001 From: Gabriel Selzer Date: Wed, 21 Sep 2022 16:12:21 -0500 Subject: [PATCH 234/383] Remove unused imports and fields --- src/main/java/org/scijava/convert/StringToArrayConverter.java | 3 --- src/main/java/org/scijava/util/ArrayUtils.java | 2 -- .../java/org/scijava/convert/ArrayToStringConverterTest.java | 2 -- 3 files changed, 7 deletions(-) diff --git a/src/main/java/org/scijava/convert/StringToArrayConverter.java b/src/main/java/org/scijava/convert/StringToArrayConverter.java index 64db2bb46..4882e747a 100644 --- a/src/main/java/org/scijava/convert/StringToArrayConverter.java +++ b/src/main/java/org/scijava/convert/StringToArrayConverter.java @@ -38,9 +38,6 @@ import java.lang.reflect.Array; import java.lang.reflect.Type; -import java.util.ArrayList; -import java.util.List; -import java.util.Optional; /** * A {@link Converter} that specializes in converting {@link String}s to diff --git a/src/main/java/org/scijava/util/ArrayUtils.java b/src/main/java/org/scijava/util/ArrayUtils.java index 81b6cf28b..c6487c5cf 100644 --- a/src/main/java/org/scijava/util/ArrayUtils.java +++ b/src/main/java/org/scijava/util/ArrayUtils.java @@ -58,9 +58,7 @@ package org.scijava.util; -import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import java.util.List; /** diff --git a/src/test/java/org/scijava/convert/ArrayToStringConverterTest.java b/src/test/java/org/scijava/convert/ArrayToStringConverterTest.java index 9e1de8785..63a1f4ba9 100644 --- a/src/test/java/org/scijava/convert/ArrayToStringConverterTest.java +++ b/src/test/java/org/scijava/convert/ArrayToStringConverterTest.java @@ -46,14 +46,12 @@ public class ArrayToStringConverterTest { private final ArrayToStringConverter converter = new ArrayToStringConverter(); - private ConvertService convertService; private Context context; @Before public void setUp() { context = new Context(ConvertService.class); context.inject(converter); - convertService = context.getService(ConvertService.class); } @After From 73239ad09c78170494b07f0a3e6ce1ad50207033 Mon Sep 17 00:00:00 2001 From: Gabriel Selzer Date: Wed, 21 Sep 2022 16:55:56 -0500 Subject: [PATCH 235/383] Use ParseService Thanks @ctrueden for the suggestion --- .../convert/StringToArrayConverter.java | 27 +++++++++---------- .../convert/ArrayToStringConverterTest.java | 3 ++- .../convert/StringToArrayConverterTest.java | 3 ++- .../org/scijava/module/ModuleServiceTest.java | 3 ++- 4 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/main/java/org/scijava/convert/StringToArrayConverter.java b/src/main/java/org/scijava/convert/StringToArrayConverter.java index 4882e747a..e75415532 100644 --- a/src/main/java/org/scijava/convert/StringToArrayConverter.java +++ b/src/main/java/org/scijava/convert/StringToArrayConverter.java @@ -30,6 +30,8 @@ package org.scijava.convert; import org.scijava.Priority; +import org.scijava.parse.Items; +import org.scijava.parse.ParseService; import org.scijava.parsington.ExpressionParser; import org.scijava.parsington.SyntaxTree; import org.scijava.plugin.Parameter; @@ -53,6 +55,9 @@ public class StringToArrayConverter extends AbstractConverter { @Parameter private ConvertService convertService; + @Parameter + private ParseService parseService; + private final ExpressionParser parser = new ExpressionParser(); @Override @@ -101,8 +106,9 @@ public Object convert(Object src, Type dest) { throw new IllegalArgumentException(dest + " is not an array type!"); } try { - SyntaxTree tree = parser.parseTree((String) src); - return convertToArray(tree, Types.raw(componentType)); + return convertToArray( // + parseService.parse((String) src), // + Types.raw(componentType)); } catch (IllegalArgumentException e) { return null; @@ -135,21 +141,12 @@ public Class getInputType() { * @return an array of {@code componentType} whose elements were created from * {@code src} */ - private Object convertToArray(SyntaxTree tree, final Class componentType) { + private Object convertToArray(Items tree, final Class componentType) { // Create the array - final Object array = Array.newInstance(componentType, tree.count()); + final Object array = Array.newInstance(componentType, tree.size()); // Set each element of the array - for (int i = 0; i < tree.count(); i++) { - SyntaxTree subTree = tree.child(i); - Object element; - // Case 1: Element is an array - if (componentType.isArray()) { - element = convertToArray(subTree, componentType.getComponentType()); - } - // Case 2: Element is a single object - else { - element = convertService.convert(subTree.token(), componentType); - } + for (int i = 0; i < tree.size(); i++) { + Object element = convertService.convert(tree.get(i).value(), componentType); Array.set(array, i, element); } return array; diff --git a/src/test/java/org/scijava/convert/ArrayToStringConverterTest.java b/src/test/java/org/scijava/convert/ArrayToStringConverterTest.java index 63a1f4ba9..7623017cb 100644 --- a/src/test/java/org/scijava/convert/ArrayToStringConverterTest.java +++ b/src/test/java/org/scijava/convert/ArrayToStringConverterTest.java @@ -37,6 +37,7 @@ import org.junit.Before; import org.junit.Test; import org.scijava.Context; +import org.scijava.parse.ParseService; /** * Tests {@link ArrayToStringConverter}. @@ -50,7 +51,7 @@ public class ArrayToStringConverterTest { @Before public void setUp() { - context = new Context(ConvertService.class); + context = new Context(ConvertService.class, ParseService.class); context.inject(converter); } diff --git a/src/test/java/org/scijava/convert/StringToArrayConverterTest.java b/src/test/java/org/scijava/convert/StringToArrayConverterTest.java index ef361b9e0..0c0dfdd67 100644 --- a/src/test/java/org/scijava/convert/StringToArrayConverterTest.java +++ b/src/test/java/org/scijava/convert/StringToArrayConverterTest.java @@ -34,6 +34,7 @@ import org.junit.Before; import org.junit.Test; import org.scijava.Context; +import org.scijava.parse.ParseService; import java.lang.reflect.Array; import java.util.Arrays; @@ -52,7 +53,7 @@ public class StringToArrayConverterTest { @Before public void setUp() { - context = new Context(ConvertService.class); + context = new Context(ParseService.class, ConvertService.class); context.inject(converter); convertService = context.getService(ConvertService.class); } diff --git a/src/test/java/org/scijava/module/ModuleServiceTest.java b/src/test/java/org/scijava/module/ModuleServiceTest.java index f863fe2ab..2bd1fcb4b 100644 --- a/src/test/java/org/scijava/module/ModuleServiceTest.java +++ b/src/test/java/org/scijava/module/ModuleServiceTest.java @@ -46,6 +46,7 @@ import org.junit.Before; import org.junit.Test; import org.scijava.Context; +import org.scijava.parse.ParseService; /** * Tests {@link ModuleService}. @@ -58,7 +59,7 @@ public class ModuleServiceTest { @Before public void setUp() { - final Context context = new Context(ModuleService.class); + final Context context = new Context(ModuleService.class, ParseService.class); moduleService = context.service(ModuleService.class); } From 4843209ea4e0413661d472530ef25c3a8b4231bf Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 21 Sep 2022 18:20:06 -0500 Subject: [PATCH 236/383] POM: update parent to pom-scijava 33.2.0 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index b49783f68..97c05cd19 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.scijava pom-scijava - 32.0.0-beta-3 + 33.2.0 From 1df50ddead3447bbf74315608997b45f79ae2eda Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 21 Sep 2022 18:34:25 -0500 Subject: [PATCH 237/383] StringToArrayConverterTest: assert more thoroughly We can also assert the converted string, before converting back. --- .../org/scijava/convert/StringToArrayConverterTest.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/test/java/org/scijava/convert/StringToArrayConverterTest.java b/src/test/java/org/scijava/convert/StringToArrayConverterTest.java index 0c0dfdd67..dc1b87f18 100644 --- a/src/test/java/org/scijava/convert/StringToArrayConverterTest.java +++ b/src/test/java/org/scijava/convert/StringToArrayConverterTest.java @@ -168,6 +168,11 @@ public void testStringArrayConversion() { "foo\\\"bar" // }; String converted = convertService.convert(expected, String.class); + Assert.assertEquals("{\"{foo\", \"bar}\", " + // + "\"ha\nha\", " + // + "\"foo,bar\", " + // + "\"lol\\\"lol\", " + // + "\"foo\\\\\\\"bar\"}", converted); String[] actual = convertService.convert(converted, String[].class); Assert.assertArrayEquals(expected, actual); } @@ -185,6 +190,7 @@ public void testCharacterArrayConversion() { '}' // }; String converted = convertService.convert(expected, String.class); + Assert.assertEquals("{\"s\", \"\n\", \",\", \"{\", \"}\"}", converted); Character[] actual = convertService.convert(converted, Character[].class); Assert.assertArrayEquals(expected, actual); } From 14f4e47b38eb6f01b5acbe63a765c54a50c94745 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 21 Sep 2022 18:45:34 -0500 Subject: [PATCH 238/383] Fix license header whitespace The license-maven-plugin wants the extra trailing whitespace... --- src/main/java/org/scijava/convert/ArrayToStringConverter.java | 4 ++-- src/main/java/org/scijava/convert/StringToArrayConverter.java | 4 ++-- .../java/org/scijava/convert/ArrayToStringConverterTest.java | 4 ++-- .../java/org/scijava/convert/StringToArrayConverterTest.java | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/main/java/org/scijava/convert/ArrayToStringConverter.java b/src/main/java/org/scijava/convert/ArrayToStringConverter.java index 90f1e5ff2..77850b481 100644 --- a/src/main/java/org/scijava/convert/ArrayToStringConverter.java +++ b/src/main/java/org/scijava/convert/ArrayToStringConverter.java @@ -6,13 +6,13 @@ * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE diff --git a/src/main/java/org/scijava/convert/StringToArrayConverter.java b/src/main/java/org/scijava/convert/StringToArrayConverter.java index e75415532..ef0b291c6 100644 --- a/src/main/java/org/scijava/convert/StringToArrayConverter.java +++ b/src/main/java/org/scijava/convert/StringToArrayConverter.java @@ -6,13 +6,13 @@ * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE diff --git a/src/test/java/org/scijava/convert/ArrayToStringConverterTest.java b/src/test/java/org/scijava/convert/ArrayToStringConverterTest.java index 7623017cb..7f1f07b13 100644 --- a/src/test/java/org/scijava/convert/ArrayToStringConverterTest.java +++ b/src/test/java/org/scijava/convert/ArrayToStringConverterTest.java @@ -6,13 +6,13 @@ * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE diff --git a/src/test/java/org/scijava/convert/StringToArrayConverterTest.java b/src/test/java/org/scijava/convert/StringToArrayConverterTest.java index dc1b87f18..8234adae7 100644 --- a/src/test/java/org/scijava/convert/StringToArrayConverterTest.java +++ b/src/test/java/org/scijava/convert/StringToArrayConverterTest.java @@ -6,13 +6,13 @@ * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE From 42db182fa90ebe4fc79163713b8cf5ac7ee9b143 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 21 Sep 2022 18:51:36 -0500 Subject: [PATCH 239/383] Make services optional for array/string converters Especially the ParseService, because otherwise, if you include the ConvertService in your context without the ParseService, you'll see warnings that the StringToArrayConverter plugin cannot be instantiated. --- .../java/org/scijava/convert/ArrayToStringConverter.java | 4 +++- .../java/org/scijava/convert/StringToArrayConverter.java | 5 +++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/scijava/convert/ArrayToStringConverter.java b/src/main/java/org/scijava/convert/ArrayToStringConverter.java index 77850b481..029f5c1dd 100644 --- a/src/main/java/org/scijava/convert/ArrayToStringConverter.java +++ b/src/main/java/org/scijava/convert/ArrayToStringConverter.java @@ -50,7 +50,8 @@ @Plugin(type = Converter.class, priority = Priority.VERY_LOW) public class ArrayToStringConverter extends AbstractConverter { - @Parameter private ConvertService convertService; + @Parameter(required = false) + private ConvertService convertService; @Override public boolean canConvert(final Class src, final Class dest) { if (src == null) return false; @@ -60,6 +61,7 @@ public class ArrayToStringConverter extends AbstractConverter { } @Override public boolean canConvert(final Object src, final Class dest) { + if (convertService == null) return false; if (!canConvert(src.getClass(), dest)) return false; if (Array.getLength(src) == 0) return true; return convertService.supports(Array.get(src, 0), dest); diff --git a/src/main/java/org/scijava/convert/StringToArrayConverter.java b/src/main/java/org/scijava/convert/StringToArrayConverter.java index ef0b291c6..933561ef9 100644 --- a/src/main/java/org/scijava/convert/StringToArrayConverter.java +++ b/src/main/java/org/scijava/convert/StringToArrayConverter.java @@ -52,10 +52,10 @@ @Plugin(type = Converter.class, priority = Priority.VERY_LOW) public class StringToArrayConverter extends AbstractConverter { - @Parameter + @Parameter(required = false) private ConvertService convertService; - @Parameter + @Parameter(required = false) private ParseService parseService; private final ExpressionParser parser = new ExpressionParser(); @@ -75,6 +75,7 @@ public boolean canConvert(final Object src, final Type dest) { @Override public boolean canConvert(final Object src, final Class dest) { + if (convertService == null || parseService == null) return false; // First, ensure the base types conform if (!canConvert(src.getClass(), dest)) return false; From 497eff6eca3ee9687acddd9453859fef40071390 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 21 Sep 2022 19:03:08 -0500 Subject: [PATCH 240/383] StringToArrayConverter: purge Parsington usage The "Use ParseService" commit (73239ad09c78170494b07f0a3e6ce1ad50207033) was an incomplete update. This commit finishes the job, and fixes a bug in the recursive canConvert logic for multidimensional arrays. --- .../convert/StringToArrayConverter.java | 38 +++++-------------- 1 file changed, 10 insertions(+), 28 deletions(-) diff --git a/src/main/java/org/scijava/convert/StringToArrayConverter.java b/src/main/java/org/scijava/convert/StringToArrayConverter.java index 933561ef9..c5a34abad 100644 --- a/src/main/java/org/scijava/convert/StringToArrayConverter.java +++ b/src/main/java/org/scijava/convert/StringToArrayConverter.java @@ -29,18 +29,16 @@ package org.scijava.convert; +import java.lang.reflect.Array; +import java.lang.reflect.Type; + import org.scijava.Priority; import org.scijava.parse.Items; import org.scijava.parse.ParseService; -import org.scijava.parsington.ExpressionParser; -import org.scijava.parsington.SyntaxTree; import org.scijava.plugin.Parameter; import org.scijava.plugin.Plugin; import org.scijava.util.Types; -import java.lang.reflect.Array; -import java.lang.reflect.Type; - /** * A {@link Converter} that specializes in converting {@link String}s to * n-dimensional arrays. This {@link Converter} can convert any array whose @@ -58,8 +56,6 @@ public class StringToArrayConverter extends AbstractConverter { @Parameter(required = false) private ParseService parseService; - private final ExpressionParser parser = new ExpressionParser(); - @Override public boolean canConvert(final Class src, final Class dest) { if (src == null) return false; @@ -80,22 +76,22 @@ public boolean canConvert(final Object src, final Class dest) { // First, ensure the base types conform if (!canConvert(src.getClass(), dest)) return false; // Then, ensure we can parse the string - SyntaxTree tree; + Items tree; try { - tree = parser.parseTree((String) src); + tree = parseService.parse((String) src); } - catch (IllegalArgumentException e) { + catch (final IllegalArgumentException e) { return false; } // We can always convert empty arrays as we don't have to create Objects - if (tree.count() == 0) return true; + if (tree.size() == 0) return true; // Finally, ensure that we can convert the elements of the array. // NB this check is merely a heuristic. In the case of a heterogeneous // array, canConvert may falsely return positive, if later elements in the // string-ified array cannot be converted into Objects. We make this // compromise in the interest of speed, however, as ensuring correctness // would require a premature conversion of the entire array. - Object testSrc = firstElement(tree); + Object testSrc = tree.get(0).value(); Class testDest = unitComponentType(dest); return convertService.supports(testSrc, testDest); } @@ -111,7 +107,7 @@ public Object convert(Object src, Type dest) { parseService.parse((String) src), // Types.raw(componentType)); } - catch (IllegalArgumentException e) { + catch (final IllegalArgumentException e) { return null; } } @@ -161,20 +157,6 @@ private Object convertToArray(Items tree, final Class componentType) { */ private Class unitComponentType(Class c) { if (!c.isArray()) return c; - return unitComponentType(c.getComponentType()); + return c.getComponentType(); } - - /** - * Traverses {@code tree} to find the first element - * - * @param tree the {@link SyntaxTree} containing elements - * @return the first {@link Object} in {@code tree} - */ - private Object firstElement(SyntaxTree tree) { - while (tree.count() > 0) { - tree = tree.child(0); - } - return tree.token(); - } - } From 19637c4d2f1c4500a6c25882bb7c87dc65ab65a8 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Thu, 22 Sep 2022 10:41:03 -0500 Subject: [PATCH 241/383] Update some hyperlinks, and use HTTPS if possible --- NOTICE.txt | 4 ++-- README.md | 2 +- src/it/apt-test/pom.xml | 2 +- src/main/java/org/scijava/app/App.java | 2 +- src/main/java/org/scijava/io/location/URILocation.java | 2 +- src/main/java/org/scijava/io/nio/NIOService.java | 4 ++-- src/main/java/org/scijava/plugin/Parameter.java | 2 +- src/main/java/org/scijava/plugin/PluginIndex.java | 2 +- .../java/org/scijava/script/DefaultScriptInterpreter.java | 4 ++-- src/main/java/org/scijava/text/DefaultTextService.java | 2 +- src/main/java/org/scijava/util/AppUtils.java | 4 ++-- src/main/java/org/scijava/util/FileUtils.java | 2 +- src/main/java/org/scijava/util/ListUtils.java | 2 +- src/main/java/org/scijava/util/MirrorWebsite.java | 2 +- src/main/java/org/scijava/util/POM.java | 2 +- src/main/java/org/scijava/util/Types.java | 4 +--- src/test/java/org/scijava/util/FileUtilsTest.java | 8 ++++---- 17 files changed, 24 insertions(+), 26 deletions(-) diff --git a/NOTICE.txt b/NOTICE.txt index 74385d300..78b8ce335 100644 --- a/NOTICE.txt +++ b/NOTICE.txt @@ -5,7 +5,7 @@ both of which are licensed under the Apache 2.0 license, as follows: Apache License Version 2.0, January 2004 - http://www.apache.org/licenses/ + https://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION @@ -197,7 +197,7 @@ both of which are licensed under the Apache 2.0 license, as follows: 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 + https://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, diff --git a/README.md b/README.md index 42cba38b4..6a69bf198 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[![](https://img.shields.io/maven-central/v/org.scijava/scijava-common.svg)](http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.scijava%22%20AND%20a%3A%22scijava-common%22) +[![](https://img.shields.io/maven-central/v/org.scijava/scijava-common.svg)](https://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.scijava%22%20AND%20a%3A%22scijava-common%22) [![](https://github.com/scijava/scijava-common/actions/workflows/build-main.yml/badge.svg)](https://github.com/scijava/scijava-common/actions/workflows/build-main.yml) [![developer chat](https://img.shields.io/badge/zulip-join_chat-brightgreen.svg)](https://imagesc.zulipchat.com/#narrow/stream/327237-SciJava) diff --git a/src/it/apt-test/pom.xml b/src/it/apt-test/pom.xml index 8bfa04980..93eab1f4c 100644 --- a/src/it/apt-test/pom.xml +++ b/src/it/apt-test/pom.xml @@ -31,7 +31,7 @@ + https://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 @project.groupId@ diff --git a/src/main/java/org/scijava/app/App.java b/src/main/java/org/scijava/app/App.java index ad603f17f..aaa359dd9 100644 --- a/src/main/java/org/scijava/app/App.java +++ b/src/main/java/org/scijava/app/App.java @@ -144,7 +144,7 @@ default void quit() { /** * Gets the version of the application. *

    - * SciJava conforms to the Semantic + * SciJava conforms to the Semantic * Versioning specification. *

    * diff --git a/src/main/java/org/scijava/io/location/URILocation.java b/src/main/java/org/scijava/io/location/URILocation.java index 3311412e0..7b58d6a39 100644 --- a/src/main/java/org/scijava/io/location/URILocation.java +++ b/src/main/java/org/scijava/io/location/URILocation.java @@ -112,7 +112,7 @@ private Map decodeQuery(final String query) { * @see URLDecoder */ private String decode(final String s) { - // http://stackoverflow.com/a/6926987 + // https://stackoverflow.com/a/6926987 try { return URLDecoder.decode(s.replace("+", "%2B"), "UTF-8"); } diff --git a/src/main/java/org/scijava/io/nio/NIOService.java b/src/main/java/org/scijava/io/nio/NIOService.java index cbc8d681d..111ceb81c 100644 --- a/src/main/java/org/scijava/io/nio/NIOService.java +++ b/src/main/java/org/scijava/io/nio/NIOService.java @@ -60,8 +60,8 @@ public interface NIOService extends SciJavaService { * buffer. * @param newSize The buffer size. * @return A newly allocated or mapped NIO byte buffer. - * @see "http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5092131" - * @see "http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6417205" + * @see "https://bugs.java.com/bugdatabase/view_bug.do?bug_id=5092131" + * @see "https://bugs.java.com/bugdatabase/view_bug.do?bug_id=6417205" * @throws IOException If there is an issue mapping, aligning or allocating * the buffer. */ diff --git a/src/main/java/org/scijava/plugin/Parameter.java b/src/main/java/org/scijava/plugin/Parameter.java index 0a41c094d..cddcad87b 100644 --- a/src/main/java/org/scijava/plugin/Parameter.java +++ b/src/main/java/org/scijava/plugin/Parameter.java @@ -71,7 +71,7 @@ * */ // NB: We use the fully qualified name to work around a javac bug: - // http://bugs.sun.com/view_bug.do?bug_id=6512707 + // https://bugs.java.com/view_bug.do?bug_id=6512707 // See: // http://groups.google.com/group/project-lombok/browse_thread/thread/c5568eb659cab203 ItemIO type() default org.scijava.ItemIO.INPUT; diff --git a/src/main/java/org/scijava/plugin/PluginIndex.java b/src/main/java/org/scijava/plugin/PluginIndex.java index 73763ef03..640b6d61b 100644 --- a/src/main/java/org/scijava/plugin/PluginIndex.java +++ b/src/main/java/org/scijava/plugin/PluginIndex.java @@ -88,7 +88,7 @@ public PluginIndex() { */ @SuppressWarnings({ "rawtypes", "unchecked" }) public PluginIndex(final PluginFinder pluginFinder) { - // NB: See: http://stackoverflow.com/questions/4765520/ + // NB: See: https://stackoverflow.com/questions/4765520/ super((Class) PluginInfo.class); this.pluginFinder = pluginFinder; } diff --git a/src/main/java/org/scijava/script/DefaultScriptInterpreter.java b/src/main/java/org/scijava/script/DefaultScriptInterpreter.java index 147c141af..2e51a6322 100644 --- a/src/main/java/org/scijava/script/DefaultScriptInterpreter.java +++ b/src/main/java/org/scijava/script/DefaultScriptInterpreter.java @@ -46,7 +46,7 @@ * The default implementation of a {@link ScriptInterpreter}. *

    * Credit to Jason Sachs for the multi-line evaluation (see - * his post on StackOverflow). + * his post on StackOverflow). *

    * * @author Johannes Schindelin @@ -174,7 +174,7 @@ public Object eval(final String command) throws ScriptException { * fact that there was a syntax error in the 2nd line. * *

    - * For further details, see SO + * For further details, see SO * #5584674. *

    */ diff --git a/src/main/java/org/scijava/text/DefaultTextService.java b/src/main/java/org/scijava/text/DefaultTextService.java index dab8a2898..63c56cb9d 100644 --- a/src/main/java/org/scijava/text/DefaultTextService.java +++ b/src/main/java/org/scijava/text/DefaultTextService.java @@ -59,7 +59,7 @@ public final class DefaultTextService extends @Override public String open(final File file) throws IOException { - // This routine is from: http://stackoverflow.com/a/326440 + // This routine is from: https://stackoverflow.com/a/326440 try (final FileInputStream stream = new FileInputStream(file)) { final FileChannel fc = stream.getChannel(); final MappedByteBuffer bb = diff --git a/src/main/java/org/scijava/util/AppUtils.java b/src/main/java/org/scijava/util/AppUtils.java index e83e06798..31456cb10 100644 --- a/src/main/java/org/scijava/util/AppUtils.java +++ b/src/main/java/org/scijava/util/AppUtils.java @@ -130,7 +130,7 @@ public static File getBaseDirectory(final Class c) { public static File getBaseDirectory(final Class c, final String baseSubdirectory) { - // see: http://stackoverflow.com/a/12733172/1207769 + // see: https://stackoverflow.com/a/12733172/1207769 // step 1: convert Class to URL final URL location = Types.location(c); @@ -171,7 +171,7 @@ public static File getBaseDirectory(final Class c, * this cache is located in {@code ~/.m2/repository}. The location will be * {@code groupId/artifactId/version/artifactId-version.jar} where * {@code groupId}, {@code artifactId} and {@code version} are the Maven GAV + * href="https://maven.apache.org/pom.html#Maven_Coordinates">Maven GAV * coordinates. Note that in this case, no base directory with respect to * the given class can be found, and this method will return null. *
  • Within a JAR file beneath the base directory. Common cases diff --git a/src/main/java/org/scijava/util/FileUtils.java b/src/main/java/org/scijava/util/FileUtils.java index 4de14f37f..3a3efd896 100644 --- a/src/main/java/org/scijava/util/FileUtils.java +++ b/src/main/java/org/scijava/util/FileUtils.java @@ -28,7 +28,7 @@ */ // File path shortening code adapted from: -// from: http://www.rgagnon.com/javadetails/java-0661.html +// from: https://www.rgagnon.com/javadetails/java-0661.html package org.scijava.util; diff --git a/src/main/java/org/scijava/util/ListUtils.java b/src/main/java/org/scijava/util/ListUtils.java index 170124839..2d433e667 100644 --- a/src/main/java/org/scijava/util/ListUtils.java +++ b/src/main/java/org/scijava/util/ListUtils.java @@ -28,7 +28,7 @@ */ // File path shortening code adapted from: -// from: http://www.rgagnon.com/javadetails/java-0661.html +// from: https://www.rgagnon.com/javadetails/java-0661.html package org.scijava.util; diff --git a/src/main/java/org/scijava/util/MirrorWebsite.java b/src/main/java/org/scijava/util/MirrorWebsite.java index d8f076e40..5df62bb10 100644 --- a/src/main/java/org/scijava/util/MirrorWebsite.java +++ b/src/main/java/org/scijava/util/MirrorWebsite.java @@ -58,7 +58,7 @@ * This program mirrors a given website. *

    * Its primary purpose is to provide the code necessary to keep ImageJ Mirror up-to-date. + * href="https://mirror.imagej.net/">ImageJ Mirror up-to-date. *

    * * @author Johannes Schindelin diff --git a/src/main/java/org/scijava/util/POM.java b/src/main/java/org/scijava/util/POM.java index 8de96e17f..2a9c979b7 100644 --- a/src/main/java/org/scijava/util/POM.java +++ b/src/main/java/org/scijava/util/POM.java @@ -335,7 +335,7 @@ public static List getAllPOMs() { * that one has a suffix beginning with a dash ({@code -}), the version with * suffix will be considered less than the one without a suffix. The * reason for this is to accommodate the SemVer versioning scheme's usage of + * href="https://semver.org/">SemVer versioning scheme's usage of * "prerelease" version suffixes. For example, {@code 2.0.0} will compare * greater than {@code 2.0.0-beta-1}, whereas {@code 2.0.0} will compare less * than {@code 2.0.0.1}.
  • diff --git a/src/main/java/org/scijava/util/Types.java b/src/main/java/org/scijava/util/Types.java index 441516eaa..9ded87575 100644 --- a/src/main/java/org/scijava/util/Types.java +++ b/src/main/java/org/scijava/util/Types.java @@ -998,7 +998,7 @@ private static Class arrayOrNull(final Class componentType) { * (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 + * https://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, @@ -3485,8 +3485,6 @@ else if (type instanceof GenericArrayType) { } private static Type[] getArrayExactDirectSuperTypes(final Type arrayType) { - // see - // http://java.sun.com/docs/books/jls/third_edition/html/typesValues.html#4.10.3 final Type typeComponent = getArrayComponentType(arrayType); Type[] result; diff --git a/src/test/java/org/scijava/util/FileUtilsTest.java b/src/test/java/org/scijava/util/FileUtilsTest.java index dab013e7a..51f6286af 100644 --- a/src/test/java/org/scijava/util/FileUtilsTest.java +++ b/src/test/java/org/scijava/util/FileUtilsTest.java @@ -157,8 +157,8 @@ public void testShortenPath() { .shortenPath("\\\\server\\p1\\p2\\p3\\p4\\p5\\p6")); assertEquals("\\\\server\\p1\\p2\\p3", FileUtils .shortenPath("\\\\server\\p1\\p2\\p3")); - assertEquals("http://www.rgagnon.com/p1/p2/p3/.../pb.html", FileUtils - .shortenPath("http://www.rgagnon.com/p1/p2/p3/p4/p5/pb.html")); + assertEquals("https://www.rgagnon.com/p1/p2/p3/.../pb.html", FileUtils + .shortenPath("https://www.rgagnon.com/p1/p2/p3/p4/p5/pb.html")); } @Test @@ -177,8 +177,8 @@ public void testLimitPath() { "C:/1/2/3/4/5/test.txt", 15)); assertEquals("\\\\server\\p1\\p2\\...p6", FileUtils.limitPath( "\\\\server\\p1\\p2\\p3\\p4\\p5\\p6", 20)); - assertEquals("http://www...pb.html", FileUtils.limitPath( - "http://www.rgagnon.com/p1/p2/p3/p4/p5/pb.html", 20)); + assertEquals("https://www...pb.html", FileUtils.limitPath( + "https://www.rgagnon.com/p1/p2/p3/p4/p5/pb.html", 21)); } @Test From 1b0498e6dd82f4b70b4c64c7636700705e657fc0 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Thu, 22 Sep 2022 10:51:40 -0500 Subject: [PATCH 242/383] Bump to next development cycle Signed-off-by: Curtis Rueden --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 8f538e5bc..09c7f7863 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.89.1-SNAPSHOT + 2.89.2-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From 20dcf5871915770584e7dc92d0d56e3c8179c6af Mon Sep 17 00:00:00 2001 From: hinerm Date: Fri, 23 Sep 2022 11:13:42 -0500 Subject: [PATCH 243/383] ArrayToStringConverter: support {null} case Avoid throwing an NPE if given a String[] containing a null value. Closes #444 --- .../scijava/convert/ArrayToStringConverter.java | 14 ++++++++++---- .../convert/ArrayToStringConverterTest.java | 16 ++++++++++++++++ 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/scijava/convert/ArrayToStringConverter.java b/src/main/java/org/scijava/convert/ArrayToStringConverter.java index 029f5c1dd..4000ab6d3 100644 --- a/src/main/java/org/scijava/convert/ArrayToStringConverter.java +++ b/src/main/java/org/scijava/convert/ArrayToStringConverter.java @@ -93,16 +93,22 @@ private String[] preprocessStrings(final Object src) { } private String preprocessString(final Object o) { - String s = o.toString(); - s = s.replace("\\", "\\\\"); - s = s.replace("\"", "\\\""); + String s; + if (o == null) { + return null; + } else { + s = o.toString(); + s = s.replace("\\", "\\\\"); + s = s.replace("\"", "\\\""); + } return "\"" + s + "\""; } private String[] preprocessCharacters(Object src) { String[] processed = new String[Array.getLength(src)]; for (int i = 0; i < processed.length; i++) { - processed[i] = Array.get(src, i).toString(); + Object value = Array.get(src, i); + processed[i] = value == null ? null : value.toString(); } return preprocessStrings(processed); } diff --git a/src/test/java/org/scijava/convert/ArrayToStringConverterTest.java b/src/test/java/org/scijava/convert/ArrayToStringConverterTest.java index 7f1f07b13..17ad68a4e 100644 --- a/src/test/java/org/scijava/convert/ArrayToStringConverterTest.java +++ b/src/test/java/org/scijava/convert/ArrayToStringConverterTest.java @@ -156,4 +156,20 @@ public void testCyclicConversion() { Assert.assertArrayEquals(expected, actual); } + @Test + public void testNullConversion() { + String[] s1 = {null}; + String[] s2 = {"null"}; + String[] expected = new String[] {null}; + // Do the first conversion + ArrayToStringConverter c1 = new ArrayToStringConverter(); + context.inject(c1); + String converted = c1.convert(expected, String.class); + // Try to convert back + StringToArrayConverter c2 = new StringToArrayConverter(); + context.inject(c2); + String[] actual = c2.convert(converted, String[].class); + // NB: we cannot recreate the original {null} state + Assert.assertNull(actual); + } } From 0835207eb8e0bce1180a4b89c94fa5a941e802f3 Mon Sep 17 00:00:00 2001 From: hinerm Date: Fri, 23 Sep 2022 11:17:30 -0500 Subject: [PATCH 244/383] Bump to next development cycle Signed-off-by: hinerm --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 09c7f7863..cad4cf5cb 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.89.2-SNAPSHOT + 2.89.3-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From e2fd3b000fd75f7d90b6d97cb08fdb07a1108fb4 Mon Sep 17 00:00:00 2001 From: Gabriel Selzer Date: Wed, 5 Oct 2022 14:15:01 -0500 Subject: [PATCH 245/383] Add converters for File <-> Path conversion --- .../scijava/convert/FileToPathConverter.java | 33 +++++++++++ .../scijava/convert/PathToFileConverter.java | 33 +++++++++++ .../convert/FileToPathConversionTest.java | 57 +++++++++++++++++++ 3 files changed, 123 insertions(+) create mode 100644 src/main/java/org/scijava/convert/FileToPathConverter.java create mode 100644 src/main/java/org/scijava/convert/PathToFileConverter.java create mode 100644 src/test/java/org/scijava/convert/FileToPathConversionTest.java diff --git a/src/main/java/org/scijava/convert/FileToPathConverter.java b/src/main/java/org/scijava/convert/FileToPathConverter.java new file mode 100644 index 000000000..e2407d692 --- /dev/null +++ b/src/main/java/org/scijava/convert/FileToPathConverter.java @@ -0,0 +1,33 @@ + +package org.scijava.convert; + +import java.io.File; +import java.nio.file.Path; + +import org.scijava.plugin.Plugin; + +/** + * A {@link Converter} used to convert {@link File}s into {@link Path}s. + * + * @author Gabriel Selzer + */ +@Plugin(type = Converter.class) +public class FileToPathConverter extends AbstractConverter { + + @SuppressWarnings("unchecked") + @Override + public T convert(Object src, Class dest) { + File f = (File) src; + return (T) f.toPath(); + } + + @Override + public Class getOutputType() { + return Path.class; + } + + @Override + public Class getInputType() { + return File.class; + } +} diff --git a/src/main/java/org/scijava/convert/PathToFileConverter.java b/src/main/java/org/scijava/convert/PathToFileConverter.java new file mode 100644 index 000000000..908cff33f --- /dev/null +++ b/src/main/java/org/scijava/convert/PathToFileConverter.java @@ -0,0 +1,33 @@ + +package org.scijava.convert; + +import java.io.File; +import java.nio.file.Path; + +import org.scijava.plugin.Plugin; + +/** + * A {@link Converter} used to convert {@link Path}s into {@link File}s. + * + * @author Gabriel Selzer + */ +@Plugin(type = Converter.class) +public class PathToFileConverter extends AbstractConverter { + + @SuppressWarnings("unchecked") + @Override + public T convert(Object src, Class dest) { + Path p = (Path) src; + return (T) p.toFile(); + } + + @Override + public Class getOutputType() { + return File.class; + } + + @Override + public Class getInputType() { + return Path.class; + } +} diff --git a/src/test/java/org/scijava/convert/FileToPathConversionTest.java b/src/test/java/org/scijava/convert/FileToPathConversionTest.java new file mode 100644 index 000000000..37f96f273 --- /dev/null +++ b/src/test/java/org/scijava/convert/FileToPathConversionTest.java @@ -0,0 +1,57 @@ + +package org.scijava.convert; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.io.File; +import java.nio.file.Path; +import java.nio.file.Paths; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.scijava.Context; +import org.scijava.parse.ParseService; + +/** + * Tests conversion between {@link File}s and {@link Path}s. + * + * @author Gabriel Selzer + */ +public class FileToPathConversionTest { + + private ConvertService convertService; + private Context context; + + @Before + public void setUp() { + context = new Context(ParseService.class, ConvertService.class); + convertService = context.getService(ConvertService.class); + } + + @After + public void tearDown() { + context.dispose(); + } + + /** + * Tests the ability of to convert from {@link File} to {@link Path}. + */ + @Test + public void fileToPathConversion() { + File f = new File("tmp.java"); + assertTrue(convertService.supports(f, Path.class)); + Path p = convertService.convert(f, Path.class); + assertEquals(f.toPath(), p); + } + + @Test + public void pathToFileConversion() { + Path p = Paths.get("tmp.java"); + assertTrue(convertService.supports(p, File.class)); + File f = convertService.convert(p, File.class); + assertEquals(f.toPath(), p); + } + +} From 5c63181da57457ac63032597851174fc9017b743 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Fri, 14 Oct 2022 14:15:04 -0500 Subject: [PATCH 246/383] Add missing license blurbs --- .../scijava/convert/FileToPathConverter.java | 28 +++++++++++++++++++ .../scijava/convert/PathToFileConverter.java | 28 +++++++++++++++++++ .../convert/FileToPathConversionTest.java | 28 +++++++++++++++++++ 3 files changed, 84 insertions(+) diff --git a/src/main/java/org/scijava/convert/FileToPathConverter.java b/src/main/java/org/scijava/convert/FileToPathConverter.java index e2407d692..551a0d395 100644 --- a/src/main/java/org/scijava/convert/FileToPathConverter.java +++ b/src/main/java/org/scijava/convert/FileToPathConverter.java @@ -1,3 +1,31 @@ +/*- + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2022 SciJava developers. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ package org.scijava.convert; diff --git a/src/main/java/org/scijava/convert/PathToFileConverter.java b/src/main/java/org/scijava/convert/PathToFileConverter.java index 908cff33f..668f9425e 100644 --- a/src/main/java/org/scijava/convert/PathToFileConverter.java +++ b/src/main/java/org/scijava/convert/PathToFileConverter.java @@ -1,3 +1,31 @@ +/*- + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2022 SciJava developers. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ package org.scijava.convert; diff --git a/src/test/java/org/scijava/convert/FileToPathConversionTest.java b/src/test/java/org/scijava/convert/FileToPathConversionTest.java index 37f96f273..6dcd81d1b 100644 --- a/src/test/java/org/scijava/convert/FileToPathConversionTest.java +++ b/src/test/java/org/scijava/convert/FileToPathConversionTest.java @@ -1,3 +1,31 @@ +/*- + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2022 SciJava developers. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ package org.scijava.convert; From f1f666a8aded15e05660aece5707cd0f8b12521d Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Fri, 14 Oct 2022 14:16:15 -0500 Subject: [PATCH 247/383] Bump to next development cycle Signed-off-by: Curtis Rueden --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index cad4cf5cb..a7fe0d700 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.89.3-SNAPSHOT + 2.90.1-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From 918d91568b3d4c485cb343e9fd3795444505880e Mon Sep 17 00:00:00 2001 From: Jan Eglinger Date: Mon, 12 Dec 2022 14:58:44 +0100 Subject: [PATCH 248/383] Fix priority of LoggerPreprocessor Logger parameters should be processed before InitPreprocessor, so that plugins can use a Logger in their initializer. --- .../java/org/scijava/module/process/LoggerPreprocessor.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/scijava/module/process/LoggerPreprocessor.java b/src/main/java/org/scijava/module/process/LoggerPreprocessor.java index 6145337ac..ded3ac399 100644 --- a/src/main/java/org/scijava/module/process/LoggerPreprocessor.java +++ b/src/main/java/org/scijava/module/process/LoggerPreprocessor.java @@ -29,6 +29,7 @@ package org.scijava.module.process; +import org.scijava.Priority; import org.scijava.log.LogService; import org.scijava.log.Logger; import org.scijava.module.Module; @@ -44,7 +45,7 @@ * * @author Matthias Arzt */ -@Plugin(type = PreprocessorPlugin.class) +@Plugin(type = PreprocessorPlugin.class, priority = Priority.VERY_HIGH) public class LoggerPreprocessor extends AbstractPreprocessorPlugin { @Parameter(required = false) From a639bccb316da32c7060ececfa916859fefcf87e Mon Sep 17 00:00:00 2001 From: Gabriel Selzer Date: Tue, 13 Dec 2022 14:38:22 -0600 Subject: [PATCH 249/383] Only convert to array types when it is possible --- .../java/org/scijava/convert/DefaultConverter.java | 12 +++++++++++- .../java/org/scijava/convert/ConvertServiceTest.java | 5 +++-- .../java/org/scijava/util/ConversionUtilsTest.java | 4 ++-- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/scijava/convert/DefaultConverter.java b/src/main/java/org/scijava/convert/DefaultConverter.java index d2daea418..b399f7596 100644 --- a/src/main/java/org/scijava/convert/DefaultConverter.java +++ b/src/main/java/org/scijava/convert/DefaultConverter.java @@ -292,7 +292,17 @@ private Collection createCollection(final Class type) { public boolean canConvert(final Class src, final Type dest) { // Handle array types, including generic array types. - if (isArray(dest)) return true; + // The logic follows from the types that ArrayUtils.toCollection + // can convert + if (isArray(dest)){ + // toCollection handles any type of Collection + if (Collection.class.isAssignableFrom(src)) return true; + // toCollection handles any type of array + if (src.isArray()) return true; + // toCollection can wrap objects into a Singleton list, + // but we only want to wrap up a T if the dest type is a T[]. + return Types.isAssignable(src, Types.component(dest)); + } // Handle parameterized collection types. if (dest instanceof ParameterizedType && isCollection(dest) && diff --git a/src/test/java/org/scijava/convert/ConvertServiceTest.java b/src/test/java/org/scijava/convert/ConvertServiceTest.java index cca1b2acc..59aaa2835 100644 --- a/src/test/java/org/scijava/convert/ConvertServiceTest.java +++ b/src/test/java/org/scijava/convert/ConvertServiceTest.java @@ -457,7 +457,7 @@ class Struct { /** * Tests setting an incompatible element value for a primitive array. */ - @Test(expected = IllegalArgumentException.class) + @Test public void testBadPrimitiveArray() { class Struct { @@ -467,6 +467,7 @@ class Struct { final Struct struct = new Struct(); setFieldValue(struct, "intArray", "not an int array"); + assertEquals(null, struct.intArray); } /** @@ -486,7 +487,7 @@ class Struct { // Test abnormal behavior for an object array setFieldValue(struct, "doubleArray", "not a double array"); - assertEquals(null, struct.doubleArray[0]); + assertEquals(null, struct.doubleArray); // Test abnormal behavior for a list setFieldValue(struct, "nestedArray", "definitely not a set of char arrays"); diff --git a/src/test/java/org/scijava/util/ConversionUtilsTest.java b/src/test/java/org/scijava/util/ConversionUtilsTest.java index d04118628..ac0abeaa9 100644 --- a/src/test/java/org/scijava/util/ConversionUtilsTest.java +++ b/src/test/java/org/scijava/util/ConversionUtilsTest.java @@ -237,7 +237,6 @@ class Struct { /** * Tests setting an incompatible element value for a primitive array. */ - @Test(expected = IllegalArgumentException.class) public void testBadPrimitiveArray() { class Struct { @@ -247,6 +246,7 @@ class Struct { final Struct struct = new Struct(); setFieldValue(struct, "intArray", "not an int array"); + assertEquals(null, struct.intArray); } /** @@ -266,7 +266,7 @@ class Struct { // Test abnormal behavior for an object array setFieldValue(struct, "doubleArray", "not a double array"); - assertEquals(null, struct.doubleArray[0]); + assertEquals(null, struct.doubleArray); // Test abnormal behavior for a list setFieldValue(struct, "nestedArray", "definitely not a set of char arrays"); From 0a2b886f853fc4e68217fca668a9023115f5b3e4 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 24 Jan 2023 09:02:45 -0600 Subject: [PATCH 250/383] Happy New Year 2023 --- LICENSE.txt | 2 +- src/it/apt-test/pom.xml | 2 +- src/it/apt-test/setup.bsh | 2 +- .../src/main/java/org/scijava/annotation/its/Annotated.java | 2 +- .../main/java/org/scijava/annotation/its/CustomAnnotation.java | 2 +- src/it/apt-test/verify.bsh | 2 +- src/it/settings.xml | 2 +- src/main/java/org/scijava/AbstractBasicDetails.java | 2 +- src/main/java/org/scijava/AbstractContextual.java | 2 +- src/main/java/org/scijava/AbstractGateway.java | 2 +- src/main/java/org/scijava/AbstractUIDetails.java | 2 +- src/main/java/org/scijava/BasicDetails.java | 2 +- src/main/java/org/scijava/Cancelable.java | 2 +- src/main/java/org/scijava/Context.java | 2 +- src/main/java/org/scijava/Contextual.java | 2 +- src/main/java/org/scijava/Disposable.java | 2 +- src/main/java/org/scijava/Gateway.java | 2 +- src/main/java/org/scijava/Identifiable.java | 2 +- src/main/java/org/scijava/Initializable.java | 2 +- src/main/java/org/scijava/Instantiable.java | 2 +- src/main/java/org/scijava/InstantiableException.java | 2 +- src/main/java/org/scijava/ItemIO.java | 2 +- src/main/java/org/scijava/ItemVisibility.java | 2 +- src/main/java/org/scijava/Locatable.java | 2 +- src/main/java/org/scijava/MenuEntry.java | 2 +- src/main/java/org/scijava/MenuPath.java | 2 +- src/main/java/org/scijava/Named.java | 2 +- src/main/java/org/scijava/NoSuchServiceException.java | 2 +- src/main/java/org/scijava/NullContextException.java | 2 +- src/main/java/org/scijava/Optional.java | 2 +- src/main/java/org/scijava/Prioritized.java | 2 +- src/main/java/org/scijava/Priority.java | 2 +- src/main/java/org/scijava/SciJava.java | 2 +- src/main/java/org/scijava/Typed.java | 2 +- src/main/java/org/scijava/UIDetails.java | 2 +- src/main/java/org/scijava/Validated.java | 2 +- src/main/java/org/scijava/ValidityProblem.java | 2 +- src/main/java/org/scijava/Versioned.java | 2 +- src/main/java/org/scijava/annotations/AbstractIndexWriter.java | 2 +- src/main/java/org/scijava/annotations/AnnotationCombiner.java | 2 +- src/main/java/org/scijava/annotations/AnnotationProcessor.java | 2 +- src/main/java/org/scijava/annotations/ByteCodeAnalyzer.java | 2 +- src/main/java/org/scijava/annotations/DirectoryIndexer.java | 2 +- src/main/java/org/scijava/annotations/EclipseHelper.java | 2 +- src/main/java/org/scijava/annotations/Index.java | 2 +- src/main/java/org/scijava/annotations/IndexItem.java | 2 +- src/main/java/org/scijava/annotations/IndexReader.java | 2 +- src/main/java/org/scijava/annotations/Indexable.java | 2 +- src/main/java/org/scijava/annotations/legacy/LegacyReader.java | 2 +- src/main/java/org/scijava/app/AbstractApp.java | 2 +- src/main/java/org/scijava/app/App.java | 2 +- src/main/java/org/scijava/app/AppService.java | 2 +- src/main/java/org/scijava/app/DefaultAppService.java | 2 +- src/main/java/org/scijava/app/DefaultStatusService.java | 2 +- src/main/java/org/scijava/app/SciJavaApp.java | 2 +- src/main/java/org/scijava/app/StatusService.java | 2 +- src/main/java/org/scijava/app/event/StatusEvent.java | 2 +- src/main/java/org/scijava/cache/CacheService.java | 2 +- src/main/java/org/scijava/cache/DefaultCacheService.java | 2 +- src/main/java/org/scijava/command/Command.java | 2 +- src/main/java/org/scijava/command/CommandInfo.java | 2 +- src/main/java/org/scijava/command/CommandModule.java | 2 +- src/main/java/org/scijava/command/CommandModuleItem.java | 2 +- src/main/java/org/scijava/command/CommandService.java | 2 +- src/main/java/org/scijava/command/ContextCommand.java | 2 +- src/main/java/org/scijava/command/DefaultCommandService.java | 2 +- src/main/java/org/scijava/command/DynamicCommand.java | 2 +- src/main/java/org/scijava/command/DynamicCommandInfo.java | 2 +- src/main/java/org/scijava/command/Inputs.java | 2 +- src/main/java/org/scijava/command/Interactive.java | 2 +- src/main/java/org/scijava/command/InteractiveCommand.java | 2 +- src/main/java/org/scijava/command/ModuleCommand.java | 2 +- src/main/java/org/scijava/command/Previewable.java | 2 +- src/main/java/org/scijava/command/UnimplementedCommand.java | 2 +- src/main/java/org/scijava/command/console/RunArgument.java | 2 +- src/main/java/org/scijava/command/run/CommandCodeRunner.java | 2 +- src/main/java/org/scijava/console/AbstractConsoleArgument.java | 2 +- src/main/java/org/scijava/console/ConsoleArgument.java | 2 +- src/main/java/org/scijava/console/ConsoleService.java | 2 +- src/main/java/org/scijava/console/ConsoleUtils.java | 2 +- src/main/java/org/scijava/console/DefaultConsoleService.java | 2 +- src/main/java/org/scijava/console/MultiOutputStream.java | 2 +- src/main/java/org/scijava/console/MultiPrintStream.java | 2 +- src/main/java/org/scijava/console/OutputEvent.java | 2 +- src/main/java/org/scijava/console/OutputListener.java | 2 +- src/main/java/org/scijava/console/SystemPropertyArgument.java | 2 +- src/main/java/org/scijava/convert/AbstractConvertService.java | 2 +- src/main/java/org/scijava/convert/AbstractConverter.java | 2 +- .../java/org/scijava/convert/AbstractDelegateConverter.java | 2 +- src/main/java/org/scijava/convert/ArrayConverters.java | 2 +- src/main/java/org/scijava/convert/ArrayToStringConverter.java | 2 +- src/main/java/org/scijava/convert/CastingConverter.java | 2 +- src/main/java/org/scijava/convert/ConversionRequest.java | 2 +- src/main/java/org/scijava/convert/ConvertService.java | 2 +- src/main/java/org/scijava/convert/Converter.java | 2 +- src/main/java/org/scijava/convert/DefaultConvertService.java | 2 +- src/main/java/org/scijava/convert/DefaultConverter.java | 2 +- src/main/java/org/scijava/convert/FileListConverters.java | 2 +- src/main/java/org/scijava/convert/FileToPathConverter.java | 2 +- src/main/java/org/scijava/convert/NullConverter.java | 2 +- src/main/java/org/scijava/convert/NumberConverters.java | 2 +- .../java/org/scijava/convert/NumberToBigDecimalConverter.java | 2 +- .../java/org/scijava/convert/NumberToBigIntegerConverter.java | 2 +- src/main/java/org/scijava/convert/NumberToDoubleConverter.java | 2 +- src/main/java/org/scijava/convert/NumberToFloatConverter.java | 2 +- src/main/java/org/scijava/convert/NumberToIntegerConverter.java | 2 +- src/main/java/org/scijava/convert/NumberToLongConverter.java | 2 +- src/main/java/org/scijava/convert/NumberToNumberConverter.java | 2 +- src/main/java/org/scijava/convert/NumberToShortConverter.java | 2 +- src/main/java/org/scijava/convert/PathToFileConverter.java | 2 +- src/main/java/org/scijava/convert/PrimitiveArrayUnwrapper.java | 2 +- src/main/java/org/scijava/convert/PrimitiveArrayWrapper.java | 2 +- src/main/java/org/scijava/convert/StringToArrayConverter.java | 2 +- src/main/java/org/scijava/convert/StringToNumberConverter.java | 2 +- src/main/java/org/scijava/display/AbstractDisplay.java | 2 +- .../java/org/scijava/display/ActiveDisplayPreprocessor.java | 2 +- src/main/java/org/scijava/display/DefaultDisplay.java | 2 +- src/main/java/org/scijava/display/DefaultDisplayService.java | 2 +- src/main/java/org/scijava/display/DefaultTextDisplay.java | 2 +- src/main/java/org/scijava/display/Display.java | 2 +- src/main/java/org/scijava/display/DisplayPostprocessor.java | 2 +- src/main/java/org/scijava/display/DisplayService.java | 2 +- src/main/java/org/scijava/display/Displayable.java | 2 +- src/main/java/org/scijava/display/TextDisplay.java | 2 +- .../java/org/scijava/display/event/DisplayActivatedEvent.java | 2 +- .../java/org/scijava/display/event/DisplayCreatedEvent.java | 2 +- .../java/org/scijava/display/event/DisplayDeletedEvent.java | 2 +- src/main/java/org/scijava/display/event/DisplayEvent.java | 2 +- .../java/org/scijava/display/event/DisplayUpdatedEvent.java | 2 +- src/main/java/org/scijava/display/event/input/InputEvent.java | 2 +- src/main/java/org/scijava/display/event/input/KyEvent.java | 2 +- .../java/org/scijava/display/event/input/KyPressedEvent.java | 2 +- .../java/org/scijava/display/event/input/KyReleasedEvent.java | 2 +- src/main/java/org/scijava/display/event/input/KyTypedEvent.java | 2 +- .../java/org/scijava/display/event/input/MsButtonEvent.java | 2 +- .../java/org/scijava/display/event/input/MsClickedEvent.java | 2 +- .../java/org/scijava/display/event/input/MsDraggedEvent.java | 2 +- .../java/org/scijava/display/event/input/MsEnteredEvent.java | 2 +- src/main/java/org/scijava/display/event/input/MsEvent.java | 2 +- .../java/org/scijava/display/event/input/MsExitedEvent.java | 2 +- src/main/java/org/scijava/display/event/input/MsMovedEvent.java | 2 +- .../java/org/scijava/display/event/input/MsPressedEvent.java | 2 +- .../java/org/scijava/display/event/input/MsReleasedEvent.java | 2 +- src/main/java/org/scijava/display/event/input/MsWheelEvent.java | 2 +- .../org/scijava/display/event/window/WinActivatedEvent.java | 2 +- .../java/org/scijava/display/event/window/WinClosedEvent.java | 2 +- .../java/org/scijava/display/event/window/WinClosingEvent.java | 2 +- .../org/scijava/display/event/window/WinDeactivatedEvent.java | 2 +- .../org/scijava/display/event/window/WinDeiconifiedEvent.java | 2 +- src/main/java/org/scijava/display/event/window/WinEvent.java | 2 +- .../org/scijava/display/event/window/WinIconifiedEvent.java | 2 +- .../java/org/scijava/display/event/window/WinOpenedEvent.java | 2 +- src/main/java/org/scijava/download/DefaultDownloadService.java | 2 +- src/main/java/org/scijava/download/DiskLocationCache.java | 2 +- src/main/java/org/scijava/download/Download.java | 2 +- src/main/java/org/scijava/download/DownloadService.java | 2 +- src/main/java/org/scijava/download/LocationCache.java | 2 +- src/main/java/org/scijava/download/MultiWriteHandle.java | 2 +- src/main/java/org/scijava/event/ContextDisposingEvent.java | 2 +- src/main/java/org/scijava/event/DefaultEventBus.java | 2 +- src/main/java/org/scijava/event/DefaultEventHistory.java | 2 +- src/main/java/org/scijava/event/DefaultEventService.java | 2 +- src/main/java/org/scijava/event/EventDetails.java | 2 +- src/main/java/org/scijava/event/EventHandler.java | 2 +- src/main/java/org/scijava/event/EventHistory.java | 2 +- src/main/java/org/scijava/event/EventHistoryListener.java | 2 +- src/main/java/org/scijava/event/EventService.java | 2 +- src/main/java/org/scijava/event/EventSubscriber.java | 2 +- src/main/java/org/scijava/event/SciJavaEvent.java | 2 +- src/main/java/org/scijava/input/Accelerator.java | 2 +- src/main/java/org/scijava/input/DefaultInputService.java | 2 +- src/main/java/org/scijava/input/InputModifiers.java | 2 +- src/main/java/org/scijava/input/InputService.java | 2 +- src/main/java/org/scijava/input/KeyCode.java | 2 +- src/main/java/org/scijava/input/MouseCursor.java | 2 +- src/main/java/org/scijava/io/AbstractIOPlugin.java | 2 +- src/main/java/org/scijava/io/AbstractTypedIOService.java | 2 +- src/main/java/org/scijava/io/ByteArrayByteBank.java | 2 +- src/main/java/org/scijava/io/ByteBank.java | 2 +- src/main/java/org/scijava/io/DefaultIOService.java | 2 +- src/main/java/org/scijava/io/DefaultRecentFileService.java | 2 +- src/main/java/org/scijava/io/IOPlugin.java | 2 +- src/main/java/org/scijava/io/IOService.java | 2 +- src/main/java/org/scijava/io/RecentFileService.java | 2 +- src/main/java/org/scijava/io/TypedIOService.java | 2 +- src/main/java/org/scijava/io/console/OpenArgument.java | 2 +- src/main/java/org/scijava/io/event/DataOpenedEvent.java | 2 +- src/main/java/org/scijava/io/event/DataSavedEvent.java | 2 +- src/main/java/org/scijava/io/event/IOEvent.java | 2 +- src/main/java/org/scijava/io/handle/AbstractDataHandle.java | 2 +- .../java/org/scijava/io/handle/AbstractHigherOrderHandle.java | 2 +- .../org/scijava/io/handle/AbstractSeekableStreamHandle.java | 2 +- src/main/java/org/scijava/io/handle/AbstractStreamHandle.java | 2 +- src/main/java/org/scijava/io/handle/BytesHandle.java | 2 +- src/main/java/org/scijava/io/handle/DataHandle.java | 2 +- src/main/java/org/scijava/io/handle/DataHandleInputStream.java | 2 +- src/main/java/org/scijava/io/handle/DataHandleOutputStream.java | 2 +- src/main/java/org/scijava/io/handle/DataHandleService.java | 2 +- src/main/java/org/scijava/io/handle/DataHandles.java | 2 +- .../java/org/scijava/io/handle/DefaultDataHandleService.java | 2 +- src/main/java/org/scijava/io/handle/DummyHandle.java | 2 +- src/main/java/org/scijava/io/handle/FileHandle.java | 2 +- src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java | 2 +- src/main/java/org/scijava/io/handle/ResettableStreamHandle.java | 2 +- src/main/java/org/scijava/io/handle/SeekableStreamHandle.java | 2 +- src/main/java/org/scijava/io/handle/StreamHandle.java | 2 +- src/main/java/org/scijava/io/handle/WriteBufferDataHandle.java | 2 +- src/main/java/org/scijava/io/location/AbstractLocation.java | 2 +- .../java/org/scijava/io/location/AbstractLocationResolver.java | 2 +- .../java/org/scijava/io/location/AbstractRemoteLocation.java | 2 +- src/main/java/org/scijava/io/location/BrowsableLocation.java | 2 +- src/main/java/org/scijava/io/location/BytesLocation.java | 2 +- .../java/org/scijava/io/location/DefaultLocationService.java | 2 +- src/main/java/org/scijava/io/location/DummyLocation.java | 2 +- src/main/java/org/scijava/io/location/FileLocation.java | 2 +- src/main/java/org/scijava/io/location/FileLocationResolver.java | 2 +- src/main/java/org/scijava/io/location/Location.java | 2 +- src/main/java/org/scijava/io/location/LocationResolver.java | 2 +- src/main/java/org/scijava/io/location/LocationService.java | 2 +- src/main/java/org/scijava/io/location/RemoteLocation.java | 2 +- src/main/java/org/scijava/io/location/URILocation.java | 2 +- src/main/java/org/scijava/io/location/URLLocation.java | 2 +- src/main/java/org/scijava/io/nio/ByteBufferByteBank.java | 2 +- src/main/java/org/scijava/io/nio/DefaultNIOService.java | 2 +- src/main/java/org/scijava/io/nio/NIOService.java | 2 +- src/main/java/org/scijava/log/AbstractLogService.java | 2 +- src/main/java/org/scijava/log/CallingClassUtils.java | 2 +- src/main/java/org/scijava/log/DefaultLogger.java | 2 +- .../java/org/scijava/log/DefaultUncaughtExceptionHandler.java | 2 +- src/main/java/org/scijava/log/IgnoreAsCallingClass.java | 2 +- src/main/java/org/scijava/log/LogLevel.java | 2 +- src/main/java/org/scijava/log/LogListener.java | 2 +- src/main/java/org/scijava/log/LogMessage.java | 2 +- src/main/java/org/scijava/log/LogService.java | 2 +- src/main/java/org/scijava/log/LogSource.java | 2 +- src/main/java/org/scijava/log/Logged.java | 2 +- src/main/java/org/scijava/log/Logger.java | 2 +- src/main/java/org/scijava/log/StderrLogService.java | 2 +- src/main/java/org/scijava/main/DefaultMainService.java | 2 +- src/main/java/org/scijava/main/MainService.java | 2 +- src/main/java/org/scijava/main/console/MainArgument.java | 2 +- src/main/java/org/scijava/main/run/MainCodeRunner.java | 2 +- src/main/java/org/scijava/menu/AbstractMenuCreator.java | 2 +- src/main/java/org/scijava/menu/DefaultMenuService.java | 2 +- src/main/java/org/scijava/menu/MenuConstants.java | 2 +- src/main/java/org/scijava/menu/MenuCreator.java | 2 +- src/main/java/org/scijava/menu/MenuService.java | 2 +- src/main/java/org/scijava/menu/ShadowMenu.java | 2 +- src/main/java/org/scijava/menu/ShadowMenuIterator.java | 2 +- src/main/java/org/scijava/menu/event/MenuEvent.java | 2 +- src/main/java/org/scijava/menu/event/MenusAddedEvent.java | 2 +- src/main/java/org/scijava/menu/event/MenusRemovedEvent.java | 2 +- src/main/java/org/scijava/menu/event/MenusUpdatedEvent.java | 2 +- src/main/java/org/scijava/module/AbstractModule.java | 2 +- src/main/java/org/scijava/module/AbstractModuleInfo.java | 2 +- src/main/java/org/scijava/module/AbstractModuleItem.java | 2 +- src/main/java/org/scijava/module/DefaultModuleService.java | 2 +- src/main/java/org/scijava/module/DefaultMutableModule.java | 2 +- src/main/java/org/scijava/module/DefaultMutableModuleInfo.java | 2 +- src/main/java/org/scijava/module/DefaultMutableModuleItem.java | 2 +- src/main/java/org/scijava/module/MethodCallException.java | 2 +- src/main/java/org/scijava/module/MethodRef.java | 2 +- src/main/java/org/scijava/module/Module.java | 2 +- src/main/java/org/scijava/module/ModuleCanceledException.java | 2 +- src/main/java/org/scijava/module/ModuleException.java | 2 +- src/main/java/org/scijava/module/ModuleIndex.java | 2 +- src/main/java/org/scijava/module/ModuleInfo.java | 2 +- src/main/java/org/scijava/module/ModuleItem.java | 2 +- src/main/java/org/scijava/module/ModuleRunner.java | 2 +- src/main/java/org/scijava/module/ModuleService.java | 2 +- src/main/java/org/scijava/module/MutableModule.java | 2 +- src/main/java/org/scijava/module/MutableModuleInfo.java | 2 +- src/main/java/org/scijava/module/MutableModuleItem.java | 2 +- src/main/java/org/scijava/module/event/ModuleCanceledEvent.java | 2 +- src/main/java/org/scijava/module/event/ModuleEvent.java | 2 +- src/main/java/org/scijava/module/event/ModuleExecutedEvent.java | 2 +- .../java/org/scijava/module/event/ModuleExecutingEvent.java | 2 +- .../java/org/scijava/module/event/ModuleExecutionEvent.java | 2 +- src/main/java/org/scijava/module/event/ModuleFinishedEvent.java | 2 +- .../java/org/scijava/module/event/ModulePostprocessEvent.java | 2 +- .../java/org/scijava/module/event/ModulePreprocessEvent.java | 2 +- src/main/java/org/scijava/module/event/ModuleProcessEvent.java | 2 +- src/main/java/org/scijava/module/event/ModuleStartedEvent.java | 2 +- src/main/java/org/scijava/module/event/ModulesAddedEvent.java | 2 +- src/main/java/org/scijava/module/event/ModulesListEvent.java | 2 +- src/main/java/org/scijava/module/event/ModulesRemovedEvent.java | 2 +- src/main/java/org/scijava/module/event/ModulesUpdatedEvent.java | 2 +- .../org/scijava/module/process/AbstractPostprocessorPlugin.java | 2 +- .../org/scijava/module/process/AbstractPreprocessorPlugin.java | 2 +- .../scijava/module/process/AbstractSingleInputPreprocessor.java | 2 +- .../org/scijava/module/process/CheckInputsPreprocessor.java | 2 +- .../java/org/scijava/module/process/DebugPostprocessor.java | 2 +- src/main/java/org/scijava/module/process/DebugPreprocessor.java | 2 +- .../org/scijava/module/process/DefaultValuePreprocessor.java | 2 +- .../java/org/scijava/module/process/GatewayPreprocessor.java | 2 +- src/main/java/org/scijava/module/process/InitPreprocessor.java | 2 +- .../java/org/scijava/module/process/LoadInputsPreprocessor.java | 2 +- .../java/org/scijava/module/process/LoggerPreprocessor.java | 2 +- .../java/org/scijava/module/process/ModulePostprocessor.java | 2 +- .../java/org/scijava/module/process/ModulePreprocessor.java | 2 +- src/main/java/org/scijava/module/process/ModuleProcessor.java | 2 +- .../java/org/scijava/module/process/PostprocessorPlugin.java | 2 +- .../java/org/scijava/module/process/PreprocessorPlugin.java | 2 +- .../java/org/scijava/module/process/SaveInputsPreprocessor.java | 2 +- .../java/org/scijava/module/process/ServicePreprocessor.java | 2 +- .../java/org/scijava/module/process/ValidityPreprocessor.java | 2 +- src/main/java/org/scijava/module/run/ModuleCodeRunner.java | 2 +- src/main/java/org/scijava/object/DefaultObjectService.java | 2 +- src/main/java/org/scijava/object/LazyObjects.java | 2 +- src/main/java/org/scijava/object/NamedObjectIndex.java | 2 +- src/main/java/org/scijava/object/ObjectIndex.java | 2 +- src/main/java/org/scijava/object/ObjectService.java | 2 +- src/main/java/org/scijava/object/SortedObjectIndex.java | 2 +- src/main/java/org/scijava/object/event/ListEvent.java | 2 +- src/main/java/org/scijava/object/event/ObjectCreatedEvent.java | 2 +- src/main/java/org/scijava/object/event/ObjectDeletedEvent.java | 2 +- src/main/java/org/scijava/object/event/ObjectEvent.java | 2 +- src/main/java/org/scijava/object/event/ObjectModifiedEvent.java | 2 +- src/main/java/org/scijava/object/event/ObjectsAddedEvent.java | 2 +- src/main/java/org/scijava/object/event/ObjectsListEvent.java | 2 +- src/main/java/org/scijava/object/event/ObjectsRemovedEvent.java | 2 +- src/main/java/org/scijava/options/DefaultOptionsService.java | 2 +- src/main/java/org/scijava/options/OptionsPlugin.java | 2 +- src/main/java/org/scijava/options/OptionsService.java | 2 +- src/main/java/org/scijava/options/event/OptionsEvent.java | 2 +- src/main/java/org/scijava/parse/DefaultParseService.java | 2 +- src/main/java/org/scijava/parse/Item.java | 2 +- src/main/java/org/scijava/parse/Items.java | 2 +- src/main/java/org/scijava/parse/ParseService.java | 2 +- src/main/java/org/scijava/platform/AbstractPlatform.java | 2 +- src/main/java/org/scijava/platform/AppEventService.java | 2 +- src/main/java/org/scijava/platform/DefaultAppEventService.java | 2 +- src/main/java/org/scijava/platform/DefaultPlatform.java | 2 +- src/main/java/org/scijava/platform/DefaultPlatformService.java | 2 +- src/main/java/org/scijava/platform/Platform.java | 2 +- src/main/java/org/scijava/platform/PlatformService.java | 2 +- src/main/java/org/scijava/platform/event/AppAboutEvent.java | 2 +- src/main/java/org/scijava/platform/event/AppFocusEvent.java | 2 +- .../java/org/scijava/platform/event/AppMenusCreatedEvent.java | 2 +- src/main/java/org/scijava/platform/event/AppOpenFilesEvent.java | 2 +- .../java/org/scijava/platform/event/AppPreferencesEvent.java | 2 +- src/main/java/org/scijava/platform/event/AppPrintEvent.java | 2 +- src/main/java/org/scijava/platform/event/AppQuitEvent.java | 2 +- src/main/java/org/scijava/platform/event/AppReOpenEvent.java | 2 +- .../java/org/scijava/platform/event/AppScreenSleepEvent.java | 2 +- src/main/java/org/scijava/platform/event/AppSleepEvent.java | 2 +- .../java/org/scijava/platform/event/AppSystemSleepEvent.java | 2 +- .../java/org/scijava/platform/event/AppUserSessionEvent.java | 2 +- src/main/java/org/scijava/platform/event/AppVisibleEvent.java | 2 +- src/main/java/org/scijava/platform/event/ApplicationEvent.java | 2 +- src/main/java/org/scijava/plugin/AbstractHandlerPlugin.java | 2 +- src/main/java/org/scijava/plugin/AbstractHandlerService.java | 2 +- src/main/java/org/scijava/plugin/AbstractPTService.java | 2 +- src/main/java/org/scijava/plugin/AbstractRichPlugin.java | 2 +- src/main/java/org/scijava/plugin/AbstractSingletonService.java | 2 +- src/main/java/org/scijava/plugin/AbstractTypedPlugin.java | 2 +- src/main/java/org/scijava/plugin/AbstractTypedService.java | 2 +- src/main/java/org/scijava/plugin/AbstractWrapperPlugin.java | 2 +- src/main/java/org/scijava/plugin/AbstractWrapperService.java | 2 +- src/main/java/org/scijava/plugin/Attr.java | 2 +- src/main/java/org/scijava/plugin/DefaultPluginFinder.java | 2 +- src/main/java/org/scijava/plugin/DefaultPluginService.java | 2 +- src/main/java/org/scijava/plugin/HandlerPlugin.java | 2 +- src/main/java/org/scijava/plugin/HandlerService.java | 2 +- src/main/java/org/scijava/plugin/HasPluginInfo.java | 2 +- src/main/java/org/scijava/plugin/Menu.java | 2 +- src/main/java/org/scijava/plugin/PTService.java | 2 +- src/main/java/org/scijava/plugin/Parameter.java | 2 +- src/main/java/org/scijava/plugin/Plugin.java | 2 +- src/main/java/org/scijava/plugin/PluginFinder.java | 2 +- src/main/java/org/scijava/plugin/PluginIndex.java | 2 +- src/main/java/org/scijava/plugin/PluginInfo.java | 2 +- src/main/java/org/scijava/plugin/PluginService.java | 2 +- src/main/java/org/scijava/plugin/RichPlugin.java | 2 +- src/main/java/org/scijava/plugin/SciJavaPlugin.java | 2 +- src/main/java/org/scijava/plugin/SingletonPlugin.java | 2 +- src/main/java/org/scijava/plugin/SingletonService.java | 2 +- src/main/java/org/scijava/plugin/SortablePlugin.java | 2 +- src/main/java/org/scijava/plugin/TypedPlugin.java | 2 +- src/main/java/org/scijava/plugin/TypedService.java | 2 +- src/main/java/org/scijava/plugin/WrapperPlugin.java | 2 +- src/main/java/org/scijava/plugin/WrapperService.java | 2 +- src/main/java/org/scijava/plugin/event/PluginsAddedEvent.java | 2 +- src/main/java/org/scijava/plugin/event/PluginsListEvent.java | 2 +- src/main/java/org/scijava/plugin/event/PluginsRemovedEvent.java | 2 +- src/main/java/org/scijava/prefs/AbstractPrefService.java | 2 +- src/main/java/org/scijava/prefs/DefaultPrefService.java | 2 +- src/main/java/org/scijava/prefs/PrefService.java | 2 +- src/main/java/org/scijava/run/AbstractCodeRunner.java | 2 +- src/main/java/org/scijava/run/CodeRunner.java | 2 +- src/main/java/org/scijava/run/DefaultRunService.java | 2 +- src/main/java/org/scijava/run/RunService.java | 2 +- src/main/java/org/scijava/run/console/RunArgument.java | 2 +- src/main/java/org/scijava/script/AbstractAutoCompleter.java | 2 +- src/main/java/org/scijava/script/AbstractScriptContext.java | 2 +- src/main/java/org/scijava/script/AbstractScriptEngine.java | 2 +- src/main/java/org/scijava/script/AbstractScriptHeader.java | 2 +- src/main/java/org/scijava/script/AbstractScriptLanguage.java | 2 +- src/main/java/org/scijava/script/AdaptedScriptEngine.java | 2 +- src/main/java/org/scijava/script/AdaptedScriptLanguage.java | 2 +- src/main/java/org/scijava/script/AutoCompleter.java | 2 +- src/main/java/org/scijava/script/AutoCompletionResult.java | 2 +- src/main/java/org/scijava/script/CodeGenerator.java | 2 +- src/main/java/org/scijava/script/CodeGeneratorJava.java | 2 +- src/main/java/org/scijava/script/DefaultAutoCompleter.java | 2 +- .../java/org/scijava/script/DefaultScriptHeaderService.java | 2 +- src/main/java/org/scijava/script/DefaultScriptInterpreter.java | 2 +- src/main/java/org/scijava/script/DefaultScriptService.java | 2 +- src/main/java/org/scijava/script/InvocationObject.java | 2 +- src/main/java/org/scijava/script/ParameterObject.java | 2 +- src/main/java/org/scijava/script/ScriptFinder.java | 2 +- src/main/java/org/scijava/script/ScriptHeader.java | 2 +- src/main/java/org/scijava/script/ScriptHeaderService.java | 2 +- src/main/java/org/scijava/script/ScriptInfo.java | 2 +- src/main/java/org/scijava/script/ScriptInterpreter.java | 2 +- src/main/java/org/scijava/script/ScriptLanguage.java | 2 +- src/main/java/org/scijava/script/ScriptLanguageIndex.java | 2 +- src/main/java/org/scijava/script/ScriptModule.java | 2 +- src/main/java/org/scijava/script/ScriptREPL.java | 2 +- src/main/java/org/scijava/script/ScriptService.java | 2 +- src/main/java/org/scijava/script/console/RunScriptArgument.java | 2 +- src/main/java/org/scijava/script/io/ScriptIOPlugin.java | 2 +- .../scijava/script/process/DefaultScriptProcessorService.java | 2 +- .../org/scijava/script/process/DirectiveScriptProcessor.java | 2 +- .../org/scijava/script/process/ParameterScriptProcessor.java | 2 +- src/main/java/org/scijava/script/process/ScriptCallback.java | 2 +- .../scijava/script/process/ScriptDirectiveScriptProcessor.java | 2 +- src/main/java/org/scijava/script/process/ScriptProcessor.java | 2 +- .../java/org/scijava/script/process/ScriptProcessorService.java | 2 +- .../java/org/scijava/script/process/ShebangScriptProcessor.java | 2 +- src/main/java/org/scijava/script/run/ScriptCodeRunner.java | 2 +- src/main/java/org/scijava/service/AbstractService.java | 2 +- src/main/java/org/scijava/service/SciJavaService.java | 2 +- src/main/java/org/scijava/service/Service.java | 2 +- src/main/java/org/scijava/service/ServiceHelper.java | 2 +- src/main/java/org/scijava/service/ServiceIndex.java | 2 +- .../java/org/scijava/service/event/ServicesLoadedEvent.java | 2 +- src/main/java/org/scijava/startup/DefaultStartupService.java | 2 +- src/main/java/org/scijava/startup/StartupService.java | 2 +- src/main/java/org/scijava/task/DefaultTask.java | 2 +- src/main/java/org/scijava/task/DefaultTaskService.java | 2 +- src/main/java/org/scijava/task/Task.java | 2 +- src/main/java/org/scijava/task/TaskService.java | 2 +- src/main/java/org/scijava/task/event/TaskEvent.java | 2 +- src/main/java/org/scijava/test/TestUtils.java | 2 +- src/main/java/org/scijava/text/AbstractTextFormat.java | 2 +- src/main/java/org/scijava/text/DefaultTextService.java | 2 +- src/main/java/org/scijava/text/TextFormat.java | 2 +- src/main/java/org/scijava/text/TextService.java | 2 +- src/main/java/org/scijava/text/io/DefaultTextIOService.java | 2 +- src/main/java/org/scijava/text/io/TextIOPlugin.java | 2 +- src/main/java/org/scijava/text/io/TextIOService.java | 2 +- src/main/java/org/scijava/thread/DefaultThreadService.java | 2 +- src/main/java/org/scijava/thread/ThreadService.java | 2 +- src/main/java/org/scijava/tool/AbstractTool.java | 2 +- src/main/java/org/scijava/tool/CustomDrawnTool.java | 2 +- src/main/java/org/scijava/tool/DefaultToolService.java | 2 +- src/main/java/org/scijava/tool/DummyTool.java | 2 +- src/main/java/org/scijava/tool/IconDrawer.java | 2 +- src/main/java/org/scijava/tool/IconService.java | 2 +- src/main/java/org/scijava/tool/Tool.java | 2 +- src/main/java/org/scijava/tool/ToolService.java | 2 +- src/main/java/org/scijava/tool/event/ToolActivatedEvent.java | 2 +- src/main/java/org/scijava/tool/event/ToolDeactivatedEvent.java | 2 +- src/main/java/org/scijava/tool/event/ToolEvent.java | 2 +- src/main/java/org/scijava/ui/ARGBPlane.java | 2 +- src/main/java/org/scijava/ui/AbstractInputHarvesterPlugin.java | 2 +- src/main/java/org/scijava/ui/AbstractUIInputWidget.java | 2 +- src/main/java/org/scijava/ui/AbstractUserInterface.java | 2 +- src/main/java/org/scijava/ui/ApplicationFrame.java | 2 +- src/main/java/org/scijava/ui/Arrangeable.java | 2 +- src/main/java/org/scijava/ui/CloseConfirmable.java | 2 +- src/main/java/org/scijava/ui/DefaultUIService.java | 2 +- src/main/java/org/scijava/ui/Desktop.java | 2 +- src/main/java/org/scijava/ui/DialogPrompt.java | 2 +- src/main/java/org/scijava/ui/FileListPreprocessor.java | 2 +- src/main/java/org/scijava/ui/FilePreprocessor.java | 2 +- src/main/java/org/scijava/ui/StatusBar.java | 2 +- src/main/java/org/scijava/ui/SystemClipboard.java | 2 +- src/main/java/org/scijava/ui/ToolBar.java | 2 +- src/main/java/org/scijava/ui/UIPreprocessor.java | 2 +- src/main/java/org/scijava/ui/UIService.java | 2 +- src/main/java/org/scijava/ui/UserInterface.java | 2 +- src/main/java/org/scijava/ui/console/AbstractConsolePane.java | 2 +- src/main/java/org/scijava/ui/console/ConsolePane.java | 2 +- src/main/java/org/scijava/ui/console/HeadlessArgument.java | 2 +- src/main/java/org/scijava/ui/console/ShowUIArgument.java | 2 +- src/main/java/org/scijava/ui/console/UIArgument.java | 2 +- src/main/java/org/scijava/ui/dnd/AbstractDragAndDropData.java | 2 +- .../java/org/scijava/ui/dnd/AbstractDragAndDropHandler.java | 2 +- src/main/java/org/scijava/ui/dnd/DefaultDragAndDropData.java | 2 +- src/main/java/org/scijava/ui/dnd/DefaultDragAndDropService.java | 2 +- src/main/java/org/scijava/ui/dnd/DragAndDropData.java | 2 +- src/main/java/org/scijava/ui/dnd/DragAndDropHandler.java | 2 +- src/main/java/org/scijava/ui/dnd/DragAndDropService.java | 2 +- src/main/java/org/scijava/ui/dnd/FileDragAndDropHandler.java | 2 +- src/main/java/org/scijava/ui/dnd/ListDragAndDropHandler.java | 2 +- src/main/java/org/scijava/ui/dnd/MIMEType.java | 2 +- .../java/org/scijava/ui/dnd/ScriptFileDragAndDropHandler.java | 2 +- src/main/java/org/scijava/ui/dnd/event/DragAndDropEvent.java | 2 +- src/main/java/org/scijava/ui/dnd/event/DragEnterEvent.java | 2 +- src/main/java/org/scijava/ui/dnd/event/DragExitEvent.java | 2 +- src/main/java/org/scijava/ui/dnd/event/DragOverEvent.java | 2 +- src/main/java/org/scijava/ui/dnd/event/DropEvent.java | 2 +- src/main/java/org/scijava/ui/event/UIEvent.java | 2 +- src/main/java/org/scijava/ui/event/UIShownEvent.java | 2 +- .../java/org/scijava/ui/headless/HeadlessDisplayViewer.java | 2 +- src/main/java/org/scijava/ui/headless/HeadlessUI.java | 2 +- src/main/java/org/scijava/ui/headlessUI/HeadlessUI.java | 2 +- src/main/java/org/scijava/ui/viewer/AbstractDisplayViewer.java | 2 +- src/main/java/org/scijava/ui/viewer/DisplayPanel.java | 2 +- src/main/java/org/scijava/ui/viewer/DisplayViewer.java | 2 +- src/main/java/org/scijava/ui/viewer/DisplayWindow.java | 2 +- .../org/scijava/ui/viewer/text/AbstractTextDisplayViewer.java | 2 +- src/main/java/org/scijava/ui/viewer/text/TextDisplayPanel.java | 2 +- src/main/java/org/scijava/ui/viewer/text/TextDisplayViewer.java | 2 +- src/main/java/org/scijava/util/AbstractPrimitiveArray.java | 2 +- src/main/java/org/scijava/util/AppUtils.java | 2 +- src/main/java/org/scijava/util/ArrayUtils.java | 2 +- src/main/java/org/scijava/util/BoolArray.java | 2 +- src/main/java/org/scijava/util/ByteArray.java | 2 +- src/main/java/org/scijava/util/Bytes.java | 2 +- src/main/java/org/scijava/util/CharArray.java | 2 +- src/main/java/org/scijava/util/CheckSezpoz.java | 2 +- src/main/java/org/scijava/util/ClassUtils.java | 2 +- src/main/java/org/scijava/util/ColorRGB.java | 2 +- src/main/java/org/scijava/util/ColorRGBA.java | 2 +- src/main/java/org/scijava/util/Colors.java | 2 +- src/main/java/org/scijava/util/CombineAnnotations.java | 2 +- src/main/java/org/scijava/util/Combiner.java | 2 +- src/main/java/org/scijava/util/ConversionUtils.java | 2 +- src/main/java/org/scijava/util/DebugUtils.java | 2 +- src/main/java/org/scijava/util/DefaultTreeNode.java | 2 +- src/main/java/org/scijava/util/DigestUtils.java | 2 +- src/main/java/org/scijava/util/DoubleArray.java | 2 +- src/main/java/org/scijava/util/FileUtils.java | 2 +- src/main/java/org/scijava/util/FloatArray.java | 2 +- src/main/java/org/scijava/util/GenericUtils.java | 2 +- src/main/java/org/scijava/util/IntArray.java | 2 +- src/main/java/org/scijava/util/IntCoords.java | 2 +- src/main/java/org/scijava/util/IntRect.java | 2 +- src/main/java/org/scijava/util/IteratorPlus.java | 2 +- src/main/java/org/scijava/util/LastRecentlyUsed.java | 2 +- src/main/java/org/scijava/util/LineOutputStream.java | 2 +- src/main/java/org/scijava/util/ListUtils.java | 2 +- src/main/java/org/scijava/util/LongArray.java | 2 +- src/main/java/org/scijava/util/Manifest.java | 2 +- src/main/java/org/scijava/util/MersenneTwisterFast.java | 2 +- src/main/java/org/scijava/util/MetaInfCombiner.java | 2 +- src/main/java/org/scijava/util/MirrorWebsite.java | 2 +- src/main/java/org/scijava/util/MiscUtils.java | 2 +- src/main/java/org/scijava/util/NumberUtils.java | 2 +- src/main/java/org/scijava/util/ObjectArray.java | 2 +- src/main/java/org/scijava/util/POM.java | 2 +- src/main/java/org/scijava/util/PlatformUtils.java | 2 +- src/main/java/org/scijava/util/Prefs.java | 2 +- src/main/java/org/scijava/util/PrimitiveArray.java | 2 +- src/main/java/org/scijava/util/ProcessUtils.java | 2 +- src/main/java/org/scijava/util/Query.java | 2 +- src/main/java/org/scijava/util/ReadInto.java | 2 +- src/main/java/org/scijava/util/RealCoords.java | 2 +- src/main/java/org/scijava/util/RealRect.java | 2 +- src/main/java/org/scijava/util/ReflectException.java | 2 +- src/main/java/org/scijava/util/ReflectedUniverse.java | 2 +- src/main/java/org/scijava/util/ServiceCombiner.java | 2 +- src/main/java/org/scijava/util/ShortArray.java | 2 +- src/main/java/org/scijava/util/Sizable.java | 2 +- src/main/java/org/scijava/util/SizableArrayList.java | 2 +- src/main/java/org/scijava/util/StringMaker.java | 2 +- src/main/java/org/scijava/util/StringUtils.java | 2 +- src/main/java/org/scijava/util/Timing.java | 2 +- src/main/java/org/scijava/util/TreeNode.java | 2 +- src/main/java/org/scijava/util/TunePlayer.java | 2 +- src/main/java/org/scijava/util/Types.java | 2 +- src/main/java/org/scijava/util/UnitUtils.java | 2 +- src/main/java/org/scijava/util/VersionUtils.java | 2 +- src/main/java/org/scijava/util/XML.java | 2 +- src/main/java/org/scijava/welcome/DefaultWelcomeService.java | 2 +- src/main/java/org/scijava/welcome/WelcomeService.java | 2 +- src/main/java/org/scijava/welcome/event/WelcomeEvent.java | 2 +- src/main/java/org/scijava/widget/AbstractInputHarvester.java | 2 +- src/main/java/org/scijava/widget/AbstractInputPanel.java | 2 +- src/main/java/org/scijava/widget/AbstractInputWidget.java | 2 +- src/main/java/org/scijava/widget/Button.java | 2 +- src/main/java/org/scijava/widget/ButtonWidget.java | 2 +- src/main/java/org/scijava/widget/ChoiceWidget.java | 2 +- src/main/java/org/scijava/widget/ColorWidget.java | 2 +- src/main/java/org/scijava/widget/DateWidget.java | 2 +- src/main/java/org/scijava/widget/DefaultWidgetModel.java | 2 +- src/main/java/org/scijava/widget/DefaultWidgetService.java | 2 +- src/main/java/org/scijava/widget/FileListWidget.java | 2 +- src/main/java/org/scijava/widget/FileWidget.java | 2 +- src/main/java/org/scijava/widget/InputHarvester.java | 2 +- src/main/java/org/scijava/widget/InputPanel.java | 2 +- src/main/java/org/scijava/widget/InputWidget.java | 2 +- src/main/java/org/scijava/widget/MessageWidget.java | 2 +- src/main/java/org/scijava/widget/NumberWidget.java | 2 +- src/main/java/org/scijava/widget/ObjectWidget.java | 2 +- src/main/java/org/scijava/widget/TextWidget.java | 2 +- src/main/java/org/scijava/widget/ToggleWidget.java | 2 +- src/main/java/org/scijava/widget/UIComponent.java | 2 +- src/main/java/org/scijava/widget/WidgetModel.java | 2 +- src/main/java/org/scijava/widget/WidgetService.java | 2 +- src/main/java/org/scijava/widget/WidgetStyle.java | 2 +- src/test/java/org/scijava/ContextCreationTest.java | 2 +- src/test/java/org/scijava/ContextInjectionTest.java | 2 +- src/test/java/org/scijava/SciJavaTest.java | 2 +- src/test/java/org/scijava/annotations/AnnotatedA.java | 2 +- src/test/java/org/scijava/annotations/AnnotatedB.java | 2 +- src/test/java/org/scijava/annotations/AnnotatedC.java | 2 +- src/test/java/org/scijava/annotations/AnnotatedD.java | 2 +- src/test/java/org/scijava/annotations/AnnotatedInnerClass.java | 2 +- src/test/java/org/scijava/annotations/Complex.java | 2 +- src/test/java/org/scijava/annotations/DirectoryIndexerTest.java | 2 +- src/test/java/org/scijava/annotations/EclipseHelperTest.java | 2 +- src/test/java/org/scijava/annotations/Fruit.java | 2 +- src/test/java/org/scijava/annotations/LegacyTest.java | 2 +- src/test/java/org/scijava/annotations/Simple.java | 2 +- src/test/java/org/scijava/app/StatusServiceTest.java | 2 +- .../java/org/scijava/command/CommandArrayConverterTest.java | 2 +- src/test/java/org/scijava/command/CommandInfoTest.java | 2 +- src/test/java/org/scijava/command/CommandModuleTest.java | 2 +- src/test/java/org/scijava/command/CommandServiceTest.java | 2 +- src/test/java/org/scijava/command/InputsTest.java | 2 +- src/test/java/org/scijava/command/InvalidCommandTest.java | 2 +- .../java/org/scijava/command/run/CommandCodeRunnerTest.java | 2 +- src/test/java/org/scijava/console/ConsoleServiceTest.java | 2 +- .../java/org/scijava/console/SystemPropertyArgumentTest.java | 2 +- .../java/org/scijava/convert/AbstractNumberConverterTests.java | 2 +- .../java/org/scijava/convert/ArrayToStringConverterTest.java | 2 +- .../scijava/convert/BigIntegerToBigDecimalConverterTest.java | 2 +- .../java/org/scijava/convert/ByteToBigDecimalConverterTest.java | 2 +- .../java/org/scijava/convert/ByteToBigIntegerConverterTest.java | 2 +- .../java/org/scijava/convert/ByteToDoubleConverterTest.java | 2 +- src/test/java/org/scijava/convert/ByteToFloatConverterTest.java | 2 +- .../java/org/scijava/convert/ByteToIntegerConverterTest.java | 2 +- src/test/java/org/scijava/convert/ByteToLongConverterTest.java | 2 +- src/test/java/org/scijava/convert/ByteToShortConverterTest.java | 2 +- src/test/java/org/scijava/convert/ConvertServiceTest.java | 2 +- src/test/java/org/scijava/convert/ConverterTest.java | 2 +- src/test/java/org/scijava/convert/DelegateConverterTest.java | 2 +- .../org/scijava/convert/DoubleToBigDecimalConverterTest.java | 2 +- src/test/java/org/scijava/convert/FileListConverterTest.java | 2 +- src/test/java/org/scijava/convert/FileToPathConversionTest.java | 2 +- .../org/scijava/convert/FloatToBigDecimalConverterTest.java | 2 +- .../java/org/scijava/convert/FloatToDoubleConverterTest.java | 2 +- .../org/scijava/convert/IntegerToBigDecimalConverterTest.java | 2 +- .../org/scijava/convert/IntegerToBigIntegerConverterTest.java | 2 +- .../java/org/scijava/convert/IntegerToDoubleConverterTest.java | 2 +- .../java/org/scijava/convert/IntegerToLongConverterTest.java | 2 +- .../java/org/scijava/convert/LongToBigDecimalConverterTest.java | 2 +- .../java/org/scijava/convert/LongToBigIntegerConverterTest.java | 2 +- .../org/scijava/convert/ShortToBigDecimalConverterTest.java | 2 +- .../org/scijava/convert/ShortToBigIntegerConverterTest.java | 2 +- .../java/org/scijava/convert/ShortToDoubleConverterTest.java | 2 +- .../java/org/scijava/convert/ShortToFloatConverterTest.java | 2 +- .../java/org/scijava/convert/ShortToIntegerConverterTest.java | 2 +- src/test/java/org/scijava/convert/ShortToLongConverterTest.java | 2 +- .../java/org/scijava/convert/StringToArrayConverterTest.java | 2 +- .../java/org/scijava/convert/StringToNumberConverterTest.java | 2 +- src/test/java/org/scijava/display/DisplayTest.java | 2 +- src/test/java/org/scijava/download/DownloadServiceTest.java | 2 +- src/test/java/org/scijava/event/EventServiceTest.java | 2 +- src/test/java/org/scijava/io/ByteArrayByteBankTest.java | 2 +- src/test/java/org/scijava/io/ByteBankTest.java | 2 +- src/test/java/org/scijava/io/IOServiceTest.java | 2 +- src/test/java/org/scijava/io/TypedIOServiceTest.java | 2 +- src/test/java/org/scijava/io/event/DataEventTest.java | 2 +- src/test/java/org/scijava/io/handle/BytesHandleTest.java | 2 +- .../java/org/scijava/io/handle/DataHandleEdgeCaseTests.java | 2 +- src/test/java/org/scijava/io/handle/DataHandleTest.java | 2 +- src/test/java/org/scijava/io/handle/DataHandlesTest.java | 2 +- src/test/java/org/scijava/io/handle/FileHandleTest.java | 2 +- .../org/scijava/io/handle/ReadBufferDataHandleMockTest.java | 2 +- .../java/org/scijava/io/handle/ReadBufferDataHandleTest.java | 2 +- .../java/org/scijava/io/handle/WriteBufferDataHandleTest.java | 2 +- src/test/java/org/scijava/io/location/BytesLocationTest.java | 2 +- .../java/org/scijava/io/location/FileLocationResolverTest.java | 2 +- src/test/java/org/scijava/io/location/FileLocationTest.java | 2 +- src/test/java/org/scijava/io/location/LocationServiceTest.java | 2 +- src/test/java/org/scijava/io/location/URILocationTest.java | 2 +- src/test/java/org/scijava/io/location/URLLocationTest.java | 2 +- src/test/java/org/scijava/io/nio/ByteBufferByteBankTest.java | 2 +- src/test/java/org/scijava/log/CallingClassUtilsTest.java | 2 +- src/test/java/org/scijava/log/DefaultLoggerTest.java | 2 +- src/test/java/org/scijava/log/LogMessageTest.java | 2 +- src/test/java/org/scijava/log/LogServiceTest.java | 2 +- src/test/java/org/scijava/log/LogSourceTest.java | 2 +- src/test/java/org/scijava/log/StderrLogServiceTest.java | 2 +- src/test/java/org/scijava/log/TestLogListener.java | 2 +- src/test/java/org/scijava/main/MainServiceTest.java | 2 +- src/test/java/org/scijava/main/run/MainCodeRunnerTest.java | 2 +- src/test/java/org/scijava/menu/MenuServiceTest.java | 2 +- src/test/java/org/scijava/menu/ShadowMenuTest.java | 2 +- src/test/java/org/scijava/module/ModuleServiceTest.java | 2 +- .../java/org/scijava/module/process/LoggerPreprocessorTest.java | 2 +- src/test/java/org/scijava/module/run/ModuleCodeRunnerTest.java | 2 +- src/test/java/org/scijava/object/NamedObjectIndexTest.java | 2 +- src/test/java/org/scijava/object/ObjectIndexTest.java | 2 +- src/test/java/org/scijava/object/ObjectServiceTest.java | 2 +- src/test/java/org/scijava/object/SortedObjectIndexTest.java | 2 +- src/test/java/org/scijava/options/OptionsTest.java | 2 +- src/test/java/org/scijava/parse/ParseServiceTest.java | 2 +- src/test/java/org/scijava/plugin/PluginFinderTest.java | 2 +- src/test/java/org/scijava/plugin/PluginIndexTest.java | 2 +- src/test/java/org/scijava/plugin/PluginInfoTest.java | 2 +- src/test/java/org/scijava/plugin/SingletonServiceTest.java | 2 +- src/test/java/org/scijava/prefs/PrefServiceTest.java | 2 +- src/test/java/org/scijava/run/RunServiceTest.java | 2 +- .../java/org/scijava/script/AbstractScriptLanguageTest.java | 2 +- src/test/java/org/scijava/script/ScriptEngineTest.java | 2 +- src/test/java/org/scijava/script/ScriptFinderTest.java | 2 +- src/test/java/org/scijava/script/ScriptInfoTest.java | 2 +- src/test/java/org/scijava/script/ScriptServiceTest.java | 2 +- .../scijava/script/process/ParameterScriptProcessorTest.java | 2 +- src/test/java/org/scijava/service/ServiceIndexTest.java | 2 +- src/test/java/org/scijava/task/TaskEventTest.java | 2 +- src/test/java/org/scijava/task/TaskServiceTest.java | 2 +- src/test/java/org/scijava/test/AbstractSciJavaTest.java | 2 +- src/test/java/org/scijava/test/TestUtilsTest.java | 2 +- src/test/java/org/scijava/text/TextServiceTest.java | 2 +- src/test/java/org/scijava/thread/ThreadServiceTest.java | 2 +- src/test/java/org/scijava/ui/UIServiceTest.java | 2 +- src/test/java/org/scijava/util/AppUtilsTest.java | 2 +- src/test/java/org/scijava/util/ArrayUtilsTest.java | 2 +- src/test/java/org/scijava/util/BoolArrayTest.java | 2 +- src/test/java/org/scijava/util/ByteArrayTest.java | 2 +- src/test/java/org/scijava/util/CharArrayTest.java | 2 +- src/test/java/org/scijava/util/ClassUtilsTest.java | 2 +- src/test/java/org/scijava/util/ColorRGBTest.java | 2 +- src/test/java/org/scijava/util/ConversionUtilsTest.java | 2 +- src/test/java/org/scijava/util/DigestUtilsTest.java | 2 +- src/test/java/org/scijava/util/DoubleArrayTest.java | 2 +- src/test/java/org/scijava/util/FileUtilsTest.java | 2 +- src/test/java/org/scijava/util/FloatArrayTest.java | 2 +- src/test/java/org/scijava/util/GenericArrayTypesTest.java | 2 +- src/test/java/org/scijava/util/IntArrayTest.java | 2 +- src/test/java/org/scijava/util/LastRecentlyUsedTest.java | 2 +- src/test/java/org/scijava/util/LongArrayTest.java | 2 +- src/test/java/org/scijava/util/NumberUtilsTest.java | 2 +- src/test/java/org/scijava/util/ObjectArrayTest.java | 2 +- src/test/java/org/scijava/util/POMTest.java | 2 +- src/test/java/org/scijava/util/PrimitiveArrayTest.java | 2 +- src/test/java/org/scijava/util/ProcessUtilsTest.java | 2 +- src/test/java/org/scijava/util/ShortArrayTest.java | 2 +- src/test/java/org/scijava/util/StringUtilsTest.java | 2 +- src/test/java/org/scijava/util/TypesTest.java | 2 +- src/test/java/org/scijava/util/UnitUtilsTest.java | 2 +- src/test/java/org/scijava/util/VersionUtilsTest.java | 2 +- src/test/java/org/scijava/widget/WidgetStyleTest.java | 2 +- 750 files changed, 750 insertions(+), 750 deletions(-) diff --git a/LICENSE.txt b/LICENSE.txt index 5f08911f4..aaee970f7 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,4 +1,4 @@ -Copyright (c) 2009 - 2022, SciJava developers. +Copyright (c) 2009 - 2023, SciJava developers. All rights reserved. Redistribution and use in source and binary forms, with or without modification, diff --git a/src/it/apt-test/pom.xml b/src/it/apt-test/pom.xml index 93eab1f4c..514f2c7d7 100644 --- a/src/it/apt-test/pom.xml +++ b/src/it/apt-test/pom.xml @@ -3,7 +3,7 @@ #%L SciJava Common shared library for SciJava software. %% - Copyright (C) 2009 - 2022 SciJava developers. + Copyright (C) 2009 - 2023 SciJava developers. %% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: diff --git a/src/it/apt-test/setup.bsh b/src/it/apt-test/setup.bsh index 1aa0b6938..245d04040 100644 --- a/src/it/apt-test/setup.bsh +++ b/src/it/apt-test/setup.bsh @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/it/apt-test/src/main/java/org/scijava/annotation/its/Annotated.java b/src/it/apt-test/src/main/java/org/scijava/annotation/its/Annotated.java index 1bda32ca5..0f899650e 100644 --- a/src/it/apt-test/src/main/java/org/scijava/annotation/its/Annotated.java +++ b/src/it/apt-test/src/main/java/org/scijava/annotation/its/Annotated.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/it/apt-test/src/main/java/org/scijava/annotation/its/CustomAnnotation.java b/src/it/apt-test/src/main/java/org/scijava/annotation/its/CustomAnnotation.java index 77e414da2..bad45ed0b 100644 --- a/src/it/apt-test/src/main/java/org/scijava/annotation/its/CustomAnnotation.java +++ b/src/it/apt-test/src/main/java/org/scijava/annotation/its/CustomAnnotation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/it/apt-test/verify.bsh b/src/it/apt-test/verify.bsh index bf20d6cc0..399db31d8 100644 --- a/src/it/apt-test/verify.bsh +++ b/src/it/apt-test/verify.bsh @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/it/settings.xml b/src/it/settings.xml index be7d7b999..fb751e065 100644 --- a/src/it/settings.xml +++ b/src/it/settings.xml @@ -3,7 +3,7 @@ #%L SciJava Common shared library for SciJava software. %% - Copyright (C) 2009 - 2022 SciJava developers. + Copyright (C) 2009 - 2023 SciJava developers. %% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/AbstractBasicDetails.java b/src/main/java/org/scijava/AbstractBasicDetails.java index 96ba66746..f3b30998c 100644 --- a/src/main/java/org/scijava/AbstractBasicDetails.java +++ b/src/main/java/org/scijava/AbstractBasicDetails.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/AbstractContextual.java b/src/main/java/org/scijava/AbstractContextual.java index b8a074336..b550ae26f 100644 --- a/src/main/java/org/scijava/AbstractContextual.java +++ b/src/main/java/org/scijava/AbstractContextual.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/AbstractGateway.java b/src/main/java/org/scijava/AbstractGateway.java index c6be31959..9df93126c 100644 --- a/src/main/java/org/scijava/AbstractGateway.java +++ b/src/main/java/org/scijava/AbstractGateway.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/AbstractUIDetails.java b/src/main/java/org/scijava/AbstractUIDetails.java index 0b887cafa..d6afda127 100644 --- a/src/main/java/org/scijava/AbstractUIDetails.java +++ b/src/main/java/org/scijava/AbstractUIDetails.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/BasicDetails.java b/src/main/java/org/scijava/BasicDetails.java index b3ab1e40f..e6c96fbf1 100644 --- a/src/main/java/org/scijava/BasicDetails.java +++ b/src/main/java/org/scijava/BasicDetails.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Cancelable.java b/src/main/java/org/scijava/Cancelable.java index 0b1098ca0..74aef720e 100644 --- a/src/main/java/org/scijava/Cancelable.java +++ b/src/main/java/org/scijava/Cancelable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Context.java b/src/main/java/org/scijava/Context.java index f93f22991..a6892d7bd 100644 --- a/src/main/java/org/scijava/Context.java +++ b/src/main/java/org/scijava/Context.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Contextual.java b/src/main/java/org/scijava/Contextual.java index cd247a466..6862b19b8 100644 --- a/src/main/java/org/scijava/Contextual.java +++ b/src/main/java/org/scijava/Contextual.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Disposable.java b/src/main/java/org/scijava/Disposable.java index cde51c0fc..6c1f51276 100644 --- a/src/main/java/org/scijava/Disposable.java +++ b/src/main/java/org/scijava/Disposable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Gateway.java b/src/main/java/org/scijava/Gateway.java index 47b346156..3d5897528 100644 --- a/src/main/java/org/scijava/Gateway.java +++ b/src/main/java/org/scijava/Gateway.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Identifiable.java b/src/main/java/org/scijava/Identifiable.java index 0774e0fb2..5d7b4301d 100644 --- a/src/main/java/org/scijava/Identifiable.java +++ b/src/main/java/org/scijava/Identifiable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Initializable.java b/src/main/java/org/scijava/Initializable.java index 149e8d503..b8c4bd430 100644 --- a/src/main/java/org/scijava/Initializable.java +++ b/src/main/java/org/scijava/Initializable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Instantiable.java b/src/main/java/org/scijava/Instantiable.java index 5be5d288d..f51ea2e32 100644 --- a/src/main/java/org/scijava/Instantiable.java +++ b/src/main/java/org/scijava/Instantiable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/InstantiableException.java b/src/main/java/org/scijava/InstantiableException.java index bf31a522f..de5d6db8e 100644 --- a/src/main/java/org/scijava/InstantiableException.java +++ b/src/main/java/org/scijava/InstantiableException.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ItemIO.java b/src/main/java/org/scijava/ItemIO.java index e9955fcaf..bb9b0be69 100644 --- a/src/main/java/org/scijava/ItemIO.java +++ b/src/main/java/org/scijava/ItemIO.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ItemVisibility.java b/src/main/java/org/scijava/ItemVisibility.java index d69da15d2..764d67bac 100644 --- a/src/main/java/org/scijava/ItemVisibility.java +++ b/src/main/java/org/scijava/ItemVisibility.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Locatable.java b/src/main/java/org/scijava/Locatable.java index e200df42e..ed9212310 100644 --- a/src/main/java/org/scijava/Locatable.java +++ b/src/main/java/org/scijava/Locatable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/MenuEntry.java b/src/main/java/org/scijava/MenuEntry.java index ee0ac4b75..236cdbe35 100644 --- a/src/main/java/org/scijava/MenuEntry.java +++ b/src/main/java/org/scijava/MenuEntry.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/MenuPath.java b/src/main/java/org/scijava/MenuPath.java index 508eec37b..cab9983d8 100644 --- a/src/main/java/org/scijava/MenuPath.java +++ b/src/main/java/org/scijava/MenuPath.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Named.java b/src/main/java/org/scijava/Named.java index 2307e06f3..e0f508e94 100644 --- a/src/main/java/org/scijava/Named.java +++ b/src/main/java/org/scijava/Named.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/NoSuchServiceException.java b/src/main/java/org/scijava/NoSuchServiceException.java index 498c0989f..24fb01c00 100644 --- a/src/main/java/org/scijava/NoSuchServiceException.java +++ b/src/main/java/org/scijava/NoSuchServiceException.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/NullContextException.java b/src/main/java/org/scijava/NullContextException.java index 7c13e82ba..f411e951d 100644 --- a/src/main/java/org/scijava/NullContextException.java +++ b/src/main/java/org/scijava/NullContextException.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Optional.java b/src/main/java/org/scijava/Optional.java index 8ce2fc46f..4433057a9 100644 --- a/src/main/java/org/scijava/Optional.java +++ b/src/main/java/org/scijava/Optional.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Prioritized.java b/src/main/java/org/scijava/Prioritized.java index bb49dc76f..cc3e20661 100644 --- a/src/main/java/org/scijava/Prioritized.java +++ b/src/main/java/org/scijava/Prioritized.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Priority.java b/src/main/java/org/scijava/Priority.java index a495ec026..65ce6c237 100644 --- a/src/main/java/org/scijava/Priority.java +++ b/src/main/java/org/scijava/Priority.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/SciJava.java b/src/main/java/org/scijava/SciJava.java index 3c1180e43..11f0d5743 100644 --- a/src/main/java/org/scijava/SciJava.java +++ b/src/main/java/org/scijava/SciJava.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Typed.java b/src/main/java/org/scijava/Typed.java index a600d4718..f40ca469b 100644 --- a/src/main/java/org/scijava/Typed.java +++ b/src/main/java/org/scijava/Typed.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/UIDetails.java b/src/main/java/org/scijava/UIDetails.java index 949cf24cb..07c444bbd 100644 --- a/src/main/java/org/scijava/UIDetails.java +++ b/src/main/java/org/scijava/UIDetails.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Validated.java b/src/main/java/org/scijava/Validated.java index f3383a252..f90043370 100644 --- a/src/main/java/org/scijava/Validated.java +++ b/src/main/java/org/scijava/Validated.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ValidityProblem.java b/src/main/java/org/scijava/ValidityProblem.java index 65cfa240c..82e8ac134 100644 --- a/src/main/java/org/scijava/ValidityProblem.java +++ b/src/main/java/org/scijava/ValidityProblem.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Versioned.java b/src/main/java/org/scijava/Versioned.java index c12d5be9b..446e91cda 100644 --- a/src/main/java/org/scijava/Versioned.java +++ b/src/main/java/org/scijava/Versioned.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/AbstractIndexWriter.java b/src/main/java/org/scijava/annotations/AbstractIndexWriter.java index 9132512e6..54cfac128 100644 --- a/src/main/java/org/scijava/annotations/AbstractIndexWriter.java +++ b/src/main/java/org/scijava/annotations/AbstractIndexWriter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/AnnotationCombiner.java b/src/main/java/org/scijava/annotations/AnnotationCombiner.java index 88f92ca9e..66c1d3566 100644 --- a/src/main/java/org/scijava/annotations/AnnotationCombiner.java +++ b/src/main/java/org/scijava/annotations/AnnotationCombiner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/AnnotationProcessor.java b/src/main/java/org/scijava/annotations/AnnotationProcessor.java index 03cc759b0..518e29d64 100644 --- a/src/main/java/org/scijava/annotations/AnnotationProcessor.java +++ b/src/main/java/org/scijava/annotations/AnnotationProcessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/ByteCodeAnalyzer.java b/src/main/java/org/scijava/annotations/ByteCodeAnalyzer.java index 316ce2601..4de2c6e53 100644 --- a/src/main/java/org/scijava/annotations/ByteCodeAnalyzer.java +++ b/src/main/java/org/scijava/annotations/ByteCodeAnalyzer.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/DirectoryIndexer.java b/src/main/java/org/scijava/annotations/DirectoryIndexer.java index 84a176e00..1af1b118d 100644 --- a/src/main/java/org/scijava/annotations/DirectoryIndexer.java +++ b/src/main/java/org/scijava/annotations/DirectoryIndexer.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/EclipseHelper.java b/src/main/java/org/scijava/annotations/EclipseHelper.java index d8b457f29..00a320e6a 100644 --- a/src/main/java/org/scijava/annotations/EclipseHelper.java +++ b/src/main/java/org/scijava/annotations/EclipseHelper.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/Index.java b/src/main/java/org/scijava/annotations/Index.java index e9fe9a5c4..98bcf4033 100644 --- a/src/main/java/org/scijava/annotations/Index.java +++ b/src/main/java/org/scijava/annotations/Index.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/IndexItem.java b/src/main/java/org/scijava/annotations/IndexItem.java index 3a3fc8b54..3cfa75dd7 100644 --- a/src/main/java/org/scijava/annotations/IndexItem.java +++ b/src/main/java/org/scijava/annotations/IndexItem.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/IndexReader.java b/src/main/java/org/scijava/annotations/IndexReader.java index 061226272..63ec749d3 100644 --- a/src/main/java/org/scijava/annotations/IndexReader.java +++ b/src/main/java/org/scijava/annotations/IndexReader.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/Indexable.java b/src/main/java/org/scijava/annotations/Indexable.java index 31315dcf0..7b7f040a8 100644 --- a/src/main/java/org/scijava/annotations/Indexable.java +++ b/src/main/java/org/scijava/annotations/Indexable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/legacy/LegacyReader.java b/src/main/java/org/scijava/annotations/legacy/LegacyReader.java index 300a03da0..733a29125 100644 --- a/src/main/java/org/scijava/annotations/legacy/LegacyReader.java +++ b/src/main/java/org/scijava/annotations/legacy/LegacyReader.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/app/AbstractApp.java b/src/main/java/org/scijava/app/AbstractApp.java index 3efbfc005..7901ee792 100644 --- a/src/main/java/org/scijava/app/AbstractApp.java +++ b/src/main/java/org/scijava/app/AbstractApp.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/app/App.java b/src/main/java/org/scijava/app/App.java index aaa359dd9..72990e5f9 100644 --- a/src/main/java/org/scijava/app/App.java +++ b/src/main/java/org/scijava/app/App.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/app/AppService.java b/src/main/java/org/scijava/app/AppService.java index 876475de3..e15d3c869 100644 --- a/src/main/java/org/scijava/app/AppService.java +++ b/src/main/java/org/scijava/app/AppService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/app/DefaultAppService.java b/src/main/java/org/scijava/app/DefaultAppService.java index 26642e99b..12e203ab0 100644 --- a/src/main/java/org/scijava/app/DefaultAppService.java +++ b/src/main/java/org/scijava/app/DefaultAppService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/app/DefaultStatusService.java b/src/main/java/org/scijava/app/DefaultStatusService.java index c622c12ea..44a871f9f 100644 --- a/src/main/java/org/scijava/app/DefaultStatusService.java +++ b/src/main/java/org/scijava/app/DefaultStatusService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/app/SciJavaApp.java b/src/main/java/org/scijava/app/SciJavaApp.java index 1c9679b06..d8f8a2d71 100644 --- a/src/main/java/org/scijava/app/SciJavaApp.java +++ b/src/main/java/org/scijava/app/SciJavaApp.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/app/StatusService.java b/src/main/java/org/scijava/app/StatusService.java index e2c64ebf0..82ef4b7f2 100644 --- a/src/main/java/org/scijava/app/StatusService.java +++ b/src/main/java/org/scijava/app/StatusService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/app/event/StatusEvent.java b/src/main/java/org/scijava/app/event/StatusEvent.java index cb34e3f4e..7b57ce3e2 100644 --- a/src/main/java/org/scijava/app/event/StatusEvent.java +++ b/src/main/java/org/scijava/app/event/StatusEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/cache/CacheService.java b/src/main/java/org/scijava/cache/CacheService.java index f91b37214..15b8d82f3 100644 --- a/src/main/java/org/scijava/cache/CacheService.java +++ b/src/main/java/org/scijava/cache/CacheService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/cache/DefaultCacheService.java b/src/main/java/org/scijava/cache/DefaultCacheService.java index 210ed2558..a150bf86b 100644 --- a/src/main/java/org/scijava/cache/DefaultCacheService.java +++ b/src/main/java/org/scijava/cache/DefaultCacheService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/Command.java b/src/main/java/org/scijava/command/Command.java index 420c5c2e9..fa462633b 100644 --- a/src/main/java/org/scijava/command/Command.java +++ b/src/main/java/org/scijava/command/Command.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/CommandInfo.java b/src/main/java/org/scijava/command/CommandInfo.java index cdde41992..b5aaba8d1 100644 --- a/src/main/java/org/scijava/command/CommandInfo.java +++ b/src/main/java/org/scijava/command/CommandInfo.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/CommandModule.java b/src/main/java/org/scijava/command/CommandModule.java index fc1e59469..702b1a561 100644 --- a/src/main/java/org/scijava/command/CommandModule.java +++ b/src/main/java/org/scijava/command/CommandModule.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/CommandModuleItem.java b/src/main/java/org/scijava/command/CommandModuleItem.java index 38b52ac11..253c92332 100644 --- a/src/main/java/org/scijava/command/CommandModuleItem.java +++ b/src/main/java/org/scijava/command/CommandModuleItem.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/CommandService.java b/src/main/java/org/scijava/command/CommandService.java index 6e777ea5b..10772f7f9 100644 --- a/src/main/java/org/scijava/command/CommandService.java +++ b/src/main/java/org/scijava/command/CommandService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/ContextCommand.java b/src/main/java/org/scijava/command/ContextCommand.java index 86094df90..bc3b6e520 100644 --- a/src/main/java/org/scijava/command/ContextCommand.java +++ b/src/main/java/org/scijava/command/ContextCommand.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/DefaultCommandService.java b/src/main/java/org/scijava/command/DefaultCommandService.java index 64ee66b62..1ca12204e 100644 --- a/src/main/java/org/scijava/command/DefaultCommandService.java +++ b/src/main/java/org/scijava/command/DefaultCommandService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/DynamicCommand.java b/src/main/java/org/scijava/command/DynamicCommand.java index 4d6f8e980..bda553db7 100644 --- a/src/main/java/org/scijava/command/DynamicCommand.java +++ b/src/main/java/org/scijava/command/DynamicCommand.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/DynamicCommandInfo.java b/src/main/java/org/scijava/command/DynamicCommandInfo.java index f45561e6b..d67417a04 100644 --- a/src/main/java/org/scijava/command/DynamicCommandInfo.java +++ b/src/main/java/org/scijava/command/DynamicCommandInfo.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/Inputs.java b/src/main/java/org/scijava/command/Inputs.java index 291f748cb..9c30dffaa 100644 --- a/src/main/java/org/scijava/command/Inputs.java +++ b/src/main/java/org/scijava/command/Inputs.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/Interactive.java b/src/main/java/org/scijava/command/Interactive.java index cb35b9314..a940e4257 100644 --- a/src/main/java/org/scijava/command/Interactive.java +++ b/src/main/java/org/scijava/command/Interactive.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/InteractiveCommand.java b/src/main/java/org/scijava/command/InteractiveCommand.java index 51e7b9ffa..ea3cce37b 100644 --- a/src/main/java/org/scijava/command/InteractiveCommand.java +++ b/src/main/java/org/scijava/command/InteractiveCommand.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/ModuleCommand.java b/src/main/java/org/scijava/command/ModuleCommand.java index 5cb014814..bfe715895 100644 --- a/src/main/java/org/scijava/command/ModuleCommand.java +++ b/src/main/java/org/scijava/command/ModuleCommand.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/Previewable.java b/src/main/java/org/scijava/command/Previewable.java index 5115b88a1..3b9ea160c 100644 --- a/src/main/java/org/scijava/command/Previewable.java +++ b/src/main/java/org/scijava/command/Previewable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/UnimplementedCommand.java b/src/main/java/org/scijava/command/UnimplementedCommand.java index f803e283c..cf1d828ee 100644 --- a/src/main/java/org/scijava/command/UnimplementedCommand.java +++ b/src/main/java/org/scijava/command/UnimplementedCommand.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/console/RunArgument.java b/src/main/java/org/scijava/command/console/RunArgument.java index d066e9d74..d0cea8435 100644 --- a/src/main/java/org/scijava/command/console/RunArgument.java +++ b/src/main/java/org/scijava/command/console/RunArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/run/CommandCodeRunner.java b/src/main/java/org/scijava/command/run/CommandCodeRunner.java index ea493609c..2c1816b3c 100644 --- a/src/main/java/org/scijava/command/run/CommandCodeRunner.java +++ b/src/main/java/org/scijava/command/run/CommandCodeRunner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/AbstractConsoleArgument.java b/src/main/java/org/scijava/console/AbstractConsoleArgument.java index 88d64af7a..9ed6165a5 100644 --- a/src/main/java/org/scijava/console/AbstractConsoleArgument.java +++ b/src/main/java/org/scijava/console/AbstractConsoleArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/ConsoleArgument.java b/src/main/java/org/scijava/console/ConsoleArgument.java index 2067aae10..d4bdec30a 100644 --- a/src/main/java/org/scijava/console/ConsoleArgument.java +++ b/src/main/java/org/scijava/console/ConsoleArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/ConsoleService.java b/src/main/java/org/scijava/console/ConsoleService.java index 97299556c..fdc600b31 100644 --- a/src/main/java/org/scijava/console/ConsoleService.java +++ b/src/main/java/org/scijava/console/ConsoleService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/ConsoleUtils.java b/src/main/java/org/scijava/console/ConsoleUtils.java index 80713b5bd..40de75132 100644 --- a/src/main/java/org/scijava/console/ConsoleUtils.java +++ b/src/main/java/org/scijava/console/ConsoleUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/DefaultConsoleService.java b/src/main/java/org/scijava/console/DefaultConsoleService.java index 9f474b2f7..74cce7d56 100644 --- a/src/main/java/org/scijava/console/DefaultConsoleService.java +++ b/src/main/java/org/scijava/console/DefaultConsoleService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/MultiOutputStream.java b/src/main/java/org/scijava/console/MultiOutputStream.java index dc2a3ec62..02e4fb5ac 100644 --- a/src/main/java/org/scijava/console/MultiOutputStream.java +++ b/src/main/java/org/scijava/console/MultiOutputStream.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/MultiPrintStream.java b/src/main/java/org/scijava/console/MultiPrintStream.java index 991f24710..3f0109138 100644 --- a/src/main/java/org/scijava/console/MultiPrintStream.java +++ b/src/main/java/org/scijava/console/MultiPrintStream.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/OutputEvent.java b/src/main/java/org/scijava/console/OutputEvent.java index ffacdfa07..843a6f20d 100644 --- a/src/main/java/org/scijava/console/OutputEvent.java +++ b/src/main/java/org/scijava/console/OutputEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/OutputListener.java b/src/main/java/org/scijava/console/OutputListener.java index 1486f70f0..44000d87a 100644 --- a/src/main/java/org/scijava/console/OutputListener.java +++ b/src/main/java/org/scijava/console/OutputListener.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/SystemPropertyArgument.java b/src/main/java/org/scijava/console/SystemPropertyArgument.java index c6a053fbc..60f076798 100644 --- a/src/main/java/org/scijava/console/SystemPropertyArgument.java +++ b/src/main/java/org/scijava/console/SystemPropertyArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/AbstractConvertService.java b/src/main/java/org/scijava/convert/AbstractConvertService.java index 89b883f63..e9cd189e7 100644 --- a/src/main/java/org/scijava/convert/AbstractConvertService.java +++ b/src/main/java/org/scijava/convert/AbstractConvertService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/AbstractConverter.java b/src/main/java/org/scijava/convert/AbstractConverter.java index 9b2ae2cda..244ca88bc 100644 --- a/src/main/java/org/scijava/convert/AbstractConverter.java +++ b/src/main/java/org/scijava/convert/AbstractConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/AbstractDelegateConverter.java b/src/main/java/org/scijava/convert/AbstractDelegateConverter.java index 4e447eb79..df0853005 100644 --- a/src/main/java/org/scijava/convert/AbstractDelegateConverter.java +++ b/src/main/java/org/scijava/convert/AbstractDelegateConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/ArrayConverters.java b/src/main/java/org/scijava/convert/ArrayConverters.java index 507ff693e..7f885d1ee 100644 --- a/src/main/java/org/scijava/convert/ArrayConverters.java +++ b/src/main/java/org/scijava/convert/ArrayConverters.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/ArrayToStringConverter.java b/src/main/java/org/scijava/convert/ArrayToStringConverter.java index 4000ab6d3..820f818cf 100644 --- a/src/main/java/org/scijava/convert/ArrayToStringConverter.java +++ b/src/main/java/org/scijava/convert/ArrayToStringConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/CastingConverter.java b/src/main/java/org/scijava/convert/CastingConverter.java index d55b9663a..f1d67493e 100644 --- a/src/main/java/org/scijava/convert/CastingConverter.java +++ b/src/main/java/org/scijava/convert/CastingConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/ConversionRequest.java b/src/main/java/org/scijava/convert/ConversionRequest.java index 36fc745a9..3f8c4d5cd 100644 --- a/src/main/java/org/scijava/convert/ConversionRequest.java +++ b/src/main/java/org/scijava/convert/ConversionRequest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/ConvertService.java b/src/main/java/org/scijava/convert/ConvertService.java index f82552970..9c5976521 100644 --- a/src/main/java/org/scijava/convert/ConvertService.java +++ b/src/main/java/org/scijava/convert/ConvertService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/Converter.java b/src/main/java/org/scijava/convert/Converter.java index bf63a19d8..2654216ee 100644 --- a/src/main/java/org/scijava/convert/Converter.java +++ b/src/main/java/org/scijava/convert/Converter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/DefaultConvertService.java b/src/main/java/org/scijava/convert/DefaultConvertService.java index bb5ec9d50..c642be048 100644 --- a/src/main/java/org/scijava/convert/DefaultConvertService.java +++ b/src/main/java/org/scijava/convert/DefaultConvertService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/DefaultConverter.java b/src/main/java/org/scijava/convert/DefaultConverter.java index b399f7596..5553fca8f 100644 --- a/src/main/java/org/scijava/convert/DefaultConverter.java +++ b/src/main/java/org/scijava/convert/DefaultConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/FileListConverters.java b/src/main/java/org/scijava/convert/FileListConverters.java index 5aad27fb1..7c65900b2 100644 --- a/src/main/java/org/scijava/convert/FileListConverters.java +++ b/src/main/java/org/scijava/convert/FileListConverters.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/FileToPathConverter.java b/src/main/java/org/scijava/convert/FileToPathConverter.java index 551a0d395..235c18661 100644 --- a/src/main/java/org/scijava/convert/FileToPathConverter.java +++ b/src/main/java/org/scijava/convert/FileToPathConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NullConverter.java b/src/main/java/org/scijava/convert/NullConverter.java index 594468617..f375f99ea 100644 --- a/src/main/java/org/scijava/convert/NullConverter.java +++ b/src/main/java/org/scijava/convert/NullConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberConverters.java b/src/main/java/org/scijava/convert/NumberConverters.java index d2d23e617..ed8481463 100644 --- a/src/main/java/org/scijava/convert/NumberConverters.java +++ b/src/main/java/org/scijava/convert/NumberConverters.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberToBigDecimalConverter.java b/src/main/java/org/scijava/convert/NumberToBigDecimalConverter.java index 1b646057d..73fffeecc 100644 --- a/src/main/java/org/scijava/convert/NumberToBigDecimalConverter.java +++ b/src/main/java/org/scijava/convert/NumberToBigDecimalConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberToBigIntegerConverter.java b/src/main/java/org/scijava/convert/NumberToBigIntegerConverter.java index b2f29f89d..5dd8bdc71 100644 --- a/src/main/java/org/scijava/convert/NumberToBigIntegerConverter.java +++ b/src/main/java/org/scijava/convert/NumberToBigIntegerConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberToDoubleConverter.java b/src/main/java/org/scijava/convert/NumberToDoubleConverter.java index 79ca2723b..23c26b62b 100644 --- a/src/main/java/org/scijava/convert/NumberToDoubleConverter.java +++ b/src/main/java/org/scijava/convert/NumberToDoubleConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberToFloatConverter.java b/src/main/java/org/scijava/convert/NumberToFloatConverter.java index 8c036173a..56620787b 100644 --- a/src/main/java/org/scijava/convert/NumberToFloatConverter.java +++ b/src/main/java/org/scijava/convert/NumberToFloatConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberToIntegerConverter.java b/src/main/java/org/scijava/convert/NumberToIntegerConverter.java index cc1aad5d7..897fb807f 100644 --- a/src/main/java/org/scijava/convert/NumberToIntegerConverter.java +++ b/src/main/java/org/scijava/convert/NumberToIntegerConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberToLongConverter.java b/src/main/java/org/scijava/convert/NumberToLongConverter.java index 834388f9c..1b2af346c 100644 --- a/src/main/java/org/scijava/convert/NumberToLongConverter.java +++ b/src/main/java/org/scijava/convert/NumberToLongConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberToNumberConverter.java b/src/main/java/org/scijava/convert/NumberToNumberConverter.java index edbe1aeda..01d092acf 100644 --- a/src/main/java/org/scijava/convert/NumberToNumberConverter.java +++ b/src/main/java/org/scijava/convert/NumberToNumberConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberToShortConverter.java b/src/main/java/org/scijava/convert/NumberToShortConverter.java index 3c0666f2a..96c2fbc36 100644 --- a/src/main/java/org/scijava/convert/NumberToShortConverter.java +++ b/src/main/java/org/scijava/convert/NumberToShortConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/PathToFileConverter.java b/src/main/java/org/scijava/convert/PathToFileConverter.java index 668f9425e..d50b10a29 100644 --- a/src/main/java/org/scijava/convert/PathToFileConverter.java +++ b/src/main/java/org/scijava/convert/PathToFileConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/PrimitiveArrayUnwrapper.java b/src/main/java/org/scijava/convert/PrimitiveArrayUnwrapper.java index c9e1a0412..ebc1a138a 100644 --- a/src/main/java/org/scijava/convert/PrimitiveArrayUnwrapper.java +++ b/src/main/java/org/scijava/convert/PrimitiveArrayUnwrapper.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/PrimitiveArrayWrapper.java b/src/main/java/org/scijava/convert/PrimitiveArrayWrapper.java index 96fdd4211..33441c806 100644 --- a/src/main/java/org/scijava/convert/PrimitiveArrayWrapper.java +++ b/src/main/java/org/scijava/convert/PrimitiveArrayWrapper.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/StringToArrayConverter.java b/src/main/java/org/scijava/convert/StringToArrayConverter.java index c5a34abad..8e6ab7aa9 100644 --- a/src/main/java/org/scijava/convert/StringToArrayConverter.java +++ b/src/main/java/org/scijava/convert/StringToArrayConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/StringToNumberConverter.java b/src/main/java/org/scijava/convert/StringToNumberConverter.java index 6376a6a70..6fbebd2cf 100644 --- a/src/main/java/org/scijava/convert/StringToNumberConverter.java +++ b/src/main/java/org/scijava/convert/StringToNumberConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/AbstractDisplay.java b/src/main/java/org/scijava/display/AbstractDisplay.java index b3aa8cc47..c9ff7f702 100644 --- a/src/main/java/org/scijava/display/AbstractDisplay.java +++ b/src/main/java/org/scijava/display/AbstractDisplay.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/ActiveDisplayPreprocessor.java b/src/main/java/org/scijava/display/ActiveDisplayPreprocessor.java index b480f84d1..c0e26c205 100644 --- a/src/main/java/org/scijava/display/ActiveDisplayPreprocessor.java +++ b/src/main/java/org/scijava/display/ActiveDisplayPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/DefaultDisplay.java b/src/main/java/org/scijava/display/DefaultDisplay.java index 8813ccd1b..fb2f95d39 100644 --- a/src/main/java/org/scijava/display/DefaultDisplay.java +++ b/src/main/java/org/scijava/display/DefaultDisplay.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/DefaultDisplayService.java b/src/main/java/org/scijava/display/DefaultDisplayService.java index 836f105f5..946b63cc0 100644 --- a/src/main/java/org/scijava/display/DefaultDisplayService.java +++ b/src/main/java/org/scijava/display/DefaultDisplayService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/DefaultTextDisplay.java b/src/main/java/org/scijava/display/DefaultTextDisplay.java index f9b0d3171..abdd3f960 100644 --- a/src/main/java/org/scijava/display/DefaultTextDisplay.java +++ b/src/main/java/org/scijava/display/DefaultTextDisplay.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/Display.java b/src/main/java/org/scijava/display/Display.java index 0662c15f6..3df3b4115 100644 --- a/src/main/java/org/scijava/display/Display.java +++ b/src/main/java/org/scijava/display/Display.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/DisplayPostprocessor.java b/src/main/java/org/scijava/display/DisplayPostprocessor.java index 1f1db6ac0..1f654e213 100644 --- a/src/main/java/org/scijava/display/DisplayPostprocessor.java +++ b/src/main/java/org/scijava/display/DisplayPostprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/DisplayService.java b/src/main/java/org/scijava/display/DisplayService.java index cc4a96b89..2d09285e4 100644 --- a/src/main/java/org/scijava/display/DisplayService.java +++ b/src/main/java/org/scijava/display/DisplayService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/Displayable.java b/src/main/java/org/scijava/display/Displayable.java index d079a4c96..f0afe8879 100644 --- a/src/main/java/org/scijava/display/Displayable.java +++ b/src/main/java/org/scijava/display/Displayable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/TextDisplay.java b/src/main/java/org/scijava/display/TextDisplay.java index 63f58eb36..4a4f72b41 100644 --- a/src/main/java/org/scijava/display/TextDisplay.java +++ b/src/main/java/org/scijava/display/TextDisplay.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/DisplayActivatedEvent.java b/src/main/java/org/scijava/display/event/DisplayActivatedEvent.java index 715a4a291..8457a85aa 100644 --- a/src/main/java/org/scijava/display/event/DisplayActivatedEvent.java +++ b/src/main/java/org/scijava/display/event/DisplayActivatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/DisplayCreatedEvent.java b/src/main/java/org/scijava/display/event/DisplayCreatedEvent.java index 9cca17b84..44e1736c3 100644 --- a/src/main/java/org/scijava/display/event/DisplayCreatedEvent.java +++ b/src/main/java/org/scijava/display/event/DisplayCreatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/DisplayDeletedEvent.java b/src/main/java/org/scijava/display/event/DisplayDeletedEvent.java index a558604a7..3a866ec4d 100644 --- a/src/main/java/org/scijava/display/event/DisplayDeletedEvent.java +++ b/src/main/java/org/scijava/display/event/DisplayDeletedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/DisplayEvent.java b/src/main/java/org/scijava/display/event/DisplayEvent.java index 8bdd74598..35cf6026e 100644 --- a/src/main/java/org/scijava/display/event/DisplayEvent.java +++ b/src/main/java/org/scijava/display/event/DisplayEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/DisplayUpdatedEvent.java b/src/main/java/org/scijava/display/event/DisplayUpdatedEvent.java index ee62e8ad9..540812981 100644 --- a/src/main/java/org/scijava/display/event/DisplayUpdatedEvent.java +++ b/src/main/java/org/scijava/display/event/DisplayUpdatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/InputEvent.java b/src/main/java/org/scijava/display/event/input/InputEvent.java index bae65d081..86008a0c6 100644 --- a/src/main/java/org/scijava/display/event/input/InputEvent.java +++ b/src/main/java/org/scijava/display/event/input/InputEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/KyEvent.java b/src/main/java/org/scijava/display/event/input/KyEvent.java index c045d99d2..a8b6ae9b9 100644 --- a/src/main/java/org/scijava/display/event/input/KyEvent.java +++ b/src/main/java/org/scijava/display/event/input/KyEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/KyPressedEvent.java b/src/main/java/org/scijava/display/event/input/KyPressedEvent.java index c8d73d8fb..d5456b715 100644 --- a/src/main/java/org/scijava/display/event/input/KyPressedEvent.java +++ b/src/main/java/org/scijava/display/event/input/KyPressedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/KyReleasedEvent.java b/src/main/java/org/scijava/display/event/input/KyReleasedEvent.java index ca7fdd18c..278c75e1d 100644 --- a/src/main/java/org/scijava/display/event/input/KyReleasedEvent.java +++ b/src/main/java/org/scijava/display/event/input/KyReleasedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/KyTypedEvent.java b/src/main/java/org/scijava/display/event/input/KyTypedEvent.java index f18264ef5..932e1ef9e 100644 --- a/src/main/java/org/scijava/display/event/input/KyTypedEvent.java +++ b/src/main/java/org/scijava/display/event/input/KyTypedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsButtonEvent.java b/src/main/java/org/scijava/display/event/input/MsButtonEvent.java index 51cf3adbb..34d49434b 100644 --- a/src/main/java/org/scijava/display/event/input/MsButtonEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsButtonEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsClickedEvent.java b/src/main/java/org/scijava/display/event/input/MsClickedEvent.java index b4af7b6b8..a6c4ba199 100644 --- a/src/main/java/org/scijava/display/event/input/MsClickedEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsClickedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsDraggedEvent.java b/src/main/java/org/scijava/display/event/input/MsDraggedEvent.java index d02a8f9e9..ddf8fd2b8 100644 --- a/src/main/java/org/scijava/display/event/input/MsDraggedEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsDraggedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsEnteredEvent.java b/src/main/java/org/scijava/display/event/input/MsEnteredEvent.java index 1fefc1f1c..7c65762d6 100644 --- a/src/main/java/org/scijava/display/event/input/MsEnteredEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsEnteredEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsEvent.java b/src/main/java/org/scijava/display/event/input/MsEvent.java index e2288e32e..ef6bca8dd 100644 --- a/src/main/java/org/scijava/display/event/input/MsEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsExitedEvent.java b/src/main/java/org/scijava/display/event/input/MsExitedEvent.java index f47cda06f..fc6b542ba 100644 --- a/src/main/java/org/scijava/display/event/input/MsExitedEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsExitedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsMovedEvent.java b/src/main/java/org/scijava/display/event/input/MsMovedEvent.java index c1c1030ce..25b18bf23 100644 --- a/src/main/java/org/scijava/display/event/input/MsMovedEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsMovedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsPressedEvent.java b/src/main/java/org/scijava/display/event/input/MsPressedEvent.java index cebaebae1..38fbf57d9 100644 --- a/src/main/java/org/scijava/display/event/input/MsPressedEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsPressedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsReleasedEvent.java b/src/main/java/org/scijava/display/event/input/MsReleasedEvent.java index d9b39fe7d..7f7a90e98 100644 --- a/src/main/java/org/scijava/display/event/input/MsReleasedEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsReleasedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsWheelEvent.java b/src/main/java/org/scijava/display/event/input/MsWheelEvent.java index 008b66c11..25e2c8fd5 100644 --- a/src/main/java/org/scijava/display/event/input/MsWheelEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsWheelEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/window/WinActivatedEvent.java b/src/main/java/org/scijava/display/event/window/WinActivatedEvent.java index 7220064e8..cefba6238 100644 --- a/src/main/java/org/scijava/display/event/window/WinActivatedEvent.java +++ b/src/main/java/org/scijava/display/event/window/WinActivatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/window/WinClosedEvent.java b/src/main/java/org/scijava/display/event/window/WinClosedEvent.java index e8e470175..8767b0c3b 100644 --- a/src/main/java/org/scijava/display/event/window/WinClosedEvent.java +++ b/src/main/java/org/scijava/display/event/window/WinClosedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/window/WinClosingEvent.java b/src/main/java/org/scijava/display/event/window/WinClosingEvent.java index fa7b1bd79..402f42d01 100644 --- a/src/main/java/org/scijava/display/event/window/WinClosingEvent.java +++ b/src/main/java/org/scijava/display/event/window/WinClosingEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/window/WinDeactivatedEvent.java b/src/main/java/org/scijava/display/event/window/WinDeactivatedEvent.java index 7d5e0b3e4..e1b136e70 100644 --- a/src/main/java/org/scijava/display/event/window/WinDeactivatedEvent.java +++ b/src/main/java/org/scijava/display/event/window/WinDeactivatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/window/WinDeiconifiedEvent.java b/src/main/java/org/scijava/display/event/window/WinDeiconifiedEvent.java index 2af77304f..beae46170 100644 --- a/src/main/java/org/scijava/display/event/window/WinDeiconifiedEvent.java +++ b/src/main/java/org/scijava/display/event/window/WinDeiconifiedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/window/WinEvent.java b/src/main/java/org/scijava/display/event/window/WinEvent.java index bfe00ebde..c1c50b74b 100644 --- a/src/main/java/org/scijava/display/event/window/WinEvent.java +++ b/src/main/java/org/scijava/display/event/window/WinEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/window/WinIconifiedEvent.java b/src/main/java/org/scijava/display/event/window/WinIconifiedEvent.java index 7d50a608b..3fb4e8f12 100644 --- a/src/main/java/org/scijava/display/event/window/WinIconifiedEvent.java +++ b/src/main/java/org/scijava/display/event/window/WinIconifiedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/window/WinOpenedEvent.java b/src/main/java/org/scijava/display/event/window/WinOpenedEvent.java index 3affb4051..f943b0f59 100644 --- a/src/main/java/org/scijava/display/event/window/WinOpenedEvent.java +++ b/src/main/java/org/scijava/display/event/window/WinOpenedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/download/DefaultDownloadService.java b/src/main/java/org/scijava/download/DefaultDownloadService.java index f87355f54..749c05497 100644 --- a/src/main/java/org/scijava/download/DefaultDownloadService.java +++ b/src/main/java/org/scijava/download/DefaultDownloadService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/download/DiskLocationCache.java b/src/main/java/org/scijava/download/DiskLocationCache.java index 6442d9c27..1a957214b 100644 --- a/src/main/java/org/scijava/download/DiskLocationCache.java +++ b/src/main/java/org/scijava/download/DiskLocationCache.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/download/Download.java b/src/main/java/org/scijava/download/Download.java index 146c7eb96..2ca41a754 100644 --- a/src/main/java/org/scijava/download/Download.java +++ b/src/main/java/org/scijava/download/Download.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/download/DownloadService.java b/src/main/java/org/scijava/download/DownloadService.java index 94ed5ce53..3e9c8d2d3 100644 --- a/src/main/java/org/scijava/download/DownloadService.java +++ b/src/main/java/org/scijava/download/DownloadService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/download/LocationCache.java b/src/main/java/org/scijava/download/LocationCache.java index 3f902f44e..1e961bf5a 100644 --- a/src/main/java/org/scijava/download/LocationCache.java +++ b/src/main/java/org/scijava/download/LocationCache.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/download/MultiWriteHandle.java b/src/main/java/org/scijava/download/MultiWriteHandle.java index eb9443133..8f565a3ff 100644 --- a/src/main/java/org/scijava/download/MultiWriteHandle.java +++ b/src/main/java/org/scijava/download/MultiWriteHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/ContextDisposingEvent.java b/src/main/java/org/scijava/event/ContextDisposingEvent.java index 77ef59e3d..cdd8a7814 100644 --- a/src/main/java/org/scijava/event/ContextDisposingEvent.java +++ b/src/main/java/org/scijava/event/ContextDisposingEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/DefaultEventBus.java b/src/main/java/org/scijava/event/DefaultEventBus.java index 7a7fd98bc..843bd92b2 100644 --- a/src/main/java/org/scijava/event/DefaultEventBus.java +++ b/src/main/java/org/scijava/event/DefaultEventBus.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/DefaultEventHistory.java b/src/main/java/org/scijava/event/DefaultEventHistory.java index 57cab6bdc..3245d9014 100644 --- a/src/main/java/org/scijava/event/DefaultEventHistory.java +++ b/src/main/java/org/scijava/event/DefaultEventHistory.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/DefaultEventService.java b/src/main/java/org/scijava/event/DefaultEventService.java index d18b5c62e..fc5f6f3d6 100644 --- a/src/main/java/org/scijava/event/DefaultEventService.java +++ b/src/main/java/org/scijava/event/DefaultEventService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/EventDetails.java b/src/main/java/org/scijava/event/EventDetails.java index b10ee4ff4..be0700965 100644 --- a/src/main/java/org/scijava/event/EventDetails.java +++ b/src/main/java/org/scijava/event/EventDetails.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/EventHandler.java b/src/main/java/org/scijava/event/EventHandler.java index ad94bda55..7547b3789 100644 --- a/src/main/java/org/scijava/event/EventHandler.java +++ b/src/main/java/org/scijava/event/EventHandler.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/EventHistory.java b/src/main/java/org/scijava/event/EventHistory.java index 3d0adfbad..de7d48be0 100644 --- a/src/main/java/org/scijava/event/EventHistory.java +++ b/src/main/java/org/scijava/event/EventHistory.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/EventHistoryListener.java b/src/main/java/org/scijava/event/EventHistoryListener.java index b06812dc0..5a8e4b139 100644 --- a/src/main/java/org/scijava/event/EventHistoryListener.java +++ b/src/main/java/org/scijava/event/EventHistoryListener.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/EventService.java b/src/main/java/org/scijava/event/EventService.java index 96d35aba1..5c143e18d 100644 --- a/src/main/java/org/scijava/event/EventService.java +++ b/src/main/java/org/scijava/event/EventService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/EventSubscriber.java b/src/main/java/org/scijava/event/EventSubscriber.java index 69725c846..f6e189035 100644 --- a/src/main/java/org/scijava/event/EventSubscriber.java +++ b/src/main/java/org/scijava/event/EventSubscriber.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/SciJavaEvent.java b/src/main/java/org/scijava/event/SciJavaEvent.java index 4adf94671..d6bdd2f39 100644 --- a/src/main/java/org/scijava/event/SciJavaEvent.java +++ b/src/main/java/org/scijava/event/SciJavaEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/input/Accelerator.java b/src/main/java/org/scijava/input/Accelerator.java index 4615ffd21..200167c44 100644 --- a/src/main/java/org/scijava/input/Accelerator.java +++ b/src/main/java/org/scijava/input/Accelerator.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/input/DefaultInputService.java b/src/main/java/org/scijava/input/DefaultInputService.java index b31364f48..7a6ad862a 100644 --- a/src/main/java/org/scijava/input/DefaultInputService.java +++ b/src/main/java/org/scijava/input/DefaultInputService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/input/InputModifiers.java b/src/main/java/org/scijava/input/InputModifiers.java index 51dca592c..6adec0eb7 100644 --- a/src/main/java/org/scijava/input/InputModifiers.java +++ b/src/main/java/org/scijava/input/InputModifiers.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/input/InputService.java b/src/main/java/org/scijava/input/InputService.java index 5966c06d7..92ce58ad5 100644 --- a/src/main/java/org/scijava/input/InputService.java +++ b/src/main/java/org/scijava/input/InputService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/input/KeyCode.java b/src/main/java/org/scijava/input/KeyCode.java index e09a75dd5..9e817ad4b 100644 --- a/src/main/java/org/scijava/input/KeyCode.java +++ b/src/main/java/org/scijava/input/KeyCode.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/input/MouseCursor.java b/src/main/java/org/scijava/input/MouseCursor.java index e04d7d9da..76144f32f 100644 --- a/src/main/java/org/scijava/input/MouseCursor.java +++ b/src/main/java/org/scijava/input/MouseCursor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/AbstractIOPlugin.java b/src/main/java/org/scijava/io/AbstractIOPlugin.java index 787879832..f1d483810 100644 --- a/src/main/java/org/scijava/io/AbstractIOPlugin.java +++ b/src/main/java/org/scijava/io/AbstractIOPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/AbstractTypedIOService.java b/src/main/java/org/scijava/io/AbstractTypedIOService.java index 4ca97bd1b..3160c4246 100644 --- a/src/main/java/org/scijava/io/AbstractTypedIOService.java +++ b/src/main/java/org/scijava/io/AbstractTypedIOService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/ByteArrayByteBank.java b/src/main/java/org/scijava/io/ByteArrayByteBank.java index e3b833405..f74659702 100644 --- a/src/main/java/org/scijava/io/ByteArrayByteBank.java +++ b/src/main/java/org/scijava/io/ByteArrayByteBank.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/ByteBank.java b/src/main/java/org/scijava/io/ByteBank.java index c79cbd5d4..058a9cc40 100644 --- a/src/main/java/org/scijava/io/ByteBank.java +++ b/src/main/java/org/scijava/io/ByteBank.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/DefaultIOService.java b/src/main/java/org/scijava/io/DefaultIOService.java index b59d2113d..fd0d46c01 100644 --- a/src/main/java/org/scijava/io/DefaultIOService.java +++ b/src/main/java/org/scijava/io/DefaultIOService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/DefaultRecentFileService.java b/src/main/java/org/scijava/io/DefaultRecentFileService.java index 050b22e78..c2e0b94d7 100644 --- a/src/main/java/org/scijava/io/DefaultRecentFileService.java +++ b/src/main/java/org/scijava/io/DefaultRecentFileService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/IOPlugin.java b/src/main/java/org/scijava/io/IOPlugin.java index 118b693e2..fc797ee29 100644 --- a/src/main/java/org/scijava/io/IOPlugin.java +++ b/src/main/java/org/scijava/io/IOPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/IOService.java b/src/main/java/org/scijava/io/IOService.java index 499e18ea5..9dc3c5364 100644 --- a/src/main/java/org/scijava/io/IOService.java +++ b/src/main/java/org/scijava/io/IOService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/RecentFileService.java b/src/main/java/org/scijava/io/RecentFileService.java index 019d0a6a1..2f91937bb 100644 --- a/src/main/java/org/scijava/io/RecentFileService.java +++ b/src/main/java/org/scijava/io/RecentFileService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/TypedIOService.java b/src/main/java/org/scijava/io/TypedIOService.java index 0439544e8..711026c5c 100644 --- a/src/main/java/org/scijava/io/TypedIOService.java +++ b/src/main/java/org/scijava/io/TypedIOService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/console/OpenArgument.java b/src/main/java/org/scijava/io/console/OpenArgument.java index a198a946e..4e929d9c1 100644 --- a/src/main/java/org/scijava/io/console/OpenArgument.java +++ b/src/main/java/org/scijava/io/console/OpenArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/event/DataOpenedEvent.java b/src/main/java/org/scijava/io/event/DataOpenedEvent.java index a13d20c18..c2d729e0f 100644 --- a/src/main/java/org/scijava/io/event/DataOpenedEvent.java +++ b/src/main/java/org/scijava/io/event/DataOpenedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/event/DataSavedEvent.java b/src/main/java/org/scijava/io/event/DataSavedEvent.java index 427da0e6a..de82a77ff 100644 --- a/src/main/java/org/scijava/io/event/DataSavedEvent.java +++ b/src/main/java/org/scijava/io/event/DataSavedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/event/IOEvent.java b/src/main/java/org/scijava/io/event/IOEvent.java index f3ff1652a..8b3c9fa4b 100644 --- a/src/main/java/org/scijava/io/event/IOEvent.java +++ b/src/main/java/org/scijava/io/event/IOEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/AbstractDataHandle.java b/src/main/java/org/scijava/io/handle/AbstractDataHandle.java index c9007e250..33a369a5c 100644 --- a/src/main/java/org/scijava/io/handle/AbstractDataHandle.java +++ b/src/main/java/org/scijava/io/handle/AbstractDataHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/AbstractHigherOrderHandle.java b/src/main/java/org/scijava/io/handle/AbstractHigherOrderHandle.java index fb191561c..c1276a092 100644 --- a/src/main/java/org/scijava/io/handle/AbstractHigherOrderHandle.java +++ b/src/main/java/org/scijava/io/handle/AbstractHigherOrderHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/AbstractSeekableStreamHandle.java b/src/main/java/org/scijava/io/handle/AbstractSeekableStreamHandle.java index 838cc9229..542b29f2c 100644 --- a/src/main/java/org/scijava/io/handle/AbstractSeekableStreamHandle.java +++ b/src/main/java/org/scijava/io/handle/AbstractSeekableStreamHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/AbstractStreamHandle.java b/src/main/java/org/scijava/io/handle/AbstractStreamHandle.java index 3c86730a8..463eefe59 100644 --- a/src/main/java/org/scijava/io/handle/AbstractStreamHandle.java +++ b/src/main/java/org/scijava/io/handle/AbstractStreamHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/BytesHandle.java b/src/main/java/org/scijava/io/handle/BytesHandle.java index c967b1380..4ab42965f 100644 --- a/src/main/java/org/scijava/io/handle/BytesHandle.java +++ b/src/main/java/org/scijava/io/handle/BytesHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/DataHandle.java b/src/main/java/org/scijava/io/handle/DataHandle.java index 7be53f5bb..5497d97b8 100644 --- a/src/main/java/org/scijava/io/handle/DataHandle.java +++ b/src/main/java/org/scijava/io/handle/DataHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/DataHandleInputStream.java b/src/main/java/org/scijava/io/handle/DataHandleInputStream.java index 92e72dcab..bbf9bc183 100644 --- a/src/main/java/org/scijava/io/handle/DataHandleInputStream.java +++ b/src/main/java/org/scijava/io/handle/DataHandleInputStream.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/DataHandleOutputStream.java b/src/main/java/org/scijava/io/handle/DataHandleOutputStream.java index 6b30e1c59..d1a8b4791 100644 --- a/src/main/java/org/scijava/io/handle/DataHandleOutputStream.java +++ b/src/main/java/org/scijava/io/handle/DataHandleOutputStream.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/DataHandleService.java b/src/main/java/org/scijava/io/handle/DataHandleService.java index dfb5007f4..37a6e6cfa 100644 --- a/src/main/java/org/scijava/io/handle/DataHandleService.java +++ b/src/main/java/org/scijava/io/handle/DataHandleService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/DataHandles.java b/src/main/java/org/scijava/io/handle/DataHandles.java index 0ed55abc0..ff2928911 100644 --- a/src/main/java/org/scijava/io/handle/DataHandles.java +++ b/src/main/java/org/scijava/io/handle/DataHandles.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/DefaultDataHandleService.java b/src/main/java/org/scijava/io/handle/DefaultDataHandleService.java index 1349653a6..cf7c8db92 100644 --- a/src/main/java/org/scijava/io/handle/DefaultDataHandleService.java +++ b/src/main/java/org/scijava/io/handle/DefaultDataHandleService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/DummyHandle.java b/src/main/java/org/scijava/io/handle/DummyHandle.java index a5b2754b9..ed53272ea 100644 --- a/src/main/java/org/scijava/io/handle/DummyHandle.java +++ b/src/main/java/org/scijava/io/handle/DummyHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/FileHandle.java b/src/main/java/org/scijava/io/handle/FileHandle.java index ad9822101..029447600 100644 --- a/src/main/java/org/scijava/io/handle/FileHandle.java +++ b/src/main/java/org/scijava/io/handle/FileHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java b/src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java index 1d26e20c0..ffbf10f41 100644 --- a/src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java +++ b/src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/ResettableStreamHandle.java b/src/main/java/org/scijava/io/handle/ResettableStreamHandle.java index 17859653a..b5114ca29 100644 --- a/src/main/java/org/scijava/io/handle/ResettableStreamHandle.java +++ b/src/main/java/org/scijava/io/handle/ResettableStreamHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/SeekableStreamHandle.java b/src/main/java/org/scijava/io/handle/SeekableStreamHandle.java index 1740b7b70..b57ef34d8 100644 --- a/src/main/java/org/scijava/io/handle/SeekableStreamHandle.java +++ b/src/main/java/org/scijava/io/handle/SeekableStreamHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/StreamHandle.java b/src/main/java/org/scijava/io/handle/StreamHandle.java index 5a4169535..e2e683b08 100644 --- a/src/main/java/org/scijava/io/handle/StreamHandle.java +++ b/src/main/java/org/scijava/io/handle/StreamHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/WriteBufferDataHandle.java b/src/main/java/org/scijava/io/handle/WriteBufferDataHandle.java index db400b26a..280457b21 100644 --- a/src/main/java/org/scijava/io/handle/WriteBufferDataHandle.java +++ b/src/main/java/org/scijava/io/handle/WriteBufferDataHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/AbstractLocation.java b/src/main/java/org/scijava/io/location/AbstractLocation.java index a629c9b48..f1c01a2da 100644 --- a/src/main/java/org/scijava/io/location/AbstractLocation.java +++ b/src/main/java/org/scijava/io/location/AbstractLocation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/AbstractLocationResolver.java b/src/main/java/org/scijava/io/location/AbstractLocationResolver.java index 93616403e..0771e095a 100644 --- a/src/main/java/org/scijava/io/location/AbstractLocationResolver.java +++ b/src/main/java/org/scijava/io/location/AbstractLocationResolver.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/AbstractRemoteLocation.java b/src/main/java/org/scijava/io/location/AbstractRemoteLocation.java index c36f21bbf..ecd40cb78 100644 --- a/src/main/java/org/scijava/io/location/AbstractRemoteLocation.java +++ b/src/main/java/org/scijava/io/location/AbstractRemoteLocation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/BrowsableLocation.java b/src/main/java/org/scijava/io/location/BrowsableLocation.java index 312df412c..e3f03f912 100644 --- a/src/main/java/org/scijava/io/location/BrowsableLocation.java +++ b/src/main/java/org/scijava/io/location/BrowsableLocation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/BytesLocation.java b/src/main/java/org/scijava/io/location/BytesLocation.java index 0d6210d69..2ac731595 100644 --- a/src/main/java/org/scijava/io/location/BytesLocation.java +++ b/src/main/java/org/scijava/io/location/BytesLocation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/DefaultLocationService.java b/src/main/java/org/scijava/io/location/DefaultLocationService.java index 92ba74047..5f010073b 100644 --- a/src/main/java/org/scijava/io/location/DefaultLocationService.java +++ b/src/main/java/org/scijava/io/location/DefaultLocationService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/DummyLocation.java b/src/main/java/org/scijava/io/location/DummyLocation.java index 676bd87df..1a2058b42 100644 --- a/src/main/java/org/scijava/io/location/DummyLocation.java +++ b/src/main/java/org/scijava/io/location/DummyLocation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/FileLocation.java b/src/main/java/org/scijava/io/location/FileLocation.java index 03480c0ae..d86d0e6ae 100644 --- a/src/main/java/org/scijava/io/location/FileLocation.java +++ b/src/main/java/org/scijava/io/location/FileLocation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/FileLocationResolver.java b/src/main/java/org/scijava/io/location/FileLocationResolver.java index b8d642d3e..498ca6d37 100644 --- a/src/main/java/org/scijava/io/location/FileLocationResolver.java +++ b/src/main/java/org/scijava/io/location/FileLocationResolver.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/Location.java b/src/main/java/org/scijava/io/location/Location.java index 470c9cb22..74fd05a65 100644 --- a/src/main/java/org/scijava/io/location/Location.java +++ b/src/main/java/org/scijava/io/location/Location.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/LocationResolver.java b/src/main/java/org/scijava/io/location/LocationResolver.java index 9dd2c650c..1759f180b 100644 --- a/src/main/java/org/scijava/io/location/LocationResolver.java +++ b/src/main/java/org/scijava/io/location/LocationResolver.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/LocationService.java b/src/main/java/org/scijava/io/location/LocationService.java index 0d6104815..b06c6201f 100644 --- a/src/main/java/org/scijava/io/location/LocationService.java +++ b/src/main/java/org/scijava/io/location/LocationService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/RemoteLocation.java b/src/main/java/org/scijava/io/location/RemoteLocation.java index f9bc1b608..6a1ca7bde 100644 --- a/src/main/java/org/scijava/io/location/RemoteLocation.java +++ b/src/main/java/org/scijava/io/location/RemoteLocation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/URILocation.java b/src/main/java/org/scijava/io/location/URILocation.java index 7b58d6a39..02c3e61d7 100644 --- a/src/main/java/org/scijava/io/location/URILocation.java +++ b/src/main/java/org/scijava/io/location/URILocation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/URLLocation.java b/src/main/java/org/scijava/io/location/URLLocation.java index d7e4ed49e..e96afcb7d 100644 --- a/src/main/java/org/scijava/io/location/URLLocation.java +++ b/src/main/java/org/scijava/io/location/URLLocation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/nio/ByteBufferByteBank.java b/src/main/java/org/scijava/io/nio/ByteBufferByteBank.java index 8fb6b0c52..8e3d9afb9 100644 --- a/src/main/java/org/scijava/io/nio/ByteBufferByteBank.java +++ b/src/main/java/org/scijava/io/nio/ByteBufferByteBank.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/nio/DefaultNIOService.java b/src/main/java/org/scijava/io/nio/DefaultNIOService.java index 8bff57a73..832ce5e06 100644 --- a/src/main/java/org/scijava/io/nio/DefaultNIOService.java +++ b/src/main/java/org/scijava/io/nio/DefaultNIOService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/nio/NIOService.java b/src/main/java/org/scijava/io/nio/NIOService.java index 111ceb81c..b56330b00 100644 --- a/src/main/java/org/scijava/io/nio/NIOService.java +++ b/src/main/java/org/scijava/io/nio/NIOService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/AbstractLogService.java b/src/main/java/org/scijava/log/AbstractLogService.java index 5ae980645..74e620f2e 100644 --- a/src/main/java/org/scijava/log/AbstractLogService.java +++ b/src/main/java/org/scijava/log/AbstractLogService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/CallingClassUtils.java b/src/main/java/org/scijava/log/CallingClassUtils.java index fc1250e78..4216120e7 100644 --- a/src/main/java/org/scijava/log/CallingClassUtils.java +++ b/src/main/java/org/scijava/log/CallingClassUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/DefaultLogger.java b/src/main/java/org/scijava/log/DefaultLogger.java index f11ec5ae0..e8bbfdce6 100644 --- a/src/main/java/org/scijava/log/DefaultLogger.java +++ b/src/main/java/org/scijava/log/DefaultLogger.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/DefaultUncaughtExceptionHandler.java b/src/main/java/org/scijava/log/DefaultUncaughtExceptionHandler.java index d8d45c4d5..b866c447c 100644 --- a/src/main/java/org/scijava/log/DefaultUncaughtExceptionHandler.java +++ b/src/main/java/org/scijava/log/DefaultUncaughtExceptionHandler.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/IgnoreAsCallingClass.java b/src/main/java/org/scijava/log/IgnoreAsCallingClass.java index 775c7b4ff..fc0043dc8 100644 --- a/src/main/java/org/scijava/log/IgnoreAsCallingClass.java +++ b/src/main/java/org/scijava/log/IgnoreAsCallingClass.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/LogLevel.java b/src/main/java/org/scijava/log/LogLevel.java index 276970ae2..0b0211f3b 100644 --- a/src/main/java/org/scijava/log/LogLevel.java +++ b/src/main/java/org/scijava/log/LogLevel.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/LogListener.java b/src/main/java/org/scijava/log/LogListener.java index 8c4047849..502a54c8e 100644 --- a/src/main/java/org/scijava/log/LogListener.java +++ b/src/main/java/org/scijava/log/LogListener.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/LogMessage.java b/src/main/java/org/scijava/log/LogMessage.java index 235de87f1..771fe28d9 100644 --- a/src/main/java/org/scijava/log/LogMessage.java +++ b/src/main/java/org/scijava/log/LogMessage.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/LogService.java b/src/main/java/org/scijava/log/LogService.java index 4675e0eab..c4068d1ff 100644 --- a/src/main/java/org/scijava/log/LogService.java +++ b/src/main/java/org/scijava/log/LogService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/LogSource.java b/src/main/java/org/scijava/log/LogSource.java index af8e6802e..30bdca5b5 100644 --- a/src/main/java/org/scijava/log/LogSource.java +++ b/src/main/java/org/scijava/log/LogSource.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/Logged.java b/src/main/java/org/scijava/log/Logged.java index 8e15caf9e..59c1f5c5a 100644 --- a/src/main/java/org/scijava/log/Logged.java +++ b/src/main/java/org/scijava/log/Logged.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/Logger.java b/src/main/java/org/scijava/log/Logger.java index eccb06796..4c066b310 100644 --- a/src/main/java/org/scijava/log/Logger.java +++ b/src/main/java/org/scijava/log/Logger.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/StderrLogService.java b/src/main/java/org/scijava/log/StderrLogService.java index f387991d2..e67c97132 100644 --- a/src/main/java/org/scijava/log/StderrLogService.java +++ b/src/main/java/org/scijava/log/StderrLogService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/main/DefaultMainService.java b/src/main/java/org/scijava/main/DefaultMainService.java index 81677d5c2..1be25c6bc 100644 --- a/src/main/java/org/scijava/main/DefaultMainService.java +++ b/src/main/java/org/scijava/main/DefaultMainService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/main/MainService.java b/src/main/java/org/scijava/main/MainService.java index f1e76b85f..2230a6d4e 100644 --- a/src/main/java/org/scijava/main/MainService.java +++ b/src/main/java/org/scijava/main/MainService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/main/console/MainArgument.java b/src/main/java/org/scijava/main/console/MainArgument.java index 71a116fb6..e1548f46c 100644 --- a/src/main/java/org/scijava/main/console/MainArgument.java +++ b/src/main/java/org/scijava/main/console/MainArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/main/run/MainCodeRunner.java b/src/main/java/org/scijava/main/run/MainCodeRunner.java index f1da7f002..bbf3cc36a 100644 --- a/src/main/java/org/scijava/main/run/MainCodeRunner.java +++ b/src/main/java/org/scijava/main/run/MainCodeRunner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/AbstractMenuCreator.java b/src/main/java/org/scijava/menu/AbstractMenuCreator.java index 8d076304c..8ad7ba7d4 100644 --- a/src/main/java/org/scijava/menu/AbstractMenuCreator.java +++ b/src/main/java/org/scijava/menu/AbstractMenuCreator.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/DefaultMenuService.java b/src/main/java/org/scijava/menu/DefaultMenuService.java index 287e28e5b..af6eee927 100644 --- a/src/main/java/org/scijava/menu/DefaultMenuService.java +++ b/src/main/java/org/scijava/menu/DefaultMenuService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/MenuConstants.java b/src/main/java/org/scijava/menu/MenuConstants.java index 24e27506b..f15311579 100644 --- a/src/main/java/org/scijava/menu/MenuConstants.java +++ b/src/main/java/org/scijava/menu/MenuConstants.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/MenuCreator.java b/src/main/java/org/scijava/menu/MenuCreator.java index d5ddc13d9..0be942d50 100644 --- a/src/main/java/org/scijava/menu/MenuCreator.java +++ b/src/main/java/org/scijava/menu/MenuCreator.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/MenuService.java b/src/main/java/org/scijava/menu/MenuService.java index 1a9a98a13..2625caee8 100644 --- a/src/main/java/org/scijava/menu/MenuService.java +++ b/src/main/java/org/scijava/menu/MenuService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/ShadowMenu.java b/src/main/java/org/scijava/menu/ShadowMenu.java index a364d827e..95bcd409a 100644 --- a/src/main/java/org/scijava/menu/ShadowMenu.java +++ b/src/main/java/org/scijava/menu/ShadowMenu.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/ShadowMenuIterator.java b/src/main/java/org/scijava/menu/ShadowMenuIterator.java index 5c1471f7d..2d35a8d2b 100644 --- a/src/main/java/org/scijava/menu/ShadowMenuIterator.java +++ b/src/main/java/org/scijava/menu/ShadowMenuIterator.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/event/MenuEvent.java b/src/main/java/org/scijava/menu/event/MenuEvent.java index 56a29995a..db950826c 100644 --- a/src/main/java/org/scijava/menu/event/MenuEvent.java +++ b/src/main/java/org/scijava/menu/event/MenuEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/event/MenusAddedEvent.java b/src/main/java/org/scijava/menu/event/MenusAddedEvent.java index 77b4626d4..7b2595af5 100644 --- a/src/main/java/org/scijava/menu/event/MenusAddedEvent.java +++ b/src/main/java/org/scijava/menu/event/MenusAddedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/event/MenusRemovedEvent.java b/src/main/java/org/scijava/menu/event/MenusRemovedEvent.java index 717f4be7c..008d2784d 100644 --- a/src/main/java/org/scijava/menu/event/MenusRemovedEvent.java +++ b/src/main/java/org/scijava/menu/event/MenusRemovedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/event/MenusUpdatedEvent.java b/src/main/java/org/scijava/menu/event/MenusUpdatedEvent.java index 781a6c998..ff0ea6cd6 100644 --- a/src/main/java/org/scijava/menu/event/MenusUpdatedEvent.java +++ b/src/main/java/org/scijava/menu/event/MenusUpdatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/AbstractModule.java b/src/main/java/org/scijava/module/AbstractModule.java index e30a52a1c..4dbae4407 100644 --- a/src/main/java/org/scijava/module/AbstractModule.java +++ b/src/main/java/org/scijava/module/AbstractModule.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/AbstractModuleInfo.java b/src/main/java/org/scijava/module/AbstractModuleInfo.java index 196b11ab5..9fed0102c 100644 --- a/src/main/java/org/scijava/module/AbstractModuleInfo.java +++ b/src/main/java/org/scijava/module/AbstractModuleInfo.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/AbstractModuleItem.java b/src/main/java/org/scijava/module/AbstractModuleItem.java index b96941e8d..3f8c7c09c 100644 --- a/src/main/java/org/scijava/module/AbstractModuleItem.java +++ b/src/main/java/org/scijava/module/AbstractModuleItem.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/DefaultModuleService.java b/src/main/java/org/scijava/module/DefaultModuleService.java index 228cee0b1..12b2c19b4 100644 --- a/src/main/java/org/scijava/module/DefaultModuleService.java +++ b/src/main/java/org/scijava/module/DefaultModuleService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/DefaultMutableModule.java b/src/main/java/org/scijava/module/DefaultMutableModule.java index 29c28bdfb..3ab26d90f 100644 --- a/src/main/java/org/scijava/module/DefaultMutableModule.java +++ b/src/main/java/org/scijava/module/DefaultMutableModule.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/DefaultMutableModuleInfo.java b/src/main/java/org/scijava/module/DefaultMutableModuleInfo.java index a7b2c8de2..bdb3b0c4b 100644 --- a/src/main/java/org/scijava/module/DefaultMutableModuleInfo.java +++ b/src/main/java/org/scijava/module/DefaultMutableModuleInfo.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/DefaultMutableModuleItem.java b/src/main/java/org/scijava/module/DefaultMutableModuleItem.java index fc74b85d0..fc7cd35d0 100644 --- a/src/main/java/org/scijava/module/DefaultMutableModuleItem.java +++ b/src/main/java/org/scijava/module/DefaultMutableModuleItem.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/MethodCallException.java b/src/main/java/org/scijava/module/MethodCallException.java index 823220f4c..f42988331 100644 --- a/src/main/java/org/scijava/module/MethodCallException.java +++ b/src/main/java/org/scijava/module/MethodCallException.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/MethodRef.java b/src/main/java/org/scijava/module/MethodRef.java index 2761aaa25..b20c2d714 100644 --- a/src/main/java/org/scijava/module/MethodRef.java +++ b/src/main/java/org/scijava/module/MethodRef.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/Module.java b/src/main/java/org/scijava/module/Module.java index 35ae5decd..9df7cfda9 100644 --- a/src/main/java/org/scijava/module/Module.java +++ b/src/main/java/org/scijava/module/Module.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/ModuleCanceledException.java b/src/main/java/org/scijava/module/ModuleCanceledException.java index df33ba8c9..85c20a202 100644 --- a/src/main/java/org/scijava/module/ModuleCanceledException.java +++ b/src/main/java/org/scijava/module/ModuleCanceledException.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/ModuleException.java b/src/main/java/org/scijava/module/ModuleException.java index 59d490f17..5b9a3495d 100644 --- a/src/main/java/org/scijava/module/ModuleException.java +++ b/src/main/java/org/scijava/module/ModuleException.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/ModuleIndex.java b/src/main/java/org/scijava/module/ModuleIndex.java index f40875599..04f0d4de8 100644 --- a/src/main/java/org/scijava/module/ModuleIndex.java +++ b/src/main/java/org/scijava/module/ModuleIndex.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/ModuleInfo.java b/src/main/java/org/scijava/module/ModuleInfo.java index bcf7107f5..b7ae95bab 100644 --- a/src/main/java/org/scijava/module/ModuleInfo.java +++ b/src/main/java/org/scijava/module/ModuleInfo.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/ModuleItem.java b/src/main/java/org/scijava/module/ModuleItem.java index b226bcde0..1f1f39003 100644 --- a/src/main/java/org/scijava/module/ModuleItem.java +++ b/src/main/java/org/scijava/module/ModuleItem.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/ModuleRunner.java b/src/main/java/org/scijava/module/ModuleRunner.java index 0a4cff44e..d5f61890a 100644 --- a/src/main/java/org/scijava/module/ModuleRunner.java +++ b/src/main/java/org/scijava/module/ModuleRunner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/ModuleService.java b/src/main/java/org/scijava/module/ModuleService.java index ffcbb4d0d..f19ae1df3 100644 --- a/src/main/java/org/scijava/module/ModuleService.java +++ b/src/main/java/org/scijava/module/ModuleService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/MutableModule.java b/src/main/java/org/scijava/module/MutableModule.java index 294a7c66a..1624c726d 100644 --- a/src/main/java/org/scijava/module/MutableModule.java +++ b/src/main/java/org/scijava/module/MutableModule.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/MutableModuleInfo.java b/src/main/java/org/scijava/module/MutableModuleInfo.java index 976603838..ee7c00232 100644 --- a/src/main/java/org/scijava/module/MutableModuleInfo.java +++ b/src/main/java/org/scijava/module/MutableModuleInfo.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/MutableModuleItem.java b/src/main/java/org/scijava/module/MutableModuleItem.java index fc3dfa6a0..3ac251f50 100644 --- a/src/main/java/org/scijava/module/MutableModuleItem.java +++ b/src/main/java/org/scijava/module/MutableModuleItem.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleCanceledEvent.java b/src/main/java/org/scijava/module/event/ModuleCanceledEvent.java index eef9c42d1..d090600cb 100644 --- a/src/main/java/org/scijava/module/event/ModuleCanceledEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleCanceledEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleEvent.java b/src/main/java/org/scijava/module/event/ModuleEvent.java index f059dd3a9..ee5c721c1 100644 --- a/src/main/java/org/scijava/module/event/ModuleEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleExecutedEvent.java b/src/main/java/org/scijava/module/event/ModuleExecutedEvent.java index f8b17ed12..66b8a8c29 100644 --- a/src/main/java/org/scijava/module/event/ModuleExecutedEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleExecutedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleExecutingEvent.java b/src/main/java/org/scijava/module/event/ModuleExecutingEvent.java index e3ba97c10..d00bb48a4 100644 --- a/src/main/java/org/scijava/module/event/ModuleExecutingEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleExecutingEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleExecutionEvent.java b/src/main/java/org/scijava/module/event/ModuleExecutionEvent.java index 3f6aa0c97..81ff94ee1 100644 --- a/src/main/java/org/scijava/module/event/ModuleExecutionEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleExecutionEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleFinishedEvent.java b/src/main/java/org/scijava/module/event/ModuleFinishedEvent.java index d72d0cd07..6c7c2d543 100644 --- a/src/main/java/org/scijava/module/event/ModuleFinishedEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleFinishedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModulePostprocessEvent.java b/src/main/java/org/scijava/module/event/ModulePostprocessEvent.java index 6402c8e1a..4587ba475 100644 --- a/src/main/java/org/scijava/module/event/ModulePostprocessEvent.java +++ b/src/main/java/org/scijava/module/event/ModulePostprocessEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModulePreprocessEvent.java b/src/main/java/org/scijava/module/event/ModulePreprocessEvent.java index 0eedb7c05..e4f228907 100644 --- a/src/main/java/org/scijava/module/event/ModulePreprocessEvent.java +++ b/src/main/java/org/scijava/module/event/ModulePreprocessEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleProcessEvent.java b/src/main/java/org/scijava/module/event/ModuleProcessEvent.java index 8dba30973..6519874f4 100644 --- a/src/main/java/org/scijava/module/event/ModuleProcessEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleProcessEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleStartedEvent.java b/src/main/java/org/scijava/module/event/ModuleStartedEvent.java index cbe7f0518..aa31745a0 100644 --- a/src/main/java/org/scijava/module/event/ModuleStartedEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleStartedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModulesAddedEvent.java b/src/main/java/org/scijava/module/event/ModulesAddedEvent.java index 8ef3dcf44..0b0844e94 100644 --- a/src/main/java/org/scijava/module/event/ModulesAddedEvent.java +++ b/src/main/java/org/scijava/module/event/ModulesAddedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModulesListEvent.java b/src/main/java/org/scijava/module/event/ModulesListEvent.java index 7fba52f93..fb5fc5199 100644 --- a/src/main/java/org/scijava/module/event/ModulesListEvent.java +++ b/src/main/java/org/scijava/module/event/ModulesListEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModulesRemovedEvent.java b/src/main/java/org/scijava/module/event/ModulesRemovedEvent.java index 87b43a956..00f2d276f 100644 --- a/src/main/java/org/scijava/module/event/ModulesRemovedEvent.java +++ b/src/main/java/org/scijava/module/event/ModulesRemovedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModulesUpdatedEvent.java b/src/main/java/org/scijava/module/event/ModulesUpdatedEvent.java index 610ad5a94..eb20e9431 100644 --- a/src/main/java/org/scijava/module/event/ModulesUpdatedEvent.java +++ b/src/main/java/org/scijava/module/event/ModulesUpdatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/AbstractPostprocessorPlugin.java b/src/main/java/org/scijava/module/process/AbstractPostprocessorPlugin.java index 8242389bb..d7a025dd6 100644 --- a/src/main/java/org/scijava/module/process/AbstractPostprocessorPlugin.java +++ b/src/main/java/org/scijava/module/process/AbstractPostprocessorPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/AbstractPreprocessorPlugin.java b/src/main/java/org/scijava/module/process/AbstractPreprocessorPlugin.java index 93d3726a2..1824c8b39 100644 --- a/src/main/java/org/scijava/module/process/AbstractPreprocessorPlugin.java +++ b/src/main/java/org/scijava/module/process/AbstractPreprocessorPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/AbstractSingleInputPreprocessor.java b/src/main/java/org/scijava/module/process/AbstractSingleInputPreprocessor.java index 1fcdc7403..59b9b77a6 100644 --- a/src/main/java/org/scijava/module/process/AbstractSingleInputPreprocessor.java +++ b/src/main/java/org/scijava/module/process/AbstractSingleInputPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/CheckInputsPreprocessor.java b/src/main/java/org/scijava/module/process/CheckInputsPreprocessor.java index d5323ad2f..87526ac1a 100644 --- a/src/main/java/org/scijava/module/process/CheckInputsPreprocessor.java +++ b/src/main/java/org/scijava/module/process/CheckInputsPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/DebugPostprocessor.java b/src/main/java/org/scijava/module/process/DebugPostprocessor.java index 1927c68aa..7fbfb10df 100644 --- a/src/main/java/org/scijava/module/process/DebugPostprocessor.java +++ b/src/main/java/org/scijava/module/process/DebugPostprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/DebugPreprocessor.java b/src/main/java/org/scijava/module/process/DebugPreprocessor.java index 69e9a0099..0cb62640c 100644 --- a/src/main/java/org/scijava/module/process/DebugPreprocessor.java +++ b/src/main/java/org/scijava/module/process/DebugPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/DefaultValuePreprocessor.java b/src/main/java/org/scijava/module/process/DefaultValuePreprocessor.java index 7239743f9..272f8580d 100644 --- a/src/main/java/org/scijava/module/process/DefaultValuePreprocessor.java +++ b/src/main/java/org/scijava/module/process/DefaultValuePreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/GatewayPreprocessor.java b/src/main/java/org/scijava/module/process/GatewayPreprocessor.java index 86ad0eb5e..4d0a71616 100644 --- a/src/main/java/org/scijava/module/process/GatewayPreprocessor.java +++ b/src/main/java/org/scijava/module/process/GatewayPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/InitPreprocessor.java b/src/main/java/org/scijava/module/process/InitPreprocessor.java index 2ca0e647b..629501688 100644 --- a/src/main/java/org/scijava/module/process/InitPreprocessor.java +++ b/src/main/java/org/scijava/module/process/InitPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/LoadInputsPreprocessor.java b/src/main/java/org/scijava/module/process/LoadInputsPreprocessor.java index 62b6ad5bd..773096c99 100644 --- a/src/main/java/org/scijava/module/process/LoadInputsPreprocessor.java +++ b/src/main/java/org/scijava/module/process/LoadInputsPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/LoggerPreprocessor.java b/src/main/java/org/scijava/module/process/LoggerPreprocessor.java index ded3ac399..439ae43e6 100644 --- a/src/main/java/org/scijava/module/process/LoggerPreprocessor.java +++ b/src/main/java/org/scijava/module/process/LoggerPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/ModulePostprocessor.java b/src/main/java/org/scijava/module/process/ModulePostprocessor.java index a64b52723..93a017750 100644 --- a/src/main/java/org/scijava/module/process/ModulePostprocessor.java +++ b/src/main/java/org/scijava/module/process/ModulePostprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/ModulePreprocessor.java b/src/main/java/org/scijava/module/process/ModulePreprocessor.java index 293610033..f0cbe88b9 100644 --- a/src/main/java/org/scijava/module/process/ModulePreprocessor.java +++ b/src/main/java/org/scijava/module/process/ModulePreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/ModuleProcessor.java b/src/main/java/org/scijava/module/process/ModuleProcessor.java index c14c275b3..003d0b2c7 100644 --- a/src/main/java/org/scijava/module/process/ModuleProcessor.java +++ b/src/main/java/org/scijava/module/process/ModuleProcessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/PostprocessorPlugin.java b/src/main/java/org/scijava/module/process/PostprocessorPlugin.java index 07081b6c9..f60dc8cfc 100644 --- a/src/main/java/org/scijava/module/process/PostprocessorPlugin.java +++ b/src/main/java/org/scijava/module/process/PostprocessorPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/PreprocessorPlugin.java b/src/main/java/org/scijava/module/process/PreprocessorPlugin.java index 66b10b86a..357ca6612 100644 --- a/src/main/java/org/scijava/module/process/PreprocessorPlugin.java +++ b/src/main/java/org/scijava/module/process/PreprocessorPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/SaveInputsPreprocessor.java b/src/main/java/org/scijava/module/process/SaveInputsPreprocessor.java index 1998a76d1..742cb870e 100644 --- a/src/main/java/org/scijava/module/process/SaveInputsPreprocessor.java +++ b/src/main/java/org/scijava/module/process/SaveInputsPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/ServicePreprocessor.java b/src/main/java/org/scijava/module/process/ServicePreprocessor.java index 048f0da82..44f7060ac 100644 --- a/src/main/java/org/scijava/module/process/ServicePreprocessor.java +++ b/src/main/java/org/scijava/module/process/ServicePreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/ValidityPreprocessor.java b/src/main/java/org/scijava/module/process/ValidityPreprocessor.java index ac86b2020..88c35a9d6 100644 --- a/src/main/java/org/scijava/module/process/ValidityPreprocessor.java +++ b/src/main/java/org/scijava/module/process/ValidityPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/run/ModuleCodeRunner.java b/src/main/java/org/scijava/module/run/ModuleCodeRunner.java index 2ee78144c..4cafd1220 100644 --- a/src/main/java/org/scijava/module/run/ModuleCodeRunner.java +++ b/src/main/java/org/scijava/module/run/ModuleCodeRunner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/DefaultObjectService.java b/src/main/java/org/scijava/object/DefaultObjectService.java index 0b112b662..8063f9709 100644 --- a/src/main/java/org/scijava/object/DefaultObjectService.java +++ b/src/main/java/org/scijava/object/DefaultObjectService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/LazyObjects.java b/src/main/java/org/scijava/object/LazyObjects.java index 3fc476f79..12a53afc1 100644 --- a/src/main/java/org/scijava/object/LazyObjects.java +++ b/src/main/java/org/scijava/object/LazyObjects.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/NamedObjectIndex.java b/src/main/java/org/scijava/object/NamedObjectIndex.java index 9cd2aeae6..8e3712e4a 100644 --- a/src/main/java/org/scijava/object/NamedObjectIndex.java +++ b/src/main/java/org/scijava/object/NamedObjectIndex.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/ObjectIndex.java b/src/main/java/org/scijava/object/ObjectIndex.java index e97521043..10220b1f3 100644 --- a/src/main/java/org/scijava/object/ObjectIndex.java +++ b/src/main/java/org/scijava/object/ObjectIndex.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/ObjectService.java b/src/main/java/org/scijava/object/ObjectService.java index 392e476d5..687fabdfe 100644 --- a/src/main/java/org/scijava/object/ObjectService.java +++ b/src/main/java/org/scijava/object/ObjectService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/SortedObjectIndex.java b/src/main/java/org/scijava/object/SortedObjectIndex.java index 77b231a0c..2a9f12e44 100644 --- a/src/main/java/org/scijava/object/SortedObjectIndex.java +++ b/src/main/java/org/scijava/object/SortedObjectIndex.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/event/ListEvent.java b/src/main/java/org/scijava/object/event/ListEvent.java index ecf3103e9..58ad375df 100644 --- a/src/main/java/org/scijava/object/event/ListEvent.java +++ b/src/main/java/org/scijava/object/event/ListEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/event/ObjectCreatedEvent.java b/src/main/java/org/scijava/object/event/ObjectCreatedEvent.java index 7f0615f4c..597953762 100644 --- a/src/main/java/org/scijava/object/event/ObjectCreatedEvent.java +++ b/src/main/java/org/scijava/object/event/ObjectCreatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/event/ObjectDeletedEvent.java b/src/main/java/org/scijava/object/event/ObjectDeletedEvent.java index 47fc3c88c..d033c7d5a 100644 --- a/src/main/java/org/scijava/object/event/ObjectDeletedEvent.java +++ b/src/main/java/org/scijava/object/event/ObjectDeletedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/event/ObjectEvent.java b/src/main/java/org/scijava/object/event/ObjectEvent.java index 80816a27b..17446edf9 100644 --- a/src/main/java/org/scijava/object/event/ObjectEvent.java +++ b/src/main/java/org/scijava/object/event/ObjectEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/event/ObjectModifiedEvent.java b/src/main/java/org/scijava/object/event/ObjectModifiedEvent.java index 966294653..8459e1a0d 100644 --- a/src/main/java/org/scijava/object/event/ObjectModifiedEvent.java +++ b/src/main/java/org/scijava/object/event/ObjectModifiedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/event/ObjectsAddedEvent.java b/src/main/java/org/scijava/object/event/ObjectsAddedEvent.java index 9da819a74..fb173a3a0 100644 --- a/src/main/java/org/scijava/object/event/ObjectsAddedEvent.java +++ b/src/main/java/org/scijava/object/event/ObjectsAddedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/event/ObjectsListEvent.java b/src/main/java/org/scijava/object/event/ObjectsListEvent.java index f9880b3e6..6039ba504 100644 --- a/src/main/java/org/scijava/object/event/ObjectsListEvent.java +++ b/src/main/java/org/scijava/object/event/ObjectsListEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/event/ObjectsRemovedEvent.java b/src/main/java/org/scijava/object/event/ObjectsRemovedEvent.java index 4a0872e99..2d6e3a997 100644 --- a/src/main/java/org/scijava/object/event/ObjectsRemovedEvent.java +++ b/src/main/java/org/scijava/object/event/ObjectsRemovedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/options/DefaultOptionsService.java b/src/main/java/org/scijava/options/DefaultOptionsService.java index 7e44fb84a..9967aa887 100644 --- a/src/main/java/org/scijava/options/DefaultOptionsService.java +++ b/src/main/java/org/scijava/options/DefaultOptionsService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/options/OptionsPlugin.java b/src/main/java/org/scijava/options/OptionsPlugin.java index bda0f4df2..1994745d8 100644 --- a/src/main/java/org/scijava/options/OptionsPlugin.java +++ b/src/main/java/org/scijava/options/OptionsPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/options/OptionsService.java b/src/main/java/org/scijava/options/OptionsService.java index 72ead76f2..d0e49bc8c 100644 --- a/src/main/java/org/scijava/options/OptionsService.java +++ b/src/main/java/org/scijava/options/OptionsService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/options/event/OptionsEvent.java b/src/main/java/org/scijava/options/event/OptionsEvent.java index 48c53fffc..49d676898 100644 --- a/src/main/java/org/scijava/options/event/OptionsEvent.java +++ b/src/main/java/org/scijava/options/event/OptionsEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/parse/DefaultParseService.java b/src/main/java/org/scijava/parse/DefaultParseService.java index 53bdbe46a..1257be932 100644 --- a/src/main/java/org/scijava/parse/DefaultParseService.java +++ b/src/main/java/org/scijava/parse/DefaultParseService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/parse/Item.java b/src/main/java/org/scijava/parse/Item.java index efb86a527..e531fad34 100644 --- a/src/main/java/org/scijava/parse/Item.java +++ b/src/main/java/org/scijava/parse/Item.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/parse/Items.java b/src/main/java/org/scijava/parse/Items.java index a54117481..9cc462972 100644 --- a/src/main/java/org/scijava/parse/Items.java +++ b/src/main/java/org/scijava/parse/Items.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/parse/ParseService.java b/src/main/java/org/scijava/parse/ParseService.java index de88860dd..2f8a5ed1a 100644 --- a/src/main/java/org/scijava/parse/ParseService.java +++ b/src/main/java/org/scijava/parse/ParseService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/AbstractPlatform.java b/src/main/java/org/scijava/platform/AbstractPlatform.java index 6c8cfa5bc..d192753f2 100644 --- a/src/main/java/org/scijava/platform/AbstractPlatform.java +++ b/src/main/java/org/scijava/platform/AbstractPlatform.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/AppEventService.java b/src/main/java/org/scijava/platform/AppEventService.java index 26d2b4555..c8e51bf5d 100644 --- a/src/main/java/org/scijava/platform/AppEventService.java +++ b/src/main/java/org/scijava/platform/AppEventService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/DefaultAppEventService.java b/src/main/java/org/scijava/platform/DefaultAppEventService.java index 2101d8c04..ebc753143 100644 --- a/src/main/java/org/scijava/platform/DefaultAppEventService.java +++ b/src/main/java/org/scijava/platform/DefaultAppEventService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/DefaultPlatform.java b/src/main/java/org/scijava/platform/DefaultPlatform.java index 6d61317fe..35c756bdc 100644 --- a/src/main/java/org/scijava/platform/DefaultPlatform.java +++ b/src/main/java/org/scijava/platform/DefaultPlatform.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/DefaultPlatformService.java b/src/main/java/org/scijava/platform/DefaultPlatformService.java index 2a1c671ae..5dd7ffe6b 100644 --- a/src/main/java/org/scijava/platform/DefaultPlatformService.java +++ b/src/main/java/org/scijava/platform/DefaultPlatformService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/Platform.java b/src/main/java/org/scijava/platform/Platform.java index 3a663bb85..fd3b71e6d 100644 --- a/src/main/java/org/scijava/platform/Platform.java +++ b/src/main/java/org/scijava/platform/Platform.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/PlatformService.java b/src/main/java/org/scijava/platform/PlatformService.java index 2f771bd35..99eaf6612 100644 --- a/src/main/java/org/scijava/platform/PlatformService.java +++ b/src/main/java/org/scijava/platform/PlatformService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppAboutEvent.java b/src/main/java/org/scijava/platform/event/AppAboutEvent.java index 46eed9b31..1b1390e93 100644 --- a/src/main/java/org/scijava/platform/event/AppAboutEvent.java +++ b/src/main/java/org/scijava/platform/event/AppAboutEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppFocusEvent.java b/src/main/java/org/scijava/platform/event/AppFocusEvent.java index 36d5605a0..5aafe2b91 100644 --- a/src/main/java/org/scijava/platform/event/AppFocusEvent.java +++ b/src/main/java/org/scijava/platform/event/AppFocusEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppMenusCreatedEvent.java b/src/main/java/org/scijava/platform/event/AppMenusCreatedEvent.java index 1e9dd3f9e..5603e085d 100644 --- a/src/main/java/org/scijava/platform/event/AppMenusCreatedEvent.java +++ b/src/main/java/org/scijava/platform/event/AppMenusCreatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppOpenFilesEvent.java b/src/main/java/org/scijava/platform/event/AppOpenFilesEvent.java index 5b3bdcde1..aa33f9e15 100644 --- a/src/main/java/org/scijava/platform/event/AppOpenFilesEvent.java +++ b/src/main/java/org/scijava/platform/event/AppOpenFilesEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppPreferencesEvent.java b/src/main/java/org/scijava/platform/event/AppPreferencesEvent.java index 2b4883129..73a123737 100644 --- a/src/main/java/org/scijava/platform/event/AppPreferencesEvent.java +++ b/src/main/java/org/scijava/platform/event/AppPreferencesEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppPrintEvent.java b/src/main/java/org/scijava/platform/event/AppPrintEvent.java index 013a70e79..03be243a9 100644 --- a/src/main/java/org/scijava/platform/event/AppPrintEvent.java +++ b/src/main/java/org/scijava/platform/event/AppPrintEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppQuitEvent.java b/src/main/java/org/scijava/platform/event/AppQuitEvent.java index de8d9be40..f2398c75f 100644 --- a/src/main/java/org/scijava/platform/event/AppQuitEvent.java +++ b/src/main/java/org/scijava/platform/event/AppQuitEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppReOpenEvent.java b/src/main/java/org/scijava/platform/event/AppReOpenEvent.java index 907e83148..674f3b340 100644 --- a/src/main/java/org/scijava/platform/event/AppReOpenEvent.java +++ b/src/main/java/org/scijava/platform/event/AppReOpenEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppScreenSleepEvent.java b/src/main/java/org/scijava/platform/event/AppScreenSleepEvent.java index fcedfd3a3..a82b0c20a 100644 --- a/src/main/java/org/scijava/platform/event/AppScreenSleepEvent.java +++ b/src/main/java/org/scijava/platform/event/AppScreenSleepEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppSleepEvent.java b/src/main/java/org/scijava/platform/event/AppSleepEvent.java index 776b80fba..b70c05442 100644 --- a/src/main/java/org/scijava/platform/event/AppSleepEvent.java +++ b/src/main/java/org/scijava/platform/event/AppSleepEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppSystemSleepEvent.java b/src/main/java/org/scijava/platform/event/AppSystemSleepEvent.java index f7c426e3a..4cbfa99f3 100644 --- a/src/main/java/org/scijava/platform/event/AppSystemSleepEvent.java +++ b/src/main/java/org/scijava/platform/event/AppSystemSleepEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppUserSessionEvent.java b/src/main/java/org/scijava/platform/event/AppUserSessionEvent.java index e3ee34255..3a48d5a5e 100644 --- a/src/main/java/org/scijava/platform/event/AppUserSessionEvent.java +++ b/src/main/java/org/scijava/platform/event/AppUserSessionEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppVisibleEvent.java b/src/main/java/org/scijava/platform/event/AppVisibleEvent.java index 307895791..e99c60d37 100644 --- a/src/main/java/org/scijava/platform/event/AppVisibleEvent.java +++ b/src/main/java/org/scijava/platform/event/AppVisibleEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/ApplicationEvent.java b/src/main/java/org/scijava/platform/event/ApplicationEvent.java index 0b359cd46..e5af9d7bd 100644 --- a/src/main/java/org/scijava/platform/event/ApplicationEvent.java +++ b/src/main/java/org/scijava/platform/event/ApplicationEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractHandlerPlugin.java b/src/main/java/org/scijava/plugin/AbstractHandlerPlugin.java index 3187fcd23..91448fa9b 100644 --- a/src/main/java/org/scijava/plugin/AbstractHandlerPlugin.java +++ b/src/main/java/org/scijava/plugin/AbstractHandlerPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractHandlerService.java b/src/main/java/org/scijava/plugin/AbstractHandlerService.java index 4ede3e5aa..e17ba3be7 100644 --- a/src/main/java/org/scijava/plugin/AbstractHandlerService.java +++ b/src/main/java/org/scijava/plugin/AbstractHandlerService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractPTService.java b/src/main/java/org/scijava/plugin/AbstractPTService.java index 7d96d2770..76b268b65 100644 --- a/src/main/java/org/scijava/plugin/AbstractPTService.java +++ b/src/main/java/org/scijava/plugin/AbstractPTService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractRichPlugin.java b/src/main/java/org/scijava/plugin/AbstractRichPlugin.java index 2d53decac..4b61e1b9f 100644 --- a/src/main/java/org/scijava/plugin/AbstractRichPlugin.java +++ b/src/main/java/org/scijava/plugin/AbstractRichPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractSingletonService.java b/src/main/java/org/scijava/plugin/AbstractSingletonService.java index c54f26ee5..28885726a 100644 --- a/src/main/java/org/scijava/plugin/AbstractSingletonService.java +++ b/src/main/java/org/scijava/plugin/AbstractSingletonService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractTypedPlugin.java b/src/main/java/org/scijava/plugin/AbstractTypedPlugin.java index 8d9e4a1f3..cb479c299 100644 --- a/src/main/java/org/scijava/plugin/AbstractTypedPlugin.java +++ b/src/main/java/org/scijava/plugin/AbstractTypedPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractTypedService.java b/src/main/java/org/scijava/plugin/AbstractTypedService.java index 17ea8f400..d2ab714a7 100644 --- a/src/main/java/org/scijava/plugin/AbstractTypedService.java +++ b/src/main/java/org/scijava/plugin/AbstractTypedService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractWrapperPlugin.java b/src/main/java/org/scijava/plugin/AbstractWrapperPlugin.java index 26fcc5e47..d2324ccd3 100644 --- a/src/main/java/org/scijava/plugin/AbstractWrapperPlugin.java +++ b/src/main/java/org/scijava/plugin/AbstractWrapperPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractWrapperService.java b/src/main/java/org/scijava/plugin/AbstractWrapperService.java index 516ad9d69..69fa49c20 100644 --- a/src/main/java/org/scijava/plugin/AbstractWrapperService.java +++ b/src/main/java/org/scijava/plugin/AbstractWrapperService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/Attr.java b/src/main/java/org/scijava/plugin/Attr.java index d45a4f0b0..e828d2f2b 100644 --- a/src/main/java/org/scijava/plugin/Attr.java +++ b/src/main/java/org/scijava/plugin/Attr.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/DefaultPluginFinder.java b/src/main/java/org/scijava/plugin/DefaultPluginFinder.java index 99fc8fd18..9b2041484 100644 --- a/src/main/java/org/scijava/plugin/DefaultPluginFinder.java +++ b/src/main/java/org/scijava/plugin/DefaultPluginFinder.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/DefaultPluginService.java b/src/main/java/org/scijava/plugin/DefaultPluginService.java index 02b905f56..7e73d3e2c 100644 --- a/src/main/java/org/scijava/plugin/DefaultPluginService.java +++ b/src/main/java/org/scijava/plugin/DefaultPluginService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/HandlerPlugin.java b/src/main/java/org/scijava/plugin/HandlerPlugin.java index b511aab11..b08fad223 100644 --- a/src/main/java/org/scijava/plugin/HandlerPlugin.java +++ b/src/main/java/org/scijava/plugin/HandlerPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/HandlerService.java b/src/main/java/org/scijava/plugin/HandlerService.java index 1a2bfa119..8a5942493 100644 --- a/src/main/java/org/scijava/plugin/HandlerService.java +++ b/src/main/java/org/scijava/plugin/HandlerService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/HasPluginInfo.java b/src/main/java/org/scijava/plugin/HasPluginInfo.java index 19c3da732..971201198 100644 --- a/src/main/java/org/scijava/plugin/HasPluginInfo.java +++ b/src/main/java/org/scijava/plugin/HasPluginInfo.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/Menu.java b/src/main/java/org/scijava/plugin/Menu.java index 0c00e546b..3c3b0706a 100644 --- a/src/main/java/org/scijava/plugin/Menu.java +++ b/src/main/java/org/scijava/plugin/Menu.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/PTService.java b/src/main/java/org/scijava/plugin/PTService.java index 4feb02532..ad63b6919 100644 --- a/src/main/java/org/scijava/plugin/PTService.java +++ b/src/main/java/org/scijava/plugin/PTService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/Parameter.java b/src/main/java/org/scijava/plugin/Parameter.java index cddcad87b..f922c23c8 100644 --- a/src/main/java/org/scijava/plugin/Parameter.java +++ b/src/main/java/org/scijava/plugin/Parameter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/Plugin.java b/src/main/java/org/scijava/plugin/Plugin.java index a1f7af866..d2aabba95 100644 --- a/src/main/java/org/scijava/plugin/Plugin.java +++ b/src/main/java/org/scijava/plugin/Plugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/PluginFinder.java b/src/main/java/org/scijava/plugin/PluginFinder.java index 0b9ff441e..ccf96ee6a 100644 --- a/src/main/java/org/scijava/plugin/PluginFinder.java +++ b/src/main/java/org/scijava/plugin/PluginFinder.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/PluginIndex.java b/src/main/java/org/scijava/plugin/PluginIndex.java index 640b6d61b..944133d38 100644 --- a/src/main/java/org/scijava/plugin/PluginIndex.java +++ b/src/main/java/org/scijava/plugin/PluginIndex.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/PluginInfo.java b/src/main/java/org/scijava/plugin/PluginInfo.java index a9e4b5e09..6629cdb80 100644 --- a/src/main/java/org/scijava/plugin/PluginInfo.java +++ b/src/main/java/org/scijava/plugin/PluginInfo.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/PluginService.java b/src/main/java/org/scijava/plugin/PluginService.java index 07f44a6ca..3b8ccea3e 100644 --- a/src/main/java/org/scijava/plugin/PluginService.java +++ b/src/main/java/org/scijava/plugin/PluginService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/RichPlugin.java b/src/main/java/org/scijava/plugin/RichPlugin.java index d649eb5aa..29fc580af 100644 --- a/src/main/java/org/scijava/plugin/RichPlugin.java +++ b/src/main/java/org/scijava/plugin/RichPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/SciJavaPlugin.java b/src/main/java/org/scijava/plugin/SciJavaPlugin.java index ff4bd3c7a..bdbe7df70 100644 --- a/src/main/java/org/scijava/plugin/SciJavaPlugin.java +++ b/src/main/java/org/scijava/plugin/SciJavaPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/SingletonPlugin.java b/src/main/java/org/scijava/plugin/SingletonPlugin.java index b26ee37cc..28c9dbd60 100644 --- a/src/main/java/org/scijava/plugin/SingletonPlugin.java +++ b/src/main/java/org/scijava/plugin/SingletonPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/SingletonService.java b/src/main/java/org/scijava/plugin/SingletonService.java index 07c2ff091..7f2363307 100644 --- a/src/main/java/org/scijava/plugin/SingletonService.java +++ b/src/main/java/org/scijava/plugin/SingletonService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/SortablePlugin.java b/src/main/java/org/scijava/plugin/SortablePlugin.java index e3ab8e244..84da9b16c 100644 --- a/src/main/java/org/scijava/plugin/SortablePlugin.java +++ b/src/main/java/org/scijava/plugin/SortablePlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/TypedPlugin.java b/src/main/java/org/scijava/plugin/TypedPlugin.java index 26ae5468e..1e583d42a 100644 --- a/src/main/java/org/scijava/plugin/TypedPlugin.java +++ b/src/main/java/org/scijava/plugin/TypedPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/TypedService.java b/src/main/java/org/scijava/plugin/TypedService.java index 26f1c60bf..9629620e6 100644 --- a/src/main/java/org/scijava/plugin/TypedService.java +++ b/src/main/java/org/scijava/plugin/TypedService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/WrapperPlugin.java b/src/main/java/org/scijava/plugin/WrapperPlugin.java index d867aeef8..bfb036898 100644 --- a/src/main/java/org/scijava/plugin/WrapperPlugin.java +++ b/src/main/java/org/scijava/plugin/WrapperPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/WrapperService.java b/src/main/java/org/scijava/plugin/WrapperService.java index 2377a9fef..c42d27caf 100644 --- a/src/main/java/org/scijava/plugin/WrapperService.java +++ b/src/main/java/org/scijava/plugin/WrapperService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/event/PluginsAddedEvent.java b/src/main/java/org/scijava/plugin/event/PluginsAddedEvent.java index cae5e3792..ed682367c 100644 --- a/src/main/java/org/scijava/plugin/event/PluginsAddedEvent.java +++ b/src/main/java/org/scijava/plugin/event/PluginsAddedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/event/PluginsListEvent.java b/src/main/java/org/scijava/plugin/event/PluginsListEvent.java index 927d76bee..af1505342 100644 --- a/src/main/java/org/scijava/plugin/event/PluginsListEvent.java +++ b/src/main/java/org/scijava/plugin/event/PluginsListEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/event/PluginsRemovedEvent.java b/src/main/java/org/scijava/plugin/event/PluginsRemovedEvent.java index f46d54bf9..a302db020 100644 --- a/src/main/java/org/scijava/plugin/event/PluginsRemovedEvent.java +++ b/src/main/java/org/scijava/plugin/event/PluginsRemovedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/prefs/AbstractPrefService.java b/src/main/java/org/scijava/prefs/AbstractPrefService.java index 8fc849c20..084df69de 100644 --- a/src/main/java/org/scijava/prefs/AbstractPrefService.java +++ b/src/main/java/org/scijava/prefs/AbstractPrefService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/prefs/DefaultPrefService.java b/src/main/java/org/scijava/prefs/DefaultPrefService.java index 76a688924..dfc9b9fa8 100644 --- a/src/main/java/org/scijava/prefs/DefaultPrefService.java +++ b/src/main/java/org/scijava/prefs/DefaultPrefService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/prefs/PrefService.java b/src/main/java/org/scijava/prefs/PrefService.java index 9e787f436..c5761b178 100644 --- a/src/main/java/org/scijava/prefs/PrefService.java +++ b/src/main/java/org/scijava/prefs/PrefService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/run/AbstractCodeRunner.java b/src/main/java/org/scijava/run/AbstractCodeRunner.java index 37ebab4cb..4d7eb067a 100644 --- a/src/main/java/org/scijava/run/AbstractCodeRunner.java +++ b/src/main/java/org/scijava/run/AbstractCodeRunner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/run/CodeRunner.java b/src/main/java/org/scijava/run/CodeRunner.java index 13062df91..06b626881 100644 --- a/src/main/java/org/scijava/run/CodeRunner.java +++ b/src/main/java/org/scijava/run/CodeRunner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/run/DefaultRunService.java b/src/main/java/org/scijava/run/DefaultRunService.java index cb9a7249e..eab573481 100644 --- a/src/main/java/org/scijava/run/DefaultRunService.java +++ b/src/main/java/org/scijava/run/DefaultRunService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/run/RunService.java b/src/main/java/org/scijava/run/RunService.java index e0f8de3bb..4d815098d 100644 --- a/src/main/java/org/scijava/run/RunService.java +++ b/src/main/java/org/scijava/run/RunService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/run/console/RunArgument.java b/src/main/java/org/scijava/run/console/RunArgument.java index ba056a6e8..80b9cd073 100644 --- a/src/main/java/org/scijava/run/console/RunArgument.java +++ b/src/main/java/org/scijava/run/console/RunArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AbstractAutoCompleter.java b/src/main/java/org/scijava/script/AbstractAutoCompleter.java index b8368dbff..fe843eff8 100644 --- a/src/main/java/org/scijava/script/AbstractAutoCompleter.java +++ b/src/main/java/org/scijava/script/AbstractAutoCompleter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AbstractScriptContext.java b/src/main/java/org/scijava/script/AbstractScriptContext.java index abd258195..67c0d3fee 100644 --- a/src/main/java/org/scijava/script/AbstractScriptContext.java +++ b/src/main/java/org/scijava/script/AbstractScriptContext.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AbstractScriptEngine.java b/src/main/java/org/scijava/script/AbstractScriptEngine.java index f306ee488..5826abf07 100644 --- a/src/main/java/org/scijava/script/AbstractScriptEngine.java +++ b/src/main/java/org/scijava/script/AbstractScriptEngine.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AbstractScriptHeader.java b/src/main/java/org/scijava/script/AbstractScriptHeader.java index 41b3185bc..8779ac1dc 100644 --- a/src/main/java/org/scijava/script/AbstractScriptHeader.java +++ b/src/main/java/org/scijava/script/AbstractScriptHeader.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AbstractScriptLanguage.java b/src/main/java/org/scijava/script/AbstractScriptLanguage.java index 0f65a99c2..3ead99983 100644 --- a/src/main/java/org/scijava/script/AbstractScriptLanguage.java +++ b/src/main/java/org/scijava/script/AbstractScriptLanguage.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AdaptedScriptEngine.java b/src/main/java/org/scijava/script/AdaptedScriptEngine.java index 39c8012a3..e08f84ff7 100644 --- a/src/main/java/org/scijava/script/AdaptedScriptEngine.java +++ b/src/main/java/org/scijava/script/AdaptedScriptEngine.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AdaptedScriptLanguage.java b/src/main/java/org/scijava/script/AdaptedScriptLanguage.java index ad952d54d..b29910428 100644 --- a/src/main/java/org/scijava/script/AdaptedScriptLanguage.java +++ b/src/main/java/org/scijava/script/AdaptedScriptLanguage.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AutoCompleter.java b/src/main/java/org/scijava/script/AutoCompleter.java index f56ec50fb..18783f1e3 100644 --- a/src/main/java/org/scijava/script/AutoCompleter.java +++ b/src/main/java/org/scijava/script/AutoCompleter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AutoCompletionResult.java b/src/main/java/org/scijava/script/AutoCompletionResult.java index 89ae99097..7a495fe7c 100644 --- a/src/main/java/org/scijava/script/AutoCompletionResult.java +++ b/src/main/java/org/scijava/script/AutoCompletionResult.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/CodeGenerator.java b/src/main/java/org/scijava/script/CodeGenerator.java index 7e95f1e78..16ee156d4 100644 --- a/src/main/java/org/scijava/script/CodeGenerator.java +++ b/src/main/java/org/scijava/script/CodeGenerator.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/CodeGeneratorJava.java b/src/main/java/org/scijava/script/CodeGeneratorJava.java index 7f75c39fd..7f022c097 100644 --- a/src/main/java/org/scijava/script/CodeGeneratorJava.java +++ b/src/main/java/org/scijava/script/CodeGeneratorJava.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/DefaultAutoCompleter.java b/src/main/java/org/scijava/script/DefaultAutoCompleter.java index 95bcc94c0..f4fcf2f75 100644 --- a/src/main/java/org/scijava/script/DefaultAutoCompleter.java +++ b/src/main/java/org/scijava/script/DefaultAutoCompleter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/DefaultScriptHeaderService.java b/src/main/java/org/scijava/script/DefaultScriptHeaderService.java index 39941978e..f81c1cdaa 100644 --- a/src/main/java/org/scijava/script/DefaultScriptHeaderService.java +++ b/src/main/java/org/scijava/script/DefaultScriptHeaderService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/DefaultScriptInterpreter.java b/src/main/java/org/scijava/script/DefaultScriptInterpreter.java index 2e51a6322..c365ae33f 100644 --- a/src/main/java/org/scijava/script/DefaultScriptInterpreter.java +++ b/src/main/java/org/scijava/script/DefaultScriptInterpreter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/DefaultScriptService.java b/src/main/java/org/scijava/script/DefaultScriptService.java index 188123998..e7fcc6e73 100644 --- a/src/main/java/org/scijava/script/DefaultScriptService.java +++ b/src/main/java/org/scijava/script/DefaultScriptService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/InvocationObject.java b/src/main/java/org/scijava/script/InvocationObject.java index a7f373a7c..e4de7ae54 100644 --- a/src/main/java/org/scijava/script/InvocationObject.java +++ b/src/main/java/org/scijava/script/InvocationObject.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ParameterObject.java b/src/main/java/org/scijava/script/ParameterObject.java index 184fb8209..6b883fe95 100644 --- a/src/main/java/org/scijava/script/ParameterObject.java +++ b/src/main/java/org/scijava/script/ParameterObject.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptFinder.java b/src/main/java/org/scijava/script/ScriptFinder.java index 13f3fb37a..ea438791e 100644 --- a/src/main/java/org/scijava/script/ScriptFinder.java +++ b/src/main/java/org/scijava/script/ScriptFinder.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptHeader.java b/src/main/java/org/scijava/script/ScriptHeader.java index 57ca01749..3fef71dbf 100644 --- a/src/main/java/org/scijava/script/ScriptHeader.java +++ b/src/main/java/org/scijava/script/ScriptHeader.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptHeaderService.java b/src/main/java/org/scijava/script/ScriptHeaderService.java index 692869a8f..20ea362fa 100644 --- a/src/main/java/org/scijava/script/ScriptHeaderService.java +++ b/src/main/java/org/scijava/script/ScriptHeaderService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptInfo.java b/src/main/java/org/scijava/script/ScriptInfo.java index 02b6c46cf..cd664397d 100644 --- a/src/main/java/org/scijava/script/ScriptInfo.java +++ b/src/main/java/org/scijava/script/ScriptInfo.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptInterpreter.java b/src/main/java/org/scijava/script/ScriptInterpreter.java index df59b6a36..098ca57c8 100644 --- a/src/main/java/org/scijava/script/ScriptInterpreter.java +++ b/src/main/java/org/scijava/script/ScriptInterpreter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptLanguage.java b/src/main/java/org/scijava/script/ScriptLanguage.java index e8c1be0cc..5c532bd38 100644 --- a/src/main/java/org/scijava/script/ScriptLanguage.java +++ b/src/main/java/org/scijava/script/ScriptLanguage.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptLanguageIndex.java b/src/main/java/org/scijava/script/ScriptLanguageIndex.java index 728c20831..05bdddadd 100644 --- a/src/main/java/org/scijava/script/ScriptLanguageIndex.java +++ b/src/main/java/org/scijava/script/ScriptLanguageIndex.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptModule.java b/src/main/java/org/scijava/script/ScriptModule.java index f05cbc7ed..da4b10d9c 100644 --- a/src/main/java/org/scijava/script/ScriptModule.java +++ b/src/main/java/org/scijava/script/ScriptModule.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptREPL.java b/src/main/java/org/scijava/script/ScriptREPL.java index 9c5be1528..8c4944766 100644 --- a/src/main/java/org/scijava/script/ScriptREPL.java +++ b/src/main/java/org/scijava/script/ScriptREPL.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptService.java b/src/main/java/org/scijava/script/ScriptService.java index 602883be0..f8764d7da 100644 --- a/src/main/java/org/scijava/script/ScriptService.java +++ b/src/main/java/org/scijava/script/ScriptService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/console/RunScriptArgument.java b/src/main/java/org/scijava/script/console/RunScriptArgument.java index 8389d55f6..145ea53ea 100644 --- a/src/main/java/org/scijava/script/console/RunScriptArgument.java +++ b/src/main/java/org/scijava/script/console/RunScriptArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/io/ScriptIOPlugin.java b/src/main/java/org/scijava/script/io/ScriptIOPlugin.java index da60b2357..208ac521d 100644 --- a/src/main/java/org/scijava/script/io/ScriptIOPlugin.java +++ b/src/main/java/org/scijava/script/io/ScriptIOPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/process/DefaultScriptProcessorService.java b/src/main/java/org/scijava/script/process/DefaultScriptProcessorService.java index 3ad01f908..ebdf8483b 100644 --- a/src/main/java/org/scijava/script/process/DefaultScriptProcessorService.java +++ b/src/main/java/org/scijava/script/process/DefaultScriptProcessorService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/process/DirectiveScriptProcessor.java b/src/main/java/org/scijava/script/process/DirectiveScriptProcessor.java index 231ef68c7..dfc68ca99 100644 --- a/src/main/java/org/scijava/script/process/DirectiveScriptProcessor.java +++ b/src/main/java/org/scijava/script/process/DirectiveScriptProcessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java b/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java index 70e696f16..446f633a2 100644 --- a/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java +++ b/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/process/ScriptCallback.java b/src/main/java/org/scijava/script/process/ScriptCallback.java index 32ad3cebf..b458da421 100644 --- a/src/main/java/org/scijava/script/process/ScriptCallback.java +++ b/src/main/java/org/scijava/script/process/ScriptCallback.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/process/ScriptDirectiveScriptProcessor.java b/src/main/java/org/scijava/script/process/ScriptDirectiveScriptProcessor.java index cdf39b128..dc6ae85c1 100644 --- a/src/main/java/org/scijava/script/process/ScriptDirectiveScriptProcessor.java +++ b/src/main/java/org/scijava/script/process/ScriptDirectiveScriptProcessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/process/ScriptProcessor.java b/src/main/java/org/scijava/script/process/ScriptProcessor.java index e4d86a36e..36d053963 100644 --- a/src/main/java/org/scijava/script/process/ScriptProcessor.java +++ b/src/main/java/org/scijava/script/process/ScriptProcessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/process/ScriptProcessorService.java b/src/main/java/org/scijava/script/process/ScriptProcessorService.java index 458613b45..1ce80c5af 100644 --- a/src/main/java/org/scijava/script/process/ScriptProcessorService.java +++ b/src/main/java/org/scijava/script/process/ScriptProcessorService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/process/ShebangScriptProcessor.java b/src/main/java/org/scijava/script/process/ShebangScriptProcessor.java index 5951b6dbb..db05e71b9 100644 --- a/src/main/java/org/scijava/script/process/ShebangScriptProcessor.java +++ b/src/main/java/org/scijava/script/process/ShebangScriptProcessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/run/ScriptCodeRunner.java b/src/main/java/org/scijava/script/run/ScriptCodeRunner.java index ac6535c89..5c8e47659 100644 --- a/src/main/java/org/scijava/script/run/ScriptCodeRunner.java +++ b/src/main/java/org/scijava/script/run/ScriptCodeRunner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/service/AbstractService.java b/src/main/java/org/scijava/service/AbstractService.java index 39062d6a8..bf20248a4 100644 --- a/src/main/java/org/scijava/service/AbstractService.java +++ b/src/main/java/org/scijava/service/AbstractService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/service/SciJavaService.java b/src/main/java/org/scijava/service/SciJavaService.java index afcad184a..fc0e005b0 100644 --- a/src/main/java/org/scijava/service/SciJavaService.java +++ b/src/main/java/org/scijava/service/SciJavaService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/service/Service.java b/src/main/java/org/scijava/service/Service.java index c11d3c2a8..f078de931 100644 --- a/src/main/java/org/scijava/service/Service.java +++ b/src/main/java/org/scijava/service/Service.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/service/ServiceHelper.java b/src/main/java/org/scijava/service/ServiceHelper.java index 0e8db19d6..4f1031efa 100644 --- a/src/main/java/org/scijava/service/ServiceHelper.java +++ b/src/main/java/org/scijava/service/ServiceHelper.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/service/ServiceIndex.java b/src/main/java/org/scijava/service/ServiceIndex.java index 9632da00d..24d693aa9 100644 --- a/src/main/java/org/scijava/service/ServiceIndex.java +++ b/src/main/java/org/scijava/service/ServiceIndex.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/service/event/ServicesLoadedEvent.java b/src/main/java/org/scijava/service/event/ServicesLoadedEvent.java index 0a9e58c27..bb5fd2258 100644 --- a/src/main/java/org/scijava/service/event/ServicesLoadedEvent.java +++ b/src/main/java/org/scijava/service/event/ServicesLoadedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/startup/DefaultStartupService.java b/src/main/java/org/scijava/startup/DefaultStartupService.java index 4104c3d19..197cf4774 100644 --- a/src/main/java/org/scijava/startup/DefaultStartupService.java +++ b/src/main/java/org/scijava/startup/DefaultStartupService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/startup/StartupService.java b/src/main/java/org/scijava/startup/StartupService.java index 1dc08a2ee..0f100ff8a 100644 --- a/src/main/java/org/scijava/startup/StartupService.java +++ b/src/main/java/org/scijava/startup/StartupService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/task/DefaultTask.java b/src/main/java/org/scijava/task/DefaultTask.java index 44f1c3b30..94d817c53 100644 --- a/src/main/java/org/scijava/task/DefaultTask.java +++ b/src/main/java/org/scijava/task/DefaultTask.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/task/DefaultTaskService.java b/src/main/java/org/scijava/task/DefaultTaskService.java index 09375262a..f550585c9 100644 --- a/src/main/java/org/scijava/task/DefaultTaskService.java +++ b/src/main/java/org/scijava/task/DefaultTaskService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/task/Task.java b/src/main/java/org/scijava/task/Task.java index 7e6b66062..be1197d77 100644 --- a/src/main/java/org/scijava/task/Task.java +++ b/src/main/java/org/scijava/task/Task.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/task/TaskService.java b/src/main/java/org/scijava/task/TaskService.java index 887acf804..3cacfac9b 100644 --- a/src/main/java/org/scijava/task/TaskService.java +++ b/src/main/java/org/scijava/task/TaskService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/task/event/TaskEvent.java b/src/main/java/org/scijava/task/event/TaskEvent.java index 79d55f7d2..097c9346c 100644 --- a/src/main/java/org/scijava/task/event/TaskEvent.java +++ b/src/main/java/org/scijava/task/event/TaskEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/test/TestUtils.java b/src/main/java/org/scijava/test/TestUtils.java index 7f9c63075..54c3061e7 100644 --- a/src/main/java/org/scijava/test/TestUtils.java +++ b/src/main/java/org/scijava/test/TestUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/text/AbstractTextFormat.java b/src/main/java/org/scijava/text/AbstractTextFormat.java index 72654f649..55ab02b6b 100644 --- a/src/main/java/org/scijava/text/AbstractTextFormat.java +++ b/src/main/java/org/scijava/text/AbstractTextFormat.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/text/DefaultTextService.java b/src/main/java/org/scijava/text/DefaultTextService.java index 63c56cb9d..5836c4e19 100644 --- a/src/main/java/org/scijava/text/DefaultTextService.java +++ b/src/main/java/org/scijava/text/DefaultTextService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/text/TextFormat.java b/src/main/java/org/scijava/text/TextFormat.java index 01002be53..076039e9a 100644 --- a/src/main/java/org/scijava/text/TextFormat.java +++ b/src/main/java/org/scijava/text/TextFormat.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/text/TextService.java b/src/main/java/org/scijava/text/TextService.java index 8f640ba5f..c8c2219a0 100644 --- a/src/main/java/org/scijava/text/TextService.java +++ b/src/main/java/org/scijava/text/TextService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/text/io/DefaultTextIOService.java b/src/main/java/org/scijava/text/io/DefaultTextIOService.java index b1c9ad530..cba64c9bf 100644 --- a/src/main/java/org/scijava/text/io/DefaultTextIOService.java +++ b/src/main/java/org/scijava/text/io/DefaultTextIOService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/text/io/TextIOPlugin.java b/src/main/java/org/scijava/text/io/TextIOPlugin.java index 04018a44f..d5ce2850a 100644 --- a/src/main/java/org/scijava/text/io/TextIOPlugin.java +++ b/src/main/java/org/scijava/text/io/TextIOPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/text/io/TextIOService.java b/src/main/java/org/scijava/text/io/TextIOService.java index 42e36e64a..12f629b91 100644 --- a/src/main/java/org/scijava/text/io/TextIOService.java +++ b/src/main/java/org/scijava/text/io/TextIOService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/thread/DefaultThreadService.java b/src/main/java/org/scijava/thread/DefaultThreadService.java index 3262ee21d..f46952d98 100644 --- a/src/main/java/org/scijava/thread/DefaultThreadService.java +++ b/src/main/java/org/scijava/thread/DefaultThreadService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/thread/ThreadService.java b/src/main/java/org/scijava/thread/ThreadService.java index afddb6f8f..0d272b87d 100644 --- a/src/main/java/org/scijava/thread/ThreadService.java +++ b/src/main/java/org/scijava/thread/ThreadService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/AbstractTool.java b/src/main/java/org/scijava/tool/AbstractTool.java index 054fd1a8b..95f89ccc4 100644 --- a/src/main/java/org/scijava/tool/AbstractTool.java +++ b/src/main/java/org/scijava/tool/AbstractTool.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/CustomDrawnTool.java b/src/main/java/org/scijava/tool/CustomDrawnTool.java index 3a3905780..1ec0e78ff 100644 --- a/src/main/java/org/scijava/tool/CustomDrawnTool.java +++ b/src/main/java/org/scijava/tool/CustomDrawnTool.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/DefaultToolService.java b/src/main/java/org/scijava/tool/DefaultToolService.java index d78e1a53a..4f2e8d168 100644 --- a/src/main/java/org/scijava/tool/DefaultToolService.java +++ b/src/main/java/org/scijava/tool/DefaultToolService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/DummyTool.java b/src/main/java/org/scijava/tool/DummyTool.java index baef6dfe3..d155ef30a 100644 --- a/src/main/java/org/scijava/tool/DummyTool.java +++ b/src/main/java/org/scijava/tool/DummyTool.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/IconDrawer.java b/src/main/java/org/scijava/tool/IconDrawer.java index 0d1b45824..e3f108a4d 100644 --- a/src/main/java/org/scijava/tool/IconDrawer.java +++ b/src/main/java/org/scijava/tool/IconDrawer.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/IconService.java b/src/main/java/org/scijava/tool/IconService.java index 43ac9f66f..67ddf9033 100644 --- a/src/main/java/org/scijava/tool/IconService.java +++ b/src/main/java/org/scijava/tool/IconService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/Tool.java b/src/main/java/org/scijava/tool/Tool.java index cadfcf115..e345c253f 100644 --- a/src/main/java/org/scijava/tool/Tool.java +++ b/src/main/java/org/scijava/tool/Tool.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/ToolService.java b/src/main/java/org/scijava/tool/ToolService.java index a254a91e3..0a84ae96b 100644 --- a/src/main/java/org/scijava/tool/ToolService.java +++ b/src/main/java/org/scijava/tool/ToolService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/event/ToolActivatedEvent.java b/src/main/java/org/scijava/tool/event/ToolActivatedEvent.java index 5142bbe18..9bdb75a60 100644 --- a/src/main/java/org/scijava/tool/event/ToolActivatedEvent.java +++ b/src/main/java/org/scijava/tool/event/ToolActivatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/event/ToolDeactivatedEvent.java b/src/main/java/org/scijava/tool/event/ToolDeactivatedEvent.java index 7503eed17..a197eca41 100644 --- a/src/main/java/org/scijava/tool/event/ToolDeactivatedEvent.java +++ b/src/main/java/org/scijava/tool/event/ToolDeactivatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/event/ToolEvent.java b/src/main/java/org/scijava/tool/event/ToolEvent.java index 6c6f1f185..c4c058393 100644 --- a/src/main/java/org/scijava/tool/event/ToolEvent.java +++ b/src/main/java/org/scijava/tool/event/ToolEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/ARGBPlane.java b/src/main/java/org/scijava/ui/ARGBPlane.java index 5d7678f61..4c9b60709 100644 --- a/src/main/java/org/scijava/ui/ARGBPlane.java +++ b/src/main/java/org/scijava/ui/ARGBPlane.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/AbstractInputHarvesterPlugin.java b/src/main/java/org/scijava/ui/AbstractInputHarvesterPlugin.java index 9d12ab82f..f3db6253a 100644 --- a/src/main/java/org/scijava/ui/AbstractInputHarvesterPlugin.java +++ b/src/main/java/org/scijava/ui/AbstractInputHarvesterPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/AbstractUIInputWidget.java b/src/main/java/org/scijava/ui/AbstractUIInputWidget.java index 394ec8829..a5e1ec829 100644 --- a/src/main/java/org/scijava/ui/AbstractUIInputWidget.java +++ b/src/main/java/org/scijava/ui/AbstractUIInputWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/AbstractUserInterface.java b/src/main/java/org/scijava/ui/AbstractUserInterface.java index 0c3e22da5..decf671af 100644 --- a/src/main/java/org/scijava/ui/AbstractUserInterface.java +++ b/src/main/java/org/scijava/ui/AbstractUserInterface.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/ApplicationFrame.java b/src/main/java/org/scijava/ui/ApplicationFrame.java index dbda0cc80..f4ecf39ea 100644 --- a/src/main/java/org/scijava/ui/ApplicationFrame.java +++ b/src/main/java/org/scijava/ui/ApplicationFrame.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/Arrangeable.java b/src/main/java/org/scijava/ui/Arrangeable.java index fb5a06dff..ad95bb784 100644 --- a/src/main/java/org/scijava/ui/Arrangeable.java +++ b/src/main/java/org/scijava/ui/Arrangeable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/CloseConfirmable.java b/src/main/java/org/scijava/ui/CloseConfirmable.java index 56450088f..c92b2a9f3 100644 --- a/src/main/java/org/scijava/ui/CloseConfirmable.java +++ b/src/main/java/org/scijava/ui/CloseConfirmable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/DefaultUIService.java b/src/main/java/org/scijava/ui/DefaultUIService.java index d26cbd5d7..7fdb36a70 100644 --- a/src/main/java/org/scijava/ui/DefaultUIService.java +++ b/src/main/java/org/scijava/ui/DefaultUIService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/Desktop.java b/src/main/java/org/scijava/ui/Desktop.java index bfca746d9..114b512cc 100644 --- a/src/main/java/org/scijava/ui/Desktop.java +++ b/src/main/java/org/scijava/ui/Desktop.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/DialogPrompt.java b/src/main/java/org/scijava/ui/DialogPrompt.java index 26c0ede95..f21ab726e 100644 --- a/src/main/java/org/scijava/ui/DialogPrompt.java +++ b/src/main/java/org/scijava/ui/DialogPrompt.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/FileListPreprocessor.java b/src/main/java/org/scijava/ui/FileListPreprocessor.java index 13d8feb68..a8feefe5d 100644 --- a/src/main/java/org/scijava/ui/FileListPreprocessor.java +++ b/src/main/java/org/scijava/ui/FileListPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/FilePreprocessor.java b/src/main/java/org/scijava/ui/FilePreprocessor.java index d03e43bc4..44eff1194 100644 --- a/src/main/java/org/scijava/ui/FilePreprocessor.java +++ b/src/main/java/org/scijava/ui/FilePreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/StatusBar.java b/src/main/java/org/scijava/ui/StatusBar.java index 9b6b71377..cfef18eff 100644 --- a/src/main/java/org/scijava/ui/StatusBar.java +++ b/src/main/java/org/scijava/ui/StatusBar.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/SystemClipboard.java b/src/main/java/org/scijava/ui/SystemClipboard.java index 8eb4e8bf6..421aa24c6 100644 --- a/src/main/java/org/scijava/ui/SystemClipboard.java +++ b/src/main/java/org/scijava/ui/SystemClipboard.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/ToolBar.java b/src/main/java/org/scijava/ui/ToolBar.java index 95a137aa5..c294cdb23 100644 --- a/src/main/java/org/scijava/ui/ToolBar.java +++ b/src/main/java/org/scijava/ui/ToolBar.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/UIPreprocessor.java b/src/main/java/org/scijava/ui/UIPreprocessor.java index 87a755a14..b22a20a6f 100644 --- a/src/main/java/org/scijava/ui/UIPreprocessor.java +++ b/src/main/java/org/scijava/ui/UIPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/UIService.java b/src/main/java/org/scijava/ui/UIService.java index d3111bb3e..20a9d8bfe 100644 --- a/src/main/java/org/scijava/ui/UIService.java +++ b/src/main/java/org/scijava/ui/UIService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/UserInterface.java b/src/main/java/org/scijava/ui/UserInterface.java index 162532dac..a0588256c 100644 --- a/src/main/java/org/scijava/ui/UserInterface.java +++ b/src/main/java/org/scijava/ui/UserInterface.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/console/AbstractConsolePane.java b/src/main/java/org/scijava/ui/console/AbstractConsolePane.java index db4817ceb..0512d725d 100644 --- a/src/main/java/org/scijava/ui/console/AbstractConsolePane.java +++ b/src/main/java/org/scijava/ui/console/AbstractConsolePane.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/console/ConsolePane.java b/src/main/java/org/scijava/ui/console/ConsolePane.java index 7145ed54a..02e2b5b24 100644 --- a/src/main/java/org/scijava/ui/console/ConsolePane.java +++ b/src/main/java/org/scijava/ui/console/ConsolePane.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/console/HeadlessArgument.java b/src/main/java/org/scijava/ui/console/HeadlessArgument.java index 3a10f459d..dca137c3b 100644 --- a/src/main/java/org/scijava/ui/console/HeadlessArgument.java +++ b/src/main/java/org/scijava/ui/console/HeadlessArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/console/ShowUIArgument.java b/src/main/java/org/scijava/ui/console/ShowUIArgument.java index 9d0c1161b..10fd2e6b7 100644 --- a/src/main/java/org/scijava/ui/console/ShowUIArgument.java +++ b/src/main/java/org/scijava/ui/console/ShowUIArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/console/UIArgument.java b/src/main/java/org/scijava/ui/console/UIArgument.java index 0deeba42b..05bee6855 100644 --- a/src/main/java/org/scijava/ui/console/UIArgument.java +++ b/src/main/java/org/scijava/ui/console/UIArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropData.java b/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropData.java index 09e3efb79..e098a2367 100644 --- a/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropData.java +++ b/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropData.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropHandler.java b/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropHandler.java index 05d350bd7..d578688ad 100644 --- a/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropHandler.java +++ b/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropHandler.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropData.java b/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropData.java index 0529ea7c5..9634c477a 100644 --- a/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropData.java +++ b/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropData.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropService.java b/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropService.java index 524f5a887..3bc3de22e 100644 --- a/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropService.java +++ b/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/DragAndDropData.java b/src/main/java/org/scijava/ui/dnd/DragAndDropData.java index d5924bbbc..a4cd7a258 100644 --- a/src/main/java/org/scijava/ui/dnd/DragAndDropData.java +++ b/src/main/java/org/scijava/ui/dnd/DragAndDropData.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/DragAndDropHandler.java b/src/main/java/org/scijava/ui/dnd/DragAndDropHandler.java index 4f7d47043..a81e25f6c 100644 --- a/src/main/java/org/scijava/ui/dnd/DragAndDropHandler.java +++ b/src/main/java/org/scijava/ui/dnd/DragAndDropHandler.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/DragAndDropService.java b/src/main/java/org/scijava/ui/dnd/DragAndDropService.java index a7b394407..0d2b3ae38 100644 --- a/src/main/java/org/scijava/ui/dnd/DragAndDropService.java +++ b/src/main/java/org/scijava/ui/dnd/DragAndDropService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/FileDragAndDropHandler.java b/src/main/java/org/scijava/ui/dnd/FileDragAndDropHandler.java index 11aa98108..e8f6090c2 100644 --- a/src/main/java/org/scijava/ui/dnd/FileDragAndDropHandler.java +++ b/src/main/java/org/scijava/ui/dnd/FileDragAndDropHandler.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/ListDragAndDropHandler.java b/src/main/java/org/scijava/ui/dnd/ListDragAndDropHandler.java index 9ca0833ca..d36a10797 100644 --- a/src/main/java/org/scijava/ui/dnd/ListDragAndDropHandler.java +++ b/src/main/java/org/scijava/ui/dnd/ListDragAndDropHandler.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/MIMEType.java b/src/main/java/org/scijava/ui/dnd/MIMEType.java index c5fd7ec61..037e3916a 100644 --- a/src/main/java/org/scijava/ui/dnd/MIMEType.java +++ b/src/main/java/org/scijava/ui/dnd/MIMEType.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/ScriptFileDragAndDropHandler.java b/src/main/java/org/scijava/ui/dnd/ScriptFileDragAndDropHandler.java index a798ff7ec..af9f53015 100644 --- a/src/main/java/org/scijava/ui/dnd/ScriptFileDragAndDropHandler.java +++ b/src/main/java/org/scijava/ui/dnd/ScriptFileDragAndDropHandler.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/event/DragAndDropEvent.java b/src/main/java/org/scijava/ui/dnd/event/DragAndDropEvent.java index 20c240ead..e460f58b7 100644 --- a/src/main/java/org/scijava/ui/dnd/event/DragAndDropEvent.java +++ b/src/main/java/org/scijava/ui/dnd/event/DragAndDropEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/event/DragEnterEvent.java b/src/main/java/org/scijava/ui/dnd/event/DragEnterEvent.java index f219555ab..3b85bb254 100644 --- a/src/main/java/org/scijava/ui/dnd/event/DragEnterEvent.java +++ b/src/main/java/org/scijava/ui/dnd/event/DragEnterEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/event/DragExitEvent.java b/src/main/java/org/scijava/ui/dnd/event/DragExitEvent.java index fbe9b6ce1..c51a4b3c4 100644 --- a/src/main/java/org/scijava/ui/dnd/event/DragExitEvent.java +++ b/src/main/java/org/scijava/ui/dnd/event/DragExitEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/event/DragOverEvent.java b/src/main/java/org/scijava/ui/dnd/event/DragOverEvent.java index f0376b017..4545f24e2 100644 --- a/src/main/java/org/scijava/ui/dnd/event/DragOverEvent.java +++ b/src/main/java/org/scijava/ui/dnd/event/DragOverEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/event/DropEvent.java b/src/main/java/org/scijava/ui/dnd/event/DropEvent.java index 0fd7677e6..49331480c 100644 --- a/src/main/java/org/scijava/ui/dnd/event/DropEvent.java +++ b/src/main/java/org/scijava/ui/dnd/event/DropEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/event/UIEvent.java b/src/main/java/org/scijava/ui/event/UIEvent.java index 0f4e3a9b0..d2b7fd7b8 100644 --- a/src/main/java/org/scijava/ui/event/UIEvent.java +++ b/src/main/java/org/scijava/ui/event/UIEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/event/UIShownEvent.java b/src/main/java/org/scijava/ui/event/UIShownEvent.java index d7b893f3c..23f55be2d 100644 --- a/src/main/java/org/scijava/ui/event/UIShownEvent.java +++ b/src/main/java/org/scijava/ui/event/UIShownEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/headless/HeadlessDisplayViewer.java b/src/main/java/org/scijava/ui/headless/HeadlessDisplayViewer.java index 3352913e3..df5e0cc93 100644 --- a/src/main/java/org/scijava/ui/headless/HeadlessDisplayViewer.java +++ b/src/main/java/org/scijava/ui/headless/HeadlessDisplayViewer.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/headless/HeadlessUI.java b/src/main/java/org/scijava/ui/headless/HeadlessUI.java index c8aceb5ae..3f658df97 100644 --- a/src/main/java/org/scijava/ui/headless/HeadlessUI.java +++ b/src/main/java/org/scijava/ui/headless/HeadlessUI.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/headlessUI/HeadlessUI.java b/src/main/java/org/scijava/ui/headlessUI/HeadlessUI.java index 96f51ff72..257753e9d 100644 --- a/src/main/java/org/scijava/ui/headlessUI/HeadlessUI.java +++ b/src/main/java/org/scijava/ui/headlessUI/HeadlessUI.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/viewer/AbstractDisplayViewer.java b/src/main/java/org/scijava/ui/viewer/AbstractDisplayViewer.java index 35cefdadc..ab552f6d0 100644 --- a/src/main/java/org/scijava/ui/viewer/AbstractDisplayViewer.java +++ b/src/main/java/org/scijava/ui/viewer/AbstractDisplayViewer.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/viewer/DisplayPanel.java b/src/main/java/org/scijava/ui/viewer/DisplayPanel.java index f438822c0..0ab9b1df1 100644 --- a/src/main/java/org/scijava/ui/viewer/DisplayPanel.java +++ b/src/main/java/org/scijava/ui/viewer/DisplayPanel.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/viewer/DisplayViewer.java b/src/main/java/org/scijava/ui/viewer/DisplayViewer.java index 657e860b5..d8ea0193a 100644 --- a/src/main/java/org/scijava/ui/viewer/DisplayViewer.java +++ b/src/main/java/org/scijava/ui/viewer/DisplayViewer.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/viewer/DisplayWindow.java b/src/main/java/org/scijava/ui/viewer/DisplayWindow.java index d9d4945c4..55b3b842c 100644 --- a/src/main/java/org/scijava/ui/viewer/DisplayWindow.java +++ b/src/main/java/org/scijava/ui/viewer/DisplayWindow.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/viewer/text/AbstractTextDisplayViewer.java b/src/main/java/org/scijava/ui/viewer/text/AbstractTextDisplayViewer.java index 2b6e93004..ac0c67d16 100644 --- a/src/main/java/org/scijava/ui/viewer/text/AbstractTextDisplayViewer.java +++ b/src/main/java/org/scijava/ui/viewer/text/AbstractTextDisplayViewer.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/viewer/text/TextDisplayPanel.java b/src/main/java/org/scijava/ui/viewer/text/TextDisplayPanel.java index 3f0ba3fec..683fdbd26 100644 --- a/src/main/java/org/scijava/ui/viewer/text/TextDisplayPanel.java +++ b/src/main/java/org/scijava/ui/viewer/text/TextDisplayPanel.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/viewer/text/TextDisplayViewer.java b/src/main/java/org/scijava/ui/viewer/text/TextDisplayViewer.java index 302a6f41a..517bdb9cf 100644 --- a/src/main/java/org/scijava/ui/viewer/text/TextDisplayViewer.java +++ b/src/main/java/org/scijava/ui/viewer/text/TextDisplayViewer.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/AbstractPrimitiveArray.java b/src/main/java/org/scijava/util/AbstractPrimitiveArray.java index 735f286b0..28bfefc67 100644 --- a/src/main/java/org/scijava/util/AbstractPrimitiveArray.java +++ b/src/main/java/org/scijava/util/AbstractPrimitiveArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/AppUtils.java b/src/main/java/org/scijava/util/AppUtils.java index 31456cb10..48519a328 100644 --- a/src/main/java/org/scijava/util/AppUtils.java +++ b/src/main/java/org/scijava/util/AppUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ArrayUtils.java b/src/main/java/org/scijava/util/ArrayUtils.java index c6487c5cf..d25c2ffa0 100644 --- a/src/main/java/org/scijava/util/ArrayUtils.java +++ b/src/main/java/org/scijava/util/ArrayUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/BoolArray.java b/src/main/java/org/scijava/util/BoolArray.java index 72e192bbe..3edf088a8 100644 --- a/src/main/java/org/scijava/util/BoolArray.java +++ b/src/main/java/org/scijava/util/BoolArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ByteArray.java b/src/main/java/org/scijava/util/ByteArray.java index f1e831c0e..07e724fb1 100644 --- a/src/main/java/org/scijava/util/ByteArray.java +++ b/src/main/java/org/scijava/util/ByteArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Bytes.java b/src/main/java/org/scijava/util/Bytes.java index fbce5e167..ac6637797 100644 --- a/src/main/java/org/scijava/util/Bytes.java +++ b/src/main/java/org/scijava/util/Bytes.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/CharArray.java b/src/main/java/org/scijava/util/CharArray.java index bfe0ae73e..1550ec875 100644 --- a/src/main/java/org/scijava/util/CharArray.java +++ b/src/main/java/org/scijava/util/CharArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/CheckSezpoz.java b/src/main/java/org/scijava/util/CheckSezpoz.java index 459260f05..7f5643b76 100644 --- a/src/main/java/org/scijava/util/CheckSezpoz.java +++ b/src/main/java/org/scijava/util/CheckSezpoz.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ClassUtils.java b/src/main/java/org/scijava/util/ClassUtils.java index d9d3b2f67..5543ce7bb 100644 --- a/src/main/java/org/scijava/util/ClassUtils.java +++ b/src/main/java/org/scijava/util/ClassUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ColorRGB.java b/src/main/java/org/scijava/util/ColorRGB.java index 129eaf5f4..4e10cd8c4 100644 --- a/src/main/java/org/scijava/util/ColorRGB.java +++ b/src/main/java/org/scijava/util/ColorRGB.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ColorRGBA.java b/src/main/java/org/scijava/util/ColorRGBA.java index b7c55622b..fb89ccb72 100644 --- a/src/main/java/org/scijava/util/ColorRGBA.java +++ b/src/main/java/org/scijava/util/ColorRGBA.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Colors.java b/src/main/java/org/scijava/util/Colors.java index f32b4fad9..cc115dc75 100644 --- a/src/main/java/org/scijava/util/Colors.java +++ b/src/main/java/org/scijava/util/Colors.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/CombineAnnotations.java b/src/main/java/org/scijava/util/CombineAnnotations.java index 002659f4a..993a03445 100644 --- a/src/main/java/org/scijava/util/CombineAnnotations.java +++ b/src/main/java/org/scijava/util/CombineAnnotations.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Combiner.java b/src/main/java/org/scijava/util/Combiner.java index e4babbe96..feb0b1774 100644 --- a/src/main/java/org/scijava/util/Combiner.java +++ b/src/main/java/org/scijava/util/Combiner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ConversionUtils.java b/src/main/java/org/scijava/util/ConversionUtils.java index 99b30254c..8e762c083 100644 --- a/src/main/java/org/scijava/util/ConversionUtils.java +++ b/src/main/java/org/scijava/util/ConversionUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/DebugUtils.java b/src/main/java/org/scijava/util/DebugUtils.java index 4e88f180b..06c26b168 100644 --- a/src/main/java/org/scijava/util/DebugUtils.java +++ b/src/main/java/org/scijava/util/DebugUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/DefaultTreeNode.java b/src/main/java/org/scijava/util/DefaultTreeNode.java index db60c7673..1d1231702 100644 --- a/src/main/java/org/scijava/util/DefaultTreeNode.java +++ b/src/main/java/org/scijava/util/DefaultTreeNode.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/DigestUtils.java b/src/main/java/org/scijava/util/DigestUtils.java index b78af02ae..92472445f 100644 --- a/src/main/java/org/scijava/util/DigestUtils.java +++ b/src/main/java/org/scijava/util/DigestUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/DoubleArray.java b/src/main/java/org/scijava/util/DoubleArray.java index 928d62af6..bf76fdb7b 100644 --- a/src/main/java/org/scijava/util/DoubleArray.java +++ b/src/main/java/org/scijava/util/DoubleArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/FileUtils.java b/src/main/java/org/scijava/util/FileUtils.java index 3a3efd896..e9424cef0 100644 --- a/src/main/java/org/scijava/util/FileUtils.java +++ b/src/main/java/org/scijava/util/FileUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/FloatArray.java b/src/main/java/org/scijava/util/FloatArray.java index f232814d6..593d22131 100644 --- a/src/main/java/org/scijava/util/FloatArray.java +++ b/src/main/java/org/scijava/util/FloatArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/GenericUtils.java b/src/main/java/org/scijava/util/GenericUtils.java index fd5d3e9a7..978af3f54 100644 --- a/src/main/java/org/scijava/util/GenericUtils.java +++ b/src/main/java/org/scijava/util/GenericUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/IntArray.java b/src/main/java/org/scijava/util/IntArray.java index 6d0086a17..66de4c87e 100644 --- a/src/main/java/org/scijava/util/IntArray.java +++ b/src/main/java/org/scijava/util/IntArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/IntCoords.java b/src/main/java/org/scijava/util/IntCoords.java index 80d18eafc..bc689e341 100644 --- a/src/main/java/org/scijava/util/IntCoords.java +++ b/src/main/java/org/scijava/util/IntCoords.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/IntRect.java b/src/main/java/org/scijava/util/IntRect.java index 508fc5eeb..9791697e3 100644 --- a/src/main/java/org/scijava/util/IntRect.java +++ b/src/main/java/org/scijava/util/IntRect.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/IteratorPlus.java b/src/main/java/org/scijava/util/IteratorPlus.java index 990246fd9..da8bae3db 100644 --- a/src/main/java/org/scijava/util/IteratorPlus.java +++ b/src/main/java/org/scijava/util/IteratorPlus.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/LastRecentlyUsed.java b/src/main/java/org/scijava/util/LastRecentlyUsed.java index 84ea1ecb8..5bbe3cacc 100644 --- a/src/main/java/org/scijava/util/LastRecentlyUsed.java +++ b/src/main/java/org/scijava/util/LastRecentlyUsed.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/LineOutputStream.java b/src/main/java/org/scijava/util/LineOutputStream.java index 38b014a14..c37318242 100644 --- a/src/main/java/org/scijava/util/LineOutputStream.java +++ b/src/main/java/org/scijava/util/LineOutputStream.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ListUtils.java b/src/main/java/org/scijava/util/ListUtils.java index 2d433e667..f868a9af2 100644 --- a/src/main/java/org/scijava/util/ListUtils.java +++ b/src/main/java/org/scijava/util/ListUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/LongArray.java b/src/main/java/org/scijava/util/LongArray.java index 61ffed4a9..f190a2049 100644 --- a/src/main/java/org/scijava/util/LongArray.java +++ b/src/main/java/org/scijava/util/LongArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Manifest.java b/src/main/java/org/scijava/util/Manifest.java index 807eaa05f..f57983e31 100644 --- a/src/main/java/org/scijava/util/Manifest.java +++ b/src/main/java/org/scijava/util/Manifest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/MersenneTwisterFast.java b/src/main/java/org/scijava/util/MersenneTwisterFast.java index 2abb4d206..bf176347b 100644 --- a/src/main/java/org/scijava/util/MersenneTwisterFast.java +++ b/src/main/java/org/scijava/util/MersenneTwisterFast.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/MetaInfCombiner.java b/src/main/java/org/scijava/util/MetaInfCombiner.java index 745c39195..6380901ad 100644 --- a/src/main/java/org/scijava/util/MetaInfCombiner.java +++ b/src/main/java/org/scijava/util/MetaInfCombiner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/MirrorWebsite.java b/src/main/java/org/scijava/util/MirrorWebsite.java index 5df62bb10..fff9366d3 100644 --- a/src/main/java/org/scijava/util/MirrorWebsite.java +++ b/src/main/java/org/scijava/util/MirrorWebsite.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/MiscUtils.java b/src/main/java/org/scijava/util/MiscUtils.java index 492e2150e..3c0f5b0be 100644 --- a/src/main/java/org/scijava/util/MiscUtils.java +++ b/src/main/java/org/scijava/util/MiscUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/NumberUtils.java b/src/main/java/org/scijava/util/NumberUtils.java index 9b3ad2488..704e0bc8c 100644 --- a/src/main/java/org/scijava/util/NumberUtils.java +++ b/src/main/java/org/scijava/util/NumberUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ObjectArray.java b/src/main/java/org/scijava/util/ObjectArray.java index 2564da853..bb238b288 100644 --- a/src/main/java/org/scijava/util/ObjectArray.java +++ b/src/main/java/org/scijava/util/ObjectArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/POM.java b/src/main/java/org/scijava/util/POM.java index 2a9c979b7..ea0feacbc 100644 --- a/src/main/java/org/scijava/util/POM.java +++ b/src/main/java/org/scijava/util/POM.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/PlatformUtils.java b/src/main/java/org/scijava/util/PlatformUtils.java index d1b82104d..21ffc6475 100644 --- a/src/main/java/org/scijava/util/PlatformUtils.java +++ b/src/main/java/org/scijava/util/PlatformUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Prefs.java b/src/main/java/org/scijava/util/Prefs.java index f946b587f..8519017c4 100644 --- a/src/main/java/org/scijava/util/Prefs.java +++ b/src/main/java/org/scijava/util/Prefs.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/PrimitiveArray.java b/src/main/java/org/scijava/util/PrimitiveArray.java index 8e72eb8ec..addc4d016 100644 --- a/src/main/java/org/scijava/util/PrimitiveArray.java +++ b/src/main/java/org/scijava/util/PrimitiveArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ProcessUtils.java b/src/main/java/org/scijava/util/ProcessUtils.java index 698b1ae78..cf8914033 100644 --- a/src/main/java/org/scijava/util/ProcessUtils.java +++ b/src/main/java/org/scijava/util/ProcessUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Query.java b/src/main/java/org/scijava/util/Query.java index 2973c004e..c8b6d525b 100644 --- a/src/main/java/org/scijava/util/Query.java +++ b/src/main/java/org/scijava/util/Query.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ReadInto.java b/src/main/java/org/scijava/util/ReadInto.java index 5e822926b..37daf4857 100644 --- a/src/main/java/org/scijava/util/ReadInto.java +++ b/src/main/java/org/scijava/util/ReadInto.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/RealCoords.java b/src/main/java/org/scijava/util/RealCoords.java index d55f0cdfe..dbb39a44e 100644 --- a/src/main/java/org/scijava/util/RealCoords.java +++ b/src/main/java/org/scijava/util/RealCoords.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/RealRect.java b/src/main/java/org/scijava/util/RealRect.java index c58fbb7a8..7f6867df6 100644 --- a/src/main/java/org/scijava/util/RealRect.java +++ b/src/main/java/org/scijava/util/RealRect.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ReflectException.java b/src/main/java/org/scijava/util/ReflectException.java index 2096b73cf..701e8362e 100644 --- a/src/main/java/org/scijava/util/ReflectException.java +++ b/src/main/java/org/scijava/util/ReflectException.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ReflectedUniverse.java b/src/main/java/org/scijava/util/ReflectedUniverse.java index 53c0e0ab7..4c9fd953f 100644 --- a/src/main/java/org/scijava/util/ReflectedUniverse.java +++ b/src/main/java/org/scijava/util/ReflectedUniverse.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ServiceCombiner.java b/src/main/java/org/scijava/util/ServiceCombiner.java index 65bf24190..e976f6846 100644 --- a/src/main/java/org/scijava/util/ServiceCombiner.java +++ b/src/main/java/org/scijava/util/ServiceCombiner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ShortArray.java b/src/main/java/org/scijava/util/ShortArray.java index 50ca80a10..8a3985006 100644 --- a/src/main/java/org/scijava/util/ShortArray.java +++ b/src/main/java/org/scijava/util/ShortArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Sizable.java b/src/main/java/org/scijava/util/Sizable.java index b4939d7c8..c1172b1dc 100644 --- a/src/main/java/org/scijava/util/Sizable.java +++ b/src/main/java/org/scijava/util/Sizable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/SizableArrayList.java b/src/main/java/org/scijava/util/SizableArrayList.java index 163ae5939..b132a87f7 100644 --- a/src/main/java/org/scijava/util/SizableArrayList.java +++ b/src/main/java/org/scijava/util/SizableArrayList.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/StringMaker.java b/src/main/java/org/scijava/util/StringMaker.java index 97af599da..ac4db3873 100644 --- a/src/main/java/org/scijava/util/StringMaker.java +++ b/src/main/java/org/scijava/util/StringMaker.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/StringUtils.java b/src/main/java/org/scijava/util/StringUtils.java index 6516777b2..0fdba3900 100644 --- a/src/main/java/org/scijava/util/StringUtils.java +++ b/src/main/java/org/scijava/util/StringUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Timing.java b/src/main/java/org/scijava/util/Timing.java index d533840f6..1bf79ddd4 100644 --- a/src/main/java/org/scijava/util/Timing.java +++ b/src/main/java/org/scijava/util/Timing.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/TreeNode.java b/src/main/java/org/scijava/util/TreeNode.java index a0ed8a293..833832642 100644 --- a/src/main/java/org/scijava/util/TreeNode.java +++ b/src/main/java/org/scijava/util/TreeNode.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/TunePlayer.java b/src/main/java/org/scijava/util/TunePlayer.java index a59e2019b..f12969725 100644 --- a/src/main/java/org/scijava/util/TunePlayer.java +++ b/src/main/java/org/scijava/util/TunePlayer.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Types.java b/src/main/java/org/scijava/util/Types.java index 9ded87575..12f46115c 100644 --- a/src/main/java/org/scijava/util/Types.java +++ b/src/main/java/org/scijava/util/Types.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/UnitUtils.java b/src/main/java/org/scijava/util/UnitUtils.java index 1d45f7aac..6f1848da9 100644 --- a/src/main/java/org/scijava/util/UnitUtils.java +++ b/src/main/java/org/scijava/util/UnitUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/VersionUtils.java b/src/main/java/org/scijava/util/VersionUtils.java index 994a4aa71..2bbb2e25d 100644 --- a/src/main/java/org/scijava/util/VersionUtils.java +++ b/src/main/java/org/scijava/util/VersionUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/XML.java b/src/main/java/org/scijava/util/XML.java index e1b570d37..aac4a396b 100644 --- a/src/main/java/org/scijava/util/XML.java +++ b/src/main/java/org/scijava/util/XML.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/welcome/DefaultWelcomeService.java b/src/main/java/org/scijava/welcome/DefaultWelcomeService.java index 186b28260..bc7bdd726 100644 --- a/src/main/java/org/scijava/welcome/DefaultWelcomeService.java +++ b/src/main/java/org/scijava/welcome/DefaultWelcomeService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/welcome/WelcomeService.java b/src/main/java/org/scijava/welcome/WelcomeService.java index c7a1ec948..68da22375 100644 --- a/src/main/java/org/scijava/welcome/WelcomeService.java +++ b/src/main/java/org/scijava/welcome/WelcomeService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/welcome/event/WelcomeEvent.java b/src/main/java/org/scijava/welcome/event/WelcomeEvent.java index 8ea1f3424..90b70c8d6 100644 --- a/src/main/java/org/scijava/welcome/event/WelcomeEvent.java +++ b/src/main/java/org/scijava/welcome/event/WelcomeEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/AbstractInputHarvester.java b/src/main/java/org/scijava/widget/AbstractInputHarvester.java index 1f65ae1d5..9a82ea33f 100644 --- a/src/main/java/org/scijava/widget/AbstractInputHarvester.java +++ b/src/main/java/org/scijava/widget/AbstractInputHarvester.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/AbstractInputPanel.java b/src/main/java/org/scijava/widget/AbstractInputPanel.java index 2a8bb49a5..0efb95586 100644 --- a/src/main/java/org/scijava/widget/AbstractInputPanel.java +++ b/src/main/java/org/scijava/widget/AbstractInputPanel.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/AbstractInputWidget.java b/src/main/java/org/scijava/widget/AbstractInputWidget.java index f527847b0..9c6aede1e 100644 --- a/src/main/java/org/scijava/widget/AbstractInputWidget.java +++ b/src/main/java/org/scijava/widget/AbstractInputWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/Button.java b/src/main/java/org/scijava/widget/Button.java index 286cd1fb4..e9e73f59a 100644 --- a/src/main/java/org/scijava/widget/Button.java +++ b/src/main/java/org/scijava/widget/Button.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/ButtonWidget.java b/src/main/java/org/scijava/widget/ButtonWidget.java index c869fc13e..9c278c243 100644 --- a/src/main/java/org/scijava/widget/ButtonWidget.java +++ b/src/main/java/org/scijava/widget/ButtonWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/ChoiceWidget.java b/src/main/java/org/scijava/widget/ChoiceWidget.java index b900ac0ba..6ca640cb9 100644 --- a/src/main/java/org/scijava/widget/ChoiceWidget.java +++ b/src/main/java/org/scijava/widget/ChoiceWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/ColorWidget.java b/src/main/java/org/scijava/widget/ColorWidget.java index 84284a9dd..17de750c9 100644 --- a/src/main/java/org/scijava/widget/ColorWidget.java +++ b/src/main/java/org/scijava/widget/ColorWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/DateWidget.java b/src/main/java/org/scijava/widget/DateWidget.java index d05049bf7..8a7db46cf 100644 --- a/src/main/java/org/scijava/widget/DateWidget.java +++ b/src/main/java/org/scijava/widget/DateWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/DefaultWidgetModel.java b/src/main/java/org/scijava/widget/DefaultWidgetModel.java index 229195289..ea878b162 100644 --- a/src/main/java/org/scijava/widget/DefaultWidgetModel.java +++ b/src/main/java/org/scijava/widget/DefaultWidgetModel.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/DefaultWidgetService.java b/src/main/java/org/scijava/widget/DefaultWidgetService.java index 2606eed13..19111288c 100644 --- a/src/main/java/org/scijava/widget/DefaultWidgetService.java +++ b/src/main/java/org/scijava/widget/DefaultWidgetService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/FileListWidget.java b/src/main/java/org/scijava/widget/FileListWidget.java index d74ea12f5..f99c66ee2 100644 --- a/src/main/java/org/scijava/widget/FileListWidget.java +++ b/src/main/java/org/scijava/widget/FileListWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/FileWidget.java b/src/main/java/org/scijava/widget/FileWidget.java index dc70e0ce1..da4632c79 100644 --- a/src/main/java/org/scijava/widget/FileWidget.java +++ b/src/main/java/org/scijava/widget/FileWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/InputHarvester.java b/src/main/java/org/scijava/widget/InputHarvester.java index 08b1a9fe3..25ce4c5e8 100644 --- a/src/main/java/org/scijava/widget/InputHarvester.java +++ b/src/main/java/org/scijava/widget/InputHarvester.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/InputPanel.java b/src/main/java/org/scijava/widget/InputPanel.java index 0813ee375..664ade0ab 100644 --- a/src/main/java/org/scijava/widget/InputPanel.java +++ b/src/main/java/org/scijava/widget/InputPanel.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/InputWidget.java b/src/main/java/org/scijava/widget/InputWidget.java index 43d931c01..bdcb27c2d 100644 --- a/src/main/java/org/scijava/widget/InputWidget.java +++ b/src/main/java/org/scijava/widget/InputWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/MessageWidget.java b/src/main/java/org/scijava/widget/MessageWidget.java index 4092544eb..117b08aeb 100644 --- a/src/main/java/org/scijava/widget/MessageWidget.java +++ b/src/main/java/org/scijava/widget/MessageWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/NumberWidget.java b/src/main/java/org/scijava/widget/NumberWidget.java index 886d423ea..b6b81e6c9 100644 --- a/src/main/java/org/scijava/widget/NumberWidget.java +++ b/src/main/java/org/scijava/widget/NumberWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/ObjectWidget.java b/src/main/java/org/scijava/widget/ObjectWidget.java index 2870ff270..839b5272b 100644 --- a/src/main/java/org/scijava/widget/ObjectWidget.java +++ b/src/main/java/org/scijava/widget/ObjectWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/TextWidget.java b/src/main/java/org/scijava/widget/TextWidget.java index 384523125..34dd871bf 100644 --- a/src/main/java/org/scijava/widget/TextWidget.java +++ b/src/main/java/org/scijava/widget/TextWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/ToggleWidget.java b/src/main/java/org/scijava/widget/ToggleWidget.java index bdb87913a..829dd0c94 100644 --- a/src/main/java/org/scijava/widget/ToggleWidget.java +++ b/src/main/java/org/scijava/widget/ToggleWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/UIComponent.java b/src/main/java/org/scijava/widget/UIComponent.java index 54e38acb9..943daa7ee 100644 --- a/src/main/java/org/scijava/widget/UIComponent.java +++ b/src/main/java/org/scijava/widget/UIComponent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/WidgetModel.java b/src/main/java/org/scijava/widget/WidgetModel.java index 83e8a2f9f..97ccad278 100644 --- a/src/main/java/org/scijava/widget/WidgetModel.java +++ b/src/main/java/org/scijava/widget/WidgetModel.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/WidgetService.java b/src/main/java/org/scijava/widget/WidgetService.java index ef74c794a..8f02d6603 100644 --- a/src/main/java/org/scijava/widget/WidgetService.java +++ b/src/main/java/org/scijava/widget/WidgetService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/WidgetStyle.java b/src/main/java/org/scijava/widget/WidgetStyle.java index ec5e1c466..9dedf5aaf 100644 --- a/src/main/java/org/scijava/widget/WidgetStyle.java +++ b/src/main/java/org/scijava/widget/WidgetStyle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/ContextCreationTest.java b/src/test/java/org/scijava/ContextCreationTest.java index b00b19dfb..b177a75c7 100644 --- a/src/test/java/org/scijava/ContextCreationTest.java +++ b/src/test/java/org/scijava/ContextCreationTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/ContextInjectionTest.java b/src/test/java/org/scijava/ContextInjectionTest.java index b5b958a4e..bff5bf657 100644 --- a/src/test/java/org/scijava/ContextInjectionTest.java +++ b/src/test/java/org/scijava/ContextInjectionTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/SciJavaTest.java b/src/test/java/org/scijava/SciJavaTest.java index 7e1f2866a..c8a0fd499 100644 --- a/src/test/java/org/scijava/SciJavaTest.java +++ b/src/test/java/org/scijava/SciJavaTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/AnnotatedA.java b/src/test/java/org/scijava/annotations/AnnotatedA.java index 1226a7e2b..9e1ca7982 100644 --- a/src/test/java/org/scijava/annotations/AnnotatedA.java +++ b/src/test/java/org/scijava/annotations/AnnotatedA.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/AnnotatedB.java b/src/test/java/org/scijava/annotations/AnnotatedB.java index 7993d867a..41047039a 100644 --- a/src/test/java/org/scijava/annotations/AnnotatedB.java +++ b/src/test/java/org/scijava/annotations/AnnotatedB.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/AnnotatedC.java b/src/test/java/org/scijava/annotations/AnnotatedC.java index 5e50040a2..b2221e5bd 100644 --- a/src/test/java/org/scijava/annotations/AnnotatedC.java +++ b/src/test/java/org/scijava/annotations/AnnotatedC.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/AnnotatedD.java b/src/test/java/org/scijava/annotations/AnnotatedD.java index 7049ea841..4c534202a 100644 --- a/src/test/java/org/scijava/annotations/AnnotatedD.java +++ b/src/test/java/org/scijava/annotations/AnnotatedD.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/AnnotatedInnerClass.java b/src/test/java/org/scijava/annotations/AnnotatedInnerClass.java index 41e9a3849..c431acec2 100644 --- a/src/test/java/org/scijava/annotations/AnnotatedInnerClass.java +++ b/src/test/java/org/scijava/annotations/AnnotatedInnerClass.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/Complex.java b/src/test/java/org/scijava/annotations/Complex.java index 4d3b2ae4a..c5f1b24bb 100644 --- a/src/test/java/org/scijava/annotations/Complex.java +++ b/src/test/java/org/scijava/annotations/Complex.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/DirectoryIndexerTest.java b/src/test/java/org/scijava/annotations/DirectoryIndexerTest.java index 894dc5aa7..6ba1f5cde 100644 --- a/src/test/java/org/scijava/annotations/DirectoryIndexerTest.java +++ b/src/test/java/org/scijava/annotations/DirectoryIndexerTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/EclipseHelperTest.java b/src/test/java/org/scijava/annotations/EclipseHelperTest.java index cffbc9228..9a809785b 100644 --- a/src/test/java/org/scijava/annotations/EclipseHelperTest.java +++ b/src/test/java/org/scijava/annotations/EclipseHelperTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/Fruit.java b/src/test/java/org/scijava/annotations/Fruit.java index 28f04a12c..547d39793 100644 --- a/src/test/java/org/scijava/annotations/Fruit.java +++ b/src/test/java/org/scijava/annotations/Fruit.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/LegacyTest.java b/src/test/java/org/scijava/annotations/LegacyTest.java index c12e8930c..47336653e 100644 --- a/src/test/java/org/scijava/annotations/LegacyTest.java +++ b/src/test/java/org/scijava/annotations/LegacyTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/Simple.java b/src/test/java/org/scijava/annotations/Simple.java index 2a0b751e3..9641955f1 100644 --- a/src/test/java/org/scijava/annotations/Simple.java +++ b/src/test/java/org/scijava/annotations/Simple.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/app/StatusServiceTest.java b/src/test/java/org/scijava/app/StatusServiceTest.java index 5dde120ff..b1d4feb43 100644 --- a/src/test/java/org/scijava/app/StatusServiceTest.java +++ b/src/test/java/org/scijava/app/StatusServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/command/CommandArrayConverterTest.java b/src/test/java/org/scijava/command/CommandArrayConverterTest.java index 26dfebfc9..406f5f604 100644 --- a/src/test/java/org/scijava/command/CommandArrayConverterTest.java +++ b/src/test/java/org/scijava/command/CommandArrayConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/command/CommandInfoTest.java b/src/test/java/org/scijava/command/CommandInfoTest.java index d7830f59e..8de905e99 100644 --- a/src/test/java/org/scijava/command/CommandInfoTest.java +++ b/src/test/java/org/scijava/command/CommandInfoTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/command/CommandModuleTest.java b/src/test/java/org/scijava/command/CommandModuleTest.java index 372ca5267..bbdb25270 100644 --- a/src/test/java/org/scijava/command/CommandModuleTest.java +++ b/src/test/java/org/scijava/command/CommandModuleTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/command/CommandServiceTest.java b/src/test/java/org/scijava/command/CommandServiceTest.java index a66fe78e3..e13622351 100644 --- a/src/test/java/org/scijava/command/CommandServiceTest.java +++ b/src/test/java/org/scijava/command/CommandServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/command/InputsTest.java b/src/test/java/org/scijava/command/InputsTest.java index a5387d6b9..2c6556644 100644 --- a/src/test/java/org/scijava/command/InputsTest.java +++ b/src/test/java/org/scijava/command/InputsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/command/InvalidCommandTest.java b/src/test/java/org/scijava/command/InvalidCommandTest.java index 3d5e11649..b0d311083 100644 --- a/src/test/java/org/scijava/command/InvalidCommandTest.java +++ b/src/test/java/org/scijava/command/InvalidCommandTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/command/run/CommandCodeRunnerTest.java b/src/test/java/org/scijava/command/run/CommandCodeRunnerTest.java index afde6646f..557de6a28 100644 --- a/src/test/java/org/scijava/command/run/CommandCodeRunnerTest.java +++ b/src/test/java/org/scijava/command/run/CommandCodeRunnerTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/console/ConsoleServiceTest.java b/src/test/java/org/scijava/console/ConsoleServiceTest.java index 9bdb66ba4..432feb8e0 100644 --- a/src/test/java/org/scijava/console/ConsoleServiceTest.java +++ b/src/test/java/org/scijava/console/ConsoleServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/console/SystemPropertyArgumentTest.java b/src/test/java/org/scijava/console/SystemPropertyArgumentTest.java index 830ad7047..c7c0a9185 100644 --- a/src/test/java/org/scijava/console/SystemPropertyArgumentTest.java +++ b/src/test/java/org/scijava/console/SystemPropertyArgumentTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/AbstractNumberConverterTests.java b/src/test/java/org/scijava/convert/AbstractNumberConverterTests.java index 1ab9f17d4..7922b3cb6 100644 --- a/src/test/java/org/scijava/convert/AbstractNumberConverterTests.java +++ b/src/test/java/org/scijava/convert/AbstractNumberConverterTests.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ArrayToStringConverterTest.java b/src/test/java/org/scijava/convert/ArrayToStringConverterTest.java index 17ad68a4e..36a78a824 100644 --- a/src/test/java/org/scijava/convert/ArrayToStringConverterTest.java +++ b/src/test/java/org/scijava/convert/ArrayToStringConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/BigIntegerToBigDecimalConverterTest.java b/src/test/java/org/scijava/convert/BigIntegerToBigDecimalConverterTest.java index a345e9cbd..ee40655af 100644 --- a/src/test/java/org/scijava/convert/BigIntegerToBigDecimalConverterTest.java +++ b/src/test/java/org/scijava/convert/BigIntegerToBigDecimalConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ByteToBigDecimalConverterTest.java b/src/test/java/org/scijava/convert/ByteToBigDecimalConverterTest.java index 28ea79d65..504165eca 100644 --- a/src/test/java/org/scijava/convert/ByteToBigDecimalConverterTest.java +++ b/src/test/java/org/scijava/convert/ByteToBigDecimalConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ByteToBigIntegerConverterTest.java b/src/test/java/org/scijava/convert/ByteToBigIntegerConverterTest.java index fed7c84ce..5fe0aeda9 100644 --- a/src/test/java/org/scijava/convert/ByteToBigIntegerConverterTest.java +++ b/src/test/java/org/scijava/convert/ByteToBigIntegerConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ByteToDoubleConverterTest.java b/src/test/java/org/scijava/convert/ByteToDoubleConverterTest.java index 3b33abecb..1e577f141 100644 --- a/src/test/java/org/scijava/convert/ByteToDoubleConverterTest.java +++ b/src/test/java/org/scijava/convert/ByteToDoubleConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ByteToFloatConverterTest.java b/src/test/java/org/scijava/convert/ByteToFloatConverterTest.java index 4395c5789..3f0c755de 100644 --- a/src/test/java/org/scijava/convert/ByteToFloatConverterTest.java +++ b/src/test/java/org/scijava/convert/ByteToFloatConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ByteToIntegerConverterTest.java b/src/test/java/org/scijava/convert/ByteToIntegerConverterTest.java index 61724ec62..890953eed 100644 --- a/src/test/java/org/scijava/convert/ByteToIntegerConverterTest.java +++ b/src/test/java/org/scijava/convert/ByteToIntegerConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ByteToLongConverterTest.java b/src/test/java/org/scijava/convert/ByteToLongConverterTest.java index 00866555b..0feab666a 100644 --- a/src/test/java/org/scijava/convert/ByteToLongConverterTest.java +++ b/src/test/java/org/scijava/convert/ByteToLongConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ByteToShortConverterTest.java b/src/test/java/org/scijava/convert/ByteToShortConverterTest.java index 2c307dcce..cec43a6e4 100644 --- a/src/test/java/org/scijava/convert/ByteToShortConverterTest.java +++ b/src/test/java/org/scijava/convert/ByteToShortConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ConvertServiceTest.java b/src/test/java/org/scijava/convert/ConvertServiceTest.java index 59aaa2835..5c15ae934 100644 --- a/src/test/java/org/scijava/convert/ConvertServiceTest.java +++ b/src/test/java/org/scijava/convert/ConvertServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ConverterTest.java b/src/test/java/org/scijava/convert/ConverterTest.java index dd96e6191..873be832a 100644 --- a/src/test/java/org/scijava/convert/ConverterTest.java +++ b/src/test/java/org/scijava/convert/ConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/DelegateConverterTest.java b/src/test/java/org/scijava/convert/DelegateConverterTest.java index 045eabd6a..00bd9baae 100644 --- a/src/test/java/org/scijava/convert/DelegateConverterTest.java +++ b/src/test/java/org/scijava/convert/DelegateConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/DoubleToBigDecimalConverterTest.java b/src/test/java/org/scijava/convert/DoubleToBigDecimalConverterTest.java index ed092262e..57c4e8cba 100644 --- a/src/test/java/org/scijava/convert/DoubleToBigDecimalConverterTest.java +++ b/src/test/java/org/scijava/convert/DoubleToBigDecimalConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/FileListConverterTest.java b/src/test/java/org/scijava/convert/FileListConverterTest.java index 632e82f4a..cd6b011e6 100644 --- a/src/test/java/org/scijava/convert/FileListConverterTest.java +++ b/src/test/java/org/scijava/convert/FileListConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/FileToPathConversionTest.java b/src/test/java/org/scijava/convert/FileToPathConversionTest.java index 6dcd81d1b..3b6f554c1 100644 --- a/src/test/java/org/scijava/convert/FileToPathConversionTest.java +++ b/src/test/java/org/scijava/convert/FileToPathConversionTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/FloatToBigDecimalConverterTest.java b/src/test/java/org/scijava/convert/FloatToBigDecimalConverterTest.java index 0be67f354..db194c80b 100644 --- a/src/test/java/org/scijava/convert/FloatToBigDecimalConverterTest.java +++ b/src/test/java/org/scijava/convert/FloatToBigDecimalConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/FloatToDoubleConverterTest.java b/src/test/java/org/scijava/convert/FloatToDoubleConverterTest.java index 245ba6233..cbb142ed8 100644 --- a/src/test/java/org/scijava/convert/FloatToDoubleConverterTest.java +++ b/src/test/java/org/scijava/convert/FloatToDoubleConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/IntegerToBigDecimalConverterTest.java b/src/test/java/org/scijava/convert/IntegerToBigDecimalConverterTest.java index ffe7dc17b..4d59c5a23 100644 --- a/src/test/java/org/scijava/convert/IntegerToBigDecimalConverterTest.java +++ b/src/test/java/org/scijava/convert/IntegerToBigDecimalConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/IntegerToBigIntegerConverterTest.java b/src/test/java/org/scijava/convert/IntegerToBigIntegerConverterTest.java index 76690b449..e75975687 100644 --- a/src/test/java/org/scijava/convert/IntegerToBigIntegerConverterTest.java +++ b/src/test/java/org/scijava/convert/IntegerToBigIntegerConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/IntegerToDoubleConverterTest.java b/src/test/java/org/scijava/convert/IntegerToDoubleConverterTest.java index 9f4555224..79f4e4b5f 100644 --- a/src/test/java/org/scijava/convert/IntegerToDoubleConverterTest.java +++ b/src/test/java/org/scijava/convert/IntegerToDoubleConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/IntegerToLongConverterTest.java b/src/test/java/org/scijava/convert/IntegerToLongConverterTest.java index 1552f8da7..bf8057129 100644 --- a/src/test/java/org/scijava/convert/IntegerToLongConverterTest.java +++ b/src/test/java/org/scijava/convert/IntegerToLongConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/LongToBigDecimalConverterTest.java b/src/test/java/org/scijava/convert/LongToBigDecimalConverterTest.java index 929eb9bf7..3c3989bb8 100644 --- a/src/test/java/org/scijava/convert/LongToBigDecimalConverterTest.java +++ b/src/test/java/org/scijava/convert/LongToBigDecimalConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/LongToBigIntegerConverterTest.java b/src/test/java/org/scijava/convert/LongToBigIntegerConverterTest.java index 69fcb27bc..3483ab5a3 100644 --- a/src/test/java/org/scijava/convert/LongToBigIntegerConverterTest.java +++ b/src/test/java/org/scijava/convert/LongToBigIntegerConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ShortToBigDecimalConverterTest.java b/src/test/java/org/scijava/convert/ShortToBigDecimalConverterTest.java index fb8dfae28..cfc350b18 100644 --- a/src/test/java/org/scijava/convert/ShortToBigDecimalConverterTest.java +++ b/src/test/java/org/scijava/convert/ShortToBigDecimalConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ShortToBigIntegerConverterTest.java b/src/test/java/org/scijava/convert/ShortToBigIntegerConverterTest.java index d0c4d67ee..ef713a05c 100644 --- a/src/test/java/org/scijava/convert/ShortToBigIntegerConverterTest.java +++ b/src/test/java/org/scijava/convert/ShortToBigIntegerConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ShortToDoubleConverterTest.java b/src/test/java/org/scijava/convert/ShortToDoubleConverterTest.java index a7befa860..aadd59fbb 100644 --- a/src/test/java/org/scijava/convert/ShortToDoubleConverterTest.java +++ b/src/test/java/org/scijava/convert/ShortToDoubleConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ShortToFloatConverterTest.java b/src/test/java/org/scijava/convert/ShortToFloatConverterTest.java index 2ce0c775b..0cbeb21fd 100644 --- a/src/test/java/org/scijava/convert/ShortToFloatConverterTest.java +++ b/src/test/java/org/scijava/convert/ShortToFloatConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ShortToIntegerConverterTest.java b/src/test/java/org/scijava/convert/ShortToIntegerConverterTest.java index cb8505498..d74f7d81f 100644 --- a/src/test/java/org/scijava/convert/ShortToIntegerConverterTest.java +++ b/src/test/java/org/scijava/convert/ShortToIntegerConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ShortToLongConverterTest.java b/src/test/java/org/scijava/convert/ShortToLongConverterTest.java index b9ca04268..8f8d6543e 100644 --- a/src/test/java/org/scijava/convert/ShortToLongConverterTest.java +++ b/src/test/java/org/scijava/convert/ShortToLongConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/StringToArrayConverterTest.java b/src/test/java/org/scijava/convert/StringToArrayConverterTest.java index 8234adae7..5e970dfb1 100644 --- a/src/test/java/org/scijava/convert/StringToArrayConverterTest.java +++ b/src/test/java/org/scijava/convert/StringToArrayConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/StringToNumberConverterTest.java b/src/test/java/org/scijava/convert/StringToNumberConverterTest.java index b2778d128..879e9ffc8 100644 --- a/src/test/java/org/scijava/convert/StringToNumberConverterTest.java +++ b/src/test/java/org/scijava/convert/StringToNumberConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/display/DisplayTest.java b/src/test/java/org/scijava/display/DisplayTest.java index bb862450c..c8502c237 100644 --- a/src/test/java/org/scijava/display/DisplayTest.java +++ b/src/test/java/org/scijava/display/DisplayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/download/DownloadServiceTest.java b/src/test/java/org/scijava/download/DownloadServiceTest.java index adf5fad02..722a3325c 100644 --- a/src/test/java/org/scijava/download/DownloadServiceTest.java +++ b/src/test/java/org/scijava/download/DownloadServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/event/EventServiceTest.java b/src/test/java/org/scijava/event/EventServiceTest.java index c1e6e74e3..7d80cd56d 100644 --- a/src/test/java/org/scijava/event/EventServiceTest.java +++ b/src/test/java/org/scijava/event/EventServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/ByteArrayByteBankTest.java b/src/test/java/org/scijava/io/ByteArrayByteBankTest.java index e7ee584eb..a8c43184c 100644 --- a/src/test/java/org/scijava/io/ByteArrayByteBankTest.java +++ b/src/test/java/org/scijava/io/ByteArrayByteBankTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/ByteBankTest.java b/src/test/java/org/scijava/io/ByteBankTest.java index 2c69cd595..7861b3920 100644 --- a/src/test/java/org/scijava/io/ByteBankTest.java +++ b/src/test/java/org/scijava/io/ByteBankTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/IOServiceTest.java b/src/test/java/org/scijava/io/IOServiceTest.java index 68ceb121a..a109c85e8 100644 --- a/src/test/java/org/scijava/io/IOServiceTest.java +++ b/src/test/java/org/scijava/io/IOServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/TypedIOServiceTest.java b/src/test/java/org/scijava/io/TypedIOServiceTest.java index 8e100352c..b17bca169 100644 --- a/src/test/java/org/scijava/io/TypedIOServiceTest.java +++ b/src/test/java/org/scijava/io/TypedIOServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/event/DataEventTest.java b/src/test/java/org/scijava/io/event/DataEventTest.java index 477f6be79..6ceb42e2e 100644 --- a/src/test/java/org/scijava/io/event/DataEventTest.java +++ b/src/test/java/org/scijava/io/event/DataEventTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/handle/BytesHandleTest.java b/src/test/java/org/scijava/io/handle/BytesHandleTest.java index 9e023e1be..865cd327f 100644 --- a/src/test/java/org/scijava/io/handle/BytesHandleTest.java +++ b/src/test/java/org/scijava/io/handle/BytesHandleTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/handle/DataHandleEdgeCaseTests.java b/src/test/java/org/scijava/io/handle/DataHandleEdgeCaseTests.java index abc9d99a8..7115af445 100644 --- a/src/test/java/org/scijava/io/handle/DataHandleEdgeCaseTests.java +++ b/src/test/java/org/scijava/io/handle/DataHandleEdgeCaseTests.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/handle/DataHandleTest.java b/src/test/java/org/scijava/io/handle/DataHandleTest.java index d62bdca7f..15730d404 100644 --- a/src/test/java/org/scijava/io/handle/DataHandleTest.java +++ b/src/test/java/org/scijava/io/handle/DataHandleTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/handle/DataHandlesTest.java b/src/test/java/org/scijava/io/handle/DataHandlesTest.java index 7aa81bfb1..9a91d56c0 100644 --- a/src/test/java/org/scijava/io/handle/DataHandlesTest.java +++ b/src/test/java/org/scijava/io/handle/DataHandlesTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/handle/FileHandleTest.java b/src/test/java/org/scijava/io/handle/FileHandleTest.java index 8b405416c..d690ed710 100644 --- a/src/test/java/org/scijava/io/handle/FileHandleTest.java +++ b/src/test/java/org/scijava/io/handle/FileHandleTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/handle/ReadBufferDataHandleMockTest.java b/src/test/java/org/scijava/io/handle/ReadBufferDataHandleMockTest.java index 13a93571e..f7cb24182 100644 --- a/src/test/java/org/scijava/io/handle/ReadBufferDataHandleMockTest.java +++ b/src/test/java/org/scijava/io/handle/ReadBufferDataHandleMockTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/handle/ReadBufferDataHandleTest.java b/src/test/java/org/scijava/io/handle/ReadBufferDataHandleTest.java index bd1a9ed14..61c7c9b41 100644 --- a/src/test/java/org/scijava/io/handle/ReadBufferDataHandleTest.java +++ b/src/test/java/org/scijava/io/handle/ReadBufferDataHandleTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/handle/WriteBufferDataHandleTest.java b/src/test/java/org/scijava/io/handle/WriteBufferDataHandleTest.java index b9295187e..fd813e326 100644 --- a/src/test/java/org/scijava/io/handle/WriteBufferDataHandleTest.java +++ b/src/test/java/org/scijava/io/handle/WriteBufferDataHandleTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/location/BytesLocationTest.java b/src/test/java/org/scijava/io/location/BytesLocationTest.java index f7f26c67e..e2900a9c6 100644 --- a/src/test/java/org/scijava/io/location/BytesLocationTest.java +++ b/src/test/java/org/scijava/io/location/BytesLocationTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/location/FileLocationResolverTest.java b/src/test/java/org/scijava/io/location/FileLocationResolverTest.java index f3326660a..62def039e 100644 --- a/src/test/java/org/scijava/io/location/FileLocationResolverTest.java +++ b/src/test/java/org/scijava/io/location/FileLocationResolverTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/location/FileLocationTest.java b/src/test/java/org/scijava/io/location/FileLocationTest.java index cb7562977..cf98dcfa1 100644 --- a/src/test/java/org/scijava/io/location/FileLocationTest.java +++ b/src/test/java/org/scijava/io/location/FileLocationTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/location/LocationServiceTest.java b/src/test/java/org/scijava/io/location/LocationServiceTest.java index feb628fa4..ade1122ba 100644 --- a/src/test/java/org/scijava/io/location/LocationServiceTest.java +++ b/src/test/java/org/scijava/io/location/LocationServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/location/URILocationTest.java b/src/test/java/org/scijava/io/location/URILocationTest.java index 08c886467..6e23d6fd9 100644 --- a/src/test/java/org/scijava/io/location/URILocationTest.java +++ b/src/test/java/org/scijava/io/location/URILocationTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/location/URLLocationTest.java b/src/test/java/org/scijava/io/location/URLLocationTest.java index 9b939f4a1..3f15988c0 100644 --- a/src/test/java/org/scijava/io/location/URLLocationTest.java +++ b/src/test/java/org/scijava/io/location/URLLocationTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/nio/ByteBufferByteBankTest.java b/src/test/java/org/scijava/io/nio/ByteBufferByteBankTest.java index 90919ed48..13c3c0a6b 100644 --- a/src/test/java/org/scijava/io/nio/ByteBufferByteBankTest.java +++ b/src/test/java/org/scijava/io/nio/ByteBufferByteBankTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/log/CallingClassUtilsTest.java b/src/test/java/org/scijava/log/CallingClassUtilsTest.java index a5893c905..e8b2d8ed5 100644 --- a/src/test/java/org/scijava/log/CallingClassUtilsTest.java +++ b/src/test/java/org/scijava/log/CallingClassUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/log/DefaultLoggerTest.java b/src/test/java/org/scijava/log/DefaultLoggerTest.java index 865e306aa..c8143017e 100644 --- a/src/test/java/org/scijava/log/DefaultLoggerTest.java +++ b/src/test/java/org/scijava/log/DefaultLoggerTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/log/LogMessageTest.java b/src/test/java/org/scijava/log/LogMessageTest.java index 733e28ff5..20cbe8d76 100644 --- a/src/test/java/org/scijava/log/LogMessageTest.java +++ b/src/test/java/org/scijava/log/LogMessageTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/log/LogServiceTest.java b/src/test/java/org/scijava/log/LogServiceTest.java index fccbc18fb..9ab4f15bd 100644 --- a/src/test/java/org/scijava/log/LogServiceTest.java +++ b/src/test/java/org/scijava/log/LogServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/log/LogSourceTest.java b/src/test/java/org/scijava/log/LogSourceTest.java index 848a5e17d..65d5813f4 100644 --- a/src/test/java/org/scijava/log/LogSourceTest.java +++ b/src/test/java/org/scijava/log/LogSourceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/log/StderrLogServiceTest.java b/src/test/java/org/scijava/log/StderrLogServiceTest.java index 00d3a698b..b28503b32 100644 --- a/src/test/java/org/scijava/log/StderrLogServiceTest.java +++ b/src/test/java/org/scijava/log/StderrLogServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/log/TestLogListener.java b/src/test/java/org/scijava/log/TestLogListener.java index ef6224cfa..ef92de0d5 100644 --- a/src/test/java/org/scijava/log/TestLogListener.java +++ b/src/test/java/org/scijava/log/TestLogListener.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/main/MainServiceTest.java b/src/test/java/org/scijava/main/MainServiceTest.java index e96794ed8..8152f13c6 100644 --- a/src/test/java/org/scijava/main/MainServiceTest.java +++ b/src/test/java/org/scijava/main/MainServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/main/run/MainCodeRunnerTest.java b/src/test/java/org/scijava/main/run/MainCodeRunnerTest.java index eaf05da9b..03872538f 100644 --- a/src/test/java/org/scijava/main/run/MainCodeRunnerTest.java +++ b/src/test/java/org/scijava/main/run/MainCodeRunnerTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/menu/MenuServiceTest.java b/src/test/java/org/scijava/menu/MenuServiceTest.java index d3c7428d5..604db06c3 100644 --- a/src/test/java/org/scijava/menu/MenuServiceTest.java +++ b/src/test/java/org/scijava/menu/MenuServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/menu/ShadowMenuTest.java b/src/test/java/org/scijava/menu/ShadowMenuTest.java index f24093192..3c8ff6874 100644 --- a/src/test/java/org/scijava/menu/ShadowMenuTest.java +++ b/src/test/java/org/scijava/menu/ShadowMenuTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/module/ModuleServiceTest.java b/src/test/java/org/scijava/module/ModuleServiceTest.java index 2bd1fcb4b..b9e6ab4f5 100644 --- a/src/test/java/org/scijava/module/ModuleServiceTest.java +++ b/src/test/java/org/scijava/module/ModuleServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/module/process/LoggerPreprocessorTest.java b/src/test/java/org/scijava/module/process/LoggerPreprocessorTest.java index a0dd141ff..40461b497 100644 --- a/src/test/java/org/scijava/module/process/LoggerPreprocessorTest.java +++ b/src/test/java/org/scijava/module/process/LoggerPreprocessorTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/module/run/ModuleCodeRunnerTest.java b/src/test/java/org/scijava/module/run/ModuleCodeRunnerTest.java index 3425c654b..b5db1288c 100644 --- a/src/test/java/org/scijava/module/run/ModuleCodeRunnerTest.java +++ b/src/test/java/org/scijava/module/run/ModuleCodeRunnerTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/object/NamedObjectIndexTest.java b/src/test/java/org/scijava/object/NamedObjectIndexTest.java index ad5fd4aa7..0e8e510f8 100644 --- a/src/test/java/org/scijava/object/NamedObjectIndexTest.java +++ b/src/test/java/org/scijava/object/NamedObjectIndexTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/object/ObjectIndexTest.java b/src/test/java/org/scijava/object/ObjectIndexTest.java index e81c87e1f..00be93314 100644 --- a/src/test/java/org/scijava/object/ObjectIndexTest.java +++ b/src/test/java/org/scijava/object/ObjectIndexTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/object/ObjectServiceTest.java b/src/test/java/org/scijava/object/ObjectServiceTest.java index 321a402cb..7e179c0bf 100644 --- a/src/test/java/org/scijava/object/ObjectServiceTest.java +++ b/src/test/java/org/scijava/object/ObjectServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/object/SortedObjectIndexTest.java b/src/test/java/org/scijava/object/SortedObjectIndexTest.java index 61894ab78..86c38ecfd 100644 --- a/src/test/java/org/scijava/object/SortedObjectIndexTest.java +++ b/src/test/java/org/scijava/object/SortedObjectIndexTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/options/OptionsTest.java b/src/test/java/org/scijava/options/OptionsTest.java index 3ed1d5f08..eb144eebc 100644 --- a/src/test/java/org/scijava/options/OptionsTest.java +++ b/src/test/java/org/scijava/options/OptionsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/parse/ParseServiceTest.java b/src/test/java/org/scijava/parse/ParseServiceTest.java index a5053766c..f09d33308 100644 --- a/src/test/java/org/scijava/parse/ParseServiceTest.java +++ b/src/test/java/org/scijava/parse/ParseServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/plugin/PluginFinderTest.java b/src/test/java/org/scijava/plugin/PluginFinderTest.java index 004165143..32514f731 100644 --- a/src/test/java/org/scijava/plugin/PluginFinderTest.java +++ b/src/test/java/org/scijava/plugin/PluginFinderTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/plugin/PluginIndexTest.java b/src/test/java/org/scijava/plugin/PluginIndexTest.java index 485484287..6452fffba 100644 --- a/src/test/java/org/scijava/plugin/PluginIndexTest.java +++ b/src/test/java/org/scijava/plugin/PluginIndexTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/plugin/PluginInfoTest.java b/src/test/java/org/scijava/plugin/PluginInfoTest.java index c7e2fbea5..49c7fa8bf 100644 --- a/src/test/java/org/scijava/plugin/PluginInfoTest.java +++ b/src/test/java/org/scijava/plugin/PluginInfoTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/plugin/SingletonServiceTest.java b/src/test/java/org/scijava/plugin/SingletonServiceTest.java index a4eabeec7..ca6e5a331 100644 --- a/src/test/java/org/scijava/plugin/SingletonServiceTest.java +++ b/src/test/java/org/scijava/plugin/SingletonServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/prefs/PrefServiceTest.java b/src/test/java/org/scijava/prefs/PrefServiceTest.java index 1f2ee361a..ff5de6fde 100644 --- a/src/test/java/org/scijava/prefs/PrefServiceTest.java +++ b/src/test/java/org/scijava/prefs/PrefServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/run/RunServiceTest.java b/src/test/java/org/scijava/run/RunServiceTest.java index 5b0189b7b..f7e908154 100644 --- a/src/test/java/org/scijava/run/RunServiceTest.java +++ b/src/test/java/org/scijava/run/RunServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/script/AbstractScriptLanguageTest.java b/src/test/java/org/scijava/script/AbstractScriptLanguageTest.java index 42d0a0707..9b8415054 100644 --- a/src/test/java/org/scijava/script/AbstractScriptLanguageTest.java +++ b/src/test/java/org/scijava/script/AbstractScriptLanguageTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/script/ScriptEngineTest.java b/src/test/java/org/scijava/script/ScriptEngineTest.java index 62914f64a..b10c6d3e8 100644 --- a/src/test/java/org/scijava/script/ScriptEngineTest.java +++ b/src/test/java/org/scijava/script/ScriptEngineTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/script/ScriptFinderTest.java b/src/test/java/org/scijava/script/ScriptFinderTest.java index 5c77988a6..f3301fec1 100644 --- a/src/test/java/org/scijava/script/ScriptFinderTest.java +++ b/src/test/java/org/scijava/script/ScriptFinderTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/script/ScriptInfoTest.java b/src/test/java/org/scijava/script/ScriptInfoTest.java index 53691a948..06231bb0e 100644 --- a/src/test/java/org/scijava/script/ScriptInfoTest.java +++ b/src/test/java/org/scijava/script/ScriptInfoTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/script/ScriptServiceTest.java b/src/test/java/org/scijava/script/ScriptServiceTest.java index f3dda2de3..b548ea74a 100644 --- a/src/test/java/org/scijava/script/ScriptServiceTest.java +++ b/src/test/java/org/scijava/script/ScriptServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/script/process/ParameterScriptProcessorTest.java b/src/test/java/org/scijava/script/process/ParameterScriptProcessorTest.java index 3256d6062..dbc1e0674 100644 --- a/src/test/java/org/scijava/script/process/ParameterScriptProcessorTest.java +++ b/src/test/java/org/scijava/script/process/ParameterScriptProcessorTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/service/ServiceIndexTest.java b/src/test/java/org/scijava/service/ServiceIndexTest.java index af260c4ca..44dc0c11e 100644 --- a/src/test/java/org/scijava/service/ServiceIndexTest.java +++ b/src/test/java/org/scijava/service/ServiceIndexTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/task/TaskEventTest.java b/src/test/java/org/scijava/task/TaskEventTest.java index fadecc683..9360fc6ad 100644 --- a/src/test/java/org/scijava/task/TaskEventTest.java +++ b/src/test/java/org/scijava/task/TaskEventTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/task/TaskServiceTest.java b/src/test/java/org/scijava/task/TaskServiceTest.java index 7f6705495..5f64642c0 100644 --- a/src/test/java/org/scijava/task/TaskServiceTest.java +++ b/src/test/java/org/scijava/task/TaskServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/test/AbstractSciJavaTest.java b/src/test/java/org/scijava/test/AbstractSciJavaTest.java index ae0e45338..b11a6e1d6 100644 --- a/src/test/java/org/scijava/test/AbstractSciJavaTest.java +++ b/src/test/java/org/scijava/test/AbstractSciJavaTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/test/TestUtilsTest.java b/src/test/java/org/scijava/test/TestUtilsTest.java index 31eee18d4..fd25f1cff 100644 --- a/src/test/java/org/scijava/test/TestUtilsTest.java +++ b/src/test/java/org/scijava/test/TestUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/text/TextServiceTest.java b/src/test/java/org/scijava/text/TextServiceTest.java index 974e0cbac..aa4b714c2 100644 --- a/src/test/java/org/scijava/text/TextServiceTest.java +++ b/src/test/java/org/scijava/text/TextServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/thread/ThreadServiceTest.java b/src/test/java/org/scijava/thread/ThreadServiceTest.java index 0e92db904..918dc33ea 100644 --- a/src/test/java/org/scijava/thread/ThreadServiceTest.java +++ b/src/test/java/org/scijava/thread/ThreadServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/ui/UIServiceTest.java b/src/test/java/org/scijava/ui/UIServiceTest.java index 815b186d4..b68068186 100644 --- a/src/test/java/org/scijava/ui/UIServiceTest.java +++ b/src/test/java/org/scijava/ui/UIServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/AppUtilsTest.java b/src/test/java/org/scijava/util/AppUtilsTest.java index ddf392bec..7018581b2 100644 --- a/src/test/java/org/scijava/util/AppUtilsTest.java +++ b/src/test/java/org/scijava/util/AppUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/ArrayUtilsTest.java b/src/test/java/org/scijava/util/ArrayUtilsTest.java index c31e809a1..befbf0697 100644 --- a/src/test/java/org/scijava/util/ArrayUtilsTest.java +++ b/src/test/java/org/scijava/util/ArrayUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/BoolArrayTest.java b/src/test/java/org/scijava/util/BoolArrayTest.java index 51c5f6b4c..c578dd824 100644 --- a/src/test/java/org/scijava/util/BoolArrayTest.java +++ b/src/test/java/org/scijava/util/BoolArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/ByteArrayTest.java b/src/test/java/org/scijava/util/ByteArrayTest.java index 31287b2a6..f4fa06ec5 100644 --- a/src/test/java/org/scijava/util/ByteArrayTest.java +++ b/src/test/java/org/scijava/util/ByteArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/CharArrayTest.java b/src/test/java/org/scijava/util/CharArrayTest.java index 343a64b80..2063c0a88 100644 --- a/src/test/java/org/scijava/util/CharArrayTest.java +++ b/src/test/java/org/scijava/util/CharArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/ClassUtilsTest.java b/src/test/java/org/scijava/util/ClassUtilsTest.java index 35e9c134e..11b469757 100644 --- a/src/test/java/org/scijava/util/ClassUtilsTest.java +++ b/src/test/java/org/scijava/util/ClassUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/ColorRGBTest.java b/src/test/java/org/scijava/util/ColorRGBTest.java index 4f3f68323..e461780a5 100644 --- a/src/test/java/org/scijava/util/ColorRGBTest.java +++ b/src/test/java/org/scijava/util/ColorRGBTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/ConversionUtilsTest.java b/src/test/java/org/scijava/util/ConversionUtilsTest.java index ac0abeaa9..ee5b548d9 100644 --- a/src/test/java/org/scijava/util/ConversionUtilsTest.java +++ b/src/test/java/org/scijava/util/ConversionUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/DigestUtilsTest.java b/src/test/java/org/scijava/util/DigestUtilsTest.java index 657ee757d..8f145181a 100644 --- a/src/test/java/org/scijava/util/DigestUtilsTest.java +++ b/src/test/java/org/scijava/util/DigestUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/DoubleArrayTest.java b/src/test/java/org/scijava/util/DoubleArrayTest.java index 093adb0a8..8f8c4aece 100644 --- a/src/test/java/org/scijava/util/DoubleArrayTest.java +++ b/src/test/java/org/scijava/util/DoubleArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/FileUtilsTest.java b/src/test/java/org/scijava/util/FileUtilsTest.java index 51f6286af..ebea6008c 100644 --- a/src/test/java/org/scijava/util/FileUtilsTest.java +++ b/src/test/java/org/scijava/util/FileUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/FloatArrayTest.java b/src/test/java/org/scijava/util/FloatArrayTest.java index b5bc6801e..cfa9d7f24 100644 --- a/src/test/java/org/scijava/util/FloatArrayTest.java +++ b/src/test/java/org/scijava/util/FloatArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/GenericArrayTypesTest.java b/src/test/java/org/scijava/util/GenericArrayTypesTest.java index 73e6046df..651b6b437 100644 --- a/src/test/java/org/scijava/util/GenericArrayTypesTest.java +++ b/src/test/java/org/scijava/util/GenericArrayTypesTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/IntArrayTest.java b/src/test/java/org/scijava/util/IntArrayTest.java index 33b515224..449621017 100644 --- a/src/test/java/org/scijava/util/IntArrayTest.java +++ b/src/test/java/org/scijava/util/IntArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/LastRecentlyUsedTest.java b/src/test/java/org/scijava/util/LastRecentlyUsedTest.java index 2d17082ba..a543f9830 100644 --- a/src/test/java/org/scijava/util/LastRecentlyUsedTest.java +++ b/src/test/java/org/scijava/util/LastRecentlyUsedTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/LongArrayTest.java b/src/test/java/org/scijava/util/LongArrayTest.java index 81f41c692..04401d197 100644 --- a/src/test/java/org/scijava/util/LongArrayTest.java +++ b/src/test/java/org/scijava/util/LongArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/NumberUtilsTest.java b/src/test/java/org/scijava/util/NumberUtilsTest.java index c838ccc89..2180767af 100644 --- a/src/test/java/org/scijava/util/NumberUtilsTest.java +++ b/src/test/java/org/scijava/util/NumberUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/ObjectArrayTest.java b/src/test/java/org/scijava/util/ObjectArrayTest.java index bb654fa0f..8bf3cae7e 100644 --- a/src/test/java/org/scijava/util/ObjectArrayTest.java +++ b/src/test/java/org/scijava/util/ObjectArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/POMTest.java b/src/test/java/org/scijava/util/POMTest.java index dad7a7aa7..b24fee5dc 100644 --- a/src/test/java/org/scijava/util/POMTest.java +++ b/src/test/java/org/scijava/util/POMTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/PrimitiveArrayTest.java b/src/test/java/org/scijava/util/PrimitiveArrayTest.java index 747b0fdac..cb76fac7c 100644 --- a/src/test/java/org/scijava/util/PrimitiveArrayTest.java +++ b/src/test/java/org/scijava/util/PrimitiveArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/ProcessUtilsTest.java b/src/test/java/org/scijava/util/ProcessUtilsTest.java index 2b717cb92..8b19a7cf7 100644 --- a/src/test/java/org/scijava/util/ProcessUtilsTest.java +++ b/src/test/java/org/scijava/util/ProcessUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/ShortArrayTest.java b/src/test/java/org/scijava/util/ShortArrayTest.java index e4d3f7ed6..cad66c41d 100644 --- a/src/test/java/org/scijava/util/ShortArrayTest.java +++ b/src/test/java/org/scijava/util/ShortArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/StringUtilsTest.java b/src/test/java/org/scijava/util/StringUtilsTest.java index 4fac7e5e7..30f99e02f 100644 --- a/src/test/java/org/scijava/util/StringUtilsTest.java +++ b/src/test/java/org/scijava/util/StringUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/TypesTest.java b/src/test/java/org/scijava/util/TypesTest.java index 21fce520d..4edebf7ff 100644 --- a/src/test/java/org/scijava/util/TypesTest.java +++ b/src/test/java/org/scijava/util/TypesTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/UnitUtilsTest.java b/src/test/java/org/scijava/util/UnitUtilsTest.java index e095f60a0..bfc2aa681 100644 --- a/src/test/java/org/scijava/util/UnitUtilsTest.java +++ b/src/test/java/org/scijava/util/UnitUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/VersionUtilsTest.java b/src/test/java/org/scijava/util/VersionUtilsTest.java index 7b0844225..a924049f8 100644 --- a/src/test/java/org/scijava/util/VersionUtilsTest.java +++ b/src/test/java/org/scijava/util/VersionUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/widget/WidgetStyleTest.java b/src/test/java/org/scijava/widget/WidgetStyleTest.java index 321342736..78f9c203d 100644 --- a/src/test/java/org/scijava/widget/WidgetStyleTest.java +++ b/src/test/java/org/scijava/widget/WidgetStyleTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2022 SciJava developers. + * Copyright (C) 2009 - 2023 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: From fe8297f49a35a286792a30519955acfa03882be2 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 24 Jan 2023 09:03:59 -0600 Subject: [PATCH 251/383] Bump to next development cycle Signed-off-by: Curtis Rueden --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index a7fe0d700..0cb3c152b 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.90.1-SNAPSHOT + 2.90.2-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From e8f6a8eda29211cd2701ca60429a40b1c05951a1 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 1 Feb 2023 10:29:28 -0600 Subject: [PATCH 252/383] Improve UIService headless mode and fix test After much hand-wringing, @hinerm and I gave up and decided to call java.awt.GraphicsEnvironment.isHeadless() to make sure the UIService reports the correct headless status. Otherwise, testing becomes very tricky with more edge cases, and more importantly, the UIService.isHeadless() method does not behave as one might expect. --- .../java/org/scijava/ui/DefaultUIService.java | 7 ++-- src/main/java/org/scijava/ui/UIService.java | 10 ++++- .../java/org/scijava/ui/UIServiceTest.java | 40 ++++++++++++++----- 3 files changed, 44 insertions(+), 13 deletions(-) diff --git a/src/main/java/org/scijava/ui/DefaultUIService.java b/src/main/java/org/scijava/ui/DefaultUIService.java index 7fdb36a70..4750f31ef 100644 --- a/src/main/java/org/scijava/ui/DefaultUIService.java +++ b/src/main/java/org/scijava/ui/DefaultUIService.java @@ -29,6 +29,7 @@ package org.scijava.ui; +import java.awt.GraphicsEnvironment; import java.io.File; import java.io.FileFilter; import java.util.ArrayList; @@ -191,9 +192,9 @@ public void setHeadless(final boolean headless) { @Override public boolean isHeadless() { - // NB: We do not use java.awt.GraphicsEnvironment.isHeadless() - // because scijava-common eschews java.awt.* classes when possible. - return forceHeadless || Boolean.getBoolean("java.awt.headless"); + return forceHeadless || + Boolean.getBoolean("java.awt.headless") || + GraphicsEnvironment.isHeadless(); } @Override diff --git a/src/main/java/org/scijava/ui/UIService.java b/src/main/java/org/scijava/ui/UIService.java index 20a9d8bfe..39563f8b4 100644 --- a/src/main/java/org/scijava/ui/UIService.java +++ b/src/main/java/org/scijava/ui/UIService.java @@ -119,7 +119,15 @@ public interface UIService extends SciJavaService { */ void setHeadless(boolean isHeadless); - /** Gets whether the UI is running in headless mode (no UI). */ + /** + * Gets whether the UI is running in headless mode (no UI). + *

    + * More precisely: returns true when {@code java.awt.headless} system + * property is set, and/or {@link java.awt.GraphicsEnvironment.isHeadless()} + * returns true, and/or {@link #setHeadless(boolean)} was called with {@code + * true} to force headless behavior in an otherwise headful environment. + *

    + */ boolean isHeadless(); /** diff --git a/src/test/java/org/scijava/ui/UIServiceTest.java b/src/test/java/org/scijava/ui/UIServiceTest.java index b68068186..89def4290 100644 --- a/src/test/java/org/scijava/ui/UIServiceTest.java +++ b/src/test/java/org/scijava/ui/UIServiceTest.java @@ -31,6 +31,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertSame; import static org.junit.Assert.assertTrue; import java.util.List; @@ -79,19 +80,40 @@ public void testAvailableUIs() { @Test public void testHeadlessUI() { + // If true here, before we messed with it, the assumption is that we are + // in a truly headless environment, not just forced via setHeadless(true). + boolean reallyHeadless = uiService.isHeadless(); + final MockUserInterface mockUI = new MockUserInterface(); uiService.setDefaultUI(mockUI); // test non-headless behavior - uiService.setHeadless(false); - assertFalse(uiService.isHeadless()); - assertTrue(uiService.getDefaultUI() instanceof MockUserInterface); - - // test headless behavior - uiService.setHeadless(true); - assertTrue(uiService.isHeadless()); - assertTrue("UIService should return HeadlessUI when running \"headless\"", - uiService.getDefaultUI() instanceof HeadlessUI); + if (reallyHeadless) { + // This environment is truly headless, and + // we should not be able to override it. + uiService.setHeadless(false); + assertTrue(uiService.isHeadless()); + assertTrue("UIService should return HeadlessUI when running \"headless\"", + uiService.getDefaultUI() instanceof HeadlessUI); + } + else { + // This environment is not headless! We can test more things. + assertSame("UIService default UI override failed", + mockUI, uiService.getDefaultUI()); + + // This environment isn't headless now; + // let's test overriding it to be so. + uiService.setHeadless(true); + assertTrue(uiService.isHeadless()); + assertTrue("UIService should return HeadlessUI when running \"headless\"", + uiService.getDefaultUI() instanceof HeadlessUI); + + // Now we put it back! + uiService.setHeadless(false); + assertFalse(uiService.isHeadless()); + assertSame("UIService default UI override was not restored", + mockUI, uiService.getDefaultUI()); + } } private static final class MockUserInterface extends AbstractUserInterface { From e9a41a4c917dddf2e8d9fadc4c3dbed48dd91d76 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 1 Feb 2023 13:04:18 -0600 Subject: [PATCH 253/383] StringToArrayConverterTest: avoid needless objects We can use the array classes directly, rather than reflectively instantiating and then throwing away array instances. --- .../convert/StringToArrayConverterTest.java | 31 +++++++++---------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/src/test/java/org/scijava/convert/StringToArrayConverterTest.java b/src/test/java/org/scijava/convert/StringToArrayConverterTest.java index 5e970dfb1..6947a2976 100644 --- a/src/test/java/org/scijava/convert/StringToArrayConverterTest.java +++ b/src/test/java/org/scijava/convert/StringToArrayConverterTest.java @@ -69,32 +69,31 @@ public void tearDown() { */ @Test public void testArrayConversion() { - // Component types for array conversions + // Array types for array conversions List> classes = Arrays.asList( // - byte.class, // - Byte.class, // - short.class, // - Short.class, // - int.class, // - Integer.class, // - long.class, // - Long.class, // - float.class, // - Float.class, // - double.class, // - Double.class // + byte[].class, // + Byte[].class, // + short[].class, // + Short[].class, // + int[].class, // + Integer[].class, // + long[].class, // + Long[].class, // + float[].class, // + Float[].class, // + double[].class, // + Double[].class // ); // String input String s = "{0, 1, 2}"; - for (Class c : classes) { - // Make the array class - Class arrayClass = Array.newInstance(c, 0).getClass(); + for (Class arrayClass : classes) { // Ensure our Converter can do the conversion Assert.assertTrue(converter.canConvert(s, arrayClass)); // Do the conversion Object converted = converter.convert(s, arrayClass); // Ensure the output is the expected type Assert.assertEquals(arrayClass, converted.getClass()); + Class c = arrayClass.getComponentType(); for (int i = 0; i < 3; i++) { // Ensure element correctness Object expected = convertService.convert(i, c); From 3be2646d6abf8bf0ac063dd3de4244c4bf814f34 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 1 Feb 2023 13:52:28 -0600 Subject: [PATCH 254/383] ConversionUtilsTest: rewrite testBadObjectElements This test is no longer applicable, at least with the current conversion logic that now handles arrays and collections as of #449 et al. There is a substantial discrepancy right now between what DefaultConverter reports as convertible via canConvert versus what it actually *does* support converting via the convert methods. But that's an issue for another day! --- .../org/scijava/util/ConversionUtilsTest.java | 36 +++++++++++++------ 1 file changed, 25 insertions(+), 11 deletions(-) diff --git a/src/test/java/org/scijava/util/ConversionUtilsTest.java b/src/test/java/org/scijava/util/ConversionUtilsTest.java index ee5b548d9..0549e637c 100644 --- a/src/test/java/org/scijava/util/ConversionUtilsTest.java +++ b/src/test/java/org/scijava/util/ConversionUtilsTest.java @@ -29,6 +29,7 @@ package org.scijava.util; +import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; @@ -43,7 +44,6 @@ import java.util.Set; import org.junit.Test; -import org.scijava.util.Types; /** * Tests {@link ConversionUtils}. @@ -254,23 +254,37 @@ class Struct { * and a collection. */ @Test - public void testBadObjectElements() { + public void testIncompatibleCollections() { class Struct { private Double[] doubleArray; - private List stringList; - @SuppressWarnings("unused") - private Set nestedArray; + private List numberList; + private Set setOfIntegerArrays; } final Struct struct = new Struct(); - // Test abnormal behavior for an object array - setFieldValue(struct, "doubleArray", "not a double array"); - assertEquals(null, struct.doubleArray); + // NB: DefaultConverter converts non-collection/array objects to + // collection/array objects, even if some or all of the constituent elements + // cannot be converted to the array/collection component/element type. - // Test abnormal behavior for a list - setFieldValue(struct, "nestedArray", "definitely not a set of char arrays"); - assertNull(struct.stringList); + // Test object to incompatible array type + setFieldValue(struct, "doubleArray", "not a double array"); + assertArrayEquals(new Double[] {null}, struct.doubleArray); + + // Test object to incompatible List type + setFieldValue(struct, "numberList", "not actually a list of numbers"); + List expectedList = Arrays.asList((Number) null); + assertEquals(expectedList, struct.numberList); + + // Test object to incompatible Set type + setFieldValue(struct, "setOfIntegerArrays", // + "definitely not a set of Integer[]"); + assertNotNull(struct.setOfIntegerArrays); + assertEquals(1, struct.setOfIntegerArrays.size()); + Integer[] singleton = struct.setOfIntegerArrays.iterator().next(); + assertNotNull(singleton); + assertEquals(1, singleton.length); + assertNull(singleton[0]); } /** From 4e40e04189cafcfad4c66357cbad17727dbf6325 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 1 Feb 2023 15:03:50 -0600 Subject: [PATCH 255/383] Add unit tests for DefaultConverter Many do not pass yet, and are commented out. But it's a start. See #450. --- .../scijava/convert/DefaultConverterTest.java | 268 ++++++++++++++++++ 1 file changed, 268 insertions(+) create mode 100644 src/test/java/org/scijava/convert/DefaultConverterTest.java diff --git a/src/test/java/org/scijava/convert/DefaultConverterTest.java b/src/test/java/org/scijava/convert/DefaultConverterTest.java new file mode 100644 index 000000000..599da290b --- /dev/null +++ b/src/test/java/org/scijava/convert/DefaultConverterTest.java @@ -0,0 +1,268 @@ +/*- + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2023 SciJava developers. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ +package org.scijava.convert; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertSame; +import static org.junit.Assert.assertTrue; + +import java.lang.reflect.Type; +import java.util.Collection; +import java.util.List; +import java.util.Set; + +import org.junit.Before; +import org.junit.Test; + +/** + * Tests {@link DefaultConverter}. + * + * @author Curtis Rueden + * */ +public class DefaultConverterTest { + private DefaultConverter converter; + + @Before + public void setUp() { + converter = new DefaultConverter(); + } + + // NB: The commented out tests do not currently pass, but many should. + // See: https://github.com/scijava/scijava-common/issues/450 + + @Test + public void testObjectToObjectArray() { + Object o = new Object(); +// assertTrue(converter.canConvert(o, Object[].class)); + Object[] result = converter.convert(o, Object[].class); + assertNotNull(result); + assertEquals(1, result.length); +// assertSame(o, result[0]); + } + + @Test + public void testIntToObjectArray() { + int v = 1; +// assertTrue(converter.canConvert(v, Object[].class)); + Object[] result = converter.convert(v, Object[].class); + assertNotNull(result); + assertEquals(1, result.length); +// assertSame(v, result[0]); + } + + @Test + public void testIntToPrimitiveIntArray() { + int v = 2; +// assertTrue(converter.canConvert(v, int[].class)); + int[] result = converter.convert(v, int[].class); + assertNotNull(result); + assertEquals(1, result.length); + assertSame(v, result[0]); + } + + @Test + public void testIntToBoxedIntegerArray() { + int v = 3; +// assertTrue(converter.canConvert(v, Integer[].class)); + Integer[] result = converter.convert(v, Integer[].class); + assertNotNull(result); + assertEquals(1, result.length); + assertSame(v, result[0]); + } + + @Test + public void testByteToPrimitiveDoubleArray() { + byte v = 4; +// assertTrue(converter.canConvert(v, double[].class)); + double[] result = converter.convert(v, double[].class); + assertNotNull(result); + assertEquals(1, result.length); + assertEquals(v, result[0], 0.0); + } + + @Test + public void testByteToBoxedDoubleArray() { + byte v = 4; +// assertTrue(converter.canConvert(v, Double[].class)); + Double[] result = converter.convert(v, Double[].class); + assertNotNull(result); + assertEquals(1, result.length); + assertEquals(v, result[0], 0.0); + } + + @Test + public void testStringToObjectArray() { + String s = "Pumpernickel"; +// assertTrue(converter.canConvert(s, Object[].class)); + Object[] result = converter.convert(s, Object[].class); + assertNotNull(result); + assertEquals(1, result.length); +// assertSame(s, result[0]); + } + + @Test + public void testStringToStringArray() { + String s = "smorgasbord"; +// assertTrue(converter.canConvert(s, String[].class)); + String[] result = converter.convert(s, String[].class); + assertNotNull(result); + assertEquals(1, result.length); + assertSame(s, result[0]); + } + + @Test + public void testObjectToCollection() throws NoSuchFieldException { + class Struct { + private Collection collectionOfObjects; + private List listOfObjects; + private List listOfStrings; + private List listOfDoubles; + private Set setOfObjects; + } + + Type collectionOfObjectsType = Struct.class.getDeclaredField("collectionOfObjects").getGenericType(); + Type listOfObjectsType = Struct.class.getDeclaredField("listOfObjects").getGenericType(); + Type listOfStringsType = Struct.class.getDeclaredField("listOfStrings").getGenericType(); + Type listOfDoublesType = Struct.class.getDeclaredField("listOfDoubles").getGenericType(); + Type setOfObjectsType = Struct.class.getDeclaredField("setOfObjects").getGenericType(); + + Object o = new Object(); +// assertTrue(converter.canConvert(o, collectionOfObjectsType)); + assertTrue(converter.canConvert(o, listOfObjectsType)); + assertTrue(converter.canConvert(o, listOfStringsType)); + assertTrue(converter.canConvert(o, listOfDoublesType)); + assertTrue(converter.canConvert(o, setOfObjectsType)); + +// assertCollection(o, converter.convert(o, collectionOfObjectsType), Collection.class); +// assertCollection(o, converter.convert(o, listOfObjectsType), List.class); +// assertCollection(o, converter.convert(o, listOfStringsType), List.class); +// assertCollection(o, converter.convert(o, listOfDoublesType), List.class); +// assertCollection(o, converter.convert(o, setOfObjectsType), Set.class); + + String s = "Thingamawhatsit"; +// assertTrue(converter.canConvert(s, collectionOfObjectsType)); + assertTrue(converter.canConvert(s, listOfObjectsType)); + assertTrue(converter.canConvert(s, listOfStringsType)); + assertTrue(converter.canConvert(s, listOfDoublesType)); + assertTrue(converter.canConvert(s, setOfObjectsType)); + +// assertCollection(s, converter.convert(s, collectionOfObjectsType), Collection.class); +// assertCollection(s, converter.convert(s, listOfObjectsType), List.class); + assertCollection(s, converter.convert(s, listOfStringsType), List.class); +// assertCollection(s, converter.convert(s, listOfDoublesType), List.class); +// assertCollection(s, converter.convert(s, setOfObjectsType), Set.class); + + // TODO: Test more things, covering the equivalent of all *To*Array above. + } + + @Test + public void testNumberToNumber() { + double d = -5.6; + assertTrue(converter.canConvert(d, int.class)); + assertEquals(-5, converter.convert(d, int.class), 0.0); + // TODO: Test many more combinations of numeric types. + } + + @Test + public void testObjectToString() { + Object friendly = new Object() { + @Override + public String toString() { return "Hello"; } + }; + assertTrue(converter.canConvert(friendly, String.class)); + assertEquals("Hello", converter.convert(friendly, String.class)); + } + + @Test + public void testStringToCharacter() { + String plan = "Step 0: there is no plan"; + + assertTrue(converter.canConvert(plan, char.class)); + assertEquals('S', (char) converter.convert(plan, char.class)); + + assertTrue(converter.canConvert(plan, Character.class)); + assertEquals(new Character('S'), converter.convert(plan, Character.class)); + } + + @Test + public void testStringToCharacterArray() { + String plan = "Step 0: there is no plan"; + +// assertTrue(converter.canConvert(plan, char[].class)); +// assertArrayEquals(plan.toCharArray(), converter.convert(plan, char[].class)); + // TODO: Test Character[] also. + } + + private enum Gem { + RUBY, DIAMOND, EMERALD; + } + + @Test + public void testStringToEnum() { + assertTrue(converter.canConvert("RUBY", Gem.class)); + assertTrue(converter.canConvert("DIAMOND", Gem.class)); + assertTrue(converter.canConvert("EMERALD", Gem.class)); + assertTrue(converter.canConvert("QUARTZ", Gem.class)); + assertEquals(Gem.RUBY, converter.convert("RUBY", Gem.class)); + assertEquals(Gem.DIAMOND, converter.convert("DIAMOND", Gem.class)); + assertEquals(Gem.EMERALD, converter.convert("EMERALD", Gem.class)); + assertNull(converter.convert("QUARTZ", Gem.class)); + } + + public static class StringWrapper { + public String s; + @SuppressWarnings("unused") + public StringWrapper(String s) { this.s = s; } + } + + @Test + public void testConstructorConversion() { + String s = "Juggernaut"; + assertTrue(converter.canConvert(s, StringWrapper.class)); + assertFalse(converter.canConvert(7, StringWrapper.class)); + StringWrapper sw = converter.convert(s, StringWrapper.class); + assertNotNull(sw); + assertSame(s, sw.s); + } + + // -- Helper methods -- + + private static void assertCollection(Object o, Object collection, + Class collectionClass) + { + assertNotNull(collection); + assertTrue(collectionClass.isInstance(collection)); + assertEquals(1, ((Collection) collection).size()); + assertSame(o, ((Collection) collection).iterator().next()); + } + +} From 8932051e3c276fc1811b62975d0f6d6934339dd1 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 1 Feb 2023 15:40:33 -0600 Subject: [PATCH 256/383] ConversionUtilsTest: make comparison more granular --- src/test/java/org/scijava/util/ConversionUtilsTest.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/test/java/org/scijava/util/ConversionUtilsTest.java b/src/test/java/org/scijava/util/ConversionUtilsTest.java index 0549e637c..3df7223ee 100644 --- a/src/test/java/org/scijava/util/ConversionUtilsTest.java +++ b/src/test/java/org/scijava/util/ConversionUtilsTest.java @@ -29,7 +29,6 @@ package org.scijava.util; -import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; @@ -269,7 +268,9 @@ class Struct { // Test object to incompatible array type setFieldValue(struct, "doubleArray", "not a double array"); - assertArrayEquals(new Double[] {null}, struct.doubleArray); + assertNotNull(struct.doubleArray); + assertEquals(1, struct.doubleArray.length); + assertNull(struct.doubleArray[0]); // Test object to incompatible List type setFieldValue(struct, "numberList", "not actually a list of numbers"); From 9934d04b5186445a676fe3378eb1c2c3c6747be5 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Thu, 2 Feb 2023 14:47:01 -0600 Subject: [PATCH 257/383] DefaultConverter: fix null primitive values bug If the destination type is a primitive, we cannot return null. We must return the designated null-like value for that type instead. --- src/main/java/org/scijava/convert/DefaultConverter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/scijava/convert/DefaultConverter.java b/src/main/java/org/scijava/convert/DefaultConverter.java index 5553fca8f..001948004 100644 --- a/src/main/java/org/scijava/convert/DefaultConverter.java +++ b/src/main/java/org/scijava/convert/DefaultConverter.java @@ -185,7 +185,7 @@ public T convert(final Object src, final Class dest) { catch (final Exception exc) { // TODO: Best not to catch blanket Exceptions here. // no known way to convert - return null; + return Types.nullValue(dest); } } From aa38136478f611f554a4babc8aead007df483813 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Thu, 2 Feb 2023 14:50:21 -0600 Subject: [PATCH 258/383] Rewrite the *other* testBadObjectElements Hooray for copy-pasted code. See 3be2646d6abf8bf0ac063dd3de4244c4bf814f34. --- .../scijava/convert/ConvertServiceTest.java | 43 +++++++++++++------ 1 file changed, 30 insertions(+), 13 deletions(-) diff --git a/src/test/java/org/scijava/convert/ConvertServiceTest.java b/src/test/java/org/scijava/convert/ConvertServiceTest.java index 5c15ae934..7e214a00c 100644 --- a/src/test/java/org/scijava/convert/ConvertServiceTest.java +++ b/src/test/java/org/scijava/convert/ConvertServiceTest.java @@ -37,10 +37,10 @@ import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; -import java.lang.reflect.Field; import java.lang.reflect.Type; import java.math.BigDecimal; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.Date; @@ -68,7 +68,6 @@ import org.scijava.util.ClassUtils; import org.scijava.util.DoubleArray; import org.scijava.util.FloatArray; -import org.scijava.util.GenericUtils; import org.scijava.util.IntArray; import org.scijava.util.LongArray; import org.scijava.util.PrimitiveArray; @@ -467,7 +466,9 @@ class Struct { final Struct struct = new Struct(); setFieldValue(struct, "intArray", "not an int array"); - assertEquals(null, struct.intArray); + assertNotNull(struct.intArray); + assertEquals(1, struct.intArray.length); + assertSame(0, struct.intArray[0]); } /** @@ -475,23 +476,39 @@ class Struct { * and a collection. */ @Test - public void testBadObjectElements() { + public void testIncompatibleCollections() { class Struct { private Double[] doubleArray; - private List stringList; - @SuppressWarnings("unused") - private Set nestedArray; + private List numberList; + private Set setOfIntegerArrays; } final Struct struct = new Struct(); - // Test abnormal behavior for an object array - setFieldValue(struct, "doubleArray", "not a double array"); - assertEquals(null, struct.doubleArray); + // NB: DefaultConverter converts non-collection/array objects to + // collection/array objects, even if some or all of the constituent elements + // cannot be converted to the array/collection component/element type. - // Test abnormal behavior for a list - setFieldValue(struct, "nestedArray", "definitely not a set of char arrays"); - assertNull(struct.stringList); + // Test object to incompatible array type + setFieldValue(struct, "doubleArray", "not a double array"); + assertNotNull(struct.doubleArray); + assertEquals(1, struct.doubleArray.length); + assertNull(struct.doubleArray[0]); + + // Test object to incompatible List type + setFieldValue(struct, "numberList", "not actually a list of numbers"); + List expectedList = Arrays.asList((Number) null); + assertEquals(expectedList, struct.numberList); + + // Test object to incompatible Set type + setFieldValue(struct, "setOfIntegerArrays", // + "definitely not a set of Integer[]"); + assertNotNull(struct.setOfIntegerArrays); + assertEquals(1, struct.setOfIntegerArrays.size()); + Integer[] singleton = struct.setOfIntegerArrays.iterator().next(); + assertNotNull(singleton); + assertEquals(1, singleton.length); + assertNull(singleton[0]); } /** From b483075adc2e6fcfbb5d849cc5c03c4f7a36db68 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Thu, 2 Feb 2023 14:51:16 -0600 Subject: [PATCH 259/383] ConversionUtils: remove unused import --- src/main/java/org/scijava/util/ConversionUtils.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/org/scijava/util/ConversionUtils.java b/src/main/java/org/scijava/util/ConversionUtils.java index 8e762c083..9d8dd1083 100644 --- a/src/main/java/org/scijava/util/ConversionUtils.java +++ b/src/main/java/org/scijava/util/ConversionUtils.java @@ -35,7 +35,6 @@ import org.scijava.convert.ConvertService; import org.scijava.convert.Converter; import org.scijava.convert.DefaultConverter; -import org.scijava.util.Types; /** @deprecated use {@link ConvertService} and {@link Types} */ @Deprecated From 30e52caf05b4e17adf9053a7fc3f3a6f32800b8c Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Thu, 2 Feb 2023 14:51:22 -0600 Subject: [PATCH 260/383] Stop assigning ConversionUtils delegates This logic is inherently unsound, because it pollutes static state. It changes the behavior of the ConversionUtils methods depending on whether a SciJava Context with a ConvertService has ever been instantiated, and depending on the available Converter plugins. With this logic removed, all tests now pass, and pass more consistently, wheras before, the ConversionUtilsTest would have all passing tests when run standalone, and failing test(s) when run as part of the suite. I'm aware that this change may break some things downstream. But because no unit tests exist here in scijava-common to catch those theoretical cases, we will just have to give it a try by making a release, and then address any issues arising afterward. --- .../scijava/convert/AbstractConvertService.java | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/src/main/java/org/scijava/convert/AbstractConvertService.java b/src/main/java/org/scijava/convert/AbstractConvertService.java index e9cd189e7..748c0c1a1 100644 --- a/src/main/java/org/scijava/convert/AbstractConvertService.java +++ b/src/main/java/org/scijava/convert/AbstractConvertService.java @@ -36,16 +36,16 @@ import java.util.Set; import org.scijava.plugin.AbstractHandlerService; -import org.scijava.util.ConversionUtils; /** - * Abstract superclass for {@link ConvertService} implementations. Sets this - * service as the active delegate service in {@link ConversionUtils}. + * Abstract superclass for {@link ConvertService} implementations. * * @author Mark Hiner */ -public abstract class AbstractConvertService extends AbstractHandlerService> - implements ConvertService { +public abstract class AbstractConvertService // + extends AbstractHandlerService> // + implements ConvertService +{ // -- ConversionService methods -- @SuppressWarnings({ "unchecked", "rawtypes" }) @@ -159,13 +159,6 @@ public Collection> getCompatibleOutputClasses(final Class source) { return compatibleClasses; } - // -- Service methods -- - - @Override - public void initialize() { - ConversionUtils.setDelegateService(this, getPriority()); - } - // -- Helper methods -- /** From 3cfcbb71f12741a560c8b58ec8b6172ad1a28459 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Thu, 2 Feb 2023 15:00:29 -0600 Subject: [PATCH 261/383] UIService: fix javadoc syntax error --- src/main/java/org/scijava/ui/UIService.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/scijava/ui/UIService.java b/src/main/java/org/scijava/ui/UIService.java index 39563f8b4..53debcf43 100644 --- a/src/main/java/org/scijava/ui/UIService.java +++ b/src/main/java/org/scijava/ui/UIService.java @@ -106,7 +106,7 @@ public interface UIService extends SciJavaService { *

    * Note that if the system itself is headless—which can be detected via * the {@code java.awt.headless} system property or by calling - * {@code java.awt.GraphicsEnvironment.isHeadless()}—then calling + * {@link java.awt.GraphicsEnvironment#isHeadless()}—then calling * {@code setHeadless(false)} will have no effect; the system will still be * headless, and {@link #isHeadless()} will still return true. *

    @@ -123,7 +123,7 @@ public interface UIService extends SciJavaService { * Gets whether the UI is running in headless mode (no UI). *

    * More precisely: returns true when {@code java.awt.headless} system - * property is set, and/or {@link java.awt.GraphicsEnvironment.isHeadless()} + * property is set, and/or {@link java.awt.GraphicsEnvironment#isHeadless()} * returns true, and/or {@link #setHeadless(boolean)} was called with {@code * true} to force headless behavior in an otherwise headful environment. *

    From 0a7ad5ad3619cf7c82e25494c0f4e52b85c18806 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Thu, 2 Feb 2023 15:06:57 -0600 Subject: [PATCH 262/383] Bump to next development cycle Signed-off-by: Curtis Rueden --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 0cb3c152b..e1829da67 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.90.2-SNAPSHOT + 2.90.3-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From 10d8be7ecb76fd4e4fd4b601a9609ed4faf30d44 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 15 Feb 2023 11:19:35 -0600 Subject: [PATCH 263/383] ScriptModule: guard against null conditions If a language isn't available to run the given script, say so. --- src/main/java/org/scijava/script/ScriptModule.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/scijava/script/ScriptModule.java b/src/main/java/org/scijava/script/ScriptModule.java index da4b10d9c..824e47e67 100644 --- a/src/main/java/org/scijava/script/ScriptModule.java +++ b/src/main/java/org/scijava/script/ScriptModule.java @@ -102,7 +102,16 @@ public void setErrorWriter(final Writer error) { /** Gets the script engine used to execute the script. */ public ScriptEngine getEngine() { if (scriptEngine == null) { - scriptEngine = getInfo().getLanguage().getScriptEngine(); + final ScriptInfo scriptInfo = getInfo(); + if (scriptInfo == null) { + throw new IllegalArgumentException("Invalid script"); + } + final ScriptLanguage scriptLang = scriptInfo.getLanguage(); + if (scriptLang == null) { + throw new IllegalArgumentException( + "No compatible script language available"); + } + scriptEngine = scriptLang.getScriptEngine(); } return scriptEngine; } From bdd6b1a9dec8cc2f8b39fa21dd14b417f5a11b73 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 15 Feb 2023 11:29:26 -0600 Subject: [PATCH 264/383] Add a CLI entry point for SciJava scripts See #451. --- .../java/org/scijava/script/ScriptCLI.java | 169 ++++++++++++++++++ 1 file changed, 169 insertions(+) create mode 100644 src/main/java/org/scijava/script/ScriptCLI.java diff --git a/src/main/java/org/scijava/script/ScriptCLI.java b/src/main/java/org/scijava/script/ScriptCLI.java new file mode 100644 index 000000000..ab6383b19 --- /dev/null +++ b/src/main/java/org/scijava/script/ScriptCLI.java @@ -0,0 +1,169 @@ +/* + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2023 SciJava developers. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ + +package org.scijava.script; + +import java.io.File; +import java.io.FileReader; +import java.io.InputStreamReader; +import java.io.Reader; +import java.util.HashMap; +import java.util.Map; +import java.util.Map.Entry; + +import org.scijava.Context; +import org.scijava.log.LogLevel; +import org.scijava.log.LogService; +import org.scijava.module.Module; + +/** + * A command-line entry point for running SciJava scripts. + * + * @author Curtis Rueden + */ +public class ScriptCLI { + + private static final String USAGE = "" + // + "Usage: " + ScriptCLI.class.getSimpleName() + // + " [-d] [-h] [-l language] [-o] [-r] /path/to/script [script-args]\n" + // + "\n" + // + "Options:\n" + // + " -d, --debug : enable debug-level log output\n" + // + " -h, --help : display this help message\n" + // + " -l, --language : specify language of script to execute\n" + // + " otherwise, inferred from script extension\n" + // + " -o, --print-outputs : print output values\n" + // + " -r, --print-return-value : print return value\n" + // + "\n" + // + "To read from stdin, use a dash (-) symbol for the script path.\n" + // + "\n" + // + "For script-args, give space-separated key=value pairs,\n" + // + "while will be passed in as SciJava script arguments."; + + public static void main(String... args) throws Exception { + final Map inputs = new HashMap<>(); + File file = null; + String language = null; + boolean printOutputs = false; + boolean printReturnValue = false; + boolean parsingOptions = true; + try (final Context context = new Context()) { + // Parse command-line arguments. + if (args.length == 0) args = new String[] {"-h"}; + for (int i = 0; i < args.length; i++) { + if (parsingOptions) { + // Parse options and filename. + if (args[i].equals("-d") || args[i].equals("--debug")) { + final LogService log = context.getService(LogService.class); + if (log != null) log.setLevel(LogLevel.DEBUG); + } + else if (args[i].equals("-h") || args[i].equals("--help")) { + System.err.println(USAGE); + System.exit(1); + } + else if (i < args.length - 1 && // + args[i].equals("-l") || args[i].equals("--language")) + { + language = args[++i]; + } + else if (args[i].equals("-o") || args[i].equals("--print-outputs")) { + printOutputs = true; + } + else if (args[i].equals("-r") || args[i].equals("--print-return-value")) { + printReturnValue = true; + } + else if (args[i].equals("-")) { + // read from stdin + parsingOptions = false; + } + else if (i < args.length - 1 && args[i].equals("--")) { + // argument after the -- separator must be the filename. + file = new File(args[++i]); + parsingOptions = false; + } + else if (new File(args[i]).exists()) { + file = new File(args[i]); + parsingOptions = false; + } + else { + System.err.println("Invalid argument: " + args[i]); + System.exit(2); + } + } + else { + // Parse script arguments. + final int equals = args[i].indexOf("="); + if (equals < 0) { + System.err.println("Invalid argument: " + args[i]); + System.exit(3); + } + final String key = args[i].substring(0, equals); + final String val = args[i].substring(equals + 1); + inputs.put(key, val); + } + } + + final ScriptService ss = context.getService(ScriptService.class); + if (ss == null) { + System.err.println("Error: No script service available."); + System.exit(4); + } + if (file == null && language == null) { + System.err.println("Error: Must specify language when using stdin."); + System.exit(5); + } + + final Module m; + if (language == null) { + m = ss.run(file, true, inputs).get(); + } + else { + ScriptLanguage lang = ss.getLanguageByName(language); + if (lang == null) lang = ss.getLanguageByExtension(language); + if (lang == null) { + System.err.println("Error: Unsupported language: " + language); + System.exit(6); + } + final Reader reader = file == null ? // + new InputStreamReader(System.in) : // + new FileReader(file); + m = ss.run("." + language, reader, true, inputs).get(); + } + if (printOutputs) { + for (Entry output : m.getOutputs().entrySet()) { + System.out.println(output.getKey() + " = " + output.getValue()); + } + } + if (printReturnValue && m instanceof ScriptModule) { + System.out.println(((ScriptModule) m).getReturnValue()); + } + } + System.exit(0); + } +} From fae4829ccdf9f5c3a83cf82029b5347de2aa1e69 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 22 Feb 2023 14:00:34 -0600 Subject: [PATCH 265/383] LastRecentlyUsed: fix bug in replace function Closes #453. --- src/main/java/org/scijava/util/LastRecentlyUsed.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/scijava/util/LastRecentlyUsed.java b/src/main/java/org/scijava/util/LastRecentlyUsed.java index 5bbe3cacc..2e485bf22 100644 --- a/src/main/java/org/scijava/util/LastRecentlyUsed.java +++ b/src/main/java/org/scijava/util/LastRecentlyUsed.java @@ -143,7 +143,7 @@ public boolean replace(final int index, T newValue) { throw new IllegalArgumentException("No current entry at position " + index); } - if (newValue.equals(previous)) return false; + if (newValue.equals(previousValue)) return false; map.remove(previousValue); map.put(newValue, index); entries[index] = newValue; From f6856fd34f8d77ac26293b874db5b788af62d8d5 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Thu, 23 Feb 2023 15:23:30 -0600 Subject: [PATCH 266/383] POM: bump minor version digit The ScriptCLI class is new public API. --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index e1829da67..ba2c4afa9 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.90.3-SNAPSHOT + 2.91.0-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From a23583a92e8fd460c8f39f91a295ea421b2d0230 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 28 Feb 2023 15:06:44 -0600 Subject: [PATCH 267/383] Fix many conversion-related issues * Refactor DefaultConverter, fixing many bugs, and updating unit tests accordingly. * Uncomment tests in DefaultConverterTest, which now pass. * Undeprecate canConvert methods with Class src. There is no replacement when an object of the source type is not available. * Make ConversionUtils better match ConvertService. It now uses the list of built-in converters that are part of SciJava Common, in the same order they are used as Converter plugins. * Clean up conversion-related classes: * Add missing final keywords, fix warnings, and clean up style. * Update javadoc comments to be more accurate in more places. * Fix NullConverter to take precedence iff src and/or dest is null. --- .../convert/ArrayToStringConverter.java | 67 +++--- .../org/scijava/convert/CastingConverter.java | 28 +-- .../convert/DefaultConvertService.java | 2 +- .../org/scijava/convert/DefaultConverter.java | 219 +++++++----------- .../scijava/convert/FileListConverters.java | 9 +- .../scijava/convert/FileToPathConverter.java | 2 +- .../org/scijava/convert/NullConverter.java | 33 +-- .../convert/NumberToNumberConverter.java | 10 +- .../scijava/convert/PathToFileConverter.java | 4 +- .../convert/PrimitiveArrayUnwrapper.java | 2 +- .../java/org/scijava/util/ArrayUtils.java | 2 +- .../org/scijava/util/ConversionUtils.java | 80 +++++-- .../java/org/scijava/util/ObjectArray.java | 2 - .../scijava/convert/ConvertServiceTest.java | 51 ++-- .../org/scijava/convert/ConverterTest.java | 3 +- .../scijava/convert/DefaultConverterTest.java | 81 ++++--- .../org/scijava/util/ConversionUtilsTest.java | 27 ++- 17 files changed, 310 insertions(+), 312 deletions(-) diff --git a/src/main/java/org/scijava/convert/ArrayToStringConverter.java b/src/main/java/org/scijava/convert/ArrayToStringConverter.java index 820f818cf..c9dc10014 100644 --- a/src/main/java/org/scijava/convert/ArrayToStringConverter.java +++ b/src/main/java/org/scijava/convert/ArrayToStringConverter.java @@ -37,12 +37,11 @@ import org.scijava.plugin.Parameter; import org.scijava.plugin.Plugin; import org.scijava.util.ArrayUtils; -import org.scijava.util.Types; /** - * A {@link Converter} that specializes in converting - * n-dimensional arrays into {@link String}s. This {@link Converter} can convert any array whose - * component types can be converted into {@link String}s. By default, this + * A {@link Converter} that specializes in converting n-dimensional arrays into + * {@link String}s. This {@link Converter} can convert any array whose component + * types can be converted into {@link String}s. By default, this * {@link Converter} delimits the array elements with commas. * * @author Gabriel Selzer @@ -53,39 +52,39 @@ public class ArrayToStringConverter extends AbstractConverter { @Parameter(required = false) private ConvertService convertService; - @Override public boolean canConvert(final Class src, final Class dest) { - if (src == null) return false; - final Class saneSrc = Types.box(src); - final Class saneDest = Types.box(dest); - return saneSrc.isArray() && saneDest == String.class; + @Override + public boolean canConvert(final Class src, final Class dest) { + return src != null && src.isArray() && dest == String.class; } - @Override public boolean canConvert(final Object src, final Class dest) { - if (convertService == null) return false; + @Override + public boolean canConvert(final Object src, final Class dest) { + if (convertService == null || src == null) return false; if (!canConvert(src.getClass(), dest)) return false; if (Array.getLength(src) == 0) return true; return convertService.supports(Array.get(src, 0), dest); } @Override - public Object convert(Object src, Type dest) { + public Object convert(Object src, final Type dest) { // Preprocess the "string-likes" - if (src.getClass().equals(String[].class) || // - src.getClass().equals(Character[].class) || // - src.getClass().equals(char[].class)) // + final Class srcClass = src.getClass(); + if (srcClass == String[].class || // + srcClass == Character[].class || // + srcClass == char[].class) // { src = preprocessCharacters(src); } // Convert each element to Strings - String elementString = ArrayUtils.toCollection(src).stream() // + final String elementString = ArrayUtils.toCollection(src).stream() // .map(object -> convertService.convert(object, String.class)) // .collect(Collectors.joining(", ")); return "{" + elementString + "}"; } private String[] preprocessStrings(final Object src) { - int numElements = Array.getLength(src); - String[] processed = new String[numElements]; + final int numElements = Array.getLength(src); + final String[] processed = new String[numElements]; for (int i = 0; i < numElements; i++) { processed[i] = preprocessString(Array.get(src, i)); } @@ -93,37 +92,37 @@ private String[] preprocessStrings(final Object src) { } private String preprocessString(final Object o) { - String s; - if (o == null) { - return null; - } else { - s = o.toString(); - s = s.replace("\\", "\\\\"); - s = s.replace("\"", "\\\""); - } + if (o == null) return null; + String s = o.toString(); + s = s.replace("\\", "\\\\"); + s = s.replace("\"", "\\\""); return "\"" + s + "\""; } private String[] preprocessCharacters(Object src) { - String[] processed = new String[Array.getLength(src)]; + final String[] processed = new String[Array.getLength(src)]; for (int i = 0; i < processed.length; i++) { - Object value = Array.get(src, i); + final Object value = Array.get(src, i); processed[i] = value == null ? null : value.toString(); } return preprocessStrings(processed); } - @SuppressWarnings("unchecked") @Override - public T convert(Object src, Class dest) { - return (T) convert(src, (Type) dest); + @Override + public T convert(final Object src, final Class dest) { + final Type destType = dest; + @SuppressWarnings("unchecked") + final T converted = (T) convert(src, destType); + return converted; } - @Override public Class getOutputType() { + @Override + public Class getOutputType() { return String.class; } - @Override public Class getInputType() { + @Override + public Class getInputType() { return Object.class; } - } diff --git a/src/main/java/org/scijava/convert/CastingConverter.java b/src/main/java/org/scijava/convert/CastingConverter.java index f1d67493e..fbd62a7bc 100644 --- a/src/main/java/org/scijava/convert/CastingConverter.java +++ b/src/main/java/org/scijava/convert/CastingConverter.java @@ -28,6 +28,8 @@ */ package org.scijava.convert; +import java.lang.reflect.Type; + import org.scijava.Priority; import org.scijava.plugin.Plugin; import org.scijava.util.Types; @@ -37,7 +39,7 @@ * * @author Mark Hiner */ -@Plugin(type = Converter.class, priority = Priority.EXTREMELY_HIGH) +@Plugin(type = Converter.class, priority = Priority.EXTREMELY_HIGH - 1) public class CastingConverter extends AbstractConverter { @Override @@ -46,25 +48,23 @@ public boolean canConvert(final Object src, final Class dest) { } @Override - public boolean canConvert(final Class src, final Class dest) { + public boolean canConvert(final Class src, final Type dest) { // OK if the existing object can be casted return dest != null && Types.isAssignable(src, dest); } - @SuppressWarnings("unchecked") + @Override + public boolean canConvert(final Class src, final Class dest) { + // NB: Invert functional flow from Converter interface: + // Converter: canConvert(Class, Type) -> canConvert(Class, Class) + // becomes: canConvert(Class, Class) -> canConvert(Class, Type) + final Type destType = dest; + return canConvert(src, destType); + } + @Override public T convert(final Object src, final Class dest) { - // NB: Regardless of whether the destination type is an array or - // collection, we still want to cast directly if doing so is possible. - // But note that in general, this check does not detect cases of - // incompatible generic parameter types. If this limitation becomes a - // problem in the future we can extend the logic here to provide - // additional signatures of canCast which operate on Types in general - // rather than only Classes. However, the logic could become complex - // very quickly in various subclassing cases, generic parameters - // resolved vs. propagated, etc. - final Class c = Types.raw(dest); - return (T) Types.cast(src, c); + return Types.cast(src, dest); } @Override diff --git a/src/main/java/org/scijava/convert/DefaultConvertService.java b/src/main/java/org/scijava/convert/DefaultConvertService.java index c642be048..f36d9fd9e 100644 --- a/src/main/java/org/scijava/convert/DefaultConvertService.java +++ b/src/main/java/org/scijava/convert/DefaultConvertService.java @@ -40,5 +40,5 @@ @Plugin(type = Service.class) public class DefaultConvertService extends AbstractConvertService { - // Trivial implementation + // NB: No implementation needed. } diff --git a/src/main/java/org/scijava/convert/DefaultConverter.java b/src/main/java/org/scijava/convert/DefaultConverter.java index 001948004..00d4e1a50 100644 --- a/src/main/java/org/scijava/convert/DefaultConverter.java +++ b/src/main/java/org/scijava/convert/DefaultConverter.java @@ -31,19 +31,21 @@ import java.lang.reflect.Array; import java.lang.reflect.Constructor; +import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Modifier; -import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; +import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Collection; -import java.util.HashSet; +import java.util.Deque; +import java.util.LinkedHashSet; import java.util.List; +import java.util.Queue; import java.util.Set; import org.scijava.Priority; import org.scijava.plugin.Plugin; import org.scijava.util.ArrayUtils; -import org.scijava.util.ConversionUtils; import org.scijava.util.Types; /** @@ -73,6 +75,11 @@ public class DefaultConverter extends AbstractConverter { @Override public Object convert(final Object src, final Type dest) { + // special case: CharSequence -> char[] + // otherwise, String -> char[] ends up length 1 with first char only + if (src instanceof CharSequence && dest == char[].class) { + return ((CharSequence) src).toString().toCharArray(); + } // Handle array types, including generic array types. final Type componentType = Types.component(dest); @@ -81,66 +88,34 @@ public Object convert(final Object src, final Type dest) { return convertToArray(src, Types.raw(componentType)); } - // Handle parameterized collection types. - if (dest instanceof ParameterizedType && isCollection(dest)) { - return convertToCollection(src, (ParameterizedType) dest); + // Handle collection types, either raw or parameterized. + Class cClass = collectionClass(dest); + if (cClass != null) { + Type elementType = Types.param(dest, Collection.class, 0); + if (elementType == null) elementType = Object.class; // raw collection + final Object collection = convertToCollection(src, cClass, elementType); + if (collection != null) return collection; + // NB: If this conversion failed, it might still succeed later + // when looking for a wrapping constructor. So let's keep going. + // In particular, see ConvertServiceTest#testConvertSubclass(). } - // This wasn't a collection or array, so convert it as a single element. - return convert(src, Types.raw(dest)); - } + // Ensure type is a well-behaved class, rather than a primitive type. + final Class destClass = Types.raw(dest); + final Class saneDest = Types.box(destClass); - @Override - public T convert(final Object src, final Class dest) { - // ensure type is well-behaved, rather than a primitive type - final Class saneDest = Types.box(dest); - - // Handle array types - if (isArray(dest)) { - @SuppressWarnings("unchecked") - T array = (T) convertToArray(src, Types.raw(Types.component(dest))); - return array; - } + // Object is already the requested type. + if (Types.isInstance(src, saneDest)) return src; // special case for conversion from number to number if (src instanceof Number) { final Number number = (Number) src; - if (saneDest == Byte.class) { - final Byte result = number.byteValue(); - @SuppressWarnings("unchecked") - final T typedResult = (T) result; - return typedResult; - } - if (saneDest == Double.class) { - final Double result = number.doubleValue(); - @SuppressWarnings("unchecked") - final T typedResult = (T) result; - return typedResult; - } - if (saneDest == Float.class) { - final Float result = number.floatValue(); - @SuppressWarnings("unchecked") - final T typedResult = (T) result; - return typedResult; - } - if (saneDest == Integer.class) { - final Integer result = number.intValue(); - @SuppressWarnings("unchecked") - final T typedResult = (T) result; - return typedResult; - } - if (saneDest == Long.class) { - final Long result = number.longValue(); - @SuppressWarnings("unchecked") - final T typedResult = (T) result; - return typedResult; - } - if (saneDest == Short.class) { - final Short result = number.shortValue(); - @SuppressWarnings("unchecked") - final T typedResult = (T) result; - return typedResult; - } + if (saneDest == Byte.class) return number.byteValue(); + if (saneDest == Double.class) return number.doubleValue(); + if (saneDest == Float.class) return number.floatValue(); + if (saneDest == Integer.class) return number.intValue(); + if (saneDest == Long.class) return number.longValue(); + if (saneDest == Short.class) return number.shortValue(); } // special cases for strings @@ -149,46 +124,55 @@ public T convert(final Object src, final Class dest) { final String s = (String) src; if (s.isEmpty()) { // return null for empty strings - return Types.nullValue(dest); + return Types.nullValue(saneDest); } // use first character when converting to Character if (saneDest == Character.class) { - final Character c = new Character(s.charAt(0)); - @SuppressWarnings("unchecked") - final T result = (T) c; - return result; + return new Character(s.charAt(0)); } // special case for conversion to enum - if (dest.isEnum()) { - final T result = ConversionUtils.convertToEnum(s, dest); - if (result != null) return result; + if (saneDest.isEnum()) { + try { + return Types.enumValue(s, saneDest); + } + catch (final IllegalArgumentException exc) { + // NB: No action needed. + } } } + if (saneDest == String.class) { // destination type is String; use Object.toString() method - final String sValue = src.toString(); - @SuppressWarnings("unchecked") - final T result = (T) sValue; - return result; + return src.toString(); } // wrap the original object with one of the new type, using a constructor try { final Constructor ctor = getConstructor(saneDest, src.getClass()); if (ctor == null) return null; - @SuppressWarnings("unchecked") - final T instance = (T) ctor.newInstance(src); - return instance; + return ctor.newInstance(src); } - catch (final Exception exc) { - // TODO: Best not to catch blanket Exceptions here. + catch (final InstantiationException | IllegalAccessException + | IllegalArgumentException | InvocationTargetException exc) + { // no known way to convert - return Types.nullValue(dest); + return Types.nullValue(destClass); } } + @Override + public T convert(final Object src, final Class dest) { + // NB: Invert functional flow from Converter interface: + // Converter: convert(Class, Type) calling convert(Class, Class) + // becomes: convert(Class, Class) calling convert(Class, Type) + final Type destType = dest; + @SuppressWarnings("unchecked") + final T result = (T) convert(src, destType); + return result; + } + @Override public Class getOutputType() { return Object.class; @@ -219,8 +203,10 @@ private boolean isArray(final Type type) { return Types.component(type) != null; } - private boolean isCollection(final Type type) { - return Types.isAssignable(Types.raw(type), Collection.class); + private Class collectionClass(final Type type) { + return Types.raws(type).stream() // + .filter(t -> Types.isAssignable(t, Collection.class)) // + .findFirst().orElse(null); } private Object @@ -244,34 +230,32 @@ private boolean isCollection(final Type type) { } private Object convertToCollection(final Object value, - final ParameterizedType pType) + final Class collectionType, final Type elementType) { - final Collection collection = createCollection(Types.raw(pType)); + final Collection collection = createCollection(collectionType); if (collection == null) return null; // Populate the collection. final Collection items = ArrayUtils.toCollection(value); - // TODO: The following can fail; e.g. "Foo extends ArrayList" - final Type collectionType = pType.getActualTypeArguments()[0]; for (final Object item : items) { - collection.add(convert(item, collectionType)); + collection.add(convert(item, elementType)); } return collection; } - private Collection createCollection(final Class type) { - // If we were given an interface or abstract class, and not a concrete - // class, we attempt to make default implementations. - if (type.isInterface() || Modifier.isAbstract(type.getModifiers())) { - // We don't have a concrete class. If it's a set or a list, we use - // the typical default implementation. Otherwise we won't convert. - if (Types.isAssignable(type, List.class)) return new ArrayList<>(); - if (Types.isAssignable(type, Set.class)) return new HashSet<>(); + private Collection createCollection(Class type) { + // Support conversion to common collection interface types. + if (type == Queue.class || type == Deque.class) type = ArrayDeque.class; + else if (type == Set.class) type = LinkedHashSet.class; + else if (type == List.class || type == Collection.class) type = ArrayList.class; + else if (type.isInterface() || Modifier.isAbstract(type.getModifiers())) { + // We were given an interface or abstract class, and not a concrete + // class, and we don't know what default implementation to use. return null; } - // Got a concrete type. Instantiate it. + // We now have a concrete type. Instantiate it. try { @SuppressWarnings("unchecked") final Collection c = (Collection) type.newInstance(); @@ -288,66 +272,37 @@ private Collection createCollection(final Class type) { // -- Deprecated API -- @Override - @Deprecated - public boolean canConvert(final Class src, final Type dest) { - - // Handle array types, including generic array types. - // The logic follows from the types that ArrayUtils.toCollection - // can convert - if (isArray(dest)){ - // toCollection handles any type of Collection - if (Collection.class.isAssignableFrom(src)) return true; - // toCollection handles any type of array - if (src.isArray()) return true; - // toCollection can wrap objects into a Singleton list, - // but we only want to wrap up a T if the dest type is a T[]. - return Types.isAssignable(src, Types.component(dest)); - } - - // Handle parameterized collection types. - if (dest instanceof ParameterizedType && isCollection(dest) && - createCollection(Types.raw(dest)) != null) - { - return true; - } - - return super.canConvert(src, dest); - } - - @Override - @Deprecated public boolean canConvert(final Class src, final Class dest) { + // OK for array and collection types. + if (isArray(dest)) return true; + Class cClass = collectionClass(dest); + if (cClass != null && createCollection(cClass) != null) return true; + // ensure type is well-behaved, rather than a primitive type final Class saneDest = Types.box(dest); // OK for numerical conversions if (Types.isAssignable(Types.box(src), Number.class) && // - (Types.isByte(dest) || Types.isDouble(dest) || Types.isFloat(dest) || - Types.isInteger(dest) || Types.isLong(dest) || Types.isShort(dest))) + (Types.isByte(saneDest) || Types.isDouble(saneDest) || // + Types.isFloat(saneDest) || Types.isInteger(saneDest) || // + Types.isLong(saneDest) || Types.isShort(saneDest))) { return true; } - + // OK if string if (saneDest == String.class) return true; - + if (Types.isAssignable(src, String.class)) { // OK if source type is string and destination type is character // (in this case, the first character of the string would be used) if (saneDest == Character.class) return true; - + // OK if source type is string and destination type is an enum if (dest.isEnum()) return true; } - + // OK if appropriate wrapper constructor exists - try { - return getConstructor(saneDest, src) != null; - } - catch (final Exception exc) { - // TODO: Best not to catch blanket Exceptions here. - // no known way to convert - return false; - } + return getConstructor(saneDest, src) != null; } } diff --git a/src/main/java/org/scijava/convert/FileListConverters.java b/src/main/java/org/scijava/convert/FileListConverters.java index 7c65900b2..d9cc1173f 100644 --- a/src/main/java/org/scijava/convert/FileListConverters.java +++ b/src/main/java/org/scijava/convert/FileListConverters.java @@ -35,7 +35,6 @@ import java.util.List; import java.util.stream.Collectors; -import org.scijava.Priority; import org.scijava.plugin.Plugin; import org.scijava.util.StringUtils; @@ -49,7 +48,7 @@ public class FileListConverters { // -- String to File (list) converters -- - @Plugin(type = Converter.class, priority = Priority.NORMAL) + @Plugin(type = Converter.class) public static class StringToFileConverter extends AbstractConverter { @@ -72,7 +71,7 @@ public Class getInputType() { } - @Plugin(type = Converter.class, priority = Priority.NORMAL) + @Plugin(type = Converter.class) public static class StringToFileArrayConverter extends AbstractConverter { @@ -104,7 +103,7 @@ public Class getInputType() { // -- File (list) to String converters -- - @Plugin(type = Converter.class, priority = Priority.NORMAL) + @Plugin(type = Converter.class) public static class FileToStringConverter extends AbstractConverter { @@ -127,7 +126,7 @@ public Class getInputType() { } - @Plugin(type = Converter.class, priority = Priority.NORMAL) + @Plugin(type = Converter.class) public static class FileArrayToStringConverter extends AbstractConverter { diff --git a/src/main/java/org/scijava/convert/FileToPathConverter.java b/src/main/java/org/scijava/convert/FileToPathConverter.java index 235c18661..70a295bdb 100644 --- a/src/main/java/org/scijava/convert/FileToPathConverter.java +++ b/src/main/java/org/scijava/convert/FileToPathConverter.java @@ -44,7 +44,7 @@ public class FileToPathConverter extends AbstractConverter { @SuppressWarnings("unchecked") @Override - public T convert(Object src, Class dest) { + public T convert(final Object src, final Class dest) { File f = (File) src; return (T) f.toPath(); } diff --git a/src/main/java/org/scijava/convert/NullConverter.java b/src/main/java/org/scijava/convert/NullConverter.java index f375f99ea..0ea6e9f97 100644 --- a/src/main/java/org/scijava/convert/NullConverter.java +++ b/src/main/java/org/scijava/convert/NullConverter.java @@ -36,54 +36,44 @@ import org.scijava.util.Types; /** - * {@link Converter} implementation for handling {@code null} values. Performs - * basic casting when given a {@code null} source and returns {@code null} - * directly when given a {@code null} destination. + * {@link Converter} implementation for handling {@code null} values. Returns + * {@code null} when given a {@code null} source or {@code null} destination. *

    - * By running at {@link Priority#FIRST}, other converters should - * not need to worry about {@code null} source or destination parameters. - *

    - *

    - * NB: if a {@link Class} source is queried for the {@link #canConvert}, - * this converter will always return false (as there is no way of knowing - * if the source object will be null or not). + * By running at {@link Priority#EXTREMELY_HIGH}, other converters should not + * need to worry about {@code null} source or destination parameters. *

    * * @author Mark Hiner */ -@Plugin(type = Converter.class, priority = Priority.FIRST) +@Plugin(type = Converter.class, priority = Priority.EXTREMELY_HIGH) public class NullConverter extends AbstractConverter { @Override - public boolean canConvert(final ConversionRequest request) { - if (request == null) return false; - return (request.destType() == null && request.destClass() == null) || - (request.sourceObject() == null && request.sourceClass() == null); + public boolean canConvert(final Object src, final Type dest) { + return src == null || dest == null; } @Override - public boolean canConvert(final Object src, final Type dest) { + public boolean canConvert(final Object src, final Class dest) { return src == null || dest == null; } @Override - public boolean canConvert(final Object src, final Class dest) { + public boolean canConvert(final Class src, final Type dest) { return src == null || dest == null; } @Override public boolean canConvert(final Class src, final Class dest) { - if (src == null) return false; - return dest == null; + return src == null || dest == null; } @Override public T convert(final Object src, final Class dest) { if (dest == null) return null; if (src == null) return Types.nullValue(dest); - throw new IllegalArgumentException("Attempting non-null conversion: " + - src + " > " + dest + " using NullConverter."); + src + " -> " + dest + " using NullConverter."); } @Override @@ -95,5 +85,4 @@ public Class getOutputType() { public Class getInputType() { return Object.class; } - } diff --git a/src/main/java/org/scijava/convert/NumberToNumberConverter.java b/src/main/java/org/scijava/convert/NumberToNumberConverter.java index 01d092acf..f99af2e1a 100644 --- a/src/main/java/org/scijava/convert/NumberToNumberConverter.java +++ b/src/main/java/org/scijava/convert/NumberToNumberConverter.java @@ -43,11 +43,11 @@ public abstract class NumberToNumberConverter T convert(final Object src, final Class dest) { - if (src == null || dest == null) throw new IllegalArgumentException( - "Null input"); + if (src == null || dest == null) // + throw new IllegalArgumentException("Null input"); if (!getInputType().isInstance(src)) { throw new IllegalArgumentException("Expected input of type " + - getInputType().getSimpleName() + ", but got " + + getInputType().getSimpleName() + ", but got " + // src.getClass().getSimpleName()); } if (Types.box(dest) != getOutputType()) { @@ -55,7 +55,9 @@ public T convert(final Object src, final Class dest) { "Expected output class of " + getOutputType().getSimpleName() + ", but got " + dest.getSimpleName()); } - return (T) convert((Number) src); + @SuppressWarnings("unchecked") + final T result = (T) convert((Number) src); + return result; } public abstract O convert(Number n); diff --git a/src/main/java/org/scijava/convert/PathToFileConverter.java b/src/main/java/org/scijava/convert/PathToFileConverter.java index d50b10a29..3b793ae8e 100644 --- a/src/main/java/org/scijava/convert/PathToFileConverter.java +++ b/src/main/java/org/scijava/convert/PathToFileConverter.java @@ -44,8 +44,8 @@ public class PathToFileConverter extends AbstractConverter { @SuppressWarnings("unchecked") @Override - public T convert(Object src, Class dest) { - Path p = (Path) src; + public T convert(final Object src, final Class dest) { + final Path p = (Path) src; return (T) p.toFile(); } diff --git a/src/main/java/org/scijava/convert/PrimitiveArrayUnwrapper.java b/src/main/java/org/scijava/convert/PrimitiveArrayUnwrapper.java index ebc1a138a..5fb595290 100644 --- a/src/main/java/org/scijava/convert/PrimitiveArrayUnwrapper.java +++ b/src/main/java/org/scijava/convert/PrimitiveArrayUnwrapper.java @@ -41,7 +41,7 @@ public abstract class PrimitiveArrayUnwrapper T convert(Object src, Class dest) { + public T convert(final Object src, final Class dest) { final W primitiveArray = (W) src; return (T) primitiveArray.getArray(); diff --git a/src/main/java/org/scijava/util/ArrayUtils.java b/src/main/java/org/scijava/util/ArrayUtils.java index d25c2ffa0..6ce46c43e 100644 --- a/src/main/java/org/scijava/util/ArrayUtils.java +++ b/src/main/java/org/scijava/util/ArrayUtils.java @@ -88,7 +88,7 @@ public static T[] array(final T... values) { * object is an array type, a {@link PrimitiveArray} wrapper will be created. */ public static Collection toCollection(final Object value) { - // If the value is null or we we have a collection, just return it + // If the value is null or we have a collection, just return it if (value == null || Collection.class.isAssignableFrom(value.getClass())) { return (Collection) value; } diff --git a/src/main/java/org/scijava/util/ConversionUtils.java b/src/main/java/org/scijava/util/ConversionUtils.java index 9d8dd1083..b3662eaa2 100644 --- a/src/main/java/org/scijava/util/ConversionUtils.java +++ b/src/main/java/org/scijava/util/ConversionUtils.java @@ -30,21 +30,66 @@ package org.scijava.util; import java.lang.reflect.Type; +import java.util.Arrays; +import java.util.List; import org.scijava.convert.ConversionRequest; import org.scijava.convert.ConvertService; import org.scijava.convert.Converter; -import org.scijava.convert.DefaultConverter; /** @deprecated use {@link ConvertService} and {@link Types} */ @Deprecated public class ConversionUtils { - private static ConvertService convertService; - - private static Converter converterNoContext; - - private static double servicePriority = 0.0; + private static List> converters = Arrays.asList( + new org.scijava.convert.NullConverter(), + new org.scijava.convert.CastingConverter(), + new org.scijava.convert.ArrayConverters.BoolArrayUnwrapper(), + new org.scijava.convert.ArrayConverters.BoolArrayWrapper(), + new org.scijava.convert.ArrayConverters.ByteArrayUnwrapper(), + new org.scijava.convert.ArrayConverters.ByteArrayWrapper(), + new org.scijava.convert.ArrayConverters.CharArrayUnwrapper(), + new org.scijava.convert.ArrayConverters.CharArrayWrapper(), + new org.scijava.convert.ArrayConverters.DoubleArrayUnwrapper(), + new org.scijava.convert.ArrayConverters.DoubleArrayWrapper(), + new org.scijava.convert.ArrayConverters.FloatArrayUnwrapper(), + new org.scijava.convert.ArrayConverters.FloatArrayWrapper(), + new org.scijava.convert.ArrayConverters.IntArrayUnwrapper(), + new org.scijava.convert.ArrayConverters.IntArrayWrapper(), + new org.scijava.convert.ArrayConverters.LongArrayUnwrapper(), + new org.scijava.convert.ArrayConverters.LongArrayWrapper(), + new org.scijava.convert.ArrayConverters.ShortArrayUnwrapper(), + new org.scijava.convert.ArrayConverters.ShortArrayWrapper(), + new org.scijava.convert.FileListConverters.FileArrayToStringConverter(), + new org.scijava.convert.FileListConverters.FileToStringConverter(), + new org.scijava.convert.FileListConverters.StringToFileArrayConverter(), + new org.scijava.convert.FileListConverters.StringToFileConverter(), + new org.scijava.convert.NumberConverters.BigIntegerToBigDecimalConverter(), + new org.scijava.convert.NumberConverters.ByteToBigDecimalConverter(), + new org.scijava.convert.NumberConverters.ByteToBigIntegerConverter(), + new org.scijava.convert.NumberConverters.ByteToDoubleConverter(), + new org.scijava.convert.NumberConverters.ByteToFloatConverter(), + new org.scijava.convert.NumberConverters.ByteToIntegerConverter(), + new org.scijava.convert.NumberConverters.ByteToLongConverter(), + new org.scijava.convert.NumberConverters.ByteToShortConverter(), + new org.scijava.convert.NumberConverters.DoubleToBigDecimalConverter(), + new org.scijava.convert.NumberConverters.FloatToBigDecimalConverter(), + new org.scijava.convert.NumberConverters.FloatToDoubleConverter(), + new org.scijava.convert.NumberConverters.IntegerToBigDecimalConverter(), + new org.scijava.convert.NumberConverters.IntegerToBigIntegerConverter(), + new org.scijava.convert.NumberConverters.IntegerToDoubleConverter(), + new org.scijava.convert.NumberConverters.IntegerToLongConverter(), + new org.scijava.convert.NumberConverters.LongToBigDecimalConverter(), + new org.scijava.convert.NumberConverters.LongToBigIntegerConverter(), + new org.scijava.convert.NumberConverters.ShortToBigDecimalConverter(), + new org.scijava.convert.NumberConverters.ShortToBigIntegerConverter(), + new org.scijava.convert.NumberConverters.ShortToDoubleConverter(), + new org.scijava.convert.NumberConverters.ShortToFloatConverter(), + new org.scijava.convert.NumberConverters.ShortToIntegerConverter(), + new org.scijava.convert.NumberConverters.ShortToLongConverter(), + new org.scijava.convert.StringToNumberConverter(), + new org.scijava.convert.DefaultConverter() + ); private ConversionUtils() { // prevent instantiation of utility class @@ -52,18 +97,13 @@ private ConversionUtils() { // -- ConvertService setter -- - /** - * Sets the {@link ConvertService} to use for handling conversion requests. - */ + /** @deprecated This method should not be used anymore. */ + @Deprecated + @SuppressWarnings("unused") public static void setDelegateService(final ConvertService convertService, final double priority) { - if (ConversionUtils.convertService == null || Double.compare(priority, - servicePriority) > 0) - { - ConversionUtils.convertService = convertService; - servicePriority = priority; - } + // NB: This method is now a no-op. } // -- Deprecated methods -- @@ -208,17 +248,11 @@ public static T getNullValue(final Class type) { // -- Helper methods -- /** - * Gets the {@link Converter} to use for the given conversion request. If the - * delegate {@link ConvertService} has not been explicitly set, then a - * {@link DefaultConverter} will be used. + * Gets the {@link Converter} to use for the given conversion request. * * @return The {@link Converter} to use for handling the given request. */ private static Converter handler(final ConversionRequest data) { - if (convertService != null) return convertService.getHandler(data); - - if (converterNoContext == null) converterNoContext = new DefaultConverter(); - - return converterNoContext; + return converters.stream().filter(c -> c.supports(data)).findFirst().orElse(null); } } diff --git a/src/main/java/org/scijava/util/ObjectArray.java b/src/main/java/org/scijava/util/ObjectArray.java index bb238b288..44e4dfce3 100644 --- a/src/main/java/org/scijava/util/ObjectArray.java +++ b/src/main/java/org/scijava/util/ObjectArray.java @@ -32,8 +32,6 @@ import java.util.Arrays; import java.util.Collection; -import org.scijava.util.Types; - /** * An extensible, generic array of {@code Object} elements. Note that this class * is a {@link PrimitiveArray} but of course Objects are not primitives. diff --git a/src/test/java/org/scijava/convert/ConvertServiceTest.java b/src/test/java/org/scijava/convert/ConvertServiceTest.java index 7e214a00c..e870723e8 100644 --- a/src/test/java/org/scijava/convert/ConvertServiceTest.java +++ b/src/test/java/org/scijava/convert/ConvertServiceTest.java @@ -35,7 +35,6 @@ import static org.junit.Assert.assertNull; import static org.junit.Assert.assertSame; import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; import java.lang.reflect.Type; import java.math.BigDecimal; @@ -86,6 +85,7 @@ public class ConvertServiceTest { @Before public void setUp() { + @SuppressWarnings("resource") final Context context = new Context(ConvertService.class); convertService = context.getService(ConvertService.class); } @@ -154,8 +154,14 @@ public void testArrays() { testIntechangeable(char[].class, CharArray.class); testIntechangeable(boolean[].class, BoolArray.class); - // Test that primitive [] can not be converted to mismatched PrimitiveArray - assertFalse(convertService.supports(int[].class, LongArray.class)); + // Test that primitive [] can be cross-converted to mismatched PrimitiveArray + assertTrue(convertService.supports(int[].class, LongArray.class)); + final LongArray crossConverted = // + convertService.convert(new int[] {2, 3, 5}, LongArray.class); + assertEquals(3, crossConverted.size()); + assertEquals(2L, (long) crossConverted.get(0)); + assertEquals(3L, (long) crossConverted.get(1)); + assertEquals(5L, (long) crossConverted.get(2)); // Test that lists can be converted to any primitive [] final List list = new ArrayList<>(); @@ -219,8 +225,10 @@ public void testCanConvert() { assertTrue(convertService.supports(HashSet.class, ArrayList.class)); assertTrue(convertService.supports(long.class, Date.class)); + // check conversion to collection type + assertTrue(convertService.supports(Collection.class, List.class)); + // check lack of conversion of various types w/o appropriate constructor - assertFalse(convertService.supports(Collection.class, List.class)); assertFalse(convertService.supports(int.class, Date.class)); } @@ -334,19 +342,11 @@ public void testConvertSubclass() { assertEquals("Bar", objectToHisList.get(1)); // ArrayList subclass to ArrayList subclass - // This surprisingly works due to type erasure... dangerous stuff. final NumberList hisToNumberList = convertService.convert(hisList, NumberList.class); assertEquals(2, hisToNumberList.size()); - assertEquals("Foo", hisToNumberList.get(0)); - assertEquals("Bar", hisToNumberList.get(1)); - try { - final Number n0 = hisToNumberList.get(0); - fail("expected ClassCastException but got: " + n0); - } - catch (final ClassCastException exc) { - // NB: Exception expected. - } + assertNull(hisToNumberList.get(0)); + assertNull(hisToNumberList.get(1)); } /** @@ -397,11 +397,15 @@ class Struct { assertEquals(123456789012.0, struct.myDoubles.get(0), 0.0); assertEquals(987654321098.0, struct.myDoubles.get(1), 0.0); - // Conversion to a list of strings (with no generic parameter) fails. + // Conversion to a list of strings (with no generic parameter) succeeds. setFieldValue(struct, "myStrings", longArray); - assertNull(struct.myStrings); + assertNotNull(struct.myStrings); + System.out.println(struct.myStrings); + assertEquals(2, struct.myStrings.size()); + assertEquals("123456789012", struct.myStrings.get(0)); + assertEquals("987654321098", struct.myStrings.get(1)); } /** @@ -460,7 +464,6 @@ class Struct { public void testBadPrimitiveArray() { class Struct { - @SuppressWarnings("unused") private int[] intArray; } final Struct struct = new Struct(); @@ -741,11 +744,8 @@ private List getValueList(final T... values) { * Helper class for testing conversion of one {@link ArrayList} subclass to * another. */ - public static class HisList extends ArrayList { - public HisList() { - super(); - } - public HisList(final Collection c) { + public static class HerList extends ArrayList { + public HerList(final Collection c) { super(c); } } @@ -754,8 +754,11 @@ public HisList(final Collection c) { * Helper class for testing conversion of one {@link ArrayList} subclass to * another. */ - public static class HerList extends ArrayList { - public HerList(final Collection c) { + public static class HisList extends ArrayList { + public HisList() { + super(); + } + public HisList(final Collection c) { super(c); } } diff --git a/src/test/java/org/scijava/convert/ConverterTest.java b/src/test/java/org/scijava/convert/ConverterTest.java index 873be832a..27ae140b3 100644 --- a/src/test/java/org/scijava/convert/ConverterTest.java +++ b/src/test/java/org/scijava/convert/ConverterTest.java @@ -57,13 +57,12 @@ public class ConverterTest { /** * Test case for the {@link NullConverter} */ - @SuppressWarnings("deprecation") @Test public void testNullConverter() { final NullConverter nc = new NullConverter(); assertFalse(nc.canConvert(Object.class, Object.class)); assertFalse(nc.canConvert(Object.class, (Type) Object.class)); - assertFalse(nc.canConvert((Class) null, Object.class)); + assertTrue(nc.canConvert((Class) null, Object.class)); assertTrue(nc.canConvert((Object) null, Object.class)); assertTrue(nc.canConvert((ConverterTest) null, ArrayList.class)); assertNull(nc.convert((Object) null, Object.class)); diff --git a/src/test/java/org/scijava/convert/DefaultConverterTest.java b/src/test/java/org/scijava/convert/DefaultConverterTest.java index 599da290b..06394fafe 100644 --- a/src/test/java/org/scijava/convert/DefaultConverterTest.java +++ b/src/test/java/org/scijava/convert/DefaultConverterTest.java @@ -28,6 +28,7 @@ */ package org.scijava.convert; +import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; @@ -56,33 +57,31 @@ public void setUp() { converter = new DefaultConverter(); } - // NB: The commented out tests do not currently pass, but many should. - // See: https://github.com/scijava/scijava-common/issues/450 - @Test public void testObjectToObjectArray() { Object o = new Object(); -// assertTrue(converter.canConvert(o, Object[].class)); + assertTrue(converter.canConvert(o, Object[].class)); Object[] result = converter.convert(o, Object[].class); assertNotNull(result); assertEquals(1, result.length); -// assertSame(o, result[0]); + assertSame(o, result[0]); } @Test public void testIntToObjectArray() { int v = 1; -// assertTrue(converter.canConvert(v, Object[].class)); + assertTrue(converter.canConvert(v, Object[].class)); Object[] result = converter.convert(v, Object[].class); assertNotNull(result); assertEquals(1, result.length); -// assertSame(v, result[0]); + assertSame(v, result[0]); } @Test public void testIntToPrimitiveIntArray() { int v = 2; -// assertTrue(converter.canConvert(v, int[].class)); + assertTrue(converter.supports(new ConversionRequest(v, int[].class))); + assertTrue(converter.canConvert(v, int[].class)); int[] result = converter.convert(v, int[].class); assertNotNull(result); assertEquals(1, result.length); @@ -92,7 +91,7 @@ public void testIntToPrimitiveIntArray() { @Test public void testIntToBoxedIntegerArray() { int v = 3; -// assertTrue(converter.canConvert(v, Integer[].class)); + assertTrue(converter.canConvert(v, Integer[].class)); Integer[] result = converter.convert(v, Integer[].class); assertNotNull(result); assertEquals(1, result.length); @@ -102,7 +101,7 @@ public void testIntToBoxedIntegerArray() { @Test public void testByteToPrimitiveDoubleArray() { byte v = 4; -// assertTrue(converter.canConvert(v, double[].class)); + assertTrue(converter.canConvert(v, double[].class)); double[] result = converter.convert(v, double[].class); assertNotNull(result); assertEquals(1, result.length); @@ -112,7 +111,7 @@ public void testByteToPrimitiveDoubleArray() { @Test public void testByteToBoxedDoubleArray() { byte v = 4; -// assertTrue(converter.canConvert(v, Double[].class)); + assertTrue(converter.canConvert(v, Double[].class)); Double[] result = converter.convert(v, Double[].class); assertNotNull(result); assertEquals(1, result.length); @@ -122,17 +121,17 @@ public void testByteToBoxedDoubleArray() { @Test public void testStringToObjectArray() { String s = "Pumpernickel"; -// assertTrue(converter.canConvert(s, Object[].class)); + assertTrue(converter.canConvert(s, Object[].class)); Object[] result = converter.convert(s, Object[].class); assertNotNull(result); assertEquals(1, result.length); -// assertSame(s, result[0]); + assertSame(s, result[0]); } @Test public void testStringToStringArray() { String s = "smorgasbord"; -// assertTrue(converter.canConvert(s, String[].class)); + assertTrue(converter.canConvert(s, String[].class)); String[] result = converter.convert(s, String[].class); assertNotNull(result); assertEquals(1, result.length); @@ -141,6 +140,7 @@ public void testStringToStringArray() { @Test public void testObjectToCollection() throws NoSuchFieldException { + @SuppressWarnings("unused") class Struct { private Collection collectionOfObjects; private List listOfObjects; @@ -148,7 +148,7 @@ class Struct { private List listOfDoubles; private Set setOfObjects; } - + Type collectionOfObjectsType = Struct.class.getDeclaredField("collectionOfObjects").getGenericType(); Type listOfObjectsType = Struct.class.getDeclaredField("listOfObjects").getGenericType(); Type listOfStringsType = Struct.class.getDeclaredField("listOfStrings").getGenericType(); @@ -156,30 +156,39 @@ class Struct { Type setOfObjectsType = Struct.class.getDeclaredField("setOfObjects").getGenericType(); Object o = new Object(); -// assertTrue(converter.canConvert(o, collectionOfObjectsType)); + + assertTrue(converter.canConvert(o, Collection.class)); + assertTrue(converter.canConvert(o, List.class)); + assertTrue(converter.canConvert(o, Set.class)); + + assertCollection(o, o, converter.convert(o, Collection.class), Collection.class); + assertCollection(o, o, converter.convert(o, List.class), List.class); + assertCollection(o, o, converter.convert(o, Set.class), Set.class); + + assertTrue(converter.canConvert(o, collectionOfObjectsType)); assertTrue(converter.canConvert(o, listOfObjectsType)); assertTrue(converter.canConvert(o, listOfStringsType)); assertTrue(converter.canConvert(o, listOfDoublesType)); assertTrue(converter.canConvert(o, setOfObjectsType)); -// assertCollection(o, converter.convert(o, collectionOfObjectsType), Collection.class); -// assertCollection(o, converter.convert(o, listOfObjectsType), List.class); -// assertCollection(o, converter.convert(o, listOfStringsType), List.class); -// assertCollection(o, converter.convert(o, listOfDoublesType), List.class); -// assertCollection(o, converter.convert(o, setOfObjectsType), Set.class); + assertCollection(o, o, converter.convert(o, collectionOfObjectsType), Collection.class); + assertCollection(o, o, converter.convert(o, listOfObjectsType), List.class); + assertCollection(o, o.toString(), converter.convert(o, listOfStringsType), List.class); + assertCollection(o, null, converter.convert(o, listOfDoublesType), List.class); + assertCollection(o, o, converter.convert(o, setOfObjectsType), Set.class); String s = "Thingamawhatsit"; -// assertTrue(converter.canConvert(s, collectionOfObjectsType)); + assertTrue(converter.canConvert(s, collectionOfObjectsType)); assertTrue(converter.canConvert(s, listOfObjectsType)); assertTrue(converter.canConvert(s, listOfStringsType)); assertTrue(converter.canConvert(s, listOfDoublesType)); assertTrue(converter.canConvert(s, setOfObjectsType)); -// assertCollection(s, converter.convert(s, collectionOfObjectsType), Collection.class); -// assertCollection(s, converter.convert(s, listOfObjectsType), List.class); - assertCollection(s, converter.convert(s, listOfStringsType), List.class); -// assertCollection(s, converter.convert(s, listOfDoublesType), List.class); -// assertCollection(s, converter.convert(s, setOfObjectsType), Set.class); + assertCollection(s, s, converter.convert(s, collectionOfObjectsType), Collection.class); + assertCollection(s, s, converter.convert(s, listOfObjectsType), List.class); + assertCollection(s, s, converter.convert(s, listOfStringsType), List.class); + assertCollection(s, null, converter.convert(s, listOfDoublesType), List.class); + assertCollection(s, s, converter.convert(s, setOfObjectsType), Set.class); // TODO: Test more things, covering the equivalent of all *To*Array above. } @@ -217,9 +226,11 @@ public void testStringToCharacter() { public void testStringToCharacterArray() { String plan = "Step 0: there is no plan"; -// assertTrue(converter.canConvert(plan, char[].class)); -// assertArrayEquals(plan.toCharArray(), converter.convert(plan, char[].class)); - // TODO: Test Character[] also. + assertTrue(converter.canConvert(plan, char[].class)); + final char[] converted = converter.convert(plan, char[].class); + assertArrayEquals(plan.toCharArray(), converted); + + // NB: Conversion to Character[] does not work the same way. } private enum Gem { @@ -240,7 +251,6 @@ public void testStringToEnum() { public static class StringWrapper { public String s; - @SuppressWarnings("unused") public StringWrapper(String s) { this.s = s; } } @@ -256,13 +266,14 @@ public void testConstructorConversion() { // -- Helper methods -- - private static void assertCollection(Object o, Object collection, - Class collectionClass) + private static void assertCollection(Object o, Object expected, + Object collection, Class collectionClass) { assertNotNull(collection); assertTrue(collectionClass.isInstance(collection)); assertEquals(1, ((Collection) collection).size()); - assertSame(o, ((Collection) collection).iterator().next()); + Object actual = ((Collection) collection).iterator().next(); + if (o == expected) assertSame(expected, actual); + else assertEquals(expected, actual); // o was converted to element type } - } diff --git a/src/test/java/org/scijava/util/ConversionUtilsTest.java b/src/test/java/org/scijava/util/ConversionUtilsTest.java index 3df7223ee..a6a49d3b3 100644 --- a/src/test/java/org/scijava/util/ConversionUtilsTest.java +++ b/src/test/java/org/scijava/util/ConversionUtilsTest.java @@ -177,11 +177,14 @@ class Struct { assertEquals(123456789012.0, struct.myDoubles.get(0), 0.0); assertEquals(987654321098.0, struct.myDoubles.get(1), 0.0); - // Conversion to a list of strings (with no generic parameter) fails. + // Conversion to a list of strings (with no generic parameter) succeeds. setFieldValue(struct, "myStrings", longArray); - assertNull(struct.myStrings); + assertNotNull(struct.myStrings); + assertEquals(2, struct.myStrings.size()); + assertEquals("123456789012", struct.myStrings.get(0)); + assertEquals("987654321098", struct.myStrings.get(1)); } /** @@ -239,7 +242,6 @@ class Struct { public void testBadPrimitiveArray() { class Struct { - @SuppressWarnings("unused") private int[] intArray; } final Struct struct = new Struct(); @@ -256,7 +258,8 @@ class Struct { public void testIncompatibleCollections() { class Struct { - private Double[] doubleArray; + private double[] primitiveDoubleArray; + private Double[] boxedDoubleArray; private List numberList; private Set setOfIntegerArrays; } @@ -266,11 +269,17 @@ class Struct { // collection/array objects, even if some or all of the constituent elements // cannot be converted to the array/collection component/element type. - // Test object to incompatible array type - setFieldValue(struct, "doubleArray", "not a double array"); - assertNotNull(struct.doubleArray); - assertEquals(1, struct.doubleArray.length); - assertNull(struct.doubleArray[0]); + // Test object to incompatible primitive array type + setFieldValue(struct, "primitiveDoubleArray", "not a double array"); + assertNotNull(struct.primitiveDoubleArray); + assertEquals(1, struct.primitiveDoubleArray.length); + assertEquals(0.0, struct.primitiveDoubleArray[0], 0.0); + + // Test object to incompatible non-primitive array type + setFieldValue(struct, "boxedDoubleArray", "not a double array"); + assertNotNull(struct.boxedDoubleArray); + assertEquals(1, struct.boxedDoubleArray.length); + assertNull(struct.boxedDoubleArray[0]); // Test object to incompatible List type setFieldValue(struct, "numberList", "not actually a list of numbers"); From 279415d7295c2518b4158316ab1d5d5591c0fbb2 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 28 Feb 2023 15:11:55 -0600 Subject: [PATCH 268/383] Push abstract class methods up to default methods Move abstract method implementations from AbstractConverter to Converter, and from AbstractConvertService to ConvertService. --- .../convert/AbstractConvertService.java | 130 +--------------- .../scijava/convert/AbstractConverter.java | 92 +---------- .../org/scijava/convert/ConvertService.java | 146 +++++++++++++----- .../java/org/scijava/convert/Converter.java | 146 ++++++++++++------ 4 files changed, 213 insertions(+), 301 deletions(-) diff --git a/src/main/java/org/scijava/convert/AbstractConvertService.java b/src/main/java/org/scijava/convert/AbstractConvertService.java index 748c0c1a1..15f7812c8 100644 --- a/src/main/java/org/scijava/convert/AbstractConvertService.java +++ b/src/main/java/org/scijava/convert/AbstractConvertService.java @@ -29,12 +29,6 @@ package org.scijava.convert; -import java.lang.reflect.Type; -import java.util.Collection; -import java.util.HashSet; -import java.util.LinkedHashSet; -import java.util.Set; - import org.scijava.plugin.AbstractHandlerService; /** @@ -46,127 +40,5 @@ public abstract class AbstractConvertService // extends AbstractHandlerService> // implements ConvertService { - - // -- ConversionService methods -- - @SuppressWarnings({ "unchecked", "rawtypes" }) - @Override - public Class> getPluginType() { - return (Class) Converter.class; - } - - @Override - public Class getType() { - return ConversionRequest.class; - } - - @Override - public Converter getHandler(final Object src, final Class dest) { - return getHandler(new ConversionRequest(src, dest)); - } - - @Override - public Converter getHandler(final Class src, final Class dest) { - return getHandler(new ConversionRequest(src, dest)); - } - - @Override - public Converter getHandler(final Object src, final Type dest) { - return getHandler(new ConversionRequest(src, dest)); - } - - @Override - public Converter getHandler(final Class src, final Type dest) { - return getHandler(new ConversionRequest(src, dest)); - } - - @Override - public boolean supports(final Object src, final Class dest) { - return supports(new ConversionRequest(src, dest)); - } - - @Override - public boolean supports(final Class src, final Class dest) { - return supports(new ConversionRequest(src, dest)); - } - - @Override - public boolean supports(final Object src, final Type dest) { - return supports(new ConversionRequest(src, dest)); - } - - @Override - public boolean supports(final Class src, final Type dest) { - return supports(new ConversionRequest(src, dest)); - } - - @Override - public Collection getCompatibleInputs(final Class dest) { - final Set objects = new LinkedHashSet<>(); - - for (final Converter c : getInstances()) { - if (dest.isAssignableFrom(c.getOutputType())) { - c.populateInputCandidates(objects); - } - } - - return objects; - } - - @Override - public Object convert(final Object src, final Type dest) { - return convert(new ConversionRequest(src, dest)); - } - - @Override - public T convert(final Object src, final Class dest) { - // NB: repeated code with convert(ConversionRequest), because the - // handler's convert method respects the T provided - final Converter handler = getHandler(src, dest); - return handler == null ? null : handler.convert(src, dest); - } - - @Override - public Object convert(final ConversionRequest request) { - final Converter handler = getHandler(request); - return handler == null ? null : handler.convert(request); - } - - @Override - public Collection> getCompatibleInputClasses(final Class dest) { - final Set> compatibleClasses = new HashSet<>(); - - for (final Converter converter : getInstances()) { - addIfMatches(dest, converter.getOutputType(), converter.getInputType(), compatibleClasses); - } - - return compatibleClasses; - } - - @Override - public Collection> getCompatibleOutputClasses(final Class source) { - final Set> compatibleClasses = new HashSet<>(); - - for (final Converter converter : getInstances()) { - try { - addIfMatches(source, converter.getInputType(), converter.getOutputType(), compatibleClasses); - } - catch (final Throwable t) { - log().error("Malfunctioning converter plugin: " + // - converter.getClass().getName(), t); - } - } - - return compatibleClasses; - } - - // -- Helper methods -- - - /** - * Test two classes; if they match, a third class is added to the provided - * set of classes. - */ - private void addIfMatches(final Class c1, final Class c2, final Class toAdd, final Set> classes) { - if (c1 == c2) - classes.add(toAdd); - } + // NB: This layer remains merely for backwards compatibility. } diff --git a/src/main/java/org/scijava/convert/AbstractConverter.java b/src/main/java/org/scijava/convert/AbstractConverter.java index 244ca88bc..7a7a429f6 100644 --- a/src/main/java/org/scijava/convert/AbstractConverter.java +++ b/src/main/java/org/scijava/convert/AbstractConverter.java @@ -29,37 +29,17 @@ package org.scijava.convert; -import java.lang.reflect.Type; import java.util.Collection; import org.scijava.object.ObjectService; import org.scijava.plugin.AbstractHandlerPlugin; import org.scijava.plugin.Parameter; -import org.scijava.util.Types; /** * Abstract superclass for {@link Converter} plugins. Performs appropriate * dispatching of {@link #canConvert(ConversionRequest)} and * {@link #convert(ConversionRequest)} calls based on the actual state of the * given {@link ConversionRequest}. - *

    - * Note that the {@link #supports(ConversionRequest)} method is overridden as - * well, to delegate to the appropriate {@link #canConvert}. - *

    - *

    - * NB: by default, the {@link #populateInputCandidates(Collection)} method has a - * dummy implementation. Effectively, this is opt-in behavior. If a converter - * implementation would like to suggest candidates for conversion, this method - * can be overridden. - *

    - *

    - * NB: by default, the provied {@link #canConvert} methods will return - * {@code false} if the input is {@code null}. This allows {@link Converter} - * implementors to assume any input is non-{@code null} - but this behavior is - * overridden. Casting {@code null Object} inputs is handled by the - * {@link NullConverter}, while {@code null class} inputs are handled by the - * {@link DefaultConverter}. - *

    * * @author Mark Hiner */ @@ -72,59 +52,7 @@ public abstract class AbstractConverter extends @Parameter(required = false) private ObjectService objectService; - // -- ConversionHandler methods -- - - @Override - public boolean canConvert(final ConversionRequest request) { - Object src = request.sourceObject(); - if (src == null) { - Class srcClass = request.sourceClass(); - if (request.destType() != null) return canConvert(srcClass, request.destType()); - return canConvert(srcClass, request.destClass()); - } - - if (request.destType() != null) return canConvert(src, request.destType()); - return canConvert(src, request.destClass()); - } - - @Override - public boolean canConvert(final Object src, final Type dest) { - if (src == null) return false; - final Class srcClass = src.getClass(); - return canConvert(srcClass, dest); - } - - @Override - public boolean canConvert(final Object src, final Class dest) { - if (src == null) return false; - final Class srcClass = src.getClass(); - - return canConvert(srcClass, dest); - } - - @Override - public boolean canConvert(final Class src, final Class dest) { - if (src == null) return false; - final Class saneSrc = Types.box(src); - final Class saneDest = Types.box(dest); - return Types.isAssignable(saneSrc, getInputType()) && - Types.isAssignable(getOutputType(), saneDest); - } - - @Override - public Object convert(final Object src, final Type dest) { - final Class destClass = Types.raw(dest); - return convert(src, destClass); - } - - @Override - public Object convert(final ConversionRequest request) { - if (request.destType() != null) { - return convert(request.sourceObject(), request.destType()); - } - - return convert(request.sourceObject(), request.destClass()); - } + // -- Converter methods -- @Override public void populateInputCandidates(final Collection objects) { @@ -138,20 +66,8 @@ public void populateInputCandidates(final Collection objects) { @Override public boolean supports(final ConversionRequest request) { - return canConvert(request); - } - - @Override - public Class getType() { - return ConversionRequest.class; - } - - // -- Deprecated API -- - - @Override - @Deprecated - public boolean canConvert(final Class src, final Type dest) { - final Class destClass = Types.raw(dest); - return canConvert(src, destClass); + // NB: Overridden just for backwards compatibility, so that + // downstream classes which call super.supports do the right thing. + return Converter.super.supports(request); } } diff --git a/src/main/java/org/scijava/convert/ConvertService.java b/src/main/java/org/scijava/convert/ConvertService.java index 9c5976521..6bce9a48b 100644 --- a/src/main/java/org/scijava/convert/ConvertService.java +++ b/src/main/java/org/scijava/convert/ConvertService.java @@ -31,14 +31,17 @@ import java.lang.reflect.Type; import java.util.Collection; +import java.util.HashSet; +import java.util.LinkedHashSet; +import java.util.Set; import org.scijava.plugin.HandlerService; import org.scijava.service.SciJavaService; /** - * Service for converting between types using an extensible plugin: - * {@link Converter}. Contains convenience signatures for the - * {@link #getHandler} and {@link #supports} methods to avoid the need to create + * Service for converting between types using an {@link Converter} plugins. + * Contains convenience signatures for the {@link #getHandler} and + * {@link #supports} methods to avoid the need to create * {@link ConversionRequest} objects. * * @see ConversionRequest @@ -51,83 +54,148 @@ public interface ConvertService extends /** * @see Converter#convert(Object, Type) */ - Object convert(Object src, Type dest); + default Object convert(final Object src, final Type dest) { + return convert(new ConversionRequest(src, dest)); + } /** * @see Converter#convert(Object, Class) */ - T convert(Object src, Class dest); + default T convert(final Object src, final Class dest) { + // NB: repeated code with convert(ConversionRequest), because the + // handler's convert method respects the T provided + final Converter handler = getHandler(src, dest); + return handler == null ? null : handler.convert(src, dest); + } /** * @see Converter#convert(ConversionRequest) */ - Object convert(ConversionRequest request); + default Object convert(final ConversionRequest request) { + final Converter handler = getHandler(request); + return handler == null ? null : handler.convert(request); + } /** * @see HandlerService#supports(Object) */ - Converter getHandler(Object src, Class dest); + default Converter getHandler(final Object src, final Type dest) { + return getHandler(new ConversionRequest(src, dest)); + } /** * @see HandlerService#supports(Object) */ - Converter getHandler(Object src, Type dest); + default Converter getHandler(final Object src, final Class dest) { + return getHandler(new ConversionRequest(src, dest)); + } /** - * @see HandlerService#supports(Object) + * @see HandlerService#getHandler(Object) */ - boolean supports(Object src, Class dest); + default Converter getHandler(final Class src, final Type dest) { + return getHandler(new ConversionRequest(src, dest)); + } /** - * @see HandlerService#supports(Object) + * @see HandlerService#getHandler(Object) */ - boolean supports(Object src, Type dest); + default Converter getHandler(final Class src, final Class dest) { + return getHandler(new ConversionRequest(src, dest)); + } /** - * @return A collection of instances that could be converted to the - * specified class. + * @see HandlerService#supports(Object) */ - Collection getCompatibleInputs(Class dest); + default boolean supports(final Object src, final Type dest) { + return supports(new ConversionRequest(src, dest)); + } /** - * @return A collection of all classes that could potentially be converted - * to the specified class. + * @see HandlerService#supports(Object) */ - Collection> getCompatibleInputClasses(Class dest); + default boolean supports(final Object src, final Class dest) { + return supports(new ConversionRequest(src, dest)); + } /** - * @return A collection of all classes that could potentially be converted - * from the specified class. + * @see HandlerService#supports(Object) */ - Collection> getCompatibleOutputClasses(Class dest); - - // -- Deprecated API -- + default boolean supports(final Class src, final Type dest) { + return supports(new ConversionRequest(src, dest)); + } /** - * @see HandlerService#getHandler(Object) - * @deprecated Use {@link #getHandler(Object, Class)} + * @see HandlerService#supports(Object) */ - @Deprecated - Converter getHandler(Class src, Class dest); + default boolean supports(final Class src, final Class dest) { + return supports(new ConversionRequest(src, dest)); + } /** - * @see HandlerService#getHandler(Object) - * @deprecated Use {@link #getHandler(Object, Type)} + * @return A collection of instances that could be converted to the + * specified class. */ - @Deprecated - Converter getHandler(Class src, Type dest); + default Collection getCompatibleInputs(final Class dest) { + final Set objects = new LinkedHashSet<>(); + + for (final Converter c : getInstances()) { + if (dest.isAssignableFrom(c.getOutputType())) { + c.populateInputCandidates(objects); + } + } + + return objects; + } /** - * @see HandlerService#supports(Object) - * @deprecated Use {@link #supports(Object, Class)} + * @return A collection of all classes that could potentially be converted + * to the specified class. */ - @Deprecated - boolean supports(Class src, Class dest); + default Collection> getCompatibleInputClasses(final Class dest) { + final Set> compatibleClasses = new HashSet<>(); + + for (final Converter converter : getInstances()) { + if (dest == converter.getOutputType()) // + compatibleClasses.add(converter.getInputType()); + } + + return compatibleClasses; + } /** - * @see HandlerService#supports(Object) - * @deprecated Use {@link #supports(Object, Type)} + * @return A collection of all classes that could potentially be converted + * from the specified class. */ - @Deprecated - boolean supports(Class src, Type dest); + default Collection> getCompatibleOutputClasses(final Class source) { + final Set> compatibleClasses = new HashSet<>(); + + for (final Converter converter : getInstances()) { + try { + if (source == converter.getInputType()) // + compatibleClasses.add(converter.getOutputType()); + } + catch (final Throwable t) { + log().error("Malfunctioning converter plugin: " + // + converter.getClass().getName(), t); + } + } + + return compatibleClasses; + } + + // -- PTService methods -- + + @SuppressWarnings({ "unchecked", "rawtypes" }) + @Override + default Class> getPluginType() { + return (Class) Converter.class; + } + + // -- Typed methods -- + + @Override + default Class getType() { + return ConversionRequest.class; + } } diff --git a/src/main/java/org/scijava/convert/Converter.java b/src/main/java/org/scijava/convert/Converter.java index 2654216ee..4280789ff 100644 --- a/src/main/java/org/scijava/convert/Converter.java +++ b/src/main/java/org/scijava/convert/Converter.java @@ -32,15 +32,24 @@ import java.lang.reflect.Type; import java.util.Collection; import java.util.List; +import java.util.Queue; import java.util.Set; import org.scijava.object.ObjectService; import org.scijava.plugin.HandlerPlugin; import org.scijava.plugin.Plugin; +import org.scijava.util.Types; /** * Extensible conversion {@link Plugin} for converting between classes and * types. + *

    + * NB: by default, the provided {@link #canConvert} methods will return + * {@code false} if the input is {@code null}. This allows {@link Converter} + * implementors to assume any input is non-{@code null}. Casting + * {@code null Object} inputs is handled by the {@link NullConverter}, while + * {@code null} class inputs are handled by the {@link DefaultConverter}. + *

    * * @see ConversionRequest * @author Mark Hiner @@ -55,41 +64,107 @@ public interface Converter extends HandlerPlugin { * * @see #convert(ConversionRequest) */ - boolean canConvert(ConversionRequest request); + default boolean canConvert(final ConversionRequest request) { + if (request == null) return false; + final Object src = request.sourceObject(); + final Type destType = request.destType(); + if (src != null && destType != null) { + return canConvert(src, destType); + } + if (src != null) { + return canConvert(src, request.destClass()); + } + if (destType != null) { + return canConvert(request.sourceClass(), destType); + } + return canConvert(request.sourceClass(), request.destClass()); + } /** * Checks whether the given object's type can be converted to the specified * type. + * + * @see #convert(Object, Type) + */ + default boolean canConvert(final Object src, final Type dest) { + if (src == null || dest == null) return false; + return canConvert(src.getClass(), dest); + } + + /** + * Checks whether the given object's type can be converted to the specified + * type. + * + * @see #convert(Object, Class) + */ + default boolean canConvert(final Object src, final Class dest) { + if (src == null) return false; + Class srcClass = src.getClass(); + return canConvert(srcClass, dest); + } + + /** + * Checks whether objects of the given class can be converted to the specified + * type. *

    * Note that this does not necessarily entail that - * {@link #convert(Object, Type)} on that specific object will succeed. For - * example: {@code canConvert("5.1", int.class)} will return {@code true} - * because a {@link String} can in general be converted to an {@code int}, but - * calling {@code convert("5.1", int.class)} will throw a + * {@link #convert(Object, Type)} on a specific object of the given source + * class will succeed. For example: + * {@code canConvert(String.class, List)} will return {@code true} + * because a {@link String} can in general be converted to an {@code Integer} + * and then wrapped into a {@code List}, but calling + * {@code convert("5.1", List)} will throw a * {@link NumberFormatException} when the conversion is actually attempted via * the {@link Integer#Integer(String)} constructor. *

    - * + * * @see #convert(Object, Type) */ - boolean canConvert(Object src, Type dest); + default boolean canConvert(final Class src, final Type dest) { + final Class destClass = Types.raw(dest); + return canConvert(src, destClass); + } /** - * Checks whether the given object's type can be converted to the specified + * Checks whether objects of the given class can be converted to the specified * type. *

    * Note that this does not necessarily entail that - * {@link #convert(Object, Class)} on that specific object will succeed. For - * example: {@code canConvert("5.1", int.class)} will return {@code true} + * {@link #convert(Object, Class)} on a specific object of the given source + * class will succeed. For example: + * {@code canConvert(String.class, int.class)} will return {@code true} * because a {@link String} can in general be converted to an {@code int}, but * calling {@code convert("5.1", int.class)} will throw a * {@link NumberFormatException} when the conversion is actually attempted via * the {@link Integer#Integer(String)} constructor. *

    + * + * @see #convert(Object, Class) + */ + default boolean canConvert(final Class src, final Class dest) { + if (src == null) return false; + final Class saneSrc = Types.box(src); + final Class saneDest = Types.box(dest); + return Types.isAssignable(saneSrc, getInputType()) && // + Types.isAssignable(getOutputType(), saneDest); + } + + /** + * Converts the given {@link ConversionRequest#sourceObject()} to the + * specified {@link ConversionRequest#destClass()} or + * {@link ConversionRequest#destType()}. * * @see #convert(Object, Class) + * @see #convert(Object, Type) + * @param request {@link ConversionRequest} to process. + * @return The conversion output */ - boolean canConvert(Object src, Class dest); + default Object convert(final ConversionRequest request) { + if (request.destType() != null) { + return convert(request.sourceObject(), request.destType()); + } + return convert(request.sourceObject(), request.destClass()); + } /** * As {@link #convert(Object, Class)} but capable of creating and populating @@ -102,14 +177,17 @@ public interface Converter extends HandlerPlugin { *

    * NB: This method should be capable of creating any array type, but if a * {@link Collection} interface or abstract class is provided we can only make - * a best guess as to what container type to instantiate. Defaults are - * provided for {@link Set} and {@link List} subclasses. + * a best guess as to what container type to instantiate; defaults are + * provided for {@link Set}, {@link Queue}, and {@link List}. *

    * * @param src The object to convert. * @param dest Type to which the object should be converted. */ - Object convert(Object src, Type dest); + default Object convert(final Object src, final Type dest) { + final Class destClass = Types.raw(dest); + return convert(src, destClass); + } /** * Converts the given object to an object of the specified type. The object is @@ -126,18 +204,6 @@ public interface Converter extends HandlerPlugin { */ T convert(Object src, Class dest); - /** - * Converts the given {@link ConversionRequest#sourceObject()} to the - * specified {@link ConversionRequest#destClass()} or - * {@link ConversionRequest#destType()}. - * - * @see #convert(Object, Class) - * @see #convert(Object, Type) - * @param request {@link ConversionRequest} to process. - * @return The conversion output - */ - Object convert(ConversionRequest request); - /** * Populates the given collection with objects which are known to exist, and * which are usable as inputs for this converter. @@ -170,25 +236,15 @@ public interface Converter extends HandlerPlugin { */ Class getInputType(); - // -- Deprecated API -- + // -- Typed methods -- - /** - * Checks whether objects of the given class can be converted to the specified - * type. - * - * @see #convert(Object, Type) - * @deprecated Use {@link #canConvert(Object, Type)} - */ - @Deprecated - boolean canConvert(Class src, Type dest); + @Override + default boolean supports(final ConversionRequest request) { + return canConvert(request); + } - /** - * Checks whether objects of the given class can be converted to the specified - * type. - * - * @see #convert(Object, Class) - * @deprecated Use {@link #canConvert(Object, Class)} - */ - @Deprecated - boolean canConvert(Class src, Class dest); + @Override + default Class getType() { + return ConversionRequest.class; + } } From ce135b7c9e3197a87423e9ef0e8fc58f5d400387 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 28 Feb 2023 15:06:44 -0600 Subject: [PATCH 269/383] StringToArrayConverter: fix decoding of parse tree And add test cases to StringToArrayConverterTest. This test now exercises all scenarios described in #450, validating the behavior we want the library to have. Closes #450. --- .../convert/StringToArrayConverter.java | 102 +++++++++-------- .../convert/ArrayToStringConverterTest.java | 34 +++--- .../convert/StringToArrayConverterTest.java | 103 +++++++++++++++--- 3 files changed, 162 insertions(+), 77 deletions(-) diff --git a/src/main/java/org/scijava/convert/StringToArrayConverter.java b/src/main/java/org/scijava/convert/StringToArrayConverter.java index 8e6ab7aa9..18c581b32 100644 --- a/src/main/java/org/scijava/convert/StringToArrayConverter.java +++ b/src/main/java/org/scijava/convert/StringToArrayConverter.java @@ -31,10 +31,15 @@ import java.lang.reflect.Array; import java.lang.reflect.Type; +import java.util.Collection; +import java.util.List; +import java.util.stream.Collectors; import org.scijava.Priority; +import org.scijava.parse.Item; import org.scijava.parse.Items; import org.scijava.parse.ParseService; +import org.scijava.parsington.Token; import org.scijava.plugin.Parameter; import org.scijava.plugin.Plugin; import org.scijava.util.Types; @@ -56,14 +61,6 @@ public class StringToArrayConverter extends AbstractConverter { @Parameter(required = false) private ParseService parseService; - @Override - public boolean canConvert(final Class src, final Class dest) { - if (src == null) return false; - final Class saneSrc = Types.box(src); - final Class saneDest = Types.box(dest); - return saneSrc == String.class && saneDest.isArray(); - } - @Override public boolean canConvert(final Object src, final Type dest) { return canConvert(src, Types.raw(dest)); @@ -76,46 +73,39 @@ public boolean canConvert(final Object src, final Class dest) { // First, ensure the base types conform if (!canConvert(src.getClass(), dest)) return false; // Then, ensure we can parse the string - Items tree; try { - tree = parseService.parse((String) src); + parseService.parse((String) src, false); } catch (final IllegalArgumentException e) { return false; } - // We can always convert empty arrays as we don't have to create Objects - if (tree.size() == 0) return true; - // Finally, ensure that we can convert the elements of the array. - // NB this check is merely a heuristic. In the case of a heterogeneous - // array, canConvert may falsely return positive, if later elements in the - // string-ified array cannot be converted into Objects. We make this - // compromise in the interest of speed, however, as ensuring correctness - // would require a premature conversion of the entire array. - Object testSrc = tree.get(0).value(); - Class testDest = unitComponentType(dest); - return convertService.supports(testSrc, testDest); + return true; } @Override - public Object convert(Object src, Type dest) { + public boolean canConvert(final Class src, final Class dest) { + return src == String.class && dest.isArray(); + } + + @Override + public Object convert(final Object src, final Type dest) { final Type componentType = Types.component(dest); if (componentType == null) { throw new IllegalArgumentException(dest + " is not an array type!"); } - try { - return convertToArray( // - parseService.parse((String) src), // - Types.raw(componentType)); - } - catch (final IllegalArgumentException e) { - return null; - } + final List items = parse((String) src); + return convertToArray(items, Types.raw(componentType)); } - @SuppressWarnings("unchecked") @Override - public T convert(Object src, Class dest) { - return (T) convert(src, (Type) dest); + public T convert(final Object src, final Class dest) { + // NB: Invert functional flow from Converter interface: + // Converter: convert(Object, Type) calling convert(Object, Class) + // becomes: convert(Object, Class) calling convert(Object, Type) + final Type destType = dest; + @SuppressWarnings("unchecked") + T result = (T) convert(src, destType); + return result; } @Override @@ -128,35 +118,53 @@ public Class getInputType() { return String.class; } - // -- HELPER METHODS -- // + // -- Helper methods -- /** - * Converts {@code src} into an array of component type {@code componentType} + * Converts {@code src} into an array of component type {@code componentType}. * * @param tree the {@link String} to convert * @param componentType the component type of the output array * @return an array of {@code componentType} whose elements were created from * {@code src} */ - private Object convertToArray(Items tree, final Class componentType) { + private Object convertToArray(final List tree, + final Class componentType) + { // Create the array final Object array = Array.newInstance(componentType, tree.size()); // Set each element of the array for (int i = 0; i < tree.size(); i++) { - Object element = convertService.convert(tree.get(i).value(), componentType); - Array.set(array, i, element); + Object element = tree.get(i); + final Object converted = convertService.convert(element, componentType); + Array.set(array, i, converted); } return array; } - /** - * Similar to {@link Class#getComponentType()}, but handles nested array types - * - * @param c the {@link Class} that may be an array class - * @return the unit component type of {@link Class} {@code c} - */ - private Class unitComponentType(Class c) { - if (!c.isArray()) return c; - return c.getComponentType(); + /** Parses a string to a list, using the {@link ParseService}. */ + private List parse(final String s) { + try { + Items items = parseService.parse(s, false); + return (List) unwrap(items); + } + catch (final IllegalArgumentException e) { + return null; + } + } + + private Object unwrap(final Object o) { + if (o instanceof Collection) { + return ((Collection) o).stream() // + .map(item -> unwrap(item)) // + .collect(Collectors.toList()); + } + if (o instanceof Item) { + return unwrap(((Item) o).value()); + } + if (o instanceof Token) { + return ((Token) o).getToken(); + } + return o; } } diff --git a/src/test/java/org/scijava/convert/ArrayToStringConverterTest.java b/src/test/java/org/scijava/convert/ArrayToStringConverterTest.java index 36a78a824..17ec928f5 100644 --- a/src/test/java/org/scijava/convert/ArrayToStringConverterTest.java +++ b/src/test/java/org/scijava/convert/ArrayToStringConverterTest.java @@ -29,11 +29,15 @@ package org.scijava.convert; +import static org.junit.Assert.assertArrayEquals; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + import java.util.Arrays; import java.util.List; import org.junit.After; -import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.scijava.Context; @@ -86,11 +90,11 @@ public void testArrayConversion() { String sFloat = "{1.0, 2.0, 3.0}"; for (Object array : arrays) { // Ensure our Converter can do the conversion - Assert.assertTrue(converter.canConvert(array, String.class)); + assertTrue(converter.canConvert(array, String.class)); // Do the conversion String converted = converter.convert(array, String.class); // Ensure correctness - Assert.assertTrue(converted.equals(sInt) || converted.equals(sFloat)); + assertTrue(converted.equals(sInt) || converted.equals(sFloat)); } } @@ -101,10 +105,10 @@ public void testArrayConversion() { @Test public void test2DArrayConversion() { byte[][] arr = new byte[][] { new byte[] { 0, 1 }, new byte[] { 2, 3 } }; - Assert.assertTrue(converter.canConvert(arr, String.class)); + assertTrue(converter.canConvert(arr, String.class)); String actual = converter.convert(arr, String.class); String expected = "{{0, 1}, {2, 3}}"; - Assert.assertEquals(expected, actual); + assertEquals(expected, actual); } /** @@ -119,10 +123,10 @@ public void test3DArrayConversion() { for (int k = 0; k < 2; k++) arr[i][j][k] = (byte) (i + j + k); - Assert.assertTrue(converter.canConvert(arr, String.class)); + assertTrue(converter.canConvert(arr, String.class)); String actual = converter.convert(arr, String.class); String expected = "{{{0, 1}, {1, 2}}, {{1, 2}, {2, 3}}}"; - Assert.assertEquals(expected, actual); + assertEquals(expected, actual); } /** @@ -132,10 +136,10 @@ public void test3DArrayConversion() { @Test public void testEmptyArrayConversion() { byte[] arr = new byte[0]; - Assert.assertTrue(converter.canConvert(arr, String.class)); + assertTrue(converter.canConvert(arr, String.class)); String actual = converter.convert(arr, String.class); String expected = "{}"; - Assert.assertEquals(expected, actual); + assertEquals(expected, actual); } /** @@ -153,23 +157,21 @@ public void testCyclicConversion() { StringToArrayConverter c2 = new StringToArrayConverter(); context.inject(c2); byte[] actual = c2.convert(converted, byte[].class); - Assert.assertArrayEquals(expected, actual); + assertArrayEquals(expected, actual); } @Test public void testNullConversion() { - String[] s1 = {null}; - String[] s2 = {"null"}; - String[] expected = new String[] {null}; // Do the first conversion ArrayToStringConverter c1 = new ArrayToStringConverter(); context.inject(c1); - String converted = c1.convert(expected, String.class); + String converted = c1.convert(new String[] {null}, String.class); // Try to convert back StringToArrayConverter c2 = new StringToArrayConverter(); context.inject(c2); String[] actual = c2.convert(converted, String[].class); - // NB: we cannot recreate the original {null} state - Assert.assertNull(actual); + assertNotNull(actual); + assertEquals(1, actual.length); + assertEquals("null", actual[0]); } } diff --git a/src/test/java/org/scijava/convert/StringToArrayConverterTest.java b/src/test/java/org/scijava/convert/StringToArrayConverterTest.java index 6947a2976..d9d912451 100644 --- a/src/test/java/org/scijava/convert/StringToArrayConverterTest.java +++ b/src/test/java/org/scijava/convert/StringToArrayConverterTest.java @@ -29,6 +29,13 @@ package org.scijava.convert; +import static org.junit.Assert.assertArrayEquals; + +import java.lang.reflect.Array; +import java.util.Arrays; +import java.util.List; +import java.util.Random; + import org.junit.After; import org.junit.Assert; import org.junit.Before; @@ -36,10 +43,6 @@ import org.scijava.Context; import org.scijava.parse.ParseService; -import java.lang.reflect.Array; -import java.util.Arrays; -import java.util.List; - /** * Tests {@link StringToArrayConverter}. * @@ -144,16 +147,6 @@ public void testEmptyArrayConversion() { Assert.assertEquals(0, actual.length); } - /** - * Tests the ability of {@link StringToArrayConverter} in converting only - * arrays whose elements can be converted - */ - @Test - public void testInconvertibleArrayType() { - String s = "{ConverterA}"; - Assert.assertFalse(converter.canConvert(s, Converter[].class)); - } - /** * Tests the special case of {@link String}s */ @@ -194,5 +187,87 @@ public void testCharacterArrayConversion() { Assert.assertArrayEquals(expected, actual); } + @Test + public void testStringToDoubleArraySingleValue() { + assertArrayEquals(new double[] {5}, + converter.convert("5", double[].class), 0); + assertArrayEquals(new Double[] {6d}, + converter.convert("6", Double[].class)); + assertArrayEquals(new double[][] {{7}}, + converter.convert("7", double[][].class)); + assertArrayEquals(new Double[][] {{8d}}, + converter.convert("8", Double[][].class)); + assertArrayEquals(new double[] {0}, + converter.convert("spinach", double[].class), 0); + assertArrayEquals(new Double[] {null}, + converter.convert("kale", Double[].class)); + assertArrayEquals(new double[][] {{0}}, + converter.convert("broccoli", double[][].class)); + assertArrayEquals(new Double[][] {{null}}, + converter.convert("lettuce", Double[][].class)); + } + + @Test + public void testStringToDoubleArray1D() { + // all numbers + assertArrayEquals(new double[] {0, 1, 2, 3}, + converter.convert("{0, 1, 2, 3}", double[].class), 0); + assertArrayEquals(new Double[] {7d, 11d}, + converter.convert("{7, 11}", Double[].class)); + assertArrayEquals(new Double[] {0d, 1d, 2d, 3d}, + converter.convert("{0, 1, 2, 3}", Double[].class)); + + // mixed numbers/non-numbers + assertArrayEquals(new double[] {0, 1, 0, 3}, + converter.convert("{0, 1, kumquat, 3}", double[].class), 0); + assertArrayEquals(new Double[] {4d, null, 5d}, + converter.convert("{4, eggplant, 5}", Double[].class)); + + // all non-numbers + assertArrayEquals(new double[] {0, 0, 0}, + converter.convert("{uno, dos, tres}", double[].class), 0); + assertArrayEquals(new Double[] {null, null, null, null}, + converter.convert("{cuatro, cinco, seis, siete}", Double[].class)); + } + + @Test + public void testStringToDoubleArray2D() { + // all numbers + assertArrayEquals(new double[][] {{0, 1}, {2, 3, 4}}, + converter.convert("{{0, 1}, {2, 3, 4}}", double[][].class)); + assertArrayEquals(new Double[][] {{7d, 11d}, {13d, 17d, 19d}}, + converter.convert("{{7, 11}, {13, 17, 19}}", Double[][].class)); + assertArrayEquals(new Double[][] {{0d, 1d}, {2d, 3d}}, + converter.convert("{{0, 1}, {2, 3}}", Double[][].class)); + + // mixed numbers/non-numbers + assertArrayEquals(new double[][] {{0, 1}, {0, 3}}, + converter.convert("{{0, 1}, {kumquat, 3}}", double[][].class)); + assertArrayEquals(new Double[][] {{4d}, {null, 5d}, {null}}, + converter.convert("{{4}, {eggplant, 5}, {squash}}", Double[][].class)); + + // all non-numbers + assertArrayEquals(new double[][] {{0}, {0, 0}}, + converter.convert("{{uno}, {dos, tres}}", double[][].class)); + assertArrayEquals(new Double[][] {{null, null}, {null, null}}, + converter.convert("{{cuatro, cinco}, {seis, siete}}", Double[][].class)); + } + + @Test + public void testStringToDoubleArray3D() { + final Random r = new Random(0xDA7ABA5E); + final double[][][] ds = new double[r.nextInt(10)][][]; + for (int i=0; i Date: Wed, 1 Mar 2023 21:27:52 -0600 Subject: [PATCH 270/383] Be more permissive with CastingConverter casts --- .../org/scijava/convert/CastingConverter.java | 27 ++++++++++++++----- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/scijava/convert/CastingConverter.java b/src/main/java/org/scijava/convert/CastingConverter.java index fbd62a7bc..e9455c214 100644 --- a/src/main/java/org/scijava/convert/CastingConverter.java +++ b/src/main/java/org/scijava/convert/CastingConverter.java @@ -49,17 +49,30 @@ public boolean canConvert(final Object src, final Class dest) { @Override public boolean canConvert(final Class src, final Type dest) { - // OK if the existing object can be casted - return dest != null && Types.isAssignable(src, dest); + // NB: You might think we want to use Types.isAssignable(src, dest) + // directly here. And you might be right. However, assignment involving + // generic types gets very tricky. If dest is e.g. a wildcard type such as + // "? extends Object", or a type variable such as "C extends Object", then + // no specific class will be assignable to it, because for that ? or C we + // do not know anything about the bound type other than that it's something + // that extends Object, so it could be anything, including things that + // aren't assignable from whatever src is. + // + // Unfortunately, when this casting conversion code was originally written, + // it did not have generics in mind, and calling code will pass in capture + // types (e.g. Type objects gleaned via ModuleItem#getGenericType()) + // expecting them to be convertible as long as dest's raw type(s) are + // compatible targets for src. + // + // And so for backwards compatibility, we continue to behave that way here. + + return dest != null && // + Types.raws(dest).stream().allMatch(c -> c.isAssignableFrom(src)); } @Override public boolean canConvert(final Class src, final Class dest) { - // NB: Invert functional flow from Converter interface: - // Converter: canConvert(Class, Type) -> canConvert(Class, Class) - // becomes: canConvert(Class, Class) -> canConvert(Class, Type) - final Type destType = dest; - return canConvert(src, destType); + return dest != null && dest.isAssignableFrom(src); } @Override From 3e0afe10014db09bd891c4290d994fbdf68f792f Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Thu, 2 Mar 2023 14:22:44 -0600 Subject: [PATCH 271/383] Bump to next development cycle Signed-off-by: Curtis Rueden --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index ba2c4afa9..d76854b60 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.91.0-SNAPSHOT + 2.91.1-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From 9bcf5279c1d4b2e48649d9c59210996f21a65da2 Mon Sep 17 00:00:00 2001 From: Elliott Magnuson Date: Mon, 13 Mar 2023 21:00:32 -0500 Subject: [PATCH 272/383] DefaultIOService: Add concrete methods to resolve Location --- .../java/org/scijava/io/DefaultIOService.java | 19 +++++++++++++++++++ src/main/java/org/scijava/io/IOService.java | 9 ++------- 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/scijava/io/DefaultIOService.java b/src/main/java/org/scijava/io/DefaultIOService.java index fd0d46c01..32f5e5b27 100644 --- a/src/main/java/org/scijava/io/DefaultIOService.java +++ b/src/main/java/org/scijava/io/DefaultIOService.java @@ -61,6 +61,24 @@ public final class DefaultIOService @Parameter private LocationService locationService; + + @Override + public IOPlugin getOpener(final String source) throws IOException { + try { + return getOpener(locationService.resolve(source)); + } catch (URISyntaxException e) { + throw new IOException(e); + } + } + + @Override + public IOPlugin getSaver(D data, String destination) throws IOException { + try { + return getSaver(data, locationService.resolve(destination)); + } catch (URISyntaxException e) { + throw new IOException(e); + } + } @Override public Object open(final String source) throws IOException { @@ -112,4 +130,5 @@ public void save(final Object data, final Location destination) log.error("No Saver IOPlugin found for " + data.toString() + "."); } } + } diff --git a/src/main/java/org/scijava/io/IOService.java b/src/main/java/org/scijava/io/IOService.java index 9dc3c5364..72655ab39 100644 --- a/src/main/java/org/scijava/io/IOService.java +++ b/src/main/java/org/scijava/io/IOService.java @@ -31,7 +31,6 @@ import java.io.IOException; -import org.scijava.io.location.FileLocation; import org.scijava.io.location.Location; import org.scijava.plugin.HandlerService; import org.scijava.service.SciJavaService; @@ -49,9 +48,7 @@ public interface IOService extends HandlerService>, * Gets the most appropriate {@link IOPlugin} for opening data from the given * location. */ - default IOPlugin getOpener(final String source) { - return getOpener(new FileLocation(source)); - } + IOPlugin getOpener(final String source) throws IOException; /** * Gets the most appropriate {@link IOPlugin} for opening data from the given @@ -68,9 +65,7 @@ default IOPlugin getOpener(Location source) { * Gets the most appropriate {@link IOPlugin} for saving data to the given * location. */ - default IOPlugin getSaver(final D data, final String destination) { - return getSaver(data, new FileLocation(destination)); - } + IOPlugin getSaver(final D data, final String destination) throws IOException; /** * Gets the most appropriate {@link IOPlugin} for saving data to the given From ccf35cdbc8d795c097e554febfeb22a5520a2287 Mon Sep 17 00:00:00 2001 From: Elliott Magnuson Date: Thu, 23 Mar 2023 12:43:08 -0500 Subject: [PATCH 273/383] Gateway: add LocationService getter --- src/main/java/org/scijava/AbstractGateway.java | 6 ++++++ src/main/java/org/scijava/Gateway.java | 8 ++++++++ 2 files changed, 14 insertions(+) diff --git a/src/main/java/org/scijava/AbstractGateway.java b/src/main/java/org/scijava/AbstractGateway.java index 9df93126c..766597967 100644 --- a/src/main/java/org/scijava/AbstractGateway.java +++ b/src/main/java/org/scijava/AbstractGateway.java @@ -42,6 +42,7 @@ import org.scijava.input.InputService; import org.scijava.io.IOService; import org.scijava.io.RecentFileService; +import org.scijava.io.location.LocationService; import org.scijava.log.LogService; import org.scijava.main.MainService; import org.scijava.menu.MenuService; @@ -190,6 +191,11 @@ public InputService input() { public IOService io() { return get(IOService.class); } + + @Override + public LocationService location() { + return get(LocationService.class); + } @Override public LogService log() { diff --git a/src/main/java/org/scijava/Gateway.java b/src/main/java/org/scijava/Gateway.java index 3d5897528..657a7faa4 100644 --- a/src/main/java/org/scijava/Gateway.java +++ b/src/main/java/org/scijava/Gateway.java @@ -40,6 +40,7 @@ import org.scijava.input.InputService; import org.scijava.io.IOService; import org.scijava.io.RecentFileService; +import org.scijava.io.location.LocationService; import org.scijava.log.LogService; import org.scijava.main.MainService; import org.scijava.menu.MenuService; @@ -238,6 +239,13 @@ public interface Gateway extends RichPlugin, Disposable { */ IOService io(); + /** + * Gets this application context's {@link LocationService}. + * + * @return The {@link LocationService} of this application context. + */ + LocationService location(); + /** * Gets this application context's {@link LogService}. * From af02774ab5b146827551d99d45a8a7e94c495aee Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Thu, 30 Mar 2023 19:46:32 -0500 Subject: [PATCH 274/383] SystemPropertyArgument: allow any string for keys The previous regex was not allowing colons, which Java definitely allows. But after briefly trying to research what's allowed and what's not, I decided it doesn't really matter, and we should just try setting whatever the user is trying to set, and if it fails with an exception on the Java side, so be it -- but that's no reason not to eagerly reject the expression in this ConsoleArgument plugin. --- src/main/java/org/scijava/console/SystemPropertyArgument.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/scijava/console/SystemPropertyArgument.java b/src/main/java/org/scijava/console/SystemPropertyArgument.java index 60f076798..39c100c92 100644 --- a/src/main/java/org/scijava/console/SystemPropertyArgument.java +++ b/src/main/java/org/scijava/console/SystemPropertyArgument.java @@ -44,7 +44,7 @@ @Plugin(type = ConsoleArgument.class) public class SystemPropertyArgument extends AbstractConsoleArgument { - private static final String SYS_PROP_REGEX = "-D([\\w\\._-]+)(=(.*))?"; + private static final String SYS_PROP_REGEX = "-D([^=]+)(=(.*))?"; private static final Pattern SYS_PROP_PAT = Pattern.compile(SYS_PROP_REGEX); // -- Constructor -- From 9db423586112dc287da9b7eae3710b25b694c92f Mon Sep 17 00:00:00 2001 From: hinerm Date: Wed, 12 Apr 2023 11:52:03 -0500 Subject: [PATCH 275/383] POM: update parent to pom-scijava 34.1.0 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index d76854b60..d1cbbefa6 100644 --- a/pom.xml +++ b/pom.xml @@ -5,12 +5,12 @@ org.scijava pom-scijava - 33.2.0 + 34.1.0 scijava-common - 2.91.1-SNAPSHOT + 2.92.0-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From 5f690ceb3532758cb6dffb08da9a8af55725b509 Mon Sep 17 00:00:00 2001 From: hinerm Date: Wed, 12 Apr 2023 11:53:10 -0500 Subject: [PATCH 276/383] Bump to next development cycle Signed-off-by: hinerm --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index d1cbbefa6..ad42e0867 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.92.0-SNAPSHOT + 2.92.1-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From 545caf0ab167268201fb5a58c6a06902aa951707 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 19 Apr 2023 12:34:15 -0500 Subject: [PATCH 277/383] Do not hardcode String-to-FileLocation conversions That's what LocationService.resolve is for. --- src/main/java/org/scijava/io/IOPlugin.java | 34 ++++++++++++++----- .../java/org/scijava/io/TypedIOService.java | 16 +++++++-- .../org/scijava/io/event/DataOpenedEvent.java | 10 ++---- .../org/scijava/io/event/DataSavedEvent.java | 9 ++--- .../java/org/scijava/io/event/IOEvent.java | 29 ++++++++++++---- 5 files changed, 66 insertions(+), 32 deletions(-) diff --git a/src/main/java/org/scijava/io/IOPlugin.java b/src/main/java/org/scijava/io/IOPlugin.java index fc797ee29..766f2e55b 100644 --- a/src/main/java/org/scijava/io/IOPlugin.java +++ b/src/main/java/org/scijava/io/IOPlugin.java @@ -30,9 +30,11 @@ package org.scijava.io; import java.io.IOException; +import java.net.URISyntaxException; import org.scijava.io.location.FileLocation; import org.scijava.io.location.Location; +import org.scijava.io.location.LocationService; import org.scijava.plugin.HandlerPlugin; import org.scijava.plugin.Plugin; @@ -58,22 +60,32 @@ public interface IOPlugin extends HandlerPlugin { /** Checks whether the I/O plugin can open data from the given source. */ @SuppressWarnings("unused") default boolean supportsOpen(final String source) { - return supportsOpen(new FileLocation(source)); + try { + return supportsOpen(context().service(LocationService.class).resolve(source)); + } + catch (final URISyntaxException exc) { + return false; + } } /** Checks whether the I/O plugin can open data from the given location. */ - default boolean supportsOpen(Location source) { + default boolean supportsOpen(final Location source) { return false; } /** Checks whether the I/O plugin can save data to the given destination. */ @SuppressWarnings("unused") default boolean supportsSave(final String destination) { - return supportsSave(new FileLocation(destination)); + try { + return supportsSave(context().service(LocationService.class).resolve(destination)); + } + catch (final URISyntaxException exc) { + return false; + } } /** Checks whether the I/O plugin can save data to the given location. */ - default boolean supportsSave(Location destination) { + default boolean supportsSave(final Location destination) { return false; } @@ -85,7 +97,7 @@ default boolean supportsSave(final Object data, final String destination) { return supportsSave(destination) && getDataType().isInstance(data); } - default boolean supportsSave(Object data, Location destination) { + default boolean supportsSave(final Object data, final Location destination) { return supportsSave(destination) && getDataType().isInstance(data); } @@ -96,17 +108,23 @@ default D open(final String source) throws IOException { } /** Opens data from the given location. */ - default D open(Location source) throws IOException { + default D open(final Location source) throws IOException { throw new UnsupportedOperationException(); } + /** Saves the given data to the specified destination. */ @SuppressWarnings("unused") default void save(final D data, final String destination) throws IOException { - save(data, new FileLocation(destination)); + try { + save(data, context().service(LocationService.class).resolve(destination)); + } + catch (final URISyntaxException exc) { + throw new UnsupportedOperationException(exc); + } } /** Saves the given data to the specified location. */ - default void save(D data, Location destination) throws IOException { + default void save(final D data, final Location destination) throws IOException { throw new UnsupportedOperationException(); } diff --git a/src/main/java/org/scijava/io/TypedIOService.java b/src/main/java/org/scijava/io/TypedIOService.java index 711026c5c..5664ec3bb 100644 --- a/src/main/java/org/scijava/io/TypedIOService.java +++ b/src/main/java/org/scijava/io/TypedIOService.java @@ -30,9 +30,11 @@ package org.scijava.io; import java.io.IOException; +import java.net.URISyntaxException; import org.scijava.io.location.FileLocation; import org.scijava.io.location.Location; +import org.scijava.io.location.LocationService; import org.scijava.plugin.HandlerService; import org.scijava.service.SciJavaService; @@ -51,7 +53,12 @@ public interface TypedIOService extends HandlerService> * location. */ default IOPlugin getOpener(final String source) { - return getOpener(new FileLocation(source)); + try { + return getOpener(context().service(LocationService.class).resolve(source)); + } + catch (final URISyntaxException exc) { + return null; + } } /** @@ -70,7 +77,12 @@ default IOPlugin getOpener(Location source) { * location. */ default IOPlugin getSaver(final D data, final String destination) { - return getSaver(data, new FileLocation(destination)); + try { + return getSaver(data, context().service(LocationService.class).resolve(destination)); + } + catch (final URISyntaxException exc) { + return null; + } } /** diff --git a/src/main/java/org/scijava/io/event/DataOpenedEvent.java b/src/main/java/org/scijava/io/event/DataOpenedEvent.java index c2d729e0f..22f9fd4d0 100644 --- a/src/main/java/org/scijava/io/event/DataOpenedEvent.java +++ b/src/main/java/org/scijava/io/event/DataOpenedEvent.java @@ -49,7 +49,7 @@ public DataOpenedEvent(final Location location, final Object data) { */ @Deprecated public DataOpenedEvent(final String source, final Object data) { - this(new FileLocation(source), data); + super(source, data); } /** @@ -57,12 +57,6 @@ public DataOpenedEvent(final String source, final Object data) { */ @Deprecated public String getSource() { - try { - FileLocation fileLocation = (FileLocation) getLocation(); - return fileLocation.getFile().getAbsolutePath(); - } catch(ClassCastException e) { - return getLocation().getURI().toString(); - } + return getDescriptor(); } - } diff --git a/src/main/java/org/scijava/io/event/DataSavedEvent.java b/src/main/java/org/scijava/io/event/DataSavedEvent.java index de82a77ff..67a8b21ad 100644 --- a/src/main/java/org/scijava/io/event/DataSavedEvent.java +++ b/src/main/java/org/scijava/io/event/DataSavedEvent.java @@ -49,7 +49,7 @@ public DataSavedEvent(final Location destination, final Object data) { */ @Deprecated public DataSavedEvent(final String destination, final Object data) { - this(new FileLocation(destination), data); + super(destination, data); } /** @@ -57,11 +57,6 @@ public DataSavedEvent(final String destination, final Object data) { */ @Deprecated public String getDestination() { - try { - FileLocation fileLocation = (FileLocation) getLocation(); - return fileLocation.getFile().getAbsolutePath(); - } catch(ClassCastException e) { - return getLocation().getURI().toString(); - } + return getDescriptor(); } } diff --git a/src/main/java/org/scijava/io/event/IOEvent.java b/src/main/java/org/scijava/io/event/IOEvent.java index 8b3c9fa4b..1147039b3 100644 --- a/src/main/java/org/scijava/io/event/IOEvent.java +++ b/src/main/java/org/scijava/io/event/IOEvent.java @@ -29,9 +29,12 @@ package org.scijava.io.event; +import java.net.URISyntaxException; + import org.scijava.event.SciJavaEvent; import org.scijava.io.location.FileLocation; import org.scijava.io.location.Location; +import org.scijava.io.location.LocationService; /** * An event indicating that I/O (e.g., opening or saving) has occurred. @@ -43,6 +46,10 @@ public abstract class IOEvent extends SciJavaEvent { /** The data location (source or destination). */ private final Location location; + /** @deprecated use {@link #location} instead */ + @Deprecated + private final String descriptor; + /** The data for which I/O took place. */ private final Object data; @@ -51,17 +58,26 @@ public abstract class IOEvent extends SciJavaEvent { */ @Deprecated public IOEvent(final String descriptor, final Object data) { - this(new FileLocation(descriptor), data); + this.location = null; + this.descriptor = descriptor; + this.data = data; } public IOEvent(final Location location, final Object data) { this.location = location; + this.descriptor = null; this.data = data; } /** Gets the data location (source or destination). */ public Location getLocation() { - return location; + if (location != null) return location; + try { + return context().service(LocationService.class).resolve(descriptor); + } + catch (final URISyntaxException exc) { + return null; + } } /** Gets the data for which I/O took place. */ @@ -82,12 +98,11 @@ public String toString() { */ @Deprecated public String getDescriptor() { - try { - FileLocation fileLocation = (FileLocation) getLocation(); + if (descriptor != null) return descriptor; + if (location instanceof FileLocation) { + final FileLocation fileLocation = (FileLocation) location; return fileLocation.getFile().getAbsolutePath(); - } catch(ClassCastException e) { - return getLocation().getURI().toString(); } + return location.getURI().toString(); } - } From 50daafb3b863fbe52b84340ea9af10bb287067f8 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 3 May 2023 11:31:49 -0500 Subject: [PATCH 278/383] Allow contexts to be disposed more than once Subsequent disposals are no-ops, rather than throwing an exception. --- src/main/java/org/scijava/Context.java | 35 +++++++++---- .../java/org/scijava/ContextDisposalTest.java | 51 +++++++++++++++++++ 2 files changed, 76 insertions(+), 10 deletions(-) create mode 100644 src/test/java/org/scijava/ContextDisposalTest.java diff --git a/src/main/java/org/scijava/Context.java b/src/main/java/org/scijava/Context.java index a6892d7bd..7e42f2df2 100644 --- a/src/main/java/org/scijava/Context.java +++ b/src/main/java/org/scijava/Context.java @@ -97,6 +97,12 @@ public class Context implements Disposable, AutoCloseable { */ private boolean strict; + /** + * False if the context is currently active; true if the context + * has already been disposed, or is in the process of being disposed. + */ + private boolean disposed; + /** * Creates a new SciJava application context with all available services. * @@ -418,16 +424,8 @@ public boolean isInjectable(final Class type) { @Override public void dispose() { - final EventService eventService = getService(EventService.class); - if (eventService != null) eventService.publish(new ContextDisposingEvent()); - - // NB: Dispose services in reverse order. - // This may or may not actually be necessary, but seems safer, since - // dependent services will be disposed *before* their dependencies. - final List services = serviceIndex.getAll(); - for (int s = services.size() - 1; s >= 0; s--) { - services.get(s).dispose(); - } + if (disposed) return; + doDispose(true); } // -- AutoCloseable methods -- @@ -580,6 +578,23 @@ private String createMissingServiceMessage( return msg.toString(); } + private synchronized void doDispose(final boolean announce) { + if (disposed) return; + disposed = true; + if (announce) { + final EventService eventService = getService(EventService.class); + if (eventService != null) eventService.publish(new ContextDisposingEvent()); + } + + // NB: Dispose services in reverse order. + // This may or may not actually be necessary, but seems safer, since + // dependent services will be disposed *before* their dependencies. + final List services = serviceIndex.getAll(); + for (int s = services.size() - 1; s >= 0; s--) { + services.get(s).dispose(); + } + } + private static PluginIndex plugins(final boolean empty) { return empty ? new PluginIndex(null) : null; } diff --git a/src/test/java/org/scijava/ContextDisposalTest.java b/src/test/java/org/scijava/ContextDisposalTest.java new file mode 100644 index 000000000..e47fcbc7b --- /dev/null +++ b/src/test/java/org/scijava/ContextDisposalTest.java @@ -0,0 +1,51 @@ +/* + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2023 SciJava developers. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ + +package org.scijava; + +import org.junit.Test; + +/** + * Tests disposal of {@link Context}s. + * + * @author Curtis Rueden + */ +public class ContextDisposalTest { + + /** + * Tests that a {@link Context} can be disposed more than once without + * throwing an exception. + */ + @Test + public void testDoubleDisposal() { + final Context context = new Context(); + context.dispose(); + context.dispose(); + } +} From 7daf667d6fc2d357c30d9c3ef4ea57ca8024a29a Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 3 May 2023 11:32:23 -0500 Subject: [PATCH 279/383] Automatically dispose the context on JVM shutdown And make the ThreadService's threads into daemon threads. The danger is that the such threads won't complete pending work. But with the JVM shutdown hook now attempting to dispose the context at that point, the ExecutorService will have a chance to shutdown cleanly. --- src/main/java/org/scijava/Context.java | 3 +++ .../java/org/scijava/thread/DefaultThreadService.java | 9 ++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/scijava/Context.java b/src/main/java/org/scijava/Context.java index 7e42f2df2..63ade880d 100644 --- a/src/main/java/org/scijava/Context.java +++ b/src/main/java/org/scijava/Context.java @@ -290,6 +290,9 @@ public Context(final Collection> serviceClasses, new ServiceHelper(this, serviceClasses, strict); serviceHelper.loadServices(); } + + // If JVM shuts down with context still active, clean up after ourselves. + Runtime.getRuntime().addShutdownHook(new Thread(() -> doDispose(false))); } // -- Context methods -- diff --git a/src/main/java/org/scijava/thread/DefaultThreadService.java b/src/main/java/org/scijava/thread/DefaultThreadService.java index f46952d98..e19f41c5f 100644 --- a/src/main/java/org/scijava/thread/DefaultThreadService.java +++ b/src/main/java/org/scijava/thread/DefaultThreadService.java @@ -173,7 +173,14 @@ public synchronized void dispose() { @Override public Thread newThread(final Runnable r) { final String threadName = contextThreadPrefix() + nextThread++; - return new Thread(r, threadName); + final Thread thread = new Thread(r, threadName); + // NB: Use daemon threads for the thread pool, so that idling threads do + // not prevent the JVM shutdown sequence from starting. The application + // context, and therefore the thread service, will try to dispose itself + // upon JVM shutdown, which will invoke executor.shutdown(), so there + // will be a chance for these threads to complete any pending work. + thread.setDaemon(true); + return thread; } // -- Helper methods -- From 0f6f9164eee16923b98cebf143727138281b829c Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 3 May 2023 11:44:27 -0500 Subject: [PATCH 280/383] DefaultThreadService: let running tasks finish We wait up to 5 seconds for them to terminate. I don't really have a good idea whether this is a good amount of time, but it should be more than enough for common scenarios. At some point, the ThreadService interface could gain methods to override this value, but for now, we hardcode it. --- .../org/scijava/thread/DefaultThreadService.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/main/java/org/scijava/thread/DefaultThreadService.java b/src/main/java/org/scijava/thread/DefaultThreadService.java index e19f41c5f..8d0e552bd 100644 --- a/src/main/java/org/scijava/thread/DefaultThreadService.java +++ b/src/main/java/org/scijava/thread/DefaultThreadService.java @@ -39,6 +39,7 @@ import java.util.concurrent.Executors; import java.util.concurrent.Future; import java.util.concurrent.ThreadFactory; +import java.util.concurrent.TimeUnit; import org.scijava.log.LogService; import org.scijava.plugin.Parameter; @@ -58,6 +59,8 @@ public final class DefaultThreadService extends AbstractService implements private static final String SCIJAVA_THREAD_PREFIX = "SciJava-"; + private static final long SHUTDOWN_TIMEOUT = 5000; + private static WeakHashMap parents = new WeakHashMap<>(); @@ -159,11 +162,23 @@ public synchronized void dispose() { disposed = true; if (executor != null) { executor.shutdown(); + try { + executor.awaitTermination(SHUTDOWN_TIMEOUT, TimeUnit.MILLISECONDS); + } + catch (final InterruptedException exc) { + log.debug(exc); + } executor = null; } if (queues != null) { for (final ExecutorService queue : queues.values()) { queue.shutdown(); + try { + queue.awaitTermination(SHUTDOWN_TIMEOUT, TimeUnit.MILLISECONDS); + } + catch (final InterruptedException exc) { + log.debug(exc); + } } } } From 74518c56bc1ae89b184b6d9678f2ec3cd1bb0f5b Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 3 May 2023 11:47:23 -0500 Subject: [PATCH 281/383] DefaultThreadService: fix comment --- src/main/java/org/scijava/thread/DefaultThreadService.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/scijava/thread/DefaultThreadService.java b/src/main/java/org/scijava/thread/DefaultThreadService.java index 8d0e552bd..168f9a991 100644 --- a/src/main/java/org/scijava/thread/DefaultThreadService.java +++ b/src/main/java/org/scijava/thread/DefaultThreadService.java @@ -192,8 +192,8 @@ public Thread newThread(final Runnable r) { // NB: Use daemon threads for the thread pool, so that idling threads do // not prevent the JVM shutdown sequence from starting. The application // context, and therefore the thread service, will try to dispose itself - // upon JVM shutdown, which will invoke executor.shutdown(), so there - // will be a chance for these threads to complete any pending work. + // upon JVM shutdown, which will invoke executor.awaitTermination(), so + // there will be a chance for these threads to complete any pending work. thread.setDaemon(true); return thread; } From 5e7cdbd1216a372dfc0179183013916896b55839 Mon Sep 17 00:00:00 2001 From: Gabriel Selzer Date: Thu, 27 Apr 2023 12:58:19 -0500 Subject: [PATCH 282/383] Add ModuleErroredEvent to convey thrown exceptions --- pom.xml | 2 +- .../java/org/scijava/module/ModuleRunner.java | 73 ++++++----- .../module/event/ModuleErroredEvent.java | 52 ++++++++ .../module/event/ModuleErroredEventTest.java | 114 ++++++++++++++++++ 4 files changed, 212 insertions(+), 29 deletions(-) create mode 100644 src/main/java/org/scijava/module/event/ModuleErroredEvent.java create mode 100644 src/test/java/org/scijava/module/event/ModuleErroredEventTest.java diff --git a/pom.xml b/pom.xml index ad42e0867..6307a4ead 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.92.1-SNAPSHOT + 2.93.0-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. diff --git a/src/main/java/org/scijava/module/ModuleRunner.java b/src/main/java/org/scijava/module/ModuleRunner.java index d5f61890a..4553c83ae 100644 --- a/src/main/java/org/scijava/module/ModuleRunner.java +++ b/src/main/java/org/scijava/module/ModuleRunner.java @@ -39,6 +39,7 @@ import org.scijava.event.EventService; import org.scijava.log.LogService; import org.scijava.module.event.ModuleCanceledEvent; +import org.scijava.module.event.ModuleErroredEvent; import org.scijava.module.event.ModuleExecutedEvent; import org.scijava.module.event.ModuleExecutingEvent; import org.scijava.module.event.ModuleFinishedEvent; @@ -144,36 +145,42 @@ public void run() { final String title = module.getInfo().getTitle(); - // announce start of execution process - if (ss != null) ss.showStatus("Running command: " + title); - if (es != null) es.publish(new ModuleStartedEvent(module)); - - // execute preprocessors - final ModulePreprocessor canceler = preProcess(); - if (canceler != null) { - // module execution was canceled by preprocessor - final String reason = canceler.getCancelReason(); - cancel(reason); - cleanupAndBroadcastCancelation(title, reason); - return; + try { + // announce start of execution process + if (ss != null) ss.showStatus("Running command: " + title); + if (es != null) es.publish(new ModuleStartedEvent(module)); + + // execute preprocessors + final ModulePreprocessor canceler = preProcess(); + if (canceler != null) { + // module execution was canceled by preprocessor + final String reason = canceler.getCancelReason(); + cancel(reason); + cleanupAndBroadcastCancelation(title, reason); + return; + } + + // execute module + if (es != null) es.publish(new ModuleExecutingEvent(module)); + module.run(); + if (isCanceled()) { + // module execution was canceled by the module itself + cleanupAndBroadcastCancelation(title, getCancelReason()); + return; + } + if (es != null) es.publish(new ModuleExecutedEvent(module)); + + // execute postprocessors + postProcess(); + + // announce completion of execution process + if (es != null) es.publish(new ModuleFinishedEvent(module)); + if (ss != null) ss.showStatus("Command finished: " + title); } - - // execute module - if (es != null) es.publish(new ModuleExecutingEvent(module)); - module.run(); - if (isCanceled()) { - // module execution was canceled by the module itself - cleanupAndBroadcastCancelation(title, getCancelReason()); - return; + catch (final Throwable t) { + cleanupAndBroadcastException(title, t); + throw t; } - if (es != null) es.publish(new ModuleExecutedEvent(module)); - - // execute postprocessors - postProcess(); - - // announce completion of execution process - if (es != null) es.publish(new ModuleFinishedEvent(module)); - if (ss != null) ss.showStatus("Command finished: " + title); } // -- Helper methods -- @@ -190,6 +197,16 @@ private void cleanupAndBroadcastCancelation(final String title, } } + private void cleanupAndBroadcastException(final String title, + final Throwable t) + { + if (es != null) es.publish(new ModuleErroredEvent(module, t)); + if (ss != null) { + ss.showStatus("Module errored: " + title); + if (t != null) ss.warn(t.getMessage()); + } + } + private boolean isCanceled() { return module instanceof Cancelable && ((Cancelable) module).isCanceled(); } diff --git a/src/main/java/org/scijava/module/event/ModuleErroredEvent.java b/src/main/java/org/scijava/module/event/ModuleErroredEvent.java new file mode 100644 index 000000000..9fe97438c --- /dev/null +++ b/src/main/java/org/scijava/module/event/ModuleErroredEvent.java @@ -0,0 +1,52 @@ +/* + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2023 SciJava developers. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ + +package org.scijava.module.event; + +import org.scijava.module.Module; + +/** + * An event indicating a module execution has thrown an exception. + * + * @author Gabriel Selzer + */ +public class ModuleErroredEvent extends ModuleExecutionEvent { + + private final Throwable exc; + + public ModuleErroredEvent(final Module module, final Throwable exc) { + super(module); + this.exc = exc; + } + + public Throwable getException() { + return exc; + } + +} diff --git a/src/test/java/org/scijava/module/event/ModuleErroredEventTest.java b/src/test/java/org/scijava/module/event/ModuleErroredEventTest.java new file mode 100644 index 000000000..d818a921b --- /dev/null +++ b/src/test/java/org/scijava/module/event/ModuleErroredEventTest.java @@ -0,0 +1,114 @@ +/*- + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2023 SciJava developers. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ + +package org.scijava.module.event; + +import static org.junit.Assert.assertThrows; +import static org.junit.Assert.assertTrue; + +import org.junit.Before; +import org.junit.Test; +import org.scijava.Context; +import org.scijava.event.EventHandler; +import org.scijava.event.EventService; +import org.scijava.module.AbstractModule; +import org.scijava.module.AbstractModuleInfo; +import org.scijava.module.Module; +import org.scijava.module.ModuleException; +import org.scijava.module.ModuleInfo; +import org.scijava.module.ModuleService; + +/** + * Tests {@link ModuleErroredEvent} behavior. + * + * @author Gabriel Selzer + */ +public class ModuleErroredEventTest { + + private EventService es; + private ModuleService module; + + @Before + public void setUp() { + Context ctx = new Context(); + es = ctx.getService(EventService.class); + module = ctx.getService(ModuleService.class); + } + + @Test + public void testModuleErroredEvent() { + + // Must be a final boolean array to be included in the below closure + final boolean[] caughtException = { false }; + + // Add a new EventHandler to change our state + es.subscribe(new Object() { + + @EventHandler + void onEvent(final ModuleErroredEvent e) { + caughtException[0] = true; + } + }); + + // Run the module, ensure we get the exception + assertThrows(Exception.class, // + () -> module.run(new TestModuleInfo(), false).get()); + assertTrue(caughtException[0]); + } + + static class TestModuleInfo extends AbstractModuleInfo { + + @Override + public String getDelegateClassName() { + return this.getClass().getName(); + } + + @Override + public Class loadDelegateClass() throws ClassNotFoundException { + return this.getClass(); + } + + @Override + public Module createModule() throws ModuleException { + ModuleInfo thisInfo = this; + return new AbstractModule() { + + @Override + public ModuleInfo getInfo() { + return thisInfo; + } + + @Override + public void run() { + throw new RuntimeException("Yay!"); + } + }; + } + } +} From f1e90a40497406a3f80f52f0cd4c0bb52afba284 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 3 May 2023 16:34:30 -0500 Subject: [PATCH 283/383] ModuleErroredEventTest: save ref to subscriber So that it cannot be garbage collected too early. --- .../org/scijava/module/event/ModuleErroredEventTest.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/test/java/org/scijava/module/event/ModuleErroredEventTest.java b/src/test/java/org/scijava/module/event/ModuleErroredEventTest.java index d818a921b..33fe004c3 100644 --- a/src/test/java/org/scijava/module/event/ModuleErroredEventTest.java +++ b/src/test/java/org/scijava/module/event/ModuleErroredEventTest.java @@ -68,13 +68,14 @@ public void testModuleErroredEvent() { final boolean[] caughtException = { false }; // Add a new EventHandler to change our state - es.subscribe(new Object() { + final Object interestedParty = new Object() { @EventHandler void onEvent(final ModuleErroredEvent e) { caughtException[0] = true; } - }); + }; + es.subscribe(interestedParty); // Run the module, ensure we get the exception assertThrows(Exception.class, // From d8b0318c35345d9afab5f2a4be363d52df9959d5 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 3 May 2023 16:35:13 -0500 Subject: [PATCH 284/383] ModuleErroredEventTest: assert correct exception --- .../scijava/module/event/ModuleErroredEventTest.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/test/java/org/scijava/module/event/ModuleErroredEventTest.java b/src/test/java/org/scijava/module/event/ModuleErroredEventTest.java index 33fe004c3..340d6e73d 100644 --- a/src/test/java/org/scijava/module/event/ModuleErroredEventTest.java +++ b/src/test/java/org/scijava/module/event/ModuleErroredEventTest.java @@ -29,8 +29,9 @@ package org.scijava.module.event; +import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertThrows; -import static org.junit.Assert.assertTrue; +import static org.junit.Assert.assertNotNull; import org.junit.Before; import org.junit.Test; @@ -48,6 +49,7 @@ * Tests {@link ModuleErroredEvent} behavior. * * @author Gabriel Selzer + * @author Curtis Rueden */ public class ModuleErroredEventTest { @@ -65,14 +67,14 @@ public void setUp() { public void testModuleErroredEvent() { // Must be a final boolean array to be included in the below closure - final boolean[] caughtException = { false }; + final Throwable[] caughtException = { null }; // Add a new EventHandler to change our state final Object interestedParty = new Object() { @EventHandler void onEvent(final ModuleErroredEvent e) { - caughtException[0] = true; + caughtException[0] = e.getException(); } }; es.subscribe(interestedParty); @@ -80,7 +82,8 @@ void onEvent(final ModuleErroredEvent e) { // Run the module, ensure we get the exception assertThrows(Exception.class, // () -> module.run(new TestModuleInfo(), false).get()); - assertTrue(caughtException[0]); + assertNotNull(caughtException[0]); + assertEquals("Yay!", caughtException[0].getMessage()); } static class TestModuleInfo extends AbstractModuleInfo { From 5f5d3f7285e05c6616569cc2b44d634986d1313d Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 3 May 2023 16:40:11 -0500 Subject: [PATCH 285/383] ModuleRunner: make vocabulary consistent Yes, it might not be a Command plugin. But the other messages all use the term "Command" rather than "Module". Let's stay consistent. --- src/main/java/org/scijava/module/ModuleRunner.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/scijava/module/ModuleRunner.java b/src/main/java/org/scijava/module/ModuleRunner.java index 4553c83ae..4831aa6da 100644 --- a/src/main/java/org/scijava/module/ModuleRunner.java +++ b/src/main/java/org/scijava/module/ModuleRunner.java @@ -202,7 +202,7 @@ private void cleanupAndBroadcastException(final String title, { if (es != null) es.publish(new ModuleErroredEvent(module, t)); if (ss != null) { - ss.showStatus("Module errored: " + title); + ss.showStatus("Command errored: " + title); if (t != null) ss.warn(t.getMessage()); } } From 0b249a401c7ffb89e194cbbefe554fb5f4c89b1b Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 3 May 2023 16:41:18 -0500 Subject: [PATCH 286/383] Bump to next development cycle Signed-off-by: Curtis Rueden --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 6307a4ead..59ba9d45b 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.93.0-SNAPSHOT + 2.93.1-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From 3b6c40a303020460350cdbe757dc14f9ef20ed33 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Thu, 11 May 2023 15:06:47 -0500 Subject: [PATCH 287/383] ModuleRunner: use the log, not status, upon error The log is for exceptional conditions, whereas the status reporting mechanism is for normal ones. --- src/main/java/org/scijava/module/ModuleRunner.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/main/java/org/scijava/module/ModuleRunner.java b/src/main/java/org/scijava/module/ModuleRunner.java index 4831aa6da..d9f25bb65 100644 --- a/src/main/java/org/scijava/module/ModuleRunner.java +++ b/src/main/java/org/scijava/module/ModuleRunner.java @@ -201,10 +201,7 @@ private void cleanupAndBroadcastException(final String title, final Throwable t) { if (es != null) es.publish(new ModuleErroredEvent(module, t)); - if (ss != null) { - ss.showStatus("Command errored: " + title); - if (t != null) ss.warn(t.getMessage()); - } + if (log != null) log.error("Command errored: " + title, t); } private boolean isCanceled() { From 113c61730b13877beea3a0ea283392557a0ef7a6 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Thu, 11 May 2023 15:14:53 -0500 Subject: [PATCH 288/383] ModuleRunner: only log unhandled errors If someone wants to subscribe to ModuleErroredEvent and handle it, they can now consume the event to prevent it from being logged. --- src/main/java/org/scijava/module/ModuleRunner.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/scijava/module/ModuleRunner.java b/src/main/java/org/scijava/module/ModuleRunner.java index d9f25bb65..8fa173225 100644 --- a/src/main/java/org/scijava/module/ModuleRunner.java +++ b/src/main/java/org/scijava/module/ModuleRunner.java @@ -200,8 +200,12 @@ private void cleanupAndBroadcastCancelation(final String title, private void cleanupAndBroadcastException(final String title, final Throwable t) { - if (es != null) es.publish(new ModuleErroredEvent(module, t)); - if (log != null) log.error("Command errored: " + title, t); + final ModuleErroredEvent evt = new ModuleErroredEvent(module, t); + if (es != null) es.publish(evt); + if (log != null && !evt.isConsumed()) { + // Nothing else handled the error, so log it. + log.error("Command errored: " + title, t); + } } private boolean isCanceled() { From f8068747370945591f60b83ee4a8fcfc4b735b54 Mon Sep 17 00:00:00 2001 From: Gabriel Selzer Date: Thu, 11 May 2023 16:18:02 -0500 Subject: [PATCH 289/383] Choose UserInterfaces intelligently --- .../java/org/scijava/ui/DefaultUIService.java | 38 +++++++++++++------ 1 file changed, 27 insertions(+), 11 deletions(-) diff --git a/src/main/java/org/scijava/ui/DefaultUIService.java b/src/main/java/org/scijava/ui/DefaultUIService.java index 4750f31ef..60fc08693 100644 --- a/src/main/java/org/scijava/ui/DefaultUIService.java +++ b/src/main/java/org/scijava/ui/DefaultUIService.java @@ -244,17 +244,17 @@ public List>> getViewerPlugins() { @Override public void show(final Object o) { - getDefaultUI().show(o); + getVisibleUI(true).show(o); } @Override public void show(final String name, final Object o) { - getDefaultUI().show(name, o); + getVisibleUI(true).show(name, o); } @Override public void show(final Display display) { - getDefaultUI().show(display); + getVisibleUI(true).show(display); } @Override @@ -309,16 +309,15 @@ public DialogPrompt.Result showDialog(final String message, final String title, final DialogPrompt.MessageType messageType, final DialogPrompt.OptionType optionType) { - final UserInterface ui = getDefaultUI(); + UserInterface ui = getVisibleUI(false); if (ui == null) return null; - final DialogPrompt dialogPrompt = - ui.dialogPrompt(message, title, messageType, optionType); + final DialogPrompt dialogPrompt = ui.dialogPrompt(message, title, messageType, optionType); return dialogPrompt == null ? null : dialogPrompt.prompt(); } @Override public File chooseFile(final File file, final String style) { - final UserInterface ui = getDefaultUI(); + final UserInterface ui = getVisibleUI(true); return ui == null ? null : ui.chooseFile(file, style); } @@ -326,19 +325,19 @@ public File chooseFile(final File file, final String style) { public File chooseFile(final String title, final File file, final String style) { - final UserInterface ui = getDefaultUI(); + final UserInterface ui = getVisibleUI(true); return ui == null ? null : ui.chooseFile(title, file, style); } @Override public File[] chooseFiles(File parent, File[] files, FileFilter filter, String style) { - final UserInterface ui = getDefaultUI(); + final UserInterface ui = getVisibleUI(true); return ui == null ? null : ui.chooseFiles(parent, files, filter, style); } @Override public List chooseFiles(File parent, List fileList, FileFilter filter, String style) { - final UserInterface ui = getDefaultUI(); + final UserInterface ui = getVisibleUI(true); return ui == null ? null : ui.chooseFiles(parent, fileList, filter, style); } @@ -346,7 +345,7 @@ public List chooseFiles(File parent, List fileList, FileFilter filte public void showContextMenu(final String menuRoot, final Display display, final int x, final int y) { - final UserInterface ui = getDefaultUI(); + final UserInterface ui = getVisibleUI(true); if (ui != null) ui.showContextMenu(menuRoot, display, x, y); } @@ -542,4 +541,21 @@ private void addUserInterface(final String name, final UserInterface ui) { private String getTitle() { return appService.getApp().getTitle(); } + + private UserInterface getVisibleUI(final boolean forceShow) { + // finds the first (highest priority) VISIBLE UserInterface + // if none are visible, then we show default UI if the caller indicated so. + UserInterface defaultUI = getDefaultUI(); + if (defaultUI == null) return null; + if (defaultUI.isVisible()) return defaultUI; + else if(getVisibleUIs().size() > 0) { + return getVisibleUIs().get(0); + } + + if (forceShow) { + showUI(defaultUI); + return defaultUI; + } + return null; + } } From ffbf376d55eba2c059f373f2257db56afff11262 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Sat, 13 May 2023 09:18:45 -0500 Subject: [PATCH 290/383] Bump to next development cycle Signed-off-by: Curtis Rueden --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 59ba9d45b..5c21533fc 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.93.1-SNAPSHOT + 2.93.2-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From c5202ada23bb107f13ab01be48673024d197951b Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 17 May 2023 11:26:40 -0500 Subject: [PATCH 291/383] IOPlugin: fix warnings --- src/main/java/org/scijava/io/IOPlugin.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/scijava/io/IOPlugin.java b/src/main/java/org/scijava/io/IOPlugin.java index 766f2e55b..a6c2536a4 100644 --- a/src/main/java/org/scijava/io/IOPlugin.java +++ b/src/main/java/org/scijava/io/IOPlugin.java @@ -32,7 +32,6 @@ import java.io.IOException; import java.net.URISyntaxException; -import org.scijava.io.location.FileLocation; import org.scijava.io.location.Location; import org.scijava.io.location.LocationService; import org.scijava.plugin.HandlerPlugin; @@ -58,7 +57,6 @@ public interface IOPlugin extends HandlerPlugin { Class getDataType(); /** Checks whether the I/O plugin can open data from the given source. */ - @SuppressWarnings("unused") default boolean supportsOpen(final String source) { try { return supportsOpen(context().service(LocationService.class).resolve(source)); @@ -69,12 +67,12 @@ default boolean supportsOpen(final String source) { } /** Checks whether the I/O plugin can open data from the given location. */ + @SuppressWarnings("unused") default boolean supportsOpen(final Location source) { return false; } /** Checks whether the I/O plugin can save data to the given destination. */ - @SuppressWarnings("unused") default boolean supportsSave(final String destination) { try { return supportsSave(context().service(LocationService.class).resolve(destination)); @@ -85,6 +83,7 @@ default boolean supportsSave(final String destination) { } /** Checks whether the I/O plugin can save data to the given location. */ + @SuppressWarnings("unused") default boolean supportsSave(final Location destination) { return false; } @@ -108,12 +107,12 @@ default D open(final String source) throws IOException { } /** Opens data from the given location. */ + @SuppressWarnings("unused") default D open(final Location source) throws IOException { throw new UnsupportedOperationException(); } /** Saves the given data to the specified destination. */ - @SuppressWarnings("unused") default void save(final D data, final String destination) throws IOException { try { save(data, context().service(LocationService.class).resolve(destination)); @@ -124,6 +123,7 @@ default void save(final D data, final String destination) throws IOException { } /** Saves the given data to the specified location. */ + @SuppressWarnings("unused") default void save(final D data, final Location destination) throws IOException { throw new UnsupportedOperationException(); } From 02998eedceb1fc893222f87a30bcc514351527d3 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 17 May 2023 11:33:12 -0500 Subject: [PATCH 292/383] Vendor the org.bushe:eventbus library We need to fix a bug, but the upstream library is not actively maintained anymore. Including the code in scijava-common makes it easier to make changes to the codebase directly. --- pom.xml | 10 +- .../org/scijava/event/DefaultEventBus.java | 10 +- .../scijava/event/DefaultEventService.java | 8 +- .../java/org/scijava/event/EventHandler.java | 4 +- .../org/scijava/event/EventSubscriber.java | 2 +- .../bushe/AbstractEventServiceEvent.java | 56 + .../org/scijava/event/bushe/CleanupEvent.java | 62 + .../bushe/ContainerEventServiceAction.java | 71 + .../bushe/ContainerEventServiceFinder.java | 84 + .../bushe/ContainerEventServiceRegistrar.java | 248 ++ .../bushe/ContainerEventServiceSupplier.java | 42 + .../org/scijava/event/bushe/EventBus.java | 423 ++++ .../scijava/event/bushe/EventBusAction.java | 41 + .../org/scijava/event/bushe/EventService.java | 932 +++++++ .../event/bushe/EventServiceAction.java | 214 ++ .../event/bushe/EventServiceEvent.java | 30 + .../bushe/EventServiceExistsException.java | 8 + .../event/bushe/EventServiceLocator.java | 174 ++ .../scijava/event/bushe/EventSubscriber.java | 35 + .../event/bushe/EventTopicSubscriber.java | 38 + .../java/org/scijava/event/bushe/Logger.java | 218 ++ .../org/scijava/event/bushe/ObjectEvent.java | 42 + .../org/scijava/event/bushe/Prioritized.java | 14 + .../bushe/PrioritizedEventSubscriber.java | 8 + .../PrioritizedEventTopicSubscriber.java | 8 + .../scijava/event/bushe/ProxySubscriber.java | 45 + .../event/bushe/PublicationStatus.java | 30 + .../event/bushe/PublicationStatusTracker.java | 24 + .../event/bushe/SubscriberTimingEvent.java | 116 + .../event/bushe/SwingEventService.java | 93 + .../event/bushe/ThreadSafeEventService.java | 2216 +++++++++++++++++ .../event/bushe/VetoEventListener.java | 38 + .../event/bushe/VetoTopicEventListener.java | 25 + .../annotation/AbstractProxySubscriber.java | 169 ++ .../bushe/annotation/AnnotationProcessor.java | 562 +++++ .../bushe/annotation/BaseProxySubscriber.java | 133 + .../bushe/annotation/EventSubscriber.java | 110 + .../EventTopicPatternSubscriber.java | 35 + .../annotation/EventTopicSubscriber.java | 108 + .../ProxyTopicPatternSubscriber.java | 88 + .../annotation/ProxyTopicSubscriber.java | 147 ++ .../bushe/annotation/ReferenceStrength.java | 11 + .../RuntimeTopicEventSubscriber.java | 38 + .../RuntimeTopicPatternEventSubscriber.java | 38 + ...heClassOfTheAnnotatedMethodsParameter.java | 15 + .../VetoRuntimeTopicPatternSubscriber.java | 38 + .../VetoRuntimeTopicSubscriber.java | 38 + .../bushe/annotation/VetoSubscriber.java | 69 + .../VetoTopicPatternSubscriber.java | 66 + .../bushe/annotation/VetoTopicSubscriber.java | 66 + .../event/bushe/exception/SwingException.java | 128 + .../event/bushe/generics/TypeReference.java | 52 + .../scijava/event/bushe/BadEventService.java | 10 + .../scijava/event/bushe/EBTestCounter.java | 10 + .../java/org/scijava/event/bushe/EDTUtil.java | 36 + .../bushe/EventServiceLocatorTestCase.java | 32 + .../event/bushe/SubscriberForTest.java | 43 + .../bushe/TestContainerEventService.java | 218 ++ .../event/bushe/TestDefaultEventService.java | 1397 +++++++++++ .../scijava/event/bushe/TestEventAction.java | 181 ++ .../org/scijava/event/bushe/TestEventBus.java | 570 +++++ .../event/bushe/TestEventBusServiceClass.java | 32 + .../TestEventBusServiceClassBadType.java | 30 + .../event/bushe/TestEventBusTiming.java | 107 + .../event/bushe/TestEventServiceLocator.java | 50 + .../event/bushe/TestEventServiceLocator2.java | 46 + .../event/bushe/TestEventServiceLocator3.java | 44 + .../event/bushe/TestEventServiceLocator4.java | 44 + .../event/bushe/TestEventServiceLocator5.java | 43 + .../event/bushe/TestEventServiceLocator6.java | 44 + .../event/bushe/TestEventServiceLocator7.java | 49 + .../TestEventServiceLocatorConfiguration.java | 28 + ...TestEventServiceLocatorConfiguration2.java | 28 + ...TestEventServiceLocatorConfiguration3.java | 28 + ...TestEventServiceLocatorConfiguration4.java | 27 + .../scijava/event/bushe/TestPerformance.java | 75 + .../bushe/TestPrioritizedSubscribers.java | 593 +++++ .../event/bushe/TestPublicationStates.java | 67 + .../event/bushe/TopicSubscriberForTest.java | 35 + .../event/bushe/VetoEventListenerForTest.java | 24 + .../bushe/VetoTopicEventListenerForTest.java | 24 + .../bushe/annotation/AbstractSubscriber.java | 27 + .../annotation/AnnotatedEventSubscriber.java | 90 + .../annotation/AnnotatedVetoSubscriber.java | 85 + .../AnotherAnnotatedEventSubscriber.java | 48 + ...AnotherDoubleAnnotatedEventSubscriber.java | 23 + .../bushe/annotation/ConcreteSubscriber.java | 17 + .../DoubleAnnotatedEventSubscriber.java | 35 + .../bushe/annotation/Issue15Subscriber.java | 73 + .../bushe/annotation/Issue15Subscriber2.java | 69 + .../event/bushe/annotation/MyData.java | 17 + .../StrongAnnotatedEventSubscriber.java | 30 + .../StrongClassAnnotatedEventSubscriber.java | 24 + .../TestAnnotationInAbstractClass.java | 20 + .../annotation/TestSubscriberAnnotation.java | 366 +++ .../TestSubscriberAnnotationMemoryLeaks.java | 336 +++ .../WeakClassAnnotatedEventSubscriber.java | 24 + .../bushe/annotation/runtime/Factory.java | 12 + .../RuntimeTopicPatternSubscriber.java | 35 + .../runtime/RuntimeTopicSubscriber.java | 34 + .../runtime/SubscriberForTesting.java | 5 + .../bushe/generics/DataRequestEvent.java | 9 + .../bushe/generics/GenericReflection.java | 125 + 103 files changed, 12679 insertions(+), 20 deletions(-) create mode 100644 src/main/java/org/scijava/event/bushe/AbstractEventServiceEvent.java create mode 100644 src/main/java/org/scijava/event/bushe/CleanupEvent.java create mode 100644 src/main/java/org/scijava/event/bushe/ContainerEventServiceAction.java create mode 100644 src/main/java/org/scijava/event/bushe/ContainerEventServiceFinder.java create mode 100644 src/main/java/org/scijava/event/bushe/ContainerEventServiceRegistrar.java create mode 100644 src/main/java/org/scijava/event/bushe/ContainerEventServiceSupplier.java create mode 100644 src/main/java/org/scijava/event/bushe/EventBus.java create mode 100644 src/main/java/org/scijava/event/bushe/EventBusAction.java create mode 100644 src/main/java/org/scijava/event/bushe/EventService.java create mode 100644 src/main/java/org/scijava/event/bushe/EventServiceAction.java create mode 100644 src/main/java/org/scijava/event/bushe/EventServiceEvent.java create mode 100644 src/main/java/org/scijava/event/bushe/EventServiceExistsException.java create mode 100644 src/main/java/org/scijava/event/bushe/EventServiceLocator.java create mode 100644 src/main/java/org/scijava/event/bushe/EventSubscriber.java create mode 100644 src/main/java/org/scijava/event/bushe/EventTopicSubscriber.java create mode 100644 src/main/java/org/scijava/event/bushe/Logger.java create mode 100644 src/main/java/org/scijava/event/bushe/ObjectEvent.java create mode 100644 src/main/java/org/scijava/event/bushe/Prioritized.java create mode 100644 src/main/java/org/scijava/event/bushe/PrioritizedEventSubscriber.java create mode 100644 src/main/java/org/scijava/event/bushe/PrioritizedEventTopicSubscriber.java create mode 100644 src/main/java/org/scijava/event/bushe/ProxySubscriber.java create mode 100644 src/main/java/org/scijava/event/bushe/PublicationStatus.java create mode 100644 src/main/java/org/scijava/event/bushe/PublicationStatusTracker.java create mode 100644 src/main/java/org/scijava/event/bushe/SubscriberTimingEvent.java create mode 100644 src/main/java/org/scijava/event/bushe/SwingEventService.java create mode 100644 src/main/java/org/scijava/event/bushe/ThreadSafeEventService.java create mode 100644 src/main/java/org/scijava/event/bushe/VetoEventListener.java create mode 100644 src/main/java/org/scijava/event/bushe/VetoTopicEventListener.java create mode 100644 src/main/java/org/scijava/event/bushe/annotation/AbstractProxySubscriber.java create mode 100644 src/main/java/org/scijava/event/bushe/annotation/AnnotationProcessor.java create mode 100644 src/main/java/org/scijava/event/bushe/annotation/BaseProxySubscriber.java create mode 100644 src/main/java/org/scijava/event/bushe/annotation/EventSubscriber.java create mode 100644 src/main/java/org/scijava/event/bushe/annotation/EventTopicPatternSubscriber.java create mode 100644 src/main/java/org/scijava/event/bushe/annotation/EventTopicSubscriber.java create mode 100644 src/main/java/org/scijava/event/bushe/annotation/ProxyTopicPatternSubscriber.java create mode 100644 src/main/java/org/scijava/event/bushe/annotation/ProxyTopicSubscriber.java create mode 100644 src/main/java/org/scijava/event/bushe/annotation/ReferenceStrength.java create mode 100644 src/main/java/org/scijava/event/bushe/annotation/RuntimeTopicEventSubscriber.java create mode 100644 src/main/java/org/scijava/event/bushe/annotation/RuntimeTopicPatternEventSubscriber.java create mode 100644 src/main/java/org/scijava/event/bushe/annotation/UseTheClassOfTheAnnotatedMethodsParameter.java create mode 100644 src/main/java/org/scijava/event/bushe/annotation/VetoRuntimeTopicPatternSubscriber.java create mode 100644 src/main/java/org/scijava/event/bushe/annotation/VetoRuntimeTopicSubscriber.java create mode 100644 src/main/java/org/scijava/event/bushe/annotation/VetoSubscriber.java create mode 100644 src/main/java/org/scijava/event/bushe/annotation/VetoTopicPatternSubscriber.java create mode 100644 src/main/java/org/scijava/event/bushe/annotation/VetoTopicSubscriber.java create mode 100644 src/main/java/org/scijava/event/bushe/exception/SwingException.java create mode 100644 src/main/java/org/scijava/event/bushe/generics/TypeReference.java create mode 100644 src/test/java/org/scijava/event/bushe/BadEventService.java create mode 100644 src/test/java/org/scijava/event/bushe/EBTestCounter.java create mode 100644 src/test/java/org/scijava/event/bushe/EDTUtil.java create mode 100644 src/test/java/org/scijava/event/bushe/EventServiceLocatorTestCase.java create mode 100644 src/test/java/org/scijava/event/bushe/SubscriberForTest.java create mode 100644 src/test/java/org/scijava/event/bushe/TestContainerEventService.java create mode 100644 src/test/java/org/scijava/event/bushe/TestDefaultEventService.java create mode 100644 src/test/java/org/scijava/event/bushe/TestEventAction.java create mode 100644 src/test/java/org/scijava/event/bushe/TestEventBus.java create mode 100644 src/test/java/org/scijava/event/bushe/TestEventBusServiceClass.java create mode 100644 src/test/java/org/scijava/event/bushe/TestEventBusServiceClassBadType.java create mode 100644 src/test/java/org/scijava/event/bushe/TestEventBusTiming.java create mode 100644 src/test/java/org/scijava/event/bushe/TestEventServiceLocator.java create mode 100644 src/test/java/org/scijava/event/bushe/TestEventServiceLocator2.java create mode 100644 src/test/java/org/scijava/event/bushe/TestEventServiceLocator3.java create mode 100644 src/test/java/org/scijava/event/bushe/TestEventServiceLocator4.java create mode 100644 src/test/java/org/scijava/event/bushe/TestEventServiceLocator5.java create mode 100644 src/test/java/org/scijava/event/bushe/TestEventServiceLocator6.java create mode 100644 src/test/java/org/scijava/event/bushe/TestEventServiceLocator7.java create mode 100644 src/test/java/org/scijava/event/bushe/TestEventServiceLocatorConfiguration.java create mode 100644 src/test/java/org/scijava/event/bushe/TestEventServiceLocatorConfiguration2.java create mode 100644 src/test/java/org/scijava/event/bushe/TestEventServiceLocatorConfiguration3.java create mode 100644 src/test/java/org/scijava/event/bushe/TestEventServiceLocatorConfiguration4.java create mode 100644 src/test/java/org/scijava/event/bushe/TestPerformance.java create mode 100644 src/test/java/org/scijava/event/bushe/TestPrioritizedSubscribers.java create mode 100644 src/test/java/org/scijava/event/bushe/TestPublicationStates.java create mode 100644 src/test/java/org/scijava/event/bushe/TopicSubscriberForTest.java create mode 100644 src/test/java/org/scijava/event/bushe/VetoEventListenerForTest.java create mode 100644 src/test/java/org/scijava/event/bushe/VetoTopicEventListenerForTest.java create mode 100644 src/test/java/org/scijava/event/bushe/annotation/AbstractSubscriber.java create mode 100644 src/test/java/org/scijava/event/bushe/annotation/AnnotatedEventSubscriber.java create mode 100644 src/test/java/org/scijava/event/bushe/annotation/AnnotatedVetoSubscriber.java create mode 100644 src/test/java/org/scijava/event/bushe/annotation/AnotherAnnotatedEventSubscriber.java create mode 100644 src/test/java/org/scijava/event/bushe/annotation/AnotherDoubleAnnotatedEventSubscriber.java create mode 100644 src/test/java/org/scijava/event/bushe/annotation/ConcreteSubscriber.java create mode 100644 src/test/java/org/scijava/event/bushe/annotation/DoubleAnnotatedEventSubscriber.java create mode 100644 src/test/java/org/scijava/event/bushe/annotation/Issue15Subscriber.java create mode 100644 src/test/java/org/scijava/event/bushe/annotation/Issue15Subscriber2.java create mode 100644 src/test/java/org/scijava/event/bushe/annotation/MyData.java create mode 100644 src/test/java/org/scijava/event/bushe/annotation/StrongAnnotatedEventSubscriber.java create mode 100644 src/test/java/org/scijava/event/bushe/annotation/StrongClassAnnotatedEventSubscriber.java create mode 100644 src/test/java/org/scijava/event/bushe/annotation/TestAnnotationInAbstractClass.java create mode 100644 src/test/java/org/scijava/event/bushe/annotation/TestSubscriberAnnotation.java create mode 100644 src/test/java/org/scijava/event/bushe/annotation/TestSubscriberAnnotationMemoryLeaks.java create mode 100644 src/test/java/org/scijava/event/bushe/annotation/WeakClassAnnotatedEventSubscriber.java create mode 100644 src/test/java/org/scijava/event/bushe/annotation/runtime/Factory.java create mode 100644 src/test/java/org/scijava/event/bushe/annotation/runtime/RuntimeTopicPatternSubscriber.java create mode 100644 src/test/java/org/scijava/event/bushe/annotation/runtime/RuntimeTopicSubscriber.java create mode 100644 src/test/java/org/scijava/event/bushe/annotation/runtime/SubscriberForTesting.java create mode 100644 src/test/java/org/scijava/event/bushe/generics/DataRequestEvent.java create mode 100644 src/test/java/org/scijava/event/bushe/generics/GenericReflection.java diff --git a/pom.xml b/pom.xml index 5c21533fc..d2abba36d 100644 --- a/pom.xml +++ b/pom.xml @@ -167,6 +167,7 @@ bsd_2 SciJava Common shared library for SciJava software. SciJava developers. + **/bushe/** @@ -176,13 +177,6 @@ parsington - - - org.bushe - eventbus - 1.4 - - junit @@ -193,7 +187,7 @@ org.mockito mockito-core test - + diff --git a/src/main/java/org/scijava/event/DefaultEventBus.java b/src/main/java/org/scijava/event/DefaultEventBus.java index 843bd92b2..a85989de8 100644 --- a/src/main/java/org/scijava/event/DefaultEventBus.java +++ b/src/main/java/org/scijava/event/DefaultEventBus.java @@ -34,18 +34,18 @@ import java.util.Arrays; import java.util.List; -import org.bushe.swing.event.CleanupEvent; -import org.bushe.swing.event.ThreadSafeEventService; +import org.scijava.event.bushe.CleanupEvent; +import org.scijava.event.bushe.ThreadSafeEventService; import org.scijava.log.LogService; import org.scijava.service.Service; import org.scijava.thread.ThreadService; /** - * An {@link org.bushe.swing.event.EventService} implementation for SciJava. + * An {@link org.scijava.event.bushe.EventService} implementation for SciJava. *

    * It is called "DefaultEventBus" rather than "DefaultEventService" to avoid a * name clash with {@link DefaultEventService}, which is not an - * {@link org.bushe.swing.event.EventService} but rather a SciJava + * {@link org.scijava.event.bushe.EventService} but rather a SciJava * {@link Service} implementation. *

    * @@ -112,7 +112,7 @@ public void publishLater(final String topicName, final Object eventObj) { getVetoEventListeners(topicName), null); } - // -- org.bushe.swing.event.EventService methods -- + // -- org.scijava.event.bushe.EventService methods -- @Override public void publish(final Object event) { diff --git a/src/main/java/org/scijava/event/DefaultEventService.java b/src/main/java/org/scijava/event/DefaultEventService.java index fc5f6f3d6..e82d844a5 100644 --- a/src/main/java/org/scijava/event/DefaultEventService.java +++ b/src/main/java/org/scijava/event/DefaultEventService.java @@ -40,9 +40,9 @@ import java.util.Map; import java.util.WeakHashMap; -import org.bushe.swing.event.annotation.AbstractProxySubscriber; -import org.bushe.swing.event.annotation.BaseProxySubscriber; -import org.bushe.swing.event.annotation.ReferenceStrength; +import org.scijava.event.bushe.annotation.AbstractProxySubscriber; +import org.scijava.event.bushe.annotation.BaseProxySubscriber; +import org.scijava.event.bushe.annotation.ReferenceStrength; import org.scijava.Priority; import org.scijava.log.LogService; import org.scijava.plugin.Parameter; @@ -263,7 +263,7 @@ private synchronized void keepIt(final Object o, final ProxySubscriber subscr * Helper class used by {@link #subscribe(Object)}. *

    * Recapitulates some logic from {@link BaseProxySubscriber}, because that - * class implements {@link org.bushe.swing.event.EventSubscriber} as a raw + * class implements {@link org.scijava.event.bushe.EventSubscriber} as a raw * type, which is incompatible with this class implementing SciJava's * {@link EventSubscriber} as a typed interface; it becomes impossible to * implement both {@code onEvent(Object)} and {@code onEvent(E)}. diff --git a/src/main/java/org/scijava/event/EventHandler.java b/src/main/java/org/scijava/event/EventHandler.java index 7547b3789..27e0d7bbc 100644 --- a/src/main/java/org/scijava/event/EventHandler.java +++ b/src/main/java/org/scijava/event/EventHandler.java @@ -40,10 +40,10 @@ * handling methods and annotating each with @{@link EventHandler}. *

    * Note to developers: This annotation serves exactly the same purpose as - * EventBus's {@link org.bushe.swing.event.annotation.EventSubscriber} + * EventBus's {@link org.scijava.event.bushe.annotation.EventSubscriber} * annotation, recapitulating a subset of the same functionality. We do this to * avoid third party code depending directly on EventBus. That is, we do not - * wish to require SciJava developers to {@code import org.bushe.swing.event.*} + * wish to require SciJava developers to {@code import org.scijava.event.bushe.*} * or similar. In this way, EventBus is isolated as only a transitive dependency * of downstream code, rather than a direct dependency. Unfortunately, because * Java annotation interfaces cannot utilize inheritance, we have to diff --git a/src/main/java/org/scijava/event/EventSubscriber.java b/src/main/java/org/scijava/event/EventSubscriber.java index f6e189035..a36181639 100644 --- a/src/main/java/org/scijava/event/EventSubscriber.java +++ b/src/main/java/org/scijava/event/EventSubscriber.java @@ -44,7 +44,7 @@ * @param Type of event for which to listen */ public interface EventSubscriber extends - org.bushe.swing.event.EventSubscriber + org.scijava.event.bushe.EventSubscriber { @Override diff --git a/src/main/java/org/scijava/event/bushe/AbstractEventServiceEvent.java b/src/main/java/org/scijava/event/bushe/AbstractEventServiceEvent.java new file mode 100644 index 000000000..3c4b84b5c --- /dev/null +++ b/src/main/java/org/scijava/event/bushe/AbstractEventServiceEvent.java @@ -0,0 +1,56 @@ +/** + * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com + * + * Licensed 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.scijava.event.bushe; + +/** + * Convenience base class for EventServiceEvents in the application. Provides the convenience of + * holding the event source publication and event status. It is not necessary to use this event class when + * using an EventService. + * + * @author Michael Bushe michael@bushe.com + */ +public abstract class AbstractEventServiceEvent implements EventServiceEvent, PublicationStatusTracker { + + private Object source = null; + protected final Object stateLock = new Object(); + private PublicationStatus publicationStatus = PublicationStatus.Unpublished; + + /** + * Default constructor + * + * @param source the source of the event + */ + public AbstractEventServiceEvent(Object source) { + this.source = source; + } + + /** @return the source of this event */ + public Object getSource() { + return source; + } + + public PublicationStatus getPublicationStatus() { + synchronized (stateLock) { + return publicationStatus; + } + } + + public void setPublicationStatus(PublicationStatus status) { + synchronized (stateLock) { + publicationStatus = status; + } + } +} diff --git a/src/main/java/org/scijava/event/bushe/CleanupEvent.java b/src/main/java/org/scijava/event/bushe/CleanupEvent.java new file mode 100644 index 000000000..c233e1dc0 --- /dev/null +++ b/src/main/java/org/scijava/event/bushe/CleanupEvent.java @@ -0,0 +1,62 @@ +/** + * Copyright 2007 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com + * + * Licensed 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.scijava.event.bushe; + +/** + * Published when the ThreadSafeEventService cleans up stale subscribers. + * @author Michael Bushe + */ +public class CleanupEvent { + + /** The status of the cleanup.*/ + public enum Status { + /** Timer has started the cleanup task. Will be followed by at least one more CleanupEvent.*/ + STARTING, + /** Task has determined there's cleanup to do.*/ + OVER_STOP_THRESHOLD_CLEANING_BEGUN, + /** Task has determined there's no cleanup to do.*/ + UNDER_STOP_THRESHOLD_CLEANING_CANCELLED, + /** Finished cleaning up task.*/ + FINISHED_CLEANING; + } + + private Status status; + private int totalWeakRefsAndProxies; + private Integer numStaleSubscribersCleaned; + + public CleanupEvent(Status status, int totalWeakRefsAndProxies, Integer numStaleSubscribersCleaned) { + this.status = status; + this.totalWeakRefsAndProxies = totalWeakRefsAndProxies; + this.numStaleSubscribersCleaned = numStaleSubscribersCleaned; + } + + public Status getStatus() { + return status; + } + + /** Total weak refs and ProxySubscribers subscribed. */ + public int getTotalWeakRefsAndProxies() { + return totalWeakRefsAndProxies; + } + + /** + * Null unless status is FINISHED_CLEANING. + * @return the number of stale subscribers cleaned during the cleanup run. + */ + public Integer getNumStaleSubscribersCleaned() { + return numStaleSubscribersCleaned; + } +} diff --git a/src/main/java/org/scijava/event/bushe/ContainerEventServiceAction.java b/src/main/java/org/scijava/event/bushe/ContainerEventServiceAction.java new file mode 100644 index 000000000..8e71a5a69 --- /dev/null +++ b/src/main/java/org/scijava/event/bushe/ContainerEventServiceAction.java @@ -0,0 +1,71 @@ +/** + * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com + * + * Licensed 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.scijava.event.bushe; + +import java.awt.Component; +import java.awt.event.ActionEvent; +import javax.swing.ImageIcon; + +/** + * When fired, this action publishes an ActionEvent on a Container EventService. + * See {@link EventServiceAction} for more information. + *

    + * By default, the Container EventService is found by asking the ContainerEventServiceFinder to find the EventService + * for the source of the fired ActionEvent, which must be a java.awt.Component and contained in a hierarchy (the source + * must have been added to another Swing container). If the action was on a button, this means the container hierarchy + * of the button is walked (up) until a ContainerEventServiceSupplier is found or until the top of the hierarchy is + * reached, at which point a ContainerEventService is created automatically on the fly via the top container's + * putClientProperty() method using the key {@link ContainerEventServiceFinder#CLIENT_PROPERTY_KEY_TOP_LEVEL_EVENT_SERVICE}. + * If the event is from a JPopupMenu then the popup menu's invoker's hierarchy is walked. + *

    + * To exhibit other behavior, override the getSwingEventService() to return another EventService. For example, the + * creator of a popup menu may pass itself to the ContainerEventServiceFinder to return a parent's EventService. + *

    + * + * @author Michael Bushe michael@bushe.com + * @see EventServiceAction for further documentation + * @see ContainerEventServiceFinder on how the service is found + */ +public class ContainerEventServiceAction extends EventServiceAction { + public ContainerEventServiceAction() { + } + + public ContainerEventServiceAction(String actionName, ImageIcon icon) { + super(actionName, icon); + } + + protected EventService getEventService(ActionEvent event) { + Component comp = null; + try { + if (event.getSource() instanceof Component) { + comp = (Component) event.getSource(); + } + if (comp == null) { + if (getThrowsExceptionOnNullEventService()) { + throw new RuntimeException("ActionEvent source was null, could not find event bus, must override getContainerEventService in action with id:" + getName()); + } + } else { + return ContainerEventServiceFinder.getEventService(comp); + } + } catch (ClassCastException ex) { + if (getThrowsExceptionOnNullEventService()) { + throw new RuntimeException("ActionEvent source was not a component (" + (comp == null ? "null" : comp.getClass() + "") + "), must override getContainerEventService in action with id:" + getName(), ex); + } + } + return null; + } +} + diff --git a/src/main/java/org/scijava/event/bushe/ContainerEventServiceFinder.java b/src/main/java/org/scijava/event/bushe/ContainerEventServiceFinder.java new file mode 100644 index 000000000..b62cc874f --- /dev/null +++ b/src/main/java/org/scijava/event/bushe/ContainerEventServiceFinder.java @@ -0,0 +1,84 @@ +/** + * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com + * + * Licensed 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.scijava.event.bushe; + +import java.awt.Component; +import javax.swing.JComponent; +import javax.swing.JPopupMenu; +import javax.swing.RootPaneContainer; + +/** + * This class finds a component's container event service, and creates one if necessary and possible. + *

    + * A Container EventService is, unlike the EventBus, an EventService that is container specific, in other words, it is + * shared only amongst components within a container. For example, a Form component can supply an EventService used + * only by components in the form. The Form's components can publish value change events on their Container's Event + * Service. The Form's Model and Validator may listen to these events to collect data and show errors, respectively. + *

    + * Most importantly, Container EventService's cuts down event traffic, avoid naming and listener clashes, promotes + * componentization, and splits events usage into logical subsets. + *

    + * The finder will walk up a component's hierarchy searching for a parent that implements ContainerEventServiceSupplier. + * If it find one, it returns it. If it doesn't find one, the top level JComponent (specifically, the highest parent in + * the hierarchy, typically a JRootPane) has a client property added to it (if not already set) that has the value of a + * new SwingEventService, which is then returned. The EventBus is never returned. + * + * @author Michael Bushe michael@bushe.com + */ +public class ContainerEventServiceFinder { + /** The client property used to put a new SwingEventService on top-level components. */ + public static final String CLIENT_PROPERTY_KEY_TOP_LEVEL_EVENT_SERVICE = "ContainerEventServiceFinder.createdService"; + + /** + * Walks the component's parents until it find an ContainerEventServiceSupplier and returns the supplier's + * EventService. If the component in the tree is a JPopupMenu, then the menu's invoker is walked. + * + * @param component any component + * + * @return the ContainerEventService of the nearest parent + */ + public static EventService getEventService(Component component) { + while (component != null) { + if (component instanceof ContainerEventServiceSupplier) { + return ((ContainerEventServiceSupplier) component).getContainerEventService(); + } + if (component instanceof JPopupMenu) { + component = ((JPopupMenu) component).getInvoker(); + } else { + if (component.getParent() == null) { + //There is no supplier. Instead of returning null, make an event service + //and stick it in the client properties of the top level container. + if (component instanceof RootPaneContainer) { + component = ((RootPaneContainer) component).getRootPane(); + } + if (!(component instanceof JComponent)) { + return null; + } + JComponent jComp = ((JComponent) component); + SwingEventService eventService = (SwingEventService) jComp.getClientProperty(CLIENT_PROPERTY_KEY_TOP_LEVEL_EVENT_SERVICE); + if (eventService == null) { + eventService = new SwingEventService(); + jComp.putClientProperty(CLIENT_PROPERTY_KEY_TOP_LEVEL_EVENT_SERVICE, eventService); + } + return eventService; + } else { + component = component.getParent(); + } + } + } + return null; + } +} diff --git a/src/main/java/org/scijava/event/bushe/ContainerEventServiceRegistrar.java b/src/main/java/org/scijava/event/bushe/ContainerEventServiceRegistrar.java new file mode 100644 index 000000000..5825dd664 --- /dev/null +++ b/src/main/java/org/scijava/event/bushe/ContainerEventServiceRegistrar.java @@ -0,0 +1,248 @@ +/** + * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com + * + * Licensed 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.scijava.event.bushe; + +import javax.swing.JComponent; +import javax.swing.event.AncestorEvent; +import javax.swing.event.AncestorListener; +import java.awt.event.ContainerEvent; +import java.awt.event.ContainerListener; +import java.awt.event.HierarchyEvent; +import java.awt.event.HierarchyListener; + + +/** + * Registers a component with it's Container's EventService while keeping track of the component's container. + *

    + * Registering with a component's ContainerEventService is tricky since components may not be in their hierarchy when + * they want to register with it, or components may move (though rarely). This class subscribes a component with it's + * container event service. If it is unavailable, the registrar waits until the component's Container becomes available + * and subscribes at that time. If the component changes Containers, the registrar unsubscribes the component from its + * old container and subscribes it to the new one. + * + * @author Michael Bushe michael@bushe.com + */ +public class ContainerEventServiceRegistrar { + private JComponent jComp; + private EventSubscriber eventSubscriber; + private VetoEventListener vetoSubscriber; + private Class[] eventClasses; + private EventTopicSubscriber eventTopicSubscriber; + private VetoTopicEventListener vetoTopicSubscriber; + private String[] topics; + private EventService containerEventService; + + /** + * Create a registrar that will keep track of the container event service, typically used in the publish-only cases + * where the getContainerEventServer() call will be made before publication. + * + * @param jComp the component whose container to monitor + */ + public ContainerEventServiceRegistrar(JComponent jComp) { + this(jComp, null, null, null, null, null, null); + } + + /** + * Create a registrar that will keep track of the container event service, and subscribe the subscriber to the + * eventClass when the ContainerEventService is available and when it changes. + * + * @param jComp the component whose container to monitor + * @param eventSubscriber the subscriber to register to the Container EventServer + * @param eventClasses the class(es) to register for + */ + public ContainerEventServiceRegistrar(JComponent jComp, EventSubscriber eventSubscriber, Class... eventClasses) { + this(jComp, eventSubscriber, null, eventClasses, null, null, null); + } + + /** + * Create a registrar that will keep track of the container event service, and subscribe the subscriber to the topic + * when the ContainerEventService is available and when it changes. + * + * @param jComp the component whose container to monitor + * @param eventTopicSubscriber the topic subscriber to register to the Container EventServer + * @param topics the event topic name to register for + */ + public ContainerEventServiceRegistrar(JComponent jComp, EventTopicSubscriber eventTopicSubscriber, String... topics) { + this(jComp, null, null, null, eventTopicSubscriber, null, topics); + } + + /** + * Create a registrar that will keep track of the container event service, and subscribeStrongly the veto subscriber + * to the topics when the ContainerEventService is available and when it changes. + * + * @param jComp the component whose container to monitor + * @param vetoSubscriber the veto subscriber to register to the Container EventServer + * @param eventClasses the classes of event to register for + */ + public ContainerEventServiceRegistrar(JComponent jComp, VetoEventListener vetoSubscriber, Class... eventClasses) { + this(jComp, null, vetoSubscriber, eventClasses, null, null, null); + } + + /** + * Create a registrar that will keep track of the container event service, and subscribeStrongly the veto subscriber + * to the topics when the ContainerEventService is available and when it changes. + * + * @param jComp the component whose container to monitor + * @param vetoTopicSubscriber the veto subscriber to register to the Container EventServer + * @param topics the event topic(s) to register for + */ + public ContainerEventServiceRegistrar(JComponent jComp, VetoTopicEventListener vetoTopicSubscriber, String... topics) { + this(jComp, null, null, null, null, vetoTopicSubscriber, topics); + } + + /** + * Create a registrar that will keep track of the container event service, and subscribe the subscriber to the topics + * and the event classes when the ContainerEventService is available and when it changes. + * + * @param jComp the component whose container to monitor + * @param eventSubscriber the subscriber to register to the Container EventServer + * @param eventClasses the classes of event to register for + * @param eventTopicSubscriber the topic subscriber to keep registered to the topic(s) + * @param topics the event topic names to register for + */ + public ContainerEventServiceRegistrar(JComponent jComp, EventSubscriber eventSubscriber, Class[] eventClasses, + EventTopicSubscriber eventTopicSubscriber, String[] topics) { + this(jComp, eventSubscriber, null, eventClasses, eventTopicSubscriber, null, topics); + } + + /** + * Create a registrar that will keep track of the container event service, and subscribe the subscriber to the topics + * and the event classes when the ContainerEventService is available and when it changes. + * + * @param jComp the component whose container to monitor + * @param eventSubscriber the subscriber to register to the Container EventServer + * @param vetoSubscriber a veto subscriber for the eventClasses + * @param eventClasses the classes of event to register for + * @param eventTopicSubscriber the topic subscriber to keep registered to the topic(s) + * @param vetoTopicSubscriber a veto subscriber for the topics + * @param topics the event topic names to register for + */ + public ContainerEventServiceRegistrar(JComponent jComp, EventSubscriber eventSubscriber, VetoEventListener vetoSubscriber, + Class[] eventClasses, EventTopicSubscriber eventTopicSubscriber, VetoTopicEventListener vetoTopicSubscriber, + String[] topics) { + this.jComp = jComp; + this.eventSubscriber = eventSubscriber; + this.vetoSubscriber = vetoSubscriber; + this.eventClasses = eventClasses; + this.eventTopicSubscriber = eventTopicSubscriber; + this.vetoTopicSubscriber = vetoTopicSubscriber; + this.topics = topics; + + if (jComp == null) { + throw new NullPointerException("JComponent is null"); + } + updateContainerEventService(); + jComp.addHierarchyListener(new HierarchyListener() { + public void hierarchyChanged(HierarchyEvent e) { + updateContainerEventService(); + } + }); + jComp.addContainerListener(new ContainerListener() { + public void componentAdded(ContainerEvent e) { + updateContainerEventService(); + } + + public void componentRemoved(ContainerEvent e) { + updateContainerEventService(); + } + }); + jComp.addAncestorListener(new AncestorListener() { + public void ancestorAdded(AncestorEvent event) { + updateContainerEventService(); + } + + public void ancestorMoved(AncestorEvent event) { + //ignore - not necessary to keep track of movement + } + + public void ancestorRemoved(AncestorEvent event) { + updateContainerEventService(); + } + }); + } + + /** + * Called by this class when the container may have changed. + *

    + * Override this method and call super if your class wants to be notified when the container changes (compare the + * references of getContainerEventService() around the calls to super.updateContainerEventService()). + */ + protected void updateContainerEventService() { + if (containerEventService != null) { + if (eventClasses != null) { + for (int i = 0; i < eventClasses.length; i++) { + Class eventClass = eventClasses[i]; + if (eventSubscriber != null) { + containerEventService.unsubscribe(eventClass, eventSubscriber); + } + if (vetoSubscriber != null) { + containerEventService.unsubscribeVeto(eventClass, vetoSubscriber); + } + } + } + if (topics != null) { + for (int i = 0; i < topics.length; i++) { + String topic = topics[i]; + if (eventTopicSubscriber != null) { + containerEventService.unsubscribe(topic, eventTopicSubscriber); + } + if (vetoTopicSubscriber != null) { + containerEventService.unsubscribeVeto(topic, vetoTopicSubscriber); + } + } + } + } + + containerEventService = ContainerEventServiceFinder.getEventService(jComp); + if (containerEventService != null) { + if (eventClasses != null) { + for (int i = 0; i < eventClasses.length; i++) { + Class eventClass = eventClasses[i]; + if (eventSubscriber != null) { + containerEventService.subscribe(eventClass, eventSubscriber); + } + if (vetoSubscriber != null) { + containerEventService.subscribeVetoListener(eventClass, vetoSubscriber); + } + } + } + if (topics != null) { + for (int i = 0; i < topics.length; i++) { + String topic = topics[i]; + if (eventTopicSubscriber != null) { + containerEventService.subscribe(topic, eventTopicSubscriber); + } + if (vetoTopicSubscriber != null) { + containerEventService.subscribeVetoListener(topic, vetoTopicSubscriber); + } + } + } + } + } + + /** + * @return the container event service, if null, it tries to find it, but it still may be null if this object is not + * in a container. + */ + public EventService getContainerEventService() { + if (containerEventService != null) { + return containerEventService; + } else { + updateContainerEventService(); + return containerEventService; + } + } +} diff --git a/src/main/java/org/scijava/event/bushe/ContainerEventServiceSupplier.java b/src/main/java/org/scijava/event/bushe/ContainerEventServiceSupplier.java new file mode 100644 index 000000000..70985d749 --- /dev/null +++ b/src/main/java/org/scijava/event/bushe/ContainerEventServiceSupplier.java @@ -0,0 +1,42 @@ +/** + * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com + * + * Licensed 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.scijava.event.bushe; + +/** + * A interface implemented by a Swing Container to supply an EventService local to it's child components. + *

    + * A Container EventService is an {@link EventService} which, unlike the {@link EventBus}, is specific to a container, + * in other words, it is shared only among components within a Swing Container. The only difference between a Container + * EventService and any other EventService is that it's found and used by the children of a container. The API and + * available implementations all work the same as any other EventService. + *

    + * A good candidate for a ContainerEventServiceSupplier is a Form class. The components that the Form contains can + * publish objects when they they change state - for example when their values change or when they become invalid or + * valid. The Form may have a model that collects the user's entries by subscribing to events published on the Form's + * EventService. A FormValidator may also listen to publications on the Form's EventService to subscribe to validation + * errors. The Form's components don't have to know about the form, or the model or the validator. They just publish + * events on their Container's EventService, which they can find by using a {@link ContainerEventServiceFinder}. + *

    + * This class does not ever have to be implemented or used directly. The ContainerEventServiceFinder will create a + * ContainerEventService on JRootPanes by default on demand. Hence, each dialog and Frame will have their own + * automatically as needed. You only want to implement this interface when you want to limit events to subscribers + * in containers smaller than a JRootPane, such as a Form's JPanel. + * + * @author Michael Bushe michael@bushe.com + */ +public interface ContainerEventServiceSupplier { + public EventService getContainerEventService(); +} diff --git a/src/main/java/org/scijava/event/bushe/EventBus.java b/src/main/java/org/scijava/event/bushe/EventBus.java new file mode 100644 index 000000000..846d96820 --- /dev/null +++ b/src/main/java/org/scijava/event/bushe/EventBus.java @@ -0,0 +1,423 @@ +/** + * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com + * + * Licensed 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.scijava.event.bushe; + +import java.util.List; +import java.util.regex.Pattern; +import java.lang.reflect.Type; + +/** + * The EventBus provides event publication and subscription services. It is a simple static wrapper around a + * global instance of an {@link EventService}, specifically a {@link SwingEventService} by default. + *

    + * For Swing Applications the EventBus is nearly all you need, besides some of your own Event classes (if so desired). + *

    + * The EventBus is really just a convenience class that provides a static wrapper around a global {@link + * EventService} instance. This class exists solely for simplicity. Calling + * EventBus.subscribeXXX/publishXXX is equivalent to + * EventServiceLocator.getEventBusService().subscribeXXX/publishXXX, + * it is just shorter to type. See {@link org.scijava.event.bushe.EventServiceLocator} for details on how to customize + * the global EventService in place of the default SwingEventService. + * + * @author Michael Bushe michael@bushe.com + * @see EventService + * @see SwingEventService + * @see ThreadSafeEventService See package JavaDoc for more information + */ +public class EventBus { + + /** + * The EventBus uses a global static EventService. This method is not necessary in usual usage, use the other static + * methods instead. It is used to expose any other functionality and for framework classes (EventBusAction) + * + * @return the global static EventService + */ + public static EventService getGlobalEventService() { + return EventServiceLocator.getEventBusService(); + } + + /** @see EventService#publish(Object) */ + public static void publish(Object event) { + if (event == null) { + throw new IllegalArgumentException("Can't publish null."); + } + EventServiceLocator.getEventBusService().publish(event); + } + + /** @see EventService#publish(String,Object) */ + public static void publish(String topic, Object o) { + if (topic == null) { + throw new IllegalArgumentException("Can't publish to null topic."); + } + EventServiceLocator.getEventBusService().publish(topic, o); + } + + /** @see EventService#publish(java.lang.reflect.Type, Object) */ + public static void publish(Type genericType, Object o) { + if (genericType == null) { + throw new IllegalArgumentException("Can't publish to null type."); + } + EventServiceLocator.getEventBusService().publish(genericType, o); + } + + + /** @see EventService#subscribe(Class,EventSubscriber) */ + public static boolean subscribe(Class eventClass, EventSubscriber subscriber) { + return EventServiceLocator.getEventBusService().subscribe(eventClass, subscriber); + } + + /** @see EventService#subscribe(java.lang.reflect.Type, EventSubscriber) */ + public static boolean subscribe(Type genericType, EventSubscriber subscriber) { + return EventServiceLocator.getEventBusService().subscribe(genericType, subscriber); + } + + /** @see EventService#subscribeExactly(Class,EventSubscriber) */ + public static boolean subscribeExactly(Class eventClass, EventSubscriber subscriber) { + return EventServiceLocator.getEventBusService().subscribeExactly(eventClass, subscriber); + } + + /** @see EventService#subscribe(String,EventTopicSubscriber) */ + public static boolean subscribe(String topic, EventTopicSubscriber subscriber) { + return EventServiceLocator.getEventBusService().subscribe(topic, subscriber); + } + + /** @see EventService#subscribe(Pattern,EventTopicSubscriber) */ + public static boolean subscribe(Pattern topicPattern, EventTopicSubscriber subscriber) { + return EventServiceLocator.getEventBusService().subscribe(topicPattern, subscriber); + } + + /** @see EventService#subscribeStrongly(Class,EventSubscriber) */ + public static boolean subscribeStrongly(Class eventClass, EventSubscriber subscriber) { + return EventServiceLocator.getEventBusService().subscribeStrongly(eventClass, subscriber); + } + + /** @see EventService#subscribeExactlyStrongly(Class,EventSubscriber) */ + public static boolean subscribeExactlyStrongly(Class eventClass, EventSubscriber subscriber) { + return EventServiceLocator.getEventBusService().subscribeExactlyStrongly(eventClass, subscriber); + } + + /** @see EventService#subscribeStrongly(String,EventTopicSubscriber) */ + public static boolean subscribeStrongly(String topic, EventTopicSubscriber subscriber) { + return EventServiceLocator.getEventBusService().subscribeStrongly(topic, subscriber); + } + + /** @see EventService#subscribeStrongly(Pattern,EventTopicSubscriber) */ + public static boolean subscribeStrongly(Pattern topicPattern, EventTopicSubscriber subscriber) { + return EventServiceLocator.getEventBusService().subscribeStrongly(topicPattern, subscriber); + } + + /** @see EventService#unsubscribe(Class,EventSubscriber) */ + public static boolean unsubscribe(Class eventClass, EventSubscriber subscriber) { + return EventServiceLocator.getEventBusService().unsubscribe(eventClass, subscriber); + } + + /** @see EventService#unsubscribeExactly(Class,EventSubscriber) */ + public static boolean unsubscribeExactly(Class eventClass, EventSubscriber subscriber) { + return EventServiceLocator.getEventBusService().unsubscribeExactly(eventClass, subscriber); + } + + /** @see EventService#unsubscribe(String,EventTopicSubscriber) */ + public static boolean unsubscribe(String topic, EventTopicSubscriber subscriber) { + return EventServiceLocator.getEventBusService().unsubscribe(topic, subscriber); + } + + /** @see EventService#unsubscribe(Pattern,EventTopicSubscriber) */ + public static boolean unsubscribe(Pattern topicPattern, EventTopicSubscriber subscriber) { + return EventServiceLocator.getEventBusService().unsubscribe(topicPattern, subscriber); + } + + /** + * For usage with annotations. + * + * @see EventService#unsubscribe(Class,Object) + */ + public static boolean unsubscribe(Class eventClass, Object object) { + return EventServiceLocator.getEventBusService().unsubscribe(eventClass, object); + } + + /** + * For usage with annotations. + * + * @see EventService#unsubscribeExactly(Class,Object) + */ + public static boolean unsubscribeExactly(Class eventClass, Object subscriber) { + return EventServiceLocator.getEventBusService().unsubscribeExactly(eventClass, subscriber); + } + + /** + * For usage with annotations. + * + * @see EventService#unsubscribe(String,Object) + */ + public static boolean unsubscribe(String topic, Object subscriber) { + return EventServiceLocator.getEventBusService().unsubscribe(topic, subscriber); + } + + /** + * For usage with annotations. + * + * @see EventService#unsubscribe(Pattern,Object) + */ + public static boolean unsubscribe(Pattern topicPattern, Object subscriber) { + return EventServiceLocator.getEventBusService().unsubscribe(topicPattern, subscriber); + } + + /** @see EventService#subscribeVetoListener(Class,VetoEventListener) */ + public static boolean subscribeVetoListener(Class eventClass, VetoEventListener vetoListener) { + return EventServiceLocator.getEventBusService().subscribeVetoListener(eventClass, vetoListener); + } + + /** @see EventService#subscribeVetoListener(Class,VetoEventListener) */ + public static boolean subscribeVetoListenerExactly(Class eventClass, VetoEventListener vetoListener) { + return EventServiceLocator.getEventBusService().subscribeVetoListenerExactly(eventClass, vetoListener); + } + + + /** @see EventService#subscribeVetoListener(String,VetoTopicEventListener) */ + public static boolean subscribeVetoListener(String topic, VetoTopicEventListener vetoListener) { + return EventServiceLocator.getEventBusService().subscribeVetoListener(topic, vetoListener); + } + + /** @see EventService#subscribeVetoListener(Pattern,VetoTopicEventListener) */ + public static boolean subscribeVetoListener(Pattern topicPattern, VetoTopicEventListener vetoListener) { + return EventServiceLocator.getEventBusService().subscribeVetoListener(topicPattern, vetoListener); + } + + /** @see EventService#subscribeVetoListenerStrongly(Class,VetoEventListener) */ + public static boolean subscribeVetoListenerStrongly(Class eventClass, VetoEventListener vetoListener) { + return EventServiceLocator.getEventBusService().subscribeVetoListenerStrongly(eventClass, vetoListener); + } + + /** @see EventService#subscribeVetoListenerExactlyStrongly(Class,VetoEventListener) */ + public static boolean subscribeVetoListenerExactlyStrongly(Class eventClass, VetoEventListener vetoListener) { + return EventServiceLocator.getEventBusService().subscribeVetoListenerExactlyStrongly(eventClass, vetoListener); + } + + /** @see EventService#subscribeVetoListenerStrongly(String,VetoTopicEventListener) */ + public static boolean subscribeVetoListenerStrongly(String topic, VetoTopicEventListener vetoListener) { + return EventServiceLocator.getEventBusService().subscribeVetoListenerStrongly(topic, vetoListener); + } + + /** @see EventService#subscribeVetoListener(String,VetoTopicEventListener) */ + public static boolean subscribeVetoListenerStrongly(Pattern topicPattern, VetoTopicEventListener vetoListener) { + return EventServiceLocator.getEventBusService().subscribeVetoListenerStrongly(topicPattern, vetoListener); + } + + /** @see EventService#unsubscribeVetoListener(Class,VetoEventListener) */ + public static boolean unsubscribeVetoListener(Class eventClass, VetoEventListener vetoListener) { + return EventServiceLocator.getEventBusService().unsubscribeVetoListener(eventClass, vetoListener); + } + + /** @see EventService#unsubscribeVetoListenerExactly(Class,VetoEventListener) */ + public static boolean unsubscribeVetoListenerExactly(Class eventClass, VetoEventListener vetoListener) { + return EventServiceLocator.getEventBusService().unsubscribeVetoListenerExactly(eventClass, vetoListener); + } + + /** @see EventService#unsubscribeVetoListener(String,VetoTopicEventListener) */ + public static boolean unsubscribeVetoListener(String topic, VetoTopicEventListener vetoListener) { + return EventServiceLocator.getEventBusService().unsubscribeVetoListener(topic, vetoListener); + } + + /** @see EventService#unsubscribeVetoListener(Pattern,VetoTopicEventListener) */ + public static boolean unsubscribeVetoListener(Pattern topicPattern, VetoTopicEventListener vetoListener) { + return EventServiceLocator.getEventBusService().unsubscribeVetoListener(topicPattern, vetoListener); + } + + /** @see EventService#getSubscribers(Class) */ + public static List getSubscribers(Class eventClass) { + return EventServiceLocator.getEventBusService().getSubscribers(eventClass); + } + + /** @see EventService#getSubscribersToClass(Class) */ + public static List getSubscribersToClass(Class eventClass) { + return EventServiceLocator.getEventBusService().getSubscribersToClass(eventClass); + } + + /** @see EventService#getSubscribersToExactClass(Class) */ + public static List getSubscribersToExactClass(Class eventClass) { + return EventServiceLocator.getEventBusService().getSubscribersToExactClass(eventClass); + } + + /** @see EventService#getSubscribers(Type) */ + public static List getSubscribers(Type type) { + return EventServiceLocator.getEventBusService().getSubscribers(type); + } + + /** @see EventService#getSubscribers(String) */ + public static List getSubscribers(String topic) { + return EventServiceLocator.getEventBusService().getSubscribers(topic); + } + + /** @see EventService#getSubscribersToTopic(String) */ + public static List getSubscribersToTopic(String topic) { + return EventServiceLocator.getEventBusService().getSubscribersToTopic(topic); + } + + /** @see EventService#getSubscribers(Pattern) */ + public static List getSubscribers(Pattern pattern) { + return EventServiceLocator.getEventBusService().getSubscribers(pattern); + } + + /** @see EventService#getSubscribersByPattern(String) */ + public static List getSubscribersByPattern(String topic) { + return EventServiceLocator.getEventBusService().getSubscribersByPattern(topic); + } + + /** @see EventService#getSubscribers(Class) */ + public static List getVetoSubscribers(Class eventClass) { + return EventServiceLocator.getEventBusService().getVetoSubscribers(eventClass); + } + + /** @see EventService#getVetoSubscribersToClass(Class) */ + public static List getVetoSubscribersToClass(Class eventClass) { + return EventServiceLocator.getEventBusService().getVetoSubscribersToClass(eventClass); + } + + /** @see EventService#getVetoSubscribersToExactClass(Class) */ + public static List getVetoSubscribersToExactClass(Class eventClass) { + return EventServiceLocator.getEventBusService().getVetoSubscribersToExactClass(eventClass); + } + + /** @see EventService#getVetoSubscribers(Class) + * @deprecated use getVetoSubscribersToTopic instead for direct replacement, + * or use getVetoEventListeners to get topic and pattern matchers. + * In EventBus 2.0 this name will replace getVetoEventListeners() + * and have it's union functionality + */ + public static List getVetoSubscribers(String topic) { + return EventServiceLocator.getEventBusService().getVetoSubscribers(topic); + } + + /** @see EventService#getVetoEventListeners(String) */ + public static List getVetoEventListeners(String topic) { + return EventServiceLocator.getEventBusService().getVetoEventListeners(topic); + } + + /** @see EventService#getVetoSubscribers(Pattern) */ + public static List getVetoSubscribers(Pattern pattern) { + return EventServiceLocator.getEventBusService().getVetoSubscribers(pattern); + } + + /** @see EventService#getVetoSubscribersToTopic(String) */ + public static List getVetoSubscribersToTopic(String topic) { + return EventServiceLocator.getEventBusService().getVetoSubscribersToTopic(topic); + } + + /** @see EventService#getVetoSubscribersByPattern(String) */ + public static List getVetoSubscribersByPattern(String topic) { + return EventServiceLocator.getEventBusService().getVetoSubscribersByPattern(topic); + } + + /** @see EventService#unsubscribeVeto(Class, Object) */ + public static boolean unsubscribeVeto(Class eventClass, Object subscribedByProxy) { + return EventServiceLocator.getEventBusService().unsubscribeVeto(eventClass, subscribedByProxy); + } + + /** @see EventService#unsubscribeVetoExactly(Class, Object) */ + public static boolean unsubscribeVetoExactly(Class eventClass, Object subscribedByProxy) { + return EventServiceLocator.getEventBusService().unsubscribeVetoExactly(eventClass, subscribedByProxy); + } + + /** @see EventService#unsubscribeVeto(String, Object) */ + public static boolean unsubscribeVeto(String topic, Object subscribedByProxy) { + return EventServiceLocator.getEventBusService().unsubscribeVeto(topic, subscribedByProxy); + } + + /** @see EventService#unsubscribeVeto(Pattern, Object) */ + public static boolean unsubscribeVeto(Pattern pattern, Object subscribedByProxy) { + return EventServiceLocator.getEventBusService().unsubscribeVeto(pattern, subscribedByProxy); + } + + /** @see EventService#clearAllSubscribers() */ + public static void clearAllSubscribers() { + EventServiceLocator.getEventBusService().clearAllSubscribers(); + } + + /** @see EventService#setDefaultCacheSizePerClassOrTopic(int) */ + public static void setDefaultCacheSizePerClassOrTopic(int defaultCacheSizePerClassOrTopic) { + EventServiceLocator.getEventBusService().setDefaultCacheSizePerClassOrTopic(defaultCacheSizePerClassOrTopic); + } + + /** @see org.scijava.event.bushe.EventService#getDefaultCacheSizePerClassOrTopic() */ + public static int getDefaultCacheSizePerClassOrTopic() { + return EventServiceLocator.getEventBusService().getDefaultCacheSizePerClassOrTopic(); + } + + /** @see EventService#setCacheSizeForEventClass(Class,int) */ + public static void setCacheSizeForEventClass(Class eventClass, int cacheSize) { + EventServiceLocator.getEventBusService().setCacheSizeForEventClass(eventClass, cacheSize); + } + + /** @see EventService#getCacheSizeForEventClass(Class) */ + public static int getCacheSizeForEventClass(Class eventClass) { + return EventServiceLocator.getEventBusService().getCacheSizeForEventClass(eventClass); + } + + /** @see EventService#setCacheSizeForTopic(String,int) */ + public static void setCacheSizeForTopic(String topicName, int cacheSize) { + EventServiceLocator.getEventBusService().setCacheSizeForTopic(topicName, cacheSize); + } + + /** @see EventService#setCacheSizeForTopic(java.util.regex.Pattern,int) */ + public static void setCacheSizeForTopic(Pattern pattern, int cacheSize) { + EventServiceLocator.getEventBusService().setCacheSizeForTopic(pattern, cacheSize); + } + + /** @see EventService#getCacheSizeForTopic(String) */ + public static int getCacheSizeForTopic(String topic) { + return EventServiceLocator.getEventBusService().getCacheSizeForTopic(topic); + } + + /** @see EventService#getLastEvent(Class) */ + public static T getLastEvent(Class eventClass) { + return EventServiceLocator.getEventBusService().getLastEvent(eventClass); + } + + /** @see EventService#getCachedEvents(Class) */ + public static List getCachedEvents(Class eventClass) { + return EventServiceLocator.getEventBusService().getCachedEvents(eventClass); + } + + /** @see EventService#getLastTopicData(String) */ + public static Object getLastTopicData(String topic) { + return EventServiceLocator.getEventBusService().getLastTopicData(topic); + } + + /** @see EventService#getCachedTopicData(String) */ + public static List getCachedTopicData(String topic) { + return EventServiceLocator.getEventBusService().getCachedTopicData(topic); + } + + /** @see EventService#clearCache(Class) */ + public static void clearCache(Class eventClass) { + EventServiceLocator.getEventBusService().clearCache(eventClass); + } + + /** @see EventService#clearCache(String) */ + public static void clearCache(String topic) { + EventServiceLocator.getEventBusService().clearCache(topic); + } + + /** @see EventService#clearCache(java.util.regex.Pattern) */ + public static void clearCache(Pattern pattern) { + EventServiceLocator.getEventBusService().clearCache(pattern); + } + + /** @see org.scijava.event.bushe.EventService#clearCache() */ + public static void clearCache() { + EventServiceLocator.getEventBusService().clearCache(); + } +} diff --git a/src/main/java/org/scijava/event/bushe/EventBusAction.java b/src/main/java/org/scijava/event/bushe/EventBusAction.java new file mode 100644 index 000000000..a320bde9a --- /dev/null +++ b/src/main/java/org/scijava/event/bushe/EventBusAction.java @@ -0,0 +1,41 @@ +/** + * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com + * + * Licensed 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.scijava.event.bushe; + +import java.awt.event.ActionEvent; +import javax.swing.ImageIcon; + +/** + * When fired, this action publishes events on the EventBus. + *

    + * + * @author Michael Bushe michael@bushe.com + * @see EventServiceAction + */ +public class EventBusAction extends EventServiceAction { + public EventBusAction() { + this(null, null); + } + + public EventBusAction(String actionName, ImageIcon icon) { + super(actionName, icon); + } + + protected EventService getEventService(ActionEvent event) { + return EventBus.getGlobalEventService(); + } +} + diff --git a/src/main/java/org/scijava/event/bushe/EventService.java b/src/main/java/org/scijava/event/bushe/EventService.java new file mode 100644 index 000000000..8bbc69fa3 --- /dev/null +++ b/src/main/java/org/scijava/event/bushe/EventService.java @@ -0,0 +1,932 @@ +/** + * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com + * + * Licensed 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.scijava.event.bushe; + +import java.util.List; +import java.util.regex.Pattern; +import java.lang.reflect.Type; + +/** + * The core interface. An EventService provides publish/subscribe services to a single JVM using Class-based and + * String-based (i.e. "topic") publications and subscriptions. + *

    + * In class-based pub/sub, {@link EventSubscriber}s subscribe to a type on an {@link EventService}, such + * as the {@link org.scijava.event.bushe.EventBus}, by providing a class, interface or generic type. The EventService + * notifies subscribers when objects are published on the EventService with a matching type. Full class semantics are + * respected. That is, if a subscriber subscribes to a class, the subscriber is notified if an object of + * that class is publish or if an object of a subclass of that class is published. Likewise if a subscriber subscribes + * to an interface, it will be notified if any object that implements that interface is published. Subscribers can + * subscribe "exactly" using {@link #subscribeExactly(Class, EventSubscriber)} so that they are notified only if an + * object of the exact class is published (and will not be notified if subclasses are published, since this would not + * be "exact") + *

    + * In topic-based pub/sub, an object "payload" is published on a topic name (String). {@link EventTopicSubscriber}s subscribe + * to either the exact name of the topic or they may subscribe using a Regular Expression that is used to match topic + * names. + *

    + * See the overview for an general introduction + * and package documentation for usage details and examples. + *

    + * A single subscriber cannot subscribe more than once to an event or topic name. EventService implementations should + * handle double-subscription requests by returning false on subscribe(). A single EventSubscriber can subscribe to more + * than one event class, and a single EventTopicSubscriber can subscribe to more than one topic name or pattern. A + * single object may implement both EventSubscriber and EventTopicSubscriber interfaces. Subscribers are guaranteed to + * only be called for the classes and/or topic names they subscribe to. If a subscriber subscribes to a topic and to a + * regular expression that matches the topic name, this is considered two different subscriptions and the subscriber + * will be called twice for the publication on the topic. Similarly, if a subscriber subscribes to a class and its + * subclasses using subscribe() and again to a class of the same type using subscribeExactly(), this is considered two + * different subscriptions and the subscriber will be called twice for the publication for a single event of the exact + * type. + *

    + * By default the EventService only holds WeakReferences to subscribers. If a subscriber has no references to it, then + * it can be garbage collected. This avoids memory leaks in exchange for the risk of accidentally adding a listener and + * have it disappear unexpectedly. If you want to subscribe a subscriber that will have no other reference to it, then + * use one of the subscribeStrongly() methods, which will prevent garbage collection. + *

    + * Unless garbage collected, EventSubscribers will remain subscribed until they are passed to one of the unsubscribe() + * methods with the event class or topic name to which there are subscribed. + *

    + * Subscribers are called in the order in which they are subscribed by default (FIFO), unless subscribers implement + * {@link Prioritized}. Those subscribers that implement Prioritized and return a negative priority are moved to the + * front of the list (the more negative, the more to the front). Those subscribers that implement Prioritized and return + * a positive priority are moved to the end of the list (the more positive, the more to the back). The FIFO guarantee + * is only valid for the same subscribe() call. That is, the order of two subscribers, one to List.class and the other + * to ArrayList.class is not guaranteed to be in the order of subscription when an ArrayList is published. The same is + * true for topic subscribers when using RegEx expressions - when "Foo" is published, the order of subscribers that are + * subscribed to "Foo", "Fo*" and "F*" are not guaranteed, though the second "Fo*" subscriber will never be called + * before the first "Fo*" subscriber (ditto List and ArrayList). Prioritized subscribers are always guaranteed to be in + * the order of priority, no matter the call or the resulting mix of subscribers. All ordering rules apply to all + * types subscribers: class, topic, pattern, veto, etc. For Swing users, note that FIFO is + * the opposite of Swing, where event listeners are called in the reverse order of when they were subscribed (FILO). + *

    + * Publication on a class or topic name can be vetoed by a {@link VetoEventListener}. All VetoEventListeners are checked + * before any EventSubscribers or EventTopicSubscribers are called. This is unlike the JavaBean's + * VetoPropertyEventListener which can leave side effects and half-propogated events. VetoEventListeners are subscribed + * in the same manner as EventSubscribers and EventTopicSubscribers. + *

    + * The state of a published event can be tracked if an event or a topic's payload object implements the + * {@link org.scijava.event.bushe.PublicationStatus} interface. EventServices are required to set such objects' + * {@link org.scijava.event.bushe.PublicationStatus} at the appropriate times during publication. + *

    + * This simple example prints "Hello World" + *

    + * EventService eventService = new ThreadSafeEventService();
    + * //Create a subscriber
    + * EventTopicSubscriber subscriber = new EventTopicSubscriber() {
    + *    public void onEvent(String topic, Object event) {
    + *        System.out.println(topic+" "+event);
    + *    }
    + * });
    + * eventService.subscribe("Hello", subscriber);
    + * eventService.publish("Hello", "World");
    + * System.out.println(subscriber + " Since the reference is used after it is subscribed, it doesn't get garbage collected, this is not necessary if you use subscribeStrongly()");
    + * 
    + *

    + * Events and/or topic data can be cached, but are not by default. To cache events or topic data, call + * {@link #setDefaultCacheSizePerClassOrTopic(int)}, {@link #setCacheSizeForEventClass(Class, int)}, or + * {@link #setCacheSizeForTopic(String, int)}, {@link #setCacheSizeForTopic(Pattern, int)}. Retrieve cached values + * with {@link #getLastEvent(Class)}, {@link #getLastTopicData(String)}, {@link #getCachedEvents(Class)}, or + * {@link #getCachedTopicData(String)}. Using caching while subscribing is most likely to make sense only if you + * subscribe and publish on the same thread (so caching is very useful for Swing applications since both happen on + * the EDT in a single-threaded manner). In multithreaded applications, you never know if your subscriber has handled + * an event while it was being subscribed (before the subscribe() method returned) that is newer or older than the + * retrieved cached value (taken before or after subscribe() respectively). + *

    + * There is nothing special about the term "Event," this could just as easily be called a "Message" Service, this term + * is already taken by the JMS, which is similar, but is used across processes and networks. + * + * @author Michael Bushe michael@bushe.com + * @see {@link ThreadSafeEventService} for the default implementation + * @see {@link SwingEventService} for the Swing-safe implementation + * @see {@link EventBus} for simple access to the Swing-safe implementation + * @see {@link org.scijava.event.bushe.annotation.EventSubscriber} for subscription annotations + * @see {@link org.scijava.event.bushe.annotation.EventTopicSubscriber} for subscription annotations + */ +public interface EventService { + + /** + * Publishes an object so that subscribers will be notified if they subscribed to the object's class, one of its + * subclasses, or to one of the interfaces it implements. + * + * @param event the object to publish + */ + public void publish(Object event); + + /** + * Use this method to publish generified objects to subscribers of Types, i.e. subscribers that use + * {@link #subscribe(Type, EventSubscriber)}, and to publish to subscribers of the non-generic type. + *

    + * Due to generic type erasure, the type must be supplied by the caller. You can get a declared object's + * type by using the {@link org.scijava.event.bushe.generics.TypeReference} class. For Example: + *

    +    * TypeReference<List<Trade>> subscribingTypeReference = new TypeReference<List<Trade>>(){};
    +    * EventBus.subscribe(subscribingTypeReference.getType(), mySubscriber);
    +    * EventBus.subscribe(List.class, thisSubscriberWillGetCalledToo);
    +    * ...
    +    * //Likely in some other class
    +    * TypeReference<List<Trade>> publishingTypeReference = new TypeReference<List<Trade>>(){};
    +    * List<Trade> trades = new ArrayList<Trade>();
    +    * EventBus.publish(publishingTypeReference.getType(), trades);
    +    * trades.add(trade);
    +    * EventBus.publish(publishingTypeReference.getType(), trades);
    +    * 
    + *

    + * @param genericType the generified type of the published object. + * @param event The event that occurred + */ + public void publish(Type genericType, Object event); + + /** + * Publishes an object on a topic name so that all subscribers to that name or a Regular Expression that matches + * the topic name will be notified. + * + * @param topic The name of the topic subscribed to + * @param o the object to publish + */ + public void publish(String topic, Object o); + + /** + * Subscribes an EventSubscriber to the publication of objects matching a type. Only a WeakReference to + * the subscriber is held by the EventService. + *

    + * Subscribing to a class means the subscriber will be called when objects of that class are published, when + * objects of subclasses of the class are published, when objects implementing any of the interfaces of the + * class are published, or when generic types are published with the class' raw type. + *

    + * Subscription is weak by default to avoid having to call unsubscribe(), and to avoid the memory leaks that would + * occur if unsubscribe was not called. The service will respect the WeakReference semantics. In other words, if + * the subscriber has not been garbage collected, then onEvent(Object) will be called normally. If the hard + * reference has been garbage collected, the service will unsubscribe it's WeakReference. + *

    + * It's allowable to call unsubscribe() with the same EventSubscriber hard reference to stop a subscription + * immediately. + *

    + * The service will create the WeakReference on behalf of the caller. + * + * @param eventClass the class of published objects to subscriber listen to + * @param subscriber The subscriber that will accept the events of the event class when published. + * + * @return true if the subscriber was subscribed successfully, false otherwise + */ + public boolean subscribe(Class eventClass, EventSubscriber subscriber); + + /** + * Subscribe an EventSubscriber to publication of generic Types. + * Subscribers will only be notified for publications using {@link #publish(java.lang.reflect.Type, Object)}. + *

    + * Due to generic type erasure, the type must be supplied by the publisher. You can get a declared object's + * type by using the {@link org.scijava.event.bushe.generics.TypeReference} class. For Example: + *

    +   * TypeReference<List<Trade>> subscribingTypeReference = new TypeReference<List<Trade>>(){};
    +   * EventBus.subscribe(subscribingTypeReference.getType(), mySubscriber);
    +   * EventBus.subscribe(List.class, thisSubscriberWillGetCalledToo);
    +   * ...
    +   * //Likely in some other class
    +   * TypeReference<List<Trade>> publishingTypeReference = new TypeReference<List<Trade>>(){};
    +   * List<Trade> trades = new ArrayList<Trade>();
    +   * EventBus.publish(publishingTypeReference.getType(), trades);
    +   * trades.add(trade);
    +   * EventBus.publish(publishingTypeReference.getType(), trades);
    +   * 
    + *

    + * @param type the generic type to subscribe to + * @param subscriber the subscriber to the type + * @return true if a new subscription is made, false if it already existed + */ + public boolean subscribe(Type type, EventSubscriber subscriber); + + /** + * Subscribes an EventSubscriber to the publication of objects exactly matching a type. Only a WeakReference + * to the subscriber is held by the EventService. + *

    + * Subscription is weak by default to avoid having to call unsubscribe(), and to avoid the memory leaks that would + * occur if unsubscribe was not called. The service will respect the WeakReference semantics. In other words, if + * the subscriber has not been garbage collected, then the onEvent will be called normally. If the hard reference + * has been garbage collected, the service will unsubscribe it's WeakReference. + *

    + * It's allowable to call unsubscribe() with the same EventSubscriber hard reference to stop a subscription + * immediately. + *

    + * The service will create the WeakReference on behalf of the caller. + * + * @param eventClass the class of published objects to listen to + * @param subscriber The subscriber that will accept the events when published. + * + * @return true if the subscriber was subscribed successfully, false otherwise + */ + public boolean subscribeExactly(Class eventClass, EventSubscriber subscriber); + + /** + * Subscribes an EventTopicSubscriber to the publication of a topic name. Only a WeakReference + * to the subscriber is held by the EventService. + *

    + * Subscription is weak by default to avoid having to call unsubscribe(), and to avoid the memory leaks that would + * occur if unsubscribe was not called. The service will respect the WeakReference semantics. In other words, if + * the subscriber has not been garbage collected, then the onEvent will be called normally. If the hard reference + * has been garbage collected, the service will unsubscribe it's WeakReference. + *

    + * It's allowable to call unsubscribe() with the same EventSubscriber hard reference to stop a subscription + * immediately. + *

    + * + * @param topic the name of the topic listened to + * @param subscriber The topic subscriber that will accept the events when published. + * + * @return true if the subscriber was subscribed successfully, false otherwise + */ + public boolean subscribe(String topic, EventTopicSubscriber subscriber); + + /** + * Subscribes an EventSubscriber to the publication of all the topic names that match a RegEx Pattern. Only a + * WeakReference to the subscriber is held by the EventService. + *

    + * Subscription is weak by default to avoid having to call unsubscribe(), and to avoid the memory leaks that would + * occur if unsubscribe was not called. The service will respect the WeakReference semantics. In other words, if + * the subscriber has not been garbage collected, then the onEvent will be called normally. If the hard reference + * has been garbage collected, the service will unsubscribe it's WeakReference. + *

    + * It's allowable to call unsubscribe() with the same EventSubscriber hard reference to stop a subscription + * immediately. + *

    + * + * @param topicPattern pattern that matches to the name of the topic published to + * @param subscriber The topic subscriber that will accept the events when published. + * + * @return true if the subscriber was subscribed successfully, false otherwise + */ + public boolean subscribe(Pattern topicPattern, EventTopicSubscriber subscriber); + + /** + * Subscribes an EventSubscriber to the publication of objects matching a type. + *

    + * The semantics are the same as {@link #subscribe(Class, EventSubscriber)}, except that the EventService holds + * a regularly reference, not a WeakReference. + *

    + * The subscriber will remain subscribed until {@link #unsubscribe(Class,EventSubscriber)} is called. + * + * @param eventClass the class of published objects to listen to + * @param subscriber The subscriber that will accept the events when published. + * + * @return true if the subscriber was subscribed successfully, false otherwise + */ + public boolean subscribeStrongly(Class eventClass, EventSubscriber subscriber); + + /** + * Subscribes an EventSubscriber to the publication of objects matching a type exactly. + *

    + * The semantics are the same as {@link #subscribeExactly(Class, EventSubscriber)}, except that the EventService + * holds a regularly reference, not a WeakReference. + *

    + * The subscriber will remain subscribed until {@link #unsubscribe(Class,EventSubscriber)} is called. + * + * @param eventClass the class of published objects to listen to + * @param subscriber The subscriber that will accept the events when published. + * + * @return true if the subscriber was subscribed successfully, false otherwise + */ + public boolean subscribeExactlyStrongly(Class eventClass, EventSubscriber subscriber); + + /** + * Subscribes a subscriber to an event topic name. + *

    + * The semantics are the same as {@link #subscribe(String, EventTopicSubscriber)}, except that the EventService + * holds a regularly reference, not a WeakReference. + *

    + * The subscriber will remain subscribed until {@link #unsubscribe(String,EventTopicSubscriber)} is called. + * + * @param topic the name of the topic listened to + * @param subscriber The topic subscriber that will accept the events when published. + * + * @return true if the subscriber was subscribed successfully, false otherwise + */ + public boolean subscribeStrongly(String topic, EventTopicSubscriber subscriber); + + /** + * Subscribes a subscriber to all the event topic names that match a RegEx expression. + *

    + * The semantics are the same as {@link #subscribe(java.util.regex.Pattern, EventTopicSubscriber)}, except that the + * EventService holds a regularly reference, not a WeakReference. + *

    + * The subscriber will remain subscribed until {@link #unsubscribe(String,EventTopicSubscriber)} is called. + * + * @param topicPattern the name of the topic listened to + * @param subscriber The topic subscriber that will accept the events when published. + * + * @return true if the subscriber was subscribed successfully, false otherwise + */ + public boolean subscribeStrongly(Pattern topicPattern, EventTopicSubscriber subscriber); + + /** + * Stop the subscription for a subscriber that is subscribed to a class. + * + * @param eventClass the class of published objects to listen to + * @param subscriber The subscriber that is subscribed to the event. The same reference as the one subscribed. + * + * @return true if the subscriber was subscribed to the event, false if it wasn't + */ + public boolean unsubscribe(Class eventClass, EventSubscriber subscriber); + + /** + * Stop the subscription for a subscriber that is subscribed to an exact class. + * + * @param eventClass the class of published objects to listen to + * @param subscriber The subscriber that is subscribed to the event. The same reference as the one subscribed. + * + * @return true if the subscriber was subscribed to the event, false if it wasn't + */ + public boolean unsubscribeExactly(Class eventClass, EventSubscriber subscriber); + + /** + * Stop the subscription for a subscriber that is subscribed to an event topic. + * + * @param topic the topic listened to + * @param subscriber The subscriber that is subscribed to the topic. The same reference as the one subscribed. + * + * @return true if the subscriber was subscribed to the event, false if it wasn't + */ + public boolean unsubscribe(String topic, EventTopicSubscriber subscriber); + + /** + * Stop the subscription for a subscriber that is subscribed to event topics via a Pattern. + * + * @param topicPattern the regex expression matching topics listened to + * @param subscriber The subscriber that is subscribed to the topic. The same reference as the one subscribed. + * + * @return true if the subscriber was subscribed to the event, false if it wasn't + */ + public boolean unsubscribe(Pattern topicPattern, EventTopicSubscriber subscriber); + + /** + * Subscribes a VetoEventListener to publication of event matching a class. Only a WeakReference to the + * VetoEventListener is held by the EventService. + *

    + * Use this method to avoid having to call unsubscribe(), though with care since garbage collection semantics is + * indeterminate. The service will respect the WeakReference semantics. In other words, if the vetoListener has not + * been garbage collected, then the onEvent will be called normally. If the hard reference has been garbage + * collected, the service will unsubscribe it's WeakReference. + *

    + * It's allowable to call unsubscribe() with the same VetoEventListener hard reference to stop a subscription + * immediately. + *

    + * The service will create the WeakReference on behalf of the caller. + * + * @param eventClass the class of published objects that can be vetoed + * @param vetoListener The VetoEventListener that can determine whether an event is published. + * + * @return true if the VetoEventListener was subscribed successfully, false otherwise + */ + public boolean subscribeVetoListener(Class eventClass, VetoEventListener vetoListener); + + /** + * Subscribes a VetoEventListener to publication of an exact event class. Only a WeakReference to the + * VetoEventListener is held by the EventService. + *

    + * Use this method to avoid having to call unsubscribe(), though with care since garbage collection semantics is + * indeterminate. The service will respect the WeakReference semantics. In other words, if the vetoListener has not + * been garbage collected, then the onEvent will be called normally. If the hard reference has been garbage + * collected, the service will unsubscribe it's WeakReference. + *

    + * It's allowable to call unsubscribe() with the same VetoEventListener hard reference to stop a subscription + * immediately. + *

    + * The service will create the WeakReference on behalf of the caller. + * + * @param eventClass the class of published objects that can be vetoed + * @param vetoListener The vetoListener that can determine whether an event is published. + * + * @return true if the vetoListener was subscribed successfully, false otherwise + */ + public boolean subscribeVetoListenerExactly(Class eventClass, VetoEventListener vetoListener); + + /** + * Subscribes a VetoTopicEventListener to a topic name. Only a WeakReference to the + * VetoEventListener is held by the EventService. + * + * @param topic the name of the topic listened to + * @param vetoListener The vetoListener that can determine whether an event is published. + * + * @return true if the vetoListener was subscribed successfully, false otherwise + */ + public boolean subscribeVetoListener(String topic, VetoTopicEventListener vetoListener); + + /** + * Subscribes an VetoTopicEventListener to all the topic names that match the RegEx Pattern. Only a + * WeakReference to the VetoEventListener is held by the EventService. + * + * @param topicPattern the RegEx pattern to match topics with + * @param vetoListener The vetoListener that can determine whether an event is published. + * + * @return true if the vetoListener was subscribed successfully, false otherwise + */ + public boolean subscribeVetoListener(Pattern topicPattern, VetoTopicEventListener vetoListener); + + /** + * Subscribes a VetoEventListener for an event class and its subclasses. Only a WeakReference to the + * VetoEventListener is held by the EventService. + *

    + * The VetoEventListener will remain subscribed until {@link #unsubscribeVetoListener(Class,VetoEventListener)} is + * called. + * + * @param eventClass the class of published objects to listen to + * @param vetoListener The vetoListener that will accept the events when published. + * + * @return true if the vetoListener was subscribed successfully, false otherwise + */ + public boolean subscribeVetoListenerStrongly(Class eventClass, VetoEventListener vetoListener); + + /** + * Subscribes a VetoEventListener for an event class (but not its subclasses). + *

    + * The VetoEventListener will remain subscribed until {@link #unsubscribeVetoListener(Class,VetoEventListener)} is + * called. + * + * @param eventClass the class of published objects to listen to + * @param vetoListener The vetoListener that will accept the events when published. + * + * @return true if the vetoListener was subscribed successfully, false otherwise + */ + public boolean subscribeVetoListenerExactlyStrongly(Class eventClass, VetoEventListener vetoListener); + + /** + * Subscribes a VetoEventListener to a topic name. + *

    + * The VetoEventListener will remain subscribed until {@link #unsubscribeVetoListener(String,VetoTopicEventListener)} is + * called. + * + * @param topic the name of the topic listened to + * @param vetoListener The topic vetoListener that will accept or reject publication. + * + * @return true if the vetoListener was subscribed successfully, false otherwise + * + * @see #subscribeVetoListenerStrongly(Class,VetoEventListener) + */ + public boolean subscribeVetoListenerStrongly(String topic, VetoTopicEventListener vetoListener); + + /** + * Subscribes a VetoTopicEventListener to a set of topics that match a RegEx expression. + *

    + * The VetoEventListener will remain subscribed until {@link #unsubscribeVetoListener(Pattern,VetoTopicEventListener)} is + * called. + * + * @param topicPattern the RegEx pattern that matches the name of the topics listened to + * @param vetoListener The topic vetoListener that will accept or reject publication. + * + * @return true if the vetoListener was subscribed successfully, false otherwise + * + * @see #subscribeVetoListenerStrongly(Pattern,VetoTopicEventListener) + */ + public boolean subscribeVetoListenerStrongly(Pattern topicPattern, VetoTopicEventListener vetoListener); + + /** + * Stop the subscription for a vetoListener that is subscribed to an event class and its subclasses. + * + * @param eventClass the class of published objects that can be vetoed + * @param vetoListener The vetoListener that will accept or reject publication of an event. + * + * @return true if the vetoListener was subscribed to the event, false if it wasn't + */ + public boolean unsubscribeVetoListener(Class eventClass, VetoEventListener vetoListener); + + /** + * Stop the subscription for a vetoListener that is subscribed to an event class (but not its subclasses). + * + * @param eventClass the class of published objects that can be vetoed + * @param vetoListener The vetoListener that will accept or reject publication of an event. + * + * @return true if the vetoListener was subscribed to the event, false if it wasn't + */ + public boolean unsubscribeVetoListenerExactly(Class eventClass, VetoEventListener vetoListener); + + /** + * Stop the subscription for a VetoTopicEventListener that is subscribed to an event topic name. + * + * @param topic the name of the topic that is listened to + * @param vetoListener The vetoListener that can determine whether an event is published on that topic + * + * @return true if the vetoListener was subscribed to the topic, false if it wasn't + */ + public boolean unsubscribeVetoListener(String topic, VetoTopicEventListener vetoListener); + + /** + * Stop the subscription for a VetoTopicEventListener that is subscribed to an event topic RegEx pattern. + * + * @param topicPattern the RegEx pattern matching the name of the topics listened to + * @param vetoListener The vetoListener that can determine whether an event is published on that topic + * + * @return true if the vetoListener was subscribed to the topicPattern, false if it wasn't + */ + public boolean unsubscribeVetoListener(Pattern topicPattern, VetoTopicEventListener vetoListener); + + /** + * Union of getSubscribersToClass(Class) and getSubscribersToExactClass(Class) + * + * @param eventClass the eventClass of interest + * + * @return the subscribers that will be called when an event of eventClass is published, this includes those + * subscribed that match by exact class and those that match to a class and its supertypes + */ + public List getSubscribers(Class eventClass); + + /** + * Gets subscribers that subscribed with the given a class, but not those subscribed exactly to the class. + * @param eventClass the eventClass of interest + * + * @return the subscribers that are subscribed to match to a class and its supertypes, but not those subscribed by + * exact class + */ + public List getSubscribersToClass(Class eventClass); + + /** + * Gets subscribers that are subscribed exactly to a class, but not those subscribed non-exactly to a class. + * @param eventClass the eventClass of interest + * + * @return the subscribers that are subscribed by exact class but not those subscribed to match to a class and its + * supertypes + */ + public List getSubscribersToExactClass(Class eventClass); + + /** + * Gets the subscribers that subscribed to a generic type. + * + * @param type the type of interest + * + * @return the subscribers that will be called when an event of eventClass is published, this includes those + * subscribed that match by exact class and those that match to a class and its supertypes + */ + public List getSubscribers(Type type); + + /** + * Union of getSubscribersByPattern(String) and geSubscribersToTopic(String) + * + * @param topic the topic of interest + * + * @return the subscribers that will be called when an event is published on the topic. This includes subscribers + * subscribed to match the exact topic name and those subscribed by a RegEx Pattern that matches the topic + * name. + */ + public List getSubscribers(String topic); + + /** + * Get the subscribers that subscribed to a topic. + * @param topic the topic of interest + * + * @return the subscribers that subscribed to the exact topic name. + */ + public List getSubscribersToTopic(String topic); + + /** + * Gets the subscribers that subscribed to a regular expression. + * @param pattern the RegEx pattern that was subscribed to + * + * @return the subscribers that were subscribed to this pattern. + */ + public List getSubscribers(Pattern pattern); + + /** + * Gets the subscribers that subscribed with a Pattern that matches the given topic. + * @param topic a topic to match Patterns against + * + * @return the subscribers that subscribed by a RegEx Pattern that matches the topic name. + */ + public List getSubscribersByPattern(String topic); + + /** + * Gets veto subscribers that subscribed to a given class. + * @param eventClass the eventClass of interest + * + * @return the veto subscribers that will be called when an event of eventClass or its subclasses is published. + */ + public List getVetoSubscribers(Class eventClass); + + /** + * Get veto subscribers that subscribed to a given class exactly. + * @param eventClass the eventClass of interest + * + * @return the veto subscribers that will be called when an event of eventClass (but not its subclasses) is + * published. + */ + public List getVetoSubscribersToExactClass(Class eventClass); + + /** + * Gets the veto subscribers that subscribed to a class. + * @param eventClass the eventClass of interest + * + * @return the veto subscribers that are subscribed to the eventClass and its subclasses + */ + public List getVetoSubscribersToClass(Class eventClass); + + /** + * Union of {@link #getVetoSubscribersToTopic(String)} and {@link #getVetoSubscribersByPattern(String)} + * Misnamed method, should be called {@link #getVetoSubscribers(String)}. Will be deprecated in 1.5. + * + * @param topicOrPattern the topic or pattern of interest + * + * @return the veto subscribers that will be called when an event is published on the topic. + */ + public List getVetoEventListeners(String topicOrPattern); + + /** + * Gets the veto subscribers that subscribed to a topic. + * @param topic the topic of interest + * + * @return the veto subscribers that will be called when an event is published on the topic. + */ + public List getVetoSubscribersToTopic(String topic); + + /** + * Gets the veto subscribers that subscribed to a regular expression. + * @param pattern the RegEx pattern for the topic of interest + * + * @return the veto subscribers that were subscribed to this pattern. + */ + public List getVetoSubscribers(Pattern pattern); + + /** + * Gets the veto subscribers that are subscribed by pattern that match the topic. + * @param topic the topic to match the pattern string subscribed to + * + * @return the veto subscribers that subscribed by pattern that will be called when an event is published on the topic. + */ + public List getVetoSubscribersByPattern(String topic); + + /** + * Misnamed method for backwards compatibility. + * Duplicate of {@link #getVetoSubscribersToTopic(String)}. + * Out of sync with {@link #getSubscribers(String)}. + * @param topic the topic exactly subscribed to + * + * @return the veto subscribers that are subscribed to the topic. + * @deprecated use getVetoSubscribersToTopic instead for direct replacement, + * or use getVetoEventListeners to get topic and pattern matchers. + * In EventBus 2.0 this name will replace getVetoEventListeners() + * and have it's union functionality + */ + public List getVetoSubscribers(String topic); + + /** Clears all current subscribers and veto subscribers */ + public void clearAllSubscribers(); + + /** + * Sets the default cache size for each kind of event, default is 0 (no caching). + *

    + * If this value is set to a positive number, then when an event is published, the EventService caches the event or + * topic payload data for later retrieval. This allows subscribers to find out what has most recently happened + * before they subscribed. The cached event(s) are returned from #getLastEvent(Class), #getLastTopicData(String), + * #getCachedEvents(Class), or #getCachedTopicData(String) + *

    + * The default can be overridden on a by-event-class or by-topic basis. + * + * @param defaultCacheSizePerClassOrTopic the cache size per event + */ + public void setDefaultCacheSizePerClassOrTopic(int defaultCacheSizePerClassOrTopic); + + /** + * The default number of events or payloads kept per event class or topic + * @return the default number of event payloads kept per event class or topic + */ + public int getDefaultCacheSizePerClassOrTopic(); + + /** + * Set the number of events cached for a particular class of event. By default, no events are cached. + *

    + * This overrides any setting for the DefaultCacheSizePerClassOrTopic. + *

    + * Class hierarchy semantics are respected. That is, if there are three events, A, X and Y, and X and Y are both + * derived from A, then setting the cache size for A applies the cache size for all three. Setting the cache size + * for X applies to X and leaves the settings for A and Y in tact. Interfaces can be passed to this method, but they + * only take effect if the cache size of a class or it's superclasses has been set. Just like Class.getInterfaces(), + * if multiple cache sizes are set, the interface names declared earliest in the implements clause of the eventClass + * takes effect. + *

    + * The cache for an event is not adjusted until the next event of that class is published. + * + * @param eventClass the class of event + * @param cacheSize the number of published events to cache for this event + */ + public void setCacheSizeForEventClass(Class eventClass, int cacheSize); + + /** + * Returns the number of events cached for a particular class of event. By default, no events are cached. + *

    + * This result is computed for a particular class from the values passed to #setCacheSizeForEventClass(Class, int), + * and respects the class hierarchy. + * + * @param eventClass the class of event + * + * @return the maximum size of the event cache for the given event class + * + * @see #setCacheSizeForEventClass(Class,int) + */ + public int getCacheSizeForEventClass(Class eventClass); + + /** + * Set the number of published data objects cached for a particular event topic. By default, no data are cached. + *

    + * This overrides any setting for the DefaultCacheSizePerClassOrTopic. + *

    + * Exact topic names take precedence over pattern matching. + *

    + * The cache for a topic is not adjusted until the next publication on that topic. + * + * @param topicName the topic name + * @param cacheSize the number of published data Objects to cache for this topic + */ + public void setCacheSizeForTopic(String topicName, int cacheSize); + + /** + * Set the number of published data objects cached for a topics matching a pattern. By default, no data are cached. + *

    + * This overrides any setting for the DefaultCacheSizePerClassOrTopic. + *

    + * Exact topic names take precedence over pattern matching. + *

    + * The cache for a topic is not adjusted until the next publication on that topic. + * + * @param pattern the pattern matching topic names + * @param cacheSize the number of data Objects to cache for this topic + */ + public void setCacheSizeForTopic(Pattern pattern, int cacheSize); + + /** + * Returns the number of cached data objects published on a particular topic. + *

    + * This result is computed for a particular class from the values passed to #setCacheSizeForEventClass(Class, int), + * and respects the class hierarchy. + * + * @param topic the topic name + * + * @return the maximum size of the data Object cache for the given topic + * + * @see #setCacheSizeForTopic(String,int) + * @see #setCacheSizeForTopic(java.util.regex.Pattern,int) + */ + public int getCacheSizeForTopic(String topic); + + /** + * When caching, returns the last event publish for the type supplied. + * @param eventClass an index into the cache + * + * @return the last event published for this event class, or null if caching is turned off (the default) + */ + public T getLastEvent(Class eventClass); + + /** + * When caching, returns the last set of event published for the type supplied. + * @param eventClass an index into the cache + * + * @return the last events published for this event class, or null if caching is turned off (the default) + */ + public List getCachedEvents(Class eventClass); + + /** + * When caching, returns the last payload published on the topic name supplied. + * @param topic an index into the cache + * + * @return the last data Object published on this topic, or null if caching is turned off (the default) + */ + public Object getLastTopicData(String topic); + + /** + * When caching, returns the last set of payload objects published on the topic name supplied. + * @param topic an index into the cache + * + * @return the last data Objects published on this topic, or null if caching is turned off (the default) + */ + public List getCachedTopicData(String topic); + + /** + * Clears the event cache for a specific event class or interface and it's any of it's subclasses or implementing + * classes. + * + * @param eventClass the event class to clear the cache for + */ + public void clearCache(Class eventClass); + + /** + * Clears the topic data cache for a specific topic name. + * + * @param topic the topic name to clear the cache for + */ + public void clearCache(String topic); + + /** + * Clears the topic data cache for all topics that match a particular pattern. + * + * @param pattern the pattern to match topic caches to + */ + public void clearCache(Pattern pattern); + + /** Clear all event caches for all topics and event. */ + public void clearCache(); + + /** + * Stop a subscription for an object that is subscribed with a ProxySubscriber. + *

    + * If an object is subscribed by proxy and it implements EventSubscriber, then the normal unsubscribe methods will + * still unsubscribe the object. + * + * @param eventClass class this object is subscribed to by proxy + * @param subscribedByProxy object subscribed by proxy + * @return true if the subscription was cancelled, false if it never existed + */ + boolean unsubscribe(Class eventClass, Object subscribedByProxy); + + /** + * Stop a subscription for an object that is subscribed exactly with a ProxySubscriber. + *

    + * If an object is subscribed by proxy and it implements EventSubscriber, then the normal unsubscribe methods will + * still unsubscribe the object. + * + * @param eventClass class this object is subscribed to by proxy + * @param subscribedByProxy object subscribed by proxy + * @return true if the subscription was cancelled, false if it never existed + */ + boolean unsubscribeExactly(Class eventClass, Object subscribedByProxy); + + /** + * Stop a subscription for an object that is subscribed to a topic with a ProxySubscriber. + *

    + * If an object is subscribed by proxy and it implements EventSubscriber, then the normal unsubscribe methods will + * still unsubscribe the object. + * + * @param topic the topic this object is subscribed to by proxy + * @param subscribedByProxy object subscribed by proxy + * @return true if the subscription was cancelled, false if it never existed + */ + boolean unsubscribe(String topic, Object subscribedByProxy); + + /** + * When using annotations, an object may be subscribed by proxy. This unsubscribe method will unsubscribe an object + * that is subscribed with a ProxySubscriber. + *

    + * If an object is subscribed by proxy and it implements EventSubscriber, then the normal unsubscribe methods will + * still unsubscribe the object. + * + * @param pattern the RegEx expression this object is subscribed to by proxy + * @param subscribedByProxy object subscribed by proxy + * @return true if the subscription was cancelled, false if it never existed + */ + boolean unsubscribe(Pattern pattern, Object subscribedByProxy); + + /** + * Stop a veto subscription for an object that is subscribed with a ProxySubscriber. + *

    + * If an object is subscribed by proxy and it implements VetoSubscriber, then the normal unsubscribe methods will + * still unsubscribe the object. + * + * @param eventClass class this object is subscribed to by proxy + * @param subscribedByProxy object subscribed by proxy + * @return true if the subscription was cancelled, false if it never existed + */ + boolean unsubscribeVeto(Class eventClass, Object subscribedByProxy); + + /** + * Stop a veto subscription for an object that is subscribed exactly with a ProxySubscriber. + *

    + * If an object is subscribed by proxy and it implements VetoSubscriber, then the normal unsubscribe methods will + * still unsubscribe the object. + * + * @param eventClass class this object is subscribed to by proxy + * @param subscribedByProxy object subscribed by proxy + * @return true if the subscription was cancelled, false if it never existed + */ + boolean unsubscribeVetoExactly(Class eventClass, Object subscribedByProxy); + + /** + * Stop a veto subscription for an object that is subscribed to a topic with a ProxySubscriber. + *

    + * If an object is subscribed by proxy and it implements EventSubscriber, then the normal unsubscribe methods will + * still unsubscribe the object. + * + * @param topic the topic this object is subscribed to by proxy + * @param subscribedByProxy object subscribed by proxy + * @return true if the subscription was cancelled, false if it never existed + */ + boolean unsubscribeVeto(String topic, Object subscribedByProxy); + + /** + * When using annotations, an object may be subscribed by proxy. This unsubscribe method will unsubscribe an object + * that is subscribed with a ProxySubscriber. + *

    + * If an object is subscribed by proxy and it implements EventSubscriber, then the normal unsubscribe methods will + * still unsubscribe the object. + * + * @param pattern the RegEx expression this object is subscribed to by proxy + * @param subscribedByProxy object subscribed by proxy + * @return true if the subscription was cancelled, false if it never existed + */ + boolean unsubscribeVeto(Pattern pattern, Object subscribedByProxy); +} diff --git a/src/main/java/org/scijava/event/bushe/EventServiceAction.java b/src/main/java/org/scijava/event/bushe/EventServiceAction.java new file mode 100644 index 000000000..bf304b091 --- /dev/null +++ b/src/main/java/org/scijava/event/bushe/EventServiceAction.java @@ -0,0 +1,214 @@ +/** + * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com + * + * Licensed 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.scijava.event.bushe; + +import java.awt.event.ActionEvent; +import javax.swing.AbstractAction; +import javax.swing.Action; +import javax.swing.ImageIcon; + +/** + * Abstract class that publishes a Swing ActionEvent (or another object) to an {@link EventService}. + *

    + * This abstract class ties the Swing Actions with the Event Bus. When fired, an ActionEvent is published on an + * EventService - either the global EventBus or a Container EventService. + *

    + * There are two derivatives of this class: The EventBusAction, which publishes the ActionEvent on the global EventBus, + * and the ContainerEventServiceAction, which publishes the ActionEvent on the a local ContainerEventService. + *

    + * By default the ActionEvent is published on an EventService topic corresponding to this action's + * Action.ACTION_COMMAND_KEY. Though this behavior is highly configurable. See {@link #getTopicName(ActionEvent)} and + * {@link #setTopicName(String)} for ways to customize the topic used. Override {@link #getTopicValue(ActionEvent)} to + * publish an object other than the ActionEvent. + *

    + * Instead of publishing on a topic, the ActionEvent can be published using class-based publication, use {@link + * #setPublishesOnTopic(boolean)} to set this behavior. When using class-based publication, the ActionEvent is published + * by default. Override {@link #getEventServiceEvent(ActionEvent)} to publish an object other than the ActionEvent. + * + * @author Michael Bushe michael@bushe.com + */ +public abstract class EventServiceAction extends AbstractAction { + public static final String EVENT_SERVICE_TOPIC_NAME = "event-service-topic"; + + private boolean throwsExceptionOnNullEventService = true; + public static final String EVENT_BUS_EVENT_CLASS_NAME = "eventBus.eventClassName"; + + private String topicName; + private boolean publishesOnTopic = true; + + public EventServiceAction() { + } + + public EventServiceAction(String actionName, ImageIcon icon) { + super(actionName, icon); + } + + + /** + * Override to return the EventService on which to publish. + * + * @param event the event passed to #execute(ActionEvent) + * + * @return the event service to publish on, if null and + * getThrowsExceptionOnNullEventService() is true (default) an exception is thrown + * + * @see EventBusAction + * @see ContainerEventServiceAction + */ + protected abstract EventService getEventService(ActionEvent event); + + /** @return true if this action publishes on a topic, false if it uses class-based publication. */ + public boolean isPublishesOnTopic() { + return publishesOnTopic; + } + + /** + * Sets whether this action publishes on a topic or uses class-based publication. + * + * @param onTopic true if publishes on topic (the default), false if using class-based publication. + */ + public void setPublishesOnTopic(boolean onTopic) { + this.publishesOnTopic = onTopic; + } + + /** + * Explicitly sets the topic name this action publishes on. + *

    + * A topic name does not need to be explicitly set. See {@link #getTopicName(ActionEvent)} to understand how the + * topic name is determined implicitly. + */ + public void setTopicName(String topicName) { + this.topicName = topicName; + } + + /** + * The topic name is the first non-null value out of:

    1. A topic name explicitly set via {@link + * #setTopicName(String)}
    2. the action's getValue("event-service-topic") {@link #EVENT_SERVICE_TOPIC_NAME}
    3. the + * action's getValue("ID") (for compatibility with the SAM ActionManager's ID)
    4. the action's {@link + * javax.swing.Action#ACTION_COMMAND_KEY}
    5. the action event's {@link javax.swing.Action#ACTION_COMMAND_KEY} + *
    6. the action's {@link javax.swing.Action#NAME} the value is used (if the value is not a String, the value's + * toString() is used). + *

      + * To use a different name, override this method. + * + * @param event the event passed to #execute(ActionEvent) + * + * @return the topic name to publish on, getId() by default + */ + public String getTopicName(ActionEvent event) { + if (topicName != null) { + return topicName; + } + Object topic = getValue(EVENT_SERVICE_TOPIC_NAME); + if (topic != null) { + return topic + ""; + } else { + topic = getValue("ID"); + if (topic != null) { + return topic + ""; + } else { + topic = getValue(Action.ACTION_COMMAND_KEY); + if (topic != null) { + return topic + ""; + } else { + topic = event.getActionCommand(); + if (topic != null) { + return topic + ""; + } else { + return (String) getName(); + } + } + } + } + } + + /** + * By default, the ActionEvent is the object published on the topic. Override this method to publish another + * object. + * + * @param event the event passed to #execute(ActionEvent) + * + * @return the topic value to publish, getId() by default + */ + protected Object getTopicValue(ActionEvent event) { + return event; + } + + /** @return the name of the action (javax.swing.Action#NAME) */ + public Object getName() { + return getValue(Action.NAME); + } + + /** + * If isPublishesOnTopic() returns false (i.e., when using class-based rather than topic-based publication), then + * override this method to publish an on object other than the ActionEvent. + * + * @return the Object to publish, cannot be null + */ + protected Object getEventServiceEvent(ActionEvent event) { + return event; + } + + /** + * Publishes the event on the EventService returned by getEventService(event) + *

      + * Gets the EventService from {@link #getEventService(java.awt.event.ActionEvent)}. Checks isPublishesOnTopic(). If true, + * gets the topic name from {@link #getTopicName(java.awt.event.ActionEvent)} and the topic value from {@link + * #getTopicValue(ActionEvent)}, and publishes the value on the topic on the EventService. If false, gets event from + * {@link #getEventServiceEvent(java.awt.event.ActionEvent)}, and publishes the event on the EventService. + *

      + * + * @param event the action event to publish. + * + * @throws RuntimeException if getThrowsExceptionOnNullEventService() && getEventService(event) == null + */ + public void actionPerformed(ActionEvent event) { + EventService eventService = getEventService(event); + if (eventService == null) { + if (getThrowsExceptionOnNullEventService()) { + throw new RuntimeException("Null EventService supplied to EventServiceAction with name:" + getName()); + } else { + return; + } + } + if (isPublishesOnTopic()) { + String topic = getTopicName(event); + Object topicValue = getTopicValue(event); + eventService.publish(topic, topicValue); + } else { + Object esEvent = getEventServiceEvent(event); + eventService.publish(esEvent); + } + } + + /** + * By default, exceptions are throw if getEventService() returns null. + * + * @return false to suppress this behavior + */ + public boolean getThrowsExceptionOnNullEventService() { + return throwsExceptionOnNullEventService; + } + + /** + * By default, exceptions are thrown if getEventService() returns null. + * + * @param throwsExceptionOnNullEventService true to suppress the exception when there is no event service + */ + public void setThrowsExceptionOnNullEventService(boolean throwsExceptionOnNullEventService) { + this.throwsExceptionOnNullEventService = throwsExceptionOnNullEventService; + } +} diff --git a/src/main/java/org/scijava/event/bushe/EventServiceEvent.java b/src/main/java/org/scijava/event/bushe/EventServiceEvent.java new file mode 100644 index 000000000..11a6e6edd --- /dev/null +++ b/src/main/java/org/scijava/event/bushe/EventServiceEvent.java @@ -0,0 +1,30 @@ +/** + * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com + * + * Licensed 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.scijava.event.bushe; + +/** + * Convenience interface for events that get processed by the EventService, its usage is not required in any way. Any + * object can be published on an EventService or on the EventBus. + *

      + * It is a good practice to specify the source of the event when using pub/sub, especially in Swing applications. + * + * @author Michael Bushe michael@bushe.com + * @see AbstractEventServiceEvent for a simple base class + */ +public interface EventServiceEvent { + /** @return The issuer of the event. */ + Object getSource(); +} diff --git a/src/main/java/org/scijava/event/bushe/EventServiceExistsException.java b/src/main/java/org/scijava/event/bushe/EventServiceExistsException.java new file mode 100644 index 000000000..4e1cb6f1f --- /dev/null +++ b/src/main/java/org/scijava/event/bushe/EventServiceExistsException.java @@ -0,0 +1,8 @@ +package org.scijava.event.bushe; + +/** Exception thrown by the EventServiceLocator when an EventService already is registered for a name. */ +public class EventServiceExistsException extends Exception { + public EventServiceExistsException(String msg) { + super(msg); + } +} diff --git a/src/main/java/org/scijava/event/bushe/EventServiceLocator.java b/src/main/java/org/scijava/event/bushe/EventServiceLocator.java new file mode 100644 index 000000000..9d631196e --- /dev/null +++ b/src/main/java/org/scijava/event/bushe/EventServiceLocator.java @@ -0,0 +1,174 @@ +/** + * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com + * + * Licensed 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.scijava.event.bushe; + +import java.util.HashMap; +import java.util.Map; + +/** + * A central registry of EventServices. Used by the {@link EventBus}. + *

      + * By default will lazily hold a SwingEventService, which is mapped to {@link #SERVICE_NAME_SWING_EVENT_SERVICE} and + * returned by {@link #getSwingEventService()}. Also by default this same instance is returned by {@link #getEventBusService()}, + * is mapped to {@link #SERVICE_NAME_EVENT_BUS} and wrapped by the EventBus. + *

      + * Since the default EventService implementation is thread safe, and since it's not good to have lots of events on the + * EventDispatchThread you may want multiple EventServices running on multiple threads, perhaps pulling events from a + * server and coalescing them into one or more events that are pushed onto the EDT. + *

      + * To change the default implementation class for the EventBus' EventService, use the API: + *

      + * EventServiceLocator.setEventService(EventServiceLocator.SERVICE_NAME_EVENT_BUS, new SomeEventServiceImpl());
      + * 
      + * Or use system properties by: + *
      + * System.setProperty(EventServiceLocator.SERVICE_NAME_EVENT_BUS, YourEventServiceImpl.class.getName());
      + * 
      + * Likewise, you can set this on the command line via -Dorg.scijava.event.bushe.swingEventServiceClass=foo.YourEventServiceImpl + *

      + * To change the default implementation class for the SwingEventService, use the API: + *

      + * EventServiceLocator.setEventService(EventServiceLocator.SERVICE_NAME_SWING_EVENT_SERVICE, new SomeSwingEventServiceImpl());
      + * 
      + * Or use system properties by: + *
      + * System.setProperty(EventServiceLocator.SWING_EVENT_SERVICE_CLASS, YourEventServiceImpl.class.getName());
      + * 
      + * Likewise, you can set this on the command line via -Dorg.scijava.event.bushe.swingEventServiceClass=foo.YourEventServiceImpl + * + * @author Michael Bushe michael@bushe.com + */ +public class EventServiceLocator { + /** The name "EventBus" is reserved for the service that the EventBus wraps and is returned by {@link #getEventBusService}.*/ + public static final String SERVICE_NAME_EVENT_BUS = "EventBus"; + /** The name "SwingEventService" is reserved for the service that is returned by {@link #getSwingEventService}. */ + public static final String SERVICE_NAME_SWING_EVENT_SERVICE = "SwingEventService"; + + /** + * Set this Java property to a Class that implements EventService to use an instance of that class instead of + * the instance returned by {@link #getSwingEventService}. Must be set before {@link #getEventBusService()} is called. + */ + public static final String EVENT_BUS_CLASS = "org.scijava.event.bushe.eventBusClass"; + /** + * Set this Java property to a Class that implements EventService to use an instance of that class instead of + * {@link SwingEventService} as service returned by {@link #getSwingEventService}. Must be set on startup or + * before the method {@link #getSwingEventService}is called. + */ + public static final String SWING_EVENT_SERVICE_CLASS = "org.scijava.event.bushe.swingEventServiceClass"; + + private static EventService EVENT_BUS_SERVICE; + private static EventService SWING_EVENT_SERVICE; + + private static final Map EVENT_SERVICES = new HashMap(); + + /** @return the singleton instance of the EventService used by the EventBus */ + public static synchronized EventService getEventBusService() { + if (EVENT_BUS_SERVICE == null) { + EVENT_BUS_SERVICE = getEventService(EVENT_BUS_CLASS, getSwingEventService()); + EVENT_SERVICES.put(SERVICE_NAME_EVENT_BUS, EVENT_BUS_SERVICE); + } + return EVENT_BUS_SERVICE; + } + + /** @return the singleton instance of a SwingEventService */ + public static synchronized EventService getSwingEventService() { + if (SWING_EVENT_SERVICE == null) { + SWING_EVENT_SERVICE = getEventService(SWING_EVENT_SERVICE_CLASS, new SwingEventService()); + EVENT_SERVICES.put(SERVICE_NAME_SWING_EVENT_SERVICE, SWING_EVENT_SERVICE); + } + return SWING_EVENT_SERVICE; + } + + /** + * @param serviceName the service name of the EventService, as registered by #setEventService(String, EventService), + * or {@link #SERVICE_NAME_EVENT_BUS} or {@link #SERVICE_NAME_SWING_EVENT_SERVICE} . + * + * @return a named event service instance + */ + public static synchronized EventService getEventService(String serviceName) { + EventService es = (EventService) EVENT_SERVICES.get(serviceName); + if (es == null) { + if (SERVICE_NAME_EVENT_BUS.equals(serviceName)) { + es = getEventBusService(); + } else if (SERVICE_NAME_SWING_EVENT_SERVICE.equals(serviceName)) { + es = getSwingEventService(); + } + } + return es; + } + + /** + * Registers a named EventService to the locator. Can be used to change the default EventBus implementation. + * + * @param serviceName a named event service instance + * @param es the EventService to attach to the service name + * + * @throws EventServiceExistsException if a service by this name already exists and the new service is non-null + */ + public static synchronized void setEventService(String serviceName, EventService es) throws EventServiceExistsException { + if (EVENT_SERVICES.get(serviceName) != null && es != null) { + throw new EventServiceExistsException("An event service by the name " + serviceName + "already exists. Perhaps multiple threads tried to create a service about the same time?"); + } else { + EVENT_SERVICES.put(serviceName, es); + if (SERVICE_NAME_EVENT_BUS.equals(serviceName)) { + EVENT_BUS_SERVICE = es; + } else if (SERVICE_NAME_SWING_EVENT_SERVICE.equals(serviceName)) { + SWING_EVENT_SERVICE = es; + } + } + } + + /** + * Use this carefully. Clears all the event services, including the SwingEventService (used by EventBus). + *

      + * Callers may want to resubscribe existing subscribers. + */ + static synchronized void clearAll() { + EVENT_SERVICES.clear(); + EVENT_BUS_SERVICE = null; + SWING_EVENT_SERVICE = null; + } + + private static synchronized EventService getEventService(String eventServiceClassPropertyName, EventService defaultService) { + EventService result; + String eventServiceClassName = System.getProperty(eventServiceClassPropertyName); + if (eventServiceClassName != null) { + Class sesClass; + try { + sesClass = Class.forName(eventServiceClassName); + } catch (ClassNotFoundException e) { + throw new RuntimeException("Could not find class specified in the property " + eventServiceClassPropertyName + ". Class=" + eventServiceClassName, e); + } + Object service; + try { + service = sesClass.newInstance(); + } catch (InstantiationException e) { + throw new RuntimeException("InstantiationException creating instance of class set from Java property" + eventServiceClassPropertyName + ". Class=" + eventServiceClassName, e); + } catch (IllegalAccessException e) { + throw new RuntimeException("IllegalAccessException creating instance of class set from Java property" + eventServiceClassPropertyName + ". Class=" + eventServiceClassName, e); + } + try { + result = (EventService) service; + } catch (ClassCastException ex) { + throw new RuntimeException("ClassCastException casting to " + EventService.class + " from instance of class set from Java property" + eventServiceClassPropertyName + ". Class=" + eventServiceClassName, ex); + } + } else { + result = defaultService; + } + return result; + } + +} diff --git a/src/main/java/org/scijava/event/bushe/EventSubscriber.java b/src/main/java/org/scijava/event/bushe/EventSubscriber.java new file mode 100644 index 000000000..03e8f9227 --- /dev/null +++ b/src/main/java/org/scijava/event/bushe/EventSubscriber.java @@ -0,0 +1,35 @@ +/** + * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com + * + * Licensed 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.scijava.event.bushe; + +/** + * Callback interface for class-based subscribers of an {@link EventService}. + * + * @author Michael Bushe michael@bushe.com + */ +public interface EventSubscriber { + + /** + * Handle a published event.

      The EventService calls this method on each publication of an object that matches the + * class or interface passed to one of the EventService's class-based subscribe methods, specifically, {@link + * EventService#subscribe(Class,EventSubscriber)} {@link EventService#subscribeExactly(Class,EventSubscriber)} + * {@link EventService#subscribeStrongly(Class,EventSubscriber)} and {@link EventService#subscribeExactlyStrongly(Class, + *EventSubscriber)}. + * + * @param event The Object that is being published. + */ + public void onEvent(T event); +} diff --git a/src/main/java/org/scijava/event/bushe/EventTopicSubscriber.java b/src/main/java/org/scijava/event/bushe/EventTopicSubscriber.java new file mode 100644 index 000000000..dbcd8bd87 --- /dev/null +++ b/src/main/java/org/scijava/event/bushe/EventTopicSubscriber.java @@ -0,0 +1,38 @@ +/** + * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com + * + * Licensed 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.scijava.event.bushe; + +/** + * Callback interface for topic-based subscribers of an {@link EventService}. + * + * @author Michael Bushe michael@bushe.com + */ +public interface EventTopicSubscriber { + + /** + * Handle an event published on a topic. + *

      + * The EventService calls this method on each publication on a matching topic name passed to one of the + * EventService's topic-based subscribe methods, specifically, {@link EventService#subscribe(String, + *EventTopicSubscriber)} {@link EventService#subscribe(java.util.regex.Pattern,EventTopicSubscriber)} {@link + * EventService#subscribeStrongly(String,EventTopicSubscriber)} and {@link EventService#subscribeStrongly(java.util.regex.Pattern, + *EventTopicSubscriber)}. + * + * @param topic the name of the topic published on + * @param data the data object published on the topic + */ + public void onEvent(String topic, T data); +} diff --git a/src/main/java/org/scijava/event/bushe/Logger.java b/src/main/java/org/scijava/event/bushe/Logger.java new file mode 100644 index 000000000..0c940eec6 --- /dev/null +++ b/src/main/java/org/scijava/event/bushe/Logger.java @@ -0,0 +1,218 @@ +package org.scijava.event.bushe; + +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.util.Map; +import java.util.HashMap; + +/** + * Central Logging class. Shields code from Logging implementation. + *

      + * The EventBus allows operation in two modes - using java.util.logging so that + * the EventBus can be deployed in its own jar or using any logging system supported + * by apache commons logging, which of course requires other jars. + *

      + * The EventBus logging uses the names of its classes as the log, primarily + * "org.scijava.event.bushe.EventService". This aids in debugging which subscription and publication issues. + *

      + * Implementation note: There are no imports in this class to make things + * explicit. There is also no explicit use of classes outside java.util, + * anything else is used by reflection to avoid NoClassDefFound errors on class load. + */ +public class Logger { + private java.util.logging.Logger utilLogger; + private /*Untyped to avoid java.lang.NoClassDefFoundError + org.apache.commons.logging.Log*/ Object commonsLogger; + private Map METHOD_CACHE_NO_PARAMS; + private Map METHOD_CACHE_ONE_PARAM; + private Map METHOD_CACHE_TWO_PARAMS; + private static Class logFactoryClass; + private static Class logClass; + private static Method getLogMethod; + private static final Object[] EMPTY_ARGS = new Object[0]; + private static final Class[] CLASS_ARGS_EMPTY = new Class[0]; + private static final Class[] CLASS_ARGS_ONE = new Class[]{Object.class}; + private static final Class[] CLASS_ARGS_TWO = new Class[]{Object.class, Throwable.class}; + + /** Allows switching between Java and Commons logging.*/ + public static enum LoggerType { + /*java.util.logging*/ + JAVA, + /*org.apache.commons.logging*/ + COMMONS + } + + /** Standardized logging levels. */ + public static enum Level { + FATAL, + ERROR, + WARN, + INFO, + DEBUG, + TRACE + } + + public static LoggerType LOGGER_TYPE= null; + + public static Logger getLogger(String name) { + if (LOGGER_TYPE == null) { + LOGGER_TYPE = getLoggerType(); + } + if (LOGGER_TYPE == LoggerType.COMMONS) { + try { + Object logger = getLogMethod.invoke(null, name); + return new Logger(logger); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } catch (InvocationTargetException e) { + e.printStackTrace(); + } + } + return new Logger(java.util.logging.Logger.getLogger(name)); + } + + /** + * This method should only be called once in a JVM run. + * @return + */ + private static LoggerType getLoggerType() { + LoggerType result = null; + //See if apache commons is available + try { + logFactoryClass = Class.forName("org.apache.commons.logging.LogFactory"); + getLogMethod = logFactoryClass.getMethod("getLog", new Class[]{String.class}); + logClass = Class.forName("org.apache.commons.logging.Log"); + return LoggerType.COMMONS; + } catch (Throwable e) { + } + return LoggerType.JAVA; + } + + public Logger(java.util.logging.Logger utilLogger) { + this.utilLogger = utilLogger; + } + + public Logger(Object commonsLogger) { + this.commonsLogger = commonsLogger; + } + + /** + * Returns whether this level is loggable. If there is + * a misconfiguration, this will always return false. + * @param level the EventBus Logger level + * @return whether this level is loggable. + */ + public boolean isLoggable(Level level) { + if (utilLogger != null) { + java.util.logging.Level javaLevel = getJavaLevelFor(level); + return javaLevel != null && utilLogger.isLoggable(javaLevel); + } else if (commonsLogger != null) { + switch (level) { + case ERROR: return (Boolean)callCommonsLogger("isErrorEnabled"); + case FATAL: return (Boolean)callCommonsLogger("isFatalEnabled"); + case WARN: return (Boolean)callCommonsLogger("isWarnEnabled"); + case INFO: return (Boolean)callCommonsLogger("isInfoEnabled"); + case DEBUG: return (Boolean)callCommonsLogger("isDebugEnabled"); + case TRACE: return (Boolean)callCommonsLogger("isTraceEnabled"); + } + } + return false; + } + + private java.util.logging.Level getJavaLevelFor(Level level) { + switch (level) { + case FATAL: return java.util.logging.Level.SEVERE; + case ERROR: return java.util.logging.Level.SEVERE; + case WARN: return java.util.logging.Level.WARNING; + case INFO: return java.util.logging.Level.INFO; + case DEBUG: return java.util.logging.Level.FINE; + case TRACE: return java.util.logging.Level.FINEST; + } + return null; + } + + public void debug(String message) { + log(Level.DEBUG, message); + } + + public void log(Level level, String message) { + log(level, message, null); + } + + public void log(Level level, String message, Throwable throwable) { + if (!isLoggable(level)) { + return; + } + if (utilLogger != null) { + java.util.logging.Level javaLevel = getJavaLevelFor(level); + if (throwable == null) { + utilLogger.log(javaLevel, message); + } else { + utilLogger.log(javaLevel, message, throwable); + } + } else if (commonsLogger != null) { + if (throwable == null) { + switch (level) { + case ERROR: callCommonsLogger("error", message); break; + case FATAL: callCommonsLogger("fatal", message); break; + case WARN: callCommonsLogger("warn", message); break; + case INFO: callCommonsLogger("info", message); break; + case DEBUG: callCommonsLogger("debug", message); break; + case TRACE: callCommonsLogger("trace", message); break; + } + } else { + switch (level) { + case ERROR: callCommonsLogger("error", message, throwable); break; + case FATAL: callCommonsLogger("fatal", message, throwable); break; + case WARN: callCommonsLogger("warn", message, throwable); break; + case INFO: callCommonsLogger("info", message, throwable); break; + case DEBUG: callCommonsLogger("debug", message, throwable); break; + case TRACE: callCommonsLogger("trace", message, throwable); break; + } + } + } + } + + private Object callCommonsLogger(String methodName) { + if (METHOD_CACHE_NO_PARAMS == null) { + METHOD_CACHE_NO_PARAMS = new HashMap(); + } + return callCommonsLogger(METHOD_CACHE_NO_PARAMS, methodName, CLASS_ARGS_EMPTY, EMPTY_ARGS); + } + + private Object callCommonsLogger(String methodName, String message) { + if (METHOD_CACHE_ONE_PARAM == null) { + METHOD_CACHE_ONE_PARAM = new HashMap(); + } + return callCommonsLogger(METHOD_CACHE_ONE_PARAM, methodName, CLASS_ARGS_ONE, new Object[]{message}); + } + + private Object callCommonsLogger(String methodName, String message, Throwable throwable) { + if (METHOD_CACHE_TWO_PARAMS == null) { + METHOD_CACHE_TWO_PARAMS = new HashMap(); + } + return callCommonsLogger(METHOD_CACHE_TWO_PARAMS, methodName, CLASS_ARGS_TWO, new Object[]{message, throwable}); + } + + private Object callCommonsLogger(Map cache, String methodName, Class[] classOfArgs, Object[] args) { + Method method = cache.get(methodName); + if (method == null) { + try { + method = logClass.getMethod(methodName, classOfArgs); + cache.put(methodName, method); + } catch (NoSuchMethodException e) { + e.printStackTrace(); + } + } + if (method == null) { + return null; + } + try { + return method.invoke(commonsLogger, args); + } catch (IllegalAccessException e) { + return null; + } catch (InvocationTargetException e) { + return null; + } + } +} diff --git a/src/main/java/org/scijava/event/bushe/ObjectEvent.java b/src/main/java/org/scijava/event/bushe/ObjectEvent.java new file mode 100644 index 000000000..db9790a76 --- /dev/null +++ b/src/main/java/org/scijava/event/bushe/ObjectEvent.java @@ -0,0 +1,42 @@ +/** + * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com + * + * Licensed 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.scijava.event.bushe; + +/** + * A simple event that delivers an untyped object with a source object. + *

      + * Usage: EventBus.publish(new ObjectEvent(this, objectOfInterest); + * + * @author Michael Bushe michael@bushe.com + */ +public class ObjectEvent extends AbstractEventServiceEvent { + private Object eventObject; + + /** + * Constructor + * + * @param sourceObject the source of the event + * @param payload the payload or eventObject of the event + */ + public ObjectEvent(Object sourceObject, Object payload) { + super(sourceObject); + this.eventObject = payload; + } + + public Object getEventObject() { + return eventObject; + } +} diff --git a/src/main/java/org/scijava/event/bushe/Prioritized.java b/src/main/java/org/scijava/event/bushe/Prioritized.java new file mode 100644 index 000000000..ba57f4611 --- /dev/null +++ b/src/main/java/org/scijava/event/bushe/Prioritized.java @@ -0,0 +1,14 @@ +package org.scijava.event.bushe; + +/** + * Subscribers can implement this interface in order to affect the order in which they are called. + *

      + * Subscribers that do not implement this interface are called on a FIFO basis, as are subscribers that implement this + * interface and return 0. If the priority returned from this interface is negative, then this subscriber will be + * called before non-Prioritized subscribers, the more negative, the earlier it is called. If the priority returned + * from this interface is positive, then this subscriber will be called after non-Prioritized subscribers, the more + * positive, the later it is called. + */ +public interface Prioritized { + int getPriority(); +} diff --git a/src/main/java/org/scijava/event/bushe/PrioritizedEventSubscriber.java b/src/main/java/org/scijava/event/bushe/PrioritizedEventSubscriber.java new file mode 100644 index 000000000..ea90a6425 --- /dev/null +++ b/src/main/java/org/scijava/event/bushe/PrioritizedEventSubscriber.java @@ -0,0 +1,8 @@ +package org.scijava.event.bushe; + +/** + * This is a convenience interface, particularly for inner classes, that implements + * {@link EventSubscriber} and {@link Prioritized}. + */ +public interface PrioritizedEventSubscriber extends EventSubscriber, Prioritized { +} diff --git a/src/main/java/org/scijava/event/bushe/PrioritizedEventTopicSubscriber.java b/src/main/java/org/scijava/event/bushe/PrioritizedEventTopicSubscriber.java new file mode 100644 index 000000000..821259dec --- /dev/null +++ b/src/main/java/org/scijava/event/bushe/PrioritizedEventTopicSubscriber.java @@ -0,0 +1,8 @@ +package org.scijava.event.bushe; + +/** + * This is a convenience interface, particularly for inner classes, that implements + * {@link org.scijava.event.bushe.EventTopicSubscriber} and {@link org.scijava.event.bushe.Prioritized}. + */ +public interface PrioritizedEventTopicSubscriber extends EventTopicSubscriber, Prioritized { +} \ No newline at end of file diff --git a/src/main/java/org/scijava/event/bushe/ProxySubscriber.java b/src/main/java/org/scijava/event/bushe/ProxySubscriber.java new file mode 100644 index 000000000..23ecaf8a0 --- /dev/null +++ b/src/main/java/org/scijava/event/bushe/ProxySubscriber.java @@ -0,0 +1,45 @@ +/** + * Copyright 2007 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com + * + * Licensed 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.scijava.event.bushe; + +import org.scijava.event.bushe.annotation.ReferenceStrength; + +/** + * An interface that can be implemented when proxies are used for subscription, not needed in normal usage. When an + * unsubscribe method is called on an EventService, the EventService is required to check if any of subscribed objects + * are ProxySubscribers and if the object to be unsubscribed is the ProxySubscriber's proxiedSubscriber. If so, the + * EventService proxy is unsubscribed and the ProxySubscriber's proxyUnsubscribed() method is called to allow the proxy + * to perform any cleanup if necessary. ProxySubscribers should set their references to their proxied objects to null + * for strong subscriptions to allow garbage collection. + * + * @author Michael Bushe + */ +public interface ProxySubscriber { + + /** @return the object this proxy is subscribed on behalf of */ + public Object getProxiedSubscriber(); + + /** + * Called by EventServices to inform the proxy that it is unsubscribed. The ProxySubscriber should null the + * reference to it's proxied subscriber + */ + public void proxyUnsubscribed(); + + /** + * @return the reference strength from this proxy to the proxied subscriber + */ + public ReferenceStrength getReferenceStrength(); +} diff --git a/src/main/java/org/scijava/event/bushe/PublicationStatus.java b/src/main/java/org/scijava/event/bushe/PublicationStatus.java new file mode 100644 index 000000000..acdf3d4e2 --- /dev/null +++ b/src/main/java/org/scijava/event/bushe/PublicationStatus.java @@ -0,0 +1,30 @@ +package org.scijava.event.bushe; + +/** + * The status of an event as it makes its way from publication through processing by subscribers. + *

      + * EventServices are required to stamp any event object or payload that implements the PublicationStatusTracker + * with the corresponding PublicationStatus as the event object is processed. The EventService is not + * required to set the Unpublished state. + */ +public enum PublicationStatus { + /** Recommended default.*/ + Unpublished, + /** Set directly after publication on an EventService.*/ + Initiated, + /** End status for events that are vetoed and never sent to subscribers.*/ + Vetoed, + /** State set after veto test is passed before the event is send to any subscribers.*/ + Queued, + /** Set while the event is sent to it's subscribers. EventService implementations + * such as the ThreadSafeEventService and the SwingEventService will transition from Queued to + * Publishing immediately. Others implementations that call subscribers on threads different + * from veto subscribers are free to leave an event in the Queued state and wait until + * the event is passed to the thread(s) that subscribers are called on to set the + * Publishing state */ + Publishing, + /** + * Called when all subscribers have finished handling the event publication. + */ + Completed +} diff --git a/src/main/java/org/scijava/event/bushe/PublicationStatusTracker.java b/src/main/java/org/scijava/event/bushe/PublicationStatusTracker.java new file mode 100644 index 000000000..b22520751 --- /dev/null +++ b/src/main/java/org/scijava/event/bushe/PublicationStatusTracker.java @@ -0,0 +1,24 @@ +package org.scijava.event.bushe; + +/** + * An optional interface that can be implemented by Events objects or topic Payloads + * to enable the events' status to be stamped on the event by an event service. + *

      + * EventService implementations must call setEventStatus(status) on event objects and + * payloads that implement this interface. + */ +public interface PublicationStatusTracker { + + /** + * Implementations of this method must be made thread safe. + * @return last value set by setPublicationStatus(), or + * {@link PublicationStatus#Unpublished} if setPublicationStatus was never called. + */ + public PublicationStatus getPublicationStatus(); + + /** + * Implementations of this method must be made thread safe. + * @param status the status of the event during it's current publication + */ + public void setPublicationStatus(PublicationStatus status); +} diff --git a/src/main/java/org/scijava/event/bushe/SubscriberTimingEvent.java b/src/main/java/org/scijava/event/bushe/SubscriberTimingEvent.java new file mode 100644 index 000000000..41dee9629 --- /dev/null +++ b/src/main/java/org/scijava/event/bushe/SubscriberTimingEvent.java @@ -0,0 +1,116 @@ +/** + * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com + * + * Licensed 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.scijava.event.bushe; + +/** + * This event is published internally to report timing for subscribers on an EventService. Applications may subscribe to + * this event to do handle subscribers that take too long. + * + * @author Michael Bushe michael@bushe.com + * @see ThreadSafeEventService + */ +public class SubscriberTimingEvent extends AbstractEventServiceEvent { + private Long start; + private Long end; + private Long timeLimitMilliseconds; + private Object event; + private EventSubscriber subscriber; + private VetoEventListener vetoEventListener; + private String stringified; + + /** + * Create a timing event + * + * @param source event source + * @param start system time at start of the notification of listener + * @param end system time at end of the notification of listener + * @param timeLimitMilliseconds expected maximum time + * @param event the published event + * @param subscriber the event subscriber that went over the time limit, can be null if vetoEventListener is not + * null + * @param vetoEventListener the vetoEventListener that took too long, can be null if the eventListener is not null + */ + public SubscriberTimingEvent(Object source, Long start, Long end, Long timeLimitMilliseconds, + Object event, EventSubscriber subscriber, VetoEventListener vetoEventListener) { + super(source); + this.start = start; + this.end = end; + this.timeLimitMilliseconds = timeLimitMilliseconds; + this.event = event; + this.subscriber = subscriber; + this.vetoEventListener = vetoEventListener; + String type = "EventServiceSubscriber"; + String thing = ", EventServiceSubscriber:" + subscriber; + if (vetoEventListener != null) { + type = "VetoEventListener"; + thing = ", VetoEventListener" + vetoEventListener; + } + try { + stringified = "Time limit exceeded for " + type + ". Handling time=" + (end.longValue() - start.longValue()) + + ", Time limit=" + timeLimitMilliseconds + ", event:" + event + + thing + ", start:" + start + ", end:" + end; + } catch (Exception ex) { + stringified = "Time limit exceeded for event, toString threw and exception."; + } + } + + /** @return system time at start of the notification of listener */ + public Long getStart() { + return start; + } + + /** @return system time at end of the notification of listener */ + public Long getEnd() { + return end; + } + + /** @return expected maximum time */ + public Long getTimeLimitMilliseconds() { + return timeLimitMilliseconds; + } + + /** @return the published event */ + public Object getEvent() { + return event; + } + + /** + * @return subscriber the event subscriber that went over the time limit, can be null if vetoEventListener is not + * null + */ + public EventSubscriber getSubscriber() { + return subscriber; + } + + /** @return the vetoEventListener that took too long, can be null if the eventListener is not null */ + public VetoEventListener getVetoEventListener() { + return vetoEventListener; + } + + /** @return true if a veto listener took too long, false if an EventSubscriber took took long */ + public boolean isVetoExceeded() { + return vetoEventListener != null; + } + + /** @return true if an EventSubscriber took too long, false if a veto listener took took long */ + public boolean isEventHandlingExceeded() { + return subscriber == null; + } + + public String toString() { + return stringified; + } +} diff --git a/src/main/java/org/scijava/event/bushe/SwingEventService.java b/src/main/java/org/scijava/event/bushe/SwingEventService.java new file mode 100644 index 000000000..aded25830 --- /dev/null +++ b/src/main/java/org/scijava/event/bushe/SwingEventService.java @@ -0,0 +1,93 @@ +/** + * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com + * + * Licensed 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.scijava.event.bushe; + +import javax.swing.*; +import java.util.Arrays; +import java.util.List; + +/** + * An {@link EventService} implementation for Swing. + *

      + * This class is Swing thread-safe. All publish() calls NOT on the Swing EventDispatchThread thread are queued onto the + * EDT. If the calling thread is the EDT, then this is a simple pass-through (i.e the subscribers are notified on the + * same stack frame, just like they would be had they added themselves via Swing addXXListener methods). + * + * @author Michael Bushe michael@bushe.com + */ +public class SwingEventService extends ThreadSafeEventService { + + /** + * By default, the SwingEventService is constructed such that any listener that takes over 200 ms causes an + * SubscriberTimingEvent to be published. You will need to add a subscriber to this event. Note that if you use + * event to launch a modal dialog, the timings will be as long as the dialog is up - this is the way Swing works. + */ + public SwingEventService() { + super((long) 200, false, null, null, null); + } + + public SwingEventService(Long timeThresholdForEventTimingEventPublication) { + super(timeThresholdForEventTimingEventPublication, false, null, null, null); + } + + /** + * Create a SwingEventService is such that any listener that takes over timeThresholdForEventTimingEventPublication + * milliseconds causes an EventSubscriberTimingEvent to be published. You can add a subscriber to this event or set + * subscribeTimingEventsInternally to true to cause the default logging to occur through the protected {@link + * #subscribeTiming(SubscriberTimingEvent)} call. + *

      + * Note that if you use event to launch a modal dialog, the timings will be as long as the dialog is up - this is the + * way Swing works. + * + * @param timeThresholdForEventTimingEventPublication the longest time a subscriber should spend handling an event, + * The service will publish an SubscriberTimingEvent after listener processing if the time was exceeded. If null, no + * SubscriberTimingEvent will be issued. + * @param subscribeTimingEventsInternally add a subscriber to the EventSubscriberTimingEvent internally and call the + * protected {@link #subscribeTiming(SubscriberTimingEvent)} method when they occur. This logs a warning to the + * {@link Logger} logger by default. + * + * @throws IllegalArgumentException if timeThresholdForEventTimingEventPublication is null and + * subscribeTimingEventsInternally is true. + */ + public SwingEventService(Long timeThresholdForEventTimingEventPublication, boolean subscribeTimingEventsInternally) { + super(timeThresholdForEventTimingEventPublication, subscribeTimingEventsInternally, null, null, null); + } + + /** + * Same as ThreadSafeEventService.publish(), except if the call is coming from a thread that is not the Swing Event + * Dispatch Thread, the request is put on the EDT through a a call to SwingUtilities.invokeLater(). Otherwise this + * DOES NOT post a new event on the EDT. The subscribers are called on the same EDT event, just like addXXXListeners + * would be. + */ + protected void publish(final Object event, final String topic, final Object eventObj, + final List subscribers, final List vetoSubscribers, final StackTraceElement[] callingStack) { + if (SwingUtilities.isEventDispatchThread()) { + super.publish(event, topic, eventObj, subscribers, vetoSubscribers, callingStack); + } else { + //Make call to this method - stick on the EDT if not on the EDT + //Check the params first so that this thread can get the exception thrown + SwingUtilities.invokeLater(new Runnable() { + public void run() { + if (LOG.isLoggable(Logger.Level.DEBUG)) { + LOG.debug("publish(" + event + "," + topic + "," + eventObj + + "), called from non-EDT Thread:" + Arrays.toString(callingStack)); + } + SwingEventService.super.publish(event, topic, eventObj, subscribers, vetoSubscribers, callingStack); + } + }); + } + } +} diff --git a/src/main/java/org/scijava/event/bushe/ThreadSafeEventService.java b/src/main/java/org/scijava/event/bushe/ThreadSafeEventService.java new file mode 100644 index 000000000..4f78f02a7 --- /dev/null +++ b/src/main/java/org/scijava/event/bushe/ThreadSafeEventService.java @@ -0,0 +1,2216 @@ +/** + * Copyright 2005-2007 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com + * + * Licensed 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.scijava.event.bushe; + +import java.lang.ref.WeakReference; +import java.lang.reflect.Type; +import java.lang.reflect.ParameterizedType; +import java.lang.reflect.WildcardType; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.Timer; +import java.util.TimerTask; +import java.util.Collections; +import java.util.Comparator; +import java.util.regex.Pattern; + +import org.scijava.event.bushe.Logger.Level; +import org.scijava.event.bushe.annotation.ReferenceStrength; +import org.scijava.event.bushe.exception.SwingException; + +/** + * A thread-safe EventService implementation. + *

      Multithreading

      + *

      + * This implementation is not Swing thread-safe. If publication occurs on a thread other than the Swing + * EventDispatchThread, subscribers will receive the event on the calling thread, and not the EDT. Swing components + * should use the SwingEventService instead, which is the implementation used by the EventBus. + *

      + * Two threads may be accessing the ThreadSafeEventService at the same time, one unsubscribing a + * listener for topic "A" and the other publishing on topic "A". If the unsubscribing thread gets the lock first, + * then it is unsubscribed, end of story. If the publisher gets the lock first, then a snapshot copy of the current + * subscribers is made during the publication, the lock is released and the subscribers are called. Between the time + * the lock is released and the time that the listener is called, the unsubscribing thread can unsubscribe, resulting + * in an unsubscribed object receiving notification of the event after it was unsubscribed (but just once). + *

      + * On event publication, subscribers are called in the order in which they subscribed. + *

      + * Events and/or topic data can be cached, but are not by default. To cache events or topic data, call + * {@link #setDefaultCacheSizePerClassOrTopic(int)}, {@link #setCacheSizeForEventClass(Class, int)}, or + * {@link #setCacheSizeForTopic(String, int)}, {@link #setCacheSizeForTopic(Pattern, int)}. Retrieve cached values + * with {@link #getLastEvent(Class)}, {@link #getLastTopicData(String)}, {@link #getCachedEvents(Class)}, or + * {@link #getCachedTopicData(String)}. Using caching while subscribing + * is most likely to make sense only if you subscribe and publish on the same thread (so caching is very useful for + * Swing applications since both happen on the EDT in a single-threaded manner). In multithreaded applications, you + * never know if your subscriber has handled an event while it was being subscribed (before the subscribe() method + * returned) that is newer or older than the retrieved cached value (taken before or after subscribe() respectively). + *

      + * To deal with subscribers that take too long (a concern in Swing applications), the EventService can be made to issue + * {@link SubscriberTimingEvent}s when subscribers exceed a certain time. This does not interrupt subscriber processing + * and is published after the subscriber finishes. The service can log a warning for SubscriberTimingEvents, see the + * constructor {@link ThreadSafeEventService (long, boolean)}. The timing is checked for veto subscribers too. + *

      + *

      Logging

      + *

      + * All logging goes through the {@link Logger}. The Logger is configurable and supports multiple logging systems. + *

      + * Exceptions are logged by default, override {@link #handleException(String,Object,String,Object,Throwable, + * StackTraceElement[],String)} to handleException exceptions in another way. Each call to a subscriber is wrapped in + * a try block to ensure one listener does not interfere with another. + *

      + *

      Cleanup of Stale WeakReferences and Stale Annotation Proxies

      + *

      + * The EventService may need to clean up stale WeakReferences and ProxySubscribers created for EventBus annotations. (Aside: EventBus + * Annotations are handled by the creation of proxies to the annotated objects. Since the annotations create weak references + * by default, annotation proxies must held strongly by the EventService, otherwise the proxy is garbage collected.) When + * a WeakReference's referent or an ProxySubscriber's proxiedObject (the annotated object) is claimed by the garbage collector, + * the EventService still holds onto the actual WeakReference or ProxySubscriber subscribed to the EventService (which are pretty tiny). + *

      + * There are two ways that these stale WeakReferences and ProxySubscribers are cleaned up. + *

        + *
      1. On every publish, subscribe and unsubscribe, every subscriber and veto subscriber to a class or topic is checked to see + * if it is a stale WeakReference or a stale ProxySubscriber (one whose getProxySubscriber() returns null). If the subscriber + * is stale, it is unsubscribed from the EventService immediately. If it is a ProxySubscriber, it's proxyUnsubscribed() + * method is called after it is unsubscribed. (This isn't as expensive as it sounds, since checks to avoid double subscription is + * necessary anyway). + *
      2. Another cleanup thread may get started to clean up remaining stale subscribers. This cleanup thread only comes into + * play for subscribers to topic or classes that haven't been used (published/subscribed/unsibscribed to). A detailed description + * of the cleanup thread follows. + *
      + *

      The Cleanup Thread

      + * If a topic or class is never published to again, WeakReferences and ProxySubscribers can be left behind if they + * are not cleaned up. To prevent loitering stale subscribers, the ThreadSafeEventService may periodically run through + * all the EventSubscribers and VetoSubscribers for all topics and classes and clean up stale proxies. Proxies for + * Annotations that have a ReferenceStrength.STRONG are never cleaned up in normal usage. (By specifying + * ReferenceStrength.STRONG, the programmer is buying into unsubscribing annotated objects themselves. There is + * one caveat: If getProxiedSubscriber() returns null, even for a ProxySubscriber with a STRONG reference strength, that proxy + * is cleaned up as it is assumed it is stale or just wrong. This would not occur normally in EventBus usage, but only + * if someone is implementing their own custom ProxySubscriber and/or AnnotationProcessor.) + *

      + * Cleanup is pretty rare in general. Not only are stale subscribers cleaned up with regular usage, stale + * subscribers on abandoned topics and classes do not take up a lot of memory, hence, they are allowed to build up to a certain degree. + * Cleanup does not occur until the number of WeakReferences and SubscriptionsProxy's with WeakReference strength + * subscribed to an EventService for all the EventService's subscriptions in total exceed the cleanupStartThreshhold, + * which is set to CLEANUP_START_THRESHOLD_DEFAULT (500) by default. The default is overridable in the constructor + * or via #setCleanupStartThreshhold(Integer). If set to null, cleanup will never start. + *

      + * Once the cleanup start threshold is exceeded, a java.util.Timer is started to clean up stale subscribers periodically + * in another thread. The timer will fire every cleanupPeriodMS milliseconds, which is set to the + * CLEANUP_PERIOD_MS_DEFAULT (20 minutes) by default. The default is overridable in the constructor or + * via #setCleanupPeriodMS(Integer). If set to null, cleanup will not start. This is implemented with a java.util.Timer, + * so Timer's warnings apply - setting this too low will cause cleanups to bunch up and hog the cleanup thread. + *

      + * After a cleanup cycle completes, if the number of stale subscribers falls at or below the cleanupStopThreshhold + * cleanup stops until the cleanupStartThreshhold is exceeded again. The cleanupStopThreshhold is set + * to CLEANUP_STOP_THRESHOLD_DEFAULT (100) by default. The default is overridable in the constructor or via + * #setCleanupStopThreshhold(Integer). If set to null or 0, cleanup will not stop if it is ever started. + *

      + * Cleanup can be monitored by subscribing to the {@link CleanupEvent} class. + *

      + * All cleanup parameters are tunable "live" and checked after each subscription and after each cleanup cycle. + * To make cleanup never run, set cleanupStartThreshhold to Integer.MAX_VALUE and cleanupPeriodMS to null. + * To get cleanup to run continuously, set set cleanupStartThreshhold to 0 and cleanupPeriodMS to some reasonable value, + * perhaps 1000 (1 second) or so (not recommended, cleanup is conducted with regular usage and the cleanup thread is + * rarely created or invoked). + *

      + * Cleanup is not run in a daemon thread, and thus will not stop the JVM from exiting. + *

      + * + * @author Michael Bushe michael@bushe.com + * @todo (param) a JMS-like selector (can be done in base classes by implements like a commons filter + * @see EventService for a complete description of the API + */ +@SuppressWarnings({"unchecked", "ForLoopReplaceableByForEach"}) +public class ThreadSafeEventService implements EventService { + public static final Integer CLEANUP_START_THRESHOLD_DEFAULT = 250; + public static final Integer CLEANUP_STOP_THRESHOLD_DEFAULT = 100; + public static final Long CLEANUP_PERIOD_MS_DEFAULT = 20L*60L*1000L; + + protected static final Logger LOG = Logger.getLogger(EventService.class.getName()); + + //Making these generic collections is a bad idea, it doesn't compile since it's better to have all the maps + //go through the same set of code to do all the real publish and subscribe work + private Map subscribersByEventType = new HashMap(); + private Map subscribersByEventClass = new HashMap(); + private Map subscribersByExactEventClass = new HashMap(); + private Map subscribersByTopic = new HashMap(); + private Map subscribersByTopicPattern = new HashMap(); + private Map vetoListenersByClass = new HashMap(); + private Map vetoListenersByExactClass = new HashMap(); + private Map vetoListenersByTopic = new HashMap(); + private Map vetoListenersByTopicPattern = new HashMap(); + private final Object listenerLock = new Object(); + private final Object cacheLock = new Object(); + private Long timeThresholdForEventTimingEventPublication; + private Map cacheByEvent = new HashMap(); + private int defaultCacheSizePerClassOrTopic = 0; + private Map cacheSizesForEventClass; + private Map rawCacheSizesForEventClass; + private boolean rawCacheSizesForEventClassChanged; + private Map cacheByTopic = new HashMap(); + private Map cacheSizesForTopic; + private Map rawCacheSizesForTopic; + private boolean rawCacheSizesForTopicChanged; + private Map rawCacheSizesForPattern; + private boolean rawCacheSizesForPatternChanged; + private Integer cleanupStartThreshhold; + private Integer cleanupStopThreshold; + private Long cleanupPeriodMS; + private int weakRefPlusProxySubscriberCount; + private Timer cleanupTimer; + private TimerTask cleanupTimerTask; + private static final Comparator PRIORITIZED_SUBSCRIBER_COMPARATOR = new PrioritizedSubscriberComparator(); + private boolean hasEverUsedPrioritized; + + /** Creates a ThreadSafeEventService that does not monitor timing of handlers. */ + public ThreadSafeEventService() { + this(null, false, null, null, null); + } + + /** + * Creates a ThreadSafeEventService while providing time monitoring options. + * + * @param timeThresholdForEventTimingEventPublication the longest time a subscriber should spend handling an event, + * The service will publish an SubscriberTimingEvent after listener processing if the time was exceeded. If null, no + * EventSubscriberTimingEvent will be issued. + */ + public ThreadSafeEventService(Long timeThresholdForEventTimingEventPublication) { + this(timeThresholdForEventTimingEventPublication, false, null, null, null); + } + + /** + * Creates a ThreadSafeEventService while providing time monitoring options. + * + * @param timeThresholdForEventTimingEventPublication the longest time a subscriber should spend handling an event, + * The service will publish an SubscriberTimingEvent after listener processing if the time was exceeded. If null, no + * EventSubscriberTimingEvent will be issued. + * @param subscribeTimingEventsInternally add a subscriber to the SubscriberTimingEvent internally and call the + * protected subscribeTiming() method when they occur. This logs a warning to the {@link Logger} by + * default. + */ + public ThreadSafeEventService(Long timeThresholdForEventTimingEventPublication, boolean subscribeTimingEventsInternally) { + this(timeThresholdForEventTimingEventPublication, subscribeTimingEventsInternally, null, null, null); + } + + /** + * Creates a ThreadSafeEventService while providing proxy cleanup customization. + * Proxies are used with Annotations. + * + * @param cleanupStartThreshold see class javadoc. + * @param cleanupStopThreshold see class javadoc. + * @param cleanupPeriodMS see class javadoc. + */ + public ThreadSafeEventService(Integer cleanupStartThreshold, + Integer cleanupStopThreshold, Long cleanupPeriodMS) { + this(null, false, cleanupStartThreshold, + cleanupStopThreshold, cleanupPeriodMS); + } + + /** + * Creates a ThreadSafeEventService while providing time monitoring options. + * + * @param timeThresholdForEventTimingEventPublication the longest time a subscriber should spend handling an event. + * The service will publish an SubscriberTimingEvent after listener processing if the time was exceeded. If null, no + * SubscriberTimingEvent will be issued. + * @param subscribeTimingEventsInternally add a subscriber to the SubscriberTimingEvent internally and call the + * protected subscribeTiming() method when they occur. This logs a warning to the {@link Logger} by + * default. + * @param cleanupStartThreshold see class javadoc. + * @param cleanupStopThreshold see class javadoc. + * @param cleanupPeriodMS see class javadoc. + * + * @throws IllegalArgumentException if timeThresholdForEventTimingEventPublication is null and + * subscribeTimingEventsInternally is true. + */ + public ThreadSafeEventService(Long timeThresholdForEventTimingEventPublication, + boolean subscribeTimingEventsInternally, Integer cleanupStartThreshold, + Integer cleanupStopThreshold, Long cleanupPeriodMS) { + if (timeThresholdForEventTimingEventPublication == null && subscribeTimingEventsInternally) { + throw new IllegalArgumentException("null, true in constructor is not valid. If you want to send timing messages for all events and subscribe them internally, pass 0, true"); + } + this.timeThresholdForEventTimingEventPublication = timeThresholdForEventTimingEventPublication; + if (subscribeTimingEventsInternally) { + //Listen to timing events and log them + subscribeStrongly(SubscriberTimingEvent.class, new EventSubscriber() { + public void onEvent(Object event) { + subscribeTiming((SubscriberTimingEvent) event); + } + }); + } + if (cleanupStartThreshold == null) { + this.cleanupStartThreshhold = CLEANUP_START_THRESHOLD_DEFAULT; + } else { + this.cleanupStartThreshhold = cleanupStartThreshold; + } + if (cleanupStopThreshold == null) { + this.cleanupStopThreshold = CLEANUP_STOP_THRESHOLD_DEFAULT; + } else { + this.cleanupStopThreshold = cleanupStopThreshold; + } + if (cleanupPeriodMS == null) { + this.cleanupPeriodMS = CLEANUP_PERIOD_MS_DEFAULT; + } else { + this.cleanupPeriodMS = cleanupPeriodMS; + } + } + + /** + * Gets the threshold above which cleanup starts. See the class javadoc on cleanup. + * @return the threshold at which cleanup starts + */ + public Integer getCleanupStartThreshhold() { + synchronized (listenerLock) { + return cleanupStartThreshhold; + } + } + + /** + * Sets the threshold above which cleanup starts. See the class javadoc on cleanup. + * @param cleanupStartThreshhold threshold at which cleanup starts + */ + public void setCleanupStartThreshhold(Integer cleanupStartThreshhold) { + synchronized (listenerLock) { + this.cleanupStartThreshhold = cleanupStartThreshhold; + } + } + + /** + * Gets the threshold below which cleanup stops. See the class javadoc on cleanup. + * @return threshold at which cleanup stops (it may start again) + */ + public Integer getCleanupStopThreshold() { + synchronized (listenerLock) { + return cleanupStopThreshold; + } + } + + /** + * Sets the threshold below which cleanup stops. See the class javadoc on cleanup. + * @param cleanupStopThreshold threshold at which cleanup stops (it may start again). + */ + public void setCleanupStopThreshold(Integer cleanupStopThreshold) { + synchronized (listenerLock) { + this.cleanupStopThreshold = cleanupStopThreshold; + } + } + + /** + * Get the cleanup interval. See the class javadoc on cleanup. + * @return interval in milliseconds between cleanup runs. + */ + public Long getCleanupPeriodMS() { + synchronized (listenerLock) { + return cleanupPeriodMS; + } + } + + /** + * Sets the cleanup interval. See the class javadoc on cleanup. + * @param cleanupPeriodMS interval in milliseconds between cleanup runs. Passing null + * stops cleanup. + */ + public void setCleanupPeriodMS(Long cleanupPeriodMS) { + synchronized (listenerLock) { + this.cleanupPeriodMS = cleanupPeriodMS; + } + } + + /** @see EventService#subscribe(Class,EventSubscriber) */ + public boolean subscribe(Class cl, EventSubscriber eh) { + if (cl == null) { + throw new IllegalArgumentException("Event class must not be null"); + } + if (eh == null) { + throw new IllegalArgumentException("Event subscriber must not be null"); + } + if (LOG.isLoggable(Level.DEBUG)) { + LOG.debug("Subscribing by class, class:" + cl + ", subscriber:" + eh); + } + return subscribe(cl, subscribersByEventClass, new WeakReference(eh)); + } + + /** @see EventService#subscribe(java.lang.reflect.Type, EventSubscriber) */ + public boolean subscribe(Type type, EventSubscriber eh) { + return subscribe(type, subscribersByEventType, new WeakReference(eh)); + } + + /** @see EventService#subscribeExactly(Class,EventSubscriber) */ + public boolean subscribeExactly(Class cl, EventSubscriber eh) { + if (cl == null) { + throw new IllegalArgumentException("Event class must not be null"); + } + if (eh == null) { + throw new IllegalArgumentException("Event subscriber must not be null"); + } + if (LOG.isLoggable(Level.DEBUG)) { + LOG.debug("Subscribing by class, class:" + cl + ", subscriber:" + eh); + } + return subscribe(cl, subscribersByExactEventClass, new WeakReference(eh)); + } + + /** @see EventService#subscribe(String,EventTopicSubscriber) */ + public boolean subscribe(String topic, EventTopicSubscriber eh) { + if (topic == null) { + throw new IllegalArgumentException("Topic must not be null"); + } + if (eh == null) { + throw new IllegalArgumentException("Event topic subscriber must not be null"); + } + if (LOG.isLoggable(Level.DEBUG)) { + LOG.debug("Subscribing by topic name, name:" + topic + ", subscriber:" + eh); + } + return subscribe(topic, subscribersByTopic, new WeakReference(eh)); + } + + /** @see EventService#subscribe(Pattern,EventTopicSubscriber) */ + public boolean subscribe(Pattern pat, EventTopicSubscriber eh) { + if (pat == null) { + throw new IllegalArgumentException("Pattern must not be null"); + } + if (eh == null) { + throw new IllegalArgumentException("Event subscriber must not be null"); + } + if (LOG.isLoggable(Level.DEBUG)) { + LOG.debug("Subscribing by pattern, pattern:" + pat + ", subscriber:" + eh); + } + PatternWrapper patternWrapper = new PatternWrapper(pat); + return subscribe(patternWrapper, subscribersByTopicPattern, new WeakReference(eh)); + } + + /** @see EventService#subscribeStrongly(Class,EventSubscriber) */ + public boolean subscribeStrongly(Class cl, EventSubscriber eh) { + if (LOG.isLoggable(Level.DEBUG)) { + LOG.debug("Subscribing weakly by class, class:" + cl + ", subscriber:" + eh); + } + if (eh == null) { + throw new IllegalArgumentException("Subscriber cannot be null."); + } + return subscribe(cl, subscribersByEventClass, eh); + } + + /** @see EventService#subscribeExactlyStrongly(Class,EventSubscriber) */ + public boolean subscribeExactlyStrongly(Class cl, EventSubscriber eh) { + if (cl == null) { + throw new IllegalArgumentException("Event class must not be null"); + } + if (eh == null) { + throw new IllegalArgumentException("Event subscriber must not be null"); + } + if (LOG.isLoggable(Level.DEBUG)) { + LOG.debug("Subscribing by class, class:" + cl + ", subscriber:" + eh); + } + return subscribe(cl, subscribersByExactEventClass, eh); + } + + /** @see EventService#subscribeStrongly(String,EventTopicSubscriber) */ + public boolean subscribeStrongly(String name, EventTopicSubscriber eh) { + if (LOG.isLoggable(Level.DEBUG)) { + LOG.debug("Subscribing weakly by topic name, name:" + name + ", subscriber:" + eh); + } + if (eh == null) { + throw new IllegalArgumentException("Subscriber cannot be null."); + } + return subscribe(name, subscribersByTopic, eh); + } + + /** @see EventService#subscribeStrongly(Pattern,EventTopicSubscriber) */ + public boolean subscribeStrongly(Pattern pat, EventTopicSubscriber eh) { + if (pat == null) { + throw new IllegalArgumentException("Pattern must not be null"); + } + if (eh == null) { + throw new IllegalArgumentException("Event subscriber must not be null"); + } + if (LOG.isLoggable(Level.DEBUG)) { + LOG.debug("Subscribing by pattern, pattern:" + pat + ", subscriber:" + eh); + } + PatternWrapper patternWrapper = new PatternWrapper(pat); + return subscribe(patternWrapper, subscribersByTopicPattern, eh); + } + + + /** @see org.scijava.event.bushe.EventService#clearAllSubscribers() */ + public void clearAllSubscribers() { + synchronized (listenerLock) { + unsubscribeAllInMap(subscribersByEventType); + unsubscribeAllInMap(subscribersByEventClass); + unsubscribeAllInMap(subscribersByExactEventClass); + unsubscribeAllInMap(subscribersByTopic); + unsubscribeAllInMap(subscribersByTopicPattern); + unsubscribeAllInMap(vetoListenersByClass); + unsubscribeAllInMap(vetoListenersByExactClass); + unsubscribeAllInMap(vetoListenersByTopic); + unsubscribeAllInMap(vetoListenersByTopicPattern); + } + } + + private void unsubscribeAllInMap(Map subscriberMap) { + synchronized (listenerLock) { + Set subscriptionKeys = subscriberMap.keySet(); + for (Object key : subscriptionKeys) { + List subscribers = (List) subscriberMap.get(key); + while (!subscribers.isEmpty()) { + unsubscribe(key, subscriberMap, subscribers.get(0)); + } + } + } + } + + /** @see EventService#subscribeVetoListener(Class,VetoEventListener) */ + public boolean subscribeVetoListener(Class eventClass, VetoEventListener vetoListener) { + if (vetoListener == null) { + throw new IllegalArgumentException("VetoEventListener cannot be null."); + } + if (eventClass == null) { + throw new IllegalArgumentException("eventClass cannot be null."); + } + return subscribeVetoListener(eventClass, vetoListenersByClass, new WeakReference(vetoListener)); + } + + /** @see EventService#subscribeVetoListenerExactly(Class,VetoEventListener) */ + public boolean subscribeVetoListenerExactly(Class eventClass, VetoEventListener vetoListener) { + if (vetoListener == null) { + throw new IllegalArgumentException("VetoEventListener cannot be null."); + } + if (eventClass == null) { + throw new IllegalArgumentException("eventClass cannot be null."); + } + return subscribeVetoListener(eventClass, vetoListenersByExactClass, new WeakReference(vetoListener)); + } + + /** @see EventService#subscribeVetoListener(String,VetoTopicEventListener) */ + public boolean subscribeVetoListener(String topic, VetoTopicEventListener vetoListener) { + if (vetoListener == null) { + throw new IllegalArgumentException("VetoEventListener cannot be null."); + } + if (topic == null) { + throw new IllegalArgumentException("topic cannot be null."); + } + return subscribeVetoListener(topic, vetoListenersByTopic, new WeakReference(vetoListener)); + } + + /** @see EventService#subscribeVetoListener(Pattern,VetoTopicEventListener) */ + public boolean subscribeVetoListener(Pattern topicPattern, VetoTopicEventListener vetoListener) { + if (vetoListener == null) { + throw new IllegalArgumentException("VetoEventListener cannot be null."); + } + if (topicPattern == null) { + throw new IllegalArgumentException("topicPattern cannot be null."); + } + PatternWrapper patternWrapper = new PatternWrapper(topicPattern); + return subscribeVetoListener(patternWrapper, vetoListenersByTopicPattern, new WeakReference(vetoListener)); + } + + /** @see EventService#subscribeVetoListenerStrongly(Class,VetoEventListener) */ + public boolean subscribeVetoListenerStrongly(Class eventClass, VetoEventListener vetoListener) { + if (vetoListener == null) { + throw new IllegalArgumentException("VetoEventListener cannot be null."); + } + if (eventClass == null) { + throw new IllegalArgumentException("eventClass cannot be null."); + } + return subscribeVetoListener(eventClass, vetoListenersByClass, vetoListener); + } + + /** @see EventService#subscribeVetoListenerExactlyStrongly(Class,VetoEventListener) */ + public boolean subscribeVetoListenerExactlyStrongly(Class eventClass, VetoEventListener vetoListener) { + if (vetoListener == null) { + throw new IllegalArgumentException("VetoEventListener cannot be null."); + } + if (eventClass == null) { + throw new IllegalArgumentException("eventClass cannot be null."); + } + return subscribeVetoListener(eventClass, vetoListenersByExactClass, vetoListener); + } + + /** @see EventService#subscribeVetoListenerStrongly(String,VetoTopicEventListener) */ + public boolean subscribeVetoListenerStrongly(String topic, VetoTopicEventListener vetoListener) { + if (vetoListener == null) { + throw new IllegalArgumentException("VetoListener cannot be null."); + } + if (topic == null) { + throw new IllegalArgumentException("topic cannot be null."); + } + return subscribeVetoListener(topic, vetoListenersByTopic, vetoListener); + } + + /** @see EventService#subscribeVetoListenerStrongly(Pattern,VetoTopicEventListener) */ + public boolean subscribeVetoListenerStrongly(Pattern topicPattern, VetoTopicEventListener vetoListener) { + if (vetoListener == null) { + throw new IllegalArgumentException("VetoTopicEventListener cannot be null."); + } + if (topicPattern == null) { + throw new IllegalArgumentException("topicPattern cannot be null."); + } + PatternWrapper patternWrapper = new PatternWrapper(topicPattern); + return subscribeVetoListener(patternWrapper, vetoListenersByTopicPattern, vetoListener); + } + + /** + * All veto subscriptions methods call this method. Extending classes only have to override this method to subscribe + * all veto subscriptions. + * + * @param subscription the topic, Pattern, or event class to subscribe to + * @param vetoListenerMap the internal map of veto listeners to use (by topic of class) + * @param vetoListener the veto listener to subscribe, may be a VetoEventListener or a WeakReference to one + * + * @return boolean if the veto listener is subscribed (was not subscribed). + * + * @throws IllegalArgumentException if vl or o is null + */ + protected boolean subscribeVetoListener(final Object subscription, final Map vetoListenerMap, final Object vetoListener) { + if (LOG.isLoggable(Level.DEBUG)) { + LOG.debug("subscribeVetoListener(" + subscription + "," + vetoListener + ")"); + } + if (vetoListener == null) { + throw new IllegalArgumentException("Can't subscribe null veto listener to " + subscription); + } + if (subscription == null) { + throw new IllegalArgumentException("Can't subscribe veto listener to null."); + } + return subscribe(subscription, vetoListenerMap, vetoListener); + } + + /** + * All subscribe methods call this method, including veto subscriptions. + * Extending classes only have to override this method to subscribe all + * subscriber subscriptions. + *

      + * Overriding this method is only for the adventurous. This basically gives you just enough rope to hang yourself. + * + * @param classTopicOrPatternWrapper the topic String, event Class, or PatternWrapper to subscribe to + * @param subscriberMap the internal map of subscribers to use (by topic or class) + * @param subscriber the EventSubscriber or EventTopicSubscriber to subscribe, or a WeakReference to either + * + * @return boolean if the subscriber is subscribed (was not subscribed). + * + * @throws IllegalArgumentException if subscriber or topicOrClass is null + */ + protected boolean subscribe(final Object classTopicOrPatternWrapper, final Map subscriberMap, final Object subscriber) { + if (classTopicOrPatternWrapper == null) { + throw new IllegalArgumentException("Can't subscribe to null."); + } + if (subscriber == null) { + throw new IllegalArgumentException("Can't subscribe null subscriber to " + classTopicOrPatternWrapper); + } + boolean alreadyExists = false; + + //Find the real subscriber underlying weak refs and proxies + Object realSubscriber = subscriber; + boolean isWeakRef = subscriber instanceof WeakReference; + if (isWeakRef) { + realSubscriber = ((WeakReference) subscriber).get(); + } + if (realSubscriber instanceof Prioritized) { + hasEverUsedPrioritized = true; + } + boolean isWeakProxySubscriber = false; + if (subscriber instanceof ProxySubscriber) { + ProxySubscriber proxySubscriber = (ProxySubscriber) subscriber; + if (proxySubscriber instanceof Prioritized) { + hasEverUsedPrioritized = true; + } + isWeakProxySubscriber = proxySubscriber.getReferenceStrength() == ReferenceStrength.WEAK; + if (isWeakProxySubscriber) { + realSubscriber = ((ProxySubscriber) subscriber).getProxiedSubscriber(); + } + } + if (isWeakRef && isWeakProxySubscriber) { + throw new IllegalArgumentException("ProxySubscribers should always be subscribed strongly."); + } + if (realSubscriber == null) { + return false;//already garbage collected? Weird. + } + synchronized (listenerLock) { + List currentSubscribers = (List) subscriberMap.get(classTopicOrPatternWrapper); + if (currentSubscribers == null) { + if (LOG.isLoggable(Level.DEBUG)) { + LOG.debug("Creating new subscriber map for:" + classTopicOrPatternWrapper); + } + currentSubscribers = new ArrayList(); + subscriberMap.put(classTopicOrPatternWrapper, currentSubscribers); + } else { + //Double subscription check and stale subscriber cleanup + //Need to compare the underlying referents for WeakReferences and ProxySubscribers + //to make sure a weak ref and a hard ref aren't both subscribed + //to the same topic and object. + //Use the proxied subscriber for comparison if a ProxySubscribers is used + //Subscribing the same object by proxy and subscribing explicitly should + //not subscribe the same object twice + for (Iterator iterator = currentSubscribers.iterator(); iterator.hasNext();) { + Object currentSubscriber = iterator.next(); + Object realCurrentSubscriber = getRealSubscriberAndCleanStaleSubscriberIfNecessary(iterator, currentSubscriber); + if (realSubscriber.equals(realCurrentSubscriber)) { + //Already subscribed. + //Remove temporarily, to add to the end of the calling list + iterator.remove(); + alreadyExists = true; + } + } + } + currentSubscribers.add(subscriber); + if (isWeakProxySubscriber || isWeakRef) { + incWeakRefPlusProxySubscriberCount(); + } + return !alreadyExists; + } + } + + /** @see EventService#unsubscribe(Class,EventSubscriber) */ + public boolean unsubscribe(Class cl, EventSubscriber eh) { + return unsubscribe(cl, subscribersByEventClass, eh); + } + + /** @see EventService#unsubscribeExactly(Class,EventSubscriber) */ + public boolean unsubscribeExactly(Class cl, EventSubscriber eh) { + return unsubscribe(cl, subscribersByExactEventClass, eh); + } + + /** @see EventService#unsubscribe(String,EventTopicSubscriber) */ + public boolean unsubscribe(String name, EventTopicSubscriber eh) { + return unsubscribe(name, subscribersByTopic, eh); + } + + /** @see EventService#unsubscribe(String,EventTopicSubscriber) */ + public boolean unsubscribe(Pattern topicPattern, EventTopicSubscriber eh) { + PatternWrapper patternWrapper = new PatternWrapper(topicPattern); + return unsubscribe(patternWrapper, subscribersByTopicPattern, eh); + } + + /** @see EventService#unsubscribe(Class,Object) */ + public boolean unsubscribe(Class eventClass, Object subscribedByProxy) { + EventSubscriber subscriber = (EventSubscriber) getProxySubscriber(eventClass, subscribedByProxy); + if (subscriber == null) { + return false; + } else { + return unsubscribe(eventClass, subscriber); + } + } + + /** @see EventService#unsubscribeExactly(Class,Object) */ + public boolean unsubscribeExactly(Class eventClass, Object subscribedByProxy) { + EventSubscriber subscriber = (EventSubscriber) getProxySubscriber(eventClass, subscribedByProxy); + if (subscriber == null) { + return false; + } else { + return unsubscribeExactly(eventClass, subscriber); + } + } + + /** @see EventService#unsubscribe(String,Object) */ + public boolean unsubscribe(String topic, Object subscribedByProxy) { + EventTopicSubscriber subscriber = (EventTopicSubscriber) getProxySubscriber(topic, subscribedByProxy); + if (subscriber == null) { + return false; + } else { + return unsubscribe(topic, subscriber); + } + } + + /** @see EventService#unsubscribe(java.util.regex.Pattern,Object) */ + public boolean unsubscribe(Pattern pattern, Object subscribedByProxy) { + EventTopicSubscriber subscriber = (EventTopicSubscriber) getProxySubscriber(pattern, subscribedByProxy); + if (subscriber == null) { + return false; + } else { + return unsubscribe(pattern, subscriber); + } + } + + /** + * All event subscriber unsubscriptions call this method. Extending classes only have to override this method to + * subscribe all subscriber unsubscriptions. + * + * @param o the topic or event class to unsubscribe from + * @param subscriberMap the map of subscribers to use (by topic of class) + * @param subscriber the subscriber to unsubscribe, either an EventSubscriber or an EventTopicSubscriber, or a WeakReference + * to either + * + * @return boolean if the subscriber is unsubscribed (was subscribed). + */ + protected boolean unsubscribe(Object o, Map subscriberMap, Object subscriber) { + if (LOG.isLoggable(Level.DEBUG)) { + LOG.debug("unsubscribe(" + o + "," + subscriber + ")"); + } + if (o == null) { + throw new IllegalArgumentException("Can't unsubscribe to null."); + } + if (subscriber == null) { + throw new IllegalArgumentException("Can't unsubscribe null subscriber to " + o); + } + synchronized (listenerLock) { + return removeFromSetResolveWeakReferences(subscriberMap, o, subscriber); + } + } + + /** @see EventService#unsubscribeVeto(Class,Object) */ + public boolean unsubscribeVeto(Class eventClass, Object subscribedByProxy) { + VetoEventListener subscriber = (VetoEventListener) getVetoProxySubscriber(eventClass, subscribedByProxy); + if (subscriber == null) { + return false; + } else { + return unsubscribeVetoListener(eventClass, subscriber); + } + } + + /** @see EventService#unsubscribeVetoExactly(Class,Object) */ + public boolean unsubscribeVetoExactly(Class eventClass, Object subscribedByProxy) { + VetoEventListener subscriber = (VetoEventListener) getVetoProxySubscriber(eventClass, subscribedByProxy); + if (subscriber == null) { + return false; + } else { + return unsubscribeVetoListenerExactly(eventClass, subscriber); + } + } + + /** @see EventService#unsubscribeVeto(String,Object) */ + public boolean unsubscribeVeto(String topic, Object subscribedByProxy) { + VetoTopicEventListener subscriber = (VetoTopicEventListener) getVetoProxySubscriber(topic, subscribedByProxy); + if (subscriber == null) { + return false; + } else { + return unsubscribeVetoListener(topic, subscriber); + } + } + + /** @see EventService#unsubscribeVeto(java.util.regex.Pattern,Object) */ + public boolean unsubscribeVeto(Pattern pattern, Object subscribedByProxy) { + VetoTopicEventListener subscriber = (VetoTopicEventListener) getVetoProxySubscriber(pattern, subscribedByProxy); + if (subscriber == null) { + return false; + } else { + return unsubscribeVetoListener(pattern, subscriber); + } + } + + /** @see EventService#unsubscribeVetoListener(Class,VetoEventListener) */ + public boolean unsubscribeVetoListener(Class eventClass, VetoEventListener vetoListener) { + return unsubscribeVetoListener(eventClass, vetoListenersByClass, vetoListener); + } + + /** @see EventService#unsubscribeVetoListenerExactly(Class,VetoEventListener) */ + public boolean unsubscribeVetoListenerExactly(Class eventClass, VetoEventListener vetoListener) { + return unsubscribeVetoListener(eventClass, vetoListenersByExactClass, vetoListener); + } + + /** @see EventService#unsubscribeVetoListener(String,VetoTopicEventListener) */ + public boolean unsubscribeVetoListener(String topic, VetoTopicEventListener vetoListener) { + return unsubscribeVetoListener(topic, vetoListenersByTopic, vetoListener); + } + + /** @see EventService#unsubscribeVetoListener(Pattern,VetoTopicEventListener) */ + public boolean unsubscribeVetoListener(Pattern topicPattern, VetoTopicEventListener vetoListener) { + PatternWrapper patternWrapper = new PatternWrapper(topicPattern); + return unsubscribeVetoListener(patternWrapper, vetoListenersByTopicPattern, vetoListener); + } + + /** + * All veto unsubscriptions methods call this method. Extending classes only have to override this method to + * subscribe all veto unsubscriptions. + * + * @param o the topic or event class to unsubscribe from + * @param vetoListenerMap the map of veto listeners to use (by topic or class) + * @param vl the veto listener to unsubscribe, or a WeakReference to one + * + * @return boolean if the veto listener is unsubscribed (was subscribed). + */ + protected boolean unsubscribeVetoListener(Object o, Map vetoListenerMap, Object vl) { + if (LOG.isLoggable(Level.DEBUG)) { + LOG.debug("unsubscribeVetoListener(" + o + "," + vl + ")"); + } + if (o == null) { + throw new IllegalArgumentException("Can't unsubscribe veto listener to null."); + } + if (vl == null) { + throw new IllegalArgumentException("Can't unsubscribe null veto listener to " + o); + } + synchronized (listenerLock) { + return removeFromSetResolveWeakReferences(vetoListenerMap, o, vl); + } + } + + private ProxySubscriber getProxySubscriber(Class eventClass, Object subscribedByProxy) { + List subscribers = getSubscribers(eventClass); + return getProxySubscriber(subscribers, subscribedByProxy); + } + + private ProxySubscriber getProxySubscriber(String topic, Object subscribedByProxy) { + List subscribers = getSubscribers(topic); + return getProxySubscriber(subscribers, subscribedByProxy); + } + + private ProxySubscriber getProxySubscriber(Pattern pattern, Object subscribedByProxy) { + List subscribers = getSubscribersToPattern(pattern); + return getProxySubscriber(subscribers, subscribedByProxy); + } + + private ProxySubscriber getVetoProxySubscriber(Class eventClass, Object subscribedByProxy) { + List subscribers = getVetoSubscribers(eventClass); + return getProxySubscriber(subscribers, subscribedByProxy); + } + + private ProxySubscriber getVetoProxySubscriber(String topic, Object subscribedByProxy) { + List subscribers = getVetoSubscribers(topic); + return getProxySubscriber(subscribers, subscribedByProxy); + } + + private ProxySubscriber getVetoProxySubscriber(Pattern pattern, Object subscribedByProxy) { + List subscribers = getVetoSubscribers(pattern); + return getProxySubscriber(subscribers, subscribedByProxy); + } + + private ProxySubscriber getProxySubscriber(List subscribers, Object subscribedByProxy) { + for (Iterator iter = subscribers.iterator(); iter.hasNext();) { + Object subscriber = iter.next(); + if (subscriber instanceof WeakReference) { + WeakReference wr = (WeakReference) subscriber; + subscriber = wr.get(); + } + if (subscriber instanceof ProxySubscriber) { + ProxySubscriber proxy = (ProxySubscriber) subscriber; + subscriber = proxy.getProxiedSubscriber(); + if (subscriber == subscribedByProxy) { + return proxy; + } + } + } + return null; + } + + /** @see EventService#publish(Object) */ + public void publish(Object event) { + if (event == null) { + throw new IllegalArgumentException("Cannot publish null event."); + } + publish(event, null, null, getSubscribers(event.getClass()), getVetoSubscribers(event.getClass()), null); + } + + /** @see EventService#publish(java.lang.reflect.Type, Object) */ + public void publish(Type genericType, Object event) { + if (genericType == null) { + throw new IllegalArgumentException("genericType must not be null."); + } + if (event == null) { + throw new IllegalArgumentException("Cannot publish null event."); + } + publish(event, null, null, getSubscribers(genericType), null/*getVetoSubscribers(genericType)*/, null); + } + + /** @see EventService#publish(String,Object) */ + public void publish(String topicName, Object eventObj) { + publish(null, topicName, eventObj, getSubscribers(topicName), getVetoEventListeners(topicName), null); + } + + /** + * All publish methods call this method. Extending classes only have to override this method to handle all + * publishing cases. + * + * @param event the event to publish, null if publishing on a topic + * @param topic if publishing on a topic, the topic to publish on, else null + * @param eventObj if publishing on a topic, the eventObj to publish, else null + * @param subscribers the subscribers to publish to - must be a snapshot copy + * @param vetoSubscribers the veto subscribers to publish to - must be a snapshot copy. + * @param callingStack the stack that called this publication, helpful for reporting errors on other threads + * @throws IllegalArgumentException if eh or o is null + */ + protected void publish(final Object event, final String topic, final Object eventObj, + final List subscribers, final List vetoSubscribers, StackTraceElement[] callingStack) { + + if (event == null && topic == null) { + throw new IllegalArgumentException("Can't publish to null topic/event."); + } + + setStatus(PublicationStatus.Initiated, event, topic, eventObj); + //topic or event + logEvent(event, topic, eventObj); + + //Check all veto subscribers, if any veto, then don't publish or cache + if (checkVetoSubscribers(event, topic, eventObj, vetoSubscribers, callingStack)) { + setStatus(PublicationStatus.Vetoed, event, topic, eventObj); + return; + } else { + setStatus(PublicationStatus.Queued, event, topic, eventObj); + } + + addEventToCache(event, topic, eventObj); + + if (subscribers == null || subscribers.isEmpty()) { + if (LOG.isLoggable(Level.DEBUG)) { + LOG.debug("No subscribers for event or topic. Event:" + event + ", Topic:" + topic); + } + } else { + if (LOG.isLoggable(Level.DEBUG)) { + LOG.debug("Publishing to subscribers:" + subscribers); + } + setStatus(PublicationStatus.Publishing, event, topic, eventObj); + for (int i = 0; i < subscribers.size(); i++) { + Object eh = subscribers.get(i); + if (event != null) { + EventSubscriber eventSubscriber = (EventSubscriber) eh; + long start = System.currentTimeMillis(); + try { + eventSubscriber.onEvent(event); + checkTimeLimit(start, event, eventSubscriber, null); + } catch (Throwable e) { + checkTimeLimit(start, event, eventSubscriber, null); + handleException(event, e, callingStack, eventSubscriber); + } + } else { + EventTopicSubscriber eventTopicSubscriber = (EventTopicSubscriber) eh; + try { + eventTopicSubscriber.onEvent(topic, eventObj); + } catch (Throwable e) { + onEventException(topic, eventObj, e, callingStack, eventTopicSubscriber); + } + } + } + } + setStatus(PublicationStatus.Completed, event, topic, eventObj); + } + + /** + * Called during publication to set the status on an event. Can be used by subclasses + * to be notified when an event transitions from one state to another. Implementers + * are required to call setPublicationStatus + * @param status the status to set on the object + * @param event the event being published, will be null if topic is not null + * @param topic the topic eventObj is being published on, will be null if event is not null + * @param eventObj the payload being published on the topic , will be null if event is not null + */ + @SuppressWarnings({"UnusedDeclaration"}) + protected void setStatus(PublicationStatus status, Object event, String topic, Object eventObj) { + if (event instanceof PublicationStatusTracker) { + ((PublicationStatusTracker)event).setPublicationStatus(status); + } + if (eventObj instanceof PublicationStatusTracker) { + ((PublicationStatusTracker)eventObj).setPublicationStatus(status); + } + } + + /** + * Handles subscribers that are Prioritized by putting the most negative prioritized subscribers + * first, the most positive prioritized subscribers last, and leaving non-Prioritized in their + * original FIFO order. + * @param subscribers the subscribers to sort + * @return the same list if there are no prioritized subscribers in the list, otherwise a new sorted result + */ + private List sortSubscribers(List subscribers) { + if (subscribers == null) { + return null; + } + List prioritizedSubscribers = null; + Iterator iterator = subscribers.iterator(); + while (iterator.hasNext()) { + Object subscriber = iterator.next(); + if (subscriber instanceof Prioritized) { + Prioritized prioritized = ((Prioritized)subscriber); + if (prioritized.getPriority() != 0) { + iterator.remove(); + if (prioritizedSubscribers == null) { + prioritizedSubscribers = new ArrayList(); + } + prioritizedSubscribers.add(prioritized); + } + } + } + if (prioritizedSubscribers == null) { + return subscribers; + } else { + List result = new ArrayList(prioritizedSubscribers.size()+subscribers.size()); + Collections.sort(prioritizedSubscribers, PRIORITIZED_SUBSCRIBER_COMPARATOR); + boolean haveAddedFIFOSubscribers = false; + for (Prioritized prioritizedSubscriber : prioritizedSubscribers) { + if (prioritizedSubscriber.getPriority() > 0 && !haveAddedFIFOSubscribers) { + for (Object subscriber : subscribers) { + result.add(subscriber); + } + haveAddedFIFOSubscribers = true; + } + result.add(prioritizedSubscriber); + } + //Issue 26 - of all priorities are negative, then add the FIFO after processing all of them + if (!haveAddedFIFOSubscribers) { + for (Object subscriber : subscribers) { + result.add(subscriber); + } + } + return result; + } + } + + private boolean checkVetoSubscribers(Object event, String topic, Object eventObj, List vetoSubscribers, + StackTraceElement[] callingStack) { + if (vetoSubscribers != null && !vetoSubscribers.isEmpty()) { + for (Iterator vlIter = vetoSubscribers.iterator(); vlIter.hasNext();) { + Object vetoer = vlIter.next(); + VetoEventListener vl = null; + VetoTopicEventListener vtl = null; + if (event == null) { + vtl = (VetoTopicEventListener) vetoer; + } else { + vl = (VetoEventListener) vetoer; + } + long start = System.currentTimeMillis(); + try { + boolean shouldVeto = false; + if (event == null) { + shouldVeto = vtl.shouldVeto(topic, eventObj); + } else { + shouldVeto = vl.shouldVeto(event); + } + if (shouldVeto) { + handleVeto(vl, event, vtl, topic, eventObj); + checkTimeLimit(start, event, null, vl); + if (LOG.isLoggable(Level.DEBUG)) { + LOG.debug("Publication vetoed. Event:" + event + ", Topic:" + topic + ", veto subscriber:" + vl); + } + return true; + } + } catch (Throwable ex) { + checkTimeLimit(start, event, null, vl); + subscribeVetoException(event, topic, eventObj, ex, callingStack, vl); + } + } + } + return false; + } + + private void logEvent(Object event, String topic, Object eventObj) { + if (LOG.isLoggable(Level.DEBUG)) { + if (event != null) { + LOG.debug("Publishing event: class=" + event.getClass() + ", event=" + event); + } else if (topic != null) { + LOG.debug("Publishing event: topic=" + topic + ", eventObj=" + eventObj); + } + } + } + + /** + * Adds an event to the event cache, if appropriate. This method is called just before publication to listeners, + * after the event passes any veto listeners. + *

      + * Using protected visibility to open the caching to other implementations. + * + * @param event the event about to be published, null if topic is non-null + * @param topic the topic about to be published to, null if the event is non-null + * @param eventObj the eventObj about to be published on a topic, null if the event is non-null + */ + protected void addEventToCache(Object event, String topic, Object eventObj) { + //Taking the listener lock here, since a listener that is now subscribing will want + //this event since they are not in this subscriber list. + synchronized (listenerLock) { + if (event != null) { + int cacheSizeForEventClass = getCacheSizeForEventClass(event.getClass()); + List eventClassCache = (List) cacheByEvent.get(event.getClass()); + if (cacheSizeForEventClass <= 0) { + if (eventClassCache != null) { + //the cache threshold was lowered to 0 + cacheByEvent.remove(event.getClass()); + } + } else { + if (eventClassCache == null) { + eventClassCache = new LinkedList(); + cacheByEvent.put(event.getClass(), eventClassCache); + } + eventClassCache.add(0, event); + while (eventClassCache.size() > cacheSizeForEventClass) { + eventClassCache.remove(eventClassCache.size() - 1); + } + } + } else { + //topic + int cacheSizeForTopic = getCacheSizeForTopic(topic); + List topicCache = (List) cacheByTopic.get(topic); + if (cacheSizeForTopic <= 0) { + if (topicCache != null) { + //the cache threshold was lowered to 0 + topicCache.remove(topic); + } + } else { + if (topicCache == null) { + topicCache = new LinkedList(); + cacheByTopic.put(topic, topicCache); + } + topicCache.add(0, eventObj); + while (topicCache.size() > cacheSizeForTopic) { + topicCache.remove(topicCache.size() - 1); + } + } + } + } + } + + /** @see EventService#getSubscribers(Class) */ + public List getSubscribers(Class eventClass) { + List hierarchyMatches; + List exactMatches; + synchronized (listenerLock) { + hierarchyMatches = getSubscribersToClass(eventClass); + exactMatches = getSubscribersToExactClass(eventClass); + } + List result = new ArrayList(); + if (exactMatches != null) { + result.addAll(exactMatches); + } + if (hierarchyMatches != null) { + result.addAll(hierarchyMatches); + } + if (hasEverUsedPrioritized) { + result = sortSubscribers(result); + } + return result; + + } + + /** @see EventService#getSubscribersToClass(Class) */ + public List getSubscribersToClass(Class eventClass) { + synchronized (listenerLock) { + Map classMap = subscribersByEventClass; + List result = getEventOrVetoSubscribersToClass(classMap, eventClass); + if (hasEverUsedPrioritized) { + result = sortSubscribers(result); + } + return result; + } + } + + /** @see EventService#getSubscribersToExactClass(Class) */ + public List getSubscribersToExactClass(Class eventClass) { + synchronized (listenerLock) { + return getSubscribers(eventClass, subscribersByExactEventClass); + } + } + + /** @see EventService#getSubscribers(Type) */ + public List getSubscribers(Type eventType) { + List result; + synchronized (listenerLock) { + result = getEventOrVetoSubscribersToType(subscribersByEventType, eventType); + } + if (hasEverUsedPrioritized) { + result = sortSubscribers(result); + } + return result; + } + + /** @see EventService#getSubscribers(String) */ + public List getSubscribers(String topic) { + List result = new ArrayList(); + List exactMatches; + List patternMatches; + synchronized (listenerLock) { + exactMatches = getSubscribersToTopic(topic); + patternMatches = getSubscribersByPattern(topic); + } + if (exactMatches != null) { + result.addAll(exactMatches); + } + if (patternMatches != null) { + result.addAll(patternMatches); + } + if (hasEverUsedPrioritized) { + result = sortSubscribers(result); + } + return result; + } + + /** @see EventService#getSubscribersToTopic(String) */ + public List getSubscribersToTopic(String topic) { + synchronized (listenerLock) { + return getSubscribers(topic, subscribersByTopic); + } + } + + /** @see EventService#getSubscribers(Pattern) */ + public List getSubscribers(Pattern pattern) { + synchronized (listenerLock) { + return getSubscribers(pattern, subscribersByTopicPattern); + } + } + + /** @see EventService#getSubscribersByPattern(String) */ + public List getSubscribersByPattern(String topic) { + return getSubscribersByPattern(topic, subscribersByTopicPattern); + } + + /** @see EventService#getVetoSubscribers(Class) */ + public List getVetoSubscribers(Class eventClass) { + List result = new ArrayList(); + List exactMatches; + List hierarchyMatches; + synchronized (listenerLock) { + exactMatches = getVetoSubscribersToClass(eventClass); + hierarchyMatches = getVetoSubscribersToExactClass(eventClass); + } + if (exactMatches != null) { + result.addAll(exactMatches); + } + if (hierarchyMatches != null) { + result.addAll(hierarchyMatches); + } + if (hasEverUsedPrioritized) { + result = sortSubscribers(result); + } + return result; + } + + /** @see EventService#getVetoSubscribersToClass(Class) */ + public List getVetoSubscribersToClass(Class eventClass) { + List result; + synchronized (listenerLock) { + Map classMap = vetoListenersByClass; + result = getEventOrVetoSubscribersToClass(classMap, eventClass); + } + if (hasEverUsedPrioritized) { + result = sortSubscribers(result); + } + return result; + } + + /** @see EventService#getVetoSubscribersToExactClass(Class) */ + public List getVetoSubscribersToExactClass(Class eventClass) { + synchronized (listenerLock) { + return getSubscribers(eventClass, vetoListenersByExactClass); + } + } + + /** @see EventService#getVetoEventListeners(String) */ + public List getVetoEventListeners(String topicOrPattern) { + List result = new ArrayList(); + List exactMatches; + List patternMatches; + synchronized (listenerLock) { + exactMatches = getVetoSubscribersToTopic(topicOrPattern); + patternMatches = getVetoSubscribersByPattern(topicOrPattern); + } + if (exactMatches != null) { + result.addAll(exactMatches); + } + if (patternMatches != null) { + result.addAll(patternMatches); + } + if (hasEverUsedPrioritized) { + result = sortSubscribers(result); + } + return result; + } + + /** @see EventService#getVetoSubscribersToTopic(String) */ + public List getVetoSubscribersToTopic(String topic) { + synchronized (listenerLock) { + return getSubscribers(topic, vetoListenersByTopic); + } + } + + /** + * Note: this is inconsistent with getSubscribers(String) + * @see EventService#getVetoSubscribersToTopic(String) + * @deprecated use getVetoSubscribersToTopic instead for direct replacement, + * or use getVetoEventListeners to get topic and pattern matchers. + * In EventBus 2.0 this name will replace getVetoEventListeners() + * and have it's union functionality + */ + public List getVetoSubscribers(String topic) { + synchronized (listenerLock) { + return getVetoSubscribersToTopic(topic); + } + } + + /** @see EventService#getVetoSubscribers(Pattern) */ + public List getVetoSubscribers(Pattern topicPattern) { + synchronized (listenerLock) { + PatternWrapper patternWrapper = new PatternWrapper(topicPattern); + return getSubscribers(patternWrapper, vetoListenersByTopicPattern); + } + } + + /** @see EventService#getVetoSubscribersByPattern(String) */ + public List getVetoSubscribersByPattern(String pattern) { + return getSubscribersByPattern(pattern, vetoListenersByTopicPattern); + } + + /** Used for subscribers and veto subscribers */ + private List getSubscribersByPattern(String topic, Map subscribersByTopicPattern) { + List result = new ArrayList(); + synchronized (listenerLock) { + Set keys = subscribersByTopicPattern.keySet(); + for (Iterator iterator = keys.iterator(); iterator.hasNext();) { + PatternWrapper patternKey = (PatternWrapper) iterator.next(); + if (patternKey.matches(topic)) { + if (LOG.isLoggable(Level.DEBUG)) { + LOG.debug("Pattern " + patternKey + " matched topic name " + topic); + } + Collection subscribers = (Collection) subscribersByTopicPattern.get(patternKey); + result.addAll(createCopyOfContentsRemoveWeakRefs(subscribers)); + } + } + if (hasEverUsedPrioritized) { + result = sortSubscribers(result); + } + return result; + } + } + + protected List getSubscribersToPattern(Pattern topicPattern) { + synchronized (listenerLock) { + PatternWrapper patternWrapper = new PatternWrapper(topicPattern); + return getSubscribers(patternWrapper, subscribersByTopicPattern); + } + } + + private List getSubscribers(Object classOrTopic, Map subscriberMap) { + List result; + synchronized (listenerLock) { + List subscribers = (List) subscriberMap.get(classOrTopic); + //Make a defensive copy of subscribers and veto listeners so listeners + //can change the listener list while the listeners are being called + //Resolve WeakReferences and unsubscribe if necessary. + result = createCopyOfContentsRemoveWeakRefs(subscribers); + } + if (hasEverUsedPrioritized) { + result = sortSubscribers(result); + } + return result; + } + + private List getEventOrVetoSubscribersToClass(Map classMap, Class eventClass) { + List result = new ArrayList(); + Set keys = classMap.keySet(); + for (Iterator iterator = keys.iterator(); iterator.hasNext();) { + Class cl = (Class) iterator.next(); + if (cl.isAssignableFrom(eventClass)) { + if (LOG.isLoggable(Level.DEBUG)) { + LOG.debug("Hierarchical match " + cl + " matched event of class " + eventClass); + } + Collection subscribers = (Collection) classMap.get(cl); + result.addAll(createCopyOfContentsRemoveWeakRefs(subscribers)); + } + } + return result; + } + + private List getEventOrVetoSubscribersToType(Map typeMap, Type eventType) { + List result = new ArrayList(); + Set mapKeySet = typeMap.keySet(); + for (Object mapKey : mapKeySet) { + Type subscriberType = (Type) mapKey; + if (eventType instanceof ParameterizedType && subscriberType instanceof ParameterizedType) { + ParameterizedType subscriberPT = (ParameterizedType) subscriberType; + ParameterizedType eventPT = (ParameterizedType) eventType; + if (eventPT.getRawType().equals(subscriberPT.getRawType())) { + Type[] mapTypeArgs = subscriberPT.getActualTypeArguments(); + Type[] eventTypeArgs = eventPT.getActualTypeArguments(); + if (mapTypeArgs == null || eventTypeArgs == null || mapTypeArgs.length != eventTypeArgs.length) { + continue; + } + boolean parameterArgsMatch = true; + for (int argCount = 0; argCount < mapTypeArgs.length; argCount++) { + Type eventTypeArg = eventTypeArgs[argCount]; + if (eventTypeArg instanceof WildcardType) { + throw new IllegalArgumentException("Only simple Class parameterized types can be published, not wildcards, etc. Published attempt made for:"+eventTypeArg); + } + Type subscriberTypeArg = mapTypeArgs[argCount]; + if (subscriberTypeArg instanceof WildcardType) { + WildcardType wildcardSubscriberTypeArg = (WildcardType) subscriberTypeArg; + Type[] upperBound = wildcardSubscriberTypeArg.getUpperBounds(); + Type[] lowerBound = wildcardSubscriberTypeArg.getLowerBounds(); + if (upperBound != null && upperBound.length > 0) { + if (upperBound[0] instanceof Class) { + Class upper = (Class) upperBound[0]; + if (eventTypeArg instanceof Class) { + if (!upper.isAssignableFrom((Class) eventTypeArg)) { + parameterArgsMatch = false; + break; + } + } else { + parameterArgsMatch = false; + break; + } + } else { + throw new IllegalArgumentException("Only Class and Interface types are supported as types of wildcard subscriptions. Type:"+upperBound[0]); + } + } + if (lowerBound != null && lowerBound.length > 0) { + if (lowerBound[0] instanceof Class) { + Class lower = (Class) lowerBound[0]; + if (eventTypeArg instanceof Class) { + if (!((Class)eventTypeArg).isAssignableFrom(lower)) { + parameterArgsMatch = false; + break; + } + } else { + parameterArgsMatch = false; + break; + } + } else { + throw new IllegalArgumentException("Only Class and Interface types are supported as types of wildcard subscriptions. Type:"+upperBound[0]); + } + } + } else if (!subscriberTypeArg.equals(eventTypeArg)) { + parameterArgsMatch = false; + break; + } + } + if (parameterArgsMatch) { + if (LOG.isLoggable(Level.DEBUG)) { + LOG.debug("Exact parameterized subscriberType match for event subscriberType " + eventType); + } + Collection subscribers = (Collection) typeMap.get(subscriberType); + if (subscribers != null) { + result.addAll(createCopyOfContentsRemoveWeakRefs(subscribers)); + } + } + } + } + } + return result; +// Type o = p.getOwnerType(); +// if (o != null) { +// +// } +// p.getActualTypeArguments(); +// } + /* + } else if (type instanceof TypeVariable) { + TypeVariable v = (TypeVariable)type; + out.print(v.getName()); + } else if (type instanceof GenericArrayType) { + GenericArrayType a = (GenericArrayType)type; + printType(a.getGenericComponentType()); + out.print("[]"); + } else if (type instanceof WildcardType) { + WildcardType w = (WildcardType)type; + Type[] upper = w.getUpperBounds(); + Type[] lower = w.getLowerBounds(); + if (upper.length==1 && lower.length==0) { + out.print("? extends "); + printType(upper[0]); + } else if (upper.length==0 && lower.length==1) { + out.print("? super "); + printType(lower[0]); + } else assert false; + } + */ + } + + private void checkTimeLimit(long start, Object event, EventSubscriber subscriber, VetoEventListener l) { + if (timeThresholdForEventTimingEventPublication == null) { + return; + } + long end = System.currentTimeMillis(); + if (end - start > timeThresholdForEventTimingEventPublication.longValue()) { + publish(new SubscriberTimingEvent(this, new Long(start), new Long(end), timeThresholdForEventTimingEventPublication, event, subscriber, l)); + } + } + + protected void subscribeTiming(SubscriberTimingEvent event) { + LOG.log(Level.INFO, event + ""); + } + + /** + * Handle vetos of an event or topic, by default logs finely. + * + * @param vl the veto listener for an event + * @param event the event, can be null if topic is not + * @param vtl the veto listener for a topic + * @param topic can be null if event is not + * @param eventObj the object published with the topic + */ + protected void handleVeto(VetoEventListener vl, Object event, + VetoTopicEventListener vtl, String topic, Object eventObj) { + if (LOG.isLoggable(Level.DEBUG)) { + if (event != null) { + LOG.debug("Vetoing event: class=" + event.getClass() + ", event=" + event + ", vetoer:" + vl); + } else { + LOG.debug("Vetoing event: topic=" + topic + ", eventObj=" + eventObj + ", vetoer:" + vtl); + } + } + } + + /** + * Given a Map (of Lists of subscribers or veto listeners), removes the toRemove element from the List in the map for + * the given key. The entire map is checked for WeakReferences and ProxySubscribers and they are all unsubscribed + * if stale. + * + * @param map map of lists + * @param key key for a List in the map + * @param toRemove the object to remove form the list with the key of the map + * + * @return true if toRemove was unsubscribed + */ + private boolean removeFromSetResolveWeakReferences(Map map, Object key, Object toRemove) { + List subscribers = (List) map.get(key); + if (subscribers == null) { + return false; + } + if (subscribers.remove(toRemove)) { + if (toRemove instanceof WeakReference) { + decWeakRefPlusProxySubscriberCount(); + } + if (toRemove instanceof ProxySubscriber) { + ((ProxySubscriber)toRemove).proxyUnsubscribed(); + decWeakRefPlusProxySubscriberCount(); + } + return true; + } + + //search for WeakReferences and ProxySubscribers + for (Iterator iter = subscribers.iterator(); iter.hasNext();) { + Object existingSubscriber = iter.next(); + if (existingSubscriber instanceof ProxySubscriber) { + ProxySubscriber proxy = (ProxySubscriber) existingSubscriber; + existingSubscriber = proxy.getProxiedSubscriber(); + if (existingSubscriber == toRemove) { + removeProxySubscriber(proxy, iter); + return true; + } + } + if (existingSubscriber instanceof WeakReference) { + WeakReference wr = (WeakReference) existingSubscriber; + Object realRef = wr.get(); + if (realRef == null) { + //clean up a garbage collected reference + iter.remove(); + decWeakRefPlusProxySubscriberCount(); + return true; + } else if (realRef == toRemove) { + iter.remove(); + decWeakRefPlusProxySubscriberCount(); + return true; + } else if (realRef instanceof ProxySubscriber) { + ProxySubscriber proxy = (ProxySubscriber) realRef; + existingSubscriber = proxy.getProxiedSubscriber(); + if (existingSubscriber == toRemove) { + removeProxySubscriber(proxy, iter); + return true; + } + } + } + } + return false; + } + + /** + * Given a set (or subscribers or veto listeners), makes a copy of the set, resolving WeakReferences to hard + * references, and removing garbage collected references from the original set. + * + * @param subscribersOrVetoListeners + * + * @return a copy of the set + */ + private List createCopyOfContentsRemoveWeakRefs(Collection subscribersOrVetoListeners) { + if (subscribersOrVetoListeners == null) { + return null; + } + List copyOfSubscribersOrVetolisteners = new ArrayList(subscribersOrVetoListeners.size()); + for (Iterator iter = subscribersOrVetoListeners.iterator(); iter.hasNext();) { + Object elem = iter.next(); + if (elem instanceof ProxySubscriber) { + ProxySubscriber proxy = (ProxySubscriber)elem; + elem = proxy.getProxiedSubscriber(); + if (elem == null) { + removeProxySubscriber(proxy, iter); + } else { + copyOfSubscribersOrVetolisteners.add(proxy); + } + } else if (elem instanceof WeakReference) { + Object hardRef = ((WeakReference) elem).get(); + if (hardRef == null) { + //Was reclaimed, unsubscribe + iter.remove(); + decWeakRefPlusProxySubscriberCount(); + } else { + copyOfSubscribersOrVetolisteners.add(hardRef); + } + } else { + copyOfSubscribersOrVetolisteners.add(elem); + } + } + return copyOfSubscribersOrVetolisteners; + } + + /** + * Sets the default cache size for each kind of event, default is 0 (no caching). + *

      + * If this value is set to a positive number, then when an event is published, the EventService caches the event or + * topic payload data for later retrieval. This allows subscribers to find out what has most recently happened + * before they subscribed. The cached event(s) are returned from #getLastEvent(Class), #getLastTopicData(String), + * #getCachedEvents(Class), or #getCachedTopicData(String) + *

      + * The default can be overridden on a by-event-class or by-topic basis. + * + * @param defaultCacheSizePerClassOrTopic + */ + public void setDefaultCacheSizePerClassOrTopic(int defaultCacheSizePerClassOrTopic) { + synchronized (cacheLock) { + this.defaultCacheSizePerClassOrTopic = defaultCacheSizePerClassOrTopic; + } + } + + /** @return the default number of event payloads kept per event class or topic */ + public int getDefaultCacheSizePerClassOrTopic() { + synchronized (cacheLock) { + return defaultCacheSizePerClassOrTopic; + } + } + + /** + * Set the number of events cached for a particular class of event. By default, no events are cached. + *

      + * This overrides any setting for the DefaultCacheSizePerClassOrTopic. + *

      + * Class hierarchy semantics are respected. That is, if there are three events, A, X and Y, and X and Y are both + * derived from A, then setting the cache size for A applies the cache size for all three. Setting the cache size + * for X applies to X and leaves the settings for A and Y in tact. Interfaces can be passed to this method, but they + * only take effect if the cache size of a class or it's superclasses has been set. Just like Class.getInterfaces(), + * if multiple cache sizes are set, the interface names declared earliest in the implements clause of the eventClass + * takes effect. + *

      + * The cache for an event is not adjusted until the next event of that class is published. + * + * @param eventClass the class of event + * @param cacheSize the number of published events to cache for this event + */ + public void setCacheSizeForEventClass(Class eventClass, int cacheSize) { + synchronized (cacheLock) { + if (rawCacheSizesForEventClass == null) { + rawCacheSizesForEventClass = new HashMap(); + } + rawCacheSizesForEventClass.put(eventClass, new Integer(cacheSize)); + rawCacheSizesForEventClassChanged = true; + } + } + + /** + * Returns the number of events cached for a particular class of event. By default, no events are cached. + *

      + * This result is computed for a particular class from the values passed to #setCacheSizeForEventClass(Class, int), + * and respects the class hierarchy. + * + * @param eventClass the class of event + * + * @return the maximum size of the event cache for the given event class + * + * @see #setCacheSizeForEventClass(Class,int) + */ + public int getCacheSizeForEventClass(Class eventClass) { + if (eventClass == null) { + throw new IllegalArgumentException("eventClass must not be null."); + } + synchronized (cacheLock) { + if (rawCacheSizesForEventClass == null || rawCacheSizesForEventClass.size() == 0) { + return getDefaultCacheSizePerClassOrTopic(); + } + if (cacheSizesForEventClass == null) { + cacheSizesForEventClass = new HashMap(); + } + if (rawCacheSizesForEventClassChanged) { + cacheSizesForEventClass.clear(); + cacheSizesForEventClass.putAll(rawCacheSizesForEventClass); + rawCacheSizesForEventClassChanged = false; + } + + //Has this been computed yet or set directly? + Integer size = (Integer) cacheSizesForEventClass.get(eventClass); + if (size != null) { + return size.intValue(); + } else { + //must be computed + Class parent = eventClass.getSuperclass(); + while (parent != null) { + Integer parentSize = (Integer) cacheSizesForEventClass.get(parent); + if (parentSize != null) { + cacheSizesForEventClass.put(eventClass, parentSize); + return parentSize.intValue(); + } + parent = parent.getSuperclass(); + } + //try interfaces + Class[] interfaces = eventClass.getInterfaces(); + for (int i = 0; i < interfaces.length; i++) { + Class anInterface = interfaces[i]; + Integer interfaceSize = (Integer) cacheSizesForEventClass.get(anInterface); + if (interfaceSize != null) { + cacheSizesForEventClass.put(eventClass, interfaceSize); + return interfaceSize.intValue(); + } + } + } + return getDefaultCacheSizePerClassOrTopic(); + } + } + + /** + * Set the number of published data objects cached for a particular event topic. By default, no caching is done. + *

      + * This overrides any setting for the DefaultCacheSizePerClassOrTopic. + *

      + * Settings for exact topic names take precedence over pattern matching. + *

      + * The cache for a topic is not adjusted until the next publication on that topic. + * + * @param topicName the topic name + * @param cacheSize the number of published data Objects to cache for this topic + */ + public void setCacheSizeForTopic(String topicName, int cacheSize) { + synchronized (cacheLock) { + if (rawCacheSizesForTopic == null) { + rawCacheSizesForTopic = new HashMap(); + } + rawCacheSizesForTopic.put(topicName, new Integer(cacheSize)); + rawCacheSizesForTopicChanged = true; + } + } + + /** + * Set the number of published data objects cached for topics matching a pattern. By default, caching is done. + *

      + * This overrides any setting for the DefaultCacheSizePerClassOrTopic. + *

      + * Settings for exact topic names take precedence over pattern matching. If a topic matches the cache settings for + * more than one pattern, the cache size chosen is an undetermined one from one of the matched pattern settings. + *

      + * The cache for a topic is not adjusted until the next publication on that topic. + * + * @param pattern the pattern matching topic names + * @param cacheSize the number of data Objects to cache for this topic + */ + public void setCacheSizeForTopic(Pattern pattern, int cacheSize) { + synchronized (cacheLock) { + if (rawCacheSizesForPattern == null) { + rawCacheSizesForPattern = new HashMap(); + } + PatternWrapper patternWrapper = new PatternWrapper(pattern); + rawCacheSizesForPattern.put(patternWrapper, new Integer(cacheSize)); + rawCacheSizesForPatternChanged = true; + } + } + + /** + * Returns the number of cached data objects published on a particular topic. By default, no caching is performed. + *

      + * This result is computed for a particular topic from the values passed to #setCacheSizeForTopic(String, int) and + * #setCacheSizeForTopic(Pattern, int). + * + * @param topic the topic name + * + * @return the maximum size of the data Object cache for the given topic + * + * @see #setCacheSizeForTopic(String,int) + * @see #setCacheSizeForTopic(java.util.regex.Pattern,int) + */ + public int getCacheSizeForTopic(String topic) { + if (topic == null) { + throw new IllegalArgumentException("topic must not be null."); + } + synchronized (cacheLock) { + if ((rawCacheSizesForTopic == null || (rawCacheSizesForTopic != null && rawCacheSizesForTopic.size() == 0)) && + (rawCacheSizesForPattern == null || (rawCacheSizesForPattern != null && rawCacheSizesForPattern.size() == 0))) { + return getDefaultCacheSizePerClassOrTopic(); + } + if (cacheSizesForTopic == null) { + cacheSizesForTopic = new HashMap(); + } + if (rawCacheSizesForTopicChanged || rawCacheSizesForPatternChanged) { + cacheSizesForTopic.clear(); + cacheSizesForTopic.putAll(rawCacheSizesForTopic); + rawCacheSizesForTopicChanged = false; + rawCacheSizesForPatternChanged = false; + } + + //Is this an exact match or has it been matched to a pattern yet? + Integer size = cacheSizesForTopic.get(topic); + if (size != null) { + return size; + } else { + //try matching patterns + if (rawCacheSizesForPattern != null) { + Set patterns = rawCacheSizesForPattern.keySet(); + for (Iterator iterator = patterns.iterator(); iterator.hasNext();) { + PatternWrapper pattern = (PatternWrapper) iterator.next(); + if (pattern.matches(topic)) { + size = rawCacheSizesForPattern.get(pattern); + cacheSizesForTopic.put(topic, size); + return size; + } + } + } + } + return getDefaultCacheSizePerClassOrTopic(); + } + } + + /** + * @param eventClass an index into the cache, cannot be an interface + * + * @return the last event published for this event class, or null if caching is turned off (the default) + */ + public Object getLastEvent(Class eventClass) { + if (eventClass.isInterface()) { + throw new IllegalArgumentException("Interfaces are not accepted in get last event, use a specific event class."); + } + synchronized (cacheLock) { + List eventCache = cacheByEvent.get(eventClass); + if (eventCache == null || eventCache.size() == 0) { + return null; + } + return eventCache.get(0); + } + } + + /** + * @param eventClass an index into the cache, cannot be an interface + * + * @return the last events published for this event class, or null if caching is turned off (the default) + */ + public List getCachedEvents(Class eventClass) { + if (eventClass.isInterface()) { + throw new IllegalArgumentException("Interfaces are not accepted in get last event, use a specific event class."); + } + synchronized (cacheLock) { + List eventCache = cacheByEvent.get(eventClass); + if (eventCache == null || eventCache.size() == 0) { + return null; + } + return eventCache; + } + } + + /** + * @param topic an index into the cache + * + * @return the last data Object published on this topic, or null if caching is turned off (the default) + */ + public Object getLastTopicData(String topic) { + synchronized (cacheLock) { + List topicCache = cacheByTopic.get(topic); + if (topicCache == null || topicCache.size() == 0) { + return null; + } + return topicCache.get(0); + } + } + + /** + * @param topic an index into the cache + * + * @return the last data Objects published on this topic, or null if caching is turned off (the default) + */ + public List getCachedTopicData(String topic) { + synchronized (cacheLock) { + List topicCache = cacheByTopic.get(topic); + if (topicCache == null || topicCache.size() == 0) { + return null; + } + return topicCache; + } + } + + /** + * Clears the event cache for a specific event class or interface and it's any of it's subclasses or implementing + * classes. + * + * @param eventClassToClear the event class to clear the cache for + */ + public void clearCache(Class eventClassToClear) { + synchronized (cacheLock) { + Set classes = cacheByEvent.keySet(); + for (Iterator iterator = classes.iterator(); iterator.hasNext();) { + Class cachedClass = (Class) iterator.next(); + if (eventClassToClear.isAssignableFrom(cachedClass)) { + iterator.remove(); + } + } + } + } + + /** + * Clears the topic data cache for a specific topic name. + * + * @param topic the topic name to clear the cache for + */ + public void clearCache(String topic) { + synchronized (cacheLock) { + cacheByTopic.remove(topic); + } + } + + /** + * Clears the topic data cache for all topics that match a particular pattern. + * + * @param pattern the pattern to match topic caches to + */ + public void clearCache(Pattern pattern) { + synchronized (cacheLock) { + Set classes = cacheByTopic.keySet(); + for (Iterator iterator = classes.iterator(); iterator.hasNext();) { + String cachedTopic = (String) iterator.next(); + if (pattern.matcher(cachedTopic).matches()) { + iterator.remove(); + } + } + } + } + + /** Clear all event caches for all topics and event. */ + public void clearCache() { + synchronized (cacheLock) { + cacheByEvent.clear(); + cacheByTopic.clear(); + } + } + + /** Called during veto exceptions, calls handleException */ + protected void subscribeVetoException(final Object event, final String topic, final Object eventObj, + Throwable e, StackTraceElement[] callingStack, VetoEventListener vetoer) { + String str = "EventService veto event listener r:" + vetoer; + if (vetoer != null) { + str = str + ". Vetoer class:" + vetoer.getClass(); + } + handleException("vetoing", event, topic, eventObj, e, callingStack, str); + } + + /** Called during event handling exceptions, calls handleException */ + protected void onEventException(final String topic, final Object eventObj, Throwable e, + StackTraceElement[] callingStack, EventTopicSubscriber eventTopicSubscriber) { + String str = "EventService topic subscriber:" + eventTopicSubscriber; + if (eventTopicSubscriber != null) { + str = str + ". Subscriber class:" + eventTopicSubscriber.getClass(); + } + handleException("handling event", null, topic, eventObj, e, callingStack, str); + } + + /** Called during event handling exceptions, calls handleException */ + protected void handleException(final Object event, Throwable e, + StackTraceElement[] callingStack, EventSubscriber eventSubscriber) { + String str = "EventService subscriber:" + eventSubscriber; + if (eventSubscriber != null) { + str = str + ". Subscriber class:" + eventSubscriber.getClass(); + } + handleException("handling event topic", event, null, null, e, callingStack, str); + } + + /** + * All exception handling goes through this method. Logs a warning by default. + */ + protected void handleException(final String action, final Object event, final String topic, + final Object eventObj, Throwable e, StackTraceElement[] callingStack, String sourceString) { + String eventClassString = (event == null ? "none" : event.getClass().getName()); + String eventString = event + ""; + String contextMsg = "Exception " + action + " event class=" + eventClassString + + ", event=" + eventString + ", topic=" + topic + ", eventObj=" + eventObj; + SwingException clientEx = new SwingException(contextMsg, e, callingStack); + String msg = "Exception thrown by;" + sourceString; + LOG.log(Level.WARN, msg, clientEx); + } + + /** + * Unsubscribe a subscriber if it is a stale ProxySubscriber. Used during subscribe() and + * in the cleanup Timer. See the class javadoc. + *

      + * Not private since I don't claim I'm smart enough to anticipate all needs, but I + * am smart enough to doc the rules you must follow to override this method. Those + * rules may change (changes will be doc'ed), override at your own risk. + *

      + * Overriders MUST call iterator.remove() to unsubscribe the proxy if the subscriber is + * a ProxySubscriber and is stale and should be cleaned up. If the ProxySubscriber + * is unsubscribed, then implementers MUST also call proxyUnsubscribed() on the subscriber. + * Overriders MUST also remove the proxy from the weakProxySubscriber list by calling + * removeStaleProxyFromList. Method assumes caller is holding the listenerList + * lock (else how can you pass the iterator?). + * @param iterator current iterator + * @param existingSubscriber the current value of the iterator + * @return the real value of the param, or the proxied subscriber of the param if + * the param is a a ProxySubscriber + */ + protected Object getRealSubscriberAndCleanStaleSubscriberIfNecessary(Iterator iterator, Object existingSubscriber) { + ProxySubscriber existingProxySubscriber = null; + if (existingSubscriber instanceof WeakReference) { + existingSubscriber = ((WeakReference) existingSubscriber).get(); + if (existingSubscriber == null) { + iterator.remove(); + decWeakRefPlusProxySubscriberCount(); + } + } + if (existingSubscriber instanceof ProxySubscriber) { + existingProxySubscriber = (ProxySubscriber) existingSubscriber; + existingSubscriber = existingProxySubscriber.getProxiedSubscriber(); + if (existingProxySubscriber == null) { + removeProxySubscriber(existingProxySubscriber, iterator); + } + } + return existingSubscriber; + } + + protected void removeProxySubscriber(ProxySubscriber proxy, Iterator iter) { + iter.remove(); + proxy.proxyUnsubscribed(); + decWeakRefPlusProxySubscriberCount(); + } + + /** + * Increment the count of stale proxies and start a cleanup task if necessary + */ + protected void incWeakRefPlusProxySubscriberCount() { + synchronized(listenerLock) { + weakRefPlusProxySubscriberCount++; + if (cleanupStartThreshhold == null || cleanupPeriodMS == null) { + return; + } + if (weakRefPlusProxySubscriberCount >= cleanupStartThreshhold) { + startCleanup(); + } + } + } + + /** + * Decrement the count of stale proxies + */ + protected void decWeakRefPlusProxySubscriberCount() { + synchronized(listenerLock) { + weakRefPlusProxySubscriberCount--; + if (weakRefPlusProxySubscriberCount < 0) { + weakRefPlusProxySubscriberCount = 0; + } + } + } + + private void startCleanup() { + synchronized(listenerLock) { + if (cleanupTimer == null) { + cleanupTimer = new Timer(); + } + if (cleanupTimerTask == null) { + cleanupTimerTask = new CleanupTimerTask(); + cleanupTimer.schedule(cleanupTimerTask, 0L, cleanupPeriodMS); + } + } + } + + class CleanupTimerTask extends TimerTask { + @Override + public void run() { + synchronized(listenerLock) { + ThreadSafeEventService.this.publish(new CleanupEvent(CleanupEvent.Status.STARTING, weakRefPlusProxySubscriberCount, null)); + if (weakRefPlusProxySubscriberCount <= cleanupStopThreshold) { + this.cancel(); + cleanupTimer = null; + cleanupTimerTask = null; + LOG.debug("Cancelled scheduled weak reference and proxy cleanup."); + ThreadSafeEventService.this.publish(new CleanupEvent(CleanupEvent.Status.UNDER_STOP_THRESHOLD_CLEANING_CANCELLED, weakRefPlusProxySubscriberCount, null)); + return; + } + LOG.debug("Starting a weak reference and proxy cleanup."); + ThreadSafeEventService.this.publish(new CleanupEvent(CleanupEvent.Status.OVER_STOP_THRESHOLD_CLEANING_BEGUN, weakRefPlusProxySubscriberCount, null)); + List allSubscriberMaps = new ArrayList(); + allSubscriberMaps.add(subscribersByEventType); + allSubscriberMaps.add(subscribersByEventClass); + allSubscriberMaps.add(subscribersByExactEventClass); + allSubscriberMaps.add(subscribersByTopic); + allSubscriberMaps.add(subscribersByTopicPattern); + allSubscriberMaps.add(vetoListenersByClass); + allSubscriberMaps.add(vetoListenersByExactClass); + allSubscriberMaps.add(vetoListenersByTopic); + allSubscriberMaps.add(vetoListenersByTopicPattern); + + int staleCount = 0; + for (Map subscriberMap : allSubscriberMaps) { + Set subscriptions = subscriberMap.keySet(); + for (Object subscription : subscriptions) { + List subscribers = (List) subscriberMap.get(subscription); + for (Iterator iter = subscribers.iterator(); iter.hasNext();) { + Object subscriber = iter.next(); + Object realSubscriber = getRealSubscriberAndCleanStaleSubscriberIfNecessary(iter, subscriber); + if (realSubscriber == null) { + staleCount++; + } + } + } + } + ThreadSafeEventService.this.publish(new CleanupEvent(CleanupEvent.Status.FINISHED_CLEANING, weakRefPlusProxySubscriberCount, staleCount)); + } + } + } + + private static class PrioritizedSubscriberComparator implements Comparator { + public int compare(Prioritized prioritized1, Prioritized prioritized2) { + if (prioritized1 == null) { + return -1; + } + if (prioritized2 == null) { + return 1; + } + if (prioritized1.getPriority() < prioritized2.getPriority()) { + return -1; + } else if (prioritized1.getPriority() > prioritized2.getPriority()) { + return 1; + } else { + return 0; + } + } + } + + /** + * Since Pattern doesn't implement equals(), we need one of these + */ + private class PatternWrapper { + private Pattern pattern; + + public PatternWrapper(Pattern pat) { + pattern = pat; + } + + public boolean matches(CharSequence input) { + return pattern.matcher(input).matches(); + } + + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + + PatternWrapper that = (PatternWrapper) o; + + if (pattern != null) { + if (!pattern.equals(that.pattern)) {//give the JVM a shot for forward compatibility + return pattern.pattern() != null && this.pattern.pattern().equals(this.pattern.pattern()); + } + } else { + if (that.pattern != null) { + return false; + } + } + + return true; + } + + public int hashCode() { + if (this.pattern != null && this.pattern.pattern() != null) { + return this.pattern.pattern().hashCode(); + } + return (pattern != null ? pattern.hashCode() : 0); + } + } +} diff --git a/src/main/java/org/scijava/event/bushe/VetoEventListener.java b/src/main/java/org/scijava/event/bushe/VetoEventListener.java new file mode 100644 index 000000000..693a15a36 --- /dev/null +++ b/src/main/java/org/scijava/event/bushe/VetoEventListener.java @@ -0,0 +1,38 @@ +/** + * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com + * + * Licensed 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.scijava.event.bushe; + +/** + * Interface for classes that can veto class-based event publication from the {@link EventService}. + * + * @author Michael Bushe michael@bushe.com + */ +public interface VetoEventListener { + + /** + * Determine whether an event should be vetoed or published. + *

      + * The EventService calls this method before class-based publication of objects. If any of the + * VetoEventListeners return true, then none of the subscribers for that event are called.

      Prerequisite: + * VetoEventListener has to be subscribed with the EventService for the event object's class.

      Guaranteed to be + * called in the SwingEventThread when using the SwingEventService (EventBus). See {@link EventService}

      + * + * @param event The event object to veto or allow to be published. + * + * @return true if the event should be vetoed and not published, false if the event should be published. + */ + public boolean shouldVeto(T event); +} diff --git a/src/main/java/org/scijava/event/bushe/VetoTopicEventListener.java b/src/main/java/org/scijava/event/bushe/VetoTopicEventListener.java new file mode 100644 index 000000000..8bfbb5755 --- /dev/null +++ b/src/main/java/org/scijava/event/bushe/VetoTopicEventListener.java @@ -0,0 +1,25 @@ +package org.scijava.event.bushe; + +/** + * Interface for classes that can veto publication on topic names from the {@link org.scijava.event.bushe.EventService}. + * + * @author Michael Bushe michael@bushe.com + */ +public interface VetoTopicEventListener { + + /** + * Determine whether a topic publication should be vetoed or allowed. + *

      + * The EventService calls this method before publication of on a topic name. If any of the + * VetoTopicEventListeners return true, then none of the subscribers to that topic are called.

      Prerequisite: + * VetoTopicEventListener has to be subscribed with the EventService for the topic name.

      Guaranteed to be + * called in the SwingEventThread when using the SwingEventService (EventBus). See {@link EventService}

      + * + * @param topic The topic name the data object is published on. + * @param data The data object being published on the topic. + * + * @return true if the publication on the topic should be vetoed and not published, false if the data should be + * published on the topic. + */ + public boolean shouldVeto(String topic, T data); +} diff --git a/src/main/java/org/scijava/event/bushe/annotation/AbstractProxySubscriber.java b/src/main/java/org/scijava/event/bushe/annotation/AbstractProxySubscriber.java new file mode 100644 index 000000000..f7a7a84f2 --- /dev/null +++ b/src/main/java/org/scijava/event/bushe/annotation/AbstractProxySubscriber.java @@ -0,0 +1,169 @@ +package org.scijava.event.bushe.annotation; + +import java.lang.ref.WeakReference; +import java.lang.reflect.Method; +import java.lang.reflect.AccessibleObject; +import java.lang.reflect.InvocationTargetException; + +import org.scijava.event.bushe.EventService; +import org.scijava.event.bushe.ProxySubscriber; +import org.scijava.event.bushe.Prioritized; + +/** + * Common base class for EventService Proxies. + *

      + * Implementing Prioritized even when Priority is not used is always OK. The default + * value of 0 retains the FIFO order. + */ +public abstract class AbstractProxySubscriber implements ProxySubscriber, Prioritized { + private Object proxiedSubscriber; + private Method subscriptionMethod; + private ReferenceStrength referenceStrength; + private EventService eventService; + private int priority; + protected boolean veto; + + protected AbstractProxySubscriber(Object proxiedSubscriber, Method subscriptionMethod, + ReferenceStrength referenceStrength, EventService es, boolean veto) { + this(proxiedSubscriber, subscriptionMethod, referenceStrength, 0, es, veto); + } + + protected AbstractProxySubscriber(Object proxiedSubscriber, Method subscriptionMethod, + ReferenceStrength referenceStrength, int priority, EventService es, boolean veto) { + this.referenceStrength = referenceStrength; + this.priority = priority; + eventService = es; + this.veto = veto; + if (proxiedSubscriber == null) { + throw new IllegalArgumentException("The realSubscriber cannot be null when constructing a proxy subscriber."); + } + if (subscriptionMethod == null) { + throw new IllegalArgumentException("The subscriptionMethod cannot be null when constructing a proxy subscriber."); + } + Class returnType = subscriptionMethod.getReturnType(); + if (veto && returnType != Boolean.TYPE) { + throw new IllegalArgumentException("The subscriptionMethod must have the two parameters, the first one must be a String and the second a non-primitive (Object or derivative)."); + } + if (ReferenceStrength.WEAK.equals(referenceStrength)) { + this.proxiedSubscriber = new WeakReference(proxiedSubscriber); + } else { + this.proxiedSubscriber = proxiedSubscriber; + } + this.subscriptionMethod = subscriptionMethod; + } + + /** @return the object this proxy is subscribed on behalf of */ + public Object getProxiedSubscriber() { + if (proxiedSubscriber instanceof WeakReference) { + return ((WeakReference)proxiedSubscriber).get(); + } + return proxiedSubscriber; + } + + /** @return the subscriptionMethod passed in the constructor */ + public Method getSubscriptionMethod() { + return subscriptionMethod; + } + + /** @return the EventService passed in the constructor */ + public EventService getEventService() { + return eventService; + } + + /** @return the ReferenceStrength passed in the constructor */ + public ReferenceStrength getReferenceStrength() { + return referenceStrength; + } + + /** + * @return the priority, no effect if priority is 0 (the default value) + */ + public int getPriority() { + return priority; + } + + /** + * Called by EventServices to inform the proxy that it is unsubscribed. + * The ProxySubscriber should perform any necessary cleanup. + *

      + * Overriding classes must call super.proxyUnsubscribed() or risk + * things not being cleanup up properly. + */ + public void proxyUnsubscribed() { + proxiedSubscriber = null; + } + + @Override + public final int hashCode() { + throw new RuntimeException("Proxy subscribers are not allowed in Hash " + + "Maps, since the underlying values use Weak References that" + + "may disappear, the calculations may not be the same in" + + "successive calls as required by hashCode."); + } + + protected boolean retryReflectiveCallUsingAccessibleObject(Object[] args, Method subscriptionMethod, Object obj, + IllegalAccessException e, String message) { + boolean accessibleTriedAndFailed = false; + if (subscriptionMethod != null) { + AccessibleObject[] accessibleMethod = {subscriptionMethod}; + try { + AccessibleObject.setAccessible(accessibleMethod, true); + Object returnValue = subscriptionMethod.invoke(obj, args); + return Boolean.valueOf(returnValue+""); + } catch (SecurityException ex) { + accessibleTriedAndFailed = true; + } catch (InvocationTargetException e1) { + throw new RuntimeException(message, e); + } catch (IllegalAccessException e1) { + throw new RuntimeException(message, e); + } + } + if (accessibleTriedAndFailed) { + message = message + ". An attempt was made to make the method accessible, but the SecurityManager denied the attempt."; + } + throw new RuntimeException(message, e); + } + + @Override + public boolean equals(Object obj) { + if (obj instanceof AbstractProxySubscriber) { + AbstractProxySubscriber bps = (AbstractProxySubscriber) obj; + if (referenceStrength != bps.referenceStrength) { + return false; + } + if (subscriptionMethod != bps.subscriptionMethod) { + return false; + } + if (ReferenceStrength.WEAK == referenceStrength) { + if (((WeakReference)proxiedSubscriber).get() != ((WeakReference)bps.proxiedSubscriber).get()) { + return false; + } + } else { + if (proxiedSubscriber != bps.proxiedSubscriber) { + return false; + } + } + if (veto != bps.veto) { + return false; + } + if (eventService != bps.eventService) { + return false; + } + return true; + } else { + return false; + } + } + + @Override + public String toString() { + return "AbstractProxySubscriber{" + + "realSubscriber=" + (proxiedSubscriber instanceof WeakReference? + ((WeakReference)proxiedSubscriber).get():proxiedSubscriber) + + ", subscriptionMethod=" + subscriptionMethod + + ", veto=" + veto + + ", referenceStrength=" + referenceStrength + + ", eventService=" + eventService + + '}'; + } +} diff --git a/src/main/java/org/scijava/event/bushe/annotation/AnnotationProcessor.java b/src/main/java/org/scijava/event/bushe/annotation/AnnotationProcessor.java new file mode 100644 index 000000000..2a9810322 --- /dev/null +++ b/src/main/java/org/scijava/event/bushe/annotation/AnnotationProcessor.java @@ -0,0 +1,562 @@ +package org.scijava.event.bushe.annotation; + +import java.lang.annotation.Annotation; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.util.regex.Pattern; +import java.util.Arrays; + +import org.scijava.event.bushe.EventService; +import org.scijava.event.bushe.EventServiceExistsException; +import org.scijava.event.bushe.EventServiceLocator; +import org.scijava.event.bushe.Logger; + +/** + * Enhances classes that use EventService Annotations. + *

      + * This class makes the EventService annotations "come alive." This can be used in code like so: + *

      + * 
      + * public class MyAppController {
      + *   public MyAppController {
      + *       AnnotationProcessor.process(this);//this line can be avoided with a compile-time tool or an Aspect
      + *   }
      + *   @EventSubscriber
      + *   public void onAppStartingEvent(AppStartingEvent appStartingEvent) {
      + *      //do something
      + *   }
      + *   @EventSubscriber
      + *   public void onAppClosingEvent(AppClosingEvent appClosingEvent) {
      + *      //do something
      + *   }
      + * }
      + * ... some other place, needed in some cases when the like a window disposal before it's garbage collected ....
      + * AnnotationProcessor.unprocess(this);
      + * 
      + * 
      + *

      + * This class can be leveraged in outside of source code in other ways in which Annotations are used:

      • In an + * Aspect-Oriented tool
      • In a Swing Framework classloader that wants to load and understand events.
      • In other + * Inversion of Control containers, such as Spring or PicoContainer.
      • In the apt tool, though this does not generate + * code.
      • In a Annotation Processing Tool plugin, when it becomes available.
      Support for these other methods + * are not yet implemented. + */ +public class AnnotationProcessor { + + protected static final Logger LOG = Logger.getLogger(EventService.class.getName()); + + /** + * Add the appropriate subscribers to one or more EventServices for an instance of a class with + * EventBus annotations. + * @param obj the instance that may or may not have annotations + */ + public static void process(Object obj) { + processOrUnprocess(obj, true); + } + + /** + * Remove the appropriate subscribers from one or more EventServices for an instance of a class with + * EventBus annotations. + * @param obj the instance that may or may not have annotations + */ + public static void unprocess(Object obj) { + processOrUnprocess(obj, false); + } + + private static void processOrUnprocess(Object obj, boolean add) { + if (obj == null) { + return; + } + Class cl = obj.getClass(); + Method[] methods = cl.getMethods(); + if (LOG.isLoggable(Logger.Level.DEBUG)) { + LOG.debug("Looking for EventBus annotations for class " + cl + ", methods:" + Arrays.toString(methods)); + } + for (Method method : methods) { + + EventSubscriber classAnnotation = method.getAnnotation(EventSubscriber.class); + if (classAnnotation != null) { + if (LOG.isLoggable(Logger.Level.DEBUG)) { + LOG.debug("Found EventSubscriber:"+classAnnotation +" on method:" + method); + } + process(classAnnotation, obj, method, add); + } + EventTopicSubscriber topicAnnotation = method.getAnnotation(EventTopicSubscriber.class); + if (topicAnnotation != null) { + if (LOG.isLoggable(Logger.Level.DEBUG)) { + LOG.debug("Found EventTopicSubscriber: "+topicAnnotation +" on method:" + method); + } + process(topicAnnotation, obj, method, add); + } + EventTopicPatternSubscriber topicPatternAnnotation = method.getAnnotation(EventTopicPatternSubscriber.class); + if (topicPatternAnnotation != null) { + if (LOG.isLoggable(Logger.Level.DEBUG)) { + LOG.debug("Found EventTopicPatternSubscriber: "+topicPatternAnnotation+" on method:" + method); + } + process(topicPatternAnnotation, obj, method, add); + } + RuntimeTopicEventSubscriber runtimeTopicAnnotation = method.getAnnotation(RuntimeTopicEventSubscriber.class); + if (runtimeTopicAnnotation != null) { + if (LOG.isLoggable(Logger.Level.DEBUG)) { + LOG.debug("Found RuntimeTopicEventSubscriber: "+runtimeTopicAnnotation+" on method:" + method); + } + process(runtimeTopicAnnotation, obj, method, add); + } + RuntimeTopicPatternEventSubscriber annotation = method.getAnnotation(RuntimeTopicPatternEventSubscriber.class); + if (annotation != null) { + if (LOG.isLoggable(Logger.Level.DEBUG)) { + LOG.debug("Found RuntimeTopicPatternEventSubscriber:"+annotation+" on method:" + method); + } + process(annotation, obj, method, add); + } + + + VetoSubscriber vetoClassAnnotation = method.getAnnotation(VetoSubscriber.class); + if (vetoClassAnnotation != null) { + if (LOG.isLoggable(Logger.Level.DEBUG)) { + LOG.debug("Found VetoSubscriber:"+vetoClassAnnotation +" on method:" + method); + } + process(vetoClassAnnotation, obj, method, add); + } + VetoTopicSubscriber vetoTopicAnnotation = method.getAnnotation(VetoTopicSubscriber.class); + if (vetoTopicAnnotation != null) { + if (LOG.isLoggable(Logger.Level.DEBUG)) { + LOG.debug("Found VetoTopicSubscriber: "+vetoTopicAnnotation +" on method:" + method); + } + process(vetoTopicAnnotation, obj, method, add); + } + VetoTopicPatternSubscriber vetoTopicPatternAnnotation = method.getAnnotation(VetoTopicPatternSubscriber.class); + if (vetoTopicPatternAnnotation != null) { + if (LOG.isLoggable(Logger.Level.DEBUG)) { + LOG.debug("Found VetoTopicPatternSubscriber: "+vetoTopicPatternAnnotation+" on method:" + method); + } + process(vetoTopicPatternAnnotation, obj, method, add); + } + VetoRuntimeTopicSubscriber vetoRuntimeTopicAnnotation = method.getAnnotation(VetoRuntimeTopicSubscriber.class); + if (vetoRuntimeTopicAnnotation != null) { + if (LOG.isLoggable(Logger.Level.DEBUG)) { + LOG.debug("Found VetoRuntimeTopicSubscriber: "+vetoRuntimeTopicAnnotation+" on method:" + method); + } + process(vetoRuntimeTopicAnnotation, obj, method, add); + } + VetoRuntimeTopicPatternSubscriber vetoAnnotation = method.getAnnotation(VetoRuntimeTopicPatternSubscriber.class); + if (vetoAnnotation != null) { + if (LOG.isLoggable(Logger.Level.DEBUG)) { + LOG.debug("Found VetoRuntimeTopicPatternSubscriber:"+vetoAnnotation+" on method:" + method); + } + process(vetoAnnotation, obj, method, add); + } + } + } + + + private static void process(EventTopicPatternSubscriber topicPatternAnnotation, Object obj, + Method method, boolean add) { + //Check args + String topicPattern = topicPatternAnnotation.topicPattern(); + if (topicPattern == null) { + throw new IllegalArgumentException("Topic pattern cannot be null for EventTopicPatternSubscriber annotation"); + } + + //Get event service + Class eventServiceClass = topicPatternAnnotation.autoCreateEventServiceClass(); + String eventServiceName = topicPatternAnnotation.eventServiceName(); + EventService eventService = getEventServiceFromAnnotation(eventServiceName, eventServiceClass); + int priority = topicPatternAnnotation.priority(); + + //Create proxy and subscribe + Pattern pattern = Pattern.compile(topicPattern); + //See Issue #18 + //Also note that this post is wrong: https://eventbus.dev.java.net/servlets/ProjectForumMessageView?messageID=19499&forumID=1834 + //Since two WeakReferences are not treated as one. So this always has to be strong and we'll have to clean up occasionally. + if (add) { + ProxyTopicPatternSubscriber subscriber = new ProxyTopicPatternSubscriber(obj, method, + topicPatternAnnotation.referenceStrength(), priority, eventService, + topicPattern, pattern, false); + + eventService.subscribeStrongly(pattern, subscriber); + } else { + eventService.unsubscribe(pattern, obj); + } + } + + private static void process(EventTopicSubscriber topicAnnotation, Object obj, Method method, boolean add) { + //Check args + String topic = topicAnnotation.topic(); + if (topic == null) { + throw new IllegalArgumentException("Topic cannot be null for EventTopicSubscriber annotation"); + } + + //Get event service + Class eventServiceClass = topicAnnotation.autoCreateEventServiceClass(); + String eventServiceName = topicAnnotation.eventServiceName(); + EventService eventService = getEventServiceFromAnnotation(eventServiceName, eventServiceClass); + + int priority = topicAnnotation.priority(); + + //See Issue #18 + //Also note that this post is wrong: https://eventbus.dev.java.net/servlets/ProjectForumMessageView?messageID=19499&forumID=1834 + //Since two WeakReferences are not treated as one. So this always has to be strong and we'll have to clean up occasionally. + if (add) { + //Create proxy and subscribe + ProxyTopicSubscriber subscriber = new ProxyTopicSubscriber(obj, method, + topicAnnotation.referenceStrength(), priority, eventService, topic, false); + + eventService.subscribeStrongly(topic, subscriber); + } else { + eventService.unsubscribe(topic, obj); + } + } + + private static void process(EventSubscriber annotation, Object obj, Method method, boolean add) { + //Check args + Class eventClass = annotation.eventClass(); + if (eventClass == null) { + throw new IllegalArgumentException("Event class cannot be null for EventSubscriber annotation"); + } else if (UseTheClassOfTheAnnotatedMethodsParameter.class.equals(eventClass)) { + Class[] params = method.getParameterTypes(); + if (params.length < 1) { + throw new RuntimeException("Expected annotated method to have one parameter."); + } else { + eventClass = params[0]; + } + } + + //Get event service + Class eventServiceClass = annotation.autoCreateEventServiceClass(); + String eventServiceName = annotation.eventServiceName(); + EventService eventService = getEventServiceFromAnnotation(eventServiceName, eventServiceClass); + + if (add) { + int priority = annotation.priority(); + + //Create proxy and subscribe + //See https://eventbus.dev.java.net/servlets/ProjectForumMessageView?messageID=19499&forumID=1834 + BaseProxySubscriber subscriber = new BaseProxySubscriber(obj, method, annotation.referenceStrength(), + priority, eventService, eventClass, false); + if (annotation.exact()) { + //See Issue #18 + //Also note that this post is wrong: https://eventbus.dev.java.net/servlets/ProjectForumMessageView?messageID=19499&forumID=1834 + //Since two WeakReferences are not treated as one. So this always has to be strong and we'll have to clean up occasionally. + eventService.subscribeExactlyStrongly(eventClass, subscriber); + } else { + //See Issue #18 + //Also note that this post is wrong: https://eventbus.dev.java.net/servlets/ProjectForumMessageView?messageID=19499&forumID=1834 + //Since two WeakReferences are not treated as one. So this always has to be strong and we'll have to clean up occasionally. + eventService.subscribeStrongly(eventClass, subscriber); + } + } else { + if (annotation.exact()) { + eventService.unsubscribeExactly(eventClass, obj); + } else { + eventService.unsubscribe(eventClass, obj); + } + } + } + + + + private static void process(final RuntimeTopicEventSubscriber annotation, final Object subscriber, final Method method, boolean add) { + EventTopicSubscriber eventTopicSubscriber = new EventTopicSubscriber() { + //TODO uncomment when language level is set to 1.6 (2.0) @Override + public Class autoCreateEventServiceClass() { + return annotation.autoCreateEventServiceClass(); + } + + //TODO uncomment when language level is set to 1.6 (2.0) @Override + public String eventServiceName() { + return annotation.eventServiceName(); + } + + //TODO uncomment when language level is set to 1.6 (2.0) @Override + public ReferenceStrength referenceStrength() { + return annotation.referenceStrength(); + } + + //TODO uncomment when language level is set to 1.6 (2.0) @Override + public int priority() { + return annotation.priority(); + } + + //TODO uncomment when language level is set to 1.6 (2.0) @Override + public String topic() { + return getTopic(annotation.methodName(), subscriber, method); + } + + //TODO uncomment when language level is set to 1.6 (2.0) @Override + public Class annotationType() { + return annotation.annotationType(); + } + }; + process(eventTopicSubscriber, subscriber, method, add); + } + + private static void process(final RuntimeTopicPatternEventSubscriber annotation, final Object subscriber, final Method method, boolean add) { + EventTopicPatternSubscriber eventTopicPatternSubscriber = new EventTopicPatternSubscriber() { + //TODO uncomment when language level is set to 1.6 (2.0) @Override + public Class autoCreateEventServiceClass() { + return annotation.autoCreateEventServiceClass(); + } + + //TODO uncomment when language level is set to 1.6 (2.0) @Override + public String eventServiceName() { + return annotation.eventServiceName(); + } + + //TODO uncomment when language level is set to 1.6 (2.0) @Override + public ReferenceStrength referenceStrength() { + return annotation.referenceStrength(); + } + + //TODO uncomment when language level is set to 1.6 (2.0) @Override + public int priority() { + return annotation.priority(); + } + + //TODO uncomment when language level is set to 1.6 (2.0) @Override + public boolean exact() { + return annotation.exact(); + } + + //TODO uncomment when language level is set to 1.6 (2.0) @Override + public String topicPattern() { + return getTopic(annotation.methodName(), subscriber, method); + } + + //TODO uncomment when language level is set to 1.6 (2.0) @Override + public Class annotationType() { + return annotation.annotationType(); + } + }; + process(eventTopicPatternSubscriber, subscriber, method, add); + } + + /* This is a cut and paste from above practically, sure which Annotations could be extended. + * TODO: When Java 7 comes out, or whatever JSR-308 is delivered, reduce this file by 70% */ + private static void process(VetoTopicPatternSubscriber topicPatternAnnotation, Object obj, Method method, boolean add) { + //Check args + String topicPattern = topicPatternAnnotation.topicPattern(); + if (topicPattern == null) { + throw new IllegalArgumentException("Topic pattern cannot be null for VetoTopicPatternSubscriber annotation"); + } + + //Get event service + Class eventServiceClass = topicPatternAnnotation.autoCreateEventServiceClass(); + String eventServiceName = topicPatternAnnotation.eventServiceName(); + EventService eventService = getEventServiceFromAnnotation(eventServiceName, eventServiceClass); + int priority = topicPatternAnnotation.priority(); + + //Create proxy and subscribe + Pattern pattern = Pattern.compile(topicPattern); + ProxyTopicPatternSubscriber subscriber = new ProxyTopicPatternSubscriber(obj, method, topicPatternAnnotation.referenceStrength(), + priority, eventService, topicPattern, pattern, true); + + //See Issue #18 + //Also note that this post is wrong: https://eventbus.dev.java.net/servlets/ProjectForumMessageView?messageID=19499&forumID=1834 + //Since two WeakReferences are not treated as one. So this always has to be strong and we'll have to clean up occasionally. + if (add) { + eventService.subscribeVetoListenerStrongly(pattern, subscriber); + } else { + eventService.unsubscribeVeto(pattern, obj); + } + } + + private static void process(VetoTopicSubscriber topicAnnotation, Object obj, Method method, boolean add) { + //Check args + String topic = topicAnnotation.topic(); + if (topic == null) { + throw new IllegalArgumentException("Topic cannot be null for VetoTopicSubscriber annotation"); + } + + //Get event service + Class eventServiceClass = topicAnnotation.autoCreateEventServiceClass(); + String eventServiceName = topicAnnotation.eventServiceName(); + EventService eventService = getEventServiceFromAnnotation(eventServiceName, eventServiceClass); + + int priority = topicAnnotation.priority(); + + //Create proxy and subscribe + ProxyTopicSubscriber subscriber = new ProxyTopicSubscriber(obj, method, + topicAnnotation.referenceStrength(), priority, eventService, topic, true); + + //See Issue #18 + //Also note that this post is wrong: https://eventbus.dev.java.net/servlets/ProjectForumMessageView?messageID=19499&forumID=1834 + //Since two WeakReferences are not treated as one. So this always has to be strong and we'll have to clean up occasionally. + if (add) { + eventService.subscribeVetoListenerStrongly(topic, subscriber); + } else { + eventService.unsubscribeVeto(topic, obj); + } + } + + private static void process(VetoSubscriber annotation, Object obj, Method method, boolean add) { + //Check args + Class eventClass = annotation.eventClass(); + if (eventClass == null) { + throw new IllegalArgumentException("Event class cannot be null for VetoSubscriber annotation"); + } else if (UseTheClassOfTheAnnotatedMethodsParameter.class.equals(eventClass)) { + Class[] params = method.getParameterTypes(); + if (params.length < 1) { + throw new RuntimeException("Expected annotated method to have one parameter."); + } else { + eventClass = params[0]; + } + } + + //Get event service + Class eventServiceClass = annotation.autoCreateEventServiceClass(); + String eventServiceName = annotation.eventServiceName(); + EventService eventService = getEventServiceFromAnnotation(eventServiceName, eventServiceClass); + + int priority = annotation.priority(); + + //Create proxy and subscribe + //See https://eventbus.dev.java.net/servlets/ProjectForumMessageView?messageID=19499&forumID=1834 + BaseProxySubscriber subscriber = new BaseProxySubscriber(obj, method, annotation.referenceStrength(), + priority, eventService, eventClass, true); + if (add) { + if (annotation.exact()) { + //See Issue #18 + //Also note that this post is wrong: https://eventbus.dev.java.net/servlets/ProjectForumMessageView?messageID=19499&forumID=1834 + //Since two WeakReferences are not treated as one. So this always has to be strong and we'll have to clean up occasionally. + eventService.subscribeVetoListenerExactlyStrongly(eventClass, subscriber); + } else { + //See Issue #18 + //Also note that this post is wrong: https://eventbus.dev.java.net/servlets/ProjectForumMessageView?messageID=19499&forumID=1834 + //Since two WeakReferences are not treated as one. So this always has to be strong and we'll have to clean up occasionally. + eventService.subscribeVetoListenerStrongly(eventClass, subscriber); + } + } else { + if (annotation.exact()) { + eventService.unsubscribeVetoExactly(eventClass, obj); + } else { + eventService.unsubscribeVeto(eventClass, obj); + } + } + } + + + private static void process(final VetoRuntimeTopicSubscriber annotation, final Object subscriber, final Method method, boolean add) { + VetoTopicSubscriber eventTopicSubscriber = new VetoTopicSubscriber() { + //TODO uncomment when language level is set to 1.6 (2.0) @Override + public Class autoCreateEventServiceClass() { + return annotation.autoCreateEventServiceClass(); + } + + //TODO uncomment when language level is set to 1.6 (2.0) @Override + public String eventServiceName() { + return annotation.eventServiceName(); + } + + //TODO uncomment when language level is set to 1.6 (2.0) @Override + public ReferenceStrength referenceStrength() { + return annotation.referenceStrength(); + } + + //TODO uncomment when language level is set to 1.6 (2.0) @Override + public int priority() { + return annotation.priority(); + } + + //TODO uncomment when language level is set to 1.6 (2.0) @Override + public String topic() { + return getTopic(annotation.methodName(), subscriber, method); + } + + //TODO uncomment when language level is set to 1.6 (2.0) @Override + public Class annotationType() { + return annotation.annotationType(); + } + }; + process(eventTopicSubscriber, subscriber, method, add); + } + + private static void process(final VetoRuntimeTopicPatternSubscriber annotation, final Object subscriber, final Method method, boolean add) { + VetoTopicPatternSubscriber eventTopicPatternSubscriber = new VetoTopicPatternSubscriber() { + //TODO uncomment when language level is set to 1.6 (2.0) @Override + public Class autoCreateEventServiceClass() { + return annotation.autoCreateEventServiceClass(); + } + + //TODO uncomment when language level is set to 1.6 (2.0) @Override + public String eventServiceName() { + return annotation.eventServiceName(); + } + + //TODO uncomment when language level is set to 1.6 (2.0) @Override + public ReferenceStrength referenceStrength() { + return annotation.referenceStrength(); + } + + //TODO uncomment when language level is set to 1.6 (2.0) @Override + public int priority() { + return annotation.priority(); + } + + //TODO uncomment when language level is set to 1.6 (2.0) @Override + public boolean exact() { + return annotation.exact(); + } + + //TODO uncomment when language level is set to 1.6 (2.0) @Override + public String topicPattern() { + return getTopic(annotation.methodName(), subscriber, method); + } + + //TODO uncomment when language level is set to 1.6 (2.0) @Override + public Class annotationType() { + return annotation.annotationType(); + } + }; + process(eventTopicPatternSubscriber, subscriber, method, add); + } + + + private static String getTopic(String methodName, Object subscriber, Method method) { + try { + Method runtimeEvalMethod = subscriber.getClass().getMethod(methodName, new Class[0]); + //necessary in case the method does not have public access or if the class it belongs + //to isn't public + runtimeEvalMethod.setAccessible(true); + return runtimeEvalMethod.invoke(subscriber, new Object[0]).toString(); + } catch (SecurityException e) { + throw new RuntimeException("Could not retrieve method for subscription. Method: " + methodName, e); + } catch (NoSuchMethodException e) { + throw new RuntimeException("Could not retrieve method for subscription. Method: " + methodName, e); + } catch (InvocationTargetException e) { + e.getTargetException().printStackTrace(); + throw new RuntimeException("Could not invoke method for subscription. Method: " + methodName, e); + } catch (IllegalAccessException e) { + throw new RuntimeException("Could not invoke method for subscription. Method: " + methodName, e); + } + } + + + private static EventService getEventServiceFromAnnotation(String eventServiceName, + Class eventServiceClass) { + EventService eventService = EventServiceLocator.getEventService(eventServiceName); + if (eventService == null) { + if (EventServiceLocator.SERVICE_NAME_EVENT_BUS.equals(eventServiceName)) { + //This may be the first time the EventBus is accessed. + eventService = EventServiceLocator.getSwingEventService(); + } else { + //The event service does not yet exist, create it + try { + eventService = eventServiceClass.newInstance(); + } catch (InstantiationException e) { + throw new RuntimeException("Could not instance of create EventService class " + eventServiceClass, e); + } catch (IllegalAccessException e) { + throw new RuntimeException("Could not instance of create EventService class " + eventServiceClass, e); + } + try { + EventServiceLocator.setEventService(eventServiceName, eventService); + } catch (EventServiceExistsException e) { + //ignore it, it's OK + eventService = EventServiceLocator.getEventService(eventServiceName); + } + } + } + return eventService; + } + +} diff --git a/src/main/java/org/scijava/event/bushe/annotation/BaseProxySubscriber.java b/src/main/java/org/scijava/event/bushe/annotation/BaseProxySubscriber.java new file mode 100644 index 000000000..f877d35e2 --- /dev/null +++ b/src/main/java/org/scijava/event/bushe/annotation/BaseProxySubscriber.java @@ -0,0 +1,133 @@ +package org.scijava.event.bushe.annotation; + +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; + +import org.scijava.event.bushe.EventService; +import org.scijava.event.bushe.VetoEventListener; + +/** A class is subscribed to an EventService on behalf of another object. */ +public class BaseProxySubscriber extends AbstractProxySubscriber + implements org.scijava.event.bushe.EventSubscriber, VetoEventListener { + private Class subscriptionClass; + + /** + * Creates a proxy. This does not subscribe it. + * + * @param proxiedSubscriber the subscriber that the proxy will call when an event is published + * @param subscriptionMethod the method the proxy will call, must have an Object as it's first and only parameter + * @param referenceStrength if the subscription is weak, the reference from the proxy to the real subscriber should + * be too + * @param es the EventService we will be subscribed to, since we may need to unsubscribe when weak refs no longer + * exist + * @param subscription the class to subscribe to, used for unsubscription only + * @param veto whether this is a veto subscriber + */ + public BaseProxySubscriber(Object proxiedSubscriber, Method subscriptionMethod, ReferenceStrength referenceStrength, + EventService es, Class subscription, boolean veto) { + this(proxiedSubscriber, subscriptionMethod, referenceStrength, 0, es, subscription, veto); + } + + /** + * Creates a proxy with a priority. This does not subscribe it. + * + * @param proxiedSubscriber the subscriber that the proxy will call when an event is published + * @param subscriptionMethod the method the proxy will call, must have an Object as it's first and only parameter + * @param referenceStrength if the subscription is weak, the reference from the proxy to the real subscriber should + * be too + * @param es the EventService we will be subscribed to, since we may need to unsubscribe when weak refs no longer + * exist + * @param subscription the class to subscribe to, used for unsubscription only + * @param veto whether this is a veto subscriber + */ + public BaseProxySubscriber(Object proxiedSubscriber, Method subscriptionMethod, ReferenceStrength referenceStrength, + int priority, EventService es, Class subscription, boolean veto) { + super(proxiedSubscriber, subscriptionMethod, referenceStrength, priority, es, veto); + this.subscriptionClass = subscription; + Class[] params = subscriptionMethod.getParameterTypes(); + if (params == null || params.length != 1 || params[0].isPrimitive()) { + throw new IllegalArgumentException("The subscriptionMethod must have a single non-primitive parameter."); + } + } + + /** + * Handles the event publication by pushing it to the real subscriber's subscription Method. + * + * @param event The Object that is being published. + */ + public void onEvent(Object event) { + Object[] args = new Object[]{event}; + Method subscriptionMethod = null; + Object obj = null; + try { + obj = getProxiedSubscriber(); + if (obj == null) { + //has been garbage collected + return; + } + subscriptionMethod = getSubscriptionMethod(); + subscriptionMethod.invoke(obj, args); + } catch (IllegalAccessException e) { + String message = "Exception when invoking annotated method from EventService publication. Event class:" + event.getClass() + ", Event:" + event + ", subscriber:" + getProxiedSubscriber() + ", subscription Method=" + getSubscriptionMethod(); + retryReflectiveCallUsingAccessibleObject(args, subscriptionMethod, obj, e, message); + } catch (InvocationTargetException e) { + throw new RuntimeException("InvocationTargetException when invoking annotated method from EventService publication. Event class:" + event.getClass() + ", Event:" + event + ", subscriber:" + getProxiedSubscriber() + ", subscription Method=" + getSubscriptionMethod(), e); + } + } + + + public boolean shouldVeto(Object event) { + Object[] args = new Object[]{event}; + Method subscriptionMethod = null; + Object obj = null; + try { + obj = getProxiedSubscriber(); + if (obj == null) { + //has been garbage collected + return false; + } + subscriptionMethod = getSubscriptionMethod(); + return Boolean.valueOf(subscriptionMethod.invoke(obj, args)+""); + } catch (IllegalAccessException e) { + String message = "Exception when invoking annotated method from EventService publication. Event class:" + event.getClass() + ", Event:" + event + ", subscriber:" + getProxiedSubscriber() + ", subscription Method=" + getSubscriptionMethod(); + return retryReflectiveCallUsingAccessibleObject(args, subscriptionMethod, obj, e, message); + } catch (InvocationTargetException e) { + throw new RuntimeException("InvocationTargetException when invoking annotated method from EventService publication. Event class:" + event.getClass() + ", Event:" + event + ", subscriber:" + getProxiedSubscriber() + ", subscription Method=" + getSubscriptionMethod(), e); + } + } + + @Override + public boolean equals(Object obj) { + if (obj instanceof BaseProxySubscriber) { + if (!super.equals(obj)) { + return false; + } + BaseProxySubscriber bps = (BaseProxySubscriber) obj; + if (subscriptionClass != bps.subscriptionClass) { + if (subscriptionClass == null) { + return false; + } else { + if (!subscriptionClass.equals(bps.subscriptionClass)) { + return false; + } + } + } + return true; + } else { + return false; + } + } + + @Override + public String toString() { + return "BaseProxySubscriber{" + + "subscription=" + subscriptionClass + + "veto=" + veto + + "realSubscriber=" + getProxiedSubscriber() + + ", subscriptionMethod=" + getSubscriptionMethod() + + ", referenceStrength=" + getReferenceStrength() + + ", eventService=" + getEventService() + + '}'; + } + +} diff --git a/src/main/java/org/scijava/event/bushe/annotation/EventSubscriber.java b/src/main/java/org/scijava/event/bushe/annotation/EventSubscriber.java new file mode 100644 index 000000000..e75b79568 --- /dev/null +++ b/src/main/java/org/scijava/event/bushe/annotation/EventSubscriber.java @@ -0,0 +1,110 @@ +package org.scijava.event.bushe.annotation; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +import org.scijava.event.bushe.EventService; +import org.scijava.event.bushe.EventServiceLocator; +import org.scijava.event.bushe.ThreadSafeEventService; + +/** + * An Annotation for subscribing to EventService Events. + *

      + * This annotation simplifies much of the repetitive boilerplate used for subscribing to EventService Events. + *

      + * Instead of this: + *

      + * public class MyAppController implements EventSubscriber {
      + *   public MyAppController {
      + *      EventBus.subscribe(AppClosingEvent.class, this);
      + *   }
      + *   public void onEvent(EventServiceEvent event) {
      + *      AppClosingEvent appClosingEvent = (AppClosingEvent)event;
      + *      //do something
      + *   }
      + * }
      + * 
      + * You can do this: + *
      + * public class MyAppController {  //no interface necessary
      + *   public MyAppController {
      + *       AnnotationProcessor.process(this);//if not using AOP
      + *   }
      + *   @EventSubscriber
      + *   public void onAppClosingEvent(AppClosingEvent appClosingEvent) {//Use your own method name with typesafety
      + *      //do something
      + *   }
      + * }
      + * 
      + *

      + * That's pretty good, but when the controller does more, annotations are even nicer. + *

      + * public class MyAppController implements EventSubscriber {
      + *   public MyAppController {
      + *      EventBus.subscribe(AppStartingEvent.class, this);
      + *      EventBus.subscribe(AppClosingEvent.class, this);
      + *   }
      + *   public void onEvent(EventServiceEvent event) {
      + *      //wicked bad pattern, but we have to this
      + *      //...or create multiple subscriber classes and hold instances of them fields, which is even more verbose...
      + *      if (event instanceof AppStartingEvent) {
      + *         onAppStartingEvent((AppStartingEvent)event);
      + *      } else (event instanceof AppClosingEvent) {
      + *         onAppStartingEvent((AppClosingEvent)event);
      + *      }
      + *
      + *   }
      + *
      + *   public void onAppStartingEvent(AppStartingEvent appStartingEvent) {
      + *      //do something
      + *   }
      + *
      + *   public void onAppClosingEvent(AppClosingEvent appClosingEvent) {
      + *      //do something
      + *   }
      + * }
      + * 
      + * You can do this: + *
      + * public class MyAppController {
      + *   public MyAppController {
      + *       AnnotationProcessor.process(this);//this line can be avoided with a compile-time tool or an Aspect
      + *   }
      + *   @EventSubscriber(eventClass=AppStartingEvent.class)
      + *   public void onAppStartingEvent(AppStartingEvent appStartingEvent) {
      + *      //do something
      + *   }
      + *   @EventSubscriber(eventClass=AppAppClosingEvent.class)
      + *   public void onAppClosingEvent(AppClosingEvent appClosingEvent) {
      + *      //do something
      + *   }
      + * }
      + * 
      + * Brief, clear, and easy. + */ +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.METHOD) +public @interface EventSubscriber { + /** The class to subscribe to, if not specified, a subscription is created for the type of the method parameter. */ + Class eventClass() default UseTheClassOfTheAnnotatedMethodsParameter.class; + + /** Determines the order in which this subscriber is called, default is FIFO.*/ + int priority() default 0; + + /** Whether or not to subscribe to the exact class or a class hierarchy, defaults to class hierarchy (false). */ + boolean exact() default false; + + /** Whether to subscribe weakly or strongly. */ + ReferenceStrength referenceStrength() default ReferenceStrength.WEAK; + + /** The event service to subscribe to, default to the EventServiceLocator.SERVICE_NAME_EVENT_BUS. */ + String eventServiceName() default EventServiceLocator.SERVICE_NAME_EVENT_BUS; + + /** + * Whether or not to autocreate the event service if it doesn't exist on subscription, default is true. If the + * service needs to be created, it must have a default constructor. + */ + Class autoCreateEventServiceClass() default ThreadSafeEventService.class; +} diff --git a/src/main/java/org/scijava/event/bushe/annotation/EventTopicPatternSubscriber.java b/src/main/java/org/scijava/event/bushe/annotation/EventTopicPatternSubscriber.java new file mode 100644 index 000000000..3611d2c79 --- /dev/null +++ b/src/main/java/org/scijava/event/bushe/annotation/EventTopicPatternSubscriber.java @@ -0,0 +1,35 @@ +package org.scijava.event.bushe.annotation; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +import org.scijava.event.bushe.EventService; +import org.scijava.event.bushe.EventServiceLocator; +import org.scijava.event.bushe.ThreadSafeEventService; + +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.METHOD) +public @interface EventTopicPatternSubscriber { + /** The Regular Expression to subscribe to. */ + String topicPattern(); + + /** Whether or not to subscribe to the exact class or a class hierarchy, defaults to class hierarchy (false). */ + boolean exact() default false; + + /** Whether to subscribe weakly or strongly. */ + ReferenceStrength referenceStrength() default ReferenceStrength.WEAK; + + /** The event service to subscribe to, default to the EventServiceLocator.SERVICE_NAME_EVENT_BUS. */ + String eventServiceName() default EventServiceLocator.SERVICE_NAME_EVENT_BUS; + + /** + * Whether or not to autocreate the event service if it doesn't exist on subscription, default is true. If the + * service needs to be created, it must have a default constructor. + */ + Class autoCreateEventServiceClass() default ThreadSafeEventService.class; + + /** Determines the order in which this subscriber is called, default is FIFO.*/ + int priority() default 0; +} diff --git a/src/main/java/org/scijava/event/bushe/annotation/EventTopicSubscriber.java b/src/main/java/org/scijava/event/bushe/annotation/EventTopicSubscriber.java new file mode 100644 index 000000000..5f99c4895 --- /dev/null +++ b/src/main/java/org/scijava/event/bushe/annotation/EventTopicSubscriber.java @@ -0,0 +1,108 @@ +package org.scijava.event.bushe.annotation; + + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +import org.scijava.event.bushe.EventService; +import org.scijava.event.bushe.EventServiceLocator; +import org.scijava.event.bushe.ThreadSafeEventService; + +/** + * An Annotation for subscribing to EventService Topics. + *

      + * This annotation simplifies much of the repetitive boilerplate used for subscribing to EventService Topics. + *

      + * Instead of this: + *

      + * public class MyAppController implements EventTopicSubscriber {
      + *   public MyAppController {
      + *      EventBus.subscribe("AppClosing", this);
      + *   }
      + *   public void onEvent(String topic, Object data) {
      + *      JComponent source = (JComponent)data;
      + *      //do something
      + *   }
      + * }
      + * 
      + * You can do this: + *
      + * public class MyAppController {  //no interface necessary
      + *   public MyAppController {
      + *       AnnotationProcessor.process(this);//this line can be avoided with a compile-time tool or an Aspect
      + *   }
      + *   @EventTopicSubscriber{topic="AppClosingEvent"}
      + *   public void onAppClosing(String topic, Object data) {
      + *      //do something
      + *   }
      + * }
      + * 
      + *

      + * That's pretty good, but when the controller does more, annotations are even nicer. + *

      + * public class MyAppController implements EventTopicSubscriber {
      + *   public MyAppController {
      + *      EventBus.subscribe("AppStartingEvent", this);
      + *      EventBus.subscribe("AppClosingEvent", this);
      + *   }
      + *   public void onEvent(String topic, Object data) {
      + *      //wicked bad pattern, but we have to this
      + *      //...or create multiple subscriber classes and hold instances of them fields, which is even more verbose...
      + *      if ("AppStartingEvent".equals(topic)) {
      + *         onAppStartingEvent((JComponent)data);
      + *      } else ("AppClosingEvent".equals(topic)) {
      + *         onAppClosingEvent((JComponet)data);
      + *      }
      + *
      + *   }
      + *
      + *   public void onAppStartingEvent(JComponent requestor) {
      + *      //do something
      + *   }
      + *
      + *   public void onAppClosingEvent(JComponent requestor) {
      + *      //do something
      + *   }
      + * }
      + * 
      + * Instead of all that, you can do this: + *
      + * public class MyAppController {
      + *   public MyAppController {
      + *       AnnotationProcessor.process(this);//this line can be avoided with a compile-time tool or an Aspect
      + *   }
      + *   @EventTopicSubscriber{topic="AppStartingEvent"}
      + *   public void onAppStartingEvent(Object data) {
      + *      //do something
      + *   }
      + *   @EventTopicSubscriber{topic="AppClosingEvent"}
      + *   public void onAppClosingEvent(Foo data) {
      + *      //do something
      + *   }
      + * }
      + * 
      + * Brief, clear, and easy. + */ +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.METHOD) +public @interface EventTopicSubscriber { + /** The topic to subscribe to */ + String topic(); + + /** Whether to subscribe weakly or strongly. */ + ReferenceStrength referenceStrength() default ReferenceStrength.WEAK; + + /** The event service to subscribe to, default to the EventServiceLocator.SERVICE_NAME_EVENT_BUS. */ + String eventServiceName() default EventServiceLocator.SERVICE_NAME_EVENT_BUS; + + /** Determines the order in which this subscriber is called, default is FIFO.*/ + int priority() default 0; + + /** + * Whether or not to autocreate the event service if it doesn't exist on subscription, default is true. If the + * service needs to be created, it must have a default constructor. + */ + Class autoCreateEventServiceClass() default ThreadSafeEventService.class; +} diff --git a/src/main/java/org/scijava/event/bushe/annotation/ProxyTopicPatternSubscriber.java b/src/main/java/org/scijava/event/bushe/annotation/ProxyTopicPatternSubscriber.java new file mode 100644 index 000000000..c3a65d33d --- /dev/null +++ b/src/main/java/org/scijava/event/bushe/annotation/ProxyTopicPatternSubscriber.java @@ -0,0 +1,88 @@ +package org.scijava.event.bushe.annotation; + +import java.lang.reflect.Method; +import java.util.regex.Pattern; + +import org.scijava.event.bushe.EventService; + +/** + * A Proxy Subscriber for Annotations that use topic patterns + */ +public class ProxyTopicPatternSubscriber extends ProxyTopicSubscriber { + private Pattern pattern; + + /** + * Creates a proxy. This does not subscribe it. + * + * @param proxiedSubscriber the subscriber that the proxy will call when an event is published + * @param subscriptionMethod the method the proxy will call, must have an Object as it's first and only parameter + * @param referenceStrength if the subscription is weak, the reference from the proxy to the real subscriber should + * be too + * @param es the EventService we will be subscribed to, since we may need to unsubscribe when weak refs no longer + * exist + * @param patternString the Regular Expression for topics to subscribe to, used for unsubscription only + */ + public ProxyTopicPatternSubscriber(Object proxiedSubscriber, Method subscriptionMethod, + ReferenceStrength referenceStrength, EventService es, String patternString, + Pattern pattern, boolean veto) { + this(proxiedSubscriber, subscriptionMethod, referenceStrength, 0, es, patternString, pattern, veto); + } + + /** + * Creates a proxy. This does not subscribe it. + * + * @param proxiedSubscriber the subscriber that the proxy will call when an event is published + * @param subscriptionMethod the method the proxy will call, must have an Object as it's first and only parameter + * @param referenceStrength if the subscription is weak, the reference from the proxy to the real subscriber should + * be too + * @param es the EventService we will be subscribed to, since we may need to unsubscribe when weak refs no longer + * exist + * @param patternString the Regular Expression for topics to subscribe to, used for unsubscription only + */ + public ProxyTopicPatternSubscriber(Object proxiedSubscriber, Method subscriptionMethod, + ReferenceStrength referenceStrength, int priority, + EventService es, String patternString, Pattern pattern, boolean veto) { + super(proxiedSubscriber, subscriptionMethod, referenceStrength, priority, es, patternString, veto); + this.pattern = pattern; + } + + protected void unsubscribe(String topic) { + if (veto) { + getEventService().unsubscribeVetoListener(pattern, this); + } else { + getEventService().unsubscribe(pattern, this); + } + pattern = null; + } + + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + if (!super.equals(o)) { + return false; + } + + ProxyTopicPatternSubscriber that = (ProxyTopicPatternSubscriber) o; + + if (pattern != null ? !pattern.equals(that.pattern) : that.pattern != null) { + return false; + } + + return true; + } + + public String toString() { + return "ProxyTopicPatternSubscriber{" + + "pattern=" + pattern + + "veto=" + veto + + "realSubscriber=" + getProxiedSubscriber() + + ", subscriptionMethod=" + getSubscriptionMethod() + + ", referenceStrength=" + getReferenceStrength() + + ", eventService=" + getEventService() + + '}'; + } +} diff --git a/src/main/java/org/scijava/event/bushe/annotation/ProxyTopicSubscriber.java b/src/main/java/org/scijava/event/bushe/annotation/ProxyTopicSubscriber.java new file mode 100644 index 000000000..8b900c8fe --- /dev/null +++ b/src/main/java/org/scijava/event/bushe/annotation/ProxyTopicSubscriber.java @@ -0,0 +1,147 @@ +package org.scijava.event.bushe.annotation; + +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; + +import org.scijava.event.bushe.EventService; +import org.scijava.event.bushe.VetoTopicEventListener; + +/** A class that subscribes to an EventService on behalf of another object. + * This class is not used directly (though you could), but rather through the use of the + * {@link @org.scijava.event.bushe.annotation.EventTopicSubscriber}. Advanced EventBus + * users could use this class in Aspect-Oriented code. Consider using the + * {@link AnnotationProcessor} instead, it may suit your needs and be easier.*/ +public class ProxyTopicSubscriber extends AbstractProxySubscriber + implements org.scijava.event.bushe.EventTopicSubscriber, VetoTopicEventListener { + private String topic; + + /** + * Creates a proxy. This does not subscribe it. + * + * @param proxiedSubscriber the subscriber that the proxy will call when an event is published + * @param subscriptionMethod the method the proxy will call, must have an Object as it's first and only parameter + * @param referenceStrength if the subscription is weak, the reference from the proxy to the real subscriber should + * be too + * @param es the EventService we will be subscribed to, since we may need to unsubscribe when weak refs no longer + * exist + * @param topic the topic to subscribe to, used for unsubscription only + * @param veto if this proxy is for a veto subscriber + */ + public ProxyTopicSubscriber(Object proxiedSubscriber, Method subscriptionMethod, ReferenceStrength referenceStrength, + EventService es, String topic, boolean veto) { + this(proxiedSubscriber, subscriptionMethod, referenceStrength, 0, es, topic, veto); + } + + /** + * Creates a proxy. This does not subscribe it. + * + * @param proxiedSubscriber the subscriber that the proxy will call when an event is published + * @param subscriptionMethod the method the proxy will call, must have an Object as it's first and only parameter + * @param referenceStrength if the subscription is weak, the reference from the proxy to the real subscriber should + * be too + * @param es the EventService we will be subscribed to, since we may need to unsubscribe when weak refs no longer + * exist + * @param topic the topic to subscribe to, used for unsubscription only + * @param veto if this proxy is for a veto subscriber + */ + public ProxyTopicSubscriber(Object proxiedSubscriber, Method subscriptionMethod, ReferenceStrength referenceStrength, + int priority, EventService es, String topic, boolean veto) { + super(proxiedSubscriber, subscriptionMethod, referenceStrength, priority, es, veto); + this.topic = topic; + if (topic == null) { + throw new IllegalArgumentException("Proxies for topic subscribers require a non-null topic."); + } + Class[] params = subscriptionMethod.getParameterTypes(); + if (params == null || params.length != 2 || !String.class.equals(params[0]) || params[1].isPrimitive()) { + throw new IllegalArgumentException("The subscriptionMethod must have the two parameters, the first one must be a String and the second a non-primitive (Object or derivative)."); + } + } + + /** + * Handles the event publication by pushing it to the real subscriber's subscription Method. + * + * @param topic the topic on which the object is being published + * @param data The Object that is being published on the topic. + */ + public void onEvent(String topic, Object data) { + Object[] args = new Object[]{topic, data}; + Object obj = null; + Method subscriptionMethod = null; + try { + obj = getProxiedSubscriber(); + if (obj == null) { + return; + } + subscriptionMethod = getSubscriptionMethod(); + subscriptionMethod.invoke(obj, args); + } catch (IllegalAccessException e) { + String message = "IllegalAccessException when invoking annotated method from EventService publication. Topic:" + topic + ", data:" + data + ", subscriber:" + getProxiedSubscriber() + ", subscription Method=" + getSubscriptionMethod(); + retryReflectiveCallUsingAccessibleObject(args, subscriptionMethod, obj, e, message); + } catch (InvocationTargetException e) { + throw new RuntimeException("InvocationTargetException when invoking annotated method from EventService publication. Topic:" + topic + ", data:" + data + ", subscriber:" + getProxiedSubscriber() + ", subscription Method=" + getSubscriptionMethod(), e); + } + } + + + public boolean shouldVeto(String topic, Object data) { + Object[] args = new Object[]{topic, data}; + Object obj = null; + Method subscriptionMethod = null; + try { + obj = getProxiedSubscriber(); + if (obj == null) { + return false; + } + subscriptionMethod = getSubscriptionMethod(); + return Boolean.valueOf(subscriptionMethod.invoke(obj, args)+""); + } catch (IllegalAccessException e) { + String message = "IllegalAccessException when invoking annotated veto method from EventService publication. Topic:" + topic + ", data:" + data + ", subscriber:" + getProxiedSubscriber() + ", subscription Method=" + getSubscriptionMethod(); + return retryReflectiveCallUsingAccessibleObject(args, subscriptionMethod, obj, e, message); + } catch (InvocationTargetException e) { + throw new RuntimeException("InvocationTargetException when invoking annotated veto method from EventService publication. Topic:" + topic + ", data:" + data + ", subscriber:" + getProxiedSubscriber() + ", subscription Method=" + getSubscriptionMethod(), e); + } + } + + protected void unsubscribe(String topic) { + if (veto) { + getEventService().unsubscribeVetoListener(topic, this); + } else { + getEventService().unsubscribe(topic, this); + } + } + + @Override + public boolean equals(Object obj) { + if (obj instanceof ProxyTopicSubscriber) { + if (!super.equals(obj)) { + return false; + } + ProxyTopicSubscriber proxyTopicSubscriber = (ProxyTopicSubscriber) obj; + if (topic.equals(proxyTopicSubscriber.topic)) { + if (topic == null) { + return false; + } else { + if (!topic.equals(proxyTopicSubscriber.topic)) { + return false; + } + } + } + return true; + } else { + return false; + } + } + + + @Override + public String toString() { + return "ProxyTopicSubscriber{" + + "topic='" + topic + '\'' + + "veto='" + veto + '\'' + + "realSubscriber=" + getProxiedSubscriber() + + ", subscriptionMethod=" + getSubscriptionMethod() + + ", referenceStrength=" + getReferenceStrength() + + ", eventService=" + getEventService() + + '}'; + } +} diff --git a/src/main/java/org/scijava/event/bushe/annotation/ReferenceStrength.java b/src/main/java/org/scijava/event/bushe/annotation/ReferenceStrength.java new file mode 100644 index 000000000..739255b3f --- /dev/null +++ b/src/main/java/org/scijava/event/bushe/annotation/ReferenceStrength.java @@ -0,0 +1,11 @@ +package org.scijava.event.bushe.annotation; + +/** + * The two kinds of references that are used in the EventBus. + * + * @author Michael Bushe + */ +public enum ReferenceStrength { + WEAK, + STRONG +} diff --git a/src/main/java/org/scijava/event/bushe/annotation/RuntimeTopicEventSubscriber.java b/src/main/java/org/scijava/event/bushe/annotation/RuntimeTopicEventSubscriber.java new file mode 100644 index 000000000..fb54e4432 --- /dev/null +++ b/src/main/java/org/scijava/event/bushe/annotation/RuntimeTopicEventSubscriber.java @@ -0,0 +1,38 @@ +package org.scijava.event.bushe.annotation; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +import org.scijava.event.bushe.EventService; +import org.scijava.event.bushe.EventServiceLocator; +import org.scijava.event.bushe.ThreadSafeEventService; + +/** + * A subscriber to a topic that is determined at runtime. + */ + +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.METHOD) +public @interface RuntimeTopicEventSubscriber { + /** + * @return name of a method (that must return a String) and whose return value will become the subscription topic. + */ + String methodName() default "getTopicName"; + + /** @return Whether to subscribe weakly or strongly. */ + ReferenceStrength referenceStrength() default ReferenceStrength.WEAK; + + /** + * @return event service to subscribe to, default to the EventServiceLocator.SERVICE_NAME_EVENT_BUS. + */ + String eventServiceName() default EventServiceLocator.SERVICE_NAME_EVENT_BUS; + + /** @return Determines the order in which this subscriber is called, default is FIFO.*/ + int priority() default 0; + + /** + * @return Whether or not to autocreate the event service if it doesn't exist on subscription, default is true. If the service needs to be created, it must have a default constructor. + */ + Class autoCreateEventServiceClass() default ThreadSafeEventService.class; +} \ No newline at end of file diff --git a/src/main/java/org/scijava/event/bushe/annotation/RuntimeTopicPatternEventSubscriber.java b/src/main/java/org/scijava/event/bushe/annotation/RuntimeTopicPatternEventSubscriber.java new file mode 100644 index 000000000..8e92cf22d --- /dev/null +++ b/src/main/java/org/scijava/event/bushe/annotation/RuntimeTopicPatternEventSubscriber.java @@ -0,0 +1,38 @@ +package org.scijava.event.bushe.annotation; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +import org.scijava.event.bushe.EventService; +import org.scijava.event.bushe.EventServiceLocator; +import org.scijava.event.bushe.ThreadSafeEventService; + +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.METHOD) +public @interface RuntimeTopicPatternEventSubscriber { + /** + * @return name of a method (which should return a String) and whose return value will become the subscription topic. + */ + String methodName() default "getTopicPatternName"; + + /** @return Whether to subscribe weakly or strongly. */ + ReferenceStrength referenceStrength() default ReferenceStrength.WEAK; + + /** + * @return event service to subscribe to, default to the EventServiceLocator.SERVICE_NAME_EVENT_BUS. + */ + String eventServiceName() default EventServiceLocator.SERVICE_NAME_EVENT_BUS; + + /** @return Determines the order in which this subscriber is called, default is FIFO.*/ + int priority() default 0; + + /** @return Whether or not to subscribe to the exact class or a class hierarchy, defaults to class hierarchy (false). */ + boolean exact() default false; + + /** + * @return Whether or not to autocreate the event service if it doesn't exist on subscription, default is true. If the service needs to be created, it must have a default constructor. + */ + Class autoCreateEventServiceClass() default ThreadSafeEventService.class; +} diff --git a/src/main/java/org/scijava/event/bushe/annotation/UseTheClassOfTheAnnotatedMethodsParameter.java b/src/main/java/org/scijava/event/bushe/annotation/UseTheClassOfTheAnnotatedMethodsParameter.java new file mode 100644 index 000000000..dd7936fbd --- /dev/null +++ b/src/main/java/org/scijava/event/bushe/annotation/UseTheClassOfTheAnnotatedMethodsParameter.java @@ -0,0 +1,15 @@ +package org.scijava.event.bushe.annotation; + +/** + * This is a dummy class to get around a limitation with annotations. + *

      + * It's nice to use an @EventSubscriber annotation without any parameters. For example: + *

      + * @EventSubscriber public void onEvent(FooEvent event) { //do something } 
      In this case, the method should + * obviously be subscribed to the FooEvent class. Since the eventClass is not required, annotations require a default to + * be supplied. A default of null is not allowed by the compiler since it is not a class literal. A default of + * Object.class cannot be used, since it is legal to subscribe to Object. hence, this class was created which documents + * the issue and provides decent feedback when using an IDE's parameter insight. + */ +public final class UseTheClassOfTheAnnotatedMethodsParameter { +} diff --git a/src/main/java/org/scijava/event/bushe/annotation/VetoRuntimeTopicPatternSubscriber.java b/src/main/java/org/scijava/event/bushe/annotation/VetoRuntimeTopicPatternSubscriber.java new file mode 100644 index 000000000..7c7d2870c --- /dev/null +++ b/src/main/java/org/scijava/event/bushe/annotation/VetoRuntimeTopicPatternSubscriber.java @@ -0,0 +1,38 @@ +package org.scijava.event.bushe.annotation; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +import org.scijava.event.bushe.EventService; +import org.scijava.event.bushe.EventServiceLocator; +import org.scijava.event.bushe.ThreadSafeEventService; + +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.METHOD) +public @interface VetoRuntimeTopicPatternSubscriber { + /** + * @return name of a method (which should return a String) and whose return value will become the subscription topic. + */ + public abstract String methodName() default "getTopicPatternName"; + + /** @return Whether to subscribe weakly or strongly. */ + public abstract ReferenceStrength referenceStrength() default ReferenceStrength.WEAK; + + /** + * @return event service to subscribe to, default to the EventServiceLocator.SERVICE_NAME_EVENT_BUS. + */ + public abstract String eventServiceName() default EventServiceLocator.SERVICE_NAME_EVENT_BUS; + + /** @return Determines the order in which this subscriber is called, default is FIFO.*/ + public abstract int priority() default 0; + + /** @return Whether or not to subscribe to the exact class or a class hierarchy, defaults to class hierarchy (false). */ + public abstract boolean exact() default false; + + /** + * @return Whether or not to autocreate the event service if it doesn't exist on subscription, default is true. If the service needs to be created, it must have a default constructor. + */ + public abstract Class autoCreateEventServiceClass() default ThreadSafeEventService.class; +} diff --git a/src/main/java/org/scijava/event/bushe/annotation/VetoRuntimeTopicSubscriber.java b/src/main/java/org/scijava/event/bushe/annotation/VetoRuntimeTopicSubscriber.java new file mode 100644 index 000000000..614de1382 --- /dev/null +++ b/src/main/java/org/scijava/event/bushe/annotation/VetoRuntimeTopicSubscriber.java @@ -0,0 +1,38 @@ +package org.scijava.event.bushe.annotation; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +import org.scijava.event.bushe.EventService; +import org.scijava.event.bushe.EventServiceLocator; +import org.scijava.event.bushe.ThreadSafeEventService; + +/** + * A veto subscriber to a topic that is determined at runtime. + */ + +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.METHOD) +public @interface VetoRuntimeTopicSubscriber { + /** + * @return name of a method (that must return a String) and whose return value will become the subscription topic. + */ + public abstract String methodName() default "getTopicName"; + + /** @return Whether to subscribe weakly or strongly. */ + public abstract ReferenceStrength referenceStrength() default ReferenceStrength.WEAK; + + /** + * @return event service to subscribe to, default to the EventServiceLocator.SERVICE_NAME_EVENT_BUS. + */ + public abstract String eventServiceName() default EventServiceLocator.SERVICE_NAME_EVENT_BUS; + + /** @return Determines the order in which this subscriber is called, default is FIFO.*/ + public abstract int priority() default 0; + + /** + * @return Whether or not to autocreate the event service if it doesn't exist on subscription, default is true. If the service needs to be created, it must have a default constructor. + */ + public abstract Class autoCreateEventServiceClass() default ThreadSafeEventService.class; +} diff --git a/src/main/java/org/scijava/event/bushe/annotation/VetoSubscriber.java b/src/main/java/org/scijava/event/bushe/annotation/VetoSubscriber.java new file mode 100644 index 000000000..67e01db4b --- /dev/null +++ b/src/main/java/org/scijava/event/bushe/annotation/VetoSubscriber.java @@ -0,0 +1,69 @@ +package org.scijava.event.bushe.annotation; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +import org.scijava.event.bushe.EventService; +import org.scijava.event.bushe.EventServiceLocator; +import org.scijava.event.bushe.ThreadSafeEventService; + +/** + * An Annotation for adding VetoListener subscriptions to EventService Events. + *

      + * This annotation simplifies much of the repetitive boilerplate used for adding veto listeners + * (which in EventBus 2.0 will be called VetoSubscribers, thus this annotation name difference) + * to EventService Events. Example: + *

      + *

      + * public class MyAppController {
      + *   public MyAppController {
      + *       AnnotationProcessor.process(this);//this line can be avoided with a compile-time tool or an Aspect
      + *   }
      + *   @EventSubscriber(eventClass=AppAppClosingEvent.class)
      + *   public void onAppClosingEvent(AppClosingEvent appClosingEvent) {
      + *      //close connections, close windows
      + *   }
      + * }
      + *
      + * public class MyDocumentController {
      + *   @VetoSubscriber(eventClass=AppAppClosingEvent.class)
      + *   public boolean ensureDocumentIsSaved(AppAppClosingEvent appClosingEvent) {
      + *      if (docHasUnsavedChanges()) {
      + *         boolean answer = MyModalDialog.show("Are you sure you want to close and lose your changes?");
      + *         if (answer == StandardButtonValues.Cancel) {
      + *            //stop processing this event
      + *            return true;
      + *         }
      + *      }
      + *      //It's OK to close
      + *      return false;
      + *   }
      + * }
      + * 
      + */ +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.METHOD) +public @interface VetoSubscriber { + /** The class to subscribe to, if not specified, a subscription is created for the type of the method parameter. */ + public abstract Class eventClass() default UseTheClassOfTheAnnotatedMethodsParameter.class; + + /** Determines the order in which this veto subscriber is called, default is FIFO.*/ + public abstract int priority() default 0; + + /** Whether or not to subscribe to the exact class or a class hierarchy, defaults to class hierarchy (false). */ + public abstract boolean exact() default false; + + /** Whether to subscribe weakly or strongly. */ + public abstract ReferenceStrength referenceStrength() default ReferenceStrength.WEAK; + + /** The event service to subscribe to, default to the EventServiceLocator.SERVICE_NAME_EVENT_BUS. */ + public abstract String eventServiceName() default EventServiceLocator.SERVICE_NAME_EVENT_BUS; + + /** + * Whether or not to autocreate the event service if it doesn't exist on subscription, default is true. If the + * service needs to be created, it must have a default constructor. + */ + public abstract Class autoCreateEventServiceClass() default ThreadSafeEventService.class; +} diff --git a/src/main/java/org/scijava/event/bushe/annotation/VetoTopicPatternSubscriber.java b/src/main/java/org/scijava/event/bushe/annotation/VetoTopicPatternSubscriber.java new file mode 100644 index 000000000..6fddb9b02 --- /dev/null +++ b/src/main/java/org/scijava/event/bushe/annotation/VetoTopicPatternSubscriber.java @@ -0,0 +1,66 @@ +package org.scijava.event.bushe.annotation; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +import org.scijava.event.bushe.EventService; +import org.scijava.event.bushe.EventServiceLocator; +import org.scijava.event.bushe.ThreadSafeEventService; + +/** + * An Annotation for adding VetoTopicPatternListener subscriptions to EventService Events. + *

      + * This annotation simplifies much of the repetitive boilerplate used for adding veto topic pattern listeners + * (which in EventBus 2.0 will be called VetoTopicPatternSubscribers, thus this annotation name difference) + * to EventService Events. Example: + *

      + *

      + * public class MyAppController {
      + *   public MyAppController {
      + *       AnnotationProcessor.process(this);//this line can be avoided with a compile-time tool or an Aspect
      + *   }
      + *   @EvenTopicSubscriber(topic="App.Close.*")
      + *   public void onAppClosingEvent(String topic, Object payload) {
      + *      //close connections, close windows
      + *   }
      + * }
      + *
      + * public class MyDocumentController {
      + *   @VetoTopicSubscriber(topic="App.Close.*")
      + *   public boolean ensureDocumentIsSaved(String topic, Object payload) {
      + *      if (docHasUnsavedChanges()) {
      + *         boolean answer = MyModalDialog.show("Are you sure you want to close and lose your changes?");
      + *         if (answer == StandardButtonValues.Cancel) {
      + *            //stop processing this event
      + *            return true;
      + *         }
      + *      }
      + *      //It's OK to close
      + *      return false;
      + *   }
      + * }
      + * 
      + */ +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.METHOD) +public @interface VetoTopicPatternSubscriber { + /** The topic to subscribe to */ + public abstract String topicPattern(); + + /** Determines the order in which this veto subscriber is called, default is FIFO.*/ + public abstract int priority() default 0; + + /** Whether to subscribe weakly or strongly. */ + public abstract ReferenceStrength referenceStrength() default ReferenceStrength.WEAK; + + /** The event service to subscribe to, default to the EventServiceLocator.SERVICE_NAME_EVENT_BUS. */ + public abstract String eventServiceName() default EventServiceLocator.SERVICE_NAME_EVENT_BUS; + + /** + * Whether or not to autocreate the event service if it doesn't exist on subscription, default is true. If the + * service needs to be created, it must have a default constructor. + */ + public abstract Class autoCreateEventServiceClass() default ThreadSafeEventService.class; +} diff --git a/src/main/java/org/scijava/event/bushe/annotation/VetoTopicSubscriber.java b/src/main/java/org/scijava/event/bushe/annotation/VetoTopicSubscriber.java new file mode 100644 index 000000000..1ff069b69 --- /dev/null +++ b/src/main/java/org/scijava/event/bushe/annotation/VetoTopicSubscriber.java @@ -0,0 +1,66 @@ +package org.scijava.event.bushe.annotation; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +import org.scijava.event.bushe.EventService; +import org.scijava.event.bushe.EventServiceLocator; +import org.scijava.event.bushe.ThreadSafeEventService; + +/** + * An Annotation for adding VetoTopicListener subscriptions to EventService Events. + *

      + * This annotation simplifies much of the repetitive boilerplate used for adding veto topic listeners + * (which in EventBus 2.0 will be called VetoTopicSubscribers, thus this annotation name difference) + * to EventService Events. Example: + *

      + *

      + * public class MyAppController {
      + *   public MyAppController {
      + *       AnnotationProcessor.process(this);//this line can be avoided with a compile-time tool or an Aspect
      + *   }
      + *   @EvenTopicSubscriber(topic="App.Close")
      + *   public void onAppClosingEvent(String topic, Object payload) {
      + *      //close connections, close windows
      + *   }
      + * }
      + *
      + * public class MyDocumentController {
      + *   @VetoTopicSubscriber(topic="App.Close")
      + *   public boolean ensureDocumentIsSaved(String topic, Object payload) {
      + *      if (docHasUnsavedChanges()) {
      + *         boolean answer = MyModalDialog.show("Are you sure you want to close and lose your changes?");
      + *         if (answer == StandardButtonValues.Cancel) {
      + *            //stop processing this event
      + *            return true;
      + *         }
      + *      }
      + *      //It's OK to close
      + *      return false;
      + *   }
      + * }
      + * 
      + */ +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.METHOD) +public @interface VetoTopicSubscriber { + /** The topic to subscribe to */ + String topic(); + + /** Determines the order in which this veto subscriber is called, default is FIFO.*/ + public abstract int priority() default 0; + + /** Whether to subscribe weakly or strongly. */ + public abstract ReferenceStrength referenceStrength() default ReferenceStrength.WEAK; + + /** The event service to subscribe to, default to the EventServiceLocator.SERVICE_NAME_EVENT_BUS. */ + public abstract String eventServiceName() default EventServiceLocator.SERVICE_NAME_EVENT_BUS; + + /** + * Whether or not to autocreate the event service if it doesn't exist on subscription, default is true. If the + * service needs to be created, it must have a default constructor. + */ + public abstract Class autoCreateEventServiceClass() default ThreadSafeEventService.class; +} diff --git a/src/main/java/org/scijava/event/bushe/exception/SwingException.java b/src/main/java/org/scijava/event/bushe/exception/SwingException.java new file mode 100644 index 000000000..dfc3a048d --- /dev/null +++ b/src/main/java/org/scijava/event/bushe/exception/SwingException.java @@ -0,0 +1,128 @@ +/** + * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com + * + * Licensed 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.scijava.event.bushe.exception; + +import java.io.PrintStream; +import java.io.PrintWriter; + +/** + * Aids in troubleshooting Swing application exceptions or any exception where the caller's stack may not be the + * exception stack (such as producer-consumer patterns that cross threads). + *

      + * Swing exceptions usually occur on the Swing Event Dispatch Thread, and often occur when code puts events on the EDT. + * This code is often in a non-EDT thread such as a thread that is receiving data from a server. If the non-EDT threads + * puts a call on the EDT and that EDT call causes and exception, the stack trace of the exception is lost, and it often + * difficult or impossible to determine where the non-EDT call came from. + *

      + * This Exception class is used to handle exceptions that occur when events are posted on the Swing EDT or occur on + * another thread from the Swing EDT. It includes a "swing" call stack to record from where the event occurred, and + * overrides so that the exception and the swing calling stack print nicely to logs. + *

      + * The swing calling stack is different from the cause of the exception since it is gathered before the exception occurs + * in a different stack from the cause and used after the exception in a new thread occurs. + * + * @author Michael Bushe michael@bushe.com + * @todo in SwingUtils, make an invokeLater() method that saves the calling stack and catches all exceptions from a + * subsequent call to SwingUtilities.invokeLater(), then throws a Swing Exception so the calling stack is saved. + */ +public class SwingException extends Exception { + protected StackTraceElement[] callingStackTrace; + + /** Default constructor */ + public SwingException() { + super(); + } + + /** + * Constructor for compatibility with Exception. Use ClientException(String, Throwable, StackTraceElement[]) + * instead + */ + public SwingException(String message) { + super(message); + } + + /** Constructor for compatibility with Exception Use ClientException(String, Throwable, StackTraceElement[]) instead */ + public SwingException(Throwable cause) { + super(cause); + } + + /** Constructor for compatibility with Exception Use ClientException(String, Throwable, StackTraceElement[]) instead */ + public SwingException(String message, Throwable cause) { + super(message, cause); + } + + /** + * Preferred constructor. + *

      + * + * @param message The message of exception + * @param cause The cause of the exception in the same call stack + * @param callingStack the stack trace that the client used to call the exception to occur. + */ + public SwingException(String message, Throwable cause, StackTraceElement[] callingStack) { + super(message, cause); + setCallingStack(callingStack); + } + + /** + * Swing exceptions often have two stacks - one thread causes the posting of an action on another thread - usually + * the Swing EDT thread. The other is the stack of the actual thread the exception occurred on, the exception occurs + * after the post. + * + * @param swingCallingStack the stack trace that the client used to cause the exception to occur. + */ + public void setCallingStack(StackTraceElement[] swingCallingStack) { + this.callingStackTrace = swingCallingStack; + } + + /** + * Client exceptions often have two stacks - one thread causes the posting of an action on another thread - usually + * the Swing EDT thread. The other is the stack of the actual thread the exception occurred on. + * + * @return the stack trace that the client used to cause the exception to occur. + */ + public StackTraceElement[] getCallingStack() { + return callingStackTrace; + } + + /** + * Calls printWriter(ps, true) + * + * @param ps the print stream + */ + public void printStackTrace(PrintStream ps) { + PrintWriter pw = new PrintWriter(ps, true); + printStackTrace(pw); + } + + /** + * Prints the calling stack and the exception stack trace. + * + * @param pw + */ + public void printStackTrace(PrintWriter pw) { + pw.println(this); + if (callingStackTrace != null) { + pw.println("Calling stack:"); + for (int i = 0; i < callingStackTrace.length; i++) { + pw.println("\tat " + callingStackTrace[i]); + } + pw.println("Stack after call:"); + } + super.printStackTrace(pw); + } +} + diff --git a/src/main/java/org/scijava/event/bushe/generics/TypeReference.java b/src/main/java/org/scijava/event/bushe/generics/TypeReference.java new file mode 100644 index 000000000..2befb0a41 --- /dev/null +++ b/src/main/java/org/scijava/event/bushe/generics/TypeReference.java @@ -0,0 +1,52 @@ +package org.scijava.event.bushe.generics; + +import java.lang.reflect.Type; +import java.lang.reflect.Constructor; +import java.lang.reflect.ParameterizedType; +import java.lang.reflect.InvocationTargetException; + +/** + * Courtesy of Neil Gafter's blog. + * Thanks to Curt Cox for the pointer. + */ +public abstract class TypeReference { + + private final Type type; + private volatile Constructor constructor; + + protected TypeReference() { + Type superclass = getClass().getGenericSuperclass(); + if (superclass instanceof Class) { + throw new RuntimeException("Missing type parameter."); + } + this.type = ((ParameterizedType) superclass).getActualTypeArguments()[0]; + } + + /** + * @return a new instance of {@code T} using the default, no-arg + * constructor. + * @throws IllegalAccessException on security reflection issues + * @throws NoSuchMethodException there's not getRawType on the type + * @throws java.lang.reflect.InvocationTargetException if a reflective call causes an exception in the underlying instance + * @throws InstantiationException if the instance cannot be instantiated + */ + @SuppressWarnings("unchecked") + public T newInstance() + throws NoSuchMethodException, IllegalAccessException, + InvocationTargetException, InstantiationException { + if (constructor == null) { + Class rawType = type instanceof Class + ? (Class) type + : (Class) ((ParameterizedType) type).getRawType(); + constructor = rawType.getConstructor(); + } + return (T) constructor.newInstance(); + } + + /** + * @return the referenced type. + */ + public Type getType() { + return this.type; + } +} diff --git a/src/test/java/org/scijava/event/bushe/BadEventService.java b/src/test/java/org/scijava/event/bushe/BadEventService.java new file mode 100644 index 000000000..2046821a2 --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/BadEventService.java @@ -0,0 +1,10 @@ +package org.scijava.event.bushe; + +public class BadEventService extends ThreadSafeEventService { + + + /** @see org.scijava.event.bushe.EventService#subscribe(String,org.scijava.event.bushe.EventTopicSubscriber) */ + public boolean subscribe(String topic, EventTopicSubscriber eh) { + throw new RuntimeException("For testing"); + } +} diff --git a/src/test/java/org/scijava/event/bushe/EBTestCounter.java b/src/test/java/org/scijava/event/bushe/EBTestCounter.java new file mode 100644 index 000000000..8ebf75160 --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/EBTestCounter.java @@ -0,0 +1,10 @@ +package org.scijava.event.bushe; + +/** + * @author Michael Bushe + * @since Nov 19, 2005 11:12:35 PM + */ +public class EBTestCounter { + public int eventsHandledCount; + public int subscribeExceptionCount; +} diff --git a/src/test/java/org/scijava/event/bushe/EDTUtil.java b/src/test/java/org/scijava/event/bushe/EDTUtil.java new file mode 100644 index 000000000..c74d4846f --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/EDTUtil.java @@ -0,0 +1,36 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +package org.scijava.event.bushe; + +import java.awt.EventQueue; +import java.awt.Toolkit; + +/** + * + * @author Michael Bushe + */ +public class EDTUtil { + + /** + * Since we are using the event bus from a non-awt thread, stay alive for a sec to give time for the EDT to start and + * post the message + */ + public static void waitForEDT() { + EventQueue eventQueue = Toolkit.getDefaultToolkit().getSystemEventQueue(); + long start = System.currentTimeMillis(); + do { + //wait at least once - plenty of time for the event sent to the queue to get there + long now = System.currentTimeMillis(); + if (now > start + (1000*5) ) { + throw new RuntimeException("Waited too long for the EDT to finish."); + } + try { + Thread.sleep(100); + } catch (Throwable e) { + } + } while(eventQueue.peekEvent() != null); + } +} diff --git a/src/test/java/org/scijava/event/bushe/EventServiceLocatorTestCase.java b/src/test/java/org/scijava/event/bushe/EventServiceLocatorTestCase.java new file mode 100644 index 000000000..8fb87e534 --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/EventServiceLocatorTestCase.java @@ -0,0 +1,32 @@ +package org.scijava.event.bushe; + +import junit.framework.TestCase; + +/** + * Cleans out the event service locators before each test + */ +public class EventServiceLocatorTestCase extends TestCase { + public EventServiceLocatorTestCase(String name) { + super(name); + } + + public void testEmptyTestCaseToAvoidWarning() { + + } + + @Override + public void setUp() throws Exception { + clearEventServiceLocator(); + } + + public static void clearEventServiceLocator() { + System.clearProperty(EventServiceLocator.SWING_EVENT_SERVICE_CLASS); + System.clearProperty(EventServiceLocator.EVENT_BUS_CLASS); + EventServiceLocator.clearAll(); + } + + @Override + protected void tearDown() throws Exception { + clearEventServiceLocator(); + } +} diff --git a/src/test/java/org/scijava/event/bushe/SubscriberForTest.java b/src/test/java/org/scijava/event/bushe/SubscriberForTest.java new file mode 100644 index 000000000..2fac88e57 --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/SubscriberForTest.java @@ -0,0 +1,43 @@ +package org.scijava.event.bushe; + +import java.util.Date; + +/** + * @author Michael Bushe + * @since Nov 19, 2005 11:01:06 PM + */ +public class SubscriberForTest implements EventSubscriber { + private boolean throwException; + private Long waitTime; + private EBTestCounter testDefaultEventService; + Date callTime = null; + + public SubscriberForTest(EBTestCounter testDefaultEventService, Long waitTime) { + this.testDefaultEventService = testDefaultEventService; + this.waitTime = waitTime; + } + + public SubscriberForTest(EBTestCounter testDefaultEventService, boolean throwException) { + this.testDefaultEventService = testDefaultEventService; + this.throwException = throwException; + } + + public void onEvent(Object evt) { + callTime = new Date(); + if (waitTime != null) { + try { + Thread.sleep(waitTime.longValue()); + } catch (InterruptedException e) { + } + } + testDefaultEventService.eventsHandledCount++; + if (throwException) { + testDefaultEventService.subscribeExceptionCount++; + throw new IllegalArgumentException(); + } + } + + public boolean equals(Object obj) { + return (this == obj); + } +} diff --git a/src/test/java/org/scijava/event/bushe/TestContainerEventService.java b/src/test/java/org/scijava/event/bushe/TestContainerEventService.java new file mode 100644 index 000000000..5c7c6a322 --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/TestContainerEventService.java @@ -0,0 +1,218 @@ +/** + * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com + * + * Licensed 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.scijava.event.bushe; + +import junit.framework.TestCase; + +import javax.swing.*; +import java.awt.*; +import java.util.ArrayList; + +/** The DefaultEventService is NOT Swing-safe! But it's easier to test... */ +public class TestContainerEventService extends TestCase { + private ArrayList subscribedEvents; + private Object aSource = new Object(); + private JFrame frame; + private JPanel panel; + private Object lastEventObject; + + public TestContainerEventService(String name) { + super(name); + } + + protected void setUp() throws Exception { + subscribedEvents = new ArrayList(); + frame = new JFrame(); + panel = new JPanel(); + frame.setContentPane(panel); + } + + public void testContainerEventServiceFinder() { + JButton button = new JButton("Foo"); + panel.add(button); + JButton barButton = new JButton("Bar"); + panel.add(barButton); + EventService es = ContainerEventServiceFinder.getEventService(button); + assertTrue(EventBus.getGlobalEventService() != es); + EventService esBar = ContainerEventServiceFinder.getEventService(barButton); + assertEquals(esBar, es); + assertEquals(0, subscribedEvents.size()); + es.subscribe("FooTopic", new EventTopicSubscriber() { + public void onEvent(String topic, Object evt) { + subscribedEvents.add(evt); + } + }); + esBar.publish("FooTopic", "Foo"); + EDTUtil.waitForEDT(); + assertEquals(1, subscribedEvents.size()); + subscribedEvents.clear(); + Point location = frame.getLocation(); + frame.setLocation(33, 33); + EDTUtil.waitForEDT(); + assertTrue(subscribedEvents.size() == 0); + } + + public void testContainerEventServiceSupplier() { + JButton button = new JButton("Foo"); + JPanel subPanel = new JPanel(); + subPanel.add(button); + panel.add(subPanel); + JButton barButton = new JButton("Bar"); + JPanel subPanel2 = new ContainerEventServiceSupplierPanel(); + subPanel2.add(barButton); + panel.add(subPanel2); + EventService es = ContainerEventServiceFinder.getEventService(button); + assertTrue(EventBus.getGlobalEventService() != es); + EventService esBar = ContainerEventServiceFinder.getEventService(barButton); + assertTrue(esBar != es); + assertEquals(0, subscribedEvents.size()); + es.subscribe("FooTopic", new EventTopicSubscriber() { + public void onEvent(String topic, Object evt) { + subscribedEvents.add(evt); + } + }); + esBar.publish("FooTopic", "Foo"); + EDTUtil.waitForEDT(); + assertEquals(0, subscribedEvents.size()); + } + + public void testContainerEventServiceRegistrar() { + //Set the lastEventObject whenever the event fires on the right Container Event Service + EventTopicSubscriber buttonContainerTopicSubscriber = new EventTopicSubscriber() { + public void onEvent(String topic, Object data) { + System.out.println("topic=" + topic + ", data=" + data); + setLastEventObject(data); + } + }; + //Set the lastEventObject whenever the event fires on the right Container Event Service + VetoTopicEventListener buttonContainerVetoTopicSubscriber = new VetoTopicEventListener() { + public boolean shouldVeto(String topic, Object data) { + return "VetoMe".equals(data); + } + }; + //Set the lastEventObject whenever the event fires on the right Container Event Service + EventSubscriber buttonContainerSubscriber = new EventSubscriber() { + public void onEvent(Object data) { + System.out.println("class=" + data); + setLastEventObject(data); + } + }; + //Set the lastEventObject whenever the event fires on the right Container Event Service + VetoEventListener buttonContainerVetoSubscriber = new VetoEventListener() { + public boolean shouldVeto(Object data) { + return "VetoMe".equals(data.toString()); + } + }; + JButton button = new JButton("Foo"); + + ContainerEventServiceRegistrar reg = new ContainerEventServiceRegistrar(button, buttonContainerTopicSubscriber, + "RegEvent"); + EventService es = reg.getContainerEventService(); + assertTrue(es != null); + + ContainerEventServiceRegistrar reg2 = new ContainerEventServiceRegistrar(button, buttonContainerVetoTopicSubscriber, + "RegEvent"); + EventService es4reg2 = reg2.getContainerEventService(); + assertTrue(es4reg2 != null); + + ContainerEventServiceRegistrar reg3 = new ContainerEventServiceRegistrar(button, buttonContainerSubscriber, + String.class); + EventService es4reg3 = reg3.getContainerEventService(); + assertTrue(es4reg3 != null); + + ContainerEventServiceRegistrar reg4 = new ContainerEventServiceRegistrar(button, buttonContainerVetoSubscriber, + String.class); + EventService es4reg4 = reg4.getContainerEventService(); + assertTrue(es4reg4 != null); + + //Publishing on the global event bus should not have an effect + EventBus.publish("RegEvent", "WrongBus"); + assertEquals(getLastEventObject(), null); + + //Make a container that has another container inside it that supplies a container event service + JPanel subPanel = new JPanel(); + subPanel.add(button); + ContainerEventServiceSupplierPanel subPanel2 = new ContainerEventServiceSupplierPanel(); + panel.add(subPanel); + panel.add(subPanel2); + EventService es2 = reg.getContainerEventService(); + //the registrar kept up with the move + assertTrue(es2 != es); + + EventBus.publish("RegEvent", "WrongBus"); + assertEquals(getLastEventObject(), null); + EventBus.publish("StringClassEvent"); + assertEquals(getLastEventObject(), null); + + EventService topPanelES = ContainerEventServiceFinder.getEventService(panel); + + topPanelES.publish("RegEvent", "TopLevelBus"); + EDTUtil.waitForEDT(); + assertEquals("TopLevelBus", getLastEventObject()); + + topPanelES.publish("Don'tVetoMe"); + EDTUtil.waitForEDT(); + assertEquals("Don'tVetoMe", getLastEventObject()); + + topPanelES.publish("VetoMe"); + EDTUtil.waitForEDT(); + assertEquals("Don'tVetoMe", getLastEventObject());//veto worked + + topPanelES.publish("RegEvent", "TopLevelBus"); + EDTUtil.waitForEDT(); + assertEquals("TopLevelBus", getLastEventObject()); + + EventService subPanel2ES = subPanel2.getContainerEventService(); + subPanel2ES.publish("RegEvent", "SuppliedBus"); + EDTUtil.waitForEDT(); + assertEquals("TopLevelBus", getLastEventObject());//still + + subPanel2.add(button); + EDTUtil.waitForEDT(); + subPanel2ES.publish("RegEvent", "SuppliedBus"); + EDTUtil.waitForEDT(); + assertEquals("SuppliedBus", getLastEventObject());//detected move + + subPanel2ES.publish("RegEvent", "VetoMe"); + EDTUtil.waitForEDT(); + assertEquals("SuppliedBus", getLastEventObject());//veto moved + + subPanel.add(button); + topPanelES.publish("RegEvent", "TopLevelBus"); + EDTUtil.waitForEDT(); + assertEquals("TopLevelBus", getLastEventObject()); + + subPanel2ES.publish("RegEvent", "SuppliedBus"); + EDTUtil.waitForEDT(); + assertEquals("TopLevelBus", getLastEventObject()); + } + + private synchronized void setLastEventObject(Object data) { + lastEventObject = data; + } + + public synchronized Object getLastEventObject() { + return lastEventObject; + } + + class ContainerEventServiceSupplierPanel extends JPanel implements ContainerEventServiceSupplier { + private EventService es = new SwingEventService(); + + public EventService getContainerEventService() { + return es; + } + } +} diff --git a/src/test/java/org/scijava/event/bushe/TestDefaultEventService.java b/src/test/java/org/scijava/event/bushe/TestDefaultEventService.java new file mode 100644 index 000000000..05f2d3ac2 --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/TestDefaultEventService.java @@ -0,0 +1,1397 @@ +/** + * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com + * + * Licensed 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.scijava.event.bushe; + +import java.io.Serializable; +import java.util.List; +import java.util.Collection; +import java.util.Map; +import java.util.regex.Pattern; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Type; + +import java.awt.Container; +import java.awt.Component; +import javax.swing.JComponent; + +import junit.framework.TestCase; + +import org.scijava.event.bushe.generics.DataRequestEvent; +import org.scijava.event.bushe.generics.TypeReference; + +/** The DefaultEventService is NOT Swing-safe! But it's easier to test... */ +public class TestDefaultEventService extends TestCase { + + private ThreadSafeEventService eventService = null; + private EventSubscriber eventSubscriber = null; + private EventTopicSubscriber eventTopicSubscriber; + private SubscriberTimingEvent timing; + private EBTestCounter testCounter = new EBTestCounter(); + + public TestDefaultEventService(String name) { + super(name); + } + + protected void setUp() throws Exception { + eventService = new ThreadSafeEventService(null, false); + EventServiceLocatorTestCase.clearEventServiceLocator(); + } + + protected void tearDown() throws Exception { + eventService = null; + EventServiceLocatorTestCase.clearEventServiceLocator(); + } + + private EventServiceEvent createEvent() { + return new EventServiceEvent() { + public Object getSource() { + return ""; + } + }; + } + + private Class getEventClass() { + return createEvent().getClass(); + } + + private EventSubscriber createEventSubscriber(boolean throwException) { + return new SubscriberForTest(testCounter, throwException); + } + + private EventTopicSubscriber createEventTopicSubscriber(boolean throwException) { + return new TopicSubscriberForTest(testCounter, throwException); + } + + private EventSubscriber createEventSubscriber(Long waitTime) { + return new SubscriberForTest(testCounter, waitTime); + } + + private EventSubscriber getEventSubscriber() { + return getEventSubscriber(true); + } + + private EventSubscriber getEventSubscriber(boolean throwException) { + if (eventSubscriber == null) { + eventSubscriber = createEventSubscriber(throwException); + } + return eventSubscriber; + } + + private EventTopicSubscriber getEventTopicSubscriber() { + if (eventTopicSubscriber == null) { + eventTopicSubscriber = createEventTopicSubscriber(false); + } + return eventTopicSubscriber; + } + + public void testTyping() { + EventSubscriber subscriber = createEventSubscriber(false); + + Double doub = 3.14; + Number numb = doub; + eventService.subscribe(Number.class, subscriber); + + testCounter.eventsHandledCount = 0; + testCounter.subscribeExceptionCount = 0; + eventService.publish(doub); + assertEquals("testPublish(total)", 1, testCounter.eventsHandledCount); + eventService.publish(numb); + assertEquals("testPublish(total)", 2, testCounter.eventsHandledCount); + eventService.unsubscribe(Number.class, subscriber); + eventService.subscribe(Double.class, subscriber); + testCounter.eventsHandledCount = 0; + testCounter.subscribeExceptionCount = 0; + eventService.publish(doub); + assertEquals("testPublish(total)", 1, testCounter.eventsHandledCount); + eventService.publish(numb); + assertEquals("testPublish(total)", 2, testCounter.eventsHandledCount); + } + + public void testSubscribe() { + boolean actualReturn; + EventSubscriber subscriber = createEventSubscriber(false); + + actualReturn = eventService.subscribe(getEventClass(), subscriber); + assertTrue("testSubscribe(new subscriber)", actualReturn); + + actualReturn = eventService.subscribe(getEventClass(), subscriber); + assertFalse("testSubscribe(duplicate subscriber)", actualReturn); + + testCounter.eventsHandledCount = 0; + testCounter.subscribeExceptionCount = 0; + eventService.publish(createEvent()); + + //The test passes if 1 subscribers completed and 0 subscribers threw exception. + assertEquals("testPublish(total)", 1, testCounter.eventsHandledCount); + assertEquals("testPublish(exceptions)", 0, testCounter.subscribeExceptionCount); + + try { + actualReturn = eventService.subscribe((Class) null, getEventSubscriber()); + fail("subscribeStrongly(null, x) should have thrown exception"); + } catch (Exception e) { + } + + try { + actualReturn = eventService.subscribe(getEventClass(), null); + fail("subscribeStrongly(x, null) should have thrown exception"); + } catch (Exception e) { + } + + } + + public void testSubscribeOrder() { + boolean actualReturn; + SubscriberForTest subscriber1 = (SubscriberForTest) createEventSubscriber(new Long(100)); + SubscriberForTest subscriber2 = (SubscriberForTest) createEventSubscriber(new Long(100)); + SubscriberForTest subscriber3 = (SubscriberForTest) createEventSubscriber(new Long(100)); + + actualReturn = eventService.subscribe(getEventClass(), subscriber1); + actualReturn = eventService.subscribe(getEventClass(), subscriber2); + actualReturn = eventService.subscribe(getEventClass(), subscriber3); + + eventService.publish(createEvent()); + + assertTrue(subscriber1.callTime.before(subscriber2.callTime)); + assertTrue(subscriber2.callTime.before(subscriber3.callTime)); + + actualReturn = eventService.subscribe(getEventClass(), subscriber1); + eventService.publish(createEvent()); + + assertTrue(subscriber2.callTime.before(subscriber3.callTime)); + assertTrue(subscriber3.callTime.before(subscriber1.callTime)); + + List subscribers = eventService.getSubscribers(getEventClass()); + assertEquals(3, subscribers.size()); + for (int i = 0; i < subscribers.size(); i++) { + EventSubscriber subscriber = (EventSubscriber) subscribers.get(i); + eventService.unsubscribe(getEventClass(), subscriber); + } + eventService.subscribe(getEventClass(), (EventSubscriber) subscribers.get(1)); + eventService.subscribe(getEventClass(), (EventSubscriber) subscribers.get(0)); + eventService.subscribe(getEventClass(), (EventSubscriber) subscribers.get(2)); + eventService.publish(createEvent()); + assertTrue(subscriber3.callTime.before(subscriber2.callTime)); + assertTrue(subscriber2.callTime.before(subscriber1.callTime)); + } + + public void testSubscribeWeakly() { + boolean actualReturn; + EventSubscriber subscriber = createEventSubscriber(false); + + actualReturn = eventService.subscribe(getEventClass(), subscriber); + assertTrue("testSubscribeWeakly(new subscriber)", actualReturn); + + actualReturn = eventService.subscribe(getEventClass(), subscriber); + assertFalse("testSubscribe(duplicate subscriber)", actualReturn); + + testCounter.eventsHandledCount = 0; + testCounter.subscribeExceptionCount = 0; + eventService.publish(createEvent()); + + //The test passes if 1 subscribers completed and 0 subscribers threw exception. + assertEquals("testPublish(total)", 1, testCounter.eventsHandledCount); + assertEquals("testPublish(exceptions)", 0, testCounter.subscribeExceptionCount); + subscriber = null; + System.gc(); + testCounter.eventsHandledCount = 0; + testCounter.subscribeExceptionCount = 0; + eventService.publish(createEvent()); + + //The test passes if 1 subscribers completed and 0 subscribers threw exception. + assertEquals("testPublish(total)", 0, testCounter.eventsHandledCount); + assertEquals("testPublish(exceptions)", 0, testCounter.subscribeExceptionCount); + + try { + actualReturn = eventService.subscribeStrongly((Class) null, getEventSubscriber()); + fail("subscribeStrongly(null, x) should have thrown exception"); + } catch (Exception e) { + } + + try { + actualReturn = eventService.subscribeStrongly(getEventClass(), null); + fail("subscribeStrongly(x, null) should have thrown exception"); + } catch (Exception e) { + } + } + + public void testSubscribeStrongly() { + boolean actualReturn; + EventSubscriber subscriber = createEventSubscriber(false); + + actualReturn = eventService.subscribeStrongly(getEventClass(), subscriber); + assertTrue("testSubscribeWeakly(new subscriber)", actualReturn); + + actualReturn = eventService.subscribeStrongly(getEventClass(), subscriber); + assertFalse("testSubscribe(duplicate subscriber)", actualReturn); + + testCounter.eventsHandledCount = 0; + testCounter.subscribeExceptionCount = 0; + eventService.publish(createEvent()); + + //The test passes if 1 subscribers completed and 0 subscribers threw exception. + assertEquals("testPublish(total)", 1, testCounter.eventsHandledCount); + assertEquals("testPublish(exceptions)", 0, testCounter.subscribeExceptionCount); + subscriber = null; + System.gc(); + testCounter.eventsHandledCount = 0; + testCounter.subscribeExceptionCount = 0; + eventService.publish(createEvent()); + + //The test passes if 1 subscribers completed and 0 subscribers threw exception. + assertEquals("testPublish(total)", 1, testCounter.eventsHandledCount); + assertEquals("testPublish(exceptions)", 0, testCounter.subscribeExceptionCount); + + try { + actualReturn = eventService.subscribeStrongly((Class) null, getEventSubscriber()); + fail("subscribeStrongly(null, x) should have thrown exception"); + } catch (Exception e) { + } + + try { + actualReturn = eventService.subscribeStrongly(getEventClass(), null); + fail("subscribeStrongly(x, null) should have thrown exception"); + } catch (Exception e) { + } + } + + + public void testIllegalArgs() { + try { + EventBus.subscribeVetoListenerStrongly((Class) null, new VetoEventListenerForTest()); + fail(); + } catch (Throwable t) { + } + try { + EventBus.subscribeVetoListenerStrongly((String) null, new VetoTopicEventListenerForTest()); + fail(); + } catch (Throwable t) { + } + try { + EventBus.subscribeVetoListenerStrongly("foo", null); + fail(); + } catch (Throwable t) { + } + try { + EventBus.subscribeVetoListenerStrongly(getEventClass(), null); + fail(); + } catch (Throwable t) { + } + + + try { + EventBus.unsubscribeVetoListener((Class) null, new VetoEventListenerForTest()); + fail(); + } catch (Throwable t) { + } + try { + EventBus.unsubscribeVetoListener((String) null, new VetoTopicEventListenerForTest()); + fail(); + } catch (Throwable t) { + } + try { + EventBus.unsubscribeVetoListener("foo", null); + fail(); + } catch (Throwable t) { + } + try { + EventBus.unsubscribeVetoListener(getEventClass(), null); + fail(); + } catch (Throwable t) { + } + + } + + public void testVeto() { + boolean actualReturn; + EventSubscriber subscriber = createEventSubscriber(false); + + actualReturn = eventService.subscribe(getEventClass(), subscriber); + + VetoEventListener vetoListener = new VetoEventListenerForTest(); + actualReturn = eventService.subscribeVetoListener(getEventClass(), vetoListener); + + testCounter.eventsHandledCount = 0; + testCounter.subscribeExceptionCount = 0; + eventService.publish(createEvent()); + + //The test passes if 1 subscribers completed and 0 subscribers threw exception. + assertEquals("testVeto(total)", 0, testCounter.eventsHandledCount); + assertEquals("testVeto(exceptions)", 0, testCounter.subscribeExceptionCount); + eventService.unsubscribeVetoListener(getEventClass(), vetoListener); + eventService.publish(createEvent()); + + //The test passes if 1 subscribers completed and 0 subscribers threw exception. + assertEquals("testVeto(total)", 1, testCounter.eventsHandledCount); + assertEquals("testVeto(exceptions)", 0, testCounter.subscribeExceptionCount); + + } + + public void testVetoException() { + boolean actualReturn; + EventSubscriber subscriber = createEventSubscriber(false); + + actualReturn = eventService.subscribe(getEventClass(), subscriber); + + VetoEventListener vetoListener = new VetoEventListenerForTest(true); + actualReturn = eventService.subscribeVetoListenerStrongly(getEventClass(), vetoListener); + + testCounter.eventsHandledCount = 0; + testCounter.subscribeExceptionCount = 0; + eventService.publish(createEvent()); + + //The test passes if 1 subscribers completed and 0 subscribers threw exception. + assertEquals("testVeto(total)", 1, testCounter.eventsHandledCount); + assertEquals("testVeto(exceptions)", 0, testCounter.subscribeExceptionCount); + eventService.unsubscribeVetoListener(getEventClass(), vetoListener); + eventService.publish(createEvent()); + + //The test passes if 1 subscribers completed and 0 subscribers threw exception. + assertEquals("testVeto(total)", 2, testCounter.eventsHandledCount); + assertEquals("testVeto(exceptions)", 0, testCounter.subscribeExceptionCount); + + } + + public void testVetoTopic() { + boolean actualReturn; + EventTopicSubscriber subscriber = createEventTopicSubscriber(false); + + actualReturn = eventService.subscribe("FooTopic", subscriber); + + VetoTopicEventListener vetoListener = new VetoTopicEventListener() { + public boolean shouldVeto(String topic, Object data) { + return true; + } + }; + actualReturn = eventService.subscribeVetoListenerStrongly("FooTopic", vetoListener); + + testCounter.eventsHandledCount = 0; + testCounter.subscribeExceptionCount = 0; + eventService.publish("FooTopic", "Bar"); + + //The test passes if 1 subscribers completed and 0 subscribers threw exception. + assertEquals("testVeto(total)", 0, testCounter.eventsHandledCount); + assertEquals("testVeto(exceptions)", 0, testCounter.subscribeExceptionCount); + eventService.unsubscribeVetoListener("FooTopic", vetoListener); + eventService.publish("FooTopic", "Bar"); + + //The test passes if 1 subscribers completed and 0 subscribers threw exception. + assertEquals("testVeto(total)", 1, testCounter.eventsHandledCount); + assertEquals("testVeto(exceptions)", 0, testCounter.subscribeExceptionCount); + } + + + public void testVetoWeak() { + boolean actualReturn; + EventSubscriber subscriber = createEventSubscriber(false); + + actualReturn = eventService.subscribe(getEventClass(), subscriber); + + VetoEventListener vetoListener = new VetoEventListener() { + public boolean shouldVeto(Object evt) { + return true; + } + }; + actualReturn = eventService.subscribeVetoListener(getEventClass(), vetoListener); + + testCounter.eventsHandledCount = 0; + testCounter.subscribeExceptionCount = 0; + eventService.publish(createEvent()); + + //The test passes if 1 subscribers completed and 0 subscribers threw exception. + assertEquals("testVeto(total)", 0, testCounter.eventsHandledCount); + assertEquals("testVeto(exceptions)", 0, testCounter.subscribeExceptionCount); + vetoListener = null; + System.gc(); + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + } + eventService.publish(createEvent()); + + //The test passes if 1 subscribers completed and 0 subscribers threw exception. + assertEquals("testVeto(total)", 1, testCounter.eventsHandledCount); + assertEquals("testVeto(exceptions)", 0, testCounter.subscribeExceptionCount); + } + + public void testVetoTopicWeak() { + boolean actualReturn; + EventTopicSubscriber subscriber = createEventTopicSubscriber(false); + + actualReturn = eventService.subscribe("FooTopic", subscriber); + + VetoTopicEventListener vetoListener = new VetoTopicEventListener() { + public boolean shouldVeto(String topic, Object data) { + return true; + } + }; + actualReturn = eventService.subscribeVetoListener("FooTopic", vetoListener); + + testCounter.eventsHandledCount = 0; + testCounter.subscribeExceptionCount = 0; + eventService.publish("FooTopic", createEvent()); + + //The test passes if 1 subscribers completed and 0 subscribers threw exception. + assertEquals("testVeto(total)", 0, testCounter.eventsHandledCount); + assertEquals("testVeto(exceptions)", 0, testCounter.subscribeExceptionCount); + vetoListener = null; + System.gc(); + eventService.publish("FooTopic", createEvent()); + + //The test passes if 1 subscribers completed and 0 subscribers threw exception. + assertEquals("testVeto(total)", 1, testCounter.eventsHandledCount); + assertEquals("testVeto(exceptions)", 0, testCounter.subscribeExceptionCount); + } + + + public void testUnsubscribe() { + eventService.subscribe(getEventClass(), getEventSubscriber(false)); + + boolean actualReturn; + + try { + actualReturn = eventService.unsubscribe((Class) null, getEventSubscriber()); + fail("unsubscribe(null, x) should have thrown exception"); + } catch (Exception e) { + } + + try { + actualReturn = eventService.unsubscribe(getEventClass(), null); + fail("unsubscribe(x, null) should have thrown exception"); + } catch (Exception e) { + } + + testCounter.eventsHandledCount = 0; + testCounter.subscribeExceptionCount = 0; + eventService.publish(createEvent()); + + //The test passes if 1 subscribers completed and 0 subscribers threw exception. + assertEquals("testPublish(total)", 1, testCounter.eventsHandledCount); + assertEquals("testPublish(exceptions)", 0, testCounter.subscribeExceptionCount); + + actualReturn = eventService.unsubscribe(getEventClass(), getEventSubscriber()); + assertTrue("return value", actualReturn); + + testCounter.eventsHandledCount = 0; + testCounter.subscribeExceptionCount = 0; + eventService.publish(createEvent()); + + //The test passes if 1 subscribers completed and 0 subscribers threw exception. + assertEquals("testPublish(total)", 0, testCounter.eventsHandledCount); + assertEquals("testPublish(exceptions)", 0, testCounter.subscribeExceptionCount); + } + + public void testUnsubscribeTopic() { + EventTopicSubscriber eventTopicSubscriber = createEventTopicSubscriber(false); + eventService.subscribe("FooTopic", eventTopicSubscriber); + + boolean actualReturn; + + try { + actualReturn = eventService.unsubscribe((String) null, eventTopicSubscriber); + fail("unsubscribe(null, x) should have thrown exception"); + } catch (Exception e) { + } + + try { + actualReturn = eventService.unsubscribe("FooTopic", null); + fail("unsubscribe(x, null) should have thrown exception"); + } catch (Exception e) { + } + + testCounter.eventsHandledCount = 0; + testCounter.subscribeExceptionCount = 0; + eventService.publish("FooTopic", "Foo"); + + //The test passes if 1 subscribers completed and 0 subscribers threw exception. + assertEquals("testPublish(total)", 1, testCounter.eventsHandledCount); + assertEquals("testPublish(exceptions)", 0, testCounter.subscribeExceptionCount); + + actualReturn = eventService.unsubscribe("FooTopic", eventTopicSubscriber); + assertTrue("return value", actualReturn); + + testCounter.eventsHandledCount = 0; + testCounter.subscribeExceptionCount = 0; + eventService.publish("FooTopic", "Foo"); + + //The test passes if 1 subscribers completed and 0 subscribers threw exception. + assertEquals("testPublish(total)", 0, testCounter.eventsHandledCount); + assertEquals("testPublish(exceptions)", 0, testCounter.subscribeExceptionCount); + } + + /** + * Test that the publish method works and that exceptions thrown in event subscribers don't halt publishing. In the + * test 2 subscribers are good and 2 subscribers throw exceptions. + */ + public void testPublish() { + try { + eventService.publish(null); + fail("publish(null) should have thrown exception"); + } catch (Exception e) { + } + + try { + eventService.publish((String) null, createEvent()); + fail("publish(null, x) should have thrown exception"); + } catch (Exception e) { + } + + eventService.publish(createEvent()); + assertEquals("testPublish(completed)", 0, testCounter.eventsHandledCount); + assertEquals("testPublish(exceptions)", 0, testCounter.subscribeExceptionCount); + + eventService.publish("Foo", "Bar"); + assertEquals("testPublish(completed)", 0, testCounter.eventsHandledCount); + assertEquals("testPublish(exceptions)", 0, testCounter.subscribeExceptionCount); + + eventService.subscribe(getEventClass(), createEventSubscriber(true)); + eventService.subscribe(getEventClass(), createEventSubscriber(false)); + eventService.subscribe(getEventClass(), createEventSubscriber(true)); + eventService.subscribe(getEventClass(), createEventSubscriber(false)); + + testCounter.eventsHandledCount = 0; + testCounter.subscribeExceptionCount = 0; + eventService.publish(createEvent()); + + //The test passes if 2 subscribers completed and 2 subscribers threw exception. + assertEquals("testPublish(completed)", 4, testCounter.eventsHandledCount); + assertEquals("testPublish(exceptions)", 2, testCounter.subscribeExceptionCount); + + EventBus.subscribe(ObjectEvent.class, createEventSubscriber(false)); + testCounter.eventsHandledCount = 0; + testCounter.subscribeExceptionCount = 0; + ObjectEvent evt = new ObjectEvent("Foo", "Bar"); + assertEquals(evt.getEventObject(), "Bar"); + EventBus.publish(evt); + //Since we are using hte event bus from a non-awt thread, stay alive for a sec + //to give time for the EDT to start and post the message + try { + Thread.sleep(500); + } catch (InterruptedException e) { + } + assertEquals("testPublish(completed)", 1, testCounter.eventsHandledCount); + assertEquals("testPublish(exceptions)", 0, testCounter.subscribeExceptionCount); + } + + public void testTimeHandling() { + eventService.subscribe(getEventClass(), createEventSubscriber(new Long(200L))); + final Boolean[] wasCalled = new Boolean[1]; + eventService.subscribe(SubscriberTimingEvent.class, new EventSubscriber() { + public void onEvent(Object evt) { + wasCalled[0] = Boolean.TRUE; + } + }); + eventService.publish(createEvent()); + assertTrue(wasCalled[0] == null); + eventService = new ThreadSafeEventService(new Long(100), true); + eventService.subscribe(getEventClass(), createEventSubscriber(new Long(200L))); + final Boolean[] wasCalled2 = new Boolean[1]; + eventService.subscribe(SubscriberTimingEvent.class, new EventSubscriber() { + public void onEvent(Object evt) { + wasCalled2[0] = Boolean.TRUE; + timing = (SubscriberTimingEvent) evt; + } + }); + eventService.publish(createEvent()); + assertTrue(wasCalled2[0] == Boolean.TRUE); + assertNotNull(timing.getSource()); + assertNotNull(timing.getEnd()); + assertNotNull(timing.getEvent()); + assertNotNull(timing.getSubscriber()); + assertNotNull(timing.getStart()); + assertNotNull(timing.getTimeLimitMilliseconds()); + assertFalse(timing.isEventHandlingExceeded()); + assertFalse(timing.isVetoExceeded()); + assertNull(timing.getVetoEventListener()); + } + + public void testEventLocator() { + EventServiceLocatorTestCase.clearEventServiceLocator(); + EventService es = EventServiceLocator.getSwingEventService(); + assertTrue(es instanceof SwingEventService); + es = new ThreadSafeEventService(null, false); + try { + EventServiceLocator.setEventService("foo", es); + } catch (EventServiceExistsException e) { + fail("First set should succeed."); + } + EventService es2 = EventServiceLocator.getEventService("foo"); + assertTrue(es2 == es); + try { + es = new ThreadSafeEventService(null, false); + EventServiceLocator.setEventService("foo", es); + fail("Second set should fail."); + } catch (EventServiceExistsException e) { + } + es2 = EventServiceLocator.getEventService("foo"); + assertFalse(es2 == es); + try { + EventServiceLocator.setEventService("foo", null); + } catch (EventServiceExistsException e) { + fail("Null should succeed."); + } + es2 = EventServiceLocator.getEventService("foo"); + assertNull(es2); + assertEquals(EventServiceLocator.getSwingEventService(), EventBus.getGlobalEventService()); + } + + /** + * Test for ISSUE #1: If a class implements both subscriber interfaces I've seen a topic 'event' be published from a + * publish method with the correct (topic) signature, yet be subscribed at the wrong subscriber method (the one with + * the signature for real event classes, not topics + */ + public void testSimultaneousTopicAndClass() { + DoubleSubscriber doubleSubscriber = new DoubleSubscriber(); + eventService.subscribe(org.scijava.event.bushe.ObjectEvent.class, doubleSubscriber); + eventService.subscribe("org.scijava.event.bushe.ObjectEvent.class", doubleSubscriber); + ObjectEvent evt = new ObjectEvent("Foo", "Bar"); + assertEquals(evt.getEventObject(), "Bar"); + eventService.publish(evt); + assertEquals(1, doubleSubscriber.timesEventCalled); + assertEquals(0, doubleSubscriber.timesTopicCalled); + assertEquals(evt, doubleSubscriber.lastEvent); + assertEquals(null, doubleSubscriber.lastEventString); + eventService.publish("org.scijava.event.bushe.ObjectEvent.class", "Bar"); + assertEquals(1, doubleSubscriber.timesEventCalled); + assertEquals(1, doubleSubscriber.timesTopicCalled); + assertEquals(evt, doubleSubscriber.lastEvent); + assertEquals("org.scijava.event.bushe.ObjectEvent.class", doubleSubscriber.lastEventString); + } + + public void testRegex() { + DoubleSubscriber doubleSubscriber = new DoubleSubscriber(); + Pattern pat = Pattern.compile("Foo[1-5]"); + eventService.subscribe(pat, doubleSubscriber); + List subscribers = eventService.getSubscribersToPattern(pat); + assertNotNull(subscribers); + assertEquals(1, subscribers.size()); + subscribers = eventService.getSubscribersByPattern("Foo1"); + assertNotNull(subscribers); + assertEquals(1, subscribers.size()); + subscribers = eventService.getSubscribers("Foo1"); + assertNotNull(subscribers); + assertEquals(1, subscribers.size()); + + eventService.publish("Foo1", "Bar"); + assertEquals(0, doubleSubscriber.timesEventCalled); + assertEquals(1, doubleSubscriber.timesTopicCalled); + assertEquals(null, doubleSubscriber.lastEvent); + assertEquals("Foo1", doubleSubscriber.lastEventString); + eventService.publish("Foo2", "Bar"); + assertEquals(0, doubleSubscriber.timesEventCalled); + assertEquals(2, doubleSubscriber.timesTopicCalled); + assertEquals(null, doubleSubscriber.lastEvent); + assertEquals("Foo2", doubleSubscriber.lastEventString); + } + + public void testTypeSubscription() { + DoubleSubscriber subscriber = new DoubleSubscriber(); + + eventService.subscribe(TopLevelEvent.class, subscriber); + List subscribers = eventService.getSubscribersToClass(TopLevelEvent.class); + assertNotNull(subscribers); + assertEquals(1, subscribers.size()); + subscribers = eventService.getSubscribersToClass(DerivedEvent.class); + assertNotNull(subscribers); + assertEquals(1, subscribers.size()); + subscribers = eventService.getSubscribers(DerivedEvent.class); + assertNotNull(subscribers); + assertEquals(1, subscribers.size()); + subscribers = eventService.getSubscribers(TopLevelEvent.class); + assertNotNull(subscribers); + assertEquals(1, subscribers.size()); + + DerivedEvent derivedEvent = new DerivedEvent(this); + eventService.publish(derivedEvent); + assertEquals(1, subscriber.timesEventCalled); + assertEquals(0, subscriber.timesTopicCalled); + assertEquals(derivedEvent, subscriber.lastEvent); + assertEquals(null, subscriber.lastEventString); + TopLevelEvent topLevelEvent = new TopLevelEvent(this); + eventService.publish(topLevelEvent); + assertEquals(2, subscriber.timesEventCalled); + assertEquals(0, subscriber.timesTopicCalled); + assertEquals(topLevelEvent, subscriber.lastEvent); + assertEquals(null, subscriber.lastEventString); + } + + //Parameterized Type + public void testParameterizedEvent() throws IllegalAccessException, NoSuchMethodException, InvocationTargetException, InstantiationException { + final int[] timesCalled = new int[1]; + ParameterizedEvent stringRequestEvent = new ParameterizedEvent(); + ParameterizedEvent integerRequestEvent = new ParameterizedEvent(); + + TypeReference> stringTypeReference = new TypeReference>(){}; + TypeReference> integerTypeReference = new TypeReference>(){}; +// ParameterizedEvent dre = stringTypeReference.newInstance(); +// System.out.println("dre.getClass()"+dre.getClass()); +// System.out.println("stringTypeReference"+ stringTypeReference); +// System.out.println("stringTypeReference.getType()"+ stringTypeReference.getType()); + +// You can't simply do this, the TypeReference's generic type is important here +// Type superclass = integerRequestEvent.getClass().getGenericSuperclass(); +// Type type = ((ParameterizedType) superclass).getActualTypeArguments()[0]; +// System.out.println("superclass="+superclass); +// System.out.println("type="+type); + + eventService.subscribe(stringTypeReference.getType(), new EventSubscriber() { + public void onEvent(Object event) { + timesCalled[0]++; + } + }); + eventService.publish(stringTypeReference.getType(), stringRequestEvent); + eventService.publish(integerTypeReference.getType(), integerRequestEvent); + assertEquals(1, timesCalled[0]); + } + + public void testParameterizedEventMultiParams() throws IllegalAccessException, NoSuchMethodException, InvocationTargetException, InstantiationException { + final int[] timesCalled = new int[1]; + DoublyParameterizedEvent stringRequestEvent = new DoublyParameterizedEvent(); + DoublyParameterizedEvent integerRequestEvent = new DoublyParameterizedEvent(); + DoublyParameterizedEvent switchRequestEvent = new DoublyParameterizedEvent(); + + TypeReference> stringTypeReference = new TypeReference>(){}; + TypeReference> integerTypeReference = new TypeReference>(){}; + TypeReference> switchTypeReference = new TypeReference>(){}; + + eventService.subscribe(stringTypeReference.getType(), new EventSubscriber() { + public void onEvent(Object event) { + timesCalled[0]++; + } + }); + eventService.subscribe(integerTypeReference.getType(), new EventSubscriber() { + public void onEvent(Object event) { + timesCalled[0]++; + } + }); + eventService.publish(stringTypeReference.getType(), stringRequestEvent); + assertEquals(1, timesCalled[0]); + eventService.publish(integerTypeReference.getType(), integerRequestEvent); + assertEquals(2, timesCalled[0]); + eventService.publish(switchTypeReference.getType(), switchRequestEvent); + assertEquals(2, timesCalled[0]); + } + + public void testWildcardSubscription() throws IllegalAccessException, NoSuchMethodException, InvocationTargetException, InstantiationException { + final int[] timesCalled = new int[1]; + ParameterizedEvent jComponentRequestEvent = new ParameterizedEvent(); + + TypeReference> containerWildcardTypeRef = new TypeReference>(){}; + + eventService.subscribe(containerWildcardTypeRef.getType(), new EventSubscriber() { + public void onEvent(Object event) { + timesCalled[0]++; + } + }); + TypeReference> jComponentTypeRef = new TypeReference>(){}; + + eventService.publish(jComponentTypeRef.getType(), jComponentRequestEvent); + assertEquals(1, timesCalled[0]); + + //publishing a Component should not hit the wildcard since it doesn't extend Component + TypeReference> componentTypeRef = new TypeReference>(){}; + ParameterizedEvent componentRequestEvent = new ParameterizedEvent(); + eventService.publish(componentTypeRef.getType(), componentRequestEvent); + assertEquals(1, timesCalled[0]); + + //publish wildcards is a not yet supported + try { + eventService.publish(containerWildcardTypeRef.getType(), jComponentRequestEvent); + fail(); + } catch (IllegalArgumentException ex) { + } + assertEquals(1, timesCalled[0]); + + //Test super wildcard, should be opposite of above + eventService.clearAllSubscribers(); + TypeReference> containerSuperWildcardTypeRef = new TypeReference>(){}; + eventService.subscribe(containerSuperWildcardTypeRef.getType(), new EventSubscriber() { + public void onEvent(Object event) { + timesCalled[0]++; + } + }); + eventService.publish(jComponentTypeRef.getType(), jComponentRequestEvent); + assertEquals(1, timesCalled[0]); + eventService.publish(componentTypeRef.getType(), componentRequestEvent); + assertEquals(2, timesCalled[0]); + + //Test exact matches + } + + public class ParameterizedEvent { + private Collection data; + public Collection getData() { + return data; + } + } + + public class DoublyParameterizedEvent { + private Map data; + public Map getData() { + return data; + } + } + + class DoubleSubscriber implements EventTopicSubscriber, EventSubscriber { + public int timesTopicCalled = 0; + public int timesEventCalled = 0; + public String lastEventString; + public Object lastEvent; + + public void onEvent(String topic, Object data) { + timesTopicCalled++; + lastEventString = topic; + } + + public void onEvent(Object evt) { + timesEventCalled++; + lastEvent = evt; + } + } + + class TopLevelEvent extends AbstractEventServiceEvent { + public TopLevelEvent(Object source) { + super(source); + } + } + + class DerivedEvent extends TopLevelEvent { + public DerivedEvent(Object source) { + super(source); + } + } + + + /** + * Test match for generic type's of generic types + */ + public void testGenericGeneric() { + final int[] timesCalled = new int[1]; + DataRequestEvent> request = new DataRequestEvent>(); + Type type = new TypeReference>>() {}.getType(); + eventService.subscribe(type, new EventSubscriber() { + public void onEvent(Object event) { + timesCalled[0]++; + } + }); + eventService.publish(type, request); + assertEquals(1, timesCalled[0]); + DataRequestEvent> stringRequest = new DataRequestEvent>(); + Type stringType = new TypeReference>>() {}.getType(); + eventService.publish(stringType , stringRequest); + assertEquals(1, timesCalled[0]); + } + + public void testTopicsCache() { + Object a1 = new Object(); + //All of the above should be checked with topics. + //Topics should test that exact matches are preferred over pattern matches + //Test that a default setting does not cache + EventService es = new ThreadSafeEventService(null); + es.publish("IceCream.Vanilla", a1); + List events = es.getCachedTopicData("IceCream.Vanilla"); + assertNull(events); + Object lastEventObj = es.getLastTopicData("IceCream.Vanilla"); + assertNull(lastEventObj); + assertEquals(0, es.getCacheSizeForTopic("IceCream.Vanilla")); + assertEquals(0, es.getDefaultCacheSizePerClassOrTopic()); + //Test that changing the default to 1 caches 1 + es.setDefaultCacheSizePerClassOrTopic(1); + assertEquals(1, es.getDefaultCacheSizePerClassOrTopic()); + Object publishedEventObj = new Object(); + es.publish("IceCream.Vanilla", publishedEventObj); + events = es.getCachedTopicData("IceCream.Vanilla"); + assertNotNull(events); + assertEquals(1, events.size()); + lastEventObj = es.getLastTopicData("IceCream.Vanilla"); + assertTrue(lastEventObj == publishedEventObj); + assertEquals(1, es.getCacheSizeForTopic("IceCream.Vanilla")); + //subscribe and see if it still works and that the new event is cached + EventTopicSubscriber sub = new EventTopicSubscriber() { + public void onEvent(String topic, Object data) { + System.out.println("Barrrr"); + } + }; + es.subscribe("IceCream.Vanilla", sub); + publishedEventObj = new Object(); + es.publish("IceCream.Vanilla", publishedEventObj); + events = es.getCachedTopicData("IceCream.Vanilla"); + assertNotNull(events); + assertEquals(1, events.size()); + lastEventObj = es.getLastTopicData("IceCream.Vanilla"); + assertTrue(lastEventObj == publishedEventObj); + assertEquals(1, es.getCacheSizeForTopic("IceCream.Vanilla")); + + //Test that changing the default to 5 caches 5 + es.setDefaultCacheSizePerClassOrTopic(5); + assertEquals(5, es.getDefaultCacheSizePerClassOrTopic()); + Object publishedEventObj2 = new Object(); + Object publishedEventObj3 = new Object(); + Object publishedEventObj4 = new Object(); + Object publishedEventObj5 = new Object(); + es.publish("IceCream.Vanilla", publishedEventObj2); + es.publish("IceCream.Vanilla", publishedEventObj3); + es.publish("IceCream.Vanilla", publishedEventObj4); + es.publish("IceCream.Vanilla", publishedEventObj5); + events = es.getCachedTopicData("IceCream.Vanilla"); + assertNotNull(events); + assertEquals(5, events.size()); + lastEventObj = es.getLastTopicData("IceCream.Vanilla"); + assertTrue(lastEventObj == publishedEventObj5); + assertEquals(5, es.getCacheSizeForTopic("IceCream.Vanilla")); + Object publishedEventObj6 = new Object(); + es.publish("IceCream.Vanilla", publishedEventObj6); + assertEquals(5, events.size()); + lastEventObj = es.getLastTopicData("IceCream.Vanilla"); + assertTrue(lastEventObj == publishedEventObj6); + assertEquals(5, es.getCacheSizeForTopic("IceCream.Vanilla")); + + //Test that setting a topic cache with 10 caches 10 for that topic, but the default for the others + es.setCacheSizeForTopic("IceCream.Vanilla", 10); + Object publishedEventObjB1 = new Object(); + Object publishedEventObjB2 = new Object(); + Object publishedEventObjB3 = new Object(); + Object publishedEventObjB4 = new Object(); + Object publishedEventObjB5 = new Object(); + Object publishedEventObjB6 = new Object(); + es.publish("IceCream.Vanilla", publishedEventObj6); + es.publish("IceCream.Vanilla", publishedEventObj6);//see if reuse is OK + es.publish("IceCream.Blueberry", publishedEventObjB1); + es.publish("IceCream.Blueberry", publishedEventObjB2); + es.publish("IceCream.Blueberry", publishedEventObjB3); + es.publish("IceCream.Blueberry", publishedEventObjB4); + es.publish("IceCream.Blueberry", publishedEventObjB5); + es.publish("IceCream.Blueberry", publishedEventObjB6); + es.publish("IceCream.Vanilla", publishedEventObj6); + es.publish("IceCream.Vanilla", publishedEventObj6); + Object publishedEvent10 = new Object(); + es.publish("IceCream.Vanilla", publishedEvent10); + lastEventObj = es.getLastTopicData("IceCream.Vanilla"); + assertTrue(lastEventObj == publishedEvent10); + events = es.getCachedTopicData("IceCream.Vanilla"); + assertNotNull(events); + assertEquals(10, events.size()); + assertEquals(10, es.getCacheSizeForTopic("IceCream.Vanilla")); + assertTrue(publishedEvent10 == events.get(0)); + assertTrue(publishedEventObj6 == events.get(1)); + assertTrue(publishedEventObj6 == events.get(2)); + assertTrue(publishedEventObj6 == events.get(3)); + assertTrue(publishedEventObj6 == events.get(4)); + assertTrue(publishedEventObj6 == events.get(5)); + assertTrue(publishedEventObj5 == events.get(6)); + assertTrue(publishedEventObj4 == events.get(7)); + assertTrue(publishedEventObj3 == events.get(8)); + assertTrue(publishedEventObj2 == events.get(9)); + lastEventObj = es.getLastTopicData("IceCream.Blueberry"); + assertTrue(lastEventObj == publishedEventObjB6); + events = es.getCachedTopicData("IceCream.Blueberry"); + assertNotNull(events); + assertEquals(5, events.size()); + assertEquals(5, es.getCacheSizeForTopic("IceCream.Blueberry")); + assertTrue(publishedEventObjB6 == events.get(0)); + assertTrue(publishedEventObjB5 == events.get(1)); + assertTrue(publishedEventObjB4 == events.get(2)); + assertTrue(publishedEventObjB3 == events.get(3)); + assertTrue(publishedEventObjB2 == events.get(4)); + //this makes the cache resize to a smaller amount + es.setCacheSizeForTopic("IceCream.Vanilla", 1); + es.publish("IceCream.Vanilla", publishedEventObj4); + lastEventObj = es.getLastTopicData("IceCream.Vanilla"); + assertTrue(lastEventObj == publishedEventObj4); + events = es.getCachedTopicData("IceCream.Vanilla"); + assertNotNull(events); + assertEquals(1, events.size()); + assertEquals(1, es.getCacheSizeForTopic("IceCream.Vanilla")); + es.publish("IceCream.Blueberry", publishedEventObjB4); + lastEventObj = es.getLastTopicData("IceCream.Blueberry"); + assertTrue(lastEventObj == publishedEventObjB4); + events = es.getCachedTopicData("IceCream.Blueberry"); + assertNotNull(events); + assertEquals(5, events.size()); + assertEquals(5, es.getCacheSizeForTopic("IceCream.Blueberry")); + assertTrue(publishedEventObjB4 == events.get(0)); + assertTrue(publishedEventObjB6 == events.get(1)); + assertTrue(publishedEventObjB5 == events.get(2)); + assertTrue(publishedEventObjB4 == events.get(3)); + assertTrue(publishedEventObjB3 == events.get(4)); + + //Test pattern cache size works, but does not override a specific topic setting + Pattern pattern = Pattern.compile("IceCream.*"); + es.setDefaultCacheSizePerClassOrTopic(5); + es.setCacheSizeForTopic(pattern, 2); + es.setCacheSizeForTopic("IceCream.Vanilla", 3); + Object publishedEventObjX1 = new Object(); + Object publishedEventObjX2 = new Object(); + Object publishedEventObjX3 = new Object(); + Object publishedEventObjX4 = new Object(); + Object publishedEventObjX5 = new Object(); + Object publishedEventObjX6 = new Object(); + Object publishedEventObjC1 = new Object(); + Object publishedEventObjC2 = new Object(); + Object publishedEventObjC3 = new Object(); + Object publishedEventObjC4 = new Object(); + es.publish("X", publishedEventObjX1); + es.publish("IceCream.Vanilla", publishedEventObj6); + es.publish("IceCream.Chocolate", publishedEventObjC1); + es.publish("X", publishedEventObjX2);//see if reuse is OK + es.publish("X", publishedEventObjX3); + es.publish("IceCream.Chocolate", publishedEventObjC2); + es.publish("X", publishedEventObjX4); + es.publish("IceCream.Vanilla", publishedEventObj4); + es.publish("IceCream.Vanilla", publishedEventObj5); + es.publish("IceCream.Vanilla", publishedEventObj6); + es.publish("X", publishedEventObjX5); + es.publish("IceCream.Chocolate", publishedEventObjC3); + es.publish("X", publishedEventObjX6); + es.publish("IceCream.Chocolate", publishedEventObjC4); + + lastEventObj = es.getLastTopicData("IceCream.Vanilla"); + assertTrue(lastEventObj == publishedEventObj6); + events = es.getCachedTopicData("IceCream.Vanilla"); + assertNotNull(events); + assertEquals(3, events.size()); + assertEquals(3, es.getCacheSizeForTopic("IceCream.Vanilla")); + lastEventObj = es.getLastTopicData("X"); + assertTrue(lastEventObj == publishedEventObjX6); + events = es.getCachedTopicData("X"); + assertNotNull(events); + assertEquals(5, events.size()); + assertEquals(5, es.getCacheSizeForEventClass(EventX.class)); + assertTrue(publishedEventObjX6 == events.get(0)); + assertTrue(publishedEventObjX5 == events.get(1)); + assertTrue(publishedEventObjX4 == events.get(2)); + assertTrue(publishedEventObjX3 == events.get(3)); + assertTrue(publishedEventObjX2 == events.get(4)); + events = es.getCachedTopicData("IceCream.Chocolate"); + assertNotNull(events); + assertEquals(2, events.size()); + assertEquals(2, es.getCacheSizeForTopic("IceCream.Chocolate")); + assertTrue(publishedEventObjC4 == events.get(0)); + assertTrue(publishedEventObjC3 == events.get(1)); + + es.clearCache("IceCream.Blueberry"); + events = es.getCachedTopicData("IceCream.Blueberry"); + assertNull(events); + lastEventObj = es.getLastTopicData("IceCream.Vanilla"); + assertNotNull(lastEventObj); + events = es.getCachedTopicData("IceCream.Vanilla"); + assertNotNull(events); + assertEquals(3, events.size()); + lastEventObj = es.getLastTopicData("IceCream.Chocolate"); + assertNotNull(lastEventObj); + events = es.getCachedTopicData("IceCream.Chocolate"); + assertNotNull(events); + assertEquals(2, events.size()); + lastEventObj = es.getLastTopicData("X"); + assertNotNull(lastEventObj); + events = es.getCachedTopicData("X"); + assertNotNull(events); + assertEquals(5, events.size()); + es.clearCache(pattern); + events = es.getCachedTopicData("IceCream.Vanilla"); + assertNull(events); + lastEventObj = es.getLastTopicData("IceCream.Chocolate"); + assertNull(lastEventObj); + lastEventObj = es.getLastTopicData("X"); + assertNotNull(lastEventObj); + events = es.getCachedTopicData("X"); + assertNotNull(events); + assertEquals(5, events.size()); + + es.publish("X", publishedEventObjX6); + es.publish("IceCream.Blueberry", publishedEventObjB4); + es.publish("IceCream.Vanilla", publishedEvent10); + es.clearCache(); + lastEventObj = es.getLastTopicData("IceCream.Vanilla"); + assertNull(lastEventObj); + lastEventObj = es.getLastTopicData("IceCream.Blueberry"); + assertNull(lastEventObj); + lastEventObj = es.getLastTopicData("IceCream.Chocolate"); + assertNull(lastEventObj); + lastEventObj = es.getLastTopicData("X"); + assertNull(lastEventObj); + } + + + public void testEventsCache() { + //Test that a default setting does not cache + EventService es = new ThreadSafeEventService(null); + es.publish(new EventA()); + List aEvents = es.getCachedEvents(EventA.class); + assertNull(aEvents); + EventA lastAEvent = es.getLastEvent(EventA.class); + assertNull(lastAEvent); + assertEquals(0, es.getCacheSizeForEventClass(EventA.class)); + assertEquals(0, es.getDefaultCacheSizePerClassOrTopic()); + //Test that changing the default to 1 caches 1 + es.setDefaultCacheSizePerClassOrTopic(1); + assertEquals(1, es.getDefaultCacheSizePerClassOrTopic()); + EventA publishedEvent = new EventA(); + es.publish(publishedEvent); + aEvents = es.getCachedEvents(EventA.class); + assertNotNull(aEvents); + assertEquals(1, aEvents.size()); + lastAEvent = es.getLastEvent(EventA.class); + assertTrue(lastAEvent == publishedEvent); + assertEquals(1, es.getCacheSizeForEventClass(EventA.class)); + //subscribe and see if it still works and that the new event is cached + EventSubscriber sub = new EventSubscriber() { + public void onEvent(Object evt) { + System.out.println("Fooo"); + } + }; + es.subscribe(EventA.class, sub); + publishedEvent = new EventA(); + es.publish(publishedEvent); + aEvents = es.getCachedEvents(EventA.class); + assertNotNull(aEvents); + assertEquals(1, aEvents.size()); + lastAEvent = es.getLastEvent(EventA.class); + assertTrue(lastAEvent == publishedEvent); + assertEquals(1, es.getCacheSizeForEventClass(EventA.class)); + + //Test that changing the default to 5 caches 5 + es.setDefaultCacheSizePerClassOrTopic(5); + assertEquals(5, es.getDefaultCacheSizePerClassOrTopic()); + EventA publishedEvent2 = new EventA(); + EventA publishedEvent3 = new EventA(); + EventA publishedEvent4 = new EventA(); + EventA publishedEvent5 = new EventA(); + es.publish(publishedEvent2); + es.publish(publishedEvent3); + es.publish(publishedEvent4); + es.publish(publishedEvent5); + aEvents = es.getCachedEvents(EventA.class); + assertNotNull(aEvents); + assertEquals(5, aEvents.size()); + lastAEvent = es.getLastEvent(EventA.class); + assertTrue(lastAEvent == publishedEvent5); + assertEquals(5, es.getCacheSizeForEventClass(EventA.class)); + EventA publishedEvent6 = new EventA(); + es.publish(publishedEvent6); + assertEquals(5, aEvents.size()); + lastAEvent = es.getLastEvent(EventA.class); + assertTrue(lastAEvent == publishedEvent6); + assertEquals(5, es.getCacheSizeForEventClass(EventA.class)); + + //Test that overriding a single event class with 10 caches 10 for that event, but the default for the others + es.setCacheSizeForEventClass(EventA.class, 10); + EventB publishedEventB1 = new EventB(); + EventB publishedEventB2 = new EventB(); + EventB publishedEventB3 = new EventB(); + EventB publishedEventB4 = new EventB(); + EventB publishedEventB5 = new EventB(); + EventB publishedEventB6 = new EventB(); + es.publish(publishedEvent6); + es.publish(publishedEvent6);//see if reuse is OK + es.publish(publishedEventB1); + es.publish(publishedEventB2); + es.publish(publishedEventB3); + es.publish(publishedEventB4); + es.publish(publishedEventB5); + es.publish(publishedEventB6); + es.publish(publishedEvent6); + es.publish(publishedEvent6); + EventA publishedEvent10 = new EventA(); + es.publish(publishedEvent10); + lastAEvent = es.getLastEvent(EventA.class); + assertTrue(lastAEvent == publishedEvent10); + aEvents = es.getCachedEvents(EventA.class); + assertNotNull(aEvents); + assertEquals(10, aEvents.size()); + assertEquals(10, es.getCacheSizeForEventClass(EventA.class)); + assertTrue(publishedEvent10 == aEvents.get(0)); + assertTrue(publishedEvent6 == aEvents.get(1)); + assertTrue(publishedEvent6 == aEvents.get(2)); + assertTrue(publishedEvent6 == aEvents.get(3)); + assertTrue(publishedEvent6 == aEvents.get(4)); + assertTrue(publishedEvent6 == aEvents.get(5)); + assertTrue(publishedEvent5 == aEvents.get(6)); + assertTrue(publishedEvent4 == aEvents.get(7)); + assertTrue(publishedEvent3 == aEvents.get(8)); + assertTrue(publishedEvent2 == aEvents.get(9)); + EventB lastBEvent = es.getLastEvent(EventB.class); + assertTrue(lastBEvent == publishedEventB6); + List bEvents = es.getCachedEvents(EventB.class); + assertNotNull(bEvents); + assertEquals(5, bEvents.size()); + assertEquals(5, es.getCacheSizeForEventClass(EventB.class)); + assertTrue(publishedEventB6 == bEvents.get(0)); + assertTrue(publishedEventB5 == bEvents.get(1)); + assertTrue(publishedEventB4 == bEvents.get(2)); + assertTrue(publishedEventB3 == bEvents.get(3)); + assertTrue(publishedEventB2 == bEvents.get(4)); + //this makes the cache resize smaller + es.setCacheSizeForEventClass(EventA.class, 1); + es.publish(publishedEvent4); + lastAEvent = es.getLastEvent(EventA.class); + assertTrue(lastAEvent == publishedEvent4); + aEvents = es.getCachedEvents(EventA.class); + assertNotNull(aEvents); + assertEquals(1, aEvents.size()); + assertEquals(1, es.getCacheSizeForEventClass(EventA.class)); + es.publish(publishedEventB4); + lastBEvent = es.getLastEvent(EventB.class); + assertTrue(lastBEvent == publishedEventB4); + bEvents = es.getCachedEvents(EventB.class); + assertNotNull(bEvents); + assertEquals(5, bEvents.size()); + assertEquals(5, es.getCacheSizeForEventClass(EventB.class)); + assertTrue(publishedEventB4 == bEvents.get(0)); + assertTrue(publishedEventB6 == bEvents.get(1)); + assertTrue(publishedEventB5 == bEvents.get(2)); + assertTrue(publishedEventB4 == bEvents.get(3)); + assertTrue(publishedEventB3 == bEvents.get(4)); + + //Test that overriding a subclass event class with 2 changes and a derived class with 5 ... + //caches 5 for the derived class + //caches 2 for the subclass + //caches 2 for another derived class + // and that interfaces only take effect if the cache size of a class or it's superclasses has been set. + es.setCacheSizeForEventClass(EventA.class, 2); + es.setCacheSizeForEventClass(EventX.class, 5); + es.setCacheSizeForEventClass(Serializable.class, 3); + EventX publishedEventX1 = new EventX(); + EventX publishedEventX2 = new EventX(); + EventX publishedEventX3 = new EventX(); + EventX publishedEventX4 = new EventX(); + EventX publishedEventX5 = new EventX(); + EventX publishedEventX6 = new EventX(); + EventC publishedEventC1 = new EventC(); + EventC publishedEventC2 = new EventC(); + EventC publishedEventC3 = new EventC(); + EventC publishedEventC4 = new EventC(); + es.publish(publishedEventX1); + es.publish(publishedEvent6); + es.publish(publishedEventC1); + es.publish(publishedEventX2);//see if reuse is OK + es.publish(publishedEventX3); + es.publish(publishedEventC2); + es.publish(publishedEventX4); + es.publish(publishedEvent4); + es.publish(publishedEventX5); + es.publish(publishedEventC3); + es.publish(publishedEventX6); + es.publish(publishedEventC4); + + lastAEvent = es.getLastEvent(EventA.class); + assertTrue(lastAEvent == publishedEvent4); + aEvents = es.getCachedEvents(EventA.class); + assertNotNull(aEvents); + assertEquals(2, aEvents.size()); + assertEquals(2, es.getCacheSizeForEventClass(EventA.class)); + lastAEvent = es.getLastEvent(EventX.class); + assertTrue(lastAEvent == publishedEventX6); + List xEvents = es.getCachedEvents(EventX.class); + assertNotNull(xEvents); + assertEquals(5, xEvents.size()); + assertEquals(5, es.getCacheSizeForEventClass(EventX.class)); + assertTrue(publishedEventX6 == xEvents.get(0)); + assertTrue(publishedEventX5 == xEvents.get(1)); + assertTrue(publishedEventX4 == xEvents.get(2)); + assertTrue(publishedEventX3 == xEvents.get(3)); + assertTrue(publishedEventX2 == xEvents.get(4)); + try { + Serializable serializableEvent = es.getLastEvent(Serializable.class); + fail("Shouldn't be able to pass an interface."); + } catch (IllegalArgumentException ex) { + } + EventC lastCEvent = es.getLastEvent(EventC.class); + assertTrue(lastCEvent == publishedEventC4); + try { + List serializableEvents = es.getCachedEvents(Serializable.class); + fail("Shouldn't be able to pass an interface."); + } catch (IllegalArgumentException ex) { + } + List cEvents = es.getCachedEvents(EventC.class); + assertNotNull(cEvents); + assertEquals(3, cEvents.size()); + assertEquals(3, es.getCacheSizeForEventClass(EventC.class)); + + es.clearCache(EventB.class); + bEvents = es.getCachedEvents(EventB.class); + assertNull(bEvents); + lastAEvent = es.getLastEvent(EventA.class); + assertNotNull(lastAEvent); + aEvents = es.getCachedEvents(EventA.class); + assertNotNull(aEvents); + assertEquals(2, aEvents.size()); + EventX lastXEvent = es.getLastEvent(EventX.class); + assertNotNull(lastXEvent); + xEvents = es.getCachedEvents(EventX.class); + assertNotNull(xEvents); + assertEquals(5, xEvents.size()); + es.clearCache(EventA.class); + aEvents = es.getCachedEvents(EventA.class); + assertNull(aEvents); + lastXEvent = es.getLastEvent(EventX.class); + xEvents = es.getCachedEvents(EventX.class); + assertNull(lastXEvent); + assertNull(xEvents); + + es.publish(publishedEventX6); + es.publish(publishedEventB4); + es.publish(publishedEvent10); + es.clearCache(); + lastAEvent = es.getLastEvent(EventA.class); + assertNull(lastAEvent); + lastBEvent = es.getLastEvent(EventB.class); + assertNull(lastBEvent); + lastAEvent = es.getLastEvent(EventX.class); + assertNull(lastAEvent); + } + + + //Base + public static class EventA implements EventServiceEvent { + /** @return The issuer of the event. */ + public Object getSource() { + return null; + } + } + + //No relation + public static class EventB implements EventServiceEvent, Serializable { + /** @return The issuer of the event. */ + public Object getSource() { + return null; + } + } + + //No relation + public static class EventC implements EventServiceEvent, Serializable { + /** @return The issuer of the event. */ + public Object getSource() { + return null; + } + } + + //Derived 1 + public static class EventX extends EventA { + /** @return The issuer of the event. */ + public Object getSource() { + return null; + } + } + + //Derived 2 + public static class EventY extends EventA { + /** @return The issuer of the event. */ + public Object getSource() { + return null; + } + } + +} diff --git a/src/test/java/org/scijava/event/bushe/TestEventAction.java b/src/test/java/org/scijava/event/bushe/TestEventAction.java new file mode 100644 index 000000000..969bf2acf --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/TestEventAction.java @@ -0,0 +1,181 @@ +/** + * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com + * + * Licensed 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.scijava.event.bushe; + +import java.util.ArrayList; +import java.awt.event.ActionEvent; +import javax.swing.Action; +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JPanel; + +import junit.framework.TestCase; + +/** The DefaultEventService is NOT Swing-safe! But it's easier to test... */ +public class TestEventAction extends TestCase { + private ArrayList subscribedEvents; + private Object aSource = new Object(); + + private class MyEventServiceEvent extends AbstractEventServiceEvent { + private ActionEvent evt; + + public MyEventServiceEvent(Object source, ActionEvent evt) { + super(source); + this.evt = evt; + } + } + + public TestEventAction(String name) { + super(name); + } + + protected void setUp() throws Exception { + subscribedEvents = new ArrayList(); + System.clearProperty(EventServiceLocator.EVENT_BUS_CLASS); + System.clearProperty(EventServiceLocator.SWING_EVENT_SERVICE_CLASS); + } + + public void testEventBusTopicAction() { + EventBusAction action = new EventBusAction(); + action.putValue(Action.ACTION_COMMAND_KEY, "FooAction"); + EventTopicSubscriber subscriber = new EventTopicSubscriber() { + public void onEvent(String topic, Object evt) { + subscribedEvents.add(evt); + } + }; + EventBus.subscribeStrongly("FooAction", subscriber); + action.actionPerformed(new ActionEvent(this, 0, "FooAction")); + try { + Thread.sleep(500);//Calling hte EDT, need to slow this thread + } catch (InterruptedException e) { + } + assertEquals(1, subscribedEvents.size()); + assertNotNull(action);//keeps it from being garbage collected + } + + public void testEventBusTopicActionEventServiceValueFirst() { + EventBusAction action = new EventBusAction(); + action.putValue(EventBusAction.EVENT_SERVICE_TOPIC_NAME, "FooAction"); + action.putValue(Action.ACTION_COMMAND_KEY, "BarAction"); + EventBus.subscribeStrongly("FooAction", new EventTopicSubscriber() { + public void onEvent(String topic, Object evt) { + subscribedEvents.add(evt); + } + }); + action.actionPerformed(new ActionEvent(this, 0, "FooAction")); + try { + Thread.sleep(500);//Calling hte EDT, need to slow this thread + } catch (InterruptedException e) { + } + assertEquals(1, subscribedEvents.size()); + } + + public void testEventBusTopicActionIDValueFirst() { + EventBusAction action = new EventBusAction(); + action.putValue("ID", "FooAction"); + action.putValue(Action.ACTION_COMMAND_KEY, "BarAction"); + EventBus.subscribeStrongly("FooAction", new EventTopicSubscriber() { + public void onEvent(String topic, Object evt) { + subscribedEvents.add(evt); + } + }); + action.actionPerformed(new ActionEvent(this, 0, "FooAction")); + try { + Thread.sleep(500);//Calling hte EDT, need to slow this thread + } catch (InterruptedException e) { + } + assertEquals(1, subscribedEvents.size()); + } + + public void testEventBusTopicActionNameWorks() { + EventBusAction action = new EventBusAction(); + action.putValue(Action.NAME, "FooAction"); + EventBus.subscribeStrongly("FooAction", new EventTopicSubscriber() { + public void onEvent(String topic, Object evt) { + subscribedEvents.add(evt); + } + }); + action.actionPerformed(new ActionEvent(this, 0, "FooAction")); + try { + Thread.sleep(500);//Calling hte EDT, need to slow this thread + } catch (InterruptedException e) { + } + assertEquals(1, subscribedEvents.size()); + } + + public void testEventBusEventAction() { + EventBusAction action = new EventBusAction("FooAction", null) { + protected Object getEventServiceEvent(ActionEvent evt) { + return new MyEventServiceEvent(aSource, evt); + } + }; + EventBus.subscribe(MyEventServiceEvent.class, new EventSubscriber() { + public void onEvent(Object evt) { + assertEquals(((EventServiceEvent) evt).getSource(), aSource); + subscribedEvents.add(evt); + } + }); + action.setPublishesOnTopic(false); + action.actionPerformed(new ActionEvent(this, 0, "FooAction")); + try { + Thread.sleep(500);//Calling the EDT, need to slow this thread + } catch (InterruptedException e) { + } + assertEquals(1, subscribedEvents.size()); + } + + + public void testContainerEventAction() { + JFrame frame = new JFrame(); + JPanel panel = new JPanel(); + frame.setContentPane(panel); + ContainerEventServiceAction action = new ContainerEventServiceAction("FooAction", null); + JButton button = new JButton(action); + panel.add(button); + EventService es = ContainerEventServiceFinder.getEventService(button); + assertTrue(EventBus.getGlobalEventService() != es); + assertEquals(0, subscribedEvents.size()); + es.subscribe("FooAction", new EventTopicSubscriber() { + public void onEvent(String topic, Object evt) { + subscribedEvents.add(evt); + } + }); + button.doClick(); + try { + Thread.sleep(500);//Calling hte EDT, need to slow this thread + } catch (InterruptedException e) { + } + assertEquals(1, subscribedEvents.size()); + } + + public void testContainerEventActionException() { + ContainerEventServiceAction action = new ContainerEventServiceAction("FooAction", null); + try { + action.actionPerformed(new ActionEvent(this, 0, "Foo")); + fail("Throws exception when no event service"); + } catch (Throwable t) { + } + try { + action.actionPerformed(new ActionEvent(null, 0, "Foo")); + fail("Throws exception when no event service"); + } catch (Throwable t) { + } + action.setThrowsExceptionOnNullEventService(false); + action.actionPerformed(new ActionEvent(this, 0, "Foo")); + assertTrue("Set to not throw exception when no event service", true); + } + +} diff --git a/src/test/java/org/scijava/event/bushe/TestEventBus.java b/src/test/java/org/scijava/event/bushe/TestEventBus.java new file mode 100644 index 000000000..80f8cba2f --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/TestEventBus.java @@ -0,0 +1,570 @@ +/** + * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com + * + * Licensed 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.scijava.event.bushe; + +import java.lang.reflect.Method; +import java.lang.reflect.Modifier; +import java.lang.reflect.TypeVariable; +import java.awt.EventQueue; + +import javax.swing.JComponent; + +import junit.framework.TestCase; + +public class TestEventBus extends TestCase { + + private EventSubscriber eventSubscriber = null; + private EventTopicSubscriber eventTopicSubscriber; + private EBTestCounter testCounter = new EBTestCounter(); + + public TestEventBus(String name) { + super(name); + } + + protected void setUp() throws Exception { + EventBus.getGlobalEventService().clearAllSubscribers(); + } + + protected void tearDown() throws Exception { + } + + private EventServiceEvent createEvent() { + return new EventServiceEvent() { + public Object getSource() { + return ""; + } + }; + } + + private Class getEventClass() { + return createEvent().getClass(); + } + + private EventSubscriber createEventSubscriber(boolean throwException) { + SubscriberForTest test = new SubscriberForTest(testCounter, throwException); + return test; + } + + private EventTopicSubscriber createEventTopicSubscriber(boolean throwException) { + return new TopicSubscriberForTest(testCounter, throwException); + } + + private EventSubscriber getEventSubscriber() { + return getEventSubscriber(true); + } + + private EventSubscriber getEventSubscriber(boolean throwException) { + if (eventSubscriber == null) { + eventSubscriber = createEventSubscriber(throwException); + } + return eventSubscriber; + } + + public void testSubscribe() { + boolean actualReturn; + EventSubscriber subscriber = createEventSubscriber(false); + + actualReturn = EventBus.subscribe(getEventClass(), subscriber); + assertTrue("testSubscribe(new subscriber)", actualReturn); + + actualReturn = EventBus.subscribe(getEventClass(), subscriber); + assertFalse("testSubscribe(duplicate subscriber)", actualReturn); + + testCounter.eventsHandledCount = 0; + testCounter.subscribeExceptionCount = 0; + EventBus.publish(createEvent()); + EDTUtil.waitForEDT(); + + //The test passes if 1 subscribers completed and 0 subscribers threw exception. + assertEquals("testPublish(total)", 1, testCounter.eventsHandledCount); + assertEquals("testPublish(exceptions)", 0, testCounter.subscribeExceptionCount); + + try { + actualReturn = EventBus.subscribe((Class) null, getEventSubscriber()); + fail("subscribeStrongly(null, x) should have thrown exception"); + } catch (Exception e) { + } + + try { + actualReturn = EventBus.subscribe(getEventClass(), null); + fail("subscribeStrongly(x, null) should have thrown exception"); + } catch (Exception e) { + } + + } + + public static class SwingThreadTestEventSubscriber implements EventSubscriber { + public boolean wasOnSwingThread; + + public void onEvent(Object event) { + wasOnSwingThread = EventQueue.isDispatchThread(); + } + } + + public void testSwingThreading() { + SwingThreadTestEventSubscriber sub = new SwingThreadTestEventSubscriber(); + EventBus.subscribe(Number.class, sub); + EventBus.publish(1); + EDTUtil.waitForEDT(); + assertTrue("Expected the EventBus to dispatch on the EDT", sub.wasOnSwingThread); + } + + public void testSubscribeWeakly() { + boolean actualReturn; + EventSubscriber subscriber = createEventSubscriber(false); + + actualReturn = EventBus.subscribe(getEventClass(), subscriber); + assertTrue("testSubscribeWeakly(new subscriber)", actualReturn); + + actualReturn = EventBus.subscribe(getEventClass(), subscriber); + assertFalse("testSubscribe(duplicate subscriber)", actualReturn); + + testCounter.eventsHandledCount = 0; + testCounter.subscribeExceptionCount = 0; + EventBus.publish(createEvent()); + EDTUtil.waitForEDT(); + + //The test passes if 1 subscribers completed and 0 subscribers threw exception. + assertEquals("testPublish(total)", 1, testCounter.eventsHandledCount); + assertEquals("testPublish(exceptions)", 0, testCounter.subscribeExceptionCount); + subscriber = null; + System.gc(); + testCounter.eventsHandledCount = 0; + testCounter.subscribeExceptionCount = 0; + EventBus.publish(createEvent()); + EDTUtil.waitForEDT(); + + //The test passes if 1 subscribers completed and 0 subscribers threw exception. + assertEquals("testPublish(total)", 0, testCounter.eventsHandledCount); + assertEquals("testPublish(exceptions)", 0, testCounter.subscribeExceptionCount); + + try { + actualReturn = EventBus.subscribeStrongly((Class) null, getEventSubscriber()); + fail("subscribeStrongly(null, x) should have thrown exception"); + } catch (Exception e) { + } + + try { + actualReturn = EventBus.subscribeStrongly(getEventClass(), null); + fail("subscribeStrongly(x, null) should have thrown exception"); + } catch (Exception e) { + } + } + + public void testIllegalArgs() { + try { + EventBus.subscribeVetoListenerStrongly((Class) null, new VetoEventListenerForTest()); + fail(); + } catch (Throwable t) { + } + try { + EventBus.subscribeVetoListenerStrongly((String) null, new VetoTopicEventListenerForTest()); + fail(); + } catch (Throwable t) { + } + try { + EventBus.subscribeVetoListenerStrongly("foo", null); + fail(); + } catch (Throwable t) { + } + try { + EventBus.subscribeVetoListenerStrongly(getEventClass(), null); + fail(); + } catch (Throwable t) { + } + + + try { + EventBus.unsubscribeVetoListener((Class) null, new VetoEventListenerForTest()); + fail(); + } catch (Throwable t) { + } + try { + EventBus.unsubscribeVetoListener((String) null, new VetoTopicEventListenerForTest()); + fail(); + } catch (Throwable t) { + } + try { + EventBus.unsubscribeVetoListener("foo", null); + fail(); + } catch (Throwable t) { + } + try { + EventBus.unsubscribeVetoListener(getEventClass(), null); + fail(); + } catch (Throwable t) { + } + + } + + public void testVeto() { + boolean actualReturn; + EventSubscriber subscriber = createEventSubscriber(false); + + actualReturn = EventBus.subscribe(getEventClass(), subscriber); + + VetoEventListener vetoListener = new VetoEventListenerForTest(); + actualReturn = EventBus.subscribeVetoListenerStrongly(getEventClass(), vetoListener); + + testCounter.eventsHandledCount = 0; + testCounter.subscribeExceptionCount = 0; + EventBus.publish(createEvent()); + EDTUtil.waitForEDT(); + + //The test passes if 1 subscribers completed and 0 subscribers threw exception. + assertEquals("testVeto(total)", 0, testCounter.eventsHandledCount); + assertEquals("testVeto(exceptions)", 0, testCounter.subscribeExceptionCount); + EventBus.unsubscribeVetoListener(getEventClass(), vetoListener); + EventBus.publish(createEvent()); + EDTUtil.waitForEDT(); + + //The test passes if 1 subscribers completed and 0 subscribers threw exception. + assertEquals("testVeto(total)", 1, testCounter.eventsHandledCount); + assertEquals("testVeto(exceptions)", 0, testCounter.subscribeExceptionCount); + + } + + public void testVetoException() { + boolean actualReturn; + EventSubscriber subscriber = createEventSubscriber(false); + + actualReturn = EventBus.subscribe(getEventClass(), subscriber); + assertTrue(actualReturn); + VetoEventListener vetoListener = new VetoEventListenerForTest(true); + actualReturn = EventBus.subscribeVetoListenerStrongly(getEventClass(), vetoListener); + assertTrue(actualReturn); + + testCounter.eventsHandledCount = 0; + testCounter.subscribeExceptionCount = 0; + EventBus.publish(createEvent()); + EDTUtil.waitForEDT(); + + //The test passes if 1 subscribers completed and 0 subscribers threw exception. + assertEquals("testVeto(total)", 1, testCounter.eventsHandledCount); + assertEquals("testVeto(exceptions)", 0, testCounter.subscribeExceptionCount); + EventBus.unsubscribeVetoListener(getEventClass(), vetoListener); + EventBus.publish(createEvent()); + EDTUtil.waitForEDT(); + + //The test passes if 1 subscribers completed and 0 subscribers threw exception. + assertEquals("testVeto(total)", 2, testCounter.eventsHandledCount); + assertEquals("testVeto(exceptions)", 0, testCounter.subscribeExceptionCount); + System.out.println("Prevent garbage collection of subscriber by sys'outing it at the end:"+subscriber); + } + + public void testVetoTopic() { + boolean actualReturn; + EventTopicSubscriber subscriber = createEventTopicSubscriber(false); + + actualReturn = EventBus.subscribeStrongly("FooTopic", subscriber); + + VetoTopicEventListener vetoListener = new VetoTopicEventListener() { + public boolean shouldVeto(String topic, Object data) { + return true; + } + }; + actualReturn = EventBus.subscribeVetoListenerStrongly("FooTopic", vetoListener); + + testCounter.eventsHandledCount = 0; + testCounter.subscribeExceptionCount = 0; + EventBus.publish("FooTopic", "Bar"); + EDTUtil.waitForEDT(); + + //The test passes if 0 subscribers completed and 0 subscribers threw exception. + assertEquals("testVeto(total)", 0, testCounter.eventsHandledCount); + assertEquals("testVeto(exceptions)", 0, testCounter.subscribeExceptionCount); + EventBus.unsubscribeVetoListener("FooTopic", vetoListener); + EventBus.publish("FooTopic", "Bar"); + EDTUtil.waitForEDT(); + + //The test passes if 1 subscribers completed and 0 subscribers threw exception. + assertEquals("testVeto(total)", 1, testCounter.eventsHandledCount); + assertEquals("testVeto(exceptions)", 0, testCounter.subscribeExceptionCount); + } + + + public void testVetoWeak() { + boolean actualReturn; + EventSubscriber subscriber = createEventSubscriber(false); + + actualReturn = EventBus.subscribe(getEventClass(), subscriber); + + VetoEventListener vetoListener = new VetoEventListener() { + public boolean shouldVeto(Object evt) { + return true; + } + }; + actualReturn = EventBus.subscribeVetoListener(getEventClass(), vetoListener); + + testCounter.eventsHandledCount = 0; + testCounter.subscribeExceptionCount = 0; + EventBus.publish(createEvent()); + EDTUtil.waitForEDT(); + + //The test passes if 1 subscribers completed and 0 subscribers threw exception. + assertEquals("testVeto(total)", 0, testCounter.eventsHandledCount); + assertEquals("testVeto(exceptions)", 0, testCounter.subscribeExceptionCount); + vetoListener = null; + System.gc(); + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + } + EventBus.publish(createEvent()); + EDTUtil.waitForEDT(); + + //The test passes if 1 subscribers completed and 0 subscribers threw exception. + assertEquals("testVeto(total)", 1, testCounter.eventsHandledCount); + assertEquals("testVeto(exceptions)", 0, testCounter.subscribeExceptionCount); + } + + public void testVetoTopicWeak() { + boolean actualReturn; + EventTopicSubscriber subscriber = createEventTopicSubscriber(false); + + actualReturn = EventBus.subscribeStrongly("FooTopic", subscriber); + + VetoTopicEventListener vetoListener = new VetoTopicEventListener() { + public boolean shouldVeto(String topic, Object data) { + return true; + } + }; + actualReturn = EventBus.subscribeVetoListener("FooTopic", vetoListener); + + testCounter.eventsHandledCount = 0; + testCounter.subscribeExceptionCount = 0; + EventBus.publish("FooTopic", "Bar"); + EDTUtil.waitForEDT(); + + //The test passes if 1 subscribers completed and 0 subscribers threw exception. + assertEquals("testVeto(total)", 0, testCounter.eventsHandledCount); + assertEquals("testVeto(exceptions)", 0, testCounter.subscribeExceptionCount); + vetoListener = null; + System.gc(); + EventBus.publish("FooTopic", "Bar"); + EDTUtil.waitForEDT(); + //The test passes if 1 subscribers completed and 0 subscribers threw exception. + assertEquals("testVeto(total)", 1, testCounter.eventsHandledCount); + assertEquals("testVeto(exceptions)", 0, testCounter.subscribeExceptionCount); + } + + + public void testUnsubscribe() { + EventBus.subscribe(getEventClass(), getEventSubscriber(false)); + + boolean actualReturn; + + try { + actualReturn = EventBus.unsubscribe((Class) null, getEventSubscriber()); + fail("unsubscribe(null, x) should have thrown exception"); + } catch (Exception e) { + } + + try { + actualReturn = EventBus.unsubscribe(getEventClass(), null); + fail("unsubscribe(x, null) should have thrown exception"); + } catch (Exception e) { + } + + testCounter.eventsHandledCount = 0; + testCounter.subscribeExceptionCount = 0; + EventBus.publish(createEvent()); + EDTUtil.waitForEDT(); + + //The test passes if 1 subscribers completed and 0 subscribers threw exception. + assertEquals("testPublish(total)", 1, testCounter.eventsHandledCount); + assertEquals("testPublish(exceptions)", 0, testCounter.subscribeExceptionCount); + + actualReturn = EventBus.unsubscribe(getEventClass(), getEventSubscriber()); + assertTrue("return value", actualReturn); + + testCounter.eventsHandledCount = 0; + testCounter.subscribeExceptionCount = 0; + EventBus.publish(createEvent()); + EDTUtil.waitForEDT(); + + //The test passes if 1 subscribers completed and 0 subscribers threw exception. + assertEquals("testPublish(total)", 0, testCounter.eventsHandledCount); + assertEquals("testPublish(exceptions)", 0, testCounter.subscribeExceptionCount); + } + + public void testUnsubscribeTopic() { + EventTopicSubscriber eventTopicSubscriber = createEventTopicSubscriber(false); + EventBus.subscribeStrongly("FooTopic", eventTopicSubscriber); + + boolean actualReturn; + + try { + actualReturn = EventBus.unsubscribe((String) null, eventTopicSubscriber); + fail("unsubscribe(null, x) should have thrown exception"); + } catch (Exception e) { + } + + try { + actualReturn = EventBus.unsubscribe("FooTopic", null); + fail("unsubscribe(x, null) should have thrown exception"); + } catch (Exception e) { + } + + testCounter.eventsHandledCount = 0; + testCounter.subscribeExceptionCount = 0; + EventBus.publish("FooTopic", "Foo"); + EDTUtil.waitForEDT(); + + //The test passes if 1 subscribers completed and 0 subscribers threw exception. + assertEquals("testPublish(total)", 1, testCounter.eventsHandledCount); + assertEquals("testPublish(exceptions)", 0, testCounter.subscribeExceptionCount); + + actualReturn = EventBus.unsubscribe("FooTopic", eventTopicSubscriber); + assertTrue("return value", actualReturn); + + testCounter.eventsHandledCount = 0; + testCounter.subscribeExceptionCount = 0; + EventBus.publish("FooTopic", "Foo"); + EDTUtil.waitForEDT(); + + //The test passes if 1 subscribers completed and 0 subscribers threw exception. + assertEquals("testPublish(total)", 0, testCounter.eventsHandledCount); + assertEquals("testPublish(exceptions)", 0, testCounter.subscribeExceptionCount); + } + + /** + * Test that the publish method works and that exceptions thrown in event subscribers don't halt publishing. In the + * test 2 subscribers are good and 2 subscribers throw exceptions. + */ + public void testPublish() { + try { + EventBus.publish(null); + EDTUtil.waitForEDT(); + fail("publish(null) should have thrown exception"); + } catch (Exception e) { + } + + try { + EventBus.publish((String) null, createEvent()); + EDTUtil.waitForEDT(); + fail("publish(null, x) should have thrown exception"); + } catch (Exception e) { + } + + EventBus.publish(createEvent()); + EDTUtil.waitForEDT(); + assertEquals("testPublish(completed)", 0, testCounter.eventsHandledCount); + assertEquals("testPublish(exceptions)", 0, testCounter.subscribeExceptionCount); + + EventBus.publish("Foo", "Bar"); + EDTUtil.waitForEDT(); + assertEquals("testPublish(completed)", 0, testCounter.eventsHandledCount); + assertEquals("testPublish(exceptions)", 0, testCounter.subscribeExceptionCount); + + EventBus.subscribe(getEventClass(), createEventSubscriber(true)); + EventBus.subscribe(getEventClass(), createEventSubscriber(false)); + EventBus.subscribe(getEventClass(), createEventSubscriber(true)); + EventBus.subscribe(getEventClass(), createEventSubscriber(false)); + + testCounter.eventsHandledCount = 0; + testCounter.subscribeExceptionCount = 0; + EventBus.publish(createEvent()); + EDTUtil.waitForEDT(); + + //The test passes if 2 subscribers completed and 2 subscribers threw exception. + assertEquals("testPublish(completed)", 4, testCounter.eventsHandledCount); + assertEquals("testPublish(exceptions)", 2, testCounter.subscribeExceptionCount); + + EventSubscriber eventSubscriber = createEventSubscriber(false); + EventBus.subscribe(ObjectEvent.class, eventSubscriber); + testCounter.eventsHandledCount = 0; + testCounter.subscribeExceptionCount = 0; + ObjectEvent evt = new ObjectEvent("Foo", "Bar"); + assertEquals(evt.getEventObject(), "Bar"); + EventBus.publish(evt); + EDTUtil.waitForEDT(); + assertEquals("testPublish(completed)", 1, testCounter.eventsHandledCount); + assertEquals("testPublish(exceptions)", 0, testCounter.subscribeExceptionCount); + } + + /** + * This tests whether the EventBus has a static method for each EventService method + */ + public void testNumOfMethods() { + Method[] esMethods = EventService.class.getMethods(); + Method[] ebMethods = EventBus.class.getMethods(); + //Are all the es methods in the eb? + for (int i = 0; i < esMethods.length; i++) { + Method esMethod = esMethods[i]; + boolean foundMatch = false; + nextMethod: + for (int j = 0; j < ebMethods.length; j++) { + Method ebMethod = ebMethods[j]; + if (esMethod.getName().equals(ebMethod.getName())) { + TypeVariable[] esTypes = esMethod.getTypeParameters(); + TypeVariable[] ebTypes = ebMethod.getTypeParameters(); + if (esTypes.length != ebTypes.length) { + break; + } + for (int typeCount = 0; typeCount < ebTypes.length; typeCount++) { + TypeVariable esType = esTypes[typeCount]; + TypeVariable ebType = ebTypes[typeCount]; + if (!(ebType+"").equals((""+esType))) { + continue nextMethod; + } + } + Class[] esParams = esMethod.getParameterTypes(); + Class[] ebParams = ebMethod.getParameterTypes(); + if (esParams.length != ebParams.length) { + continue nextMethod; + } + for (int typeCount = 0; typeCount < ebParams.length; typeCount++) { + Class esType = esParams[typeCount]; + Class ebType = ebParams[typeCount]; + if (!ebType.equals(esType)) { + continue nextMethod; + } + } + foundMatch = true; + } + } + if (!foundMatch) { + System.out.println("No match for es method:" + esMethod.getName() + ", " + esMethod +", i="+i); + } + assertTrue(foundMatch); + } + + //Are all the eb methods static? + ebMethods = EventBus.class.getDeclaredMethods(); + for (int i = 0; i < ebMethods.length; i++) { + Method ebMethod = ebMethods[i]; + int modifiers = ebMethod.getModifiers(); + boolean isStatic = Modifier.isStatic(modifiers); + if (!isStatic) { + System.out.println("EventBus has a non-static method:" + ebMethod); + } + assertTrue(isStatic); + } + } + + //Really a compilation test + public void testGeneric() { + EventBus.subscribe(String.class, new EventSubscriber() { + public void onEvent(JComponent event) { + } + }); + EventBus.subscribe("foo", new EventTopicSubscriber() { + public void onEvent(String topic, JComponent data) { + } + }); + } +} diff --git a/src/test/java/org/scijava/event/bushe/TestEventBusServiceClass.java b/src/test/java/org/scijava/event/bushe/TestEventBusServiceClass.java new file mode 100644 index 000000000..c0b839a4a --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/TestEventBusServiceClass.java @@ -0,0 +1,32 @@ +package org.scijava.event.bushe; + +import javax.swing.JComponent; + +import junit.framework.TestCase; + +/** The DefaultEventService is NOT Swing-safe! But it's easier to test... */ +public class TestEventBusServiceClass extends TestCase { + + public TestEventBusServiceClass(String name) { + super(name); + } + + protected void setUp() throws Exception { + System.setProperty(EventServiceLocator.SWING_EVENT_SERVICE_CLASS, BadEventService.class.getName()); + } + + protected void tearDown() throws Exception { + } + + public void testConfigurableEventService() { + try { + EventBus.subscribe("foo", new EventTopicSubscriber() { + public void onEvent(String topic, Object data) { + } + }); + fail("Expected runtime exception since the plugged in EventService is a bad one."); + } catch (Throwable ex) { + System.out.println("Got ex"); + } + } +} diff --git a/src/test/java/org/scijava/event/bushe/TestEventBusServiceClassBadType.java b/src/test/java/org/scijava/event/bushe/TestEventBusServiceClassBadType.java new file mode 100644 index 000000000..a89ec9765 --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/TestEventBusServiceClassBadType.java @@ -0,0 +1,30 @@ +package org.scijava.event.bushe; + +import junit.framework.TestCase; + +/** The DefaultEventService is NOT Swing-safe! But it's easier to test... */ +public class TestEventBusServiceClassBadType extends TestCase { + + public TestEventBusServiceClassBadType(String name) { + super(name); + } + + protected void setUp() throws Exception { + System.setProperty(EventServiceLocator.SWING_EVENT_SERVICE_CLASS, EventServiceLocator.class.getName()); + } + + protected void tearDown() throws Exception { + } + + public void testConfigurableEventService() { + try { + EventBus.subscribe("foo", new EventTopicSubscriber() { + public void onEvent(String topic, Object data) { + } + }); + fail("Expected runtime exception since the plugged in EventService is a bad one."); + } catch (Throwable ex) { + System.out.println("Got ex"); + } + } +} diff --git a/src/test/java/org/scijava/event/bushe/TestEventBusTiming.java b/src/test/java/org/scijava/event/bushe/TestEventBusTiming.java new file mode 100644 index 000000000..791f558d7 --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/TestEventBusTiming.java @@ -0,0 +1,107 @@ +/** + * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com + * + * Licensed 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.scijava.event.bushe; + +import junit.framework.TestCase; + +/** The DefaultEventService is NOT Swing-safe! But it's easier to test... */ +public class TestEventBusTiming extends EventServiceLocatorTestCase { + + private EventSubscriber eventSubscriber = null; + private EventTopicSubscriber eventTopicSubscriber; + private SubscriberTimingEvent timing; + private EBTestCounter testCounter = new EBTestCounter(); + + public TestEventBusTiming(String name) { + super(name); + } + + private EventServiceEvent createEvent() { + return new EventServiceEvent() { + public Object getSource() { + return ""; + } + }; + } + + private Class getEventClass() { + return createEvent().getClass(); + } + + private EventSubscriber createEventSubscriber(boolean throwException) { + return new SubscriberForTest(testCounter, throwException); + } + + private EventTopicSubscriber createEventTopicSubscriber(boolean throwException) { + return new TopicSubscriberForTest(testCounter, throwException); + } + + private EventSubscriber createEventSubscriber(Long waitTime) { + return new SubscriberForTest(testCounter, waitTime); + } + + private EventSubscriber getEventSubscriber() { + return getEventSubscriber(true); + } + + private EventSubscriber getEventSubscriber(boolean throwException) { + if (eventSubscriber == null) { + eventSubscriber = createEventSubscriber(throwException); + } + return eventSubscriber; + } + + private EventTopicSubscriber getEventTopicSubscriber() { + if (eventTopicSubscriber == null) { + eventTopicSubscriber = createEventTopicSubscriber(false); + } + return eventTopicSubscriber; + } + + public void thisOnlyWorksSometimesNow_testTimeHandling() { + EventBus.subscribe(getEventClass(), createEventSubscriber(new Long(200L))); + final Boolean[] wasCalled = new Boolean[1]; + EventBus.subscribe(SubscriberTimingEvent.class, new EventSubscriber() { + public void onEvent(Object evt) { + wasCalled[0] = Boolean.TRUE; + } + }); + EventBus.publish(createEvent()); + EDTUtil.waitForEDT(); + assertTrue(wasCalled[0] == null); + EventBus.subscribe(getEventClass(), createEventSubscriber(new Long(200L))); + final Boolean[] wasCalled2 = new Boolean[1]; + EventBus.subscribe(SubscriberTimingEvent.class, new EventSubscriber() { + public void onEvent(Object evt) { + wasCalled2[0] = Boolean.TRUE; + timing = (SubscriberTimingEvent) evt; + } + }); + EventBus.publish(createEvent()); + EDTUtil.waitForEDT(); + assertTrue(wasCalled2[0] == Boolean.TRUE); + assertNotNull(timing.getSource()); + assertNotNull(timing.getEnd()); + assertNotNull(timing.getEvent()); + assertNotNull(timing.getSubscriber()); + assertNotNull(timing.getStart()); + assertNotNull(timing.getTimeLimitMilliseconds()); + assertFalse(timing.isEventHandlingExceeded()); + assertFalse(timing.isVetoExceeded()); + assertNull(timing.getVetoEventListener()); + } + +} diff --git a/src/test/java/org/scijava/event/bushe/TestEventServiceLocator.java b/src/test/java/org/scijava/event/bushe/TestEventServiceLocator.java new file mode 100644 index 000000000..8b00962cf --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/TestEventServiceLocator.java @@ -0,0 +1,50 @@ +/** + * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com + * + * Licensed 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.scijava.event.bushe; + +import junit.framework.TestCase; + +public class TestEventServiceLocator extends EventServiceLocatorTestCase { + + public TestEventServiceLocator(String name) { + super(name); + } + + public void testDefaultEventBusService() { + EventService ebs = EventServiceLocator.getEventBusService(); + assertTrue(ebs instanceof SwingEventService); + EventService ses = EventServiceLocator.getSwingEventService(); + assertTrue(ses == ebs); + } + public void testDefaultEventBusService2() { + EventService ses = EventServiceLocator.getSwingEventService(); + assertTrue(ses instanceof SwingEventService); + EventService ebs = EventServiceLocator.getEventBusService(); + assertTrue(ses == ebs); + } + public void testNamedEventBusService1() { + EventService ses = EventServiceLocator.getEventService(EventServiceLocator.SERVICE_NAME_SWING_EVENT_SERVICE); + assertTrue(ses instanceof SwingEventService); + EventService ebs = EventServiceLocator.getEventService(EventServiceLocator.SERVICE_NAME_EVENT_BUS); + assertTrue(ses == ebs); + } + public void testNamedEventBusService2() { + EventService ebs = EventServiceLocator.getEventService(EventServiceLocator.SERVICE_NAME_EVENT_BUS); + assertTrue(ebs instanceof SwingEventService); + EventService ses = EventServiceLocator.getEventService(EventServiceLocator.SERVICE_NAME_SWING_EVENT_SERVICE); + assertTrue(ses == ebs); + } +} diff --git a/src/test/java/org/scijava/event/bushe/TestEventServiceLocator2.java b/src/test/java/org/scijava/event/bushe/TestEventServiceLocator2.java new file mode 100644 index 000000000..138ec277a --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/TestEventServiceLocator2.java @@ -0,0 +1,46 @@ +/** + * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com + * + * Licensed 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.scijava.event.bushe; + +import junit.framework.TestCase; + +/** The DefaultEventService is NOT Swing-safe! But it's easier to test... */ +public class TestEventServiceLocator2 extends EventServiceLocatorTestCase { + + public TestEventServiceLocator2(String name) { + super(name); + } + + public void testSetEventBusService() { + EventService ebs = new ThreadSafeEventService(); + try { + EventServiceLocator.setEventService(EventServiceLocator.SERVICE_NAME_EVENT_BUS, ebs); + } catch (EventServiceExistsException e) { + fail("It doesn't exist yet"); + } + EventService eb = EventServiceLocator.getEventService(EventServiceLocator.SERVICE_NAME_EVENT_BUS); + assertTrue(eb instanceof ThreadSafeEventService); + assertTrue(eb == ebs); + EventService ses = EventServiceLocator.getEventService(EventServiceLocator.SERVICE_NAME_SWING_EVENT_SERVICE); + assertTrue(ses != ebs); + assertTrue(ses instanceof SwingEventService); + try { + EventServiceLocator.setEventService(EventServiceLocator.SERVICE_NAME_EVENT_BUS, ebs); + fail("It already exist yet"); + } catch (EventServiceExistsException e) { + } + } +} \ No newline at end of file diff --git a/src/test/java/org/scijava/event/bushe/TestEventServiceLocator3.java b/src/test/java/org/scijava/event/bushe/TestEventServiceLocator3.java new file mode 100644 index 000000000..1cd9c4964 --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/TestEventServiceLocator3.java @@ -0,0 +1,44 @@ +/** + * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com + * + * Licensed 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.scijava.event.bushe; + +import junit.framework.TestCase; + +public class TestEventServiceLocator3 extends EventServiceLocatorTestCase { + public TestEventServiceLocator3(String name) { + super(name); + } + + public void testSetEventBusService() { + EventService ebs = new SwingEventService(); + try { + EventServiceLocator.setEventService(EventServiceLocator.SERVICE_NAME_SWING_EVENT_SERVICE, ebs); + } catch (EventServiceExistsException e) { + fail("It doesn't exist yet"); + } + EventService eb = EventServiceLocator.getEventService(EventServiceLocator.SERVICE_NAME_SWING_EVENT_SERVICE); + assertTrue(eb instanceof ThreadSafeEventService); + assertTrue(eb == ebs); + EventService ses = EventServiceLocator.getEventService(EventServiceLocator.SERVICE_NAME_EVENT_BUS); + assertTrue(ses == ebs); + assertTrue(ses instanceof ThreadSafeEventService); + try { + EventServiceLocator.setEventService(EventServiceLocator.SERVICE_NAME_SWING_EVENT_SERVICE, ebs); + fail("It already exist yet"); + } catch (EventServiceExistsException e) { + } + } +} \ No newline at end of file diff --git a/src/test/java/org/scijava/event/bushe/TestEventServiceLocator4.java b/src/test/java/org/scijava/event/bushe/TestEventServiceLocator4.java new file mode 100644 index 000000000..99106419a --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/TestEventServiceLocator4.java @@ -0,0 +1,44 @@ +/** + * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com + * + * Licensed 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.scijava.event.bushe; + +import junit.framework.TestCase; + +public class TestEventServiceLocator4 extends EventServiceLocatorTestCase { + + public TestEventServiceLocator4(String name) { + super(name); + } + + public void testSetEventBusService() { + EventService ebs = new ThreadSafeEventService(); + EventService ses = new SwingEventService(); + try { + EventServiceLocator.setEventService(EventServiceLocator.SERVICE_NAME_EVENT_BUS, ebs); + } catch (EventServiceExistsException e) { + fail("It doesn't exist yet"); + } + try { + EventServiceLocator.setEventService(EventServiceLocator.SERVICE_NAME_SWING_EVENT_SERVICE, ses); + } catch (EventServiceExistsException e) { + fail("It doesn't exist yet"); + } + EventService eb = EventServiceLocator.getEventService(EventServiceLocator.SERVICE_NAME_EVENT_BUS); + EventService se = EventServiceLocator.getEventService(EventServiceLocator.SERVICE_NAME_SWING_EVENT_SERVICE); + assertTrue(eb == ebs); + assertTrue(se == ses); + } +} \ No newline at end of file diff --git a/src/test/java/org/scijava/event/bushe/TestEventServiceLocator5.java b/src/test/java/org/scijava/event/bushe/TestEventServiceLocator5.java new file mode 100644 index 000000000..421d0bc70 --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/TestEventServiceLocator5.java @@ -0,0 +1,43 @@ +/** + * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com + * + * Licensed 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.scijava.event.bushe; + +import junit.framework.TestCase; + +public class TestEventServiceLocator5 extends EventServiceLocatorTestCase { + public TestEventServiceLocator5(String name) { + super(name); + } + + public void testSetEventBusService() { + EventService ebs = new ThreadSafeEventService(); + EventService ses = new SwingEventService(); + try { + EventServiceLocator.setEventService(EventServiceLocator.SERVICE_NAME_SWING_EVENT_SERVICE, ses); + } catch (EventServiceExistsException e) { + fail("It doesn't exist yet"); + } + try { + EventServiceLocator.setEventService(EventServiceLocator.SERVICE_NAME_EVENT_BUS, ebs); + } catch (EventServiceExistsException e) { + fail("It doesn't exist yet"); + } + EventService se = EventServiceLocator.getEventService(EventServiceLocator.SERVICE_NAME_SWING_EVENT_SERVICE); + EventService eb = EventServiceLocator.getEventService(EventServiceLocator.SERVICE_NAME_EVENT_BUS); + assertTrue(eb == ebs); + assertTrue(se == ses); + } +} \ No newline at end of file diff --git a/src/test/java/org/scijava/event/bushe/TestEventServiceLocator6.java b/src/test/java/org/scijava/event/bushe/TestEventServiceLocator6.java new file mode 100644 index 000000000..8e035348b --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/TestEventServiceLocator6.java @@ -0,0 +1,44 @@ +/** + * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com + * + * Licensed 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.scijava.event.bushe; + +import junit.framework.TestCase; + +public class TestEventServiceLocator6 extends EventServiceLocatorTestCase { + + public TestEventServiceLocator6(String name) { + super(name); + } + + public void testSetEventBusService() { + EventService ebs = new ThreadSafeEventService(); + EventService ses = new SwingEventService(); + try { + EventServiceLocator.setEventService(EventServiceLocator.SERVICE_NAME_SWING_EVENT_SERVICE, ses); + } catch (EventServiceExistsException e) { + fail("It doesn't exist yet"); + } + EventService eb = EventServiceLocator.getEventBusService(); + try { + EventServiceLocator.setEventService(EventServiceLocator.SERVICE_NAME_EVENT_BUS, ebs); + fail("It exists"); + } catch (EventServiceExistsException e) { + } + EventService se = EventServiceLocator.getEventService(EventServiceLocator.SERVICE_NAME_SWING_EVENT_SERVICE); + assertTrue(se == ses); + assertTrue(eb == ses); + } +} \ No newline at end of file diff --git a/src/test/java/org/scijava/event/bushe/TestEventServiceLocator7.java b/src/test/java/org/scijava/event/bushe/TestEventServiceLocator7.java new file mode 100644 index 000000000..c345bf74d --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/TestEventServiceLocator7.java @@ -0,0 +1,49 @@ +/** + * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com + * + * Licensed 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.scijava.event.bushe; + +import junit.framework.TestCase; + +public class TestEventServiceLocator7 extends EventServiceLocatorTestCase { + + public TestEventServiceLocator7(String name) { + super(name); + } + + public void testSetEventBusService() { + EventService ebs = new ThreadSafeEventService(); + EventService ses = new SwingEventService(); + try { + EventServiceLocator.setEventService(EventServiceLocator.SERVICE_NAME_EVENT_BUS, ebs); + } catch (EventServiceExistsException e) { + fail("It doesn't exist yet"); + } + EventService se = EventServiceLocator.getSwingEventService(); + try { + EventServiceLocator.setEventService(EventServiceLocator.SERVICE_NAME_EVENT_BUS, ebs); + fail("It exists"); + } catch (EventServiceExistsException e) { + } + try { + EventServiceLocator.setEventService(EventServiceLocator.SERVICE_NAME_SWING_EVENT_SERVICE, ebs); + fail("It exists"); + } catch (EventServiceExistsException e) { + } + EventService eb = EventServiceLocator.getEventBusService(); + assertTrue(eb == ebs); + assertTrue(se != eb); + } +} \ No newline at end of file diff --git a/src/test/java/org/scijava/event/bushe/TestEventServiceLocatorConfiguration.java b/src/test/java/org/scijava/event/bushe/TestEventServiceLocatorConfiguration.java new file mode 100644 index 000000000..c7acd90b1 --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/TestEventServiceLocatorConfiguration.java @@ -0,0 +1,28 @@ +package org.scijava.event.bushe; + +import junit.framework.TestCase; + +/** The DefaultEventService is NOT Swing-safe! But it's easier to test... */ +public class TestEventServiceLocatorConfiguration extends EventServiceLocatorTestCase { + + public static class ES1 extends ThreadSafeEventService { + + } + + public static class ES2 extends ThreadSafeEventService { + + } + + public TestEventServiceLocatorConfiguration(String name) { + super(name); + } + + public void testConfigurableEventService() { + System.setProperty(EventServiceLocator.SWING_EVENT_SERVICE_CLASS, ES1.class.getName()); + System.setProperty(EventServiceLocator.EVENT_BUS_CLASS, ES2.class.getName()); + EventService es = EventServiceLocator.getSwingEventService(); + assertTrue(es instanceof ES1); + es = EventServiceLocator.getEventBusService(); + assertTrue(es instanceof ES2); + } +} \ No newline at end of file diff --git a/src/test/java/org/scijava/event/bushe/TestEventServiceLocatorConfiguration2.java b/src/test/java/org/scijava/event/bushe/TestEventServiceLocatorConfiguration2.java new file mode 100644 index 000000000..aa4548b50 --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/TestEventServiceLocatorConfiguration2.java @@ -0,0 +1,28 @@ +package org.scijava.event.bushe; + +import junit.framework.TestCase; + +/** The DefaultEventService is NOT Swing-safe! But it's easier to test... */ +public class TestEventServiceLocatorConfiguration2 extends EventServiceLocatorTestCase { + + public static class ES1 extends ThreadSafeEventService { + + } + + public static class ES2 extends ThreadSafeEventService { + + } + + public TestEventServiceLocatorConfiguration2(String name) { + super(name); + } + + public void testConfigurableEventService1() { + System.setProperty(EventServiceLocator.SWING_EVENT_SERVICE_CLASS, ES1.class.getName()); + EventService es = EventServiceLocator.getEventBusService(); + assertTrue(es instanceof ThreadSafeEventService); + es = EventServiceLocator.getSwingEventService(); + assertTrue(es instanceof ES1); + } + +} \ No newline at end of file diff --git a/src/test/java/org/scijava/event/bushe/TestEventServiceLocatorConfiguration3.java b/src/test/java/org/scijava/event/bushe/TestEventServiceLocatorConfiguration3.java new file mode 100644 index 000000000..b79e1eb24 --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/TestEventServiceLocatorConfiguration3.java @@ -0,0 +1,28 @@ +package org.scijava.event.bushe; + +import junit.framework.TestCase; + +/** The DefaultEventService is NOT Swing-safe! But it's easier to test... */ +public class TestEventServiceLocatorConfiguration3 extends EventServiceLocatorTestCase { + + public static class ES1 extends ThreadSafeEventService { + + } + + public static class ES2 extends ThreadSafeEventService { + + } + + public TestEventServiceLocatorConfiguration3(String name) { + super(name); + } + + public void testConfigurableEventService3() { + System.setProperty(EventServiceLocator.EVENT_BUS_CLASS, ES2.class.getName()); + EventService es = EventServiceLocator.getEventBusService(); + assertTrue(es instanceof ES2); + es = EventServiceLocator.getSwingEventService(); + assertTrue(es instanceof SwingEventService); + } + +} \ No newline at end of file diff --git a/src/test/java/org/scijava/event/bushe/TestEventServiceLocatorConfiguration4.java b/src/test/java/org/scijava/event/bushe/TestEventServiceLocatorConfiguration4.java new file mode 100644 index 000000000..0b5ba3ca8 --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/TestEventServiceLocatorConfiguration4.java @@ -0,0 +1,27 @@ +package org.scijava.event.bushe; + +import junit.framework.TestCase; + +/** The DefaultEventService is NOT Swing-safe! But it's easier to test... */ +public class TestEventServiceLocatorConfiguration4 extends EventServiceLocatorTestCase { + + public static class ES1 extends ThreadSafeEventService { + + } + + public static class ES2 extends ThreadSafeEventService { + + } + + public TestEventServiceLocatorConfiguration4(String name) { + super(name); + } + + public void testConfigurableEventService4() { + System.setProperty(EventServiceLocator.EVENT_BUS_CLASS, ES2.class.getName()); + EventService es = EventServiceLocator.getSwingEventService(); + assertTrue(es instanceof SwingEventService); + es = EventServiceLocator.getEventBusService(); + assertTrue(es instanceof ES2); + } +} \ No newline at end of file diff --git a/src/test/java/org/scijava/event/bushe/TestPerformance.java b/src/test/java/org/scijava/event/bushe/TestPerformance.java new file mode 100644 index 000000000..a936200ee --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/TestPerformance.java @@ -0,0 +1,75 @@ +package org.scijava.event.bushe; + +import junit.framework.TestCase; +import junit.framework.Assert; + +import javax.swing.*; +import java.awt.*; +import java.awt.List; +import java.util.*; + +/** + * For proving performance. + */ +public class TestPerformance extends TestCase { + private EventSubscriber doNothingSubscriber = new EventSubscriber() { + public void onEvent(Object event) { + } + }; + + private EventTopicSubscriber doNothingTopicSubscriber = new EventTopicSubscriber() { + public void onEvent(String topic, Object payload) { + } + }; + + public void testClassPerformance() { + ThreadSafeEventService eventService = new ThreadSafeEventService(); + Class[] classes = {Color.class, String.class, JTextField.class, List.class, JButton.class, + Boolean.class, Integer.class, Boolean.class, Set.class, Date.class}; + Object[] payloads = {Color.BLUE, "foo", new JTextField(), new ArrayList(), new JButton(), + Boolean.TRUE, 35, 36L, new HashSet(), new Date()}; + for (Class aClass : classes) { + eventService.subscribe(aClass, doNothingSubscriber); + } + + long start = System.currentTimeMillis(); + int count = 100000; + for (int i=0; i < count; i++) { + for (Object payload : payloads) { + eventService.publish(payload); + } + } + long end = System.currentTimeMillis(); + long duration = (end - start)/1000; + int numPubs = count * payloads.length; + System.out.println("Time for "+ numPubs +" publications with subscribers to "+classes.length + +" different classes subscribed to was "+ duration +" s. Average:"+((double)duration/(double)numPubs)); + Assert.assertTrue("Things are slowing down, "+numPubs+" class publications used to take 3.3 seconds, it now takes " +duration, duration < 7); + } + + public void testStringPerformance() { + ThreadSafeEventService eventService = new ThreadSafeEventService(); + String[] strings = {"Color", "String", "JTextField", "List", "JButton", + "Boolean", "Integer", "Boolean", "Set", "Date"}; + Object[] payloads = {Color.BLUE, "foo", new JTextField(), new ArrayList(), new JButton(), + Boolean.TRUE, 35, 36L, new HashSet(), new Date()}; + for (String aString : strings) { + eventService.subscribe(aString, doNothingTopicSubscriber); + } + + long start = System.currentTimeMillis(); + int count = 100000; + for (int i=0; i < count; i++) { + for (int j=0; j < strings.length; j++) { + eventService.publish(strings[j], payloads[j]); + } + } + long end = System.currentTimeMillis(); + long duration = (end - start)/1000; + int numPubs = count * payloads.length; + System.out.println("Time for "+ numPubs +" topic publications with topic subscribers to "+ strings.length + +" different strings subscribed to was "+ duration +" s. Average:"+((double)duration/(double)numPubs)); + Assert.assertTrue("Things are slowing down, "+numPubs+" string publications used to take 1.3 seconds, it now takes "+duration, duration < 4); + } + +} diff --git a/src/test/java/org/scijava/event/bushe/TestPrioritizedSubscribers.java b/src/test/java/org/scijava/event/bushe/TestPrioritizedSubscribers.java new file mode 100644 index 000000000..9f44264f0 --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/TestPrioritizedSubscribers.java @@ -0,0 +1,593 @@ +package org.scijava.event.bushe; + +import java.util.List; +import java.util.ArrayList; +import java.util.Random; +import java.util.Collections; +import java.util.Arrays; +import java.util.regex.Pattern; + +import java.awt.Color; + +import junit.framework.TestCase; + +import org.scijava.event.bushe.annotation.AnnotationProcessor; + +/** + * Tests the Prioritized interface va. normal FIFO order. + */ +public class TestPrioritizedSubscribers extends TestCase { + private ThreadSafeEventService eventService = null; + private static final String EVENT_SERVICE_TEST_PRIORITY_ANNOTATION = "testPriorityAnnotation"; + + + /** + * Base class that adds itself to the list it's given when told. Nice for annotation subscribers. + */ + class OrderRecorder { + private List listToRecordTo; + + public OrderRecorder(List listToRecordTo) { + this.listToRecordTo = listToRecordTo; + } + + public void record() { + listToRecordTo.add(this); + } + } + + /** + * A subscriber that adds itself to a supplied list so that the order of calls is recorded. + */ + class OrderRecorderSubscriber extends OrderRecorder implements EventSubscriber { + + OrderRecorderSubscriber(List listToRecordTo) { + super(listToRecordTo); + } + + public void onEvent(Object event) { + record(); + } + } + + /** + * Ditto, for topics + */ + class OrderRecorderTopicSubscriber extends OrderRecorder implements EventTopicSubscriber { + + OrderRecorderTopicSubscriber(List listToRecordTo) { + super(listToRecordTo); + } + + public void onEvent(String topic, Object event) { + record(); + } + } + + class PrioritizedOrderRecorderSubscriber extends OrderRecorderSubscriber implements Prioritized { + private int priority; + + public PrioritizedOrderRecorderSubscriber(int priority, List listToRecordTo) { + super(listToRecordTo); + this.priority = priority; + } + + public int getPriority() { + return priority; + } + } + + class PrioritizedOrderRecorderTopicSubscriber extends OrderRecorderTopicSubscriber implements Prioritized { + private int priority; + + public PrioritizedOrderRecorderTopicSubscriber(int priority, List listToRecordTo) { + super(listToRecordTo); + this.priority = priority; + } + + public int getPriority() { + return priority; + } + } + + public TestPrioritizedSubscribers(String name) { + super(name); + } + + protected void setUp() throws Exception { + eventService = new ThreadSafeEventService(null, false); + EventServiceLocator.setEventService(EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, null); + } + + protected void tearDown() throws Exception { + eventService = null; + } + + public void testNormalFIFO() { + List calledOrder = new ArrayList(); + List originalOrder = new ArrayList(); + originalOrder.add(new OrderRecorderSubscriber(calledOrder)); + originalOrder.add(new OrderRecorderSubscriber(calledOrder)); + originalOrder.add(new OrderRecorderSubscriber(calledOrder)); + originalOrder.add(new OrderRecorderSubscriber(calledOrder)); + originalOrder.add(new OrderRecorderSubscriber(calledOrder)); + //mixing an inner class into the test + EventSubscriber inner = new EventSubscriber() { + public void onEvent(Object event) { + } + }; + //originalOrder.add(inner); + originalOrder.add(new OrderRecorderSubscriber(calledOrder)); + originalOrder.add(new OrderRecorderSubscriber(calledOrder)); + //add them all + for (EventSubscriber eventSubscriber : originalOrder) { + eventService.subscribe(Color.class, eventSubscriber); + } + eventService.publish(Color.BLUE); + assertEquals(originalOrder, calledOrder); + System.out.println("inner sout to avoid garbage collection" + inner); + } + + public void testNoPrioritizedWithZeroPrioritized() { + List calledOrder = new ArrayList(); + List originalOrder = new ArrayList(); + originalOrder.add(new OrderRecorderSubscriber(calledOrder)); + originalOrder.add(new PrioritizedOrderRecorderSubscriber(0, calledOrder)); + originalOrder.add(new OrderRecorderSubscriber(calledOrder)); + originalOrder.add(new PrioritizedOrderRecorderSubscriber(0, calledOrder)); + originalOrder.add(new OrderRecorderSubscriber(calledOrder)); + //mixing an inner class into the test + PrioritizedEventSubscriber inner = new PrioritizedEventSubscriber() { + public void onEvent(Object event) { + } + + public int getPriority() { + return 0; + } + }; + //originalOrder.add(inner); + originalOrder.add(new PrioritizedOrderRecorderSubscriber(0, calledOrder)); + originalOrder.add(new OrderRecorderSubscriber(calledOrder)); + //add them all + for (EventSubscriber eventSubscriber : originalOrder) { + eventService.subscribe(Color.class, eventSubscriber); + } + eventService.publish(Color.BLUE); + assertEquals(originalOrder, calledOrder); + System.out.println("inner sout to avoid garbage collection" + inner); + } + + public void testOnlyPrioritized() { + List calledOrder = new ArrayList(); + List originalOrder = new ArrayList(); + for (int i = 0; i < 100; i++) { + Random random = new Random(); + originalOrder.add(new PrioritizedOrderRecorderSubscriber(random.nextInt(10000) - 5000, calledOrder)); + } + for (EventSubscriber eventSubscriber : originalOrder) { + eventService.subscribe(Color.class, eventSubscriber); + } + eventService.publish(Color.BLUE); + int lastPriority = -5001; + for (EventSubscriber eventSubscriber : calledOrder) { + int priority = ((PrioritizedOrderRecorderSubscriber) eventSubscriber).getPriority(); + assertTrue(priority >= lastPriority); + lastPriority = priority; + } + } + + public void testMixedOfPrioritizedNonPrioritizedAndPrioritized0() { + Random rand = new Random(); + List calledOrder = new ArrayList(); + List prioritized = new ArrayList(); + //100 negative + for (int i = 0; i < 100; i++) { + Random random = new Random(); + prioritized.add(new PrioritizedOrderRecorderSubscriber(random.nextInt(10000) * -1, calledOrder)); + } + //100 positive + for (int i = 0; i < 100; i++) { + Random random = new Random(); + prioritized.add(new PrioritizedOrderRecorderSubscriber(random.nextInt(10000), calledOrder)); + } + Collections.shuffle(prioritized); + //100 fifo + List fifo = new ArrayList(); + for (int i = 0; i < 100; i++) { + if (rand.nextBoolean()) { + fifo.add(new OrderRecorderSubscriber(calledOrder)); + } else { + fifo.add(new PrioritizedOrderRecorderSubscriber(0, calledOrder)); + } + } + List prioritizedCopy = new ArrayList(prioritized); + List fifoCopy = new ArrayList(fifo); + //Subscribe all, randomizing a fifo or prioritized + EventSubscriber eventSubscriber; + int subscribeCount = 0; + int prioritizedSubscribeCount = 0; + int nonPrioritizedSubscribeCount = 0; + for (int i = 0; i < 300; i++) { + if (prioritizedCopy.isEmpty()) { + eventSubscriber = fifoCopy.remove(0); + nonPrioritizedSubscribeCount++; + } else if (fifoCopy.isEmpty()) { + eventSubscriber = prioritizedCopy.remove(0); + prioritizedSubscribeCount++; + } else { + if (rand.nextBoolean()) { + eventSubscriber = fifoCopy.remove(0); + nonPrioritizedSubscribeCount++; + } else { + eventSubscriber = prioritizedCopy.remove(0); + prioritizedSubscribeCount++; + } + } + subscribeCount++; + boolean success = eventService.subscribe(Color.class, eventSubscriber); + assertFalse(!success); + } + + List subscribersToColor = eventService.getSubscribers(Color.class); + assertEquals(300, subscribersToColor.size()); + assertEquals(100, nonPrioritizedSubscribeCount); + assertEquals(200, prioritizedSubscribeCount); + assertEquals(300, subscribeCount); + eventService.publish(Color.BLUE); + assertEquals(300, calledOrder.size()); + int lastPriority = -10001; + for (int i = 0; i < 99; i++) { + EventSubscriber subscriber = calledOrder.get(i); + assertTrue(subscriber instanceof PrioritizedOrderRecorderSubscriber); + PrioritizedOrderRecorderSubscriber prioritizedOrderRecorderSubscriber = (PrioritizedOrderRecorderSubscriber) subscriber; + int priority = prioritizedOrderRecorderSubscriber.getPriority(); + assertTrue(priority < 0); + assertTrue(priority >= lastPriority); + lastPriority = priority; + } + for (int i = 100; i < 199; i++) { + EventSubscriber subscriber = calledOrder.get(i); + assertTrue(subscriber instanceof OrderRecorderSubscriber); + if (subscriber instanceof PrioritizedOrderRecorderSubscriber) { + PrioritizedOrderRecorderSubscriber prioritizedOrderRecorderSubscriber = (PrioritizedOrderRecorderSubscriber) subscriber; + int priority = prioritizedOrderRecorderSubscriber.getPriority(); + assertTrue(priority == 0); + } + assertEquals(subscriber, fifo.get(i - 100)); + } + lastPriority = 0; + for (int i = 200; i < 299; i++) { + EventSubscriber subscriber = calledOrder.get(i); + assertTrue(subscriber instanceof PrioritizedOrderRecorderSubscriber); + PrioritizedOrderRecorderSubscriber prioritizedOrderRecorderSubscriber = (PrioritizedOrderRecorderSubscriber) subscriber; + int priority = prioritizedOrderRecorderSubscriber.getPriority(); + assertTrue(priority > 0); + assertTrue(priority >= lastPriority); + lastPriority = priority; + } + System.out.println(prioritized.size()); + System.out.println(fifo.size()); + } + + public void testPriorityAnnotation() throws EventServiceExistsException { + EventServiceLocator.setEventService(EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, eventService); + List calledOrder = new ArrayList(); + OrderRecorder sn100 = new OrderRecorder(calledOrder) { + @org.scijava.event.bushe.annotation.EventSubscriber(eventClass = Color.class, eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = -100) + public void annotateMe(Object foo) { + record(); + } + }; + OrderRecorder sn50 = new OrderRecorder(calledOrder) { + @org.scijava.event.bushe.annotation.EventSubscriber(eventClass = Color.class, eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = -100) + public void annotateMe(Object foo) { + record(); + } + }; + PrioritizedOrderRecorderSubscriber spn30 = new PrioritizedOrderRecorderSubscriber(-30, calledOrder); + OrderRecorderSubscriber so_1 = new OrderRecorderSubscriber(calledOrder); + OrderRecorder s100 = new OrderRecorder(calledOrder) { + @org.scijava.event.bushe.annotation.EventSubscriber(eventClass = Color.class, eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = 100) + public void annotateMe(Object foo) { + record(); + } + }; + OrderRecorder sn10 = new OrderRecorder(calledOrder) { + @org.scijava.event.bushe.annotation.EventSubscriber(eventClass = Color.class, eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = -10) + public void annotateMe(Object foo) { + record(); + } + }; + OrderRecorder s0_2 = new OrderRecorder(calledOrder) { + @org.scijava.event.bushe.annotation.EventSubscriber(eventClass = Color.class, eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = 0) + public void annotateMe(Object foo) { + record(); + } + }; + OrderRecorder s0_3 = new OrderRecorder(calledOrder) { + @org.scijava.event.bushe.annotation.EventSubscriber(eventClass = Color.class, eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION) + public void annotateMe(Object foo) { + record(); + } + }; + OrderRecorder s50 = new OrderRecorder(calledOrder) { + @org.scijava.event.bushe.annotation.EventSubscriber(eventClass = Color.class, eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = 50) + public void annotateMe(Object foo) { + record(); + } + }; + OrderRecorder s0_4 = new OrderRecorder(calledOrder) { + @org.scijava.event.bushe.annotation.EventSubscriber(eventClass = Color.class, eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION) + public void annotateMe(Object foo) { + record(); + } + }; + OrderRecorder s10 = new OrderRecorder(calledOrder) { + @org.scijava.event.bushe.annotation.EventSubscriber(eventClass = Color.class, eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = 10) + public void annotateMe(Object foo) { + record(); + } + }; + OrderRecorder s0_5 = new OrderRecorder(calledOrder) { + @org.scijava.event.bushe.annotation.EventSubscriber(eventClass = Color.class, eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION) + public void annotateMe(Object foo) { + record(); + } + }; + Object[] toAdd = {sn100, s100, so_1, spn30, s0_2, s50, s0_3, sn10, sn50, s0_4, s10, s0_5}; + List expectedResult = Arrays.asList(sn100, sn50, spn30, sn10, so_1, s0_2, s0_3, s0_4, s0_5, s10, s50, s100); + for (Object o : toAdd) { + if (o instanceof EventSubscriber) { + eventService.subscribe(Color.class, (EventSubscriber) o); + } else { + AnnotationProcessor.process(o); + } + } + eventService.publish(Color.BLUE); + assertEquals(expectedResult, calledOrder); + } + + /** + * With more than one subscriber to the EventBus by class, if any of the + * subscribers are Prioritized with a negative priority, then no FIFO subscribers + * are notified. + *

      + * This holds for non-Prioritized FIFO subscribers, and Prioritized subscribers + * with Priority of 0. + */ + public void testIssue26OneNegOthersNormal() { + final List calledOrder = new ArrayList(); + //non-Prioritized FIFO subscribers + EventSubscriber sub1 = new EventSubscriber() { + public void onEvent(Object event) { + calledOrder.add(1); + } + }; + EventSubscriber sub0 = new PrioritizedEventSubscriber() { + public void onEvent(Object event) { + calledOrder.add(-1); + } + public int getPriority() { + return -1; + } + }; + EventSubscriber sub2 = new EventSubscriber() { + public void onEvent(Object event) { + calledOrder.add(2); + } + }; + + eventService.subscribe(Color.class, sub1); + eventService.subscribe(Color.class, sub0); + eventService.subscribe(Color.class, sub2); + eventService.publish(Color.BLUE); + assertEquals(calledOrder.get(0).intValue(), -1); + assertEquals(calledOrder.get(1).intValue(), 1); + assertEquals(calledOrder.get(2).intValue(), 2); + System.out.println("to avoid garbage collection:"+sub1+sub2+sub0); + } + + /** + * With more than one subscriber to the EventBus by class, if any of the + * subscribers are Prioritized with a negative priority, then no FIFO subscribers + * are notified. + *

      + * This holds for non-Prioritized FIFO subscribers, and Prioritized subscribers + * with Priority of 0. + */ + public void testOnePosOthersNormal() { + final List calledOrder = new ArrayList(); + //non-Prioritized FIFO subscribers + EventSubscriber sub1 = new EventSubscriber() { + public void onEvent(Object event) { + calledOrder.add(1); + } + }; + EventSubscriber sub0 = new PrioritizedEventSubscriber() { + public void onEvent(Object event) { + calledOrder.add(11); + } + public int getPriority() { + return 11; + } + }; + EventSubscriber sub2 = new EventSubscriber() { + public void onEvent(Object event) { + calledOrder.add(2); + } + }; + + eventService.subscribe(Color.class, sub1); + eventService.subscribe(Color.class, sub0); + eventService.subscribe(Color.class, sub2); + eventService.publish(Color.BLUE); + assertEquals(1, calledOrder.get(0).intValue()); + assertEquals(2, calledOrder.get(1).intValue()); + assertEquals(11, calledOrder.get(2).intValue()); + System.out.println("to avoid garbage collection:"+sub1+sub2+sub0); + } + + /** + * shameless copy and paste test, only the subscriber type was changed + */ + public void testPriorityTopicAnnotation() throws EventServiceExistsException { + EventServiceLocator.setEventService(EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, eventService); + List calledOrder = new ArrayList(); + OrderRecorder sn100 = new OrderRecorder(calledOrder) { + @org.scijava.event.bushe.annotation.EventTopicSubscriber(topic = "Color", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = -100) + public void annotateMe(String topic, Object foo) { + record(); + } + }; + OrderRecorder sn50 = new OrderRecorder(calledOrder) { + @org.scijava.event.bushe.annotation.EventTopicSubscriber(topic = "Color", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = -100) + public void annotateMe(String topic, Object foo) { + record(); + } + }; + PrioritizedOrderRecorderTopicSubscriber spn30 = new PrioritizedOrderRecorderTopicSubscriber(-30, calledOrder); + OrderRecorderTopicSubscriber so_1 = new OrderRecorderTopicSubscriber(calledOrder); + OrderRecorder s100 = new OrderRecorder(calledOrder) { + @org.scijava.event.bushe.annotation.EventTopicSubscriber(topic = "Color", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = 100) + public void annotateMe(String topic, Object foo) { + record(); + } + }; + OrderRecorder sn10 = new OrderRecorder(calledOrder) { + @org.scijava.event.bushe.annotation.EventTopicSubscriber(topic = "Color", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = -10) + public void annotateMe(String topic, Object foo) { + record(); + } + }; + OrderRecorder s0_2 = new OrderRecorder(calledOrder) { + @org.scijava.event.bushe.annotation.EventTopicSubscriber(topic = "Color", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = 0) + public void annotateMe(String topic, Object foo) { + record(); + } + }; + OrderRecorder s0_3 = new OrderRecorder(calledOrder) { + @org.scijava.event.bushe.annotation.EventTopicSubscriber(topic = "Color", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION) + public void annotateMe(String topic, Object foo) { + record(); + } + }; + OrderRecorder s50 = new OrderRecorder(calledOrder) { + @org.scijava.event.bushe.annotation.EventTopicSubscriber(topic = "Color", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = 50) + public void annotateMe(String topic, Object foo) { + record(); + } + }; + OrderRecorder s0_4 = new OrderRecorder(calledOrder) { + @org.scijava.event.bushe.annotation.EventTopicSubscriber(topic = "Color", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION) + public void annotateMe(String topic, Object foo) { + record(); + } + }; + OrderRecorder s10 = new OrderRecorder(calledOrder) { + @org.scijava.event.bushe.annotation.EventTopicSubscriber(topic = "Color", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = 10) + public void annotateMe(String topic, Object foo) { + record(); + } + }; + OrderRecorder s0_5 = new OrderRecorder(calledOrder) { + @org.scijava.event.bushe.annotation.EventTopicSubscriber(topic = "Color", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION) + public void annotateMe(String topic, Object foo) { + record(); + } + }; + Object[] toAdd = {sn100, s100, so_1, spn30, s0_2, s50, s0_3, sn10, sn50, s0_4, s10, s0_5}; + List expectedResult = Arrays.asList(sn100, sn50, spn30, sn10, so_1, s0_2, s0_3, s0_4, s0_5, s10, s50, s100); + for (Object o : toAdd) { + if (o instanceof EventTopicSubscriber) { + eventService.subscribe("Color", (EventTopicSubscriber) o); + } else { + AnnotationProcessor.process(o); + } + } + eventService.publish("Color", Color.BLUE); + assertEquals(expectedResult, calledOrder); + } + + + /** + * Another shameless copy and paste test, only the subscriber type was changed + */ + public void testPriorityTopicPatternAnnotation() throws EventServiceExistsException { + EventServiceLocator.setEventService(EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, eventService); + List calledOrder = new ArrayList(); + OrderRecorder sn100 = new OrderRecorder(calledOrder) { + @org.scijava.event.bushe.annotation.EventTopicPatternSubscriber(topicPattern = "Col[a-z]+", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = -100) + public void annotateMe(String topic, Object foo) { + record(); + } + }; + OrderRecorder sn50 = new OrderRecorder(calledOrder) { + @org.scijava.event.bushe.annotation.EventTopicPatternSubscriber(topicPattern = "Col[a-z]+", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = -50) + public void annotateMe(String topic, Object foo) { + record(); + } + }; + PrioritizedOrderRecorderTopicSubscriber spn30 = new PrioritizedOrderRecorderTopicSubscriber(-30, calledOrder); + OrderRecorderTopicSubscriber so_1 = new OrderRecorderTopicSubscriber(calledOrder); + OrderRecorder s100 = new OrderRecorder(calledOrder) { + @org.scijava.event.bushe.annotation.EventTopicPatternSubscriber(topicPattern = "Col[a-z]+", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = 100) + public void annotateMe(String topic, Object foo) { + record(); + } + }; + OrderRecorder sn10 = new OrderRecorder(calledOrder) { + @org.scijava.event.bushe.annotation.EventTopicPatternSubscriber(topicPattern = "Col[a-z]+", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = -10) + public void annotateMe(String topic, Object foo) { + record(); + } + }; + OrderRecorder s0_2 = new OrderRecorder(calledOrder) { + @org.scijava.event.bushe.annotation.EventTopicPatternSubscriber(topicPattern = "Col[a-z]+", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = 0) + public void annotateMe(String topic, Object foo) { + record(); + } + }; + OrderRecorder s0_3 = new OrderRecorder(calledOrder) { + @org.scijava.event.bushe.annotation.EventTopicPatternSubscriber(topicPattern = "Col[a-z]+", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION) + public void annotateMe(String topic, Object foo) { + record(); + } + }; + OrderRecorder s50 = new OrderRecorder(calledOrder) { + @org.scijava.event.bushe.annotation.EventTopicPatternSubscriber(topicPattern = "Col[a-z]+", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = 50) + public void annotateMe(String topic, Object foo) { + record(); + } + }; + OrderRecorder s0_4 = new OrderRecorder(calledOrder) { + @org.scijava.event.bushe.annotation.EventTopicPatternSubscriber(topicPattern = "Col[a-z]+", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION) + public void annotateMe(String topic, Object foo) { + record(); + } + }; + OrderRecorder s10 = new OrderRecorder(calledOrder) { + @org.scijava.event.bushe.annotation.EventTopicPatternSubscriber(topicPattern = "Col[a-z]+", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = 10) + public void annotateMe(String topic, Object foo) { + record(); + } + }; + OrderRecorder s0_5 = new OrderRecorder(calledOrder) { + @org.scijava.event.bushe.annotation.EventTopicPatternSubscriber(topicPattern = "Col[a-z]+", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION) + public void annotateMe(String topic, Object foo) { + record(); + } + }; + Object[] toAdd = {sn100, s100, so_1, spn30, s0_2, s50, s0_3, sn10, sn50, s0_4, s10, s0_5}; + List expectedResult = Arrays.asList(sn100, sn50, spn30, sn10, so_1, s0_2, s0_3, s0_4, s0_5, s10, s50, s100); + for (Object o : toAdd) { + if (o instanceof OrderRecorderTopicSubscriber) { + Pattern pattern = Pattern.compile("Col[a-z]+"); + eventService.subscribe(pattern, (EventTopicSubscriber) o); + } else { + AnnotationProcessor.process(o); + } + } + eventService.publish("Color", Color.BLUE); + assertEquals(expectedResult, calledOrder); + } +} diff --git a/src/test/java/org/scijava/event/bushe/TestPublicationStates.java b/src/test/java/org/scijava/event/bushe/TestPublicationStates.java new file mode 100644 index 000000000..d4aed0a81 --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/TestPublicationStates.java @@ -0,0 +1,67 @@ +package org.scijava.event.bushe; + +import junit.framework.Assert; +import junit.framework.TestCase; + +import java.util.List; +import java.util.ArrayList; + +/** + * Tests the implementation of publication states + */ +public class TestPublicationStates extends TestCase { + List stuffHappens = new ArrayList(); + ObjectEvent event = new ObjectEvent(null, null) { + @Override + public void setPublicationStatus(PublicationStatus status) { + super.setPublicationStatus(status); + stuffHappens.add(status); + } + }; + EventSubscriber subscriber = new EventSubscriber() { + public void onEvent(Object event) { + stuffHappens.add(this); + } + }; + + EventService es = new ThreadSafeEventService() { + @Override + protected void setStatus(PublicationStatus status, Object event, String topic, Object eventObj) { + super.setStatus(status, event, topic, eventObj); + } + }; + + public void testStates() { + stuffHappens.clear(); + es.subscribe(ObjectEvent.class, subscriber); + es.publish(event); + List expected = new ArrayList(); + expected.add(PublicationStatus.Initiated); + expected.add(PublicationStatus.Queued); + expected.add(PublicationStatus.Publishing); + expected.add(subscriber); + expected.add(PublicationStatus.Completed); + Assert.assertEquals(expected.size(), stuffHappens.size()); + for (int i = 0; i < expected.size(); i++) { + Assert.assertEquals(expected.get(i), stuffHappens.get(i)); + } + } + + public void testVetoStates() { + stuffHappens.clear(); + es.subscribe(ObjectEvent.class, subscriber); + es.subscribeVetoListener(ObjectEvent.class, new VetoEventListener() { + public boolean shouldVeto(Object event) { + return true; + } + }); + es.publish(event); + List expected = new ArrayList(); + expected.add(PublicationStatus.Initiated); + expected.add(PublicationStatus.Vetoed); + Assert.assertEquals(expected.size(), stuffHappens.size()); + for (int i = 0; i < expected.size(); i++) { + Assert.assertEquals(expected.get(i), stuffHappens.get(i)); + } + } +} diff --git a/src/test/java/org/scijava/event/bushe/TopicSubscriberForTest.java b/src/test/java/org/scijava/event/bushe/TopicSubscriberForTest.java new file mode 100644 index 000000000..3b7836df8 --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/TopicSubscriberForTest.java @@ -0,0 +1,35 @@ +package org.scijava.event.bushe; + +/** + * @author Michael Bushe + * @since Nov 19, 2005 11:00:53 PM + */ +public class TopicSubscriberForTest implements EventTopicSubscriber { + private boolean throwException; + private Long waitTime; + private EBTestCounter testDefaultEventService; + + public TopicSubscriberForTest(EBTestCounter testDefaultEventService, Long waitTime) { + this.testDefaultEventService = testDefaultEventService; + this.waitTime = waitTime; + } + + public TopicSubscriberForTest(EBTestCounter testDefaultEventService, boolean throwException) { + this.testDefaultEventService = testDefaultEventService; + this.throwException = throwException; + } + + public void onEvent(String topic, Object evt) { + if (waitTime != null) { + try { + Thread.sleep(waitTime.longValue()); + } catch (InterruptedException e) { + } + } + testDefaultEventService.eventsHandledCount++; + if (throwException) { + testDefaultEventService.subscribeExceptionCount++; + throw new IllegalArgumentException(); + } + } +} diff --git a/src/test/java/org/scijava/event/bushe/VetoEventListenerForTest.java b/src/test/java/org/scijava/event/bushe/VetoEventListenerForTest.java new file mode 100644 index 000000000..81a481185 --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/VetoEventListenerForTest.java @@ -0,0 +1,24 @@ +package org.scijava.event.bushe; + +/** + * @author Michael Bushe + * @since Nov 19, 2005 11:00:42 PM + */ +public class VetoEventListenerForTest implements VetoEventListener { + private boolean throwException; + + public VetoEventListenerForTest() { + this(false); + } + + public VetoEventListenerForTest(boolean throwException) { + this.throwException = throwException; + } + + public boolean shouldVeto(Object evt) { + if (throwException) { + throw new IllegalArgumentException("veto ex"); + } + return true; + } +} diff --git a/src/test/java/org/scijava/event/bushe/VetoTopicEventListenerForTest.java b/src/test/java/org/scijava/event/bushe/VetoTopicEventListenerForTest.java new file mode 100644 index 000000000..af8bf79e5 --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/VetoTopicEventListenerForTest.java @@ -0,0 +1,24 @@ +package org.scijava.event.bushe; + +/** + * @author Michael Bushe + * @since Nov 19, 2005 11:00:42 PM + */ +public class VetoTopicEventListenerForTest implements VetoTopicEventListener { + private boolean throwException; + + public VetoTopicEventListenerForTest() { + this(false); + } + + VetoTopicEventListenerForTest(boolean throwException) { + this.throwException = throwException; + } + + public boolean shouldVeto(String topic, Object data) { + if (throwException) { + throw new IllegalArgumentException("veto ex"); + } + return true; + } +} diff --git a/src/test/java/org/scijava/event/bushe/annotation/AbstractSubscriber.java b/src/test/java/org/scijava/event/bushe/annotation/AbstractSubscriber.java new file mode 100644 index 000000000..01f71125f --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/annotation/AbstractSubscriber.java @@ -0,0 +1,27 @@ +package org.scijava.event.bushe.annotation; + +/** + * Intended to answer this post: + * https://eventbus.dev.java.net/servlets/ProjectForumMessageView?messageID=30702&forumID=1834 + */ +public abstract class AbstractSubscriber { + private String targetType; + + abstract protected void initialize(String type); + + @EventSubscriber(eventClass=MyData.class) + public void loadDocumentAnalysis(MyData data) { + System.out.println(data + " received by " + getClass().getName()); + setTargetType(data.getClassification()); + //getStatusCallback().startProgress(getClass().getCanonicalName(), true, null); + initialize(getTargetType()); + } + + public void setTargetType(String targetType) { + this.targetType = targetType; + } + + public String getTargetType() { + return targetType; + } +} diff --git a/src/test/java/org/scijava/event/bushe/annotation/AnnotatedEventSubscriber.java b/src/test/java/org/scijava/event/bushe/annotation/AnnotatedEventSubscriber.java new file mode 100644 index 000000000..4e5db4945 --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/annotation/AnnotatedEventSubscriber.java @@ -0,0 +1,90 @@ +package org.scijava.event.bushe.annotation; + +import java.io.File; +import java.util.Collection; +import java.util.Iterator; +import java.util.List; +import java.awt.Color; +import javax.swing.JComponent; +import javax.swing.JToggleButton; + +import org.scijava.event.bushe.ThreadSafeEventService; + +/** Test class for class-based subscriptions */ +public class AnnotatedEventSubscriber { + static int timesColorChanged = 0; + static String lastCall = null; + static int timesCalled = 0; + + public static int getTimesColorChanged() { + return timesColorChanged; + } + + public static void setTimesColorChanged(int times) { + timesColorChanged = times; + } + + public static int getTimesCalled() { + return timesCalled; + } + + public static void setTimesCalled(int times) { + timesCalled = times; + } + + public static String getLastCall() { + return lastCall; + } + + public static void setLastCall(String call) { + lastCall = call; + } + + @EventSubscriber + public void doColorChange(Color color) { + timesColorChanged++; + timesCalled++; + } + + @EventSubscriber(eventClass = List.class) + public void doList(Collection collection) { + lastCall = "doList"; + timesCalled++; + } + + @EventSubscriber(eventClass = JToggleButton.class, exact = true) + public void doJToggleButtonExactly(JComponent list) { + lastCall = "doJToggleButtonExactly"; + timesCalled++; + } + + @EventSubscriber(eventClass = Iterator.class, + eventServiceName = "IteratorService", + autoCreateEventServiceClass = ThreadSafeEventService.class) + public void autoCreateEventServiceClass(Iterator it) { + lastCall = "autoCreateEventServiceClass"; + timesCalled++; + } + + @EventTopicSubscriber(topic = "File.Open") + public void simpleTopicOpenFile(String topic, File file) { + lastCall = "simpleTopicOpenFile"; + timesCalled++; + } + + @EventTopicSubscriber(topic = "Iterator", + eventServiceName = "IteratorService", + autoCreateEventServiceClass = ThreadSafeEventService.class) + public void autoCreateEventServiceTopic(String topic, Iterator it) { + lastCall = "autoCreateEventServiceClass"; + timesCalled++; + } + + @EventTopicPatternSubscriber(topicPattern = "IceCream.*", + eventServiceName = "IceCreamService") + public void doIceCream(String topic, String order) { + lastCall = "doIceCream"; + timesCalled++; + } + +} diff --git a/src/test/java/org/scijava/event/bushe/annotation/AnnotatedVetoSubscriber.java b/src/test/java/org/scijava/event/bushe/annotation/AnnotatedVetoSubscriber.java new file mode 100644 index 000000000..6c82ec00f --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/annotation/AnnotatedVetoSubscriber.java @@ -0,0 +1,85 @@ +package org.scijava.event.bushe.annotation; + +import java.io.File; +import java.util.Collection; +import java.util.Iterator; +import java.util.List; +import java.awt.Color; +import javax.swing.JComponent; +import javax.swing.JToggleButton; + +import org.scijava.event.bushe.ThreadSafeEventService; + +/** Test class for class-based subscriptions. + * Does not like null, empty, red or cherry */ +public class AnnotatedVetoSubscriber { + + @VetoSubscriber + public boolean vetoBlueColorChange(Color color) { + if (color == Color.RED) { + return true; + } else { + return false; + } + } + + @VetoSubscriber(eventClass = List.class) + public boolean doList(Collection collection) { + if (collection == null || collection.isEmpty()) { + return true; + } else { + return false; + } + } + + @VetoSubscriber(eventClass = JToggleButton.class, exact = true) + public boolean doJToggleButtonExactly(JComponent button) { + if (button.getForeground() == Color.RED) { + return true; + } else { + return false; + } + } + + @VetoSubscriber(eventClass = Iterator.class, + eventServiceName = "IteratorService", + autoCreateEventServiceClass = ThreadSafeEventService.class) + public boolean autoCreateEventServiceClass(Iterator it) { + if (it == null || !it.hasNext()) { + return true; + } else { + return false; + } + } + + @VetoTopicSubscriber(topic = "File.Open") + public boolean simpleTopicOpenFile(String topic, File file) { + if (file == null) { + return true; + } else { + return false; + } + } + + @VetoTopicSubscriber(topic = "Iterator", + eventServiceName = "IteratorService", + autoCreateEventServiceClass = ThreadSafeEventService.class) + public boolean autoCreateEventServiceTopic(String topic, Iterator it) { + if (it == null || !it.hasNext()) { + return true; + } else { + return false; + } + } + + @VetoTopicPatternSubscriber(topicPattern = "IceCream.*", + eventServiceName = "IceCreamService") + public boolean doIceCream(String topic, String order) { + if (topic.indexOf("Cherry") > -1) { + return true; + } else { + return false; + } + } + +} diff --git a/src/test/java/org/scijava/event/bushe/annotation/AnotherAnnotatedEventSubscriber.java b/src/test/java/org/scijava/event/bushe/annotation/AnotherAnnotatedEventSubscriber.java new file mode 100644 index 000000000..de7a4c9f9 --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/annotation/AnotherAnnotatedEventSubscriber.java @@ -0,0 +1,48 @@ +package org.scijava.event.bushe.annotation; + +import java.util.List; +import java.util.Collection; +import java.util.Iterator; +import java.io.File; +import java.awt.Color; +import javax.swing.JToggleButton; +import javax.swing.JComponent; + +import org.scijava.event.bushe.ThreadSafeEventService; + +/** Test class for class-based subscriptions */ +public class AnotherAnnotatedEventSubscriber { + static int timesColorChanged = 0; + static String lastCall = null; + static int timesCalled = 0; + + public static int getTimesColorChanged() { + return timesColorChanged; + } + + public static void setTimesColorChanged(int times) { + timesColorChanged = times; + } + + public static int getTimesCalled() { + return timesCalled; + } + + public static void setTimesCalled(int times) { + timesCalled = times; + } + + public static String getLastCall() { + return lastCall; + } + + public static void setLastCall(String call) { + lastCall = call; + } + + @EventSubscriber(eventClass = List.class, referenceStrength = ReferenceStrength.STRONG) + public void doList(Collection collection) { + lastCall = "doList"; + timesCalled++; + } +} diff --git a/src/test/java/org/scijava/event/bushe/annotation/AnotherDoubleAnnotatedEventSubscriber.java b/src/test/java/org/scijava/event/bushe/annotation/AnotherDoubleAnnotatedEventSubscriber.java new file mode 100644 index 000000000..92bdf0534 --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/annotation/AnotherDoubleAnnotatedEventSubscriber.java @@ -0,0 +1,23 @@ +package org.scijava.event.bushe.annotation; + +import java.util.List; +import java.util.Collection; + +/** Test class for class-based subscriptions */ +public class AnotherDoubleAnnotatedEventSubscriber { + + static int timesCalled = 0; + + public static int getTimesCalled() { + return timesCalled; + } + + public static void setTimesCalled(int times) { + timesCalled = times; + } + + @EventSubscriber(eventClass = List.class) + public void doList(Collection collection) { + timesCalled++; + } +} diff --git a/src/test/java/org/scijava/event/bushe/annotation/ConcreteSubscriber.java b/src/test/java/org/scijava/event/bushe/annotation/ConcreteSubscriber.java new file mode 100644 index 000000000..701ce66b1 --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/annotation/ConcreteSubscriber.java @@ -0,0 +1,17 @@ +package org.scijava.event.bushe.annotation; + +/** + * Intended to answer this post: + * https://eventbus.dev.java.net/servlets/ProjectForumMessageView?messageID=30702&forumID=1834 + */ +public class ConcreteSubscriber extends AbstractSubscriber { + private boolean wasInitialized = false; + + protected void initialize(String type) { + this.wasInitialized = true; + } + + public boolean isInitialized() { + return wasInitialized; + } +} \ No newline at end of file diff --git a/src/test/java/org/scijava/event/bushe/annotation/DoubleAnnotatedEventSubscriber.java b/src/test/java/org/scijava/event/bushe/annotation/DoubleAnnotatedEventSubscriber.java new file mode 100644 index 000000000..f35ee065c --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/annotation/DoubleAnnotatedEventSubscriber.java @@ -0,0 +1,35 @@ +package org.scijava.event.bushe.annotation; + +import java.util.List; +import java.util.Collection; +import java.util.Iterator; +import java.io.File; +import java.awt.Color; +import javax.swing.JToggleButton; +import javax.swing.JComponent; + +import org.scijava.event.bushe.ThreadSafeEventService; + +/** Test class for class-based subscriptions */ +public class DoubleAnnotatedEventSubscriber { + + static int timesCalled = 0; + + public static int getTimesCalled() { + return timesCalled; + } + + public static void setTimesCalled(int times) { + timesCalled = times; + } + + @EventSubscriber(eventClass = List.class) + public void doList(Collection collection) { + timesCalled++; + } + + @EventTopicSubscriber(topic="foo") + public void foo(String topic, Object o) { + timesCalled++; + } +} diff --git a/src/test/java/org/scijava/event/bushe/annotation/Issue15Subscriber.java b/src/test/java/org/scijava/event/bushe/annotation/Issue15Subscriber.java new file mode 100644 index 000000000..ed22bf8d2 --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/annotation/Issue15Subscriber.java @@ -0,0 +1,73 @@ +package org.scijava.event.bushe.annotation; + +import java.util.List; +import javax.swing.SwingUtilities; + +import org.scijava.event.bushe.annotation.AnnotationProcessor; +import org.scijava.event.bushe.annotation.EventSubscriber; +import org.scijava.event.bushe.annotation.EventTopicPatternSubscriber; +import org.scijava.event.bushe.annotation.EventTopicSubscriber; + +/** + * + */ +public class Issue15Subscriber { + private long timesCalled; + + public Issue15Subscriber() { + AnnotationProcessor.process(this); + } + + @EventSubscriber(eventClass = List.class) + public void handleClassSubscription(List c) { + timesCalled++; + if (c != null) { + System.out.println("In handleClassSubscription"); + System.out.println("By class: " + c); + System.out.println("Is on EDT: " + SwingUtilities.isEventDispatchThread()); + System.out.println(); + } + } + + /* + @EventTopicSubscriber(topic = "Topic1") + public void handleTopic1Subscription(String topic, Object o) { + if (o != null) { + System.out.println("In handleTopic1Subscription"); + System.out.println("By topic: " + topic); + System.out.println(" for class: " + o.getClass()); + System.out.println("Is on EDT: " + SwingUtilities.isEventDispatchThread()); + System.out.println(); + } + } + + + @EventTopicSubscriber(topic = "Topic2") + public void handleTopic2Subscription(String topic, Object o) { + if (o != null) { + System.out.println("In handleTopic2Subscription"); + System.out.println("By topic: " + topic); + System.out.println(" for class: " + o.getClass()); + System.out.println("Is on EDT: " + SwingUtilities.isEventDispatchThread()); + System.out.println(); + } + } + + + + @EventTopicPatternSubscriber(topicPattern = ".*") + public void handleAllTopicsSubscription(String topic, Object o) { + if (o != null) { + System.out.println("In handleAllTopicsSubscription"); + System.out.println("By topic: " + topic); + System.out.println(" for class: " + o.getClass()); + System.out.println("Is on EDT: " + SwingUtilities.isEventDispatchThread()); + System.out.println(); + } + } + */ + + public long getTimesCalled() { + return timesCalled; + } +} diff --git a/src/test/java/org/scijava/event/bushe/annotation/Issue15Subscriber2.java b/src/test/java/org/scijava/event/bushe/annotation/Issue15Subscriber2.java new file mode 100644 index 000000000..399542a86 --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/annotation/Issue15Subscriber2.java @@ -0,0 +1,69 @@ +package org.scijava.event.bushe.annotation; + +import java.util.List; +import java.util.ArrayList; +import java.awt.GridLayout; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +import javax.swing.JButton; +import javax.swing.JDialog; +import javax.swing.JTextField; + +import org.scijava.event.bushe.EventBus; +import org.scijava.event.bushe.annotation.AnnotationProcessor; +import org.scijava.event.bushe.annotation.EventSubscriber; + +/** + * + */ +public class Issue15Subscriber2 extends JDialog { + + private JTextField textField; + private long timesCalled; + + /** + * A new setup has been selected. + * @param e + * setup changed event notification + */ + @EventSubscriber(eventClass = List.class) + public void handleEvent(List e) { + timesCalled++; + textField.setText(e+""); + } + + private ActionListener buttonListener = new ActionListener() { + public void actionPerformed(ActionEvent e) { + EventBus.publish(new ArrayList()); + } + }; + + public Issue15Subscriber2() { + super(); + + AnnotationProcessor.process(this); + + setLayout(new GridLayout(1, 2)); + + JButton button = new JButton("Push Me"); + button.addActionListener(buttonListener); + textField = new JTextField(""); + + add(button); + add(textField); + } + + public static void main(String args[]) { + + Issue15Subscriber s = new Issue15Subscriber(); + + Issue15Subscriber2 dialog = new Issue15Subscriber2(); + System.err.println(EventBus.getSubscribers(List.class).size()); + dialog.setVisible(true); + } + + public long getTimesCalled() { + return timesCalled; + } +} diff --git a/src/test/java/org/scijava/event/bushe/annotation/MyData.java b/src/test/java/org/scijava/event/bushe/annotation/MyData.java new file mode 100644 index 000000000..5ff45afcf --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/annotation/MyData.java @@ -0,0 +1,17 @@ +package org.scijava.event.bushe.annotation; + +/** + * Intended to answer this post: + * https://eventbus.dev.java.net/servlets/ProjectForumMessageView?messageID=30702&forumID=1834 + */ +public class MyData { + private String classification = "foo"; + + public String getClassification() { + return classification; + } + + public void setClassification(String classification) { + this.classification = classification; + } +} diff --git a/src/test/java/org/scijava/event/bushe/annotation/StrongAnnotatedEventSubscriber.java b/src/test/java/org/scijava/event/bushe/annotation/StrongAnnotatedEventSubscriber.java new file mode 100644 index 000000000..6d611f5f8 --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/annotation/StrongAnnotatedEventSubscriber.java @@ -0,0 +1,30 @@ +package org.scijava.event.bushe.annotation; + +import java.io.File; + +public class StrongAnnotatedEventSubscriber { + static String lastCall = null; + static int timesCalled = 0; + + public static int getTimesCalled() { + return timesCalled; + } + + public static void setTimesCalled(int times) { + timesCalled = times; + } + + public static String getLastCall() { + return lastCall; + } + + public static void setLastCall(String call) { + lastCall = call; + } + + @EventSubscriber(referenceStrength = ReferenceStrength.STRONG) + public void doStrong(File it) { + lastCall = "doStrong"; + timesCalled++; + } +} diff --git a/src/test/java/org/scijava/event/bushe/annotation/StrongClassAnnotatedEventSubscriber.java b/src/test/java/org/scijava/event/bushe/annotation/StrongClassAnnotatedEventSubscriber.java new file mode 100644 index 000000000..f2fc954a3 --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/annotation/StrongClassAnnotatedEventSubscriber.java @@ -0,0 +1,24 @@ +package org.scijava.event.bushe.annotation; + +import java.util.Collection; +import java.util.List; + +/** Test class for class-based subscriptions */ +public class StrongClassAnnotatedEventSubscriber { + static int timesColorChanged = 0; + static String lastCall = null; + static int timesCalled = 0; + + public static int getTimesCalled() { + return timesCalled; + } + + public static void setTimesCalled(int times) { + timesCalled = times; + } + + @EventSubscriber(eventClass = List.class, referenceStrength = ReferenceStrength.STRONG) + public void doList(Collection collection) { + timesCalled++; + } +} diff --git a/src/test/java/org/scijava/event/bushe/annotation/TestAnnotationInAbstractClass.java b/src/test/java/org/scijava/event/bushe/annotation/TestAnnotationInAbstractClass.java new file mode 100644 index 000000000..316d44a67 --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/annotation/TestAnnotationInAbstractClass.java @@ -0,0 +1,20 @@ +package org.scijava.event.bushe.annotation; + +import junit.framework.TestCase; +import junit.framework.Assert; +import org.scijava.event.bushe.EventBus; +import org.scijava.event.bushe.EDTUtil; + +/** + * Testing: + * https://eventbus.dev.java.net/servlets/ProjectForumMessageView?messageID=30702&forumID=1834 + */ +public class TestAnnotationInAbstractClass extends TestCase { + public void testAbstract() { + ConcreteSubscriber concrete = new ConcreteSubscriber(); + AnnotationProcessor.process(concrete); + EventBus.publish(new MyData()); + EDTUtil.waitForEDT(); + Assert.assertTrue(concrete.isInitialized()); + } +} diff --git a/src/test/java/org/scijava/event/bushe/annotation/TestSubscriberAnnotation.java b/src/test/java/org/scijava/event/bushe/annotation/TestSubscriberAnnotation.java new file mode 100644 index 000000000..c5b1cc427 --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/annotation/TestSubscriberAnnotation.java @@ -0,0 +1,366 @@ +package org.scijava.event.bushe.annotation; + +import java.io.File; +import java.lang.reflect.InvocationTargetException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.HashSet; +import java.awt.Color; +import javax.swing.JButton; +import javax.swing.JToggleButton; +import javax.swing.SwingUtilities; + +import junit.framework.TestCase; + +import org.scijava.event.bushe.EDTUtil; +import org.scijava.event.bushe.EventBus; +import org.scijava.event.bushe.EventService; +import org.scijava.event.bushe.EventServiceLocator; +import org.scijava.event.bushe.EventServiceLocatorTestCase; +import org.scijava.event.bushe.annotation.runtime.Factory; +import org.scijava.event.bushe.annotation.runtime.SubscriberForTesting; + +public class TestSubscriberAnnotation extends TestCase { + + @Override + public void setUp() { + EventServiceLocatorTestCase.clearEventServiceLocator(); + EventBus.getGlobalEventService(); + EventBus.clearAllSubscribers(); + AnnotatedEventSubscriber.setTimesCalled(0); + AnnotatedEventSubscriber.setLastCall(null); + System.gc(); + } + + protected void tearDown() throws Exception { + EventServiceLocatorTestCase.clearEventServiceLocator(); + } + + public void testSimple() throws InvocationTargetException, InterruptedException { + AnnotatedEventSubscriber.setTimesColorChanged(0); + final AnnotatedEventSubscriber subscriber = new AnnotatedEventSubscriber(); + EventBus.publish(Color.BLUE); + Collection subs = EventBus.getSubscribers(Color.class); + assertEquals(0, subs.size()); + EDTUtil.waitForEDT(); + assertEquals(0, AnnotatedEventSubscriber.getTimesColorChanged()); + SwingUtilities.invokeAndWait(new Runnable() { + public void run() { + AnnotationProcessor.process(subscriber); + } + }); + + subs = EventBus.getSubscribers(Color.class); + assertEquals(1, subs.size()); + EventBus.publish(Color.BLUE); + EDTUtil.waitForEDT(); + assertEquals(1, AnnotatedEventSubscriber.getTimesColorChanged()); + + //Add veto + subs = EventBus.getVetoSubscribers(Color.class); + assertEquals(0, subs.size()); + final AnnotatedVetoSubscriber vetoSubscriber = new AnnotatedVetoSubscriber(); + SwingUtilities.invokeAndWait(new Runnable() { + public void run() { + AnnotationProcessor.process(vetoSubscriber); + } + }); + + subs = EventBus.getSubscribers(Color.class); + assertEquals(1, subs.size()); + subs = EventBus.getVetoSubscribers(Color.class); + assertEquals(1, subs.size()); + EventBus.publish(Color.RED); + EDTUtil.waitForEDT(); + assertEquals(1, AnnotatedEventSubscriber.getTimesColorChanged()); + + SwingUtilities.invokeAndWait(new Runnable() { + public void run() { + AnnotationProcessor.unprocess(vetoSubscriber); + } + }); + EventBus.publish(Color.RED); + EDTUtil.waitForEDT(); + assertEquals(2, AnnotatedEventSubscriber.getTimesColorChanged()); + SwingUtilities.invokeAndWait(new Runnable() { + public void run() { + AnnotationProcessor.unprocess(subscriber); + } + }); + EventBus.publish(Color.BLUE); + EDTUtil.waitForEDT(); + assertEquals(2, AnnotatedEventSubscriber.getTimesColorChanged()); + System.out.println("avoid garbage collection:"+subscriber + vetoSubscriber); + } + + public void testWeakReference() { + AnnotatedEventSubscriber.setTimesColorChanged(0); + AnnotatedEventSubscriber subscriber = new AnnotatedEventSubscriber(); + AnnotatedVetoSubscriber vetoSubscriber = new AnnotatedVetoSubscriber(); + EventBus.publish(Color.BLUE); + EDTUtil.waitForEDT(); + assertEquals(0, AnnotatedEventSubscriber.getTimesColorChanged()); + AnnotationProcessor.process(subscriber); + AnnotationProcessor.process(vetoSubscriber); + EventBus.publish(Color.BLUE); + EDTUtil.waitForEDT(); + assertEquals(1, AnnotatedEventSubscriber.getTimesColorChanged()); + EventBus.publish(Color.RED); + EDTUtil.waitForEDT(); + assertEquals(1, AnnotatedEventSubscriber.getTimesColorChanged()); + + System.out.println("avoid garbage collection:"+subscriber+vetoSubscriber); + subscriber = null; + System.gc(); + EventBus.publish(Color.BLUE); + EDTUtil.waitForEDT(); + assertEquals(1, AnnotatedEventSubscriber.getTimesColorChanged()); + System.gc(); + } + + public void testEventClass() { + AnnotatedEventSubscriber subscriber = new AnnotatedEventSubscriber(); + AnnotatedVetoSubscriber vetoSubscriber = new AnnotatedVetoSubscriber(); + AnnotationProcessor.process(subscriber); + AnnotationProcessor.process(vetoSubscriber); + + //Veto subscriber stops the empty list + EventBus.publish(new ArrayList()); + EDTUtil.waitForEDT(); + assertEquals(null, AnnotatedEventSubscriber.getLastCall()); + + EventBus.publish(Arrays.asList("foo")); + EDTUtil.waitForEDT(); + assertEquals("doList", AnnotatedEventSubscriber.getLastCall()); + + AnnotatedEventSubscriber.setLastCall(null); + EventBus.publish(Arrays.asList()); + EDTUtil.waitForEDT(); + assertEquals(null, AnnotatedEventSubscriber.getLastCall()); + AnnotationProcessor.unprocess(vetoSubscriber); + EventBus.publish(Arrays.asList()); + EDTUtil.waitForEDT(); + assertEquals("doList", AnnotatedEventSubscriber.getLastCall()); + + System.out.println("avoid garbage collection:"+subscriber); + AnnotatedEventSubscriber.setLastCall(null); + //it was subscribed to a list, though the method param is Collection, it shouldn't get called + EventBus.publish(new HashSet()); + EDTUtil.waitForEDT(); + } + + public void testExactly() { + AnnotatedEventSubscriber subscriber = new AnnotatedEventSubscriber(); + AnnotatedVetoSubscriber vetoSubscriber = new AnnotatedVetoSubscriber(); + AnnotationProcessor.process(subscriber); + AnnotationProcessor.process(vetoSubscriber); + + JToggleButton jToggleButton = new JToggleButton(); + EventBus.publish(jToggleButton); + EDTUtil.waitForEDT(); + System.out.println("avoid garbage collection:"+subscriber); + assertEquals("doJToggleButtonExactly", AnnotatedEventSubscriber.getLastCall()); + assertEquals(1, AnnotatedEventSubscriber.getTimesCalled()); + + EventBus.publish(new JButton()); + EDTUtil.waitForEDT(); + assertEquals("doJToggleButtonExactly", AnnotatedEventSubscriber.getLastCall()); + assertEquals(1, AnnotatedEventSubscriber.getTimesCalled()); + + jToggleButton.setForeground(Color.RED); + EventBus.publish(jToggleButton); + EDTUtil.waitForEDT(); + assertEquals(1, AnnotatedEventSubscriber.getTimesCalled()); + + AnnotationProcessor.unprocess(vetoSubscriber); + EventBus.publish(jToggleButton); + EDTUtil.waitForEDT(); + assertEquals(2, AnnotatedEventSubscriber.getTimesCalled()); + + AnnotationProcessor.unprocess(subscriber); + EventBus.publish(jToggleButton); + EDTUtil.waitForEDT(); + assertEquals(2, AnnotatedEventSubscriber.getTimesCalled()); + } + + public void testAutoCreateEventServiceClass() { + AnnotatedEventSubscriber subscriber = new AnnotatedEventSubscriber(); + AnnotatedVetoSubscriber vetoSubscriber = new AnnotatedVetoSubscriber(); + AnnotationProcessor.process(vetoSubscriber); + AnnotationProcessor.process(subscriber); + EventService es = EventServiceLocator.getEventService("IteratorService"); + es.publish(Arrays.asList("foo").iterator()); + assertEquals(1, AnnotatedEventSubscriber.getTimesCalled()); + assertEquals("autoCreateEventServiceClass", AnnotatedEventSubscriber.getLastCall()); + es.publish(Arrays.asList().iterator()); + assertEquals(1, AnnotatedEventSubscriber.getTimesCalled()); + AnnotationProcessor.unprocess(vetoSubscriber); + es.publish(Arrays.asList().iterator()); + assertEquals(2, AnnotatedEventSubscriber.getTimesCalled()); + AnnotationProcessor.unprocess(subscriber); + es.publish(Arrays.asList().iterator()); + assertEquals(2, AnnotatedEventSubscriber.getTimesCalled()); + } + + public void testStrongRef() { + StrongAnnotatedEventSubscriber subscriber = new StrongAnnotatedEventSubscriber(); + AnnotationProcessor.process(subscriber); + AnnotatedVetoSubscriber vetoSubscriber = new AnnotatedVetoSubscriber(); + AnnotationProcessor.process(vetoSubscriber); + EventBus.publish(new File("foo")); + EDTUtil.waitForEDT(); + assertEquals("doStrong", StrongAnnotatedEventSubscriber.getLastCall()); + assertEquals(1, StrongAnnotatedEventSubscriber.getTimesCalled()); + System.gc(); + EventBus.publish(new File("foo")); + EDTUtil.waitForEDT(); + assertEquals("doStrong", StrongAnnotatedEventSubscriber.getLastCall()); + assertEquals(2, StrongAnnotatedEventSubscriber.getTimesCalled()); + } + + public void testTopic() { + AnnotatedEventSubscriber subscriber = new AnnotatedEventSubscriber(); + AnnotatedVetoSubscriber vetoSubscriber = new AnnotatedVetoSubscriber(); + AnnotationProcessor.process(subscriber); + AnnotationProcessor.process(vetoSubscriber); + EventBus.publish("File.Open", new File("foo")); + EDTUtil.waitForEDT(); + assertEquals(1, AnnotatedEventSubscriber.getTimesCalled()); + EventBus.publish("File.Fooooooo", new File("foo")); + EDTUtil.waitForEDT(); + assertEquals(1, AnnotatedEventSubscriber.getTimesCalled()); + EventBus.publish("File.Open", null); + EDTUtil.waitForEDT(); + assertEquals(1, AnnotatedEventSubscriber.getTimesCalled()); + AnnotationProcessor.unprocess(vetoSubscriber); + EventBus.publish("File.Open", null); + EDTUtil.waitForEDT(); + assertEquals(2, AnnotatedEventSubscriber.getTimesCalled()); + AnnotationProcessor.unprocess(subscriber); + EventBus.publish("File.Open", null); + EDTUtil.waitForEDT(); + assertEquals(2, AnnotatedEventSubscriber.getTimesCalled()); + } + + public void testAutoCreateEventServiceTopic() { + AnnotatedEventSubscriber subscriber = new AnnotatedEventSubscriber(); + AnnotatedVetoSubscriber vetoSubscriber = new AnnotatedVetoSubscriber(); + AnnotationProcessor.process(subscriber); + AnnotationProcessor.process(vetoSubscriber); + EventService es = EventServiceLocator.getEventService("IteratorService"); + es.publish("Iterator", new ArrayList().iterator()); + assertEquals(0, AnnotatedEventSubscriber.getTimesCalled()); + es.publish("Iterator", Arrays.asList("foo").iterator()); + assertEquals(1, AnnotatedEventSubscriber.getTimesCalled()); + assertEquals("autoCreateEventServiceClass", AnnotatedEventSubscriber.getLastCall()); + AnnotationProcessor.unprocess(vetoSubscriber); + es.publish("Iterator", new ArrayList().iterator()); + assertEquals(2, AnnotatedEventSubscriber.getTimesCalled()); + AnnotationProcessor.unprocess(subscriber); + es.publish("Iterator", Arrays.asList("foo").iterator()); + assertEquals(2, AnnotatedEventSubscriber.getTimesCalled()); + } + + public void testTopicPattern() { + AnnotatedEventSubscriber subscriber = new AnnotatedEventSubscriber(); + AnnotatedVetoSubscriber vetoSubscriber = new AnnotatedVetoSubscriber(); + AnnotationProcessor.process(vetoSubscriber); + AnnotationProcessor.process(subscriber); + EventService es = EventServiceLocator.getEventService("IceCreamService"); + es.publish("IceCream.Chocolate", "DoubleDip"); + assertEquals(1, AnnotatedEventSubscriber.getTimesCalled()); + assertEquals("doIceCream", AnnotatedEventSubscriber.getLastCall()); + es.publish("IceCream.Cherry", "DoubleDip"); + assertEquals(1, AnnotatedEventSubscriber.getTimesCalled()); + AnnotationProcessor.unprocess(vetoSubscriber); + es.publish("IceCream.Chocolate", "DoubleDip"); + assertEquals(2, AnnotatedEventSubscriber.getTimesCalled()); + AnnotationProcessor.unprocess(subscriber); + es.publish("IceCream.Chocolate", "DoubleDip"); + assertEquals(2, AnnotatedEventSubscriber.getTimesCalled()); + System.out.println(subscriber); + } + + public void testIssue15MultipleAnnotatedSubscribers() { + AnnotatedEventSubscriber subscriber = new AnnotatedEventSubscriber(); + AnnotatedVetoSubscriber vetoSubscriber = new AnnotatedVetoSubscriber(); + AnnotationProcessor.process(vetoSubscriber); + AnnotationProcessor.process(subscriber); + AnotherAnnotatedEventSubscriber anotherSubscriber = new AnotherAnnotatedEventSubscriber(); + AnnotationProcessor.process(anotherSubscriber); + EventBus.publish(Arrays.asList("foo")); + EDTUtil.waitForEDT(); + assertEquals(1, AnotherAnnotatedEventSubscriber.getTimesCalled()); + EventBus.publish(new ArrayList()); + EDTUtil.waitForEDT(); + assertEquals(1, AnotherAnnotatedEventSubscriber.getTimesCalled()); + EDTUtil.waitForEDT(); + System.out.println(subscriber); + System.out.println(anotherSubscriber); + } + + public void testAnotherIssue15MultipleAnnotatedSubscribers() { + EventBus.clearAllSubscribers(); + System.gc(); + Issue15Subscriber i15s1 = new Issue15Subscriber(); + Issue15Subscriber2 i15s2 = new Issue15Subscriber2(); + EventBus.publish(new ArrayList()); + EDTUtil.waitForEDT(); + assertEquals(1, i15s2.getTimesCalled()); + assertEquals(1, i15s1.getTimesCalled()); + //Ensure the garbage collector can't clean up the refs + System.out.println(i15s1); + System.out.println(i15s2); + } + + //This one works with the DoubleAnnotatedEventSubscriber and AnotherDoubleAnnotatedEventSubscriber (and Single), + //but fails with AnnotatedEventSubscriber and AnotherAnnotatedEventSubscriber + public void testYetAnotherIssue15MultipleAnnotatedSubscribers() { + EventBus.clearAllSubscribers(); + System.gc(); + DoubleAnnotatedEventSubscriber subscriber = new DoubleAnnotatedEventSubscriber(); + AnnotationProcessor.process(subscriber); + DoubleAnnotatedEventSubscriber secondSubscriber = new DoubleAnnotatedEventSubscriber(); + AnnotationProcessor.process(secondSubscriber); + AnotherDoubleAnnotatedEventSubscriber anotherSubscriber = new AnotherDoubleAnnotatedEventSubscriber(); + AnnotationProcessor.process(anotherSubscriber); + AnotherDoubleAnnotatedEventSubscriber secondAnotherSubscriber = new AnotherDoubleAnnotatedEventSubscriber(); + AnnotationProcessor.process(secondAnotherSubscriber); + EventBus.publish(new ArrayList()); + EDTUtil.waitForEDT(); + assertEquals(2, AnotherDoubleAnnotatedEventSubscriber.getTimesCalled()); + assertEquals(2, DoubleAnnotatedEventSubscriber.getTimesCalled()); + //Ensure the garbage collector can't clean up the refs + System.out.println("finished with:"+subscriber); + System.out.println("finished with:"+secondSubscriber); + System.out.println("finished with:"+anotherSubscriber); + } + +//Would like to test this, but an exception isn't thrown, since you want all the subscribers to be called +//even if calling any one throws an exception +// public void testTopicWrongType() { +// AnnotatedEventSubscriber subscriber = new AnnotatedEventSubscriber(); +// AnnotationProcessor.process(subscriber); +// EventService es = EventServiceLocator.getEventService("IteratorService"); +// try { +// es.publish("Iterator", "foo"); +// fail("Should get an IllegalArgumentException"); +// } catch (Exception ex) { +// } +// } + + public void testRuntimeTopicSubscriber() { + SubscriberForTesting runtimeTopicSubscriber = Factory.newRuntimeTopicSubscriber("foo"); + EventBus.publish("foo", new ArrayList()); + EDTUtil.waitForEDT(); + assertEquals(1, runtimeTopicSubscriber.getTimesCalled()); + } + + public void testRuntimeTopicPatternSubscriber() { + SubscriberForTesting runtimeTopicSubscriber = Factory.newRuntimeTopicPatternSubscriber("hope.*"); + EventBus.publish("hope_and_change", new ArrayList()); + EDTUtil.waitForEDT(); + assertEquals(1, runtimeTopicSubscriber.getTimesCalled()); + } +} diff --git a/src/test/java/org/scijava/event/bushe/annotation/TestSubscriberAnnotationMemoryLeaks.java b/src/test/java/org/scijava/event/bushe/annotation/TestSubscriberAnnotationMemoryLeaks.java new file mode 100644 index 000000000..2d1b19f44 --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/annotation/TestSubscriberAnnotationMemoryLeaks.java @@ -0,0 +1,336 @@ +package org.scijava.event.bushe.annotation; + +import java.util.ArrayList; +import java.util.List; +import java.util.Random; +import java.util.logging.Level; +import java.util.logging.Logger; +import javax.swing.JComponent; + +import junit.framework.TestCase; + +import org.scijava.event.bushe.CleanupEvent; +import org.scijava.event.bushe.EDTUtil; +import org.scijava.event.bushe.EventBus; +import org.scijava.event.bushe.EventService; +import org.scijava.event.bushe.EventSubscriber; +import org.scijava.event.bushe.ThreadSafeEventService; + +public class TestSubscriberAnnotationMemoryLeaks extends TestCase { + Random rand = new Random(); + + public void setUp() { + EventBus.getGlobalEventService(); + EventBus.clearAllSubscribers(); + System.gc(); + } + + public void testStrongClassAnnotatedEventSubscriber() { + StrongClassAnnotatedEventSubscriber subscriber = new StrongClassAnnotatedEventSubscriber(); + AnnotationProcessor.process(subscriber); + StrongClassAnnotatedEventSubscriber.setTimesCalled(0); + assertEquals(0, StrongClassAnnotatedEventSubscriber.getTimesCalled()); + EventBus.publish(new ArrayList()); + EDTUtil.waitForEDT(); + assertEquals(1, StrongClassAnnotatedEventSubscriber.getTimesCalled()); + subscriber = null; + System.gc(); + EventBus.publish(new ArrayList()); + EDTUtil.waitForEDT(); + assertEquals(2, StrongClassAnnotatedEventSubscriber.getTimesCalled()); + List subscribers = EventBus.getSubscribers(List.class); + assertEquals(1, subscribers.size()); + //I can unsubscribe without ever explicitly subscribing + EventBus.unsubscribe(List.class, (org.scijava.event.bushe.EventSubscriber) subscribers.get(0)); + EventBus.publish(new ArrayList()); + EDTUtil.waitForEDT(); + assertEquals(2, StrongClassAnnotatedEventSubscriber.getTimesCalled()); + subscribers = EventBus.getSubscribers(List.class); + assertEquals(0, subscribers.size()); + } + + public void testWeakClassAnnotatedEventSubscriber() { + WeakClassAnnotatedEventSubscriber subscriber = new WeakClassAnnotatedEventSubscriber(); + AnnotationProcessor.process(subscriber); + WeakClassAnnotatedEventSubscriber.setTimesCalled(0); + assertEquals(0, WeakClassAnnotatedEventSubscriber.getTimesCalled()); + EventBus.publish(new ArrayList()); + EDTUtil.waitForEDT(); + assertEquals(1, WeakClassAnnotatedEventSubscriber.getTimesCalled()); + + subscriber = null; + System.gc(); + EventBus.publish(new ArrayList()); + EDTUtil.waitForEDT(); + assertEquals(1, WeakClassAnnotatedEventSubscriber.getTimesCalled()); + List subscribers = EventBus.getSubscribers(List.class); + assertEquals(0, subscribers.size()); + } + + public void testWeakClassAnnotatedEventSubscriberUnsubscription() { + WeakClassAnnotatedEventSubscriber subscriber = new WeakClassAnnotatedEventSubscriber(); + AnnotationProcessor.process(subscriber); + WeakClassAnnotatedEventSubscriber.setTimesCalled(0); + assertEquals(0, WeakClassAnnotatedEventSubscriber.getTimesCalled()); + EventBus.publish(new ArrayList()); + EDTUtil.waitForEDT(); + assertEquals(1, WeakClassAnnotatedEventSubscriber.getTimesCalled()); + + EventBus.unsubscribe(List.class, subscriber); + + subscriber = null; + System.gc(); + EventBus.publish(new ArrayList()); + EDTUtil.waitForEDT(); + assertEquals(1, WeakClassAnnotatedEventSubscriber.getTimesCalled()); + List subscribers = EventBus.getSubscribers(List.class); + assertEquals(0, subscribers.size()); + } + + public void testCleanup() { + final int cleanStartThreshold = 100; + final long period = 5000L; + final int stopThreshold = 10; + EventService es = new ThreadSafeEventService(cleanStartThreshold, stopThreshold,period); + CleanupEventSubscriber cleanupEventSubscriber = new CleanupEventSubscriber(); + es.subscribe(CleanupEvent.class, cleanupEventSubscriber); + //Go right up to the edge, but don't cross it. + Object[] subscribers = new Object[cleanStartThreshold]; + for (int i = 0; i < cleanStartThreshold -2; i++) { + subscribers[i] = createSubscriber(es); + //these should have no effect + es.subscribeStrongly(List.class, new DummySubscriber()); + } + es.publish(new ArrayList()); + try { + Thread.sleep(100); + } catch (InterruptedException ex) { + Logger.getLogger(TestSubscriberAnnotationMemoryLeaks.class.getName()).log(Level.SEVERE, null, ex); + } + assertEquals(0, cleanupEventSubscriber.events.size()); + + //Go over the edge, cleanup should start + subscribers[cleanStartThreshold-1] = createSubscriber(es); + try { + Thread.sleep(1000); + } catch (InterruptedException ex) { + Logger.getLogger(TestSubscriberAnnotationMemoryLeaks.class.getName()).log(Level.SEVERE, null, ex); + } + + //There are no stale refs yet, should have tried cleaning, but not done it. + assertEquals(3, cleanupEventSubscriber.events.size()); + assertEquals(CleanupEvent.Status.STARTING, cleanupEventSubscriber.events.get(0).getStatus()); + assertEquals(CleanupEvent.Status.OVER_STOP_THRESHOLD_CLEANING_BEGUN, cleanupEventSubscriber.events.get(1).getStatus()); + assertEquals(CleanupEvent.Status.FINISHED_CLEANING, cleanupEventSubscriber.events.get(2).getStatus()); + assertTrue(cleanStartThreshold == cleanupEventSubscriber.events.get(0).getTotalWeakRefsAndProxies()); + assertTrue(cleanStartThreshold == cleanupEventSubscriber.events.get(1).getTotalWeakRefsAndProxies()); + assertTrue(cleanStartThreshold == cleanupEventSubscriber.events.get(2).getTotalWeakRefsAndProxies()); + assertEquals(new Integer(0), cleanupEventSubscriber.events.get(2).getNumStaleSubscribersCleaned()); + + //Does it run again after the interval (exactly once more)? + try { + Thread.sleep(250+period); + } catch (InterruptedException ex) { + Logger.getLogger(TestSubscriberAnnotationMemoryLeaks.class.getName()).log(Level.SEVERE, null, ex); + } + assertEquals(6, cleanupEventSubscriber.events.size()); + assertEquals(CleanupEvent.Status.STARTING, cleanupEventSubscriber.events.get(3).getStatus()); + assertEquals(CleanupEvent.Status.OVER_STOP_THRESHOLD_CLEANING_BEGUN, cleanupEventSubscriber.events.get(4).getStatus()); + assertEquals(CleanupEvent.Status.FINISHED_CLEANING, cleanupEventSubscriber.events.get(5).getStatus()); + assertTrue(cleanStartThreshold == cleanupEventSubscriber.events.get(3).getTotalWeakRefsAndProxies()); + assertTrue(cleanStartThreshold == cleanupEventSubscriber.events.get(4).getTotalWeakRefsAndProxies()); + assertTrue(cleanStartThreshold == cleanupEventSubscriber.events.get(5).getTotalWeakRefsAndProxies()); + assertEquals(new Integer(0), cleanupEventSubscriber.events.get(5).getNumStaleSubscribersCleaned()); + + //Now make some stale + int numberToMakeStale = 10; + for (int i = 0; i < numberToMakeStale; i++) { + subscribers[i] = null; + } + System.gc(); + try { + Thread.sleep(100); + } catch (InterruptedException ex) { + Logger.getLogger(TestSubscriberAnnotationMemoryLeaks.class.getName()).log(Level.SEVERE, null, ex); + } + //Period has not yet pass, should not expect a cleaning yet. + assertEquals(6, cleanupEventSubscriber.events.size()); + + //After period, stale refs should be cleaned + try { + Thread.sleep(period); + } catch (InterruptedException ex) { + Logger.getLogger(TestSubscriberAnnotationMemoryLeaks.class.getName()).log(Level.SEVERE, null, ex); + } + assertEquals(9, cleanupEventSubscriber.events.size()); + assertEquals(CleanupEvent.Status.STARTING, cleanupEventSubscriber.events.get(6).getStatus()); + assertEquals(CleanupEvent.Status.OVER_STOP_THRESHOLD_CLEANING_BEGUN, cleanupEventSubscriber.events.get(7).getStatus()); + assertEquals(CleanupEvent.Status.FINISHED_CLEANING, cleanupEventSubscriber.events.get(8).getStatus()); + assertEquals((int)cleanStartThreshold, (int)cleanupEventSubscriber.events.get(6).getTotalWeakRefsAndProxies()); + assertEquals((int)cleanStartThreshold, (int)cleanupEventSubscriber.events.get(7).getTotalWeakRefsAndProxies()); + assertEquals((int)(cleanStartThreshold - numberToMakeStale), (int)cleanupEventSubscriber.events.get(8).getTotalWeakRefsAndProxies()); + assertEquals((int)numberToMakeStale, (int)cleanupEventSubscriber.events.get(8).getNumStaleSubscribersCleaned()); + + //Now make so many stale that it gets below the stop threshold + int numberAlreadyStale = numberToMakeStale; + numberToMakeStale = cleanStartThreshold - stopThreshold; + for (int i = numberAlreadyStale; i < numberToMakeStale; i++) { + subscribers[i] = null; + } + System.gc(); + //After period, stale refs should be cleaned + try { + Thread.sleep(period); + } catch (InterruptedException ex) { + Logger.getLogger(TestSubscriberAnnotationMemoryLeaks.class.getName()).log(Level.SEVERE, null, ex); + } + assertEquals(12, cleanupEventSubscriber.events.size()); + assertEquals(CleanupEvent.Status.STARTING, cleanupEventSubscriber.events.get(9).getStatus()); + assertEquals(CleanupEvent.Status.OVER_STOP_THRESHOLD_CLEANING_BEGUN, cleanupEventSubscriber.events.get(10).getStatus()); + assertEquals(CleanupEvent.Status.FINISHED_CLEANING, cleanupEventSubscriber.events.get(11).getStatus()); + assertEquals((int)cleanStartThreshold-numberAlreadyStale, (int)cleanupEventSubscriber.events.get(9).getTotalWeakRefsAndProxies()); + assertEquals((int)cleanStartThreshold-numberAlreadyStale, (int)cleanupEventSubscriber.events.get(10).getTotalWeakRefsAndProxies()); + assertEquals((int)(cleanStartThreshold - numberToMakeStale), (int)cleanupEventSubscriber.events.get(11).getTotalWeakRefsAndProxies()); + assertEquals((int)numberToMakeStale, (int)cleanupEventSubscriber.events.get(11).getNumStaleSubscribersCleaned()+numberAlreadyStale); + + //After period, next cleaning run should tell us that cleaning is stopped + try { + Thread.sleep(period); + } catch (InterruptedException ex) { + Logger.getLogger(TestSubscriberAnnotationMemoryLeaks.class.getName()).log(Level.SEVERE, null, ex); + } + assertEquals(14, cleanupEventSubscriber.events.size()); + assertEquals(CleanupEvent.Status.STARTING, cleanupEventSubscriber.events.get(12).getStatus()); + assertEquals(CleanupEvent.Status.UNDER_STOP_THRESHOLD_CLEANING_CANCELLED, cleanupEventSubscriber.events.get(13).getStatus()); + assertEquals((int)cleanStartThreshold-numberToMakeStale, (int)cleanupEventSubscriber.events.get(12).getTotalWeakRefsAndProxies()); + assertEquals((int)cleanStartThreshold-numberToMakeStale, (int)cleanupEventSubscriber.events.get(13).getTotalWeakRefsAndProxies()); + assertEquals(null, cleanupEventSubscriber.events.get(13).getNumStaleSubscribersCleaned()); + + //After period, no more cleaning should be done + try { + Thread.sleep(period); + } catch (InterruptedException ex) { + Logger.getLogger(TestSubscriberAnnotationMemoryLeaks.class.getName()).log(Level.SEVERE, null, ex); + } + assertEquals(14, cleanupEventSubscriber.events.size()); + + es.clearAllSubscribers(); + es.subscribe(CleanupEvent.class, cleanupEventSubscriber); + + //Go back over the limit and the cleaning should restart + for (int i = 0; i < cleanStartThreshold-1; i++) { + subscribers[i] = createSubscriber(es); + } + subscribers[99] = createSubscriber(es); + System.out.println("Cleanup should be starting"); + try { + Thread.sleep(250); + } catch (InterruptedException ex) { + Logger.getLogger(TestSubscriberAnnotationMemoryLeaks.class.getName()).log(Level.SEVERE, null, ex); + } + assertEquals(17, cleanupEventSubscriber.events.size()); + assertEquals(CleanupEvent.Status.STARTING, cleanupEventSubscriber.events.get(14).getStatus()); + assertEquals(CleanupEvent.Status.OVER_STOP_THRESHOLD_CLEANING_BEGUN, cleanupEventSubscriber.events.get(15).getStatus()); + assertEquals(CleanupEvent.Status.FINISHED_CLEANING, cleanupEventSubscriber.events.get(16).getStatus()); + assertEquals(0, (int)cleanupEventSubscriber.events.get(16).getNumStaleSubscribersCleaned()); + + es.clearAllSubscribers(); + es.subscribe(CleanupEvent.class, cleanupEventSubscriber); + try { + Thread.sleep(period); + } catch (InterruptedException ex) { + Logger.getLogger(TestSubscriberAnnotationMemoryLeaks.class.getName()).log(Level.SEVERE, null, ex); + } + assertEquals(19, cleanupEventSubscriber.events.size()); + assertEquals(CleanupEvent.Status.STARTING, cleanupEventSubscriber.events.get(17).getStatus()); + assertEquals(CleanupEvent.Status.UNDER_STOP_THRESHOLD_CLEANING_CANCELLED, cleanupEventSubscriber.events.get(18).getStatus()); + assertEquals(null, cleanupEventSubscriber.events.get(18).getNumStaleSubscribersCleaned()); + + //After period, no more cleaning should be done + try { + Thread.sleep(period); + } catch (InterruptedException ex) { + Logger.getLogger(TestSubscriberAnnotationMemoryLeaks.class.getName()).log(Level.SEVERE, null, ex); + } + assertEquals(19, cleanupEventSubscriber.events.size()); + } + + private Object createSubscriber(EventService es) { + Object result = null; + int randNum = rand.nextInt(2); + if (randNum == 0) { + //class + randNum = rand.nextInt(2); + if (true || randNum == 0) { + //normal + result = new DummySubscriber(); + Class subscriptionClass = null; + randNum = rand.nextInt(3); + switch (randNum) { + case 0: subscriptionClass = List.class; break; + case 1: subscriptionClass = String.class;break; + case 2: subscriptionClass = JComponent.class;break; + } + es.subscribe(subscriptionClass, (EventSubscriber)result); + } else { + //annotated + result = new AnnotatedDummySubscriber(); + AnnotationProcessor.process(result); + } + } else { + //topic + randNum = rand.nextInt(2); + if (true || randNum == 0) { + //normal + result = new DummyTopicSubscriber(); + String topic = null; + randNum = rand.nextInt(3); + switch (randNum) { + case 0: topic = "Lis"; break; + case 1: topic = "Strin";break; + case 2: topic = "JCompon";break; + } + es.subscribe(topic, (org.scijava.event.bushe.EventTopicSubscriber)result); + } else { + //annotated + result = new AnnotatedTopicDummySubscriber(); + AnnotationProcessor.process(result); + } + } + return result; + } + + private class CleanupEventSubscriber implements EventSubscriber { + + public List events = new ArrayList(); + + public CleanupEventSubscriber() { + } + + public void onEvent(CleanupEvent event) { + this.events.add(event); + } + } + + private static class DummySubscriber implements EventSubscriber { + public void onEvent(List list) { + } + } + + private static class DummyTopicSubscriber implements org.scijava.event.bushe.EventTopicSubscriber { + public void onEvent(String topic, Object data) { + } + } + + private static class AnnotatedDummySubscriber { + @org.scijava.event.bushe.annotation.EventSubscriber(eventClass=List.class) + public void foo(Object event) { + } + } + + private static class AnnotatedTopicDummySubscriber { + @EventTopicSubscriber(topic="bar") + public void foo(Object event) { + } + } +} diff --git a/src/test/java/org/scijava/event/bushe/annotation/WeakClassAnnotatedEventSubscriber.java b/src/test/java/org/scijava/event/bushe/annotation/WeakClassAnnotatedEventSubscriber.java new file mode 100644 index 000000000..0c7f7703a --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/annotation/WeakClassAnnotatedEventSubscriber.java @@ -0,0 +1,24 @@ +package org.scijava.event.bushe.annotation; + +import java.util.Collection; +import java.util.List; + +/** Test class for class-based subscriptions */ +public class WeakClassAnnotatedEventSubscriber { + static int timesColorChanged = 0; + static String lastCall = null; + static int timesCalled = 0; + + public static int getTimesCalled() { + return timesCalled; + } + + public static void setTimesCalled(int times) { + timesCalled = times; + } + + @EventSubscriber(eventClass = List.class, referenceStrength = ReferenceStrength.WEAK) + public void doList(Collection collection) { + timesCalled++; + } +} diff --git a/src/test/java/org/scijava/event/bushe/annotation/runtime/Factory.java b/src/test/java/org/scijava/event/bushe/annotation/runtime/Factory.java new file mode 100644 index 000000000..03a33214d --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/annotation/runtime/Factory.java @@ -0,0 +1,12 @@ +package org.scijava.event.bushe.annotation.runtime; + +public class Factory { + + public static SubscriberForTesting newRuntimeTopicSubscriber(String topic) { + return new RuntimeTopicSubscriber(topic); + } + + public static SubscriberForTesting newRuntimeTopicPatternSubscriber(String topicPattern) { + return new RuntimeTopicPatternSubscriber(topicPattern); + } +} diff --git a/src/test/java/org/scijava/event/bushe/annotation/runtime/RuntimeTopicPatternSubscriber.java b/src/test/java/org/scijava/event/bushe/annotation/runtime/RuntimeTopicPatternSubscriber.java new file mode 100644 index 000000000..be306c337 --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/annotation/runtime/RuntimeTopicPatternSubscriber.java @@ -0,0 +1,35 @@ +package org.scijava.event.bushe.annotation.runtime; + +import java.util.List; + +import org.scijava.event.bushe.annotation.AnnotationProcessor; +import org.scijava.event.bushe.annotation.RuntimeTopicPatternEventSubscriber; + +class RuntimeTopicPatternSubscriber implements SubscriberForTesting { + private final String topicPattern; + private long timesCalled; + + public RuntimeTopicPatternSubscriber(String topicPattern) { + this.topicPattern = topicPattern; + + AnnotationProcessor.process(this); + } + + @RuntimeTopicPatternEventSubscriber + public void handleEvent(String topic, List event) { + timesCalled++; + } + + @RuntimeTopicPatternEventSubscriber + public boolean shouldVeto(String topic, List e) { + return e == null; + } + + public String getTopicPatternName() { + return topicPattern; + } + + public long getTimesCalled() { + return timesCalled; + } +} diff --git a/src/test/java/org/scijava/event/bushe/annotation/runtime/RuntimeTopicSubscriber.java b/src/test/java/org/scijava/event/bushe/annotation/runtime/RuntimeTopicSubscriber.java new file mode 100644 index 000000000..c751b2dce --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/annotation/runtime/RuntimeTopicSubscriber.java @@ -0,0 +1,34 @@ +package org.scijava.event.bushe.annotation.runtime; + +import org.scijava.event.bushe.annotation.AnnotationProcessor; +import org.scijava.event.bushe.annotation.RuntimeTopicEventSubscriber; + +import java.util.List; + +class RuntimeTopicSubscriber implements SubscriberForTesting { + private long timesCalled; + private final String topic; + + public RuntimeTopicSubscriber(String topic) { + this.topic = topic; + AnnotationProcessor.process(this); + } + + @RuntimeTopicEventSubscriber + public void handleEvent(String topic, List e) { + timesCalled++; + } + + @RuntimeTopicEventSubscriber + public boolean shouldVeto(String topic, List e) { + return e == null; + } + + public String getTopicName() { + return topic; + } + + public long getTimesCalled() { + return timesCalled; + } +} diff --git a/src/test/java/org/scijava/event/bushe/annotation/runtime/SubscriberForTesting.java b/src/test/java/org/scijava/event/bushe/annotation/runtime/SubscriberForTesting.java new file mode 100644 index 000000000..55c76dca4 --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/annotation/runtime/SubscriberForTesting.java @@ -0,0 +1,5 @@ +package org.scijava.event.bushe.annotation.runtime; + +public interface SubscriberForTesting { + long getTimesCalled(); +} diff --git a/src/test/java/org/scijava/event/bushe/generics/DataRequestEvent.java b/src/test/java/org/scijava/event/bushe/generics/DataRequestEvent.java new file mode 100644 index 000000000..3ff5b4952 --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/generics/DataRequestEvent.java @@ -0,0 +1,9 @@ +package org.scijava.event.bushe.generics; + +import java.util.List; + +/** + * Test event for Bill Wholer's typed events. + */ +public class DataRequestEvent { +} diff --git a/src/test/java/org/scijava/event/bushe/generics/GenericReflection.java b/src/test/java/org/scijava/event/bushe/generics/GenericReflection.java new file mode 100644 index 000000000..87e80c600 --- /dev/null +++ b/src/test/java/org/scijava/event/bushe/generics/GenericReflection.java @@ -0,0 +1,125 @@ +package org.scijava.event.bushe.generics; + +import java.lang.reflect.TypeVariable; + +import java.lang.reflect.*; +import java.io.*; + +/** + * From OReilly Book Java Generics + */ +public class GenericReflection { + DataRequestEvent dre; + private final static PrintStream out = System.out; + public static void printSuperclass (Type sup) { + if (sup != null && !sup.equals(Object.class)) { + out.print("extends "); + printType(sup); + out.println(); + } + } + public static void printInterfaces (Type[] implementations) { + if (implementations != null && implementations.length > 0) { + out.print("implements "); + int i = 0; + for (Type impl : implementations) { + if (i++ > 0) out.print(","); + printType(impl); + } + out.println(); + } + } + public static void printTypeParameters (TypeVariable[] vars) { + if (vars != null && vars.length > 0) { + out.print("<"); + int i = 0; + for (TypeVariable var : vars) { + if (i++ > 0) out.print(","); + out.print(var.getName()); + printBounds(var.getBounds()); + } + out.print(">"); + } + } + public static void printBounds (Type[] bounds) { + if (bounds != null && bounds.length > 0 + && !(bounds.length==1 && bounds[0]==Object.class)) { + out.print(" extends "); + int i = 0; + for (Type bound : bounds) { + if (i++ > 0) out.print("&"); + printType(bound); + } + } + } + public static void printParams (Type[] types) { + if (types != null && types.length > 0) { + out.print("<"); + int i = 0; + for (Type type : types) { + if (i++ > 0) out.print(","); + printType(type); + } + out.print(">"); + } + } + public static void printType (Type type) { + if (type instanceof Class) { + Class c = (Class)type; + out.print(c.getName()); + } else if (type instanceof ParameterizedType) { + ParameterizedType p = (ParameterizedType)type; + Class c = (Class)p.getRawType(); + Type o = p.getOwnerType(); + if (o != null) { printType(o); out.print("."); } + out.print(c.getName()); + printParams(p.getActualTypeArguments()); + } else if (type instanceof TypeVariable) { + TypeVariable v = (TypeVariable)type; + out.print(v.getName()); + } else if (type instanceof GenericArrayType) { + GenericArrayType a = (GenericArrayType)type; + printType(a.getGenericComponentType()); + out.print("[]"); + } else if (type instanceof WildcardType) { + WildcardType w = (WildcardType)type; + Type[] upper = w.getUpperBounds(); + Type[] lower = w.getLowerBounds(); + if (upper.length==1 && lower.length==0) { + out.print("? extends "); + printType(upper[0]); + } else if (upper.length==0 && lower.length==1) { + out.print("? super "); + printType(lower[0]); + } else assert false; + } + } + public static void printClass (Class c) { + out.print("class "); + out.print(c.getName()); + printTypeParameters(c.getTypeParameters()); + out.println(); + printSuperclass(c.getGenericSuperclass()); + printInterfaces(c.getGenericInterfaces()); + /* + out.println("{"); + for (Field f : c.getFields()) { + out.println(" "+f.toGenericString()+";"); + } + for (Constructor k : c.getConstructors()) { + out.println(" "+k.toGenericString()+";"); + } + for (Method m : c.getMethods()) { + out.println(" "+m.toGenericString()+";"); + } + out.println("}"); + */ + } + public static void main (String[] args) throws ClassNotFoundException { + for (String name : args) { + Class c = Class.forName(name); + printClass(c); + } + } +} + From 98a7b73c7cc7eb4211d167a8a92b114716485bad Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 17 May 2023 11:33:20 -0500 Subject: [PATCH 293/383] Remove broken org.bushe:eventbus tests --- .../annotation/TestSubscriberAnnotation.java | 366 ------------------ .../TestSubscriberAnnotationMemoryLeaks.java | 336 ---------------- 2 files changed, 702 deletions(-) delete mode 100644 src/test/java/org/scijava/event/bushe/annotation/TestSubscriberAnnotation.java delete mode 100644 src/test/java/org/scijava/event/bushe/annotation/TestSubscriberAnnotationMemoryLeaks.java diff --git a/src/test/java/org/scijava/event/bushe/annotation/TestSubscriberAnnotation.java b/src/test/java/org/scijava/event/bushe/annotation/TestSubscriberAnnotation.java deleted file mode 100644 index c5b1cc427..000000000 --- a/src/test/java/org/scijava/event/bushe/annotation/TestSubscriberAnnotation.java +++ /dev/null @@ -1,366 +0,0 @@ -package org.scijava.event.bushe.annotation; - -import java.io.File; -import java.lang.reflect.InvocationTargetException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.HashSet; -import java.awt.Color; -import javax.swing.JButton; -import javax.swing.JToggleButton; -import javax.swing.SwingUtilities; - -import junit.framework.TestCase; - -import org.scijava.event.bushe.EDTUtil; -import org.scijava.event.bushe.EventBus; -import org.scijava.event.bushe.EventService; -import org.scijava.event.bushe.EventServiceLocator; -import org.scijava.event.bushe.EventServiceLocatorTestCase; -import org.scijava.event.bushe.annotation.runtime.Factory; -import org.scijava.event.bushe.annotation.runtime.SubscriberForTesting; - -public class TestSubscriberAnnotation extends TestCase { - - @Override - public void setUp() { - EventServiceLocatorTestCase.clearEventServiceLocator(); - EventBus.getGlobalEventService(); - EventBus.clearAllSubscribers(); - AnnotatedEventSubscriber.setTimesCalled(0); - AnnotatedEventSubscriber.setLastCall(null); - System.gc(); - } - - protected void tearDown() throws Exception { - EventServiceLocatorTestCase.clearEventServiceLocator(); - } - - public void testSimple() throws InvocationTargetException, InterruptedException { - AnnotatedEventSubscriber.setTimesColorChanged(0); - final AnnotatedEventSubscriber subscriber = new AnnotatedEventSubscriber(); - EventBus.publish(Color.BLUE); - Collection subs = EventBus.getSubscribers(Color.class); - assertEquals(0, subs.size()); - EDTUtil.waitForEDT(); - assertEquals(0, AnnotatedEventSubscriber.getTimesColorChanged()); - SwingUtilities.invokeAndWait(new Runnable() { - public void run() { - AnnotationProcessor.process(subscriber); - } - }); - - subs = EventBus.getSubscribers(Color.class); - assertEquals(1, subs.size()); - EventBus.publish(Color.BLUE); - EDTUtil.waitForEDT(); - assertEquals(1, AnnotatedEventSubscriber.getTimesColorChanged()); - - //Add veto - subs = EventBus.getVetoSubscribers(Color.class); - assertEquals(0, subs.size()); - final AnnotatedVetoSubscriber vetoSubscriber = new AnnotatedVetoSubscriber(); - SwingUtilities.invokeAndWait(new Runnable() { - public void run() { - AnnotationProcessor.process(vetoSubscriber); - } - }); - - subs = EventBus.getSubscribers(Color.class); - assertEquals(1, subs.size()); - subs = EventBus.getVetoSubscribers(Color.class); - assertEquals(1, subs.size()); - EventBus.publish(Color.RED); - EDTUtil.waitForEDT(); - assertEquals(1, AnnotatedEventSubscriber.getTimesColorChanged()); - - SwingUtilities.invokeAndWait(new Runnable() { - public void run() { - AnnotationProcessor.unprocess(vetoSubscriber); - } - }); - EventBus.publish(Color.RED); - EDTUtil.waitForEDT(); - assertEquals(2, AnnotatedEventSubscriber.getTimesColorChanged()); - SwingUtilities.invokeAndWait(new Runnable() { - public void run() { - AnnotationProcessor.unprocess(subscriber); - } - }); - EventBus.publish(Color.BLUE); - EDTUtil.waitForEDT(); - assertEquals(2, AnnotatedEventSubscriber.getTimesColorChanged()); - System.out.println("avoid garbage collection:"+subscriber + vetoSubscriber); - } - - public void testWeakReference() { - AnnotatedEventSubscriber.setTimesColorChanged(0); - AnnotatedEventSubscriber subscriber = new AnnotatedEventSubscriber(); - AnnotatedVetoSubscriber vetoSubscriber = new AnnotatedVetoSubscriber(); - EventBus.publish(Color.BLUE); - EDTUtil.waitForEDT(); - assertEquals(0, AnnotatedEventSubscriber.getTimesColorChanged()); - AnnotationProcessor.process(subscriber); - AnnotationProcessor.process(vetoSubscriber); - EventBus.publish(Color.BLUE); - EDTUtil.waitForEDT(); - assertEquals(1, AnnotatedEventSubscriber.getTimesColorChanged()); - EventBus.publish(Color.RED); - EDTUtil.waitForEDT(); - assertEquals(1, AnnotatedEventSubscriber.getTimesColorChanged()); - - System.out.println("avoid garbage collection:"+subscriber+vetoSubscriber); - subscriber = null; - System.gc(); - EventBus.publish(Color.BLUE); - EDTUtil.waitForEDT(); - assertEquals(1, AnnotatedEventSubscriber.getTimesColorChanged()); - System.gc(); - } - - public void testEventClass() { - AnnotatedEventSubscriber subscriber = new AnnotatedEventSubscriber(); - AnnotatedVetoSubscriber vetoSubscriber = new AnnotatedVetoSubscriber(); - AnnotationProcessor.process(subscriber); - AnnotationProcessor.process(vetoSubscriber); - - //Veto subscriber stops the empty list - EventBus.publish(new ArrayList()); - EDTUtil.waitForEDT(); - assertEquals(null, AnnotatedEventSubscriber.getLastCall()); - - EventBus.publish(Arrays.asList("foo")); - EDTUtil.waitForEDT(); - assertEquals("doList", AnnotatedEventSubscriber.getLastCall()); - - AnnotatedEventSubscriber.setLastCall(null); - EventBus.publish(Arrays.asList()); - EDTUtil.waitForEDT(); - assertEquals(null, AnnotatedEventSubscriber.getLastCall()); - AnnotationProcessor.unprocess(vetoSubscriber); - EventBus.publish(Arrays.asList()); - EDTUtil.waitForEDT(); - assertEquals("doList", AnnotatedEventSubscriber.getLastCall()); - - System.out.println("avoid garbage collection:"+subscriber); - AnnotatedEventSubscriber.setLastCall(null); - //it was subscribed to a list, though the method param is Collection, it shouldn't get called - EventBus.publish(new HashSet()); - EDTUtil.waitForEDT(); - } - - public void testExactly() { - AnnotatedEventSubscriber subscriber = new AnnotatedEventSubscriber(); - AnnotatedVetoSubscriber vetoSubscriber = new AnnotatedVetoSubscriber(); - AnnotationProcessor.process(subscriber); - AnnotationProcessor.process(vetoSubscriber); - - JToggleButton jToggleButton = new JToggleButton(); - EventBus.publish(jToggleButton); - EDTUtil.waitForEDT(); - System.out.println("avoid garbage collection:"+subscriber); - assertEquals("doJToggleButtonExactly", AnnotatedEventSubscriber.getLastCall()); - assertEquals(1, AnnotatedEventSubscriber.getTimesCalled()); - - EventBus.publish(new JButton()); - EDTUtil.waitForEDT(); - assertEquals("doJToggleButtonExactly", AnnotatedEventSubscriber.getLastCall()); - assertEquals(1, AnnotatedEventSubscriber.getTimesCalled()); - - jToggleButton.setForeground(Color.RED); - EventBus.publish(jToggleButton); - EDTUtil.waitForEDT(); - assertEquals(1, AnnotatedEventSubscriber.getTimesCalled()); - - AnnotationProcessor.unprocess(vetoSubscriber); - EventBus.publish(jToggleButton); - EDTUtil.waitForEDT(); - assertEquals(2, AnnotatedEventSubscriber.getTimesCalled()); - - AnnotationProcessor.unprocess(subscriber); - EventBus.publish(jToggleButton); - EDTUtil.waitForEDT(); - assertEquals(2, AnnotatedEventSubscriber.getTimesCalled()); - } - - public void testAutoCreateEventServiceClass() { - AnnotatedEventSubscriber subscriber = new AnnotatedEventSubscriber(); - AnnotatedVetoSubscriber vetoSubscriber = new AnnotatedVetoSubscriber(); - AnnotationProcessor.process(vetoSubscriber); - AnnotationProcessor.process(subscriber); - EventService es = EventServiceLocator.getEventService("IteratorService"); - es.publish(Arrays.asList("foo").iterator()); - assertEquals(1, AnnotatedEventSubscriber.getTimesCalled()); - assertEquals("autoCreateEventServiceClass", AnnotatedEventSubscriber.getLastCall()); - es.publish(Arrays.asList().iterator()); - assertEquals(1, AnnotatedEventSubscriber.getTimesCalled()); - AnnotationProcessor.unprocess(vetoSubscriber); - es.publish(Arrays.asList().iterator()); - assertEquals(2, AnnotatedEventSubscriber.getTimesCalled()); - AnnotationProcessor.unprocess(subscriber); - es.publish(Arrays.asList().iterator()); - assertEquals(2, AnnotatedEventSubscriber.getTimesCalled()); - } - - public void testStrongRef() { - StrongAnnotatedEventSubscriber subscriber = new StrongAnnotatedEventSubscriber(); - AnnotationProcessor.process(subscriber); - AnnotatedVetoSubscriber vetoSubscriber = new AnnotatedVetoSubscriber(); - AnnotationProcessor.process(vetoSubscriber); - EventBus.publish(new File("foo")); - EDTUtil.waitForEDT(); - assertEquals("doStrong", StrongAnnotatedEventSubscriber.getLastCall()); - assertEquals(1, StrongAnnotatedEventSubscriber.getTimesCalled()); - System.gc(); - EventBus.publish(new File("foo")); - EDTUtil.waitForEDT(); - assertEquals("doStrong", StrongAnnotatedEventSubscriber.getLastCall()); - assertEquals(2, StrongAnnotatedEventSubscriber.getTimesCalled()); - } - - public void testTopic() { - AnnotatedEventSubscriber subscriber = new AnnotatedEventSubscriber(); - AnnotatedVetoSubscriber vetoSubscriber = new AnnotatedVetoSubscriber(); - AnnotationProcessor.process(subscriber); - AnnotationProcessor.process(vetoSubscriber); - EventBus.publish("File.Open", new File("foo")); - EDTUtil.waitForEDT(); - assertEquals(1, AnnotatedEventSubscriber.getTimesCalled()); - EventBus.publish("File.Fooooooo", new File("foo")); - EDTUtil.waitForEDT(); - assertEquals(1, AnnotatedEventSubscriber.getTimesCalled()); - EventBus.publish("File.Open", null); - EDTUtil.waitForEDT(); - assertEquals(1, AnnotatedEventSubscriber.getTimesCalled()); - AnnotationProcessor.unprocess(vetoSubscriber); - EventBus.publish("File.Open", null); - EDTUtil.waitForEDT(); - assertEquals(2, AnnotatedEventSubscriber.getTimesCalled()); - AnnotationProcessor.unprocess(subscriber); - EventBus.publish("File.Open", null); - EDTUtil.waitForEDT(); - assertEquals(2, AnnotatedEventSubscriber.getTimesCalled()); - } - - public void testAutoCreateEventServiceTopic() { - AnnotatedEventSubscriber subscriber = new AnnotatedEventSubscriber(); - AnnotatedVetoSubscriber vetoSubscriber = new AnnotatedVetoSubscriber(); - AnnotationProcessor.process(subscriber); - AnnotationProcessor.process(vetoSubscriber); - EventService es = EventServiceLocator.getEventService("IteratorService"); - es.publish("Iterator", new ArrayList().iterator()); - assertEquals(0, AnnotatedEventSubscriber.getTimesCalled()); - es.publish("Iterator", Arrays.asList("foo").iterator()); - assertEquals(1, AnnotatedEventSubscriber.getTimesCalled()); - assertEquals("autoCreateEventServiceClass", AnnotatedEventSubscriber.getLastCall()); - AnnotationProcessor.unprocess(vetoSubscriber); - es.publish("Iterator", new ArrayList().iterator()); - assertEquals(2, AnnotatedEventSubscriber.getTimesCalled()); - AnnotationProcessor.unprocess(subscriber); - es.publish("Iterator", Arrays.asList("foo").iterator()); - assertEquals(2, AnnotatedEventSubscriber.getTimesCalled()); - } - - public void testTopicPattern() { - AnnotatedEventSubscriber subscriber = new AnnotatedEventSubscriber(); - AnnotatedVetoSubscriber vetoSubscriber = new AnnotatedVetoSubscriber(); - AnnotationProcessor.process(vetoSubscriber); - AnnotationProcessor.process(subscriber); - EventService es = EventServiceLocator.getEventService("IceCreamService"); - es.publish("IceCream.Chocolate", "DoubleDip"); - assertEquals(1, AnnotatedEventSubscriber.getTimesCalled()); - assertEquals("doIceCream", AnnotatedEventSubscriber.getLastCall()); - es.publish("IceCream.Cherry", "DoubleDip"); - assertEquals(1, AnnotatedEventSubscriber.getTimesCalled()); - AnnotationProcessor.unprocess(vetoSubscriber); - es.publish("IceCream.Chocolate", "DoubleDip"); - assertEquals(2, AnnotatedEventSubscriber.getTimesCalled()); - AnnotationProcessor.unprocess(subscriber); - es.publish("IceCream.Chocolate", "DoubleDip"); - assertEquals(2, AnnotatedEventSubscriber.getTimesCalled()); - System.out.println(subscriber); - } - - public void testIssue15MultipleAnnotatedSubscribers() { - AnnotatedEventSubscriber subscriber = new AnnotatedEventSubscriber(); - AnnotatedVetoSubscriber vetoSubscriber = new AnnotatedVetoSubscriber(); - AnnotationProcessor.process(vetoSubscriber); - AnnotationProcessor.process(subscriber); - AnotherAnnotatedEventSubscriber anotherSubscriber = new AnotherAnnotatedEventSubscriber(); - AnnotationProcessor.process(anotherSubscriber); - EventBus.publish(Arrays.asList("foo")); - EDTUtil.waitForEDT(); - assertEquals(1, AnotherAnnotatedEventSubscriber.getTimesCalled()); - EventBus.publish(new ArrayList()); - EDTUtil.waitForEDT(); - assertEquals(1, AnotherAnnotatedEventSubscriber.getTimesCalled()); - EDTUtil.waitForEDT(); - System.out.println(subscriber); - System.out.println(anotherSubscriber); - } - - public void testAnotherIssue15MultipleAnnotatedSubscribers() { - EventBus.clearAllSubscribers(); - System.gc(); - Issue15Subscriber i15s1 = new Issue15Subscriber(); - Issue15Subscriber2 i15s2 = new Issue15Subscriber2(); - EventBus.publish(new ArrayList()); - EDTUtil.waitForEDT(); - assertEquals(1, i15s2.getTimesCalled()); - assertEquals(1, i15s1.getTimesCalled()); - //Ensure the garbage collector can't clean up the refs - System.out.println(i15s1); - System.out.println(i15s2); - } - - //This one works with the DoubleAnnotatedEventSubscriber and AnotherDoubleAnnotatedEventSubscriber (and Single), - //but fails with AnnotatedEventSubscriber and AnotherAnnotatedEventSubscriber - public void testYetAnotherIssue15MultipleAnnotatedSubscribers() { - EventBus.clearAllSubscribers(); - System.gc(); - DoubleAnnotatedEventSubscriber subscriber = new DoubleAnnotatedEventSubscriber(); - AnnotationProcessor.process(subscriber); - DoubleAnnotatedEventSubscriber secondSubscriber = new DoubleAnnotatedEventSubscriber(); - AnnotationProcessor.process(secondSubscriber); - AnotherDoubleAnnotatedEventSubscriber anotherSubscriber = new AnotherDoubleAnnotatedEventSubscriber(); - AnnotationProcessor.process(anotherSubscriber); - AnotherDoubleAnnotatedEventSubscriber secondAnotherSubscriber = new AnotherDoubleAnnotatedEventSubscriber(); - AnnotationProcessor.process(secondAnotherSubscriber); - EventBus.publish(new ArrayList()); - EDTUtil.waitForEDT(); - assertEquals(2, AnotherDoubleAnnotatedEventSubscriber.getTimesCalled()); - assertEquals(2, DoubleAnnotatedEventSubscriber.getTimesCalled()); - //Ensure the garbage collector can't clean up the refs - System.out.println("finished with:"+subscriber); - System.out.println("finished with:"+secondSubscriber); - System.out.println("finished with:"+anotherSubscriber); - } - -//Would like to test this, but an exception isn't thrown, since you want all the subscribers to be called -//even if calling any one throws an exception -// public void testTopicWrongType() { -// AnnotatedEventSubscriber subscriber = new AnnotatedEventSubscriber(); -// AnnotationProcessor.process(subscriber); -// EventService es = EventServiceLocator.getEventService("IteratorService"); -// try { -// es.publish("Iterator", "foo"); -// fail("Should get an IllegalArgumentException"); -// } catch (Exception ex) { -// } -// } - - public void testRuntimeTopicSubscriber() { - SubscriberForTesting runtimeTopicSubscriber = Factory.newRuntimeTopicSubscriber("foo"); - EventBus.publish("foo", new ArrayList()); - EDTUtil.waitForEDT(); - assertEquals(1, runtimeTopicSubscriber.getTimesCalled()); - } - - public void testRuntimeTopicPatternSubscriber() { - SubscriberForTesting runtimeTopicSubscriber = Factory.newRuntimeTopicPatternSubscriber("hope.*"); - EventBus.publish("hope_and_change", new ArrayList()); - EDTUtil.waitForEDT(); - assertEquals(1, runtimeTopicSubscriber.getTimesCalled()); - } -} diff --git a/src/test/java/org/scijava/event/bushe/annotation/TestSubscriberAnnotationMemoryLeaks.java b/src/test/java/org/scijava/event/bushe/annotation/TestSubscriberAnnotationMemoryLeaks.java deleted file mode 100644 index 2d1b19f44..000000000 --- a/src/test/java/org/scijava/event/bushe/annotation/TestSubscriberAnnotationMemoryLeaks.java +++ /dev/null @@ -1,336 +0,0 @@ -package org.scijava.event.bushe.annotation; - -import java.util.ArrayList; -import java.util.List; -import java.util.Random; -import java.util.logging.Level; -import java.util.logging.Logger; -import javax.swing.JComponent; - -import junit.framework.TestCase; - -import org.scijava.event.bushe.CleanupEvent; -import org.scijava.event.bushe.EDTUtil; -import org.scijava.event.bushe.EventBus; -import org.scijava.event.bushe.EventService; -import org.scijava.event.bushe.EventSubscriber; -import org.scijava.event.bushe.ThreadSafeEventService; - -public class TestSubscriberAnnotationMemoryLeaks extends TestCase { - Random rand = new Random(); - - public void setUp() { - EventBus.getGlobalEventService(); - EventBus.clearAllSubscribers(); - System.gc(); - } - - public void testStrongClassAnnotatedEventSubscriber() { - StrongClassAnnotatedEventSubscriber subscriber = new StrongClassAnnotatedEventSubscriber(); - AnnotationProcessor.process(subscriber); - StrongClassAnnotatedEventSubscriber.setTimesCalled(0); - assertEquals(0, StrongClassAnnotatedEventSubscriber.getTimesCalled()); - EventBus.publish(new ArrayList()); - EDTUtil.waitForEDT(); - assertEquals(1, StrongClassAnnotatedEventSubscriber.getTimesCalled()); - subscriber = null; - System.gc(); - EventBus.publish(new ArrayList()); - EDTUtil.waitForEDT(); - assertEquals(2, StrongClassAnnotatedEventSubscriber.getTimesCalled()); - List subscribers = EventBus.getSubscribers(List.class); - assertEquals(1, subscribers.size()); - //I can unsubscribe without ever explicitly subscribing - EventBus.unsubscribe(List.class, (org.scijava.event.bushe.EventSubscriber) subscribers.get(0)); - EventBus.publish(new ArrayList()); - EDTUtil.waitForEDT(); - assertEquals(2, StrongClassAnnotatedEventSubscriber.getTimesCalled()); - subscribers = EventBus.getSubscribers(List.class); - assertEquals(0, subscribers.size()); - } - - public void testWeakClassAnnotatedEventSubscriber() { - WeakClassAnnotatedEventSubscriber subscriber = new WeakClassAnnotatedEventSubscriber(); - AnnotationProcessor.process(subscriber); - WeakClassAnnotatedEventSubscriber.setTimesCalled(0); - assertEquals(0, WeakClassAnnotatedEventSubscriber.getTimesCalled()); - EventBus.publish(new ArrayList()); - EDTUtil.waitForEDT(); - assertEquals(1, WeakClassAnnotatedEventSubscriber.getTimesCalled()); - - subscriber = null; - System.gc(); - EventBus.publish(new ArrayList()); - EDTUtil.waitForEDT(); - assertEquals(1, WeakClassAnnotatedEventSubscriber.getTimesCalled()); - List subscribers = EventBus.getSubscribers(List.class); - assertEquals(0, subscribers.size()); - } - - public void testWeakClassAnnotatedEventSubscriberUnsubscription() { - WeakClassAnnotatedEventSubscriber subscriber = new WeakClassAnnotatedEventSubscriber(); - AnnotationProcessor.process(subscriber); - WeakClassAnnotatedEventSubscriber.setTimesCalled(0); - assertEquals(0, WeakClassAnnotatedEventSubscriber.getTimesCalled()); - EventBus.publish(new ArrayList()); - EDTUtil.waitForEDT(); - assertEquals(1, WeakClassAnnotatedEventSubscriber.getTimesCalled()); - - EventBus.unsubscribe(List.class, subscriber); - - subscriber = null; - System.gc(); - EventBus.publish(new ArrayList()); - EDTUtil.waitForEDT(); - assertEquals(1, WeakClassAnnotatedEventSubscriber.getTimesCalled()); - List subscribers = EventBus.getSubscribers(List.class); - assertEquals(0, subscribers.size()); - } - - public void testCleanup() { - final int cleanStartThreshold = 100; - final long period = 5000L; - final int stopThreshold = 10; - EventService es = new ThreadSafeEventService(cleanStartThreshold, stopThreshold,period); - CleanupEventSubscriber cleanupEventSubscriber = new CleanupEventSubscriber(); - es.subscribe(CleanupEvent.class, cleanupEventSubscriber); - //Go right up to the edge, but don't cross it. - Object[] subscribers = new Object[cleanStartThreshold]; - for (int i = 0; i < cleanStartThreshold -2; i++) { - subscribers[i] = createSubscriber(es); - //these should have no effect - es.subscribeStrongly(List.class, new DummySubscriber()); - } - es.publish(new ArrayList()); - try { - Thread.sleep(100); - } catch (InterruptedException ex) { - Logger.getLogger(TestSubscriberAnnotationMemoryLeaks.class.getName()).log(Level.SEVERE, null, ex); - } - assertEquals(0, cleanupEventSubscriber.events.size()); - - //Go over the edge, cleanup should start - subscribers[cleanStartThreshold-1] = createSubscriber(es); - try { - Thread.sleep(1000); - } catch (InterruptedException ex) { - Logger.getLogger(TestSubscriberAnnotationMemoryLeaks.class.getName()).log(Level.SEVERE, null, ex); - } - - //There are no stale refs yet, should have tried cleaning, but not done it. - assertEquals(3, cleanupEventSubscriber.events.size()); - assertEquals(CleanupEvent.Status.STARTING, cleanupEventSubscriber.events.get(0).getStatus()); - assertEquals(CleanupEvent.Status.OVER_STOP_THRESHOLD_CLEANING_BEGUN, cleanupEventSubscriber.events.get(1).getStatus()); - assertEquals(CleanupEvent.Status.FINISHED_CLEANING, cleanupEventSubscriber.events.get(2).getStatus()); - assertTrue(cleanStartThreshold == cleanupEventSubscriber.events.get(0).getTotalWeakRefsAndProxies()); - assertTrue(cleanStartThreshold == cleanupEventSubscriber.events.get(1).getTotalWeakRefsAndProxies()); - assertTrue(cleanStartThreshold == cleanupEventSubscriber.events.get(2).getTotalWeakRefsAndProxies()); - assertEquals(new Integer(0), cleanupEventSubscriber.events.get(2).getNumStaleSubscribersCleaned()); - - //Does it run again after the interval (exactly once more)? - try { - Thread.sleep(250+period); - } catch (InterruptedException ex) { - Logger.getLogger(TestSubscriberAnnotationMemoryLeaks.class.getName()).log(Level.SEVERE, null, ex); - } - assertEquals(6, cleanupEventSubscriber.events.size()); - assertEquals(CleanupEvent.Status.STARTING, cleanupEventSubscriber.events.get(3).getStatus()); - assertEquals(CleanupEvent.Status.OVER_STOP_THRESHOLD_CLEANING_BEGUN, cleanupEventSubscriber.events.get(4).getStatus()); - assertEquals(CleanupEvent.Status.FINISHED_CLEANING, cleanupEventSubscriber.events.get(5).getStatus()); - assertTrue(cleanStartThreshold == cleanupEventSubscriber.events.get(3).getTotalWeakRefsAndProxies()); - assertTrue(cleanStartThreshold == cleanupEventSubscriber.events.get(4).getTotalWeakRefsAndProxies()); - assertTrue(cleanStartThreshold == cleanupEventSubscriber.events.get(5).getTotalWeakRefsAndProxies()); - assertEquals(new Integer(0), cleanupEventSubscriber.events.get(5).getNumStaleSubscribersCleaned()); - - //Now make some stale - int numberToMakeStale = 10; - for (int i = 0; i < numberToMakeStale; i++) { - subscribers[i] = null; - } - System.gc(); - try { - Thread.sleep(100); - } catch (InterruptedException ex) { - Logger.getLogger(TestSubscriberAnnotationMemoryLeaks.class.getName()).log(Level.SEVERE, null, ex); - } - //Period has not yet pass, should not expect a cleaning yet. - assertEquals(6, cleanupEventSubscriber.events.size()); - - //After period, stale refs should be cleaned - try { - Thread.sleep(period); - } catch (InterruptedException ex) { - Logger.getLogger(TestSubscriberAnnotationMemoryLeaks.class.getName()).log(Level.SEVERE, null, ex); - } - assertEquals(9, cleanupEventSubscriber.events.size()); - assertEquals(CleanupEvent.Status.STARTING, cleanupEventSubscriber.events.get(6).getStatus()); - assertEquals(CleanupEvent.Status.OVER_STOP_THRESHOLD_CLEANING_BEGUN, cleanupEventSubscriber.events.get(7).getStatus()); - assertEquals(CleanupEvent.Status.FINISHED_CLEANING, cleanupEventSubscriber.events.get(8).getStatus()); - assertEquals((int)cleanStartThreshold, (int)cleanupEventSubscriber.events.get(6).getTotalWeakRefsAndProxies()); - assertEquals((int)cleanStartThreshold, (int)cleanupEventSubscriber.events.get(7).getTotalWeakRefsAndProxies()); - assertEquals((int)(cleanStartThreshold - numberToMakeStale), (int)cleanupEventSubscriber.events.get(8).getTotalWeakRefsAndProxies()); - assertEquals((int)numberToMakeStale, (int)cleanupEventSubscriber.events.get(8).getNumStaleSubscribersCleaned()); - - //Now make so many stale that it gets below the stop threshold - int numberAlreadyStale = numberToMakeStale; - numberToMakeStale = cleanStartThreshold - stopThreshold; - for (int i = numberAlreadyStale; i < numberToMakeStale; i++) { - subscribers[i] = null; - } - System.gc(); - //After period, stale refs should be cleaned - try { - Thread.sleep(period); - } catch (InterruptedException ex) { - Logger.getLogger(TestSubscriberAnnotationMemoryLeaks.class.getName()).log(Level.SEVERE, null, ex); - } - assertEquals(12, cleanupEventSubscriber.events.size()); - assertEquals(CleanupEvent.Status.STARTING, cleanupEventSubscriber.events.get(9).getStatus()); - assertEquals(CleanupEvent.Status.OVER_STOP_THRESHOLD_CLEANING_BEGUN, cleanupEventSubscriber.events.get(10).getStatus()); - assertEquals(CleanupEvent.Status.FINISHED_CLEANING, cleanupEventSubscriber.events.get(11).getStatus()); - assertEquals((int)cleanStartThreshold-numberAlreadyStale, (int)cleanupEventSubscriber.events.get(9).getTotalWeakRefsAndProxies()); - assertEquals((int)cleanStartThreshold-numberAlreadyStale, (int)cleanupEventSubscriber.events.get(10).getTotalWeakRefsAndProxies()); - assertEquals((int)(cleanStartThreshold - numberToMakeStale), (int)cleanupEventSubscriber.events.get(11).getTotalWeakRefsAndProxies()); - assertEquals((int)numberToMakeStale, (int)cleanupEventSubscriber.events.get(11).getNumStaleSubscribersCleaned()+numberAlreadyStale); - - //After period, next cleaning run should tell us that cleaning is stopped - try { - Thread.sleep(period); - } catch (InterruptedException ex) { - Logger.getLogger(TestSubscriberAnnotationMemoryLeaks.class.getName()).log(Level.SEVERE, null, ex); - } - assertEquals(14, cleanupEventSubscriber.events.size()); - assertEquals(CleanupEvent.Status.STARTING, cleanupEventSubscriber.events.get(12).getStatus()); - assertEquals(CleanupEvent.Status.UNDER_STOP_THRESHOLD_CLEANING_CANCELLED, cleanupEventSubscriber.events.get(13).getStatus()); - assertEquals((int)cleanStartThreshold-numberToMakeStale, (int)cleanupEventSubscriber.events.get(12).getTotalWeakRefsAndProxies()); - assertEquals((int)cleanStartThreshold-numberToMakeStale, (int)cleanupEventSubscriber.events.get(13).getTotalWeakRefsAndProxies()); - assertEquals(null, cleanupEventSubscriber.events.get(13).getNumStaleSubscribersCleaned()); - - //After period, no more cleaning should be done - try { - Thread.sleep(period); - } catch (InterruptedException ex) { - Logger.getLogger(TestSubscriberAnnotationMemoryLeaks.class.getName()).log(Level.SEVERE, null, ex); - } - assertEquals(14, cleanupEventSubscriber.events.size()); - - es.clearAllSubscribers(); - es.subscribe(CleanupEvent.class, cleanupEventSubscriber); - - //Go back over the limit and the cleaning should restart - for (int i = 0; i < cleanStartThreshold-1; i++) { - subscribers[i] = createSubscriber(es); - } - subscribers[99] = createSubscriber(es); - System.out.println("Cleanup should be starting"); - try { - Thread.sleep(250); - } catch (InterruptedException ex) { - Logger.getLogger(TestSubscriberAnnotationMemoryLeaks.class.getName()).log(Level.SEVERE, null, ex); - } - assertEquals(17, cleanupEventSubscriber.events.size()); - assertEquals(CleanupEvent.Status.STARTING, cleanupEventSubscriber.events.get(14).getStatus()); - assertEquals(CleanupEvent.Status.OVER_STOP_THRESHOLD_CLEANING_BEGUN, cleanupEventSubscriber.events.get(15).getStatus()); - assertEquals(CleanupEvent.Status.FINISHED_CLEANING, cleanupEventSubscriber.events.get(16).getStatus()); - assertEquals(0, (int)cleanupEventSubscriber.events.get(16).getNumStaleSubscribersCleaned()); - - es.clearAllSubscribers(); - es.subscribe(CleanupEvent.class, cleanupEventSubscriber); - try { - Thread.sleep(period); - } catch (InterruptedException ex) { - Logger.getLogger(TestSubscriberAnnotationMemoryLeaks.class.getName()).log(Level.SEVERE, null, ex); - } - assertEquals(19, cleanupEventSubscriber.events.size()); - assertEquals(CleanupEvent.Status.STARTING, cleanupEventSubscriber.events.get(17).getStatus()); - assertEquals(CleanupEvent.Status.UNDER_STOP_THRESHOLD_CLEANING_CANCELLED, cleanupEventSubscriber.events.get(18).getStatus()); - assertEquals(null, cleanupEventSubscriber.events.get(18).getNumStaleSubscribersCleaned()); - - //After period, no more cleaning should be done - try { - Thread.sleep(period); - } catch (InterruptedException ex) { - Logger.getLogger(TestSubscriberAnnotationMemoryLeaks.class.getName()).log(Level.SEVERE, null, ex); - } - assertEquals(19, cleanupEventSubscriber.events.size()); - } - - private Object createSubscriber(EventService es) { - Object result = null; - int randNum = rand.nextInt(2); - if (randNum == 0) { - //class - randNum = rand.nextInt(2); - if (true || randNum == 0) { - //normal - result = new DummySubscriber(); - Class subscriptionClass = null; - randNum = rand.nextInt(3); - switch (randNum) { - case 0: subscriptionClass = List.class; break; - case 1: subscriptionClass = String.class;break; - case 2: subscriptionClass = JComponent.class;break; - } - es.subscribe(subscriptionClass, (EventSubscriber)result); - } else { - //annotated - result = new AnnotatedDummySubscriber(); - AnnotationProcessor.process(result); - } - } else { - //topic - randNum = rand.nextInt(2); - if (true || randNum == 0) { - //normal - result = new DummyTopicSubscriber(); - String topic = null; - randNum = rand.nextInt(3); - switch (randNum) { - case 0: topic = "Lis"; break; - case 1: topic = "Strin";break; - case 2: topic = "JCompon";break; - } - es.subscribe(topic, (org.scijava.event.bushe.EventTopicSubscriber)result); - } else { - //annotated - result = new AnnotatedTopicDummySubscriber(); - AnnotationProcessor.process(result); - } - } - return result; - } - - private class CleanupEventSubscriber implements EventSubscriber { - - public List events = new ArrayList(); - - public CleanupEventSubscriber() { - } - - public void onEvent(CleanupEvent event) { - this.events.add(event); - } - } - - private static class DummySubscriber implements EventSubscriber { - public void onEvent(List list) { - } - } - - private static class DummyTopicSubscriber implements org.scijava.event.bushe.EventTopicSubscriber { - public void onEvent(String topic, Object data) { - } - } - - private static class AnnotatedDummySubscriber { - @org.scijava.event.bushe.annotation.EventSubscriber(eventClass=List.class) - public void foo(Object event) { - } - } - - private static class AnnotatedTopicDummySubscriber { - @EventTopicSubscriber(topic="bar") - public void foo(Object event) { - } - } -} From 66c98fd04ac917f1050f2955866468fa31bbe4e5 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 17 May 2023 11:50:00 -0500 Subject: [PATCH 294/383] Move all org.bushe:eventbus code into one package So that we can more easily decrease the visibility of these classes. --- .../scijava/event/DefaultEventService.java | 8 +- .../java/org/scijava/event/EventHandler.java | 2 +- .../org/scijava/event/EventSubscriber.java | 2 +- .../AbstractProxySubscriber.java | 6 +- .../{annotation => }/AnnotationProcessor.java | 7 +- .../{annotation => }/BaseProxySubscriber.java | 7 +- .../bushe/ContainerEventServiceRegistrar.java | 16 +-- .../org/scijava/event/bushe/EventBus.java | 52 +++---- .../org/scijava/event/bushe/EventService.java | 58 ++++---- .../scijava/event/bushe/EventSubscriber.java | 121 +++++++++++++---- .../EventTopicPatternSubscriber.java | 6 +- .../event/bushe/EventTopicSubscriber.java | 122 +++++++++++++---- .../scijava/event/bushe/IEventSubscriber.java | 35 +++++ .../event/bushe/IEventTopicSubscriber.java | 38 ++++++ .../bushe/PrioritizedEventSubscriber.java | 4 +- .../PrioritizedEventTopicSubscriber.java | 4 +- .../scijava/event/bushe/ProxySubscriber.java | 2 - .../ProxyTopicPatternSubscriber.java | 4 +- .../ProxyTopicSubscriber.java | 7 +- .../{annotation => }/ReferenceStrength.java | 2 +- .../RuntimeTopicEventSubscriber.java | 6 +- .../RuntimeTopicPatternEventSubscriber.java | 6 +- .../event/bushe/SubscriberTimingEvent.java | 6 +- .../bushe/{exception => }/SwingException.java | 2 +- .../event/bushe/ThreadSafeEventService.java | 84 ++++++------ .../bushe/{generics => }/TypeReference.java | 2 +- ...heClassOfTheAnnotatedMethodsParameter.java | 2 +- .../VetoRuntimeTopicPatternSubscriber.java | 6 +- .../VetoRuntimeTopicSubscriber.java | 6 +- .../{annotation => }/VetoSubscriber.java | 6 +- .../VetoTopicPatternSubscriber.java | 6 +- .../{annotation => }/VetoTopicSubscriber.java | 6 +- .../bushe/annotation/EventSubscriber.java | 110 --------------- .../annotation/EventTopicSubscriber.java | 108 --------------- .../{annotation => }/AbstractSubscriber.java | 2 +- .../AnnotatedEventSubscriber.java | 4 +- .../AnnotatedVetoSubscriber.java | 4 +- .../AnotherAnnotatedEventSubscriber.java | 4 +- ...AnotherDoubleAnnotatedEventSubscriber.java | 4 +- .../scijava/event/bushe/BadEventService.java | 4 +- .../{annotation => }/ConcreteSubscriber.java | 2 +- .../{generics => }/DataRequestEvent.java | 2 +- .../DoubleAnnotatedEventSubscriber.java | 4 +- .../{annotation/runtime => }/Factory.java | 2 +- .../{generics => }/GenericReflection.java | 2 +- .../{annotation => }/Issue15Subscriber.java | 7 +- .../{annotation => }/Issue15Subscriber2.java | 6 +- .../event/bushe/{annotation => }/MyData.java | 2 +- .../RuntimeTopicPatternSubscriber.java | 5 +- .../runtime => }/RuntimeTopicSubscriber.java | 5 +- .../StrongAnnotatedEventSubscriber.java | 2 +- .../StrongClassAnnotatedEventSubscriber.java | 2 +- .../event/bushe/SubscriberForTest.java | 2 +- .../runtime => }/SubscriberForTesting.java | 2 +- .../TestAnnotationInAbstractClass.java | 4 +- .../bushe/TestContainerEventService.java | 8 +- .../event/bushe/TestDefaultEventService.java | 69 +++++----- .../scijava/event/bushe/TestEventAction.java | 12 +- .../org/scijava/event/bushe/TestEventBus.java | 36 ++--- .../event/bushe/TestEventBusServiceClass.java | 2 +- .../TestEventBusServiceClassBadType.java | 2 +- .../event/bushe/TestEventBusTiming.java | 20 +-- .../scijava/event/bushe/TestPerformance.java | 4 +- .../bushe/TestPrioritizedSubscribers.java | 128 +++++++++--------- .../event/bushe/TestPublicationStates.java | 2 +- .../event/bushe/TopicSubscriberForTest.java | 2 +- .../WeakClassAnnotatedEventSubscriber.java | 2 +- 67 files changed, 563 insertions(+), 654 deletions(-) rename src/main/java/org/scijava/event/bushe/{annotation => }/AbstractProxySubscriber.java (97%) rename src/main/java/org/scijava/event/bushe/{annotation => }/AnnotationProcessor.java (99%) rename src/main/java/org/scijava/event/bushe/{annotation => }/BaseProxySubscriber.java (96%) rename src/main/java/org/scijava/event/bushe/{annotation => }/EventTopicPatternSubscriber.java (86%) create mode 100644 src/main/java/org/scijava/event/bushe/IEventSubscriber.java create mode 100644 src/main/java/org/scijava/event/bushe/IEventTopicSubscriber.java rename src/main/java/org/scijava/event/bushe/{annotation => }/ProxyTopicPatternSubscriber.java (97%) rename src/main/java/org/scijava/event/bushe/{annotation => }/ProxyTopicSubscriber.java (96%) rename src/main/java/org/scijava/event/bushe/{annotation => }/ReferenceStrength.java (77%) rename src/main/java/org/scijava/event/bushe/{annotation => }/RuntimeTopicEventSubscriber.java (86%) rename src/main/java/org/scijava/event/bushe/{annotation => }/RuntimeTopicPatternEventSubscriber.java (87%) rename src/main/java/org/scijava/event/bushe/{exception => }/SwingException.java (99%) rename src/main/java/org/scijava/event/bushe/{generics => }/TypeReference.java (97%) rename src/main/java/org/scijava/event/bushe/{annotation => }/UseTheClassOfTheAnnotatedMethodsParameter.java (94%) rename src/main/java/org/scijava/event/bushe/{annotation => }/VetoRuntimeTopicPatternSubscriber.java (88%) rename src/main/java/org/scijava/event/bushe/{annotation => }/VetoRuntimeTopicSubscriber.java (87%) rename src/main/java/org/scijava/event/bushe/{annotation => }/VetoSubscriber.java (93%) rename src/main/java/org/scijava/event/bushe/{annotation => }/VetoTopicPatternSubscriber.java (92%) rename src/main/java/org/scijava/event/bushe/{annotation => }/VetoTopicSubscriber.java (92%) delete mode 100644 src/main/java/org/scijava/event/bushe/annotation/EventSubscriber.java delete mode 100644 src/main/java/org/scijava/event/bushe/annotation/EventTopicSubscriber.java rename src/test/java/org/scijava/event/bushe/{annotation => }/AbstractSubscriber.java (94%) rename src/test/java/org/scijava/event/bushe/{annotation => }/AnnotatedEventSubscriber.java (95%) rename src/test/java/org/scijava/event/bushe/{annotation => }/AnnotatedVetoSubscriber.java (95%) rename src/test/java/org/scijava/event/bushe/{annotation => }/AnotherAnnotatedEventSubscriber.java (91%) rename src/test/java/org/scijava/event/bushe/{annotation => }/AnotherDoubleAnnotatedEventSubscriber.java (91%) rename src/test/java/org/scijava/event/bushe/{annotation => }/ConcreteSubscriber.java (90%) rename src/test/java/org/scijava/event/bushe/{generics => }/DataRequestEvent.java (75%) rename src/test/java/org/scijava/event/bushe/{annotation => }/DoubleAnnotatedEventSubscriber.java (87%) rename src/test/java/org/scijava/event/bushe/{annotation/runtime => }/Factory.java (85%) rename src/test/java/org/scijava/event/bushe/{generics => }/GenericReflection.java (98%) rename src/test/java/org/scijava/event/bushe/{annotation => }/Issue15Subscriber.java (87%) rename src/test/java/org/scijava/event/bushe/{annotation => }/Issue15Subscriber2.java (88%) rename src/test/java/org/scijava/event/bushe/{annotation => }/MyData.java (89%) rename src/test/java/org/scijava/event/bushe/{annotation/runtime => }/RuntimeTopicPatternSubscriber.java (77%) rename src/test/java/org/scijava/event/bushe/{annotation/runtime => }/RuntimeTopicSubscriber.java (76%) rename src/test/java/org/scijava/event/bushe/{annotation => }/StrongAnnotatedEventSubscriber.java (93%) rename src/test/java/org/scijava/event/bushe/{annotation => }/StrongClassAnnotatedEventSubscriber.java (92%) rename src/test/java/org/scijava/event/bushe/{annotation/runtime => }/SubscriberForTesting.java (56%) rename src/test/java/org/scijava/event/bushe/{annotation => }/TestAnnotationInAbstractClass.java (80%) rename src/test/java/org/scijava/event/bushe/{annotation => }/WeakClassAnnotatedEventSubscriber.java (92%) diff --git a/src/main/java/org/scijava/event/DefaultEventService.java b/src/main/java/org/scijava/event/DefaultEventService.java index e82d844a5..c5717d8a9 100644 --- a/src/main/java/org/scijava/event/DefaultEventService.java +++ b/src/main/java/org/scijava/event/DefaultEventService.java @@ -40,10 +40,10 @@ import java.util.Map; import java.util.WeakHashMap; -import org.scijava.event.bushe.annotation.AbstractProxySubscriber; -import org.scijava.event.bushe.annotation.BaseProxySubscriber; -import org.scijava.event.bushe.annotation.ReferenceStrength; import org.scijava.Priority; +import org.scijava.event.bushe.AbstractProxySubscriber; +import org.scijava.event.bushe.BaseProxySubscriber; +import org.scijava.event.bushe.ReferenceStrength; import org.scijava.log.LogService; import org.scijava.plugin.Parameter; import org.scijava.plugin.Plugin; @@ -263,7 +263,7 @@ private synchronized void keepIt(final Object o, final ProxySubscriber subscr * Helper class used by {@link #subscribe(Object)}. *

      * Recapitulates some logic from {@link BaseProxySubscriber}, because that - * class implements {@link org.scijava.event.bushe.EventSubscriber} as a raw + * class implements {@link org.scijava.event.bushe.IEventSubscriber} as a raw * type, which is incompatible with this class implementing SciJava's * {@link EventSubscriber} as a typed interface; it becomes impossible to * implement both {@code onEvent(Object)} and {@code onEvent(E)}. diff --git a/src/main/java/org/scijava/event/EventHandler.java b/src/main/java/org/scijava/event/EventHandler.java index 27e0d7bbc..55f4b3a6f 100644 --- a/src/main/java/org/scijava/event/EventHandler.java +++ b/src/main/java/org/scijava/event/EventHandler.java @@ -40,7 +40,7 @@ * handling methods and annotating each with @{@link EventHandler}. *

      * Note to developers: This annotation serves exactly the same purpose as - * EventBus's {@link org.scijava.event.bushe.annotation.EventSubscriber} + * EventBus's {@link org.scijava.event.bushe.EventSubscriber} * annotation, recapitulating a subset of the same functionality. We do this to * avoid third party code depending directly on EventBus. That is, we do not * wish to require SciJava developers to {@code import org.scijava.event.bushe.*} diff --git a/src/main/java/org/scijava/event/EventSubscriber.java b/src/main/java/org/scijava/event/EventSubscriber.java index a36181639..a25ba2c1a 100644 --- a/src/main/java/org/scijava/event/EventSubscriber.java +++ b/src/main/java/org/scijava/event/EventSubscriber.java @@ -44,7 +44,7 @@ * @param Type of event for which to listen */ public interface EventSubscriber extends - org.scijava.event.bushe.EventSubscriber + org.scijava.event.bushe.IEventSubscriber { @Override diff --git a/src/main/java/org/scijava/event/bushe/annotation/AbstractProxySubscriber.java b/src/main/java/org/scijava/event/bushe/AbstractProxySubscriber.java similarity index 97% rename from src/main/java/org/scijava/event/bushe/annotation/AbstractProxySubscriber.java rename to src/main/java/org/scijava/event/bushe/AbstractProxySubscriber.java index f7a7a84f2..f0db8aac1 100644 --- a/src/main/java/org/scijava/event/bushe/annotation/AbstractProxySubscriber.java +++ b/src/main/java/org/scijava/event/bushe/AbstractProxySubscriber.java @@ -1,14 +1,10 @@ -package org.scijava.event.bushe.annotation; +package org.scijava.event.bushe; import java.lang.ref.WeakReference; import java.lang.reflect.Method; import java.lang.reflect.AccessibleObject; import java.lang.reflect.InvocationTargetException; -import org.scijava.event.bushe.EventService; -import org.scijava.event.bushe.ProxySubscriber; -import org.scijava.event.bushe.Prioritized; - /** * Common base class for EventService Proxies. *

      diff --git a/src/main/java/org/scijava/event/bushe/annotation/AnnotationProcessor.java b/src/main/java/org/scijava/event/bushe/AnnotationProcessor.java similarity index 99% rename from src/main/java/org/scijava/event/bushe/annotation/AnnotationProcessor.java rename to src/main/java/org/scijava/event/bushe/AnnotationProcessor.java index 2a9810322..22ae777ac 100644 --- a/src/main/java/org/scijava/event/bushe/annotation/AnnotationProcessor.java +++ b/src/main/java/org/scijava/event/bushe/AnnotationProcessor.java @@ -1,4 +1,4 @@ -package org.scijava.event.bushe.annotation; +package org.scijava.event.bushe; import java.lang.annotation.Annotation; import java.lang.reflect.InvocationTargetException; @@ -6,11 +6,6 @@ import java.util.regex.Pattern; import java.util.Arrays; -import org.scijava.event.bushe.EventService; -import org.scijava.event.bushe.EventServiceExistsException; -import org.scijava.event.bushe.EventServiceLocator; -import org.scijava.event.bushe.Logger; - /** * Enhances classes that use EventService Annotations. *

      diff --git a/src/main/java/org/scijava/event/bushe/annotation/BaseProxySubscriber.java b/src/main/java/org/scijava/event/bushe/BaseProxySubscriber.java similarity index 96% rename from src/main/java/org/scijava/event/bushe/annotation/BaseProxySubscriber.java rename to src/main/java/org/scijava/event/bushe/BaseProxySubscriber.java index f877d35e2..8c8ccd6ae 100644 --- a/src/main/java/org/scijava/event/bushe/annotation/BaseProxySubscriber.java +++ b/src/main/java/org/scijava/event/bushe/BaseProxySubscriber.java @@ -1,14 +1,11 @@ -package org.scijava.event.bushe.annotation; +package org.scijava.event.bushe; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; -import org.scijava.event.bushe.EventService; -import org.scijava.event.bushe.VetoEventListener; - /** A class is subscribed to an EventService on behalf of another object. */ public class BaseProxySubscriber extends AbstractProxySubscriber - implements org.scijava.event.bushe.EventSubscriber, VetoEventListener { + implements org.scijava.event.bushe.IEventSubscriber, VetoEventListener { private Class subscriptionClass; /** diff --git a/src/main/java/org/scijava/event/bushe/ContainerEventServiceRegistrar.java b/src/main/java/org/scijava/event/bushe/ContainerEventServiceRegistrar.java index 5825dd664..d75de00c3 100644 --- a/src/main/java/org/scijava/event/bushe/ContainerEventServiceRegistrar.java +++ b/src/main/java/org/scijava/event/bushe/ContainerEventServiceRegistrar.java @@ -37,10 +37,10 @@ */ public class ContainerEventServiceRegistrar { private JComponent jComp; - private EventSubscriber eventSubscriber; + private IEventSubscriber eventSubscriber; private VetoEventListener vetoSubscriber; private Class[] eventClasses; - private EventTopicSubscriber eventTopicSubscriber; + private IEventTopicSubscriber eventTopicSubscriber; private VetoTopicEventListener vetoTopicSubscriber; private String[] topics; private EventService containerEventService; @@ -63,7 +63,7 @@ public ContainerEventServiceRegistrar(JComponent jComp) { * @param eventSubscriber the subscriber to register to the Container EventServer * @param eventClasses the class(es) to register for */ - public ContainerEventServiceRegistrar(JComponent jComp, EventSubscriber eventSubscriber, Class... eventClasses) { + public ContainerEventServiceRegistrar(JComponent jComp, IEventSubscriber eventSubscriber, Class... eventClasses) { this(jComp, eventSubscriber, null, eventClasses, null, null, null); } @@ -75,7 +75,7 @@ public ContainerEventServiceRegistrar(JComponent jComp, EventSubscriber eventSub * @param eventTopicSubscriber the topic subscriber to register to the Container EventServer * @param topics the event topic name to register for */ - public ContainerEventServiceRegistrar(JComponent jComp, EventTopicSubscriber eventTopicSubscriber, String... topics) { + public ContainerEventServiceRegistrar(JComponent jComp, IEventTopicSubscriber eventTopicSubscriber, String... topics) { this(jComp, null, null, null, eventTopicSubscriber, null, topics); } @@ -113,8 +113,8 @@ public ContainerEventServiceRegistrar(JComponent jComp, VetoTopicEventListener v * @param eventTopicSubscriber the topic subscriber to keep registered to the topic(s) * @param topics the event topic names to register for */ - public ContainerEventServiceRegistrar(JComponent jComp, EventSubscriber eventSubscriber, Class[] eventClasses, - EventTopicSubscriber eventTopicSubscriber, String[] topics) { + public ContainerEventServiceRegistrar(JComponent jComp, IEventSubscriber eventSubscriber, Class[] eventClasses, + IEventTopicSubscriber eventTopicSubscriber, String[] topics) { this(jComp, eventSubscriber, null, eventClasses, eventTopicSubscriber, null, topics); } @@ -130,8 +130,8 @@ public ContainerEventServiceRegistrar(JComponent jComp, EventSubscriber eventSub * @param vetoTopicSubscriber a veto subscriber for the topics * @param topics the event topic names to register for */ - public ContainerEventServiceRegistrar(JComponent jComp, EventSubscriber eventSubscriber, VetoEventListener vetoSubscriber, - Class[] eventClasses, EventTopicSubscriber eventTopicSubscriber, VetoTopicEventListener vetoTopicSubscriber, + public ContainerEventServiceRegistrar(JComponent jComp, IEventSubscriber eventSubscriber, VetoEventListener vetoSubscriber, + Class[] eventClasses, IEventTopicSubscriber eventTopicSubscriber, VetoTopicEventListener vetoTopicSubscriber, String[] topics) { this.jComp = jComp; this.eventSubscriber = eventSubscriber; diff --git a/src/main/java/org/scijava/event/bushe/EventBus.java b/src/main/java/org/scijava/event/bushe/EventBus.java index 846d96820..7a01fc2bd 100644 --- a/src/main/java/org/scijava/event/bushe/EventBus.java +++ b/src/main/java/org/scijava/event/bushe/EventBus.java @@ -74,68 +74,68 @@ public static void publish(Type genericType, Object o) { } - /** @see EventService#subscribe(Class,EventSubscriber) */ - public static boolean subscribe(Class eventClass, EventSubscriber subscriber) { + /** @see EventService#subscribe(Class,IEventSubscriber) */ + public static boolean subscribe(Class eventClass, IEventSubscriber subscriber) { return EventServiceLocator.getEventBusService().subscribe(eventClass, subscriber); } - /** @see EventService#subscribe(java.lang.reflect.Type, EventSubscriber) */ - public static boolean subscribe(Type genericType, EventSubscriber subscriber) { + /** @see EventService#subscribe(java.lang.reflect.Type, IEventSubscriber) */ + public static boolean subscribe(Type genericType, IEventSubscriber subscriber) { return EventServiceLocator.getEventBusService().subscribe(genericType, subscriber); } - /** @see EventService#subscribeExactly(Class,EventSubscriber) */ - public static boolean subscribeExactly(Class eventClass, EventSubscriber subscriber) { + /** @see EventService#subscribeExactly(Class,IEventSubscriber) */ + public static boolean subscribeExactly(Class eventClass, IEventSubscriber subscriber) { return EventServiceLocator.getEventBusService().subscribeExactly(eventClass, subscriber); } - /** @see EventService#subscribe(String,EventTopicSubscriber) */ - public static boolean subscribe(String topic, EventTopicSubscriber subscriber) { + /** @see EventService#subscribe(String,IEventTopicSubscriber) */ + public static boolean subscribe(String topic, IEventTopicSubscriber subscriber) { return EventServiceLocator.getEventBusService().subscribe(topic, subscriber); } - /** @see EventService#subscribe(Pattern,EventTopicSubscriber) */ - public static boolean subscribe(Pattern topicPattern, EventTopicSubscriber subscriber) { + /** @see EventService#subscribe(Pattern,IEventTopicSubscriber) */ + public static boolean subscribe(Pattern topicPattern, IEventTopicSubscriber subscriber) { return EventServiceLocator.getEventBusService().subscribe(topicPattern, subscriber); } - /** @see EventService#subscribeStrongly(Class,EventSubscriber) */ - public static boolean subscribeStrongly(Class eventClass, EventSubscriber subscriber) { + /** @see EventService#subscribeStrongly(Class,IEventSubscriber) */ + public static boolean subscribeStrongly(Class eventClass, IEventSubscriber subscriber) { return EventServiceLocator.getEventBusService().subscribeStrongly(eventClass, subscriber); } - /** @see EventService#subscribeExactlyStrongly(Class,EventSubscriber) */ - public static boolean subscribeExactlyStrongly(Class eventClass, EventSubscriber subscriber) { + /** @see EventService#subscribeExactlyStrongly(Class,IEventSubscriber) */ + public static boolean subscribeExactlyStrongly(Class eventClass, IEventSubscriber subscriber) { return EventServiceLocator.getEventBusService().subscribeExactlyStrongly(eventClass, subscriber); } - /** @see EventService#subscribeStrongly(String,EventTopicSubscriber) */ - public static boolean subscribeStrongly(String topic, EventTopicSubscriber subscriber) { + /** @see EventService#subscribeStrongly(String,IEventTopicSubscriber) */ + public static boolean subscribeStrongly(String topic, IEventTopicSubscriber subscriber) { return EventServiceLocator.getEventBusService().subscribeStrongly(topic, subscriber); } - /** @see EventService#subscribeStrongly(Pattern,EventTopicSubscriber) */ - public static boolean subscribeStrongly(Pattern topicPattern, EventTopicSubscriber subscriber) { + /** @see EventService#subscribeStrongly(Pattern,IEventTopicSubscriber) */ + public static boolean subscribeStrongly(Pattern topicPattern, IEventTopicSubscriber subscriber) { return EventServiceLocator.getEventBusService().subscribeStrongly(topicPattern, subscriber); } - /** @see EventService#unsubscribe(Class,EventSubscriber) */ - public static boolean unsubscribe(Class eventClass, EventSubscriber subscriber) { + /** @see EventService#unsubscribe(Class,IEventSubscriber) */ + public static boolean unsubscribe(Class eventClass, IEventSubscriber subscriber) { return EventServiceLocator.getEventBusService().unsubscribe(eventClass, subscriber); } - /** @see EventService#unsubscribeExactly(Class,EventSubscriber) */ - public static boolean unsubscribeExactly(Class eventClass, EventSubscriber subscriber) { + /** @see EventService#unsubscribeExactly(Class,IEventSubscriber) */ + public static boolean unsubscribeExactly(Class eventClass, IEventSubscriber subscriber) { return EventServiceLocator.getEventBusService().unsubscribeExactly(eventClass, subscriber); } - /** @see EventService#unsubscribe(String,EventTopicSubscriber) */ - public static boolean unsubscribe(String topic, EventTopicSubscriber subscriber) { + /** @see EventService#unsubscribe(String,IEventTopicSubscriber) */ + public static boolean unsubscribe(String topic, IEventTopicSubscriber subscriber) { return EventServiceLocator.getEventBusService().unsubscribe(topic, subscriber); } - /** @see EventService#unsubscribe(Pattern,EventTopicSubscriber) */ - public static boolean unsubscribe(Pattern topicPattern, EventTopicSubscriber subscriber) { + /** @see EventService#unsubscribe(Pattern,IEventTopicSubscriber) */ + public static boolean unsubscribe(Pattern topicPattern, IEventTopicSubscriber subscriber) { return EventServiceLocator.getEventBusService().unsubscribe(topicPattern, subscriber); } diff --git a/src/main/java/org/scijava/event/bushe/EventService.java b/src/main/java/org/scijava/event/bushe/EventService.java index 8bbc69fa3..6ead66e96 100644 --- a/src/main/java/org/scijava/event/bushe/EventService.java +++ b/src/main/java/org/scijava/event/bushe/EventService.java @@ -23,17 +23,17 @@ * The core interface. An EventService provides publish/subscribe services to a single JVM using Class-based and * String-based (i.e. "topic") publications and subscriptions. *

      - * In class-based pub/sub, {@link EventSubscriber}s subscribe to a type on an {@link EventService}, such + * In class-based pub/sub, {@link IEventSubscriber}s subscribe to a type on an {@link EventService}, such * as the {@link org.scijava.event.bushe.EventBus}, by providing a class, interface or generic type. The EventService * notifies subscribers when objects are published on the EventService with a matching type. Full class semantics are * respected. That is, if a subscriber subscribes to a class, the subscriber is notified if an object of * that class is publish or if an object of a subclass of that class is published. Likewise if a subscriber subscribes * to an interface, it will be notified if any object that implements that interface is published. Subscribers can - * subscribe "exactly" using {@link #subscribeExactly(Class, EventSubscriber)} so that they are notified only if an + * subscribe "exactly" using {@link #subscribeExactly(Class, IEventSubscriber)} so that they are notified only if an * object of the exact class is published (and will not be notified if subclasses are published, since this would not * be "exact") *

      - * In topic-based pub/sub, an object "payload" is published on a topic name (String). {@link EventTopicSubscriber}s subscribe + * In topic-based pub/sub, an object "payload" is published on a topic name (String). {@link IEventTopicSubscriber}s subscribe * to either the exact name of the topic or they may subscribe using a Regular Expression that is used to match topic * names. *

      @@ -112,8 +112,8 @@ * @see {@link ThreadSafeEventService} for the default implementation * @see {@link SwingEventService} for the Swing-safe implementation * @see {@link EventBus} for simple access to the Swing-safe implementation - * @see {@link org.scijava.event.bushe.annotation.EventSubscriber} for subscription annotations - * @see {@link org.scijava.event.bushe.annotation.EventTopicSubscriber} for subscription annotations + * @see {@link org.scijava.event.bushe.IEventSubscriber} for subscription annotations + * @see {@link org.scijava.event.bushe.IEventTopicSubscriber} for subscription annotations */ public interface EventService { @@ -127,10 +127,10 @@ public interface EventService { /** * Use this method to publish generified objects to subscribers of Types, i.e. subscribers that use - * {@link #subscribe(Type, EventSubscriber)}, and to publish to subscribers of the non-generic type. + * {@link #subscribe(Type, IEventSubscriber)}, and to publish to subscribers of the non-generic type. *

      * Due to generic type erasure, the type must be supplied by the caller. You can get a declared object's - * type by using the {@link org.scijava.event.bushe.generics.TypeReference} class. For Example: + * type by using the {@link org.scijava.event.bushe.TypeReference} class. For Example: *

           * TypeReference<List<Trade>> subscribingTypeReference = new TypeReference<List<Trade>>(){};
           * EventBus.subscribe(subscribingTypeReference.getType(), mySubscriber);
      @@ -181,14 +181,14 @@ public interface EventService {
           *
           * @return true if the subscriber was subscribed successfully, false otherwise
           */
      -   public boolean subscribe(Class eventClass, EventSubscriber subscriber);
      +   public boolean subscribe(Class eventClass, IEventSubscriber subscriber);
       
         /** 
          * Subscribe an EventSubscriber to publication of generic Types.
          * Subscribers will only be notified for publications using  {@link #publish(java.lang.reflect.Type, Object)}.
          * 

      * Due to generic type erasure, the type must be supplied by the publisher. You can get a declared object's - * type by using the {@link org.scijava.event.bushe.generics.TypeReference} class. For Example: + * type by using the {@link org.scijava.event.bushe.TypeReference} class. For Example: *

          * TypeReference<List<Trade>> subscribingTypeReference = new TypeReference<List<Trade>>(){};
          * EventBus.subscribe(subscribingTypeReference.getType(), mySubscriber);
      @@ -206,7 +206,7 @@ public interface EventService {
          * @param subscriber the subscriber to the type
          * @return true if a new subscription is made, false if it already existed
          */
      -   public boolean subscribe(Type type, EventSubscriber subscriber);
      +   public boolean subscribe(Type type, IEventSubscriber subscriber);
       
          /**
           * Subscribes an EventSubscriber to the publication of objects exactly matching a type.  Only a WeakReference
      @@ -227,7 +227,7 @@ public interface EventService {
           *
           * @return true if the subscriber was subscribed successfully, false otherwise
           */
      -   public boolean subscribeExactly(Class eventClass, EventSubscriber subscriber);
      +   public boolean subscribeExactly(Class eventClass, IEventSubscriber subscriber);
       
          /**
           * Subscribes an EventTopicSubscriber to the publication of a topic name.  Only a WeakReference
      @@ -247,7 +247,7 @@ public interface EventService {
           *
           * @return true if the subscriber was subscribed successfully, false otherwise
           */
      -   public boolean subscribe(String topic, EventTopicSubscriber subscriber);
      +   public boolean subscribe(String topic, IEventTopicSubscriber subscriber);
       
          /**
           * Subscribes an EventSubscriber to the publication of all the topic names that match a RegEx Pattern.  Only a
      @@ -267,67 +267,67 @@ public interface EventService {
           *
           * @return true if the subscriber was subscribed successfully, false otherwise
           */
      -   public boolean subscribe(Pattern topicPattern, EventTopicSubscriber subscriber);
      +   public boolean subscribe(Pattern topicPattern, IEventTopicSubscriber subscriber);
       
          /**
           * Subscribes an EventSubscriber to the publication of objects matching a type.
           * 

      - * The semantics are the same as {@link #subscribe(Class, EventSubscriber)}, except that the EventService holds + * The semantics are the same as {@link #subscribe(Class, IEventSubscriber)}, except that the EventService holds * a regularly reference, not a WeakReference. *

      - * The subscriber will remain subscribed until {@link #unsubscribe(Class,EventSubscriber)} is called. + * The subscriber will remain subscribed until {@link #unsubscribe(Class,IEventSubscriber)} is called. * * @param eventClass the class of published objects to listen to * @param subscriber The subscriber that will accept the events when published. * * @return true if the subscriber was subscribed successfully, false otherwise */ - public boolean subscribeStrongly(Class eventClass, EventSubscriber subscriber); + public boolean subscribeStrongly(Class eventClass, IEventSubscriber subscriber); /** * Subscribes an EventSubscriber to the publication of objects matching a type exactly. *

      - * The semantics are the same as {@link #subscribeExactly(Class, EventSubscriber)}, except that the EventService + * The semantics are the same as {@link #subscribeExactly(Class, IEventSubscriber)}, except that the EventService * holds a regularly reference, not a WeakReference. *

      - * The subscriber will remain subscribed until {@link #unsubscribe(Class,EventSubscriber)} is called. + * The subscriber will remain subscribed until {@link #unsubscribe(Class,IEventSubscriber)} is called. * * @param eventClass the class of published objects to listen to * @param subscriber The subscriber that will accept the events when published. * * @return true if the subscriber was subscribed successfully, false otherwise */ - public boolean subscribeExactlyStrongly(Class eventClass, EventSubscriber subscriber); + public boolean subscribeExactlyStrongly(Class eventClass, IEventSubscriber subscriber); /** * Subscribes a subscriber to an event topic name. *

      - * The semantics are the same as {@link #subscribe(String, EventTopicSubscriber)}, except that the EventService + * The semantics are the same as {@link #subscribe(String, IEventTopicSubscriber)}, except that the EventService * holds a regularly reference, not a WeakReference. *

      - * The subscriber will remain subscribed until {@link #unsubscribe(String,EventTopicSubscriber)} is called. + * The subscriber will remain subscribed until {@link #unsubscribe(String,IEventTopicSubscriber)} is called. * * @param topic the name of the topic listened to * @param subscriber The topic subscriber that will accept the events when published. * * @return true if the subscriber was subscribed successfully, false otherwise */ - public boolean subscribeStrongly(String topic, EventTopicSubscriber subscriber); + public boolean subscribeStrongly(String topic, IEventTopicSubscriber subscriber); /** * Subscribes a subscriber to all the event topic names that match a RegEx expression. *

      - * The semantics are the same as {@link #subscribe(java.util.regex.Pattern, EventTopicSubscriber)}, except that the + * The semantics are the same as {@link #subscribe(java.util.regex.Pattern, IEventTopicSubscriber)}, except that the * EventService holds a regularly reference, not a WeakReference. *

      - * The subscriber will remain subscribed until {@link #unsubscribe(String,EventTopicSubscriber)} is called. + * The subscriber will remain subscribed until {@link #unsubscribe(String,IEventTopicSubscriber)} is called. * * @param topicPattern the name of the topic listened to * @param subscriber The topic subscriber that will accept the events when published. * * @return true if the subscriber was subscribed successfully, false otherwise */ - public boolean subscribeStrongly(Pattern topicPattern, EventTopicSubscriber subscriber); + public boolean subscribeStrongly(Pattern topicPattern, IEventTopicSubscriber subscriber); /** * Stop the subscription for a subscriber that is subscribed to a class. @@ -337,7 +337,7 @@ public interface EventService { * * @return true if the subscriber was subscribed to the event, false if it wasn't */ - public boolean unsubscribe(Class eventClass, EventSubscriber subscriber); + public boolean unsubscribe(Class eventClass, IEventSubscriber subscriber); /** * Stop the subscription for a subscriber that is subscribed to an exact class. @@ -347,7 +347,7 @@ public interface EventService { * * @return true if the subscriber was subscribed to the event, false if it wasn't */ - public boolean unsubscribeExactly(Class eventClass, EventSubscriber subscriber); + public boolean unsubscribeExactly(Class eventClass, IEventSubscriber subscriber); /** * Stop the subscription for a subscriber that is subscribed to an event topic. @@ -357,7 +357,7 @@ public interface EventService { * * @return true if the subscriber was subscribed to the event, false if it wasn't */ - public boolean unsubscribe(String topic, EventTopicSubscriber subscriber); + public boolean unsubscribe(String topic, IEventTopicSubscriber subscriber); /** * Stop the subscription for a subscriber that is subscribed to event topics via a Pattern. @@ -367,7 +367,7 @@ public interface EventService { * * @return true if the subscriber was subscribed to the event, false if it wasn't */ - public boolean unsubscribe(Pattern topicPattern, EventTopicSubscriber subscriber); + public boolean unsubscribe(Pattern topicPattern, IEventTopicSubscriber subscriber); /** * Subscribes a VetoEventListener to publication of event matching a class. Only a WeakReference to the diff --git a/src/main/java/org/scijava/event/bushe/EventSubscriber.java b/src/main/java/org/scijava/event/bushe/EventSubscriber.java index 03e8f9227..1a1e89d34 100644 --- a/src/main/java/org/scijava/event/bushe/EventSubscriber.java +++ b/src/main/java/org/scijava/event/bushe/EventSubscriber.java @@ -1,35 +1,106 @@ +package org.scijava.event.bushe; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + /** - * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com + * An Annotation for subscribing to EventService Events. + *

      + * This annotation simplifies much of the repetitive boilerplate used for subscribing to EventService Events. + *

      + * Instead of this: + *

      + * public class MyAppController implements EventSubscriber {
      + *   public MyAppController {
      + *      EventBus.subscribe(AppClosingEvent.class, this);
      + *   }
      + *   public void onEvent(EventServiceEvent event) {
      + *      AppClosingEvent appClosingEvent = (AppClosingEvent)event;
      + *      //do something
      + *   }
      + * }
      + * 
      + * You can do this: + *
      + * public class MyAppController {  //no interface necessary
      + *   public MyAppController {
      + *       AnnotationProcessor.process(this);//if not using AOP
      + *   }
      + *   @EventSubscriber
      + *   public void onAppClosingEvent(AppClosingEvent appClosingEvent) {//Use your own method name with typesafety
      + *      //do something
      + *   }
      + * }
      + * 
      + *

      + * That's pretty good, but when the controller does more, annotations are even nicer. + *

      + * public class MyAppController implements EventSubscriber {
      + *   public MyAppController {
      + *      EventBus.subscribe(AppStartingEvent.class, this);
      + *      EventBus.subscribe(AppClosingEvent.class, this);
      + *   }
      + *   public void onEvent(EventServiceEvent event) {
      + *      //wicked bad pattern, but we have to this
      + *      //...or create multiple subscriber classes and hold instances of them fields, which is even more verbose...
      + *      if (event instanceof AppStartingEvent) {
      + *         onAppStartingEvent((AppStartingEvent)event);
      + *      } else (event instanceof AppClosingEvent) {
      + *         onAppStartingEvent((AppClosingEvent)event);
      + *      }
        *
      - * Licensed 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
      + *   public void onAppStartingEvent(AppStartingEvent appStartingEvent) {
      + *      //do something
      + *   }
        *
      - * 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.
      + *   public void onAppClosingEvent(AppClosingEvent appClosingEvent) {
      + *      //do something
      + *   }
      + * }
      + * 
      + * You can do this: + *
      + * public class MyAppController {
      + *   public MyAppController {
      + *       AnnotationProcessor.process(this);//this line can be avoided with a compile-time tool or an Aspect
      + *   }
      + *   @EventSubscriber(eventClass=AppStartingEvent.class)
      + *   public void onAppStartingEvent(AppStartingEvent appStartingEvent) {
      + *      //do something
      + *   }
      + *   @EventSubscriber(eventClass=AppAppClosingEvent.class)
      + *   public void onAppClosingEvent(AppClosingEvent appClosingEvent) {
      + *      //do something
      + *   }
      + * }
      + * 
      + * Brief, clear, and easy. */ -package org.scijava.event.bushe; +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.METHOD) +public @interface EventSubscriber { + /** The class to subscribe to, if not specified, a subscription is created for the type of the method parameter. */ + Class eventClass() default UseTheClassOfTheAnnotatedMethodsParameter.class; -/** - * Callback interface for class-based subscribers of an {@link EventService}. - * - * @author Michael Bushe michael@bushe.com - */ -public interface EventSubscriber { + /** Determines the order in which this subscriber is called, default is FIFO.*/ + int priority() default 0; + + /** Whether or not to subscribe to the exact class or a class hierarchy, defaults to class hierarchy (false). */ + boolean exact() default false; + + /** Whether to subscribe weakly or strongly. */ + ReferenceStrength referenceStrength() default ReferenceStrength.WEAK; + + /** The event service to subscribe to, default to the EventServiceLocator.SERVICE_NAME_EVENT_BUS. */ + String eventServiceName() default EventServiceLocator.SERVICE_NAME_EVENT_BUS; /** - * Handle a published event.

      The EventService calls this method on each publication of an object that matches the - * class or interface passed to one of the EventService's class-based subscribe methods, specifically, {@link - * EventService#subscribe(Class,EventSubscriber)} {@link EventService#subscribeExactly(Class,EventSubscriber)} - * {@link EventService#subscribeStrongly(Class,EventSubscriber)} and {@link EventService#subscribeExactlyStrongly(Class, - *EventSubscriber)}. - * - * @param event The Object that is being published. + * Whether or not to autocreate the event service if it doesn't exist on subscription, default is true. If the + * service needs to be created, it must have a default constructor. */ - public void onEvent(T event); + Class autoCreateEventServiceClass() default ThreadSafeEventService.class; } diff --git a/src/main/java/org/scijava/event/bushe/annotation/EventTopicPatternSubscriber.java b/src/main/java/org/scijava/event/bushe/EventTopicPatternSubscriber.java similarity index 86% rename from src/main/java/org/scijava/event/bushe/annotation/EventTopicPatternSubscriber.java rename to src/main/java/org/scijava/event/bushe/EventTopicPatternSubscriber.java index 3611d2c79..8be245312 100644 --- a/src/main/java/org/scijava/event/bushe/annotation/EventTopicPatternSubscriber.java +++ b/src/main/java/org/scijava/event/bushe/EventTopicPatternSubscriber.java @@ -1,14 +1,10 @@ -package org.scijava.event.bushe.annotation; +package org.scijava.event.bushe; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; -import org.scijava.event.bushe.EventService; -import org.scijava.event.bushe.EventServiceLocator; -import org.scijava.event.bushe.ThreadSafeEventService; - @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) public @interface EventTopicPatternSubscriber { diff --git a/src/main/java/org/scijava/event/bushe/EventTopicSubscriber.java b/src/main/java/org/scijava/event/bushe/EventTopicSubscriber.java index dbcd8bd87..f47a64ca8 100644 --- a/src/main/java/org/scijava/event/bushe/EventTopicSubscriber.java +++ b/src/main/java/org/scijava/event/bushe/EventTopicSubscriber.java @@ -1,38 +1,104 @@ +package org.scijava.event.bushe; + + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + /** - * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com + * An Annotation for subscribing to EventService Topics. + *

      + * This annotation simplifies much of the repetitive boilerplate used for subscribing to EventService Topics. + *

      + * Instead of this: + *

      + * public class MyAppController implements EventTopicSubscriber {
      + *   public MyAppController {
      + *      EventBus.subscribe("AppClosing", this);
      + *   }
      + *   public void onEvent(String topic, Object data) {
      + *      JComponent source = (JComponent)data;
      + *      //do something
      + *   }
      + * }
      + * 
      + * You can do this: + *
      + * public class MyAppController {  //no interface necessary
      + *   public MyAppController {
      + *       AnnotationProcessor.process(this);//this line can be avoided with a compile-time tool or an Aspect
      + *   }
      + *   @EventTopicSubscriber{topic="AppClosingEvent"}
      + *   public void onAppClosing(String topic, Object data) {
      + *      //do something
      + *   }
      + * }
      + * 
      + *

      + * That's pretty good, but when the controller does more, annotations are even nicer. + *

      + * public class MyAppController implements EventTopicSubscriber {
      + *   public MyAppController {
      + *      EventBus.subscribe("AppStartingEvent", this);
      + *      EventBus.subscribe("AppClosingEvent", this);
      + *   }
      + *   public void onEvent(String topic, Object data) {
      + *      //wicked bad pattern, but we have to this
      + *      //...or create multiple subscriber classes and hold instances of them fields, which is even more verbose...
      + *      if ("AppStartingEvent".equals(topic)) {
      + *         onAppStartingEvent((JComponent)data);
      + *      } else ("AppClosingEvent".equals(topic)) {
      + *         onAppClosingEvent((JComponet)data);
      + *      }
        *
      - * Licensed 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
      + *   public void onAppStartingEvent(JComponent requestor) {
      + *      //do something
      + *   }
        *
      - * 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.
      + *   public void onAppClosingEvent(JComponent requestor) {
      + *      //do something
      + *   }
      + * }
      + * 
      + * Instead of all that, you can do this: + *
      + * public class MyAppController {
      + *   public MyAppController {
      + *       AnnotationProcessor.process(this);//this line can be avoided with a compile-time tool or an Aspect
      + *   }
      + *   @EventTopicSubscriber{topic="AppStartingEvent"}
      + *   public void onAppStartingEvent(Object data) {
      + *      //do something
      + *   }
      + *   @EventTopicSubscriber{topic="AppClosingEvent"}
      + *   public void onAppClosingEvent(Foo data) {
      + *      //do something
      + *   }
      + * }
      + * 
      + * Brief, clear, and easy. */ -package org.scijava.event.bushe; +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.METHOD) +public @interface EventTopicSubscriber { + /** The topic to subscribe to */ + String topic(); -/** - * Callback interface for topic-based subscribers of an {@link EventService}. - * - * @author Michael Bushe michael@bushe.com - */ -public interface EventTopicSubscriber { + /** Whether to subscribe weakly or strongly. */ + ReferenceStrength referenceStrength() default ReferenceStrength.WEAK; + + /** The event service to subscribe to, default to the EventServiceLocator.SERVICE_NAME_EVENT_BUS. */ + String eventServiceName() default EventServiceLocator.SERVICE_NAME_EVENT_BUS; + + /** Determines the order in which this subscriber is called, default is FIFO.*/ + int priority() default 0; /** - * Handle an event published on a topic. - *

      - * The EventService calls this method on each publication on a matching topic name passed to one of the - * EventService's topic-based subscribe methods, specifically, {@link EventService#subscribe(String, - *EventTopicSubscriber)} {@link EventService#subscribe(java.util.regex.Pattern,EventTopicSubscriber)} {@link - * EventService#subscribeStrongly(String,EventTopicSubscriber)} and {@link EventService#subscribeStrongly(java.util.regex.Pattern, - *EventTopicSubscriber)}. - * - * @param topic the name of the topic published on - * @param data the data object published on the topic + * Whether or not to autocreate the event service if it doesn't exist on subscription, default is true. If the + * service needs to be created, it must have a default constructor. */ - public void onEvent(String topic, T data); + Class autoCreateEventServiceClass() default ThreadSafeEventService.class; } diff --git a/src/main/java/org/scijava/event/bushe/IEventSubscriber.java b/src/main/java/org/scijava/event/bushe/IEventSubscriber.java new file mode 100644 index 000000000..26556c25b --- /dev/null +++ b/src/main/java/org/scijava/event/bushe/IEventSubscriber.java @@ -0,0 +1,35 @@ +/** + * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com + * + * Licensed 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.scijava.event.bushe; + +/** + * Callback interface for class-based subscribers of an {@link EventService}. + * + * @author Michael Bushe michael@bushe.com + */ +public interface IEventSubscriber { + + /** + * Handle a published event.

      The EventService calls this method on each publication of an object that matches the + * class or interface passed to one of the EventService's class-based subscribe methods, specifically, {@link + * EventService#subscribe(Class,EventSubscriber)} {@link EventService#subscribeExactly(Class,EventSubscriber)} + * {@link EventService#subscribeStrongly(Class,EventSubscriber)} and {@link EventService#subscribeExactlyStrongly(Class, + *EventSubscriber)}. + * + * @param event The Object that is being published. + */ + public void onEvent(T event); +} diff --git a/src/main/java/org/scijava/event/bushe/IEventTopicSubscriber.java b/src/main/java/org/scijava/event/bushe/IEventTopicSubscriber.java new file mode 100644 index 000000000..6a99f5f30 --- /dev/null +++ b/src/main/java/org/scijava/event/bushe/IEventTopicSubscriber.java @@ -0,0 +1,38 @@ +/** + * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com + * + * Licensed 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.scijava.event.bushe; + +/** + * Callback interface for topic-based subscribers of an {@link EventService}. + * + * @author Michael Bushe michael@bushe.com + */ +public interface IEventTopicSubscriber { + + /** + * Handle an event published on a topic. + *

      + * The EventService calls this method on each publication on a matching topic name passed to one of the + * EventService's topic-based subscribe methods, specifically, {@link EventService#subscribe(String, + *EventTopicSubscriber)} {@link EventService#subscribe(java.util.regex.Pattern,EventTopicSubscriber)} {@link + * EventService#subscribeStrongly(String,EventTopicSubscriber)} and {@link EventService#subscribeStrongly(java.util.regex.Pattern, + *EventTopicSubscriber)}. + * + * @param topic the name of the topic published on + * @param data the data object published on the topic + */ + public void onEvent(String topic, T data); +} diff --git a/src/main/java/org/scijava/event/bushe/PrioritizedEventSubscriber.java b/src/main/java/org/scijava/event/bushe/PrioritizedEventSubscriber.java index ea90a6425..8ebe233c7 100644 --- a/src/main/java/org/scijava/event/bushe/PrioritizedEventSubscriber.java +++ b/src/main/java/org/scijava/event/bushe/PrioritizedEventSubscriber.java @@ -2,7 +2,7 @@ /** * This is a convenience interface, particularly for inner classes, that implements - * {@link EventSubscriber} and {@link Prioritized}. + * {@link IEventSubscriber} and {@link Prioritized}. */ -public interface PrioritizedEventSubscriber extends EventSubscriber, Prioritized { +public interface PrioritizedEventSubscriber extends IEventSubscriber, Prioritized { } diff --git a/src/main/java/org/scijava/event/bushe/PrioritizedEventTopicSubscriber.java b/src/main/java/org/scijava/event/bushe/PrioritizedEventTopicSubscriber.java index 821259dec..63732799e 100644 --- a/src/main/java/org/scijava/event/bushe/PrioritizedEventTopicSubscriber.java +++ b/src/main/java/org/scijava/event/bushe/PrioritizedEventTopicSubscriber.java @@ -2,7 +2,7 @@ /** * This is a convenience interface, particularly for inner classes, that implements - * {@link org.scijava.event.bushe.EventTopicSubscriber} and {@link org.scijava.event.bushe.Prioritized}. + * {@link org.scijava.event.bushe.IEventTopicSubscriber} and {@link org.scijava.event.bushe.Prioritized}. */ -public interface PrioritizedEventTopicSubscriber extends EventTopicSubscriber, Prioritized { +public interface PrioritizedEventTopicSubscriber extends IEventTopicSubscriber, Prioritized { } \ No newline at end of file diff --git a/src/main/java/org/scijava/event/bushe/ProxySubscriber.java b/src/main/java/org/scijava/event/bushe/ProxySubscriber.java index 23ecaf8a0..a80cc3bf1 100644 --- a/src/main/java/org/scijava/event/bushe/ProxySubscriber.java +++ b/src/main/java/org/scijava/event/bushe/ProxySubscriber.java @@ -15,8 +15,6 @@ */ package org.scijava.event.bushe; -import org.scijava.event.bushe.annotation.ReferenceStrength; - /** * An interface that can be implemented when proxies are used for subscription, not needed in normal usage. When an * unsubscribe method is called on an EventService, the EventService is required to check if any of subscribed objects diff --git a/src/main/java/org/scijava/event/bushe/annotation/ProxyTopicPatternSubscriber.java b/src/main/java/org/scijava/event/bushe/ProxyTopicPatternSubscriber.java similarity index 97% rename from src/main/java/org/scijava/event/bushe/annotation/ProxyTopicPatternSubscriber.java rename to src/main/java/org/scijava/event/bushe/ProxyTopicPatternSubscriber.java index c3a65d33d..478665f25 100644 --- a/src/main/java/org/scijava/event/bushe/annotation/ProxyTopicPatternSubscriber.java +++ b/src/main/java/org/scijava/event/bushe/ProxyTopicPatternSubscriber.java @@ -1,10 +1,8 @@ -package org.scijava.event.bushe.annotation; +package org.scijava.event.bushe; import java.lang.reflect.Method; import java.util.regex.Pattern; -import org.scijava.event.bushe.EventService; - /** * A Proxy Subscriber for Annotations that use topic patterns */ diff --git a/src/main/java/org/scijava/event/bushe/annotation/ProxyTopicSubscriber.java b/src/main/java/org/scijava/event/bushe/ProxyTopicSubscriber.java similarity index 96% rename from src/main/java/org/scijava/event/bushe/annotation/ProxyTopicSubscriber.java rename to src/main/java/org/scijava/event/bushe/ProxyTopicSubscriber.java index 8b900c8fe..d2699b465 100644 --- a/src/main/java/org/scijava/event/bushe/annotation/ProxyTopicSubscriber.java +++ b/src/main/java/org/scijava/event/bushe/ProxyTopicSubscriber.java @@ -1,18 +1,15 @@ -package org.scijava.event.bushe.annotation; +package org.scijava.event.bushe; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; -import org.scijava.event.bushe.EventService; -import org.scijava.event.bushe.VetoTopicEventListener; - /** A class that subscribes to an EventService on behalf of another object. * This class is not used directly (though you could), but rather through the use of the * {@link @org.scijava.event.bushe.annotation.EventTopicSubscriber}. Advanced EventBus * users could use this class in Aspect-Oriented code. Consider using the * {@link AnnotationProcessor} instead, it may suit your needs and be easier.*/ public class ProxyTopicSubscriber extends AbstractProxySubscriber - implements org.scijava.event.bushe.EventTopicSubscriber, VetoTopicEventListener { + implements org.scijava.event.bushe.IEventTopicSubscriber, VetoTopicEventListener { private String topic; /** diff --git a/src/main/java/org/scijava/event/bushe/annotation/ReferenceStrength.java b/src/main/java/org/scijava/event/bushe/ReferenceStrength.java similarity index 77% rename from src/main/java/org/scijava/event/bushe/annotation/ReferenceStrength.java rename to src/main/java/org/scijava/event/bushe/ReferenceStrength.java index 739255b3f..15e7a7eb5 100644 --- a/src/main/java/org/scijava/event/bushe/annotation/ReferenceStrength.java +++ b/src/main/java/org/scijava/event/bushe/ReferenceStrength.java @@ -1,4 +1,4 @@ -package org.scijava.event.bushe.annotation; +package org.scijava.event.bushe; /** * The two kinds of references that are used in the EventBus. diff --git a/src/main/java/org/scijava/event/bushe/annotation/RuntimeTopicEventSubscriber.java b/src/main/java/org/scijava/event/bushe/RuntimeTopicEventSubscriber.java similarity index 86% rename from src/main/java/org/scijava/event/bushe/annotation/RuntimeTopicEventSubscriber.java rename to src/main/java/org/scijava/event/bushe/RuntimeTopicEventSubscriber.java index fb54e4432..878f2eb7c 100644 --- a/src/main/java/org/scijava/event/bushe/annotation/RuntimeTopicEventSubscriber.java +++ b/src/main/java/org/scijava/event/bushe/RuntimeTopicEventSubscriber.java @@ -1,13 +1,9 @@ -package org.scijava.event.bushe.annotation; +package org.scijava.event.bushe; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; -import org.scijava.event.bushe.EventService; -import org.scijava.event.bushe.EventServiceLocator; -import org.scijava.event.bushe.ThreadSafeEventService; - /** * A subscriber to a topic that is determined at runtime. */ diff --git a/src/main/java/org/scijava/event/bushe/annotation/RuntimeTopicPatternEventSubscriber.java b/src/main/java/org/scijava/event/bushe/RuntimeTopicPatternEventSubscriber.java similarity index 87% rename from src/main/java/org/scijava/event/bushe/annotation/RuntimeTopicPatternEventSubscriber.java rename to src/main/java/org/scijava/event/bushe/RuntimeTopicPatternEventSubscriber.java index 8e92cf22d..168574556 100644 --- a/src/main/java/org/scijava/event/bushe/annotation/RuntimeTopicPatternEventSubscriber.java +++ b/src/main/java/org/scijava/event/bushe/RuntimeTopicPatternEventSubscriber.java @@ -1,14 +1,10 @@ -package org.scijava.event.bushe.annotation; +package org.scijava.event.bushe; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; -import org.scijava.event.bushe.EventService; -import org.scijava.event.bushe.EventServiceLocator; -import org.scijava.event.bushe.ThreadSafeEventService; - @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) public @interface RuntimeTopicPatternEventSubscriber { diff --git a/src/main/java/org/scijava/event/bushe/SubscriberTimingEvent.java b/src/main/java/org/scijava/event/bushe/SubscriberTimingEvent.java index 41dee9629..6bfaef918 100644 --- a/src/main/java/org/scijava/event/bushe/SubscriberTimingEvent.java +++ b/src/main/java/org/scijava/event/bushe/SubscriberTimingEvent.java @@ -27,7 +27,7 @@ public class SubscriberTimingEvent extends AbstractEventServiceEvent { private Long end; private Long timeLimitMilliseconds; private Object event; - private EventSubscriber subscriber; + private IEventSubscriber subscriber; private VetoEventListener vetoEventListener; private String stringified; @@ -44,7 +44,7 @@ public class SubscriberTimingEvent extends AbstractEventServiceEvent { * @param vetoEventListener the vetoEventListener that took too long, can be null if the eventListener is not null */ public SubscriberTimingEvent(Object source, Long start, Long end, Long timeLimitMilliseconds, - Object event, EventSubscriber subscriber, VetoEventListener vetoEventListener) { + Object event, IEventSubscriber subscriber, VetoEventListener vetoEventListener) { super(source); this.start = start; this.end = end; @@ -91,7 +91,7 @@ public Object getEvent() { * @return subscriber the event subscriber that went over the time limit, can be null if vetoEventListener is not * null */ - public EventSubscriber getSubscriber() { + public IEventSubscriber getSubscriber() { return subscriber; } diff --git a/src/main/java/org/scijava/event/bushe/exception/SwingException.java b/src/main/java/org/scijava/event/bushe/SwingException.java similarity index 99% rename from src/main/java/org/scijava/event/bushe/exception/SwingException.java rename to src/main/java/org/scijava/event/bushe/SwingException.java index dfc3a048d..68249e45a 100644 --- a/src/main/java/org/scijava/event/bushe/exception/SwingException.java +++ b/src/main/java/org/scijava/event/bushe/SwingException.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.scijava.event.bushe.exception; +package org.scijava.event.bushe; import java.io.PrintStream; import java.io.PrintWriter; diff --git a/src/main/java/org/scijava/event/bushe/ThreadSafeEventService.java b/src/main/java/org/scijava/event/bushe/ThreadSafeEventService.java index 4f78f02a7..1a0dcf585 100644 --- a/src/main/java/org/scijava/event/bushe/ThreadSafeEventService.java +++ b/src/main/java/org/scijava/event/bushe/ThreadSafeEventService.java @@ -34,8 +34,6 @@ import java.util.regex.Pattern; import org.scijava.event.bushe.Logger.Level; -import org.scijava.event.bushe.annotation.ReferenceStrength; -import org.scijava.event.bushe.exception.SwingException; /** * A thread-safe EventService implementation. @@ -250,7 +248,7 @@ public ThreadSafeEventService(Long timeThresholdForEventTimingEventPublication, this.timeThresholdForEventTimingEventPublication = timeThresholdForEventTimingEventPublication; if (subscribeTimingEventsInternally) { //Listen to timing events and log them - subscribeStrongly(SubscriberTimingEvent.class, new EventSubscriber() { + subscribeStrongly(SubscriberTimingEvent.class, new IEventSubscriber() { public void onEvent(Object event) { subscribeTiming((SubscriberTimingEvent) event); } @@ -334,8 +332,8 @@ public void setCleanupPeriodMS(Long cleanupPeriodMS) { } } - /** @see EventService#subscribe(Class,EventSubscriber) */ - public boolean subscribe(Class cl, EventSubscriber eh) { + /** @see EventService#subscribe(Class,IEventSubscriber) */ + public boolean subscribe(Class cl, IEventSubscriber eh) { if (cl == null) { throw new IllegalArgumentException("Event class must not be null"); } @@ -345,16 +343,16 @@ public boolean subscribe(Class cl, EventSubscriber eh) { if (LOG.isLoggable(Level.DEBUG)) { LOG.debug("Subscribing by class, class:" + cl + ", subscriber:" + eh); } - return subscribe(cl, subscribersByEventClass, new WeakReference(eh)); + return subscribe(cl, subscribersByEventClass, new WeakReference(eh)); } - /** @see EventService#subscribe(java.lang.reflect.Type, EventSubscriber) */ - public boolean subscribe(Type type, EventSubscriber eh) { - return subscribe(type, subscribersByEventType, new WeakReference(eh)); + /** @see EventService#subscribe(java.lang.reflect.Type, IEventSubscriber) */ + public boolean subscribe(Type type, IEventSubscriber eh) { + return subscribe(type, subscribersByEventType, new WeakReference(eh)); } - /** @see EventService#subscribeExactly(Class,EventSubscriber) */ - public boolean subscribeExactly(Class cl, EventSubscriber eh) { + /** @see EventService#subscribeExactly(Class,IEventSubscriber) */ + public boolean subscribeExactly(Class cl, IEventSubscriber eh) { if (cl == null) { throw new IllegalArgumentException("Event class must not be null"); } @@ -364,11 +362,11 @@ public boolean subscribeExactly(Class cl, EventSubscriber eh) { if (LOG.isLoggable(Level.DEBUG)) { LOG.debug("Subscribing by class, class:" + cl + ", subscriber:" + eh); } - return subscribe(cl, subscribersByExactEventClass, new WeakReference(eh)); + return subscribe(cl, subscribersByExactEventClass, new WeakReference(eh)); } - /** @see EventService#subscribe(String,EventTopicSubscriber) */ - public boolean subscribe(String topic, EventTopicSubscriber eh) { + /** @see EventService#subscribe(String,IEventTopicSubscriber) */ + public boolean subscribe(String topic, IEventTopicSubscriber eh) { if (topic == null) { throw new IllegalArgumentException("Topic must not be null"); } @@ -378,11 +376,11 @@ public boolean subscribe(String topic, EventTopicSubscriber eh) { if (LOG.isLoggable(Level.DEBUG)) { LOG.debug("Subscribing by topic name, name:" + topic + ", subscriber:" + eh); } - return subscribe(topic, subscribersByTopic, new WeakReference(eh)); + return subscribe(topic, subscribersByTopic, new WeakReference(eh)); } - /** @see EventService#subscribe(Pattern,EventTopicSubscriber) */ - public boolean subscribe(Pattern pat, EventTopicSubscriber eh) { + /** @see EventService#subscribe(Pattern,IEventTopicSubscriber) */ + public boolean subscribe(Pattern pat, IEventTopicSubscriber eh) { if (pat == null) { throw new IllegalArgumentException("Pattern must not be null"); } @@ -393,11 +391,11 @@ public boolean subscribe(Pattern pat, EventTopicSubscriber eh) { LOG.debug("Subscribing by pattern, pattern:" + pat + ", subscriber:" + eh); } PatternWrapper patternWrapper = new PatternWrapper(pat); - return subscribe(patternWrapper, subscribersByTopicPattern, new WeakReference(eh)); + return subscribe(patternWrapper, subscribersByTopicPattern, new WeakReference(eh)); } - /** @see EventService#subscribeStrongly(Class,EventSubscriber) */ - public boolean subscribeStrongly(Class cl, EventSubscriber eh) { + /** @see EventService#subscribeStrongly(Class,IEventSubscriber) */ + public boolean subscribeStrongly(Class cl, IEventSubscriber eh) { if (LOG.isLoggable(Level.DEBUG)) { LOG.debug("Subscribing weakly by class, class:" + cl + ", subscriber:" + eh); } @@ -407,8 +405,8 @@ public boolean subscribeStrongly(Class cl, EventSubscriber eh) { return subscribe(cl, subscribersByEventClass, eh); } - /** @see EventService#subscribeExactlyStrongly(Class,EventSubscriber) */ - public boolean subscribeExactlyStrongly(Class cl, EventSubscriber eh) { + /** @see EventService#subscribeExactlyStrongly(Class,IEventSubscriber) */ + public boolean subscribeExactlyStrongly(Class cl, IEventSubscriber eh) { if (cl == null) { throw new IllegalArgumentException("Event class must not be null"); } @@ -421,8 +419,8 @@ public boolean subscribeExactlyStrongly(Class cl, EventSubscriber eh) { return subscribe(cl, subscribersByExactEventClass, eh); } - /** @see EventService#subscribeStrongly(String,EventTopicSubscriber) */ - public boolean subscribeStrongly(String name, EventTopicSubscriber eh) { + /** @see EventService#subscribeStrongly(String,IEventTopicSubscriber) */ + public boolean subscribeStrongly(String name, IEventTopicSubscriber eh) { if (LOG.isLoggable(Level.DEBUG)) { LOG.debug("Subscribing weakly by topic name, name:" + name + ", subscriber:" + eh); } @@ -432,8 +430,8 @@ public boolean subscribeStrongly(String name, EventTopicSubscriber eh) { return subscribe(name, subscribersByTopic, eh); } - /** @see EventService#subscribeStrongly(Pattern,EventTopicSubscriber) */ - public boolean subscribeStrongly(Pattern pat, EventTopicSubscriber eh) { + /** @see EventService#subscribeStrongly(Pattern,IEventTopicSubscriber) */ + public boolean subscribeStrongly(Pattern pat, IEventTopicSubscriber eh) { if (pat == null) { throw new IllegalArgumentException("Pattern must not be null"); } @@ -675,30 +673,30 @@ protected boolean subscribe(final Object classTopicOrPatternWrapper, final Map diff --git a/src/main/java/org/scijava/event/bushe/annotation/VetoTopicPatternSubscriber.java b/src/main/java/org/scijava/event/bushe/VetoTopicPatternSubscriber.java similarity index 92% rename from src/main/java/org/scijava/event/bushe/annotation/VetoTopicPatternSubscriber.java rename to src/main/java/org/scijava/event/bushe/VetoTopicPatternSubscriber.java index 6fddb9b02..bf6e9134c 100644 --- a/src/main/java/org/scijava/event/bushe/annotation/VetoTopicPatternSubscriber.java +++ b/src/main/java/org/scijava/event/bushe/VetoTopicPatternSubscriber.java @@ -1,14 +1,10 @@ -package org.scijava.event.bushe.annotation; +package org.scijava.event.bushe; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; -import org.scijava.event.bushe.EventService; -import org.scijava.event.bushe.EventServiceLocator; -import org.scijava.event.bushe.ThreadSafeEventService; - /** * An Annotation for adding VetoTopicPatternListener subscriptions to EventService Events. *

      diff --git a/src/main/java/org/scijava/event/bushe/annotation/VetoTopicSubscriber.java b/src/main/java/org/scijava/event/bushe/VetoTopicSubscriber.java similarity index 92% rename from src/main/java/org/scijava/event/bushe/annotation/VetoTopicSubscriber.java rename to src/main/java/org/scijava/event/bushe/VetoTopicSubscriber.java index 1ff069b69..630930660 100644 --- a/src/main/java/org/scijava/event/bushe/annotation/VetoTopicSubscriber.java +++ b/src/main/java/org/scijava/event/bushe/VetoTopicSubscriber.java @@ -1,14 +1,10 @@ -package org.scijava.event.bushe.annotation; +package org.scijava.event.bushe; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; -import org.scijava.event.bushe.EventService; -import org.scijava.event.bushe.EventServiceLocator; -import org.scijava.event.bushe.ThreadSafeEventService; - /** * An Annotation for adding VetoTopicListener subscriptions to EventService Events. *

      diff --git a/src/main/java/org/scijava/event/bushe/annotation/EventSubscriber.java b/src/main/java/org/scijava/event/bushe/annotation/EventSubscriber.java deleted file mode 100644 index e75b79568..000000000 --- a/src/main/java/org/scijava/event/bushe/annotation/EventSubscriber.java +++ /dev/null @@ -1,110 +0,0 @@ -package org.scijava.event.bushe.annotation; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -import org.scijava.event.bushe.EventService; -import org.scijava.event.bushe.EventServiceLocator; -import org.scijava.event.bushe.ThreadSafeEventService; - -/** - * An Annotation for subscribing to EventService Events. - *

      - * This annotation simplifies much of the repetitive boilerplate used for subscribing to EventService Events. - *

      - * Instead of this: - *

      - * public class MyAppController implements EventSubscriber {
      - *   public MyAppController {
      - *      EventBus.subscribe(AppClosingEvent.class, this);
      - *   }
      - *   public void onEvent(EventServiceEvent event) {
      - *      AppClosingEvent appClosingEvent = (AppClosingEvent)event;
      - *      //do something
      - *   }
      - * }
      - * 
      - * You can do this: - *
      - * public class MyAppController {  //no interface necessary
      - *   public MyAppController {
      - *       AnnotationProcessor.process(this);//if not using AOP
      - *   }
      - *   @EventSubscriber
      - *   public void onAppClosingEvent(AppClosingEvent appClosingEvent) {//Use your own method name with typesafety
      - *      //do something
      - *   }
      - * }
      - * 
      - *

      - * That's pretty good, but when the controller does more, annotations are even nicer. - *

      - * public class MyAppController implements EventSubscriber {
      - *   public MyAppController {
      - *      EventBus.subscribe(AppStartingEvent.class, this);
      - *      EventBus.subscribe(AppClosingEvent.class, this);
      - *   }
      - *   public void onEvent(EventServiceEvent event) {
      - *      //wicked bad pattern, but we have to this
      - *      //...or create multiple subscriber classes and hold instances of them fields, which is even more verbose...
      - *      if (event instanceof AppStartingEvent) {
      - *         onAppStartingEvent((AppStartingEvent)event);
      - *      } else (event instanceof AppClosingEvent) {
      - *         onAppStartingEvent((AppClosingEvent)event);
      - *      }
      - *
      - *   }
      - *
      - *   public void onAppStartingEvent(AppStartingEvent appStartingEvent) {
      - *      //do something
      - *   }
      - *
      - *   public void onAppClosingEvent(AppClosingEvent appClosingEvent) {
      - *      //do something
      - *   }
      - * }
      - * 
      - * You can do this: - *
      - * public class MyAppController {
      - *   public MyAppController {
      - *       AnnotationProcessor.process(this);//this line can be avoided with a compile-time tool or an Aspect
      - *   }
      - *   @EventSubscriber(eventClass=AppStartingEvent.class)
      - *   public void onAppStartingEvent(AppStartingEvent appStartingEvent) {
      - *      //do something
      - *   }
      - *   @EventSubscriber(eventClass=AppAppClosingEvent.class)
      - *   public void onAppClosingEvent(AppClosingEvent appClosingEvent) {
      - *      //do something
      - *   }
      - * }
      - * 
      - * Brief, clear, and easy. - */ -@Retention(RetentionPolicy.RUNTIME) -@Target(ElementType.METHOD) -public @interface EventSubscriber { - /** The class to subscribe to, if not specified, a subscription is created for the type of the method parameter. */ - Class eventClass() default UseTheClassOfTheAnnotatedMethodsParameter.class; - - /** Determines the order in which this subscriber is called, default is FIFO.*/ - int priority() default 0; - - /** Whether or not to subscribe to the exact class or a class hierarchy, defaults to class hierarchy (false). */ - boolean exact() default false; - - /** Whether to subscribe weakly or strongly. */ - ReferenceStrength referenceStrength() default ReferenceStrength.WEAK; - - /** The event service to subscribe to, default to the EventServiceLocator.SERVICE_NAME_EVENT_BUS. */ - String eventServiceName() default EventServiceLocator.SERVICE_NAME_EVENT_BUS; - - /** - * Whether or not to autocreate the event service if it doesn't exist on subscription, default is true. If the - * service needs to be created, it must have a default constructor. - */ - Class autoCreateEventServiceClass() default ThreadSafeEventService.class; -} diff --git a/src/main/java/org/scijava/event/bushe/annotation/EventTopicSubscriber.java b/src/main/java/org/scijava/event/bushe/annotation/EventTopicSubscriber.java deleted file mode 100644 index 5f99c4895..000000000 --- a/src/main/java/org/scijava/event/bushe/annotation/EventTopicSubscriber.java +++ /dev/null @@ -1,108 +0,0 @@ -package org.scijava.event.bushe.annotation; - - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -import org.scijava.event.bushe.EventService; -import org.scijava.event.bushe.EventServiceLocator; -import org.scijava.event.bushe.ThreadSafeEventService; - -/** - * An Annotation for subscribing to EventService Topics. - *

      - * This annotation simplifies much of the repetitive boilerplate used for subscribing to EventService Topics. - *

      - * Instead of this: - *

      - * public class MyAppController implements EventTopicSubscriber {
      - *   public MyAppController {
      - *      EventBus.subscribe("AppClosing", this);
      - *   }
      - *   public void onEvent(String topic, Object data) {
      - *      JComponent source = (JComponent)data;
      - *      //do something
      - *   }
      - * }
      - * 
      - * You can do this: - *
      - * public class MyAppController {  //no interface necessary
      - *   public MyAppController {
      - *       AnnotationProcessor.process(this);//this line can be avoided with a compile-time tool or an Aspect
      - *   }
      - *   @EventTopicSubscriber{topic="AppClosingEvent"}
      - *   public void onAppClosing(String topic, Object data) {
      - *      //do something
      - *   }
      - * }
      - * 
      - *

      - * That's pretty good, but when the controller does more, annotations are even nicer. - *

      - * public class MyAppController implements EventTopicSubscriber {
      - *   public MyAppController {
      - *      EventBus.subscribe("AppStartingEvent", this);
      - *      EventBus.subscribe("AppClosingEvent", this);
      - *   }
      - *   public void onEvent(String topic, Object data) {
      - *      //wicked bad pattern, but we have to this
      - *      //...or create multiple subscriber classes and hold instances of them fields, which is even more verbose...
      - *      if ("AppStartingEvent".equals(topic)) {
      - *         onAppStartingEvent((JComponent)data);
      - *      } else ("AppClosingEvent".equals(topic)) {
      - *         onAppClosingEvent((JComponet)data);
      - *      }
      - *
      - *   }
      - *
      - *   public void onAppStartingEvent(JComponent requestor) {
      - *      //do something
      - *   }
      - *
      - *   public void onAppClosingEvent(JComponent requestor) {
      - *      //do something
      - *   }
      - * }
      - * 
      - * Instead of all that, you can do this: - *
      - * public class MyAppController {
      - *   public MyAppController {
      - *       AnnotationProcessor.process(this);//this line can be avoided with a compile-time tool or an Aspect
      - *   }
      - *   @EventTopicSubscriber{topic="AppStartingEvent"}
      - *   public void onAppStartingEvent(Object data) {
      - *      //do something
      - *   }
      - *   @EventTopicSubscriber{topic="AppClosingEvent"}
      - *   public void onAppClosingEvent(Foo data) {
      - *      //do something
      - *   }
      - * }
      - * 
      - * Brief, clear, and easy. - */ -@Retention(RetentionPolicy.RUNTIME) -@Target(ElementType.METHOD) -public @interface EventTopicSubscriber { - /** The topic to subscribe to */ - String topic(); - - /** Whether to subscribe weakly or strongly. */ - ReferenceStrength referenceStrength() default ReferenceStrength.WEAK; - - /** The event service to subscribe to, default to the EventServiceLocator.SERVICE_NAME_EVENT_BUS. */ - String eventServiceName() default EventServiceLocator.SERVICE_NAME_EVENT_BUS; - - /** Determines the order in which this subscriber is called, default is FIFO.*/ - int priority() default 0; - - /** - * Whether or not to autocreate the event service if it doesn't exist on subscription, default is true. If the - * service needs to be created, it must have a default constructor. - */ - Class autoCreateEventServiceClass() default ThreadSafeEventService.class; -} diff --git a/src/test/java/org/scijava/event/bushe/annotation/AbstractSubscriber.java b/src/test/java/org/scijava/event/bushe/AbstractSubscriber.java similarity index 94% rename from src/test/java/org/scijava/event/bushe/annotation/AbstractSubscriber.java rename to src/test/java/org/scijava/event/bushe/AbstractSubscriber.java index 01f71125f..1666a0e20 100644 --- a/src/test/java/org/scijava/event/bushe/annotation/AbstractSubscriber.java +++ b/src/test/java/org/scijava/event/bushe/AbstractSubscriber.java @@ -1,4 +1,4 @@ -package org.scijava.event.bushe.annotation; +package org.scijava.event.bushe; /** * Intended to answer this post: diff --git a/src/test/java/org/scijava/event/bushe/annotation/AnnotatedEventSubscriber.java b/src/test/java/org/scijava/event/bushe/AnnotatedEventSubscriber.java similarity index 95% rename from src/test/java/org/scijava/event/bushe/annotation/AnnotatedEventSubscriber.java rename to src/test/java/org/scijava/event/bushe/AnnotatedEventSubscriber.java index 4e5db4945..182e26e7a 100644 --- a/src/test/java/org/scijava/event/bushe/annotation/AnnotatedEventSubscriber.java +++ b/src/test/java/org/scijava/event/bushe/AnnotatedEventSubscriber.java @@ -1,4 +1,4 @@ -package org.scijava.event.bushe.annotation; +package org.scijava.event.bushe; import java.io.File; import java.util.Collection; @@ -8,8 +8,6 @@ import javax.swing.JComponent; import javax.swing.JToggleButton; -import org.scijava.event.bushe.ThreadSafeEventService; - /** Test class for class-based subscriptions */ public class AnnotatedEventSubscriber { static int timesColorChanged = 0; diff --git a/src/test/java/org/scijava/event/bushe/annotation/AnnotatedVetoSubscriber.java b/src/test/java/org/scijava/event/bushe/AnnotatedVetoSubscriber.java similarity index 95% rename from src/test/java/org/scijava/event/bushe/annotation/AnnotatedVetoSubscriber.java rename to src/test/java/org/scijava/event/bushe/AnnotatedVetoSubscriber.java index 6c82ec00f..817df28b7 100644 --- a/src/test/java/org/scijava/event/bushe/annotation/AnnotatedVetoSubscriber.java +++ b/src/test/java/org/scijava/event/bushe/AnnotatedVetoSubscriber.java @@ -1,4 +1,4 @@ -package org.scijava.event.bushe.annotation; +package org.scijava.event.bushe; import java.io.File; import java.util.Collection; @@ -8,8 +8,6 @@ import javax.swing.JComponent; import javax.swing.JToggleButton; -import org.scijava.event.bushe.ThreadSafeEventService; - /** Test class for class-based subscriptions. * Does not like null, empty, red or cherry */ public class AnnotatedVetoSubscriber { diff --git a/src/test/java/org/scijava/event/bushe/annotation/AnotherAnnotatedEventSubscriber.java b/src/test/java/org/scijava/event/bushe/AnotherAnnotatedEventSubscriber.java similarity index 91% rename from src/test/java/org/scijava/event/bushe/annotation/AnotherAnnotatedEventSubscriber.java rename to src/test/java/org/scijava/event/bushe/AnotherAnnotatedEventSubscriber.java index de7a4c9f9..7f7f0c5e1 100644 --- a/src/test/java/org/scijava/event/bushe/annotation/AnotherAnnotatedEventSubscriber.java +++ b/src/test/java/org/scijava/event/bushe/AnotherAnnotatedEventSubscriber.java @@ -1,4 +1,4 @@ -package org.scijava.event.bushe.annotation; +package org.scijava.event.bushe; import java.util.List; import java.util.Collection; @@ -8,8 +8,6 @@ import javax.swing.JToggleButton; import javax.swing.JComponent; -import org.scijava.event.bushe.ThreadSafeEventService; - /** Test class for class-based subscriptions */ public class AnotherAnnotatedEventSubscriber { static int timesColorChanged = 0; diff --git a/src/test/java/org/scijava/event/bushe/annotation/AnotherDoubleAnnotatedEventSubscriber.java b/src/test/java/org/scijava/event/bushe/AnotherDoubleAnnotatedEventSubscriber.java similarity index 91% rename from src/test/java/org/scijava/event/bushe/annotation/AnotherDoubleAnnotatedEventSubscriber.java rename to src/test/java/org/scijava/event/bushe/AnotherDoubleAnnotatedEventSubscriber.java index 92bdf0534..928b67428 100644 --- a/src/test/java/org/scijava/event/bushe/annotation/AnotherDoubleAnnotatedEventSubscriber.java +++ b/src/test/java/org/scijava/event/bushe/AnotherDoubleAnnotatedEventSubscriber.java @@ -1,7 +1,7 @@ -package org.scijava.event.bushe.annotation; +package org.scijava.event.bushe; -import java.util.List; import java.util.Collection; +import java.util.List; /** Test class for class-based subscriptions */ public class AnotherDoubleAnnotatedEventSubscriber { diff --git a/src/test/java/org/scijava/event/bushe/BadEventService.java b/src/test/java/org/scijava/event/bushe/BadEventService.java index 2046821a2..19cebe785 100644 --- a/src/test/java/org/scijava/event/bushe/BadEventService.java +++ b/src/test/java/org/scijava/event/bushe/BadEventService.java @@ -3,8 +3,8 @@ public class BadEventService extends ThreadSafeEventService { - /** @see org.scijava.event.bushe.EventService#subscribe(String,org.scijava.event.bushe.EventTopicSubscriber) */ - public boolean subscribe(String topic, EventTopicSubscriber eh) { + /** @see org.scijava.event.bushe.EventService#subscribe(String,org.scijava.event.bushe.IEventTopicSubscriber) */ + public boolean subscribe(String topic, IEventTopicSubscriber eh) { throw new RuntimeException("For testing"); } } diff --git a/src/test/java/org/scijava/event/bushe/annotation/ConcreteSubscriber.java b/src/test/java/org/scijava/event/bushe/ConcreteSubscriber.java similarity index 90% rename from src/test/java/org/scijava/event/bushe/annotation/ConcreteSubscriber.java rename to src/test/java/org/scijava/event/bushe/ConcreteSubscriber.java index 701ce66b1..129d71987 100644 --- a/src/test/java/org/scijava/event/bushe/annotation/ConcreteSubscriber.java +++ b/src/test/java/org/scijava/event/bushe/ConcreteSubscriber.java @@ -1,4 +1,4 @@ -package org.scijava.event.bushe.annotation; +package org.scijava.event.bushe; /** * Intended to answer this post: diff --git a/src/test/java/org/scijava/event/bushe/generics/DataRequestEvent.java b/src/test/java/org/scijava/event/bushe/DataRequestEvent.java similarity index 75% rename from src/test/java/org/scijava/event/bushe/generics/DataRequestEvent.java rename to src/test/java/org/scijava/event/bushe/DataRequestEvent.java index 3ff5b4952..236b44fa8 100644 --- a/src/test/java/org/scijava/event/bushe/generics/DataRequestEvent.java +++ b/src/test/java/org/scijava/event/bushe/DataRequestEvent.java @@ -1,4 +1,4 @@ -package org.scijava.event.bushe.generics; +package org.scijava.event.bushe; import java.util.List; diff --git a/src/test/java/org/scijava/event/bushe/annotation/DoubleAnnotatedEventSubscriber.java b/src/test/java/org/scijava/event/bushe/DoubleAnnotatedEventSubscriber.java similarity index 87% rename from src/test/java/org/scijava/event/bushe/annotation/DoubleAnnotatedEventSubscriber.java rename to src/test/java/org/scijava/event/bushe/DoubleAnnotatedEventSubscriber.java index f35ee065c..8448f28de 100644 --- a/src/test/java/org/scijava/event/bushe/annotation/DoubleAnnotatedEventSubscriber.java +++ b/src/test/java/org/scijava/event/bushe/DoubleAnnotatedEventSubscriber.java @@ -1,4 +1,4 @@ -package org.scijava.event.bushe.annotation; +package org.scijava.event.bushe; import java.util.List; import java.util.Collection; @@ -8,8 +8,6 @@ import javax.swing.JToggleButton; import javax.swing.JComponent; -import org.scijava.event.bushe.ThreadSafeEventService; - /** Test class for class-based subscriptions */ public class DoubleAnnotatedEventSubscriber { diff --git a/src/test/java/org/scijava/event/bushe/annotation/runtime/Factory.java b/src/test/java/org/scijava/event/bushe/Factory.java similarity index 85% rename from src/test/java/org/scijava/event/bushe/annotation/runtime/Factory.java rename to src/test/java/org/scijava/event/bushe/Factory.java index 03a33214d..546c3fb49 100644 --- a/src/test/java/org/scijava/event/bushe/annotation/runtime/Factory.java +++ b/src/test/java/org/scijava/event/bushe/Factory.java @@ -1,4 +1,4 @@ -package org.scijava.event.bushe.annotation.runtime; +package org.scijava.event.bushe; public class Factory { diff --git a/src/test/java/org/scijava/event/bushe/generics/GenericReflection.java b/src/test/java/org/scijava/event/bushe/GenericReflection.java similarity index 98% rename from src/test/java/org/scijava/event/bushe/generics/GenericReflection.java rename to src/test/java/org/scijava/event/bushe/GenericReflection.java index 87e80c600..d3d2954b3 100644 --- a/src/test/java/org/scijava/event/bushe/generics/GenericReflection.java +++ b/src/test/java/org/scijava/event/bushe/GenericReflection.java @@ -1,4 +1,4 @@ -package org.scijava.event.bushe.generics; +package org.scijava.event.bushe; import java.lang.reflect.TypeVariable; diff --git a/src/test/java/org/scijava/event/bushe/annotation/Issue15Subscriber.java b/src/test/java/org/scijava/event/bushe/Issue15Subscriber.java similarity index 87% rename from src/test/java/org/scijava/event/bushe/annotation/Issue15Subscriber.java rename to src/test/java/org/scijava/event/bushe/Issue15Subscriber.java index ed22bf8d2..8bb257efd 100644 --- a/src/test/java/org/scijava/event/bushe/annotation/Issue15Subscriber.java +++ b/src/test/java/org/scijava/event/bushe/Issue15Subscriber.java @@ -1,13 +1,8 @@ -package org.scijava.event.bushe.annotation; +package org.scijava.event.bushe; import java.util.List; import javax.swing.SwingUtilities; -import org.scijava.event.bushe.annotation.AnnotationProcessor; -import org.scijava.event.bushe.annotation.EventSubscriber; -import org.scijava.event.bushe.annotation.EventTopicPatternSubscriber; -import org.scijava.event.bushe.annotation.EventTopicSubscriber; - /** * */ diff --git a/src/test/java/org/scijava/event/bushe/annotation/Issue15Subscriber2.java b/src/test/java/org/scijava/event/bushe/Issue15Subscriber2.java similarity index 88% rename from src/test/java/org/scijava/event/bushe/annotation/Issue15Subscriber2.java rename to src/test/java/org/scijava/event/bushe/Issue15Subscriber2.java index 399542a86..5fbc7a162 100644 --- a/src/test/java/org/scijava/event/bushe/annotation/Issue15Subscriber2.java +++ b/src/test/java/org/scijava/event/bushe/Issue15Subscriber2.java @@ -1,4 +1,4 @@ -package org.scijava.event.bushe.annotation; +package org.scijava.event.bushe; import java.util.List; import java.util.ArrayList; @@ -10,10 +10,6 @@ import javax.swing.JDialog; import javax.swing.JTextField; -import org.scijava.event.bushe.EventBus; -import org.scijava.event.bushe.annotation.AnnotationProcessor; -import org.scijava.event.bushe.annotation.EventSubscriber; - /** * */ diff --git a/src/test/java/org/scijava/event/bushe/annotation/MyData.java b/src/test/java/org/scijava/event/bushe/MyData.java similarity index 89% rename from src/test/java/org/scijava/event/bushe/annotation/MyData.java rename to src/test/java/org/scijava/event/bushe/MyData.java index 5ff45afcf..43be650c8 100644 --- a/src/test/java/org/scijava/event/bushe/annotation/MyData.java +++ b/src/test/java/org/scijava/event/bushe/MyData.java @@ -1,4 +1,4 @@ -package org.scijava.event.bushe.annotation; +package org.scijava.event.bushe; /** * Intended to answer this post: diff --git a/src/test/java/org/scijava/event/bushe/annotation/runtime/RuntimeTopicPatternSubscriber.java b/src/test/java/org/scijava/event/bushe/RuntimeTopicPatternSubscriber.java similarity index 77% rename from src/test/java/org/scijava/event/bushe/annotation/runtime/RuntimeTopicPatternSubscriber.java rename to src/test/java/org/scijava/event/bushe/RuntimeTopicPatternSubscriber.java index be306c337..01af68b6b 100644 --- a/src/test/java/org/scijava/event/bushe/annotation/runtime/RuntimeTopicPatternSubscriber.java +++ b/src/test/java/org/scijava/event/bushe/RuntimeTopicPatternSubscriber.java @@ -1,10 +1,7 @@ -package org.scijava.event.bushe.annotation.runtime; +package org.scijava.event.bushe; import java.util.List; -import org.scijava.event.bushe.annotation.AnnotationProcessor; -import org.scijava.event.bushe.annotation.RuntimeTopicPatternEventSubscriber; - class RuntimeTopicPatternSubscriber implements SubscriberForTesting { private final String topicPattern; private long timesCalled; diff --git a/src/test/java/org/scijava/event/bushe/annotation/runtime/RuntimeTopicSubscriber.java b/src/test/java/org/scijava/event/bushe/RuntimeTopicSubscriber.java similarity index 76% rename from src/test/java/org/scijava/event/bushe/annotation/runtime/RuntimeTopicSubscriber.java rename to src/test/java/org/scijava/event/bushe/RuntimeTopicSubscriber.java index c751b2dce..5cb27936a 100644 --- a/src/test/java/org/scijava/event/bushe/annotation/runtime/RuntimeTopicSubscriber.java +++ b/src/test/java/org/scijava/event/bushe/RuntimeTopicSubscriber.java @@ -1,7 +1,4 @@ -package org.scijava.event.bushe.annotation.runtime; - -import org.scijava.event.bushe.annotation.AnnotationProcessor; -import org.scijava.event.bushe.annotation.RuntimeTopicEventSubscriber; +package org.scijava.event.bushe; import java.util.List; diff --git a/src/test/java/org/scijava/event/bushe/annotation/StrongAnnotatedEventSubscriber.java b/src/test/java/org/scijava/event/bushe/StrongAnnotatedEventSubscriber.java similarity index 93% rename from src/test/java/org/scijava/event/bushe/annotation/StrongAnnotatedEventSubscriber.java rename to src/test/java/org/scijava/event/bushe/StrongAnnotatedEventSubscriber.java index 6d611f5f8..8ff4b5ffe 100644 --- a/src/test/java/org/scijava/event/bushe/annotation/StrongAnnotatedEventSubscriber.java +++ b/src/test/java/org/scijava/event/bushe/StrongAnnotatedEventSubscriber.java @@ -1,4 +1,4 @@ -package org.scijava.event.bushe.annotation; +package org.scijava.event.bushe; import java.io.File; diff --git a/src/test/java/org/scijava/event/bushe/annotation/StrongClassAnnotatedEventSubscriber.java b/src/test/java/org/scijava/event/bushe/StrongClassAnnotatedEventSubscriber.java similarity index 92% rename from src/test/java/org/scijava/event/bushe/annotation/StrongClassAnnotatedEventSubscriber.java rename to src/test/java/org/scijava/event/bushe/StrongClassAnnotatedEventSubscriber.java index f2fc954a3..3894195a5 100644 --- a/src/test/java/org/scijava/event/bushe/annotation/StrongClassAnnotatedEventSubscriber.java +++ b/src/test/java/org/scijava/event/bushe/StrongClassAnnotatedEventSubscriber.java @@ -1,4 +1,4 @@ -package org.scijava.event.bushe.annotation; +package org.scijava.event.bushe; import java.util.Collection; import java.util.List; diff --git a/src/test/java/org/scijava/event/bushe/SubscriberForTest.java b/src/test/java/org/scijava/event/bushe/SubscriberForTest.java index 2fac88e57..4d683ce4f 100644 --- a/src/test/java/org/scijava/event/bushe/SubscriberForTest.java +++ b/src/test/java/org/scijava/event/bushe/SubscriberForTest.java @@ -6,7 +6,7 @@ * @author Michael Bushe * @since Nov 19, 2005 11:01:06 PM */ -public class SubscriberForTest implements EventSubscriber { +public class SubscriberForTest implements IEventSubscriber { private boolean throwException; private Long waitTime; private EBTestCounter testDefaultEventService; diff --git a/src/test/java/org/scijava/event/bushe/annotation/runtime/SubscriberForTesting.java b/src/test/java/org/scijava/event/bushe/SubscriberForTesting.java similarity index 56% rename from src/test/java/org/scijava/event/bushe/annotation/runtime/SubscriberForTesting.java rename to src/test/java/org/scijava/event/bushe/SubscriberForTesting.java index 55c76dca4..a0a0fdf2c 100644 --- a/src/test/java/org/scijava/event/bushe/annotation/runtime/SubscriberForTesting.java +++ b/src/test/java/org/scijava/event/bushe/SubscriberForTesting.java @@ -1,4 +1,4 @@ -package org.scijava.event.bushe.annotation.runtime; +package org.scijava.event.bushe; public interface SubscriberForTesting { long getTimesCalled(); diff --git a/src/test/java/org/scijava/event/bushe/annotation/TestAnnotationInAbstractClass.java b/src/test/java/org/scijava/event/bushe/TestAnnotationInAbstractClass.java similarity index 80% rename from src/test/java/org/scijava/event/bushe/annotation/TestAnnotationInAbstractClass.java rename to src/test/java/org/scijava/event/bushe/TestAnnotationInAbstractClass.java index 316d44a67..8f04ff56c 100644 --- a/src/test/java/org/scijava/event/bushe/annotation/TestAnnotationInAbstractClass.java +++ b/src/test/java/org/scijava/event/bushe/TestAnnotationInAbstractClass.java @@ -1,9 +1,7 @@ -package org.scijava.event.bushe.annotation; +package org.scijava.event.bushe; import junit.framework.TestCase; import junit.framework.Assert; -import org.scijava.event.bushe.EventBus; -import org.scijava.event.bushe.EDTUtil; /** * Testing: diff --git a/src/test/java/org/scijava/event/bushe/TestContainerEventService.java b/src/test/java/org/scijava/event/bushe/TestContainerEventService.java index 5c7c6a322..9537e4349 100644 --- a/src/test/java/org/scijava/event/bushe/TestContainerEventService.java +++ b/src/test/java/org/scijava/event/bushe/TestContainerEventService.java @@ -50,7 +50,7 @@ public void testContainerEventServiceFinder() { EventService esBar = ContainerEventServiceFinder.getEventService(barButton); assertEquals(esBar, es); assertEquals(0, subscribedEvents.size()); - es.subscribe("FooTopic", new EventTopicSubscriber() { + es.subscribe("FooTopic", new IEventTopicSubscriber() { public void onEvent(String topic, Object evt) { subscribedEvents.add(evt); } @@ -79,7 +79,7 @@ public void testContainerEventServiceSupplier() { EventService esBar = ContainerEventServiceFinder.getEventService(barButton); assertTrue(esBar != es); assertEquals(0, subscribedEvents.size()); - es.subscribe("FooTopic", new EventTopicSubscriber() { + es.subscribe("FooTopic", new IEventTopicSubscriber() { public void onEvent(String topic, Object evt) { subscribedEvents.add(evt); } @@ -91,7 +91,7 @@ public void onEvent(String topic, Object evt) { public void testContainerEventServiceRegistrar() { //Set the lastEventObject whenever the event fires on the right Container Event Service - EventTopicSubscriber buttonContainerTopicSubscriber = new EventTopicSubscriber() { + IEventTopicSubscriber buttonContainerTopicSubscriber = new IEventTopicSubscriber() { public void onEvent(String topic, Object data) { System.out.println("topic=" + topic + ", data=" + data); setLastEventObject(data); @@ -104,7 +104,7 @@ public boolean shouldVeto(String topic, Object data) { } }; //Set the lastEventObject whenever the event fires on the right Container Event Service - EventSubscriber buttonContainerSubscriber = new EventSubscriber() { + IEventSubscriber buttonContainerSubscriber = new IEventSubscriber() { public void onEvent(Object data) { System.out.println("class=" + data); setLastEventObject(data); diff --git a/src/test/java/org/scijava/event/bushe/TestDefaultEventService.java b/src/test/java/org/scijava/event/bushe/TestDefaultEventService.java index 05f2d3ac2..975a491d1 100644 --- a/src/test/java/org/scijava/event/bushe/TestDefaultEventService.java +++ b/src/test/java/org/scijava/event/bushe/TestDefaultEventService.java @@ -29,15 +29,12 @@ import junit.framework.TestCase; -import org.scijava.event.bushe.generics.DataRequestEvent; -import org.scijava.event.bushe.generics.TypeReference; - /** The DefaultEventService is NOT Swing-safe! But it's easier to test... */ public class TestDefaultEventService extends TestCase { private ThreadSafeEventService eventService = null; - private EventSubscriber eventSubscriber = null; - private EventTopicSubscriber eventTopicSubscriber; + private IEventSubscriber eventSubscriber = null; + private IEventTopicSubscriber eventTopicSubscriber; private SubscriberTimingEvent timing; private EBTestCounter testCounter = new EBTestCounter(); @@ -67,30 +64,30 @@ private Class getEventClass() { return createEvent().getClass(); } - private EventSubscriber createEventSubscriber(boolean throwException) { + private IEventSubscriber createEventSubscriber(boolean throwException) { return new SubscriberForTest(testCounter, throwException); } - private EventTopicSubscriber createEventTopicSubscriber(boolean throwException) { + private IEventTopicSubscriber createEventTopicSubscriber(boolean throwException) { return new TopicSubscriberForTest(testCounter, throwException); } - private EventSubscriber createEventSubscriber(Long waitTime) { + private IEventSubscriber createEventSubscriber(Long waitTime) { return new SubscriberForTest(testCounter, waitTime); } - private EventSubscriber getEventSubscriber() { + private IEventSubscriber getEventSubscriber() { return getEventSubscriber(true); } - private EventSubscriber getEventSubscriber(boolean throwException) { + private IEventSubscriber getEventSubscriber(boolean throwException) { if (eventSubscriber == null) { eventSubscriber = createEventSubscriber(throwException); } return eventSubscriber; } - private EventTopicSubscriber getEventTopicSubscriber() { + private IEventTopicSubscriber getEventTopicSubscriber() { if (eventTopicSubscriber == null) { eventTopicSubscriber = createEventTopicSubscriber(false); } @@ -98,7 +95,7 @@ private EventTopicSubscriber getEventTopicSubscriber() { } public void testTyping() { - EventSubscriber subscriber = createEventSubscriber(false); + IEventSubscriber subscriber = createEventSubscriber(false); Double doub = 3.14; Number numb = doub; @@ -122,7 +119,7 @@ public void testTyping() { public void testSubscribe() { boolean actualReturn; - EventSubscriber subscriber = createEventSubscriber(false); + IEventSubscriber subscriber = createEventSubscriber(false); actualReturn = eventService.subscribe(getEventClass(), subscriber); assertTrue("testSubscribe(new subscriber)", actualReturn); @@ -176,12 +173,12 @@ public void testSubscribeOrder() { List subscribers = eventService.getSubscribers(getEventClass()); assertEquals(3, subscribers.size()); for (int i = 0; i < subscribers.size(); i++) { - EventSubscriber subscriber = (EventSubscriber) subscribers.get(i); + IEventSubscriber subscriber = (IEventSubscriber) subscribers.get(i); eventService.unsubscribe(getEventClass(), subscriber); } - eventService.subscribe(getEventClass(), (EventSubscriber) subscribers.get(1)); - eventService.subscribe(getEventClass(), (EventSubscriber) subscribers.get(0)); - eventService.subscribe(getEventClass(), (EventSubscriber) subscribers.get(2)); + eventService.subscribe(getEventClass(), (IEventSubscriber) subscribers.get(1)); + eventService.subscribe(getEventClass(), (IEventSubscriber) subscribers.get(0)); + eventService.subscribe(getEventClass(), (IEventSubscriber) subscribers.get(2)); eventService.publish(createEvent()); assertTrue(subscriber3.callTime.before(subscriber2.callTime)); assertTrue(subscriber2.callTime.before(subscriber1.callTime)); @@ -189,7 +186,7 @@ public void testSubscribeOrder() { public void testSubscribeWeakly() { boolean actualReturn; - EventSubscriber subscriber = createEventSubscriber(false); + IEventSubscriber subscriber = createEventSubscriber(false); actualReturn = eventService.subscribe(getEventClass(), subscriber); assertTrue("testSubscribeWeakly(new subscriber)", actualReturn); @@ -229,7 +226,7 @@ public void testSubscribeWeakly() { public void testSubscribeStrongly() { boolean actualReturn; - EventSubscriber subscriber = createEventSubscriber(false); + IEventSubscriber subscriber = createEventSubscriber(false); actualReturn = eventService.subscribeStrongly(getEventClass(), subscriber); assertTrue("testSubscribeWeakly(new subscriber)", actualReturn); @@ -316,7 +313,7 @@ public void testIllegalArgs() { public void testVeto() { boolean actualReturn; - EventSubscriber subscriber = createEventSubscriber(false); + IEventSubscriber subscriber = createEventSubscriber(false); actualReturn = eventService.subscribe(getEventClass(), subscriber); @@ -341,7 +338,7 @@ public void testVeto() { public void testVetoException() { boolean actualReturn; - EventSubscriber subscriber = createEventSubscriber(false); + IEventSubscriber subscriber = createEventSubscriber(false); actualReturn = eventService.subscribe(getEventClass(), subscriber); @@ -366,7 +363,7 @@ public void testVetoException() { public void testVetoTopic() { boolean actualReturn; - EventTopicSubscriber subscriber = createEventTopicSubscriber(false); + IEventTopicSubscriber subscriber = createEventTopicSubscriber(false); actualReturn = eventService.subscribe("FooTopic", subscriber); @@ -395,7 +392,7 @@ public boolean shouldVeto(String topic, Object data) { public void testVetoWeak() { boolean actualReturn; - EventSubscriber subscriber = createEventSubscriber(false); + IEventSubscriber subscriber = createEventSubscriber(false); actualReturn = eventService.subscribe(getEventClass(), subscriber); @@ -428,7 +425,7 @@ public boolean shouldVeto(Object evt) { public void testVetoTopicWeak() { boolean actualReturn; - EventTopicSubscriber subscriber = createEventTopicSubscriber(false); + IEventTopicSubscriber subscriber = createEventTopicSubscriber(false); actualReturn = eventService.subscribe("FooTopic", subscriber); @@ -494,7 +491,7 @@ public void testUnsubscribe() { } public void testUnsubscribeTopic() { - EventTopicSubscriber eventTopicSubscriber = createEventTopicSubscriber(false); + IEventTopicSubscriber eventTopicSubscriber = createEventTopicSubscriber(false); eventService.subscribe("FooTopic", eventTopicSubscriber); boolean actualReturn; @@ -588,7 +585,7 @@ public void testPublish() { public void testTimeHandling() { eventService.subscribe(getEventClass(), createEventSubscriber(new Long(200L))); final Boolean[] wasCalled = new Boolean[1]; - eventService.subscribe(SubscriberTimingEvent.class, new EventSubscriber() { + eventService.subscribe(SubscriberTimingEvent.class, new IEventSubscriber() { public void onEvent(Object evt) { wasCalled[0] = Boolean.TRUE; } @@ -598,7 +595,7 @@ public void onEvent(Object evt) { eventService = new ThreadSafeEventService(new Long(100), true); eventService.subscribe(getEventClass(), createEventSubscriber(new Long(200L))); final Boolean[] wasCalled2 = new Boolean[1]; - eventService.subscribe(SubscriberTimingEvent.class, new EventSubscriber() { + eventService.subscribe(SubscriberTimingEvent.class, new IEventSubscriber() { public void onEvent(Object evt) { wasCalled2[0] = Boolean.TRUE; timing = (SubscriberTimingEvent) evt; @@ -746,7 +743,7 @@ public void testParameterizedEvent() throws IllegalAccessException, NoSuchMethod // System.out.println("superclass="+superclass); // System.out.println("type="+type); - eventService.subscribe(stringTypeReference.getType(), new EventSubscriber() { + eventService.subscribe(stringTypeReference.getType(), new IEventSubscriber() { public void onEvent(Object event) { timesCalled[0]++; } @@ -766,12 +763,12 @@ public void testParameterizedEventMultiParams() throws IllegalAccessException, N TypeReference> integerTypeReference = new TypeReference>(){}; TypeReference> switchTypeReference = new TypeReference>(){}; - eventService.subscribe(stringTypeReference.getType(), new EventSubscriber() { + eventService.subscribe(stringTypeReference.getType(), new IEventSubscriber() { public void onEvent(Object event) { timesCalled[0]++; } }); - eventService.subscribe(integerTypeReference.getType(), new EventSubscriber() { + eventService.subscribe(integerTypeReference.getType(), new IEventSubscriber() { public void onEvent(Object event) { timesCalled[0]++; } @@ -790,7 +787,7 @@ public void testWildcardSubscription() throws IllegalAccessException, NoSuchMeth TypeReference> containerWildcardTypeRef = new TypeReference>(){}; - eventService.subscribe(containerWildcardTypeRef.getType(), new EventSubscriber() { + eventService.subscribe(containerWildcardTypeRef.getType(), new IEventSubscriber() { public void onEvent(Object event) { timesCalled[0]++; } @@ -817,7 +814,7 @@ public void onEvent(Object event) { //Test super wildcard, should be opposite of above eventService.clearAllSubscribers(); TypeReference> containerSuperWildcardTypeRef = new TypeReference>(){}; - eventService.subscribe(containerSuperWildcardTypeRef.getType(), new EventSubscriber() { + eventService.subscribe(containerSuperWildcardTypeRef.getType(), new IEventSubscriber() { public void onEvent(Object event) { timesCalled[0]++; } @@ -844,7 +841,7 @@ public Map getData() { } } - class DoubleSubscriber implements EventTopicSubscriber, EventSubscriber { + class DoubleSubscriber implements IEventTopicSubscriber, IEventSubscriber { public int timesTopicCalled = 0; public int timesEventCalled = 0; public String lastEventString; @@ -881,7 +878,7 @@ public void testGenericGeneric() { final int[] timesCalled = new int[1]; DataRequestEvent> request = new DataRequestEvent>(); Type type = new TypeReference>>() {}.getType(); - eventService.subscribe(type, new EventSubscriber() { + eventService.subscribe(type, new IEventSubscriber() { public void onEvent(Object event) { timesCalled[0]++; } @@ -919,7 +916,7 @@ public void testTopicsCache() { assertTrue(lastEventObj == publishedEventObj); assertEquals(1, es.getCacheSizeForTopic("IceCream.Vanilla")); //subscribe and see if it still works and that the new event is cached - EventTopicSubscriber sub = new EventTopicSubscriber() { + IEventTopicSubscriber sub = new IEventTopicSubscriber() { public void onEvent(String topic, Object data) { System.out.println("Barrrr"); } @@ -1147,7 +1144,7 @@ public void testEventsCache() { assertTrue(lastAEvent == publishedEvent); assertEquals(1, es.getCacheSizeForEventClass(EventA.class)); //subscribe and see if it still works and that the new event is cached - EventSubscriber sub = new EventSubscriber() { + IEventSubscriber sub = new IEventSubscriber() { public void onEvent(Object evt) { System.out.println("Fooo"); } diff --git a/src/test/java/org/scijava/event/bushe/TestEventAction.java b/src/test/java/org/scijava/event/bushe/TestEventAction.java index 969bf2acf..6c3eff80f 100644 --- a/src/test/java/org/scijava/event/bushe/TestEventAction.java +++ b/src/test/java/org/scijava/event/bushe/TestEventAction.java @@ -51,7 +51,7 @@ protected void setUp() throws Exception { public void testEventBusTopicAction() { EventBusAction action = new EventBusAction(); action.putValue(Action.ACTION_COMMAND_KEY, "FooAction"); - EventTopicSubscriber subscriber = new EventTopicSubscriber() { + IEventTopicSubscriber subscriber = new IEventTopicSubscriber() { public void onEvent(String topic, Object evt) { subscribedEvents.add(evt); } @@ -70,7 +70,7 @@ public void testEventBusTopicActionEventServiceValueFirst() { EventBusAction action = new EventBusAction(); action.putValue(EventBusAction.EVENT_SERVICE_TOPIC_NAME, "FooAction"); action.putValue(Action.ACTION_COMMAND_KEY, "BarAction"); - EventBus.subscribeStrongly("FooAction", new EventTopicSubscriber() { + EventBus.subscribeStrongly("FooAction", new IEventTopicSubscriber() { public void onEvent(String topic, Object evt) { subscribedEvents.add(evt); } @@ -87,7 +87,7 @@ public void testEventBusTopicActionIDValueFirst() { EventBusAction action = new EventBusAction(); action.putValue("ID", "FooAction"); action.putValue(Action.ACTION_COMMAND_KEY, "BarAction"); - EventBus.subscribeStrongly("FooAction", new EventTopicSubscriber() { + EventBus.subscribeStrongly("FooAction", new IEventTopicSubscriber() { public void onEvent(String topic, Object evt) { subscribedEvents.add(evt); } @@ -103,7 +103,7 @@ public void onEvent(String topic, Object evt) { public void testEventBusTopicActionNameWorks() { EventBusAction action = new EventBusAction(); action.putValue(Action.NAME, "FooAction"); - EventBus.subscribeStrongly("FooAction", new EventTopicSubscriber() { + EventBus.subscribeStrongly("FooAction", new IEventTopicSubscriber() { public void onEvent(String topic, Object evt) { subscribedEvents.add(evt); } @@ -122,7 +122,7 @@ protected Object getEventServiceEvent(ActionEvent evt) { return new MyEventServiceEvent(aSource, evt); } }; - EventBus.subscribe(MyEventServiceEvent.class, new EventSubscriber() { + EventBus.subscribe(MyEventServiceEvent.class, new IEventSubscriber() { public void onEvent(Object evt) { assertEquals(((EventServiceEvent) evt).getSource(), aSource); subscribedEvents.add(evt); @@ -148,7 +148,7 @@ public void testContainerEventAction() { EventService es = ContainerEventServiceFinder.getEventService(button); assertTrue(EventBus.getGlobalEventService() != es); assertEquals(0, subscribedEvents.size()); - es.subscribe("FooAction", new EventTopicSubscriber() { + es.subscribe("FooAction", new IEventTopicSubscriber() { public void onEvent(String topic, Object evt) { subscribedEvents.add(evt); } diff --git a/src/test/java/org/scijava/event/bushe/TestEventBus.java b/src/test/java/org/scijava/event/bushe/TestEventBus.java index 80f8cba2f..487d0b277 100644 --- a/src/test/java/org/scijava/event/bushe/TestEventBus.java +++ b/src/test/java/org/scijava/event/bushe/TestEventBus.java @@ -26,8 +26,8 @@ public class TestEventBus extends TestCase { - private EventSubscriber eventSubscriber = null; - private EventTopicSubscriber eventTopicSubscriber; + private IEventSubscriber eventSubscriber = null; + private IEventTopicSubscriber eventTopicSubscriber; private EBTestCounter testCounter = new EBTestCounter(); public TestEventBus(String name) { @@ -53,20 +53,20 @@ private Class getEventClass() { return createEvent().getClass(); } - private EventSubscriber createEventSubscriber(boolean throwException) { + private IEventSubscriber createEventSubscriber(boolean throwException) { SubscriberForTest test = new SubscriberForTest(testCounter, throwException); return test; } - private EventTopicSubscriber createEventTopicSubscriber(boolean throwException) { + private IEventTopicSubscriber createEventTopicSubscriber(boolean throwException) { return new TopicSubscriberForTest(testCounter, throwException); } - private EventSubscriber getEventSubscriber() { + private IEventSubscriber getEventSubscriber() { return getEventSubscriber(true); } - private EventSubscriber getEventSubscriber(boolean throwException) { + private IEventSubscriber getEventSubscriber(boolean throwException) { if (eventSubscriber == null) { eventSubscriber = createEventSubscriber(throwException); } @@ -75,7 +75,7 @@ private EventSubscriber getEventSubscriber(boolean throwException) { public void testSubscribe() { boolean actualReturn; - EventSubscriber subscriber = createEventSubscriber(false); + IEventSubscriber subscriber = createEventSubscriber(false); actualReturn = EventBus.subscribe(getEventClass(), subscriber); assertTrue("testSubscribe(new subscriber)", actualReturn); @@ -106,7 +106,7 @@ public void testSubscribe() { } - public static class SwingThreadTestEventSubscriber implements EventSubscriber { + public static class SwingThreadTestEventSubscriber implements IEventSubscriber { public boolean wasOnSwingThread; public void onEvent(Object event) { @@ -124,7 +124,7 @@ public void testSwingThreading() { public void testSubscribeWeakly() { boolean actualReturn; - EventSubscriber subscriber = createEventSubscriber(false); + IEventSubscriber subscriber = createEventSubscriber(false); actualReturn = EventBus.subscribe(getEventClass(), subscriber); assertTrue("testSubscribeWeakly(new subscriber)", actualReturn); @@ -212,7 +212,7 @@ public void testIllegalArgs() { public void testVeto() { boolean actualReturn; - EventSubscriber subscriber = createEventSubscriber(false); + IEventSubscriber subscriber = createEventSubscriber(false); actualReturn = EventBus.subscribe(getEventClass(), subscriber); @@ -239,7 +239,7 @@ public void testVeto() { public void testVetoException() { boolean actualReturn; - EventSubscriber subscriber = createEventSubscriber(false); + IEventSubscriber subscriber = createEventSubscriber(false); actualReturn = EventBus.subscribe(getEventClass(), subscriber); assertTrue(actualReturn); @@ -267,7 +267,7 @@ public void testVetoException() { public void testVetoTopic() { boolean actualReturn; - EventTopicSubscriber subscriber = createEventTopicSubscriber(false); + IEventTopicSubscriber subscriber = createEventTopicSubscriber(false); actualReturn = EventBus.subscribeStrongly("FooTopic", subscriber); @@ -298,7 +298,7 @@ public boolean shouldVeto(String topic, Object data) { public void testVetoWeak() { boolean actualReturn; - EventSubscriber subscriber = createEventSubscriber(false); + IEventSubscriber subscriber = createEventSubscriber(false); actualReturn = EventBus.subscribe(getEventClass(), subscriber); @@ -333,7 +333,7 @@ public boolean shouldVeto(Object evt) { public void testVetoTopicWeak() { boolean actualReturn; - EventTopicSubscriber subscriber = createEventTopicSubscriber(false); + IEventTopicSubscriber subscriber = createEventTopicSubscriber(false); actualReturn = EventBus.subscribeStrongly("FooTopic", subscriber); @@ -402,7 +402,7 @@ public void testUnsubscribe() { } public void testUnsubscribeTopic() { - EventTopicSubscriber eventTopicSubscriber = createEventTopicSubscriber(false); + IEventTopicSubscriber eventTopicSubscriber = createEventTopicSubscriber(false); EventBus.subscribeStrongly("FooTopic", eventTopicSubscriber); boolean actualReturn; @@ -484,7 +484,7 @@ public void testPublish() { assertEquals("testPublish(completed)", 4, testCounter.eventsHandledCount); assertEquals("testPublish(exceptions)", 2, testCounter.subscribeExceptionCount); - EventSubscriber eventSubscriber = createEventSubscriber(false); + IEventSubscriber eventSubscriber = createEventSubscriber(false); EventBus.subscribe(ObjectEvent.class, eventSubscriber); testCounter.eventsHandledCount = 0; testCounter.subscribeExceptionCount = 0; @@ -558,11 +558,11 @@ public void testNumOfMethods() { //Really a compilation test public void testGeneric() { - EventBus.subscribe(String.class, new EventSubscriber() { + EventBus.subscribe(String.class, new IEventSubscriber() { public void onEvent(JComponent event) { } }); - EventBus.subscribe("foo", new EventTopicSubscriber() { + EventBus.subscribe("foo", new IEventTopicSubscriber() { public void onEvent(String topic, JComponent data) { } }); diff --git a/src/test/java/org/scijava/event/bushe/TestEventBusServiceClass.java b/src/test/java/org/scijava/event/bushe/TestEventBusServiceClass.java index c0b839a4a..49417097a 100644 --- a/src/test/java/org/scijava/event/bushe/TestEventBusServiceClass.java +++ b/src/test/java/org/scijava/event/bushe/TestEventBusServiceClass.java @@ -20,7 +20,7 @@ protected void tearDown() throws Exception { public void testConfigurableEventService() { try { - EventBus.subscribe("foo", new EventTopicSubscriber() { + EventBus.subscribe("foo", new IEventTopicSubscriber() { public void onEvent(String topic, Object data) { } }); diff --git a/src/test/java/org/scijava/event/bushe/TestEventBusServiceClassBadType.java b/src/test/java/org/scijava/event/bushe/TestEventBusServiceClassBadType.java index a89ec9765..7d6dcb309 100644 --- a/src/test/java/org/scijava/event/bushe/TestEventBusServiceClassBadType.java +++ b/src/test/java/org/scijava/event/bushe/TestEventBusServiceClassBadType.java @@ -18,7 +18,7 @@ protected void tearDown() throws Exception { public void testConfigurableEventService() { try { - EventBus.subscribe("foo", new EventTopicSubscriber() { + EventBus.subscribe("foo", new IEventTopicSubscriber() { public void onEvent(String topic, Object data) { } }); diff --git a/src/test/java/org/scijava/event/bushe/TestEventBusTiming.java b/src/test/java/org/scijava/event/bushe/TestEventBusTiming.java index 791f558d7..27cb12c06 100644 --- a/src/test/java/org/scijava/event/bushe/TestEventBusTiming.java +++ b/src/test/java/org/scijava/event/bushe/TestEventBusTiming.java @@ -20,8 +20,8 @@ /** The DefaultEventService is NOT Swing-safe! But it's easier to test... */ public class TestEventBusTiming extends EventServiceLocatorTestCase { - private EventSubscriber eventSubscriber = null; - private EventTopicSubscriber eventTopicSubscriber; + private IEventSubscriber eventSubscriber = null; + private IEventTopicSubscriber eventTopicSubscriber; private SubscriberTimingEvent timing; private EBTestCounter testCounter = new EBTestCounter(); @@ -41,30 +41,30 @@ private Class getEventClass() { return createEvent().getClass(); } - private EventSubscriber createEventSubscriber(boolean throwException) { + private IEventSubscriber createEventSubscriber(boolean throwException) { return new SubscriberForTest(testCounter, throwException); } - private EventTopicSubscriber createEventTopicSubscriber(boolean throwException) { + private IEventTopicSubscriber createEventTopicSubscriber(boolean throwException) { return new TopicSubscriberForTest(testCounter, throwException); } - private EventSubscriber createEventSubscriber(Long waitTime) { + private IEventSubscriber createEventSubscriber(Long waitTime) { return new SubscriberForTest(testCounter, waitTime); } - private EventSubscriber getEventSubscriber() { + private IEventSubscriber getEventSubscriber() { return getEventSubscriber(true); } - private EventSubscriber getEventSubscriber(boolean throwException) { + private IEventSubscriber getEventSubscriber(boolean throwException) { if (eventSubscriber == null) { eventSubscriber = createEventSubscriber(throwException); } return eventSubscriber; } - private EventTopicSubscriber getEventTopicSubscriber() { + private IEventTopicSubscriber getEventTopicSubscriber() { if (eventTopicSubscriber == null) { eventTopicSubscriber = createEventTopicSubscriber(false); } @@ -74,7 +74,7 @@ private EventTopicSubscriber getEventTopicSubscriber() { public void thisOnlyWorksSometimesNow_testTimeHandling() { EventBus.subscribe(getEventClass(), createEventSubscriber(new Long(200L))); final Boolean[] wasCalled = new Boolean[1]; - EventBus.subscribe(SubscriberTimingEvent.class, new EventSubscriber() { + EventBus.subscribe(SubscriberTimingEvent.class, new IEventSubscriber() { public void onEvent(Object evt) { wasCalled[0] = Boolean.TRUE; } @@ -84,7 +84,7 @@ public void onEvent(Object evt) { assertTrue(wasCalled[0] == null); EventBus.subscribe(getEventClass(), createEventSubscriber(new Long(200L))); final Boolean[] wasCalled2 = new Boolean[1]; - EventBus.subscribe(SubscriberTimingEvent.class, new EventSubscriber() { + EventBus.subscribe(SubscriberTimingEvent.class, new IEventSubscriber() { public void onEvent(Object evt) { wasCalled2[0] = Boolean.TRUE; timing = (SubscriberTimingEvent) evt; diff --git a/src/test/java/org/scijava/event/bushe/TestPerformance.java b/src/test/java/org/scijava/event/bushe/TestPerformance.java index a936200ee..f597ae488 100644 --- a/src/test/java/org/scijava/event/bushe/TestPerformance.java +++ b/src/test/java/org/scijava/event/bushe/TestPerformance.java @@ -12,12 +12,12 @@ * For proving performance. */ public class TestPerformance extends TestCase { - private EventSubscriber doNothingSubscriber = new EventSubscriber() { + private IEventSubscriber doNothingSubscriber = new IEventSubscriber() { public void onEvent(Object event) { } }; - private EventTopicSubscriber doNothingTopicSubscriber = new EventTopicSubscriber() { + private IEventTopicSubscriber doNothingTopicSubscriber = new IEventTopicSubscriber() { public void onEvent(String topic, Object payload) { } }; diff --git a/src/test/java/org/scijava/event/bushe/TestPrioritizedSubscribers.java b/src/test/java/org/scijava/event/bushe/TestPrioritizedSubscribers.java index 9f44264f0..a02310228 100644 --- a/src/test/java/org/scijava/event/bushe/TestPrioritizedSubscribers.java +++ b/src/test/java/org/scijava/event/bushe/TestPrioritizedSubscribers.java @@ -11,8 +11,6 @@ import junit.framework.TestCase; -import org.scijava.event.bushe.annotation.AnnotationProcessor; - /** * Tests the Prioritized interface va. normal FIFO order. */ @@ -39,7 +37,7 @@ public void record() { /** * A subscriber that adds itself to a supplied list so that the order of calls is recorded. */ - class OrderRecorderSubscriber extends OrderRecorder implements EventSubscriber { + class OrderRecorderSubscriber extends OrderRecorder implements IEventSubscriber { OrderRecorderSubscriber(List listToRecordTo) { super(listToRecordTo); @@ -53,7 +51,7 @@ public void onEvent(Object event) { /** * Ditto, for topics */ - class OrderRecorderTopicSubscriber extends OrderRecorder implements EventTopicSubscriber { + class OrderRecorderTopicSubscriber extends OrderRecorder implements IEventTopicSubscriber { OrderRecorderTopicSubscriber(List listToRecordTo) { super(listToRecordTo); @@ -104,15 +102,15 @@ protected void tearDown() throws Exception { } public void testNormalFIFO() { - List calledOrder = new ArrayList(); - List originalOrder = new ArrayList(); + List calledOrder = new ArrayList(); + List originalOrder = new ArrayList(); originalOrder.add(new OrderRecorderSubscriber(calledOrder)); originalOrder.add(new OrderRecorderSubscriber(calledOrder)); originalOrder.add(new OrderRecorderSubscriber(calledOrder)); originalOrder.add(new OrderRecorderSubscriber(calledOrder)); originalOrder.add(new OrderRecorderSubscriber(calledOrder)); //mixing an inner class into the test - EventSubscriber inner = new EventSubscriber() { + IEventSubscriber inner = new IEventSubscriber() { public void onEvent(Object event) { } }; @@ -120,7 +118,7 @@ public void onEvent(Object event) { originalOrder.add(new OrderRecorderSubscriber(calledOrder)); originalOrder.add(new OrderRecorderSubscriber(calledOrder)); //add them all - for (EventSubscriber eventSubscriber : originalOrder) { + for (IEventSubscriber eventSubscriber : originalOrder) { eventService.subscribe(Color.class, eventSubscriber); } eventService.publish(Color.BLUE); @@ -129,8 +127,8 @@ public void onEvent(Object event) { } public void testNoPrioritizedWithZeroPrioritized() { - List calledOrder = new ArrayList(); - List originalOrder = new ArrayList(); + List calledOrder = new ArrayList(); + List originalOrder = new ArrayList(); originalOrder.add(new OrderRecorderSubscriber(calledOrder)); originalOrder.add(new PrioritizedOrderRecorderSubscriber(0, calledOrder)); originalOrder.add(new OrderRecorderSubscriber(calledOrder)); @@ -149,7 +147,7 @@ public int getPriority() { originalOrder.add(new PrioritizedOrderRecorderSubscriber(0, calledOrder)); originalOrder.add(new OrderRecorderSubscriber(calledOrder)); //add them all - for (EventSubscriber eventSubscriber : originalOrder) { + for (IEventSubscriber eventSubscriber : originalOrder) { eventService.subscribe(Color.class, eventSubscriber); } eventService.publish(Color.BLUE); @@ -158,18 +156,18 @@ public int getPriority() { } public void testOnlyPrioritized() { - List calledOrder = new ArrayList(); - List originalOrder = new ArrayList(); + List calledOrder = new ArrayList(); + List originalOrder = new ArrayList(); for (int i = 0; i < 100; i++) { Random random = new Random(); originalOrder.add(new PrioritizedOrderRecorderSubscriber(random.nextInt(10000) - 5000, calledOrder)); } - for (EventSubscriber eventSubscriber : originalOrder) { + for (IEventSubscriber eventSubscriber : originalOrder) { eventService.subscribe(Color.class, eventSubscriber); } eventService.publish(Color.BLUE); int lastPriority = -5001; - for (EventSubscriber eventSubscriber : calledOrder) { + for (IEventSubscriber eventSubscriber : calledOrder) { int priority = ((PrioritizedOrderRecorderSubscriber) eventSubscriber).getPriority(); assertTrue(priority >= lastPriority); lastPriority = priority; @@ -178,8 +176,8 @@ public void testOnlyPrioritized() { public void testMixedOfPrioritizedNonPrioritizedAndPrioritized0() { Random rand = new Random(); - List calledOrder = new ArrayList(); - List prioritized = new ArrayList(); + List calledOrder = new ArrayList(); + List prioritized = new ArrayList(); //100 negative for (int i = 0; i < 100; i++) { Random random = new Random(); @@ -192,7 +190,7 @@ public void testMixedOfPrioritizedNonPrioritizedAndPrioritized0() { } Collections.shuffle(prioritized); //100 fifo - List fifo = new ArrayList(); + List fifo = new ArrayList(); for (int i = 0; i < 100; i++) { if (rand.nextBoolean()) { fifo.add(new OrderRecorderSubscriber(calledOrder)); @@ -200,10 +198,10 @@ public void testMixedOfPrioritizedNonPrioritizedAndPrioritized0() { fifo.add(new PrioritizedOrderRecorderSubscriber(0, calledOrder)); } } - List prioritizedCopy = new ArrayList(prioritized); - List fifoCopy = new ArrayList(fifo); + List prioritizedCopy = new ArrayList(prioritized); + List fifoCopy = new ArrayList(fifo); //Subscribe all, randomizing a fifo or prioritized - EventSubscriber eventSubscriber; + IEventSubscriber eventSubscriber; int subscribeCount = 0; int prioritizedSubscribeCount = 0; int nonPrioritizedSubscribeCount = 0; @@ -237,7 +235,7 @@ public void testMixedOfPrioritizedNonPrioritizedAndPrioritized0() { assertEquals(300, calledOrder.size()); int lastPriority = -10001; for (int i = 0; i < 99; i++) { - EventSubscriber subscriber = calledOrder.get(i); + IEventSubscriber subscriber = calledOrder.get(i); assertTrue(subscriber instanceof PrioritizedOrderRecorderSubscriber); PrioritizedOrderRecorderSubscriber prioritizedOrderRecorderSubscriber = (PrioritizedOrderRecorderSubscriber) subscriber; int priority = prioritizedOrderRecorderSubscriber.getPriority(); @@ -246,7 +244,7 @@ public void testMixedOfPrioritizedNonPrioritizedAndPrioritized0() { lastPriority = priority; } for (int i = 100; i < 199; i++) { - EventSubscriber subscriber = calledOrder.get(i); + IEventSubscriber subscriber = calledOrder.get(i); assertTrue(subscriber instanceof OrderRecorderSubscriber); if (subscriber instanceof PrioritizedOrderRecorderSubscriber) { PrioritizedOrderRecorderSubscriber prioritizedOrderRecorderSubscriber = (PrioritizedOrderRecorderSubscriber) subscriber; @@ -257,7 +255,7 @@ public void testMixedOfPrioritizedNonPrioritizedAndPrioritized0() { } lastPriority = 0; for (int i = 200; i < 299; i++) { - EventSubscriber subscriber = calledOrder.get(i); + IEventSubscriber subscriber = calledOrder.get(i); assertTrue(subscriber instanceof PrioritizedOrderRecorderSubscriber); PrioritizedOrderRecorderSubscriber prioritizedOrderRecorderSubscriber = (PrioritizedOrderRecorderSubscriber) subscriber; int priority = prioritizedOrderRecorderSubscriber.getPriority(); @@ -273,13 +271,13 @@ public void testPriorityAnnotation() throws EventServiceExistsException { EventServiceLocator.setEventService(EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, eventService); List calledOrder = new ArrayList(); OrderRecorder sn100 = new OrderRecorder(calledOrder) { - @org.scijava.event.bushe.annotation.EventSubscriber(eventClass = Color.class, eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = -100) + @EventSubscriber(eventClass = Color.class, eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = -100) public void annotateMe(Object foo) { record(); } }; OrderRecorder sn50 = new OrderRecorder(calledOrder) { - @org.scijava.event.bushe.annotation.EventSubscriber(eventClass = Color.class, eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = -100) + @EventSubscriber(eventClass = Color.class, eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = -100) public void annotateMe(Object foo) { record(); } @@ -287,49 +285,49 @@ public void annotateMe(Object foo) { PrioritizedOrderRecorderSubscriber spn30 = new PrioritizedOrderRecorderSubscriber(-30, calledOrder); OrderRecorderSubscriber so_1 = new OrderRecorderSubscriber(calledOrder); OrderRecorder s100 = new OrderRecorder(calledOrder) { - @org.scijava.event.bushe.annotation.EventSubscriber(eventClass = Color.class, eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = 100) + @EventSubscriber(eventClass = Color.class, eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = 100) public void annotateMe(Object foo) { record(); } }; OrderRecorder sn10 = new OrderRecorder(calledOrder) { - @org.scijava.event.bushe.annotation.EventSubscriber(eventClass = Color.class, eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = -10) + @EventSubscriber(eventClass = Color.class, eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = -10) public void annotateMe(Object foo) { record(); } }; OrderRecorder s0_2 = new OrderRecorder(calledOrder) { - @org.scijava.event.bushe.annotation.EventSubscriber(eventClass = Color.class, eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = 0) + @EventSubscriber(eventClass = Color.class, eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = 0) public void annotateMe(Object foo) { record(); } }; OrderRecorder s0_3 = new OrderRecorder(calledOrder) { - @org.scijava.event.bushe.annotation.EventSubscriber(eventClass = Color.class, eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION) + @EventSubscriber(eventClass = Color.class, eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION) public void annotateMe(Object foo) { record(); } }; OrderRecorder s50 = new OrderRecorder(calledOrder) { - @org.scijava.event.bushe.annotation.EventSubscriber(eventClass = Color.class, eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = 50) + @EventSubscriber(eventClass = Color.class, eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = 50) public void annotateMe(Object foo) { record(); } }; OrderRecorder s0_4 = new OrderRecorder(calledOrder) { - @org.scijava.event.bushe.annotation.EventSubscriber(eventClass = Color.class, eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION) + @EventSubscriber(eventClass = Color.class, eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION) public void annotateMe(Object foo) { record(); } }; OrderRecorder s10 = new OrderRecorder(calledOrder) { - @org.scijava.event.bushe.annotation.EventSubscriber(eventClass = Color.class, eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = 10) + @EventSubscriber(eventClass = Color.class, eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = 10) public void annotateMe(Object foo) { record(); } }; OrderRecorder s0_5 = new OrderRecorder(calledOrder) { - @org.scijava.event.bushe.annotation.EventSubscriber(eventClass = Color.class, eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION) + @EventSubscriber(eventClass = Color.class, eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION) public void annotateMe(Object foo) { record(); } @@ -337,8 +335,8 @@ public void annotateMe(Object foo) { Object[] toAdd = {sn100, s100, so_1, spn30, s0_2, s50, s0_3, sn10, sn50, s0_4, s10, s0_5}; List expectedResult = Arrays.asList(sn100, sn50, spn30, sn10, so_1, s0_2, s0_3, s0_4, s0_5, s10, s50, s100); for (Object o : toAdd) { - if (o instanceof EventSubscriber) { - eventService.subscribe(Color.class, (EventSubscriber) o); + if (o instanceof IEventSubscriber) { + eventService.subscribe(Color.class, (IEventSubscriber) o); } else { AnnotationProcessor.process(o); } @@ -358,12 +356,12 @@ public void annotateMe(Object foo) { public void testIssue26OneNegOthersNormal() { final List calledOrder = new ArrayList(); //non-Prioritized FIFO subscribers - EventSubscriber sub1 = new EventSubscriber() { + IEventSubscriber sub1 = new IEventSubscriber() { public void onEvent(Object event) { calledOrder.add(1); } }; - EventSubscriber sub0 = new PrioritizedEventSubscriber() { + IEventSubscriber sub0 = new PrioritizedEventSubscriber() { public void onEvent(Object event) { calledOrder.add(-1); } @@ -371,7 +369,7 @@ public int getPriority() { return -1; } }; - EventSubscriber sub2 = new EventSubscriber() { + IEventSubscriber sub2 = new IEventSubscriber() { public void onEvent(Object event) { calledOrder.add(2); } @@ -398,12 +396,12 @@ public void onEvent(Object event) { public void testOnePosOthersNormal() { final List calledOrder = new ArrayList(); //non-Prioritized FIFO subscribers - EventSubscriber sub1 = new EventSubscriber() { + IEventSubscriber sub1 = new IEventSubscriber() { public void onEvent(Object event) { calledOrder.add(1); } }; - EventSubscriber sub0 = new PrioritizedEventSubscriber() { + IEventSubscriber sub0 = new PrioritizedEventSubscriber() { public void onEvent(Object event) { calledOrder.add(11); } @@ -411,7 +409,7 @@ public int getPriority() { return 11; } }; - EventSubscriber sub2 = new EventSubscriber() { + IEventSubscriber sub2 = new IEventSubscriber() { public void onEvent(Object event) { calledOrder.add(2); } @@ -434,13 +432,13 @@ public void testPriorityTopicAnnotation() throws EventServiceExistsException { EventServiceLocator.setEventService(EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, eventService); List calledOrder = new ArrayList(); OrderRecorder sn100 = new OrderRecorder(calledOrder) { - @org.scijava.event.bushe.annotation.EventTopicSubscriber(topic = "Color", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = -100) + @EventTopicSubscriber(topic = "Color", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = -100) public void annotateMe(String topic, Object foo) { record(); } }; OrderRecorder sn50 = new OrderRecorder(calledOrder) { - @org.scijava.event.bushe.annotation.EventTopicSubscriber(topic = "Color", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = -100) + @EventTopicSubscriber(topic = "Color", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = -100) public void annotateMe(String topic, Object foo) { record(); } @@ -448,49 +446,49 @@ public void annotateMe(String topic, Object foo) { PrioritizedOrderRecorderTopicSubscriber spn30 = new PrioritizedOrderRecorderTopicSubscriber(-30, calledOrder); OrderRecorderTopicSubscriber so_1 = new OrderRecorderTopicSubscriber(calledOrder); OrderRecorder s100 = new OrderRecorder(calledOrder) { - @org.scijava.event.bushe.annotation.EventTopicSubscriber(topic = "Color", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = 100) + @EventTopicSubscriber(topic = "Color", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = 100) public void annotateMe(String topic, Object foo) { record(); } }; OrderRecorder sn10 = new OrderRecorder(calledOrder) { - @org.scijava.event.bushe.annotation.EventTopicSubscriber(topic = "Color", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = -10) + @EventTopicSubscriber(topic = "Color", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = -10) public void annotateMe(String topic, Object foo) { record(); } }; OrderRecorder s0_2 = new OrderRecorder(calledOrder) { - @org.scijava.event.bushe.annotation.EventTopicSubscriber(topic = "Color", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = 0) + @EventTopicSubscriber(topic = "Color", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = 0) public void annotateMe(String topic, Object foo) { record(); } }; OrderRecorder s0_3 = new OrderRecorder(calledOrder) { - @org.scijava.event.bushe.annotation.EventTopicSubscriber(topic = "Color", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION) + @EventTopicSubscriber(topic = "Color", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION) public void annotateMe(String topic, Object foo) { record(); } }; OrderRecorder s50 = new OrderRecorder(calledOrder) { - @org.scijava.event.bushe.annotation.EventTopicSubscriber(topic = "Color", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = 50) + @EventTopicSubscriber(topic = "Color", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = 50) public void annotateMe(String topic, Object foo) { record(); } }; OrderRecorder s0_4 = new OrderRecorder(calledOrder) { - @org.scijava.event.bushe.annotation.EventTopicSubscriber(topic = "Color", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION) + @EventTopicSubscriber(topic = "Color", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION) public void annotateMe(String topic, Object foo) { record(); } }; OrderRecorder s10 = new OrderRecorder(calledOrder) { - @org.scijava.event.bushe.annotation.EventTopicSubscriber(topic = "Color", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = 10) + @EventTopicSubscriber(topic = "Color", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = 10) public void annotateMe(String topic, Object foo) { record(); } }; OrderRecorder s0_5 = new OrderRecorder(calledOrder) { - @org.scijava.event.bushe.annotation.EventTopicSubscriber(topic = "Color", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION) + @EventTopicSubscriber(topic = "Color", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION) public void annotateMe(String topic, Object foo) { record(); } @@ -498,8 +496,8 @@ public void annotateMe(String topic, Object foo) { Object[] toAdd = {sn100, s100, so_1, spn30, s0_2, s50, s0_3, sn10, sn50, s0_4, s10, s0_5}; List expectedResult = Arrays.asList(sn100, sn50, spn30, sn10, so_1, s0_2, s0_3, s0_4, s0_5, s10, s50, s100); for (Object o : toAdd) { - if (o instanceof EventTopicSubscriber) { - eventService.subscribe("Color", (EventTopicSubscriber) o); + if (o instanceof IEventTopicSubscriber) { + eventService.subscribe("Color", (IEventTopicSubscriber) o); } else { AnnotationProcessor.process(o); } @@ -516,13 +514,13 @@ public void testPriorityTopicPatternAnnotation() throws EventServiceExistsExcept EventServiceLocator.setEventService(EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, eventService); List calledOrder = new ArrayList(); OrderRecorder sn100 = new OrderRecorder(calledOrder) { - @org.scijava.event.bushe.annotation.EventTopicPatternSubscriber(topicPattern = "Col[a-z]+", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = -100) + @EventTopicPatternSubscriber(topicPattern = "Col[a-z]+", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = -100) public void annotateMe(String topic, Object foo) { record(); } }; OrderRecorder sn50 = new OrderRecorder(calledOrder) { - @org.scijava.event.bushe.annotation.EventTopicPatternSubscriber(topicPattern = "Col[a-z]+", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = -50) + @EventTopicPatternSubscriber(topicPattern = "Col[a-z]+", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = -50) public void annotateMe(String topic, Object foo) { record(); } @@ -530,49 +528,49 @@ public void annotateMe(String topic, Object foo) { PrioritizedOrderRecorderTopicSubscriber spn30 = new PrioritizedOrderRecorderTopicSubscriber(-30, calledOrder); OrderRecorderTopicSubscriber so_1 = new OrderRecorderTopicSubscriber(calledOrder); OrderRecorder s100 = new OrderRecorder(calledOrder) { - @org.scijava.event.bushe.annotation.EventTopicPatternSubscriber(topicPattern = "Col[a-z]+", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = 100) + @EventTopicPatternSubscriber(topicPattern = "Col[a-z]+", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = 100) public void annotateMe(String topic, Object foo) { record(); } }; OrderRecorder sn10 = new OrderRecorder(calledOrder) { - @org.scijava.event.bushe.annotation.EventTopicPatternSubscriber(topicPattern = "Col[a-z]+", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = -10) + @EventTopicPatternSubscriber(topicPattern = "Col[a-z]+", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = -10) public void annotateMe(String topic, Object foo) { record(); } }; OrderRecorder s0_2 = new OrderRecorder(calledOrder) { - @org.scijava.event.bushe.annotation.EventTopicPatternSubscriber(topicPattern = "Col[a-z]+", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = 0) + @EventTopicPatternSubscriber(topicPattern = "Col[a-z]+", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = 0) public void annotateMe(String topic, Object foo) { record(); } }; OrderRecorder s0_3 = new OrderRecorder(calledOrder) { - @org.scijava.event.bushe.annotation.EventTopicPatternSubscriber(topicPattern = "Col[a-z]+", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION) + @EventTopicPatternSubscriber(topicPattern = "Col[a-z]+", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION) public void annotateMe(String topic, Object foo) { record(); } }; OrderRecorder s50 = new OrderRecorder(calledOrder) { - @org.scijava.event.bushe.annotation.EventTopicPatternSubscriber(topicPattern = "Col[a-z]+", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = 50) + @EventTopicPatternSubscriber(topicPattern = "Col[a-z]+", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = 50) public void annotateMe(String topic, Object foo) { record(); } }; OrderRecorder s0_4 = new OrderRecorder(calledOrder) { - @org.scijava.event.bushe.annotation.EventTopicPatternSubscriber(topicPattern = "Col[a-z]+", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION) + @EventTopicPatternSubscriber(topicPattern = "Col[a-z]+", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION) public void annotateMe(String topic, Object foo) { record(); } }; OrderRecorder s10 = new OrderRecorder(calledOrder) { - @org.scijava.event.bushe.annotation.EventTopicPatternSubscriber(topicPattern = "Col[a-z]+", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = 10) + @EventTopicPatternSubscriber(topicPattern = "Col[a-z]+", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = 10) public void annotateMe(String topic, Object foo) { record(); } }; OrderRecorder s0_5 = new OrderRecorder(calledOrder) { - @org.scijava.event.bushe.annotation.EventTopicPatternSubscriber(topicPattern = "Col[a-z]+", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION) + @EventTopicPatternSubscriber(topicPattern = "Col[a-z]+", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION) public void annotateMe(String topic, Object foo) { record(); } @@ -582,7 +580,7 @@ public void annotateMe(String topic, Object foo) { for (Object o : toAdd) { if (o instanceof OrderRecorderTopicSubscriber) { Pattern pattern = Pattern.compile("Col[a-z]+"); - eventService.subscribe(pattern, (EventTopicSubscriber) o); + eventService.subscribe(pattern, (IEventTopicSubscriber) o); } else { AnnotationProcessor.process(o); } diff --git a/src/test/java/org/scijava/event/bushe/TestPublicationStates.java b/src/test/java/org/scijava/event/bushe/TestPublicationStates.java index d4aed0a81..71f7c02e8 100644 --- a/src/test/java/org/scijava/event/bushe/TestPublicationStates.java +++ b/src/test/java/org/scijava/event/bushe/TestPublicationStates.java @@ -18,7 +18,7 @@ public void setPublicationStatus(PublicationStatus status) { stuffHappens.add(status); } }; - EventSubscriber subscriber = new EventSubscriber() { + IEventSubscriber subscriber = new IEventSubscriber() { public void onEvent(Object event) { stuffHappens.add(this); } diff --git a/src/test/java/org/scijava/event/bushe/TopicSubscriberForTest.java b/src/test/java/org/scijava/event/bushe/TopicSubscriberForTest.java index 3b7836df8..3109681d1 100644 --- a/src/test/java/org/scijava/event/bushe/TopicSubscriberForTest.java +++ b/src/test/java/org/scijava/event/bushe/TopicSubscriberForTest.java @@ -4,7 +4,7 @@ * @author Michael Bushe * @since Nov 19, 2005 11:00:53 PM */ -public class TopicSubscriberForTest implements EventTopicSubscriber { +public class TopicSubscriberForTest implements IEventTopicSubscriber { private boolean throwException; private Long waitTime; private EBTestCounter testDefaultEventService; diff --git a/src/test/java/org/scijava/event/bushe/annotation/WeakClassAnnotatedEventSubscriber.java b/src/test/java/org/scijava/event/bushe/WeakClassAnnotatedEventSubscriber.java similarity index 92% rename from src/test/java/org/scijava/event/bushe/annotation/WeakClassAnnotatedEventSubscriber.java rename to src/test/java/org/scijava/event/bushe/WeakClassAnnotatedEventSubscriber.java index 0c7f7703a..6d821a6ec 100644 --- a/src/test/java/org/scijava/event/bushe/annotation/WeakClassAnnotatedEventSubscriber.java +++ b/src/test/java/org/scijava/event/bushe/WeakClassAnnotatedEventSubscriber.java @@ -1,4 +1,4 @@ -package org.scijava.event.bushe.annotation; +package org.scijava.event.bushe; import java.util.Collection; import java.util.List; From bd41c8ace85af020099eaa95f09da4ce64eee47b Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 17 May 2023 11:56:18 -0500 Subject: [PATCH 295/383] Make most of the bushe classes package-private The goal is not to add new SciJava Common API, but merely to vendor the org.bushe:eventbus code for internal use. Unfortunately, we don't have JPMS yet, and cannot fully hide the package. But we can get pretty close. --- .../org/scijava/event/DefaultEventBus.java | 4 ++-- .../org/scijava/event/DefaultEventService.java | 8 ++++---- .../java/org/scijava/event/EventHandler.java | 18 +++++++++--------- .../event/bushe/AbstractEventServiceEvent.java | 2 +- .../event/bushe/AnnotationProcessor.java | 2 +- .../event/bushe/BaseProxySubscriber.java | 2 +- .../bushe/ContainerEventServiceAction.java | 2 +- .../bushe/ContainerEventServiceFinder.java | 2 +- .../bushe/ContainerEventServiceRegistrar.java | 2 +- .../bushe/ContainerEventServiceSupplier.java | 2 +- .../java/org/scijava/event/bushe/EventBus.java | 2 +- .../scijava/event/bushe/EventBusAction.java | 2 +- .../org/scijava/event/bushe/EventService.java | 2 +- .../event/bushe/EventServiceAction.java | 2 +- .../scijava/event/bushe/EventServiceEvent.java | 2 +- .../bushe/EventServiceExistsException.java | 2 +- .../event/bushe/EventServiceLocator.java | 2 +- .../scijava/event/bushe/EventSubscriber.java | 2 +- .../bushe/EventTopicPatternSubscriber.java | 2 +- .../event/bushe/EventTopicSubscriber.java | 2 +- .../event/bushe/IEventTopicSubscriber.java | 2 +- .../java/org/scijava/event/bushe/Logger.java | 2 +- .../org/scijava/event/bushe/ObjectEvent.java | 2 +- .../org/scijava/event/bushe/Prioritized.java | 2 +- .../bushe/PrioritizedEventSubscriber.java | 2 +- .../bushe/PrioritizedEventTopicSubscriber.java | 2 +- .../scijava/event/bushe/ProxySubscriber.java | 2 +- .../bushe/ProxyTopicPatternSubscriber.java | 2 +- .../event/bushe/ProxyTopicSubscriber.java | 2 +- .../scijava/event/bushe/PublicationStatus.java | 2 +- .../event/bushe/PublicationStatusTracker.java | 2 +- .../bushe/RuntimeTopicEventSubscriber.java | 2 +- .../RuntimeTopicPatternEventSubscriber.java | 2 +- .../event/bushe/SubscriberTimingEvent.java | 2 +- .../scijava/event/bushe/SwingEventService.java | 2 +- .../scijava/event/bushe/SwingException.java | 2 +- .../org/scijava/event/bushe/TypeReference.java | 2 +- ...TheClassOfTheAnnotatedMethodsParameter.java | 2 +- .../scijava/event/bushe/VetoEventListener.java | 2 +- .../VetoRuntimeTopicPatternSubscriber.java | 2 +- .../bushe/VetoRuntimeTopicSubscriber.java | 2 +- .../scijava/event/bushe/VetoSubscriber.java | 2 +- .../event/bushe/VetoTopicEventListener.java | 2 +- .../bushe/VetoTopicPatternSubscriber.java | 2 +- .../event/bushe/VetoTopicSubscriber.java | 2 +- 45 files changed, 57 insertions(+), 57 deletions(-) diff --git a/src/main/java/org/scijava/event/DefaultEventBus.java b/src/main/java/org/scijava/event/DefaultEventBus.java index a85989de8..85ae5f382 100644 --- a/src/main/java/org/scijava/event/DefaultEventBus.java +++ b/src/main/java/org/scijava/event/DefaultEventBus.java @@ -41,11 +41,11 @@ import org.scijava.thread.ThreadService; /** - * An {@link org.scijava.event.bushe.EventService} implementation for SciJava. + * An {@code org.scijava.event.bushe.EventService} implementation for SciJava. *

      * It is called "DefaultEventBus" rather than "DefaultEventService" to avoid a * name clash with {@link DefaultEventService}, which is not an - * {@link org.scijava.event.bushe.EventService} but rather a SciJava + * {@code org.scijava.event.bushe.EventService} but rather a SciJava * {@link Service} implementation. *

      * diff --git a/src/main/java/org/scijava/event/DefaultEventService.java b/src/main/java/org/scijava/event/DefaultEventService.java index c5717d8a9..b36ec1929 100644 --- a/src/main/java/org/scijava/event/DefaultEventService.java +++ b/src/main/java/org/scijava/event/DefaultEventService.java @@ -42,7 +42,6 @@ import org.scijava.Priority; import org.scijava.event.bushe.AbstractProxySubscriber; -import org.scijava.event.bushe.BaseProxySubscriber; import org.scijava.event.bushe.ReferenceStrength; import org.scijava.log.LogService; import org.scijava.plugin.Parameter; @@ -262,9 +261,10 @@ private synchronized void keepIt(final Object o, final ProxySubscriber subscr /** * Helper class used by {@link #subscribe(Object)}. *

      - * Recapitulates some logic from {@link BaseProxySubscriber}, because that - * class implements {@link org.scijava.event.bushe.IEventSubscriber} as a raw - * type, which is incompatible with this class implementing SciJava's + * Recapitulates some logic from + * {@code org.scijava.event.bushe.BaseProxySubscriber}, because that class + * implements {@link org.scijava.event.bushe.IEventSubscriber} as a raw type, + * which is incompatible with this class implementing SciJava's * {@link EventSubscriber} as a typed interface; it becomes impossible to * implement both {@code onEvent(Object)} and {@code onEvent(E)}. *

      diff --git a/src/main/java/org/scijava/event/EventHandler.java b/src/main/java/org/scijava/event/EventHandler.java index 55f4b3a6f..a3d5a4bba 100644 --- a/src/main/java/org/scijava/event/EventHandler.java +++ b/src/main/java/org/scijava/event/EventHandler.java @@ -40,15 +40,15 @@ * handling methods and annotating each with @{@link EventHandler}. *

      * Note to developers: This annotation serves exactly the same purpose as - * EventBus's {@link org.scijava.event.bushe.EventSubscriber} - * annotation, recapitulating a subset of the same functionality. We do this to - * avoid third party code depending directly on EventBus. That is, we do not - * wish to require SciJava developers to {@code import org.scijava.event.bushe.*} - * or similar. In this way, EventBus is isolated as only a transitive dependency - * of downstream code, rather than a direct dependency. Unfortunately, because - * Java annotation interfaces cannot utilize inheritance, we have to - * recapitulate the functionality rather than extend it (as we are able to do - * with {@link EventSubscriber}). + * EventBus's {@code org.scijava.event.bushe.EventSubscriber} annotation, + * recapitulating a subset of the same functionality. We do this to avoid third + * party code depending directly on EventBus. That is, we do not wish to require + * SciJava developers to {@code import org.scijava.event.bushe.*} or similar. In + * this way, EventBus is isolated as only a transitive dependency of downstream + * code, rather than a direct dependency. Unfortunately, because Java annotation + * interfaces cannot utilize inheritance, we have to recapitulate the + * functionality rather than extend it (as we are able to do with + * {@link EventSubscriber}). *

      * * @author Curtis Rueden diff --git a/src/main/java/org/scijava/event/bushe/AbstractEventServiceEvent.java b/src/main/java/org/scijava/event/bushe/AbstractEventServiceEvent.java index 3c4b84b5c..2497af721 100644 --- a/src/main/java/org/scijava/event/bushe/AbstractEventServiceEvent.java +++ b/src/main/java/org/scijava/event/bushe/AbstractEventServiceEvent.java @@ -22,7 +22,7 @@ * * @author Michael Bushe michael@bushe.com */ -public abstract class AbstractEventServiceEvent implements EventServiceEvent, PublicationStatusTracker { +abstract class AbstractEventServiceEvent implements EventServiceEvent, PublicationStatusTracker { private Object source = null; protected final Object stateLock = new Object(); diff --git a/src/main/java/org/scijava/event/bushe/AnnotationProcessor.java b/src/main/java/org/scijava/event/bushe/AnnotationProcessor.java index 22ae777ac..c7428c7e1 100644 --- a/src/main/java/org/scijava/event/bushe/AnnotationProcessor.java +++ b/src/main/java/org/scijava/event/bushe/AnnotationProcessor.java @@ -36,7 +36,7 @@ * code.
    7. In a Annotation Processing Tool plugin, when it becomes available. Support for these other methods * are not yet implemented. */ -public class AnnotationProcessor { +class AnnotationProcessor { protected static final Logger LOG = Logger.getLogger(EventService.class.getName()); diff --git a/src/main/java/org/scijava/event/bushe/BaseProxySubscriber.java b/src/main/java/org/scijava/event/bushe/BaseProxySubscriber.java index 8c8ccd6ae..a84bcdde7 100644 --- a/src/main/java/org/scijava/event/bushe/BaseProxySubscriber.java +++ b/src/main/java/org/scijava/event/bushe/BaseProxySubscriber.java @@ -4,7 +4,7 @@ import java.lang.reflect.Method; /** A class is subscribed to an EventService on behalf of another object. */ -public class BaseProxySubscriber extends AbstractProxySubscriber +class BaseProxySubscriber extends AbstractProxySubscriber implements org.scijava.event.bushe.IEventSubscriber, VetoEventListener { private Class subscriptionClass; diff --git a/src/main/java/org/scijava/event/bushe/ContainerEventServiceAction.java b/src/main/java/org/scijava/event/bushe/ContainerEventServiceAction.java index 8e71a5a69..39844dfe4 100644 --- a/src/main/java/org/scijava/event/bushe/ContainerEventServiceAction.java +++ b/src/main/java/org/scijava/event/bushe/ContainerEventServiceAction.java @@ -39,7 +39,7 @@ * @see EventServiceAction for further documentation * @see ContainerEventServiceFinder on how the service is found */ -public class ContainerEventServiceAction extends EventServiceAction { +class ContainerEventServiceAction extends EventServiceAction { public ContainerEventServiceAction() { } diff --git a/src/main/java/org/scijava/event/bushe/ContainerEventServiceFinder.java b/src/main/java/org/scijava/event/bushe/ContainerEventServiceFinder.java index b62cc874f..a3464241f 100644 --- a/src/main/java/org/scijava/event/bushe/ContainerEventServiceFinder.java +++ b/src/main/java/org/scijava/event/bushe/ContainerEventServiceFinder.java @@ -38,7 +38,7 @@ * * @author Michael Bushe michael@bushe.com */ -public class ContainerEventServiceFinder { +class ContainerEventServiceFinder { /** The client property used to put a new SwingEventService on top-level components. */ public static final String CLIENT_PROPERTY_KEY_TOP_LEVEL_EVENT_SERVICE = "ContainerEventServiceFinder.createdService"; diff --git a/src/main/java/org/scijava/event/bushe/ContainerEventServiceRegistrar.java b/src/main/java/org/scijava/event/bushe/ContainerEventServiceRegistrar.java index d75de00c3..d39d1238e 100644 --- a/src/main/java/org/scijava/event/bushe/ContainerEventServiceRegistrar.java +++ b/src/main/java/org/scijava/event/bushe/ContainerEventServiceRegistrar.java @@ -35,7 +35,7 @@ * * @author Michael Bushe michael@bushe.com */ -public class ContainerEventServiceRegistrar { +class ContainerEventServiceRegistrar { private JComponent jComp; private IEventSubscriber eventSubscriber; private VetoEventListener vetoSubscriber; diff --git a/src/main/java/org/scijava/event/bushe/ContainerEventServiceSupplier.java b/src/main/java/org/scijava/event/bushe/ContainerEventServiceSupplier.java index 70985d749..915a41fb1 100644 --- a/src/main/java/org/scijava/event/bushe/ContainerEventServiceSupplier.java +++ b/src/main/java/org/scijava/event/bushe/ContainerEventServiceSupplier.java @@ -37,6 +37,6 @@ * * @author Michael Bushe michael@bushe.com */ -public interface ContainerEventServiceSupplier { +interface ContainerEventServiceSupplier { public EventService getContainerEventService(); } diff --git a/src/main/java/org/scijava/event/bushe/EventBus.java b/src/main/java/org/scijava/event/bushe/EventBus.java index 7a01fc2bd..0197d0ebd 100644 --- a/src/main/java/org/scijava/event/bushe/EventBus.java +++ b/src/main/java/org/scijava/event/bushe/EventBus.java @@ -37,7 +37,7 @@ * @see SwingEventService * @see ThreadSafeEventService See package JavaDoc for more information */ -public class EventBus { +class EventBus { /** * The EventBus uses a global static EventService. This method is not necessary in usual usage, use the other static diff --git a/src/main/java/org/scijava/event/bushe/EventBusAction.java b/src/main/java/org/scijava/event/bushe/EventBusAction.java index a320bde9a..f4d69010b 100644 --- a/src/main/java/org/scijava/event/bushe/EventBusAction.java +++ b/src/main/java/org/scijava/event/bushe/EventBusAction.java @@ -25,7 +25,7 @@ * @author Michael Bushe michael@bushe.com * @see EventServiceAction */ -public class EventBusAction extends EventServiceAction { +class EventBusAction extends EventServiceAction { public EventBusAction() { this(null, null); } diff --git a/src/main/java/org/scijava/event/bushe/EventService.java b/src/main/java/org/scijava/event/bushe/EventService.java index 6ead66e96..4552ff752 100644 --- a/src/main/java/org/scijava/event/bushe/EventService.java +++ b/src/main/java/org/scijava/event/bushe/EventService.java @@ -115,7 +115,7 @@ * @see {@link org.scijava.event.bushe.IEventSubscriber} for subscription annotations * @see {@link org.scijava.event.bushe.IEventTopicSubscriber} for subscription annotations */ -public interface EventService { +interface EventService { /** * Publishes an object so that subscribers will be notified if they subscribed to the object's class, one of its diff --git a/src/main/java/org/scijava/event/bushe/EventServiceAction.java b/src/main/java/org/scijava/event/bushe/EventServiceAction.java index bf304b091..a87cfc59d 100644 --- a/src/main/java/org/scijava/event/bushe/EventServiceAction.java +++ b/src/main/java/org/scijava/event/bushe/EventServiceAction.java @@ -40,7 +40,7 @@ * * @author Michael Bushe michael@bushe.com */ -public abstract class EventServiceAction extends AbstractAction { +abstract class EventServiceAction extends AbstractAction { public static final String EVENT_SERVICE_TOPIC_NAME = "event-service-topic"; private boolean throwsExceptionOnNullEventService = true; diff --git a/src/main/java/org/scijava/event/bushe/EventServiceEvent.java b/src/main/java/org/scijava/event/bushe/EventServiceEvent.java index 11a6e6edd..4eb3febaf 100644 --- a/src/main/java/org/scijava/event/bushe/EventServiceEvent.java +++ b/src/main/java/org/scijava/event/bushe/EventServiceEvent.java @@ -24,7 +24,7 @@ * @author Michael Bushe michael@bushe.com * @see AbstractEventServiceEvent for a simple base class */ -public interface EventServiceEvent { +interface EventServiceEvent { /** @return The issuer of the event. */ Object getSource(); } diff --git a/src/main/java/org/scijava/event/bushe/EventServiceExistsException.java b/src/main/java/org/scijava/event/bushe/EventServiceExistsException.java index 4e1cb6f1f..f993c9418 100644 --- a/src/main/java/org/scijava/event/bushe/EventServiceExistsException.java +++ b/src/main/java/org/scijava/event/bushe/EventServiceExistsException.java @@ -1,7 +1,7 @@ package org.scijava.event.bushe; /** Exception thrown by the EventServiceLocator when an EventService already is registered for a name. */ -public class EventServiceExistsException extends Exception { +class EventServiceExistsException extends Exception { public EventServiceExistsException(String msg) { super(msg); } diff --git a/src/main/java/org/scijava/event/bushe/EventServiceLocator.java b/src/main/java/org/scijava/event/bushe/EventServiceLocator.java index 9d631196e..7854dcd0b 100644 --- a/src/main/java/org/scijava/event/bushe/EventServiceLocator.java +++ b/src/main/java/org/scijava/event/bushe/EventServiceLocator.java @@ -51,7 +51,7 @@ * * @author Michael Bushe michael@bushe.com */ -public class EventServiceLocator { +class EventServiceLocator { /** The name "EventBus" is reserved for the service that the EventBus wraps and is returned by {@link #getEventBusService}.*/ public static final String SERVICE_NAME_EVENT_BUS = "EventBus"; /** The name "SwingEventService" is reserved for the service that is returned by {@link #getSwingEventService}. */ diff --git a/src/main/java/org/scijava/event/bushe/EventSubscriber.java b/src/main/java/org/scijava/event/bushe/EventSubscriber.java index 1a1e89d34..f501cf50b 100644 --- a/src/main/java/org/scijava/event/bushe/EventSubscriber.java +++ b/src/main/java/org/scijava/event/bushe/EventSubscriber.java @@ -82,7 +82,7 @@ */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) -public @interface EventSubscriber { +@interface EventSubscriber { /** The class to subscribe to, if not specified, a subscription is created for the type of the method parameter. */ Class eventClass() default UseTheClassOfTheAnnotatedMethodsParameter.class; diff --git a/src/main/java/org/scijava/event/bushe/EventTopicPatternSubscriber.java b/src/main/java/org/scijava/event/bushe/EventTopicPatternSubscriber.java index 8be245312..2e07fa70f 100644 --- a/src/main/java/org/scijava/event/bushe/EventTopicPatternSubscriber.java +++ b/src/main/java/org/scijava/event/bushe/EventTopicPatternSubscriber.java @@ -7,7 +7,7 @@ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) -public @interface EventTopicPatternSubscriber { +@interface EventTopicPatternSubscriber { /** The Regular Expression to subscribe to. */ String topicPattern(); diff --git a/src/main/java/org/scijava/event/bushe/EventTopicSubscriber.java b/src/main/java/org/scijava/event/bushe/EventTopicSubscriber.java index f47a64ca8..00f305ae7 100644 --- a/src/main/java/org/scijava/event/bushe/EventTopicSubscriber.java +++ b/src/main/java/org/scijava/event/bushe/EventTopicSubscriber.java @@ -83,7 +83,7 @@ */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) -public @interface EventTopicSubscriber { +@interface EventTopicSubscriber { /** The topic to subscribe to */ String topic(); diff --git a/src/main/java/org/scijava/event/bushe/IEventTopicSubscriber.java b/src/main/java/org/scijava/event/bushe/IEventTopicSubscriber.java index 6a99f5f30..04570b631 100644 --- a/src/main/java/org/scijava/event/bushe/IEventTopicSubscriber.java +++ b/src/main/java/org/scijava/event/bushe/IEventTopicSubscriber.java @@ -20,7 +20,7 @@ * * @author Michael Bushe michael@bushe.com */ -public interface IEventTopicSubscriber { +interface IEventTopicSubscriber { /** * Handle an event published on a topic. diff --git a/src/main/java/org/scijava/event/bushe/Logger.java b/src/main/java/org/scijava/event/bushe/Logger.java index 0c940eec6..bc7476d31 100644 --- a/src/main/java/org/scijava/event/bushe/Logger.java +++ b/src/main/java/org/scijava/event/bushe/Logger.java @@ -19,7 +19,7 @@ * explicit. There is also no explicit use of classes outside java.util, * anything else is used by reflection to avoid NoClassDefFound errors on class load. */ -public class Logger { +class Logger { private java.util.logging.Logger utilLogger; private /*Untyped to avoid java.lang.NoClassDefFoundError org.apache.commons.logging.Log*/ Object commonsLogger; diff --git a/src/main/java/org/scijava/event/bushe/ObjectEvent.java b/src/main/java/org/scijava/event/bushe/ObjectEvent.java index db9790a76..5a67d24a9 100644 --- a/src/main/java/org/scijava/event/bushe/ObjectEvent.java +++ b/src/main/java/org/scijava/event/bushe/ObjectEvent.java @@ -22,7 +22,7 @@ * * @author Michael Bushe michael@bushe.com */ -public class ObjectEvent extends AbstractEventServiceEvent { +class ObjectEvent extends AbstractEventServiceEvent { private Object eventObject; /** diff --git a/src/main/java/org/scijava/event/bushe/Prioritized.java b/src/main/java/org/scijava/event/bushe/Prioritized.java index ba57f4611..7a3187055 100644 --- a/src/main/java/org/scijava/event/bushe/Prioritized.java +++ b/src/main/java/org/scijava/event/bushe/Prioritized.java @@ -9,6 +9,6 @@ * from this interface is positive, then this subscriber will be called after non-Prioritized subscribers, the more * positive, the later it is called. */ -public interface Prioritized { +interface Prioritized { int getPriority(); } diff --git a/src/main/java/org/scijava/event/bushe/PrioritizedEventSubscriber.java b/src/main/java/org/scijava/event/bushe/PrioritizedEventSubscriber.java index 8ebe233c7..af3a93dc8 100644 --- a/src/main/java/org/scijava/event/bushe/PrioritizedEventSubscriber.java +++ b/src/main/java/org/scijava/event/bushe/PrioritizedEventSubscriber.java @@ -4,5 +4,5 @@ * This is a convenience interface, particularly for inner classes, that implements * {@link IEventSubscriber} and {@link Prioritized}. */ -public interface PrioritizedEventSubscriber extends IEventSubscriber, Prioritized { +interface PrioritizedEventSubscriber extends IEventSubscriber, Prioritized { } diff --git a/src/main/java/org/scijava/event/bushe/PrioritizedEventTopicSubscriber.java b/src/main/java/org/scijava/event/bushe/PrioritizedEventTopicSubscriber.java index 63732799e..c58ce6b76 100644 --- a/src/main/java/org/scijava/event/bushe/PrioritizedEventTopicSubscriber.java +++ b/src/main/java/org/scijava/event/bushe/PrioritizedEventTopicSubscriber.java @@ -4,5 +4,5 @@ * This is a convenience interface, particularly for inner classes, that implements * {@link org.scijava.event.bushe.IEventTopicSubscriber} and {@link org.scijava.event.bushe.Prioritized}. */ -public interface PrioritizedEventTopicSubscriber extends IEventTopicSubscriber, Prioritized { +interface PrioritizedEventTopicSubscriber extends IEventTopicSubscriber, Prioritized { } \ No newline at end of file diff --git a/src/main/java/org/scijava/event/bushe/ProxySubscriber.java b/src/main/java/org/scijava/event/bushe/ProxySubscriber.java index a80cc3bf1..04ac3ce0a 100644 --- a/src/main/java/org/scijava/event/bushe/ProxySubscriber.java +++ b/src/main/java/org/scijava/event/bushe/ProxySubscriber.java @@ -25,7 +25,7 @@ * * @author Michael Bushe */ -public interface ProxySubscriber { +interface ProxySubscriber { /** @return the object this proxy is subscribed on behalf of */ public Object getProxiedSubscriber(); diff --git a/src/main/java/org/scijava/event/bushe/ProxyTopicPatternSubscriber.java b/src/main/java/org/scijava/event/bushe/ProxyTopicPatternSubscriber.java index 478665f25..feaf2701b 100644 --- a/src/main/java/org/scijava/event/bushe/ProxyTopicPatternSubscriber.java +++ b/src/main/java/org/scijava/event/bushe/ProxyTopicPatternSubscriber.java @@ -6,7 +6,7 @@ /** * A Proxy Subscriber for Annotations that use topic patterns */ -public class ProxyTopicPatternSubscriber extends ProxyTopicSubscriber { +class ProxyTopicPatternSubscriber extends ProxyTopicSubscriber { private Pattern pattern; /** diff --git a/src/main/java/org/scijava/event/bushe/ProxyTopicSubscriber.java b/src/main/java/org/scijava/event/bushe/ProxyTopicSubscriber.java index d2699b465..76a821a10 100644 --- a/src/main/java/org/scijava/event/bushe/ProxyTopicSubscriber.java +++ b/src/main/java/org/scijava/event/bushe/ProxyTopicSubscriber.java @@ -8,7 +8,7 @@ * {@link @org.scijava.event.bushe.annotation.EventTopicSubscriber}. Advanced EventBus * users could use this class in Aspect-Oriented code. Consider using the * {@link AnnotationProcessor} instead, it may suit your needs and be easier.*/ -public class ProxyTopicSubscriber extends AbstractProxySubscriber +class ProxyTopicSubscriber extends AbstractProxySubscriber implements org.scijava.event.bushe.IEventTopicSubscriber, VetoTopicEventListener { private String topic; diff --git a/src/main/java/org/scijava/event/bushe/PublicationStatus.java b/src/main/java/org/scijava/event/bushe/PublicationStatus.java index acdf3d4e2..84c0090d0 100644 --- a/src/main/java/org/scijava/event/bushe/PublicationStatus.java +++ b/src/main/java/org/scijava/event/bushe/PublicationStatus.java @@ -7,7 +7,7 @@ * with the corresponding PublicationStatus as the event object is processed. The EventService is not * required to set the Unpublished state. */ -public enum PublicationStatus { +enum PublicationStatus { /** Recommended default.*/ Unpublished, /** Set directly after publication on an EventService.*/ diff --git a/src/main/java/org/scijava/event/bushe/PublicationStatusTracker.java b/src/main/java/org/scijava/event/bushe/PublicationStatusTracker.java index b22520751..cc6a98595 100644 --- a/src/main/java/org/scijava/event/bushe/PublicationStatusTracker.java +++ b/src/main/java/org/scijava/event/bushe/PublicationStatusTracker.java @@ -7,7 +7,7 @@ * EventService implementations must call setEventStatus(status) on event objects and * payloads that implement this interface. */ -public interface PublicationStatusTracker { +interface PublicationStatusTracker { /** * Implementations of this method must be made thread safe. diff --git a/src/main/java/org/scijava/event/bushe/RuntimeTopicEventSubscriber.java b/src/main/java/org/scijava/event/bushe/RuntimeTopicEventSubscriber.java index 878f2eb7c..3fb264538 100644 --- a/src/main/java/org/scijava/event/bushe/RuntimeTopicEventSubscriber.java +++ b/src/main/java/org/scijava/event/bushe/RuntimeTopicEventSubscriber.java @@ -10,7 +10,7 @@ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) -public @interface RuntimeTopicEventSubscriber { +@interface RuntimeTopicEventSubscriber { /** * @return name of a method (that must return a String) and whose return value will become the subscription topic. */ diff --git a/src/main/java/org/scijava/event/bushe/RuntimeTopicPatternEventSubscriber.java b/src/main/java/org/scijava/event/bushe/RuntimeTopicPatternEventSubscriber.java index 168574556..6d88c1432 100644 --- a/src/main/java/org/scijava/event/bushe/RuntimeTopicPatternEventSubscriber.java +++ b/src/main/java/org/scijava/event/bushe/RuntimeTopicPatternEventSubscriber.java @@ -7,7 +7,7 @@ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) -public @interface RuntimeTopicPatternEventSubscriber { +@interface RuntimeTopicPatternEventSubscriber { /** * @return name of a method (which should return a String) and whose return value will become the subscription topic. */ diff --git a/src/main/java/org/scijava/event/bushe/SubscriberTimingEvent.java b/src/main/java/org/scijava/event/bushe/SubscriberTimingEvent.java index 6bfaef918..3037ee83e 100644 --- a/src/main/java/org/scijava/event/bushe/SubscriberTimingEvent.java +++ b/src/main/java/org/scijava/event/bushe/SubscriberTimingEvent.java @@ -22,7 +22,7 @@ * @author Michael Bushe michael@bushe.com * @see ThreadSafeEventService */ -public class SubscriberTimingEvent extends AbstractEventServiceEvent { +class SubscriberTimingEvent extends AbstractEventServiceEvent { private Long start; private Long end; private Long timeLimitMilliseconds; diff --git a/src/main/java/org/scijava/event/bushe/SwingEventService.java b/src/main/java/org/scijava/event/bushe/SwingEventService.java index aded25830..20d40e7b3 100644 --- a/src/main/java/org/scijava/event/bushe/SwingEventService.java +++ b/src/main/java/org/scijava/event/bushe/SwingEventService.java @@ -28,7 +28,7 @@ * * @author Michael Bushe michael@bushe.com */ -public class SwingEventService extends ThreadSafeEventService { +class SwingEventService extends ThreadSafeEventService { /** * By default, the SwingEventService is constructed such that any listener that takes over 200 ms causes an diff --git a/src/main/java/org/scijava/event/bushe/SwingException.java b/src/main/java/org/scijava/event/bushe/SwingException.java index 68249e45a..f46dd321e 100644 --- a/src/main/java/org/scijava/event/bushe/SwingException.java +++ b/src/main/java/org/scijava/event/bushe/SwingException.java @@ -38,7 +38,7 @@ * @todo in SwingUtils, make an invokeLater() method that saves the calling stack and catches all exceptions from a * subsequent call to SwingUtilities.invokeLater(), then throws a Swing Exception so the calling stack is saved. */ -public class SwingException extends Exception { +class SwingException extends Exception { protected StackTraceElement[] callingStackTrace; /** Default constructor */ diff --git a/src/main/java/org/scijava/event/bushe/TypeReference.java b/src/main/java/org/scijava/event/bushe/TypeReference.java index 1a40a5791..06ff73a8c 100644 --- a/src/main/java/org/scijava/event/bushe/TypeReference.java +++ b/src/main/java/org/scijava/event/bushe/TypeReference.java @@ -9,7 +9,7 @@ * Courtesy of Neil Gafter's blog. * Thanks to Curt Cox for the pointer. */ -public abstract class TypeReference { +abstract class TypeReference { private final Type type; private volatile Constructor constructor; diff --git a/src/main/java/org/scijava/event/bushe/UseTheClassOfTheAnnotatedMethodsParameter.java b/src/main/java/org/scijava/event/bushe/UseTheClassOfTheAnnotatedMethodsParameter.java index ec1e35b60..490303378 100644 --- a/src/main/java/org/scijava/event/bushe/UseTheClassOfTheAnnotatedMethodsParameter.java +++ b/src/main/java/org/scijava/event/bushe/UseTheClassOfTheAnnotatedMethodsParameter.java @@ -11,5 +11,5 @@ * Object.class cannot be used, since it is legal to subscribe to Object. hence, this class was created which documents * the issue and provides decent feedback when using an IDE's parameter insight. */ -public final class UseTheClassOfTheAnnotatedMethodsParameter { +final class UseTheClassOfTheAnnotatedMethodsParameter { } diff --git a/src/main/java/org/scijava/event/bushe/VetoEventListener.java b/src/main/java/org/scijava/event/bushe/VetoEventListener.java index 693a15a36..0c20a3c4f 100644 --- a/src/main/java/org/scijava/event/bushe/VetoEventListener.java +++ b/src/main/java/org/scijava/event/bushe/VetoEventListener.java @@ -20,7 +20,7 @@ * * @author Michael Bushe michael@bushe.com */ -public interface VetoEventListener { +interface VetoEventListener { /** * Determine whether an event should be vetoed or published. diff --git a/src/main/java/org/scijava/event/bushe/VetoRuntimeTopicPatternSubscriber.java b/src/main/java/org/scijava/event/bushe/VetoRuntimeTopicPatternSubscriber.java index fb9fa479d..3a6283fe0 100644 --- a/src/main/java/org/scijava/event/bushe/VetoRuntimeTopicPatternSubscriber.java +++ b/src/main/java/org/scijava/event/bushe/VetoRuntimeTopicPatternSubscriber.java @@ -7,7 +7,7 @@ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) -public @interface VetoRuntimeTopicPatternSubscriber { +@interface VetoRuntimeTopicPatternSubscriber { /** * @return name of a method (which should return a String) and whose return value will become the subscription topic. */ diff --git a/src/main/java/org/scijava/event/bushe/VetoRuntimeTopicSubscriber.java b/src/main/java/org/scijava/event/bushe/VetoRuntimeTopicSubscriber.java index 04811518b..e5ce7d6eb 100644 --- a/src/main/java/org/scijava/event/bushe/VetoRuntimeTopicSubscriber.java +++ b/src/main/java/org/scijava/event/bushe/VetoRuntimeTopicSubscriber.java @@ -10,7 +10,7 @@ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) -public @interface VetoRuntimeTopicSubscriber { +@interface VetoRuntimeTopicSubscriber { /** * @return name of a method (that must return a String) and whose return value will become the subscription topic. */ diff --git a/src/main/java/org/scijava/event/bushe/VetoSubscriber.java b/src/main/java/org/scijava/event/bushe/VetoSubscriber.java index 22c86d8c9..e8172744e 100644 --- a/src/main/java/org/scijava/event/bushe/VetoSubscriber.java +++ b/src/main/java/org/scijava/event/bushe/VetoSubscriber.java @@ -41,7 +41,7 @@ */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) -public @interface VetoSubscriber { +@interface VetoSubscriber { /** The class to subscribe to, if not specified, a subscription is created for the type of the method parameter. */ public abstract Class eventClass() default UseTheClassOfTheAnnotatedMethodsParameter.class; diff --git a/src/main/java/org/scijava/event/bushe/VetoTopicEventListener.java b/src/main/java/org/scijava/event/bushe/VetoTopicEventListener.java index 8bfbb5755..a1dd81a80 100644 --- a/src/main/java/org/scijava/event/bushe/VetoTopicEventListener.java +++ b/src/main/java/org/scijava/event/bushe/VetoTopicEventListener.java @@ -5,7 +5,7 @@ * * @author Michael Bushe michael@bushe.com */ -public interface VetoTopicEventListener { +interface VetoTopicEventListener { /** * Determine whether a topic publication should be vetoed or allowed. diff --git a/src/main/java/org/scijava/event/bushe/VetoTopicPatternSubscriber.java b/src/main/java/org/scijava/event/bushe/VetoTopicPatternSubscriber.java index bf6e9134c..72de5cbed 100644 --- a/src/main/java/org/scijava/event/bushe/VetoTopicPatternSubscriber.java +++ b/src/main/java/org/scijava/event/bushe/VetoTopicPatternSubscriber.java @@ -41,7 +41,7 @@ */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) -public @interface VetoTopicPatternSubscriber { +@interface VetoTopicPatternSubscriber { /** The topic to subscribe to */ public abstract String topicPattern(); diff --git a/src/main/java/org/scijava/event/bushe/VetoTopicSubscriber.java b/src/main/java/org/scijava/event/bushe/VetoTopicSubscriber.java index 630930660..81fbb7366 100644 --- a/src/main/java/org/scijava/event/bushe/VetoTopicSubscriber.java +++ b/src/main/java/org/scijava/event/bushe/VetoTopicSubscriber.java @@ -41,7 +41,7 @@ */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) -public @interface VetoTopicSubscriber { +@interface VetoTopicSubscriber { /** The topic to subscribe to */ String topic(); From a51dfcdfa36028705c6e440f9a01e131338865c7 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 17 May 2023 11:35:54 -0500 Subject: [PATCH 296/383] Make EventBus cleanup timer a daemon thread To prevent intermittent hangs on JVM shutdown. --- .../java/org/scijava/event/bushe/ThreadSafeEventService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/scijava/event/bushe/ThreadSafeEventService.java b/src/main/java/org/scijava/event/bushe/ThreadSafeEventService.java index 1a0dcf585..1f3868fd2 100644 --- a/src/main/java/org/scijava/event/bushe/ThreadSafeEventService.java +++ b/src/main/java/org/scijava/event/bushe/ThreadSafeEventService.java @@ -2095,7 +2095,7 @@ protected void decWeakRefPlusProxySubscriberCount() { private void startCleanup() { synchronized(listenerLock) { if (cleanupTimer == null) { - cleanupTimer = new Timer(); + cleanupTimer = new Timer(true); } if (cleanupTimerTask == null) { cleanupTimerTask = new CleanupTimerTask(); From ac03bcad87d6def72a79d78686c17cf4ead09784 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 17 May 2023 12:23:39 -0500 Subject: [PATCH 297/383] Remove many unneeded org.bushe:eventbus classes --- .../org/scijava/event/DefaultEventBus.java | 2 +- .../scijava/event/DefaultEventService.java | 2 +- .../org/scijava/event/EventSubscriber.java | 2 +- .../bushe/AbstractEventServiceEvent.java | 56 - .../event/bushe/AnnotationProcessor.java | 557 ------- .../event/bushe/BaseProxySubscriber.java | 130 -- .../bushe/ContainerEventServiceAction.java | 71 - .../bushe/ContainerEventServiceFinder.java | 84 - .../bushe/ContainerEventServiceRegistrar.java | 248 --- .../bushe/ContainerEventServiceSupplier.java | 42 - .../org/scijava/event/bushe/EventBus.java | 423 ----- .../scijava/event/bushe/EventBusAction.java | 41 - .../org/scijava/event/bushe/EventService.java | 54 +- .../event/bushe/EventServiceAction.java | 214 --- .../event/bushe/EventServiceEvent.java | 30 - .../bushe/EventServiceExistsException.java | 8 - .../event/bushe/EventServiceLocator.java | 174 -- .../scijava/event/bushe/EventSubscriber.java | 121 +- .../bushe/EventTopicPatternSubscriber.java | 31 - .../event/bushe/EventTopicSubscriber.java | 122 +- .../scijava/event/bushe/IEventSubscriber.java | 35 - .../event/bushe/IEventTopicSubscriber.java | 38 - .../org/scijava/event/bushe/ObjectEvent.java | 42 - .../bushe/PrioritizedEventSubscriber.java | 8 - .../PrioritizedEventTopicSubscriber.java | 8 - .../bushe/ProxyTopicPatternSubscriber.java | 86 - .../event/bushe/ProxyTopicSubscriber.java | 144 -- .../bushe/RuntimeTopicEventSubscriber.java | 34 - .../RuntimeTopicPatternEventSubscriber.java | 34 - .../event/bushe/SubscriberTimingEvent.java | 116 -- .../event/bushe/SwingEventService.java | 93 -- .../event/bushe/ThreadSafeEventService.java | 137 +- ...heClassOfTheAnnotatedMethodsParameter.java | 15 - .../VetoRuntimeTopicPatternSubscriber.java | 34 - .../bushe/VetoRuntimeTopicSubscriber.java | 34 - .../scijava/event/bushe/VetoSubscriber.java | 65 - .../bushe/VetoTopicPatternSubscriber.java | 62 - .../event/bushe/VetoTopicSubscriber.java | 62 - .../event/bushe/AbstractSubscriber.java | 27 - .../event/bushe/AnnotatedEventSubscriber.java | 88 -- .../event/bushe/AnnotatedVetoSubscriber.java | 83 - .../AnotherAnnotatedEventSubscriber.java | 46 - ...AnotherDoubleAnnotatedEventSubscriber.java | 23 - .../scijava/event/bushe/BadEventService.java | 4 +- .../event/bushe/ConcreteSubscriber.java | 17 - .../bushe/DoubleAnnotatedEventSubscriber.java | 33 - .../bushe/EventServiceLocatorTestCase.java | 32 - .../java/org/scijava/event/bushe/Factory.java | 12 - .../event/bushe/Issue15Subscriber.java | 68 - .../event/bushe/Issue15Subscriber2.java | 65 - .../bushe/RuntimeTopicPatternSubscriber.java | 32 - .../event/bushe/RuntimeTopicSubscriber.java | 31 - .../bushe/StrongAnnotatedEventSubscriber.java | 30 - .../StrongClassAnnotatedEventSubscriber.java | 24 - .../event/bushe/SubscriberForTest.java | 2 +- .../bushe/TestAnnotationInAbstractClass.java | 18 - .../bushe/TestContainerEventService.java | 218 --- .../event/bushe/TestDefaultEventService.java | 1394 ----------------- .../scijava/event/bushe/TestEventAction.java | 181 --- .../org/scijava/event/bushe/TestEventBus.java | 570 ------- .../event/bushe/TestEventBusServiceClass.java | 32 - .../TestEventBusServiceClassBadType.java | 30 - .../event/bushe/TestEventBusTiming.java | 107 -- .../event/bushe/TestEventServiceLocator.java | 50 - .../event/bushe/TestEventServiceLocator2.java | 46 - .../event/bushe/TestEventServiceLocator3.java | 44 - .../event/bushe/TestEventServiceLocator4.java | 44 - .../event/bushe/TestEventServiceLocator5.java | 43 - .../event/bushe/TestEventServiceLocator6.java | 44 - .../event/bushe/TestEventServiceLocator7.java | 49 - .../TestEventServiceLocatorConfiguration.java | 28 - ...TestEventServiceLocatorConfiguration2.java | 28 - ...TestEventServiceLocatorConfiguration3.java | 28 - ...TestEventServiceLocatorConfiguration4.java | 27 - .../scijava/event/bushe/TestPerformance.java | 4 +- .../bushe/TestPrioritizedSubscribers.java | 591 ------- .../event/bushe/TestPublicationStates.java | 67 - .../event/bushe/TopicSubscriberForTest.java | 2 +- .../WeakClassAnnotatedEventSubscriber.java | 24 - 79 files changed, 130 insertions(+), 7615 deletions(-) delete mode 100644 src/main/java/org/scijava/event/bushe/AbstractEventServiceEvent.java delete mode 100644 src/main/java/org/scijava/event/bushe/AnnotationProcessor.java delete mode 100644 src/main/java/org/scijava/event/bushe/BaseProxySubscriber.java delete mode 100644 src/main/java/org/scijava/event/bushe/ContainerEventServiceAction.java delete mode 100644 src/main/java/org/scijava/event/bushe/ContainerEventServiceFinder.java delete mode 100644 src/main/java/org/scijava/event/bushe/ContainerEventServiceRegistrar.java delete mode 100644 src/main/java/org/scijava/event/bushe/ContainerEventServiceSupplier.java delete mode 100644 src/main/java/org/scijava/event/bushe/EventBus.java delete mode 100644 src/main/java/org/scijava/event/bushe/EventBusAction.java delete mode 100644 src/main/java/org/scijava/event/bushe/EventServiceAction.java delete mode 100644 src/main/java/org/scijava/event/bushe/EventServiceEvent.java delete mode 100644 src/main/java/org/scijava/event/bushe/EventServiceExistsException.java delete mode 100644 src/main/java/org/scijava/event/bushe/EventServiceLocator.java delete mode 100644 src/main/java/org/scijava/event/bushe/EventTopicPatternSubscriber.java delete mode 100644 src/main/java/org/scijava/event/bushe/IEventSubscriber.java delete mode 100644 src/main/java/org/scijava/event/bushe/IEventTopicSubscriber.java delete mode 100644 src/main/java/org/scijava/event/bushe/ObjectEvent.java delete mode 100644 src/main/java/org/scijava/event/bushe/PrioritizedEventSubscriber.java delete mode 100644 src/main/java/org/scijava/event/bushe/PrioritizedEventTopicSubscriber.java delete mode 100644 src/main/java/org/scijava/event/bushe/ProxyTopicPatternSubscriber.java delete mode 100644 src/main/java/org/scijava/event/bushe/ProxyTopicSubscriber.java delete mode 100644 src/main/java/org/scijava/event/bushe/RuntimeTopicEventSubscriber.java delete mode 100644 src/main/java/org/scijava/event/bushe/RuntimeTopicPatternEventSubscriber.java delete mode 100644 src/main/java/org/scijava/event/bushe/SubscriberTimingEvent.java delete mode 100644 src/main/java/org/scijava/event/bushe/SwingEventService.java delete mode 100644 src/main/java/org/scijava/event/bushe/UseTheClassOfTheAnnotatedMethodsParameter.java delete mode 100644 src/main/java/org/scijava/event/bushe/VetoRuntimeTopicPatternSubscriber.java delete mode 100644 src/main/java/org/scijava/event/bushe/VetoRuntimeTopicSubscriber.java delete mode 100644 src/main/java/org/scijava/event/bushe/VetoSubscriber.java delete mode 100644 src/main/java/org/scijava/event/bushe/VetoTopicPatternSubscriber.java delete mode 100644 src/main/java/org/scijava/event/bushe/VetoTopicSubscriber.java delete mode 100644 src/test/java/org/scijava/event/bushe/AbstractSubscriber.java delete mode 100644 src/test/java/org/scijava/event/bushe/AnnotatedEventSubscriber.java delete mode 100644 src/test/java/org/scijava/event/bushe/AnnotatedVetoSubscriber.java delete mode 100644 src/test/java/org/scijava/event/bushe/AnotherAnnotatedEventSubscriber.java delete mode 100644 src/test/java/org/scijava/event/bushe/AnotherDoubleAnnotatedEventSubscriber.java delete mode 100644 src/test/java/org/scijava/event/bushe/ConcreteSubscriber.java delete mode 100644 src/test/java/org/scijava/event/bushe/DoubleAnnotatedEventSubscriber.java delete mode 100644 src/test/java/org/scijava/event/bushe/EventServiceLocatorTestCase.java delete mode 100644 src/test/java/org/scijava/event/bushe/Factory.java delete mode 100644 src/test/java/org/scijava/event/bushe/Issue15Subscriber.java delete mode 100644 src/test/java/org/scijava/event/bushe/Issue15Subscriber2.java delete mode 100644 src/test/java/org/scijava/event/bushe/RuntimeTopicPatternSubscriber.java delete mode 100644 src/test/java/org/scijava/event/bushe/RuntimeTopicSubscriber.java delete mode 100644 src/test/java/org/scijava/event/bushe/StrongAnnotatedEventSubscriber.java delete mode 100644 src/test/java/org/scijava/event/bushe/StrongClassAnnotatedEventSubscriber.java delete mode 100644 src/test/java/org/scijava/event/bushe/TestAnnotationInAbstractClass.java delete mode 100644 src/test/java/org/scijava/event/bushe/TestContainerEventService.java delete mode 100644 src/test/java/org/scijava/event/bushe/TestDefaultEventService.java delete mode 100644 src/test/java/org/scijava/event/bushe/TestEventAction.java delete mode 100644 src/test/java/org/scijava/event/bushe/TestEventBus.java delete mode 100644 src/test/java/org/scijava/event/bushe/TestEventBusServiceClass.java delete mode 100644 src/test/java/org/scijava/event/bushe/TestEventBusServiceClassBadType.java delete mode 100644 src/test/java/org/scijava/event/bushe/TestEventBusTiming.java delete mode 100644 src/test/java/org/scijava/event/bushe/TestEventServiceLocator.java delete mode 100644 src/test/java/org/scijava/event/bushe/TestEventServiceLocator2.java delete mode 100644 src/test/java/org/scijava/event/bushe/TestEventServiceLocator3.java delete mode 100644 src/test/java/org/scijava/event/bushe/TestEventServiceLocator4.java delete mode 100644 src/test/java/org/scijava/event/bushe/TestEventServiceLocator5.java delete mode 100644 src/test/java/org/scijava/event/bushe/TestEventServiceLocator6.java delete mode 100644 src/test/java/org/scijava/event/bushe/TestEventServiceLocator7.java delete mode 100644 src/test/java/org/scijava/event/bushe/TestEventServiceLocatorConfiguration.java delete mode 100644 src/test/java/org/scijava/event/bushe/TestEventServiceLocatorConfiguration2.java delete mode 100644 src/test/java/org/scijava/event/bushe/TestEventServiceLocatorConfiguration3.java delete mode 100644 src/test/java/org/scijava/event/bushe/TestEventServiceLocatorConfiguration4.java delete mode 100644 src/test/java/org/scijava/event/bushe/TestPrioritizedSubscribers.java delete mode 100644 src/test/java/org/scijava/event/bushe/TestPublicationStates.java delete mode 100644 src/test/java/org/scijava/event/bushe/WeakClassAnnotatedEventSubscriber.java diff --git a/src/main/java/org/scijava/event/DefaultEventBus.java b/src/main/java/org/scijava/event/DefaultEventBus.java index 85ae5f382..365102949 100644 --- a/src/main/java/org/scijava/event/DefaultEventBus.java +++ b/src/main/java/org/scijava/event/DefaultEventBus.java @@ -59,7 +59,7 @@ public class DefaultEventBus extends ThreadSafeEventService { public DefaultEventBus(final ThreadService threadService, final LogService log) { - super(200L, false, null, null, null); + super(200L, null, null, null); this.threadService = threadService; this.log = log; } diff --git a/src/main/java/org/scijava/event/DefaultEventService.java b/src/main/java/org/scijava/event/DefaultEventService.java index b36ec1929..074a20bad 100644 --- a/src/main/java/org/scijava/event/DefaultEventService.java +++ b/src/main/java/org/scijava/event/DefaultEventService.java @@ -263,7 +263,7 @@ private synchronized void keepIt(final Object o, final ProxySubscriber subscr *

      * Recapitulates some logic from * {@code org.scijava.event.bushe.BaseProxySubscriber}, because that class - * implements {@link org.scijava.event.bushe.IEventSubscriber} as a raw type, + * implements {@link org.scijava.event.bushe.EventSubscriber} as a raw type, * which is incompatible with this class implementing SciJava's * {@link EventSubscriber} as a typed interface; it becomes impossible to * implement both {@code onEvent(Object)} and {@code onEvent(E)}. diff --git a/src/main/java/org/scijava/event/EventSubscriber.java b/src/main/java/org/scijava/event/EventSubscriber.java index a25ba2c1a..a36181639 100644 --- a/src/main/java/org/scijava/event/EventSubscriber.java +++ b/src/main/java/org/scijava/event/EventSubscriber.java @@ -44,7 +44,7 @@ * @param Type of event for which to listen */ public interface EventSubscriber extends - org.scijava.event.bushe.IEventSubscriber + org.scijava.event.bushe.EventSubscriber { @Override diff --git a/src/main/java/org/scijava/event/bushe/AbstractEventServiceEvent.java b/src/main/java/org/scijava/event/bushe/AbstractEventServiceEvent.java deleted file mode 100644 index 2497af721..000000000 --- a/src/main/java/org/scijava/event/bushe/AbstractEventServiceEvent.java +++ /dev/null @@ -1,56 +0,0 @@ -/** - * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com - * - * Licensed 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.scijava.event.bushe; - -/** - * Convenience base class for EventServiceEvents in the application. Provides the convenience of - * holding the event source publication and event status. It is not necessary to use this event class when - * using an EventService. - * - * @author Michael Bushe michael@bushe.com - */ -abstract class AbstractEventServiceEvent implements EventServiceEvent, PublicationStatusTracker { - - private Object source = null; - protected final Object stateLock = new Object(); - private PublicationStatus publicationStatus = PublicationStatus.Unpublished; - - /** - * Default constructor - * - * @param source the source of the event - */ - public AbstractEventServiceEvent(Object source) { - this.source = source; - } - - /** @return the source of this event */ - public Object getSource() { - return source; - } - - public PublicationStatus getPublicationStatus() { - synchronized (stateLock) { - return publicationStatus; - } - } - - public void setPublicationStatus(PublicationStatus status) { - synchronized (stateLock) { - publicationStatus = status; - } - } -} diff --git a/src/main/java/org/scijava/event/bushe/AnnotationProcessor.java b/src/main/java/org/scijava/event/bushe/AnnotationProcessor.java deleted file mode 100644 index c7428c7e1..000000000 --- a/src/main/java/org/scijava/event/bushe/AnnotationProcessor.java +++ /dev/null @@ -1,557 +0,0 @@ -package org.scijava.event.bushe; - -import java.lang.annotation.Annotation; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.util.regex.Pattern; -import java.util.Arrays; - -/** - * Enhances classes that use EventService Annotations. - *

      - * This class makes the EventService annotations "come alive." This can be used in code like so: - *

      - * 
      - * public class MyAppController {
      - *   public MyAppController {
      - *       AnnotationProcessor.process(this);//this line can be avoided with a compile-time tool or an Aspect
      - *   }
      - *   @EventSubscriber
      - *   public void onAppStartingEvent(AppStartingEvent appStartingEvent) {
      - *      //do something
      - *   }
      - *   @EventSubscriber
      - *   public void onAppClosingEvent(AppClosingEvent appClosingEvent) {
      - *      //do something
      - *   }
      - * }
      - * ... some other place, needed in some cases when the like a window disposal before it's garbage collected ....
      - * AnnotationProcessor.unprocess(this);
      - * 
      - * 
      - *

      - * This class can be leveraged in outside of source code in other ways in which Annotations are used:

      • In an - * Aspect-Oriented tool
      • In a Swing Framework classloader that wants to load and understand events.
      • In other - * Inversion of Control containers, such as Spring or PicoContainer.
      • In the apt tool, though this does not generate - * code.
      • In a Annotation Processing Tool plugin, when it becomes available.
      Support for these other methods - * are not yet implemented. - */ -class AnnotationProcessor { - - protected static final Logger LOG = Logger.getLogger(EventService.class.getName()); - - /** - * Add the appropriate subscribers to one or more EventServices for an instance of a class with - * EventBus annotations. - * @param obj the instance that may or may not have annotations - */ - public static void process(Object obj) { - processOrUnprocess(obj, true); - } - - /** - * Remove the appropriate subscribers from one or more EventServices for an instance of a class with - * EventBus annotations. - * @param obj the instance that may or may not have annotations - */ - public static void unprocess(Object obj) { - processOrUnprocess(obj, false); - } - - private static void processOrUnprocess(Object obj, boolean add) { - if (obj == null) { - return; - } - Class cl = obj.getClass(); - Method[] methods = cl.getMethods(); - if (LOG.isLoggable(Logger.Level.DEBUG)) { - LOG.debug("Looking for EventBus annotations for class " + cl + ", methods:" + Arrays.toString(methods)); - } - for (Method method : methods) { - - EventSubscriber classAnnotation = method.getAnnotation(EventSubscriber.class); - if (classAnnotation != null) { - if (LOG.isLoggable(Logger.Level.DEBUG)) { - LOG.debug("Found EventSubscriber:"+classAnnotation +" on method:" + method); - } - process(classAnnotation, obj, method, add); - } - EventTopicSubscriber topicAnnotation = method.getAnnotation(EventTopicSubscriber.class); - if (topicAnnotation != null) { - if (LOG.isLoggable(Logger.Level.DEBUG)) { - LOG.debug("Found EventTopicSubscriber: "+topicAnnotation +" on method:" + method); - } - process(topicAnnotation, obj, method, add); - } - EventTopicPatternSubscriber topicPatternAnnotation = method.getAnnotation(EventTopicPatternSubscriber.class); - if (topicPatternAnnotation != null) { - if (LOG.isLoggable(Logger.Level.DEBUG)) { - LOG.debug("Found EventTopicPatternSubscriber: "+topicPatternAnnotation+" on method:" + method); - } - process(topicPatternAnnotation, obj, method, add); - } - RuntimeTopicEventSubscriber runtimeTopicAnnotation = method.getAnnotation(RuntimeTopicEventSubscriber.class); - if (runtimeTopicAnnotation != null) { - if (LOG.isLoggable(Logger.Level.DEBUG)) { - LOG.debug("Found RuntimeTopicEventSubscriber: "+runtimeTopicAnnotation+" on method:" + method); - } - process(runtimeTopicAnnotation, obj, method, add); - } - RuntimeTopicPatternEventSubscriber annotation = method.getAnnotation(RuntimeTopicPatternEventSubscriber.class); - if (annotation != null) { - if (LOG.isLoggable(Logger.Level.DEBUG)) { - LOG.debug("Found RuntimeTopicPatternEventSubscriber:"+annotation+" on method:" + method); - } - process(annotation, obj, method, add); - } - - - VetoSubscriber vetoClassAnnotation = method.getAnnotation(VetoSubscriber.class); - if (vetoClassAnnotation != null) { - if (LOG.isLoggable(Logger.Level.DEBUG)) { - LOG.debug("Found VetoSubscriber:"+vetoClassAnnotation +" on method:" + method); - } - process(vetoClassAnnotation, obj, method, add); - } - VetoTopicSubscriber vetoTopicAnnotation = method.getAnnotation(VetoTopicSubscriber.class); - if (vetoTopicAnnotation != null) { - if (LOG.isLoggable(Logger.Level.DEBUG)) { - LOG.debug("Found VetoTopicSubscriber: "+vetoTopicAnnotation +" on method:" + method); - } - process(vetoTopicAnnotation, obj, method, add); - } - VetoTopicPatternSubscriber vetoTopicPatternAnnotation = method.getAnnotation(VetoTopicPatternSubscriber.class); - if (vetoTopicPatternAnnotation != null) { - if (LOG.isLoggable(Logger.Level.DEBUG)) { - LOG.debug("Found VetoTopicPatternSubscriber: "+vetoTopicPatternAnnotation+" on method:" + method); - } - process(vetoTopicPatternAnnotation, obj, method, add); - } - VetoRuntimeTopicSubscriber vetoRuntimeTopicAnnotation = method.getAnnotation(VetoRuntimeTopicSubscriber.class); - if (vetoRuntimeTopicAnnotation != null) { - if (LOG.isLoggable(Logger.Level.DEBUG)) { - LOG.debug("Found VetoRuntimeTopicSubscriber: "+vetoRuntimeTopicAnnotation+" on method:" + method); - } - process(vetoRuntimeTopicAnnotation, obj, method, add); - } - VetoRuntimeTopicPatternSubscriber vetoAnnotation = method.getAnnotation(VetoRuntimeTopicPatternSubscriber.class); - if (vetoAnnotation != null) { - if (LOG.isLoggable(Logger.Level.DEBUG)) { - LOG.debug("Found VetoRuntimeTopicPatternSubscriber:"+vetoAnnotation+" on method:" + method); - } - process(vetoAnnotation, obj, method, add); - } - } - } - - - private static void process(EventTopicPatternSubscriber topicPatternAnnotation, Object obj, - Method method, boolean add) { - //Check args - String topicPattern = topicPatternAnnotation.topicPattern(); - if (topicPattern == null) { - throw new IllegalArgumentException("Topic pattern cannot be null for EventTopicPatternSubscriber annotation"); - } - - //Get event service - Class eventServiceClass = topicPatternAnnotation.autoCreateEventServiceClass(); - String eventServiceName = topicPatternAnnotation.eventServiceName(); - EventService eventService = getEventServiceFromAnnotation(eventServiceName, eventServiceClass); - int priority = topicPatternAnnotation.priority(); - - //Create proxy and subscribe - Pattern pattern = Pattern.compile(topicPattern); - //See Issue #18 - //Also note that this post is wrong: https://eventbus.dev.java.net/servlets/ProjectForumMessageView?messageID=19499&forumID=1834 - //Since two WeakReferences are not treated as one. So this always has to be strong and we'll have to clean up occasionally. - if (add) { - ProxyTopicPatternSubscriber subscriber = new ProxyTopicPatternSubscriber(obj, method, - topicPatternAnnotation.referenceStrength(), priority, eventService, - topicPattern, pattern, false); - - eventService.subscribeStrongly(pattern, subscriber); - } else { - eventService.unsubscribe(pattern, obj); - } - } - - private static void process(EventTopicSubscriber topicAnnotation, Object obj, Method method, boolean add) { - //Check args - String topic = topicAnnotation.topic(); - if (topic == null) { - throw new IllegalArgumentException("Topic cannot be null for EventTopicSubscriber annotation"); - } - - //Get event service - Class eventServiceClass = topicAnnotation.autoCreateEventServiceClass(); - String eventServiceName = topicAnnotation.eventServiceName(); - EventService eventService = getEventServiceFromAnnotation(eventServiceName, eventServiceClass); - - int priority = topicAnnotation.priority(); - - //See Issue #18 - //Also note that this post is wrong: https://eventbus.dev.java.net/servlets/ProjectForumMessageView?messageID=19499&forumID=1834 - //Since two WeakReferences are not treated as one. So this always has to be strong and we'll have to clean up occasionally. - if (add) { - //Create proxy and subscribe - ProxyTopicSubscriber subscriber = new ProxyTopicSubscriber(obj, method, - topicAnnotation.referenceStrength(), priority, eventService, topic, false); - - eventService.subscribeStrongly(topic, subscriber); - } else { - eventService.unsubscribe(topic, obj); - } - } - - private static void process(EventSubscriber annotation, Object obj, Method method, boolean add) { - //Check args - Class eventClass = annotation.eventClass(); - if (eventClass == null) { - throw new IllegalArgumentException("Event class cannot be null for EventSubscriber annotation"); - } else if (UseTheClassOfTheAnnotatedMethodsParameter.class.equals(eventClass)) { - Class[] params = method.getParameterTypes(); - if (params.length < 1) { - throw new RuntimeException("Expected annotated method to have one parameter."); - } else { - eventClass = params[0]; - } - } - - //Get event service - Class eventServiceClass = annotation.autoCreateEventServiceClass(); - String eventServiceName = annotation.eventServiceName(); - EventService eventService = getEventServiceFromAnnotation(eventServiceName, eventServiceClass); - - if (add) { - int priority = annotation.priority(); - - //Create proxy and subscribe - //See https://eventbus.dev.java.net/servlets/ProjectForumMessageView?messageID=19499&forumID=1834 - BaseProxySubscriber subscriber = new BaseProxySubscriber(obj, method, annotation.referenceStrength(), - priority, eventService, eventClass, false); - if (annotation.exact()) { - //See Issue #18 - //Also note that this post is wrong: https://eventbus.dev.java.net/servlets/ProjectForumMessageView?messageID=19499&forumID=1834 - //Since two WeakReferences are not treated as one. So this always has to be strong and we'll have to clean up occasionally. - eventService.subscribeExactlyStrongly(eventClass, subscriber); - } else { - //See Issue #18 - //Also note that this post is wrong: https://eventbus.dev.java.net/servlets/ProjectForumMessageView?messageID=19499&forumID=1834 - //Since two WeakReferences are not treated as one. So this always has to be strong and we'll have to clean up occasionally. - eventService.subscribeStrongly(eventClass, subscriber); - } - } else { - if (annotation.exact()) { - eventService.unsubscribeExactly(eventClass, obj); - } else { - eventService.unsubscribe(eventClass, obj); - } - } - } - - - - private static void process(final RuntimeTopicEventSubscriber annotation, final Object subscriber, final Method method, boolean add) { - EventTopicSubscriber eventTopicSubscriber = new EventTopicSubscriber() { - //TODO uncomment when language level is set to 1.6 (2.0) @Override - public Class autoCreateEventServiceClass() { - return annotation.autoCreateEventServiceClass(); - } - - //TODO uncomment when language level is set to 1.6 (2.0) @Override - public String eventServiceName() { - return annotation.eventServiceName(); - } - - //TODO uncomment when language level is set to 1.6 (2.0) @Override - public ReferenceStrength referenceStrength() { - return annotation.referenceStrength(); - } - - //TODO uncomment when language level is set to 1.6 (2.0) @Override - public int priority() { - return annotation.priority(); - } - - //TODO uncomment when language level is set to 1.6 (2.0) @Override - public String topic() { - return getTopic(annotation.methodName(), subscriber, method); - } - - //TODO uncomment when language level is set to 1.6 (2.0) @Override - public Class annotationType() { - return annotation.annotationType(); - } - }; - process(eventTopicSubscriber, subscriber, method, add); - } - - private static void process(final RuntimeTopicPatternEventSubscriber annotation, final Object subscriber, final Method method, boolean add) { - EventTopicPatternSubscriber eventTopicPatternSubscriber = new EventTopicPatternSubscriber() { - //TODO uncomment when language level is set to 1.6 (2.0) @Override - public Class autoCreateEventServiceClass() { - return annotation.autoCreateEventServiceClass(); - } - - //TODO uncomment when language level is set to 1.6 (2.0) @Override - public String eventServiceName() { - return annotation.eventServiceName(); - } - - //TODO uncomment when language level is set to 1.6 (2.0) @Override - public ReferenceStrength referenceStrength() { - return annotation.referenceStrength(); - } - - //TODO uncomment when language level is set to 1.6 (2.0) @Override - public int priority() { - return annotation.priority(); - } - - //TODO uncomment when language level is set to 1.6 (2.0) @Override - public boolean exact() { - return annotation.exact(); - } - - //TODO uncomment when language level is set to 1.6 (2.0) @Override - public String topicPattern() { - return getTopic(annotation.methodName(), subscriber, method); - } - - //TODO uncomment when language level is set to 1.6 (2.0) @Override - public Class annotationType() { - return annotation.annotationType(); - } - }; - process(eventTopicPatternSubscriber, subscriber, method, add); - } - - /* This is a cut and paste from above practically, sure which Annotations could be extended. - * TODO: When Java 7 comes out, or whatever JSR-308 is delivered, reduce this file by 70% */ - private static void process(VetoTopicPatternSubscriber topicPatternAnnotation, Object obj, Method method, boolean add) { - //Check args - String topicPattern = topicPatternAnnotation.topicPattern(); - if (topicPattern == null) { - throw new IllegalArgumentException("Topic pattern cannot be null for VetoTopicPatternSubscriber annotation"); - } - - //Get event service - Class eventServiceClass = topicPatternAnnotation.autoCreateEventServiceClass(); - String eventServiceName = topicPatternAnnotation.eventServiceName(); - EventService eventService = getEventServiceFromAnnotation(eventServiceName, eventServiceClass); - int priority = topicPatternAnnotation.priority(); - - //Create proxy and subscribe - Pattern pattern = Pattern.compile(topicPattern); - ProxyTopicPatternSubscriber subscriber = new ProxyTopicPatternSubscriber(obj, method, topicPatternAnnotation.referenceStrength(), - priority, eventService, topicPattern, pattern, true); - - //See Issue #18 - //Also note that this post is wrong: https://eventbus.dev.java.net/servlets/ProjectForumMessageView?messageID=19499&forumID=1834 - //Since two WeakReferences are not treated as one. So this always has to be strong and we'll have to clean up occasionally. - if (add) { - eventService.subscribeVetoListenerStrongly(pattern, subscriber); - } else { - eventService.unsubscribeVeto(pattern, obj); - } - } - - private static void process(VetoTopicSubscriber topicAnnotation, Object obj, Method method, boolean add) { - //Check args - String topic = topicAnnotation.topic(); - if (topic == null) { - throw new IllegalArgumentException("Topic cannot be null for VetoTopicSubscriber annotation"); - } - - //Get event service - Class eventServiceClass = topicAnnotation.autoCreateEventServiceClass(); - String eventServiceName = topicAnnotation.eventServiceName(); - EventService eventService = getEventServiceFromAnnotation(eventServiceName, eventServiceClass); - - int priority = topicAnnotation.priority(); - - //Create proxy and subscribe - ProxyTopicSubscriber subscriber = new ProxyTopicSubscriber(obj, method, - topicAnnotation.referenceStrength(), priority, eventService, topic, true); - - //See Issue #18 - //Also note that this post is wrong: https://eventbus.dev.java.net/servlets/ProjectForumMessageView?messageID=19499&forumID=1834 - //Since two WeakReferences are not treated as one. So this always has to be strong and we'll have to clean up occasionally. - if (add) { - eventService.subscribeVetoListenerStrongly(topic, subscriber); - } else { - eventService.unsubscribeVeto(topic, obj); - } - } - - private static void process(VetoSubscriber annotation, Object obj, Method method, boolean add) { - //Check args - Class eventClass = annotation.eventClass(); - if (eventClass == null) { - throw new IllegalArgumentException("Event class cannot be null for VetoSubscriber annotation"); - } else if (UseTheClassOfTheAnnotatedMethodsParameter.class.equals(eventClass)) { - Class[] params = method.getParameterTypes(); - if (params.length < 1) { - throw new RuntimeException("Expected annotated method to have one parameter."); - } else { - eventClass = params[0]; - } - } - - //Get event service - Class eventServiceClass = annotation.autoCreateEventServiceClass(); - String eventServiceName = annotation.eventServiceName(); - EventService eventService = getEventServiceFromAnnotation(eventServiceName, eventServiceClass); - - int priority = annotation.priority(); - - //Create proxy and subscribe - //See https://eventbus.dev.java.net/servlets/ProjectForumMessageView?messageID=19499&forumID=1834 - BaseProxySubscriber subscriber = new BaseProxySubscriber(obj, method, annotation.referenceStrength(), - priority, eventService, eventClass, true); - if (add) { - if (annotation.exact()) { - //See Issue #18 - //Also note that this post is wrong: https://eventbus.dev.java.net/servlets/ProjectForumMessageView?messageID=19499&forumID=1834 - //Since two WeakReferences are not treated as one. So this always has to be strong and we'll have to clean up occasionally. - eventService.subscribeVetoListenerExactlyStrongly(eventClass, subscriber); - } else { - //See Issue #18 - //Also note that this post is wrong: https://eventbus.dev.java.net/servlets/ProjectForumMessageView?messageID=19499&forumID=1834 - //Since two WeakReferences are not treated as one. So this always has to be strong and we'll have to clean up occasionally. - eventService.subscribeVetoListenerStrongly(eventClass, subscriber); - } - } else { - if (annotation.exact()) { - eventService.unsubscribeVetoExactly(eventClass, obj); - } else { - eventService.unsubscribeVeto(eventClass, obj); - } - } - } - - - private static void process(final VetoRuntimeTopicSubscriber annotation, final Object subscriber, final Method method, boolean add) { - VetoTopicSubscriber eventTopicSubscriber = new VetoTopicSubscriber() { - //TODO uncomment when language level is set to 1.6 (2.0) @Override - public Class autoCreateEventServiceClass() { - return annotation.autoCreateEventServiceClass(); - } - - //TODO uncomment when language level is set to 1.6 (2.0) @Override - public String eventServiceName() { - return annotation.eventServiceName(); - } - - //TODO uncomment when language level is set to 1.6 (2.0) @Override - public ReferenceStrength referenceStrength() { - return annotation.referenceStrength(); - } - - //TODO uncomment when language level is set to 1.6 (2.0) @Override - public int priority() { - return annotation.priority(); - } - - //TODO uncomment when language level is set to 1.6 (2.0) @Override - public String topic() { - return getTopic(annotation.methodName(), subscriber, method); - } - - //TODO uncomment when language level is set to 1.6 (2.0) @Override - public Class annotationType() { - return annotation.annotationType(); - } - }; - process(eventTopicSubscriber, subscriber, method, add); - } - - private static void process(final VetoRuntimeTopicPatternSubscriber annotation, final Object subscriber, final Method method, boolean add) { - VetoTopicPatternSubscriber eventTopicPatternSubscriber = new VetoTopicPatternSubscriber() { - //TODO uncomment when language level is set to 1.6 (2.0) @Override - public Class autoCreateEventServiceClass() { - return annotation.autoCreateEventServiceClass(); - } - - //TODO uncomment when language level is set to 1.6 (2.0) @Override - public String eventServiceName() { - return annotation.eventServiceName(); - } - - //TODO uncomment when language level is set to 1.6 (2.0) @Override - public ReferenceStrength referenceStrength() { - return annotation.referenceStrength(); - } - - //TODO uncomment when language level is set to 1.6 (2.0) @Override - public int priority() { - return annotation.priority(); - } - - //TODO uncomment when language level is set to 1.6 (2.0) @Override - public boolean exact() { - return annotation.exact(); - } - - //TODO uncomment when language level is set to 1.6 (2.0) @Override - public String topicPattern() { - return getTopic(annotation.methodName(), subscriber, method); - } - - //TODO uncomment when language level is set to 1.6 (2.0) @Override - public Class annotationType() { - return annotation.annotationType(); - } - }; - process(eventTopicPatternSubscriber, subscriber, method, add); - } - - - private static String getTopic(String methodName, Object subscriber, Method method) { - try { - Method runtimeEvalMethod = subscriber.getClass().getMethod(methodName, new Class[0]); - //necessary in case the method does not have public access or if the class it belongs - //to isn't public - runtimeEvalMethod.setAccessible(true); - return runtimeEvalMethod.invoke(subscriber, new Object[0]).toString(); - } catch (SecurityException e) { - throw new RuntimeException("Could not retrieve method for subscription. Method: " + methodName, e); - } catch (NoSuchMethodException e) { - throw new RuntimeException("Could not retrieve method for subscription. Method: " + methodName, e); - } catch (InvocationTargetException e) { - e.getTargetException().printStackTrace(); - throw new RuntimeException("Could not invoke method for subscription. Method: " + methodName, e); - } catch (IllegalAccessException e) { - throw new RuntimeException("Could not invoke method for subscription. Method: " + methodName, e); - } - } - - - private static EventService getEventServiceFromAnnotation(String eventServiceName, - Class eventServiceClass) { - EventService eventService = EventServiceLocator.getEventService(eventServiceName); - if (eventService == null) { - if (EventServiceLocator.SERVICE_NAME_EVENT_BUS.equals(eventServiceName)) { - //This may be the first time the EventBus is accessed. - eventService = EventServiceLocator.getSwingEventService(); - } else { - //The event service does not yet exist, create it - try { - eventService = eventServiceClass.newInstance(); - } catch (InstantiationException e) { - throw new RuntimeException("Could not instance of create EventService class " + eventServiceClass, e); - } catch (IllegalAccessException e) { - throw new RuntimeException("Could not instance of create EventService class " + eventServiceClass, e); - } - try { - EventServiceLocator.setEventService(eventServiceName, eventService); - } catch (EventServiceExistsException e) { - //ignore it, it's OK - eventService = EventServiceLocator.getEventService(eventServiceName); - } - } - } - return eventService; - } - -} diff --git a/src/main/java/org/scijava/event/bushe/BaseProxySubscriber.java b/src/main/java/org/scijava/event/bushe/BaseProxySubscriber.java deleted file mode 100644 index a84bcdde7..000000000 --- a/src/main/java/org/scijava/event/bushe/BaseProxySubscriber.java +++ /dev/null @@ -1,130 +0,0 @@ -package org.scijava.event.bushe; - -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; - -/** A class is subscribed to an EventService on behalf of another object. */ -class BaseProxySubscriber extends AbstractProxySubscriber - implements org.scijava.event.bushe.IEventSubscriber, VetoEventListener { - private Class subscriptionClass; - - /** - * Creates a proxy. This does not subscribe it. - * - * @param proxiedSubscriber the subscriber that the proxy will call when an event is published - * @param subscriptionMethod the method the proxy will call, must have an Object as it's first and only parameter - * @param referenceStrength if the subscription is weak, the reference from the proxy to the real subscriber should - * be too - * @param es the EventService we will be subscribed to, since we may need to unsubscribe when weak refs no longer - * exist - * @param subscription the class to subscribe to, used for unsubscription only - * @param veto whether this is a veto subscriber - */ - public BaseProxySubscriber(Object proxiedSubscriber, Method subscriptionMethod, ReferenceStrength referenceStrength, - EventService es, Class subscription, boolean veto) { - this(proxiedSubscriber, subscriptionMethod, referenceStrength, 0, es, subscription, veto); - } - - /** - * Creates a proxy with a priority. This does not subscribe it. - * - * @param proxiedSubscriber the subscriber that the proxy will call when an event is published - * @param subscriptionMethod the method the proxy will call, must have an Object as it's first and only parameter - * @param referenceStrength if the subscription is weak, the reference from the proxy to the real subscriber should - * be too - * @param es the EventService we will be subscribed to, since we may need to unsubscribe when weak refs no longer - * exist - * @param subscription the class to subscribe to, used for unsubscription only - * @param veto whether this is a veto subscriber - */ - public BaseProxySubscriber(Object proxiedSubscriber, Method subscriptionMethod, ReferenceStrength referenceStrength, - int priority, EventService es, Class subscription, boolean veto) { - super(proxiedSubscriber, subscriptionMethod, referenceStrength, priority, es, veto); - this.subscriptionClass = subscription; - Class[] params = subscriptionMethod.getParameterTypes(); - if (params == null || params.length != 1 || params[0].isPrimitive()) { - throw new IllegalArgumentException("The subscriptionMethod must have a single non-primitive parameter."); - } - } - - /** - * Handles the event publication by pushing it to the real subscriber's subscription Method. - * - * @param event The Object that is being published. - */ - public void onEvent(Object event) { - Object[] args = new Object[]{event}; - Method subscriptionMethod = null; - Object obj = null; - try { - obj = getProxiedSubscriber(); - if (obj == null) { - //has been garbage collected - return; - } - subscriptionMethod = getSubscriptionMethod(); - subscriptionMethod.invoke(obj, args); - } catch (IllegalAccessException e) { - String message = "Exception when invoking annotated method from EventService publication. Event class:" + event.getClass() + ", Event:" + event + ", subscriber:" + getProxiedSubscriber() + ", subscription Method=" + getSubscriptionMethod(); - retryReflectiveCallUsingAccessibleObject(args, subscriptionMethod, obj, e, message); - } catch (InvocationTargetException e) { - throw new RuntimeException("InvocationTargetException when invoking annotated method from EventService publication. Event class:" + event.getClass() + ", Event:" + event + ", subscriber:" + getProxiedSubscriber() + ", subscription Method=" + getSubscriptionMethod(), e); - } - } - - - public boolean shouldVeto(Object event) { - Object[] args = new Object[]{event}; - Method subscriptionMethod = null; - Object obj = null; - try { - obj = getProxiedSubscriber(); - if (obj == null) { - //has been garbage collected - return false; - } - subscriptionMethod = getSubscriptionMethod(); - return Boolean.valueOf(subscriptionMethod.invoke(obj, args)+""); - } catch (IllegalAccessException e) { - String message = "Exception when invoking annotated method from EventService publication. Event class:" + event.getClass() + ", Event:" + event + ", subscriber:" + getProxiedSubscriber() + ", subscription Method=" + getSubscriptionMethod(); - return retryReflectiveCallUsingAccessibleObject(args, subscriptionMethod, obj, e, message); - } catch (InvocationTargetException e) { - throw new RuntimeException("InvocationTargetException when invoking annotated method from EventService publication. Event class:" + event.getClass() + ", Event:" + event + ", subscriber:" + getProxiedSubscriber() + ", subscription Method=" + getSubscriptionMethod(), e); - } - } - - @Override - public boolean equals(Object obj) { - if (obj instanceof BaseProxySubscriber) { - if (!super.equals(obj)) { - return false; - } - BaseProxySubscriber bps = (BaseProxySubscriber) obj; - if (subscriptionClass != bps.subscriptionClass) { - if (subscriptionClass == null) { - return false; - } else { - if (!subscriptionClass.equals(bps.subscriptionClass)) { - return false; - } - } - } - return true; - } else { - return false; - } - } - - @Override - public String toString() { - return "BaseProxySubscriber{" + - "subscription=" + subscriptionClass + - "veto=" + veto + - "realSubscriber=" + getProxiedSubscriber() + - ", subscriptionMethod=" + getSubscriptionMethod() + - ", referenceStrength=" + getReferenceStrength() + - ", eventService=" + getEventService() + - '}'; - } - -} diff --git a/src/main/java/org/scijava/event/bushe/ContainerEventServiceAction.java b/src/main/java/org/scijava/event/bushe/ContainerEventServiceAction.java deleted file mode 100644 index 39844dfe4..000000000 --- a/src/main/java/org/scijava/event/bushe/ContainerEventServiceAction.java +++ /dev/null @@ -1,71 +0,0 @@ -/** - * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com - * - * Licensed 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.scijava.event.bushe; - -import java.awt.Component; -import java.awt.event.ActionEvent; -import javax.swing.ImageIcon; - -/** - * When fired, this action publishes an ActionEvent on a Container EventService. - * See {@link EventServiceAction} for more information. - *

      - * By default, the Container EventService is found by asking the ContainerEventServiceFinder to find the EventService - * for the source of the fired ActionEvent, which must be a java.awt.Component and contained in a hierarchy (the source - * must have been added to another Swing container). If the action was on a button, this means the container hierarchy - * of the button is walked (up) until a ContainerEventServiceSupplier is found or until the top of the hierarchy is - * reached, at which point a ContainerEventService is created automatically on the fly via the top container's - * putClientProperty() method using the key {@link ContainerEventServiceFinder#CLIENT_PROPERTY_KEY_TOP_LEVEL_EVENT_SERVICE}. - * If the event is from a JPopupMenu then the popup menu's invoker's hierarchy is walked. - *

      - * To exhibit other behavior, override the getSwingEventService() to return another EventService. For example, the - * creator of a popup menu may pass itself to the ContainerEventServiceFinder to return a parent's EventService. - *

      - * - * @author Michael Bushe michael@bushe.com - * @see EventServiceAction for further documentation - * @see ContainerEventServiceFinder on how the service is found - */ -class ContainerEventServiceAction extends EventServiceAction { - public ContainerEventServiceAction() { - } - - public ContainerEventServiceAction(String actionName, ImageIcon icon) { - super(actionName, icon); - } - - protected EventService getEventService(ActionEvent event) { - Component comp = null; - try { - if (event.getSource() instanceof Component) { - comp = (Component) event.getSource(); - } - if (comp == null) { - if (getThrowsExceptionOnNullEventService()) { - throw new RuntimeException("ActionEvent source was null, could not find event bus, must override getContainerEventService in action with id:" + getName()); - } - } else { - return ContainerEventServiceFinder.getEventService(comp); - } - } catch (ClassCastException ex) { - if (getThrowsExceptionOnNullEventService()) { - throw new RuntimeException("ActionEvent source was not a component (" + (comp == null ? "null" : comp.getClass() + "") + "), must override getContainerEventService in action with id:" + getName(), ex); - } - } - return null; - } -} - diff --git a/src/main/java/org/scijava/event/bushe/ContainerEventServiceFinder.java b/src/main/java/org/scijava/event/bushe/ContainerEventServiceFinder.java deleted file mode 100644 index a3464241f..000000000 --- a/src/main/java/org/scijava/event/bushe/ContainerEventServiceFinder.java +++ /dev/null @@ -1,84 +0,0 @@ -/** - * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com - * - * Licensed 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.scijava.event.bushe; - -import java.awt.Component; -import javax.swing.JComponent; -import javax.swing.JPopupMenu; -import javax.swing.RootPaneContainer; - -/** - * This class finds a component's container event service, and creates one if necessary and possible. - *

      - * A Container EventService is, unlike the EventBus, an EventService that is container specific, in other words, it is - * shared only amongst components within a container. For example, a Form component can supply an EventService used - * only by components in the form. The Form's components can publish value change events on their Container's Event - * Service. The Form's Model and Validator may listen to these events to collect data and show errors, respectively. - *

      - * Most importantly, Container EventService's cuts down event traffic, avoid naming and listener clashes, promotes - * componentization, and splits events usage into logical subsets. - *

      - * The finder will walk up a component's hierarchy searching for a parent that implements ContainerEventServiceSupplier. - * If it find one, it returns it. If it doesn't find one, the top level JComponent (specifically, the highest parent in - * the hierarchy, typically a JRootPane) has a client property added to it (if not already set) that has the value of a - * new SwingEventService, which is then returned. The EventBus is never returned. - * - * @author Michael Bushe michael@bushe.com - */ -class ContainerEventServiceFinder { - /** The client property used to put a new SwingEventService on top-level components. */ - public static final String CLIENT_PROPERTY_KEY_TOP_LEVEL_EVENT_SERVICE = "ContainerEventServiceFinder.createdService"; - - /** - * Walks the component's parents until it find an ContainerEventServiceSupplier and returns the supplier's - * EventService. If the component in the tree is a JPopupMenu, then the menu's invoker is walked. - * - * @param component any component - * - * @return the ContainerEventService of the nearest parent - */ - public static EventService getEventService(Component component) { - while (component != null) { - if (component instanceof ContainerEventServiceSupplier) { - return ((ContainerEventServiceSupplier) component).getContainerEventService(); - } - if (component instanceof JPopupMenu) { - component = ((JPopupMenu) component).getInvoker(); - } else { - if (component.getParent() == null) { - //There is no supplier. Instead of returning null, make an event service - //and stick it in the client properties of the top level container. - if (component instanceof RootPaneContainer) { - component = ((RootPaneContainer) component).getRootPane(); - } - if (!(component instanceof JComponent)) { - return null; - } - JComponent jComp = ((JComponent) component); - SwingEventService eventService = (SwingEventService) jComp.getClientProperty(CLIENT_PROPERTY_KEY_TOP_LEVEL_EVENT_SERVICE); - if (eventService == null) { - eventService = new SwingEventService(); - jComp.putClientProperty(CLIENT_PROPERTY_KEY_TOP_LEVEL_EVENT_SERVICE, eventService); - } - return eventService; - } else { - component = component.getParent(); - } - } - } - return null; - } -} diff --git a/src/main/java/org/scijava/event/bushe/ContainerEventServiceRegistrar.java b/src/main/java/org/scijava/event/bushe/ContainerEventServiceRegistrar.java deleted file mode 100644 index d39d1238e..000000000 --- a/src/main/java/org/scijava/event/bushe/ContainerEventServiceRegistrar.java +++ /dev/null @@ -1,248 +0,0 @@ -/** - * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com - * - * Licensed 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.scijava.event.bushe; - -import javax.swing.JComponent; -import javax.swing.event.AncestorEvent; -import javax.swing.event.AncestorListener; -import java.awt.event.ContainerEvent; -import java.awt.event.ContainerListener; -import java.awt.event.HierarchyEvent; -import java.awt.event.HierarchyListener; - - -/** - * Registers a component with it's Container's EventService while keeping track of the component's container. - *

      - * Registering with a component's ContainerEventService is tricky since components may not be in their hierarchy when - * they want to register with it, or components may move (though rarely). This class subscribes a component with it's - * container event service. If it is unavailable, the registrar waits until the component's Container becomes available - * and subscribes at that time. If the component changes Containers, the registrar unsubscribes the component from its - * old container and subscribes it to the new one. - * - * @author Michael Bushe michael@bushe.com - */ -class ContainerEventServiceRegistrar { - private JComponent jComp; - private IEventSubscriber eventSubscriber; - private VetoEventListener vetoSubscriber; - private Class[] eventClasses; - private IEventTopicSubscriber eventTopicSubscriber; - private VetoTopicEventListener vetoTopicSubscriber; - private String[] topics; - private EventService containerEventService; - - /** - * Create a registrar that will keep track of the container event service, typically used in the publish-only cases - * where the getContainerEventServer() call will be made before publication. - * - * @param jComp the component whose container to monitor - */ - public ContainerEventServiceRegistrar(JComponent jComp) { - this(jComp, null, null, null, null, null, null); - } - - /** - * Create a registrar that will keep track of the container event service, and subscribe the subscriber to the - * eventClass when the ContainerEventService is available and when it changes. - * - * @param jComp the component whose container to monitor - * @param eventSubscriber the subscriber to register to the Container EventServer - * @param eventClasses the class(es) to register for - */ - public ContainerEventServiceRegistrar(JComponent jComp, IEventSubscriber eventSubscriber, Class... eventClasses) { - this(jComp, eventSubscriber, null, eventClasses, null, null, null); - } - - /** - * Create a registrar that will keep track of the container event service, and subscribe the subscriber to the topic - * when the ContainerEventService is available and when it changes. - * - * @param jComp the component whose container to monitor - * @param eventTopicSubscriber the topic subscriber to register to the Container EventServer - * @param topics the event topic name to register for - */ - public ContainerEventServiceRegistrar(JComponent jComp, IEventTopicSubscriber eventTopicSubscriber, String... topics) { - this(jComp, null, null, null, eventTopicSubscriber, null, topics); - } - - /** - * Create a registrar that will keep track of the container event service, and subscribeStrongly the veto subscriber - * to the topics when the ContainerEventService is available and when it changes. - * - * @param jComp the component whose container to monitor - * @param vetoSubscriber the veto subscriber to register to the Container EventServer - * @param eventClasses the classes of event to register for - */ - public ContainerEventServiceRegistrar(JComponent jComp, VetoEventListener vetoSubscriber, Class... eventClasses) { - this(jComp, null, vetoSubscriber, eventClasses, null, null, null); - } - - /** - * Create a registrar that will keep track of the container event service, and subscribeStrongly the veto subscriber - * to the topics when the ContainerEventService is available and when it changes. - * - * @param jComp the component whose container to monitor - * @param vetoTopicSubscriber the veto subscriber to register to the Container EventServer - * @param topics the event topic(s) to register for - */ - public ContainerEventServiceRegistrar(JComponent jComp, VetoTopicEventListener vetoTopicSubscriber, String... topics) { - this(jComp, null, null, null, null, vetoTopicSubscriber, topics); - } - - /** - * Create a registrar that will keep track of the container event service, and subscribe the subscriber to the topics - * and the event classes when the ContainerEventService is available and when it changes. - * - * @param jComp the component whose container to monitor - * @param eventSubscriber the subscriber to register to the Container EventServer - * @param eventClasses the classes of event to register for - * @param eventTopicSubscriber the topic subscriber to keep registered to the topic(s) - * @param topics the event topic names to register for - */ - public ContainerEventServiceRegistrar(JComponent jComp, IEventSubscriber eventSubscriber, Class[] eventClasses, - IEventTopicSubscriber eventTopicSubscriber, String[] topics) { - this(jComp, eventSubscriber, null, eventClasses, eventTopicSubscriber, null, topics); - } - - /** - * Create a registrar that will keep track of the container event service, and subscribe the subscriber to the topics - * and the event classes when the ContainerEventService is available and when it changes. - * - * @param jComp the component whose container to monitor - * @param eventSubscriber the subscriber to register to the Container EventServer - * @param vetoSubscriber a veto subscriber for the eventClasses - * @param eventClasses the classes of event to register for - * @param eventTopicSubscriber the topic subscriber to keep registered to the topic(s) - * @param vetoTopicSubscriber a veto subscriber for the topics - * @param topics the event topic names to register for - */ - public ContainerEventServiceRegistrar(JComponent jComp, IEventSubscriber eventSubscriber, VetoEventListener vetoSubscriber, - Class[] eventClasses, IEventTopicSubscriber eventTopicSubscriber, VetoTopicEventListener vetoTopicSubscriber, - String[] topics) { - this.jComp = jComp; - this.eventSubscriber = eventSubscriber; - this.vetoSubscriber = vetoSubscriber; - this.eventClasses = eventClasses; - this.eventTopicSubscriber = eventTopicSubscriber; - this.vetoTopicSubscriber = vetoTopicSubscriber; - this.topics = topics; - - if (jComp == null) { - throw new NullPointerException("JComponent is null"); - } - updateContainerEventService(); - jComp.addHierarchyListener(new HierarchyListener() { - public void hierarchyChanged(HierarchyEvent e) { - updateContainerEventService(); - } - }); - jComp.addContainerListener(new ContainerListener() { - public void componentAdded(ContainerEvent e) { - updateContainerEventService(); - } - - public void componentRemoved(ContainerEvent e) { - updateContainerEventService(); - } - }); - jComp.addAncestorListener(new AncestorListener() { - public void ancestorAdded(AncestorEvent event) { - updateContainerEventService(); - } - - public void ancestorMoved(AncestorEvent event) { - //ignore - not necessary to keep track of movement - } - - public void ancestorRemoved(AncestorEvent event) { - updateContainerEventService(); - } - }); - } - - /** - * Called by this class when the container may have changed. - *

      - * Override this method and call super if your class wants to be notified when the container changes (compare the - * references of getContainerEventService() around the calls to super.updateContainerEventService()). - */ - protected void updateContainerEventService() { - if (containerEventService != null) { - if (eventClasses != null) { - for (int i = 0; i < eventClasses.length; i++) { - Class eventClass = eventClasses[i]; - if (eventSubscriber != null) { - containerEventService.unsubscribe(eventClass, eventSubscriber); - } - if (vetoSubscriber != null) { - containerEventService.unsubscribeVeto(eventClass, vetoSubscriber); - } - } - } - if (topics != null) { - for (int i = 0; i < topics.length; i++) { - String topic = topics[i]; - if (eventTopicSubscriber != null) { - containerEventService.unsubscribe(topic, eventTopicSubscriber); - } - if (vetoTopicSubscriber != null) { - containerEventService.unsubscribeVeto(topic, vetoTopicSubscriber); - } - } - } - } - - containerEventService = ContainerEventServiceFinder.getEventService(jComp); - if (containerEventService != null) { - if (eventClasses != null) { - for (int i = 0; i < eventClasses.length; i++) { - Class eventClass = eventClasses[i]; - if (eventSubscriber != null) { - containerEventService.subscribe(eventClass, eventSubscriber); - } - if (vetoSubscriber != null) { - containerEventService.subscribeVetoListener(eventClass, vetoSubscriber); - } - } - } - if (topics != null) { - for (int i = 0; i < topics.length; i++) { - String topic = topics[i]; - if (eventTopicSubscriber != null) { - containerEventService.subscribe(topic, eventTopicSubscriber); - } - if (vetoTopicSubscriber != null) { - containerEventService.subscribeVetoListener(topic, vetoTopicSubscriber); - } - } - } - } - } - - /** - * @return the container event service, if null, it tries to find it, but it still may be null if this object is not - * in a container. - */ - public EventService getContainerEventService() { - if (containerEventService != null) { - return containerEventService; - } else { - updateContainerEventService(); - return containerEventService; - } - } -} diff --git a/src/main/java/org/scijava/event/bushe/ContainerEventServiceSupplier.java b/src/main/java/org/scijava/event/bushe/ContainerEventServiceSupplier.java deleted file mode 100644 index 915a41fb1..000000000 --- a/src/main/java/org/scijava/event/bushe/ContainerEventServiceSupplier.java +++ /dev/null @@ -1,42 +0,0 @@ -/** - * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com - * - * Licensed 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.scijava.event.bushe; - -/** - * A interface implemented by a Swing Container to supply an EventService local to it's child components. - *

      - * A Container EventService is an {@link EventService} which, unlike the {@link EventBus}, is specific to a container, - * in other words, it is shared only among components within a Swing Container. The only difference between a Container - * EventService and any other EventService is that it's found and used by the children of a container. The API and - * available implementations all work the same as any other EventService. - *

      - * A good candidate for a ContainerEventServiceSupplier is a Form class. The components that the Form contains can - * publish objects when they they change state - for example when their values change or when they become invalid or - * valid. The Form may have a model that collects the user's entries by subscribing to events published on the Form's - * EventService. A FormValidator may also listen to publications on the Form's EventService to subscribe to validation - * errors. The Form's components don't have to know about the form, or the model or the validator. They just publish - * events on their Container's EventService, which they can find by using a {@link ContainerEventServiceFinder}. - *

      - * This class does not ever have to be implemented or used directly. The ContainerEventServiceFinder will create a - * ContainerEventService on JRootPanes by default on demand. Hence, each dialog and Frame will have their own - * automatically as needed. You only want to implement this interface when you want to limit events to subscribers - * in containers smaller than a JRootPane, such as a Form's JPanel. - * - * @author Michael Bushe michael@bushe.com - */ -interface ContainerEventServiceSupplier { - public EventService getContainerEventService(); -} diff --git a/src/main/java/org/scijava/event/bushe/EventBus.java b/src/main/java/org/scijava/event/bushe/EventBus.java deleted file mode 100644 index 0197d0ebd..000000000 --- a/src/main/java/org/scijava/event/bushe/EventBus.java +++ /dev/null @@ -1,423 +0,0 @@ -/** - * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com - * - * Licensed 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.scijava.event.bushe; - -import java.util.List; -import java.util.regex.Pattern; -import java.lang.reflect.Type; - -/** - * The EventBus provides event publication and subscription services. It is a simple static wrapper around a - * global instance of an {@link EventService}, specifically a {@link SwingEventService} by default. - *

      - * For Swing Applications the EventBus is nearly all you need, besides some of your own Event classes (if so desired). - *

      - * The EventBus is really just a convenience class that provides a static wrapper around a global {@link - * EventService} instance. This class exists solely for simplicity. Calling - * EventBus.subscribeXXX/publishXXX is equivalent to - * EventServiceLocator.getEventBusService().subscribeXXX/publishXXX, - * it is just shorter to type. See {@link org.scijava.event.bushe.EventServiceLocator} for details on how to customize - * the global EventService in place of the default SwingEventService. - * - * @author Michael Bushe michael@bushe.com - * @see EventService - * @see SwingEventService - * @see ThreadSafeEventService See package JavaDoc for more information - */ -class EventBus { - - /** - * The EventBus uses a global static EventService. This method is not necessary in usual usage, use the other static - * methods instead. It is used to expose any other functionality and for framework classes (EventBusAction) - * - * @return the global static EventService - */ - public static EventService getGlobalEventService() { - return EventServiceLocator.getEventBusService(); - } - - /** @see EventService#publish(Object) */ - public static void publish(Object event) { - if (event == null) { - throw new IllegalArgumentException("Can't publish null."); - } - EventServiceLocator.getEventBusService().publish(event); - } - - /** @see EventService#publish(String,Object) */ - public static void publish(String topic, Object o) { - if (topic == null) { - throw new IllegalArgumentException("Can't publish to null topic."); - } - EventServiceLocator.getEventBusService().publish(topic, o); - } - - /** @see EventService#publish(java.lang.reflect.Type, Object) */ - public static void publish(Type genericType, Object o) { - if (genericType == null) { - throw new IllegalArgumentException("Can't publish to null type."); - } - EventServiceLocator.getEventBusService().publish(genericType, o); - } - - - /** @see EventService#subscribe(Class,IEventSubscriber) */ - public static boolean subscribe(Class eventClass, IEventSubscriber subscriber) { - return EventServiceLocator.getEventBusService().subscribe(eventClass, subscriber); - } - - /** @see EventService#subscribe(java.lang.reflect.Type, IEventSubscriber) */ - public static boolean subscribe(Type genericType, IEventSubscriber subscriber) { - return EventServiceLocator.getEventBusService().subscribe(genericType, subscriber); - } - - /** @see EventService#subscribeExactly(Class,IEventSubscriber) */ - public static boolean subscribeExactly(Class eventClass, IEventSubscriber subscriber) { - return EventServiceLocator.getEventBusService().subscribeExactly(eventClass, subscriber); - } - - /** @see EventService#subscribe(String,IEventTopicSubscriber) */ - public static boolean subscribe(String topic, IEventTopicSubscriber subscriber) { - return EventServiceLocator.getEventBusService().subscribe(topic, subscriber); - } - - /** @see EventService#subscribe(Pattern,IEventTopicSubscriber) */ - public static boolean subscribe(Pattern topicPattern, IEventTopicSubscriber subscriber) { - return EventServiceLocator.getEventBusService().subscribe(topicPattern, subscriber); - } - - /** @see EventService#subscribeStrongly(Class,IEventSubscriber) */ - public static boolean subscribeStrongly(Class eventClass, IEventSubscriber subscriber) { - return EventServiceLocator.getEventBusService().subscribeStrongly(eventClass, subscriber); - } - - /** @see EventService#subscribeExactlyStrongly(Class,IEventSubscriber) */ - public static boolean subscribeExactlyStrongly(Class eventClass, IEventSubscriber subscriber) { - return EventServiceLocator.getEventBusService().subscribeExactlyStrongly(eventClass, subscriber); - } - - /** @see EventService#subscribeStrongly(String,IEventTopicSubscriber) */ - public static boolean subscribeStrongly(String topic, IEventTopicSubscriber subscriber) { - return EventServiceLocator.getEventBusService().subscribeStrongly(topic, subscriber); - } - - /** @see EventService#subscribeStrongly(Pattern,IEventTopicSubscriber) */ - public static boolean subscribeStrongly(Pattern topicPattern, IEventTopicSubscriber subscriber) { - return EventServiceLocator.getEventBusService().subscribeStrongly(topicPattern, subscriber); - } - - /** @see EventService#unsubscribe(Class,IEventSubscriber) */ - public static boolean unsubscribe(Class eventClass, IEventSubscriber subscriber) { - return EventServiceLocator.getEventBusService().unsubscribe(eventClass, subscriber); - } - - /** @see EventService#unsubscribeExactly(Class,IEventSubscriber) */ - public static boolean unsubscribeExactly(Class eventClass, IEventSubscriber subscriber) { - return EventServiceLocator.getEventBusService().unsubscribeExactly(eventClass, subscriber); - } - - /** @see EventService#unsubscribe(String,IEventTopicSubscriber) */ - public static boolean unsubscribe(String topic, IEventTopicSubscriber subscriber) { - return EventServiceLocator.getEventBusService().unsubscribe(topic, subscriber); - } - - /** @see EventService#unsubscribe(Pattern,IEventTopicSubscriber) */ - public static boolean unsubscribe(Pattern topicPattern, IEventTopicSubscriber subscriber) { - return EventServiceLocator.getEventBusService().unsubscribe(topicPattern, subscriber); - } - - /** - * For usage with annotations. - * - * @see EventService#unsubscribe(Class,Object) - */ - public static boolean unsubscribe(Class eventClass, Object object) { - return EventServiceLocator.getEventBusService().unsubscribe(eventClass, object); - } - - /** - * For usage with annotations. - * - * @see EventService#unsubscribeExactly(Class,Object) - */ - public static boolean unsubscribeExactly(Class eventClass, Object subscriber) { - return EventServiceLocator.getEventBusService().unsubscribeExactly(eventClass, subscriber); - } - - /** - * For usage with annotations. - * - * @see EventService#unsubscribe(String,Object) - */ - public static boolean unsubscribe(String topic, Object subscriber) { - return EventServiceLocator.getEventBusService().unsubscribe(topic, subscriber); - } - - /** - * For usage with annotations. - * - * @see EventService#unsubscribe(Pattern,Object) - */ - public static boolean unsubscribe(Pattern topicPattern, Object subscriber) { - return EventServiceLocator.getEventBusService().unsubscribe(topicPattern, subscriber); - } - - /** @see EventService#subscribeVetoListener(Class,VetoEventListener) */ - public static boolean subscribeVetoListener(Class eventClass, VetoEventListener vetoListener) { - return EventServiceLocator.getEventBusService().subscribeVetoListener(eventClass, vetoListener); - } - - /** @see EventService#subscribeVetoListener(Class,VetoEventListener) */ - public static boolean subscribeVetoListenerExactly(Class eventClass, VetoEventListener vetoListener) { - return EventServiceLocator.getEventBusService().subscribeVetoListenerExactly(eventClass, vetoListener); - } - - - /** @see EventService#subscribeVetoListener(String,VetoTopicEventListener) */ - public static boolean subscribeVetoListener(String topic, VetoTopicEventListener vetoListener) { - return EventServiceLocator.getEventBusService().subscribeVetoListener(topic, vetoListener); - } - - /** @see EventService#subscribeVetoListener(Pattern,VetoTopicEventListener) */ - public static boolean subscribeVetoListener(Pattern topicPattern, VetoTopicEventListener vetoListener) { - return EventServiceLocator.getEventBusService().subscribeVetoListener(topicPattern, vetoListener); - } - - /** @see EventService#subscribeVetoListenerStrongly(Class,VetoEventListener) */ - public static boolean subscribeVetoListenerStrongly(Class eventClass, VetoEventListener vetoListener) { - return EventServiceLocator.getEventBusService().subscribeVetoListenerStrongly(eventClass, vetoListener); - } - - /** @see EventService#subscribeVetoListenerExactlyStrongly(Class,VetoEventListener) */ - public static boolean subscribeVetoListenerExactlyStrongly(Class eventClass, VetoEventListener vetoListener) { - return EventServiceLocator.getEventBusService().subscribeVetoListenerExactlyStrongly(eventClass, vetoListener); - } - - /** @see EventService#subscribeVetoListenerStrongly(String,VetoTopicEventListener) */ - public static boolean subscribeVetoListenerStrongly(String topic, VetoTopicEventListener vetoListener) { - return EventServiceLocator.getEventBusService().subscribeVetoListenerStrongly(topic, vetoListener); - } - - /** @see EventService#subscribeVetoListener(String,VetoTopicEventListener) */ - public static boolean subscribeVetoListenerStrongly(Pattern topicPattern, VetoTopicEventListener vetoListener) { - return EventServiceLocator.getEventBusService().subscribeVetoListenerStrongly(topicPattern, vetoListener); - } - - /** @see EventService#unsubscribeVetoListener(Class,VetoEventListener) */ - public static boolean unsubscribeVetoListener(Class eventClass, VetoEventListener vetoListener) { - return EventServiceLocator.getEventBusService().unsubscribeVetoListener(eventClass, vetoListener); - } - - /** @see EventService#unsubscribeVetoListenerExactly(Class,VetoEventListener) */ - public static boolean unsubscribeVetoListenerExactly(Class eventClass, VetoEventListener vetoListener) { - return EventServiceLocator.getEventBusService().unsubscribeVetoListenerExactly(eventClass, vetoListener); - } - - /** @see EventService#unsubscribeVetoListener(String,VetoTopicEventListener) */ - public static boolean unsubscribeVetoListener(String topic, VetoTopicEventListener vetoListener) { - return EventServiceLocator.getEventBusService().unsubscribeVetoListener(topic, vetoListener); - } - - /** @see EventService#unsubscribeVetoListener(Pattern,VetoTopicEventListener) */ - public static boolean unsubscribeVetoListener(Pattern topicPattern, VetoTopicEventListener vetoListener) { - return EventServiceLocator.getEventBusService().unsubscribeVetoListener(topicPattern, vetoListener); - } - - /** @see EventService#getSubscribers(Class) */ - public static List getSubscribers(Class eventClass) { - return EventServiceLocator.getEventBusService().getSubscribers(eventClass); - } - - /** @see EventService#getSubscribersToClass(Class) */ - public static List getSubscribersToClass(Class eventClass) { - return EventServiceLocator.getEventBusService().getSubscribersToClass(eventClass); - } - - /** @see EventService#getSubscribersToExactClass(Class) */ - public static List getSubscribersToExactClass(Class eventClass) { - return EventServiceLocator.getEventBusService().getSubscribersToExactClass(eventClass); - } - - /** @see EventService#getSubscribers(Type) */ - public static List getSubscribers(Type type) { - return EventServiceLocator.getEventBusService().getSubscribers(type); - } - - /** @see EventService#getSubscribers(String) */ - public static List getSubscribers(String topic) { - return EventServiceLocator.getEventBusService().getSubscribers(topic); - } - - /** @see EventService#getSubscribersToTopic(String) */ - public static List getSubscribersToTopic(String topic) { - return EventServiceLocator.getEventBusService().getSubscribersToTopic(topic); - } - - /** @see EventService#getSubscribers(Pattern) */ - public static List getSubscribers(Pattern pattern) { - return EventServiceLocator.getEventBusService().getSubscribers(pattern); - } - - /** @see EventService#getSubscribersByPattern(String) */ - public static List getSubscribersByPattern(String topic) { - return EventServiceLocator.getEventBusService().getSubscribersByPattern(topic); - } - - /** @see EventService#getSubscribers(Class) */ - public static List getVetoSubscribers(Class eventClass) { - return EventServiceLocator.getEventBusService().getVetoSubscribers(eventClass); - } - - /** @see EventService#getVetoSubscribersToClass(Class) */ - public static List getVetoSubscribersToClass(Class eventClass) { - return EventServiceLocator.getEventBusService().getVetoSubscribersToClass(eventClass); - } - - /** @see EventService#getVetoSubscribersToExactClass(Class) */ - public static List getVetoSubscribersToExactClass(Class eventClass) { - return EventServiceLocator.getEventBusService().getVetoSubscribersToExactClass(eventClass); - } - - /** @see EventService#getVetoSubscribers(Class) - * @deprecated use getVetoSubscribersToTopic instead for direct replacement, - * or use getVetoEventListeners to get topic and pattern matchers. - * In EventBus 2.0 this name will replace getVetoEventListeners() - * and have it's union functionality - */ - public static List getVetoSubscribers(String topic) { - return EventServiceLocator.getEventBusService().getVetoSubscribers(topic); - } - - /** @see EventService#getVetoEventListeners(String) */ - public static List getVetoEventListeners(String topic) { - return EventServiceLocator.getEventBusService().getVetoEventListeners(topic); - } - - /** @see EventService#getVetoSubscribers(Pattern) */ - public static List getVetoSubscribers(Pattern pattern) { - return EventServiceLocator.getEventBusService().getVetoSubscribers(pattern); - } - - /** @see EventService#getVetoSubscribersToTopic(String) */ - public static List getVetoSubscribersToTopic(String topic) { - return EventServiceLocator.getEventBusService().getVetoSubscribersToTopic(topic); - } - - /** @see EventService#getVetoSubscribersByPattern(String) */ - public static List getVetoSubscribersByPattern(String topic) { - return EventServiceLocator.getEventBusService().getVetoSubscribersByPattern(topic); - } - - /** @see EventService#unsubscribeVeto(Class, Object) */ - public static boolean unsubscribeVeto(Class eventClass, Object subscribedByProxy) { - return EventServiceLocator.getEventBusService().unsubscribeVeto(eventClass, subscribedByProxy); - } - - /** @see EventService#unsubscribeVetoExactly(Class, Object) */ - public static boolean unsubscribeVetoExactly(Class eventClass, Object subscribedByProxy) { - return EventServiceLocator.getEventBusService().unsubscribeVetoExactly(eventClass, subscribedByProxy); - } - - /** @see EventService#unsubscribeVeto(String, Object) */ - public static boolean unsubscribeVeto(String topic, Object subscribedByProxy) { - return EventServiceLocator.getEventBusService().unsubscribeVeto(topic, subscribedByProxy); - } - - /** @see EventService#unsubscribeVeto(Pattern, Object) */ - public static boolean unsubscribeVeto(Pattern pattern, Object subscribedByProxy) { - return EventServiceLocator.getEventBusService().unsubscribeVeto(pattern, subscribedByProxy); - } - - /** @see EventService#clearAllSubscribers() */ - public static void clearAllSubscribers() { - EventServiceLocator.getEventBusService().clearAllSubscribers(); - } - - /** @see EventService#setDefaultCacheSizePerClassOrTopic(int) */ - public static void setDefaultCacheSizePerClassOrTopic(int defaultCacheSizePerClassOrTopic) { - EventServiceLocator.getEventBusService().setDefaultCacheSizePerClassOrTopic(defaultCacheSizePerClassOrTopic); - } - - /** @see org.scijava.event.bushe.EventService#getDefaultCacheSizePerClassOrTopic() */ - public static int getDefaultCacheSizePerClassOrTopic() { - return EventServiceLocator.getEventBusService().getDefaultCacheSizePerClassOrTopic(); - } - - /** @see EventService#setCacheSizeForEventClass(Class,int) */ - public static void setCacheSizeForEventClass(Class eventClass, int cacheSize) { - EventServiceLocator.getEventBusService().setCacheSizeForEventClass(eventClass, cacheSize); - } - - /** @see EventService#getCacheSizeForEventClass(Class) */ - public static int getCacheSizeForEventClass(Class eventClass) { - return EventServiceLocator.getEventBusService().getCacheSizeForEventClass(eventClass); - } - - /** @see EventService#setCacheSizeForTopic(String,int) */ - public static void setCacheSizeForTopic(String topicName, int cacheSize) { - EventServiceLocator.getEventBusService().setCacheSizeForTopic(topicName, cacheSize); - } - - /** @see EventService#setCacheSizeForTopic(java.util.regex.Pattern,int) */ - public static void setCacheSizeForTopic(Pattern pattern, int cacheSize) { - EventServiceLocator.getEventBusService().setCacheSizeForTopic(pattern, cacheSize); - } - - /** @see EventService#getCacheSizeForTopic(String) */ - public static int getCacheSizeForTopic(String topic) { - return EventServiceLocator.getEventBusService().getCacheSizeForTopic(topic); - } - - /** @see EventService#getLastEvent(Class) */ - public static T getLastEvent(Class eventClass) { - return EventServiceLocator.getEventBusService().getLastEvent(eventClass); - } - - /** @see EventService#getCachedEvents(Class) */ - public static List getCachedEvents(Class eventClass) { - return EventServiceLocator.getEventBusService().getCachedEvents(eventClass); - } - - /** @see EventService#getLastTopicData(String) */ - public static Object getLastTopicData(String topic) { - return EventServiceLocator.getEventBusService().getLastTopicData(topic); - } - - /** @see EventService#getCachedTopicData(String) */ - public static List getCachedTopicData(String topic) { - return EventServiceLocator.getEventBusService().getCachedTopicData(topic); - } - - /** @see EventService#clearCache(Class) */ - public static void clearCache(Class eventClass) { - EventServiceLocator.getEventBusService().clearCache(eventClass); - } - - /** @see EventService#clearCache(String) */ - public static void clearCache(String topic) { - EventServiceLocator.getEventBusService().clearCache(topic); - } - - /** @see EventService#clearCache(java.util.regex.Pattern) */ - public static void clearCache(Pattern pattern) { - EventServiceLocator.getEventBusService().clearCache(pattern); - } - - /** @see org.scijava.event.bushe.EventService#clearCache() */ - public static void clearCache() { - EventServiceLocator.getEventBusService().clearCache(); - } -} diff --git a/src/main/java/org/scijava/event/bushe/EventBusAction.java b/src/main/java/org/scijava/event/bushe/EventBusAction.java deleted file mode 100644 index f4d69010b..000000000 --- a/src/main/java/org/scijava/event/bushe/EventBusAction.java +++ /dev/null @@ -1,41 +0,0 @@ -/** - * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com - * - * Licensed 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.scijava.event.bushe; - -import java.awt.event.ActionEvent; -import javax.swing.ImageIcon; - -/** - * When fired, this action publishes events on the EventBus. - *

      - * - * @author Michael Bushe michael@bushe.com - * @see EventServiceAction - */ -class EventBusAction extends EventServiceAction { - public EventBusAction() { - this(null, null); - } - - public EventBusAction(String actionName, ImageIcon icon) { - super(actionName, icon); - } - - protected EventService getEventService(ActionEvent event) { - return EventBus.getGlobalEventService(); - } -} - diff --git a/src/main/java/org/scijava/event/bushe/EventService.java b/src/main/java/org/scijava/event/bushe/EventService.java index 4552ff752..6b07fb777 100644 --- a/src/main/java/org/scijava/event/bushe/EventService.java +++ b/src/main/java/org/scijava/event/bushe/EventService.java @@ -23,17 +23,17 @@ * The core interface. An EventService provides publish/subscribe services to a single JVM using Class-based and * String-based (i.e. "topic") publications and subscriptions. *

      - * In class-based pub/sub, {@link IEventSubscriber}s subscribe to a type on an {@link EventService}, such + * In class-based pub/sub, {@link EventSubscriber}s subscribe to a type on an {@link EventService}, such * as the {@link org.scijava.event.bushe.EventBus}, by providing a class, interface or generic type. The EventService * notifies subscribers when objects are published on the EventService with a matching type. Full class semantics are * respected. That is, if a subscriber subscribes to a class, the subscriber is notified if an object of * that class is publish or if an object of a subclass of that class is published. Likewise if a subscriber subscribes * to an interface, it will be notified if any object that implements that interface is published. Subscribers can - * subscribe "exactly" using {@link #subscribeExactly(Class, IEventSubscriber)} so that they are notified only if an + * subscribe "exactly" using {@link #subscribeExactly(Class, EventSubscriber)} so that they are notified only if an * object of the exact class is published (and will not be notified if subclasses are published, since this would not * be "exact") *

      - * In topic-based pub/sub, an object "payload" is published on a topic name (String). {@link IEventTopicSubscriber}s subscribe + * In topic-based pub/sub, an object "payload" is published on a topic name (String). {@link EventTopicSubscriber}s subscribe * to either the exact name of the topic or they may subscribe using a Regular Expression that is used to match topic * names. *

      @@ -110,10 +110,6 @@ * * @author Michael Bushe michael@bushe.com * @see {@link ThreadSafeEventService} for the default implementation - * @see {@link SwingEventService} for the Swing-safe implementation - * @see {@link EventBus} for simple access to the Swing-safe implementation - * @see {@link org.scijava.event.bushe.IEventSubscriber} for subscription annotations - * @see {@link org.scijava.event.bushe.IEventTopicSubscriber} for subscription annotations */ interface EventService { @@ -127,7 +123,7 @@ interface EventService { /** * Use this method to publish generified objects to subscribers of Types, i.e. subscribers that use - * {@link #subscribe(Type, IEventSubscriber)}, and to publish to subscribers of the non-generic type. + * {@link #subscribe(Type, EventSubscriber)}, and to publish to subscribers of the non-generic type. *

      * Due to generic type erasure, the type must be supplied by the caller. You can get a declared object's * type by using the {@link org.scijava.event.bushe.TypeReference} class. For Example: @@ -181,7 +177,7 @@ interface EventService { * * @return true if the subscriber was subscribed successfully, false otherwise */ - public boolean subscribe(Class eventClass, IEventSubscriber subscriber); + public boolean subscribe(Class eventClass, EventSubscriber subscriber); /** * Subscribe an EventSubscriber to publication of generic Types. @@ -206,7 +202,7 @@ interface EventService { * @param subscriber the subscriber to the type * @return true if a new subscription is made, false if it already existed */ - public boolean subscribe(Type type, IEventSubscriber subscriber); + public boolean subscribe(Type type, EventSubscriber subscriber); /** * Subscribes an EventSubscriber to the publication of objects exactly matching a type. Only a WeakReference @@ -227,7 +223,7 @@ interface EventService { * * @return true if the subscriber was subscribed successfully, false otherwise */ - public boolean subscribeExactly(Class eventClass, IEventSubscriber subscriber); + public boolean subscribeExactly(Class eventClass, EventSubscriber subscriber); /** * Subscribes an EventTopicSubscriber to the publication of a topic name. Only a WeakReference @@ -247,7 +243,7 @@ interface EventService { * * @return true if the subscriber was subscribed successfully, false otherwise */ - public boolean subscribe(String topic, IEventTopicSubscriber subscriber); + public boolean subscribe(String topic, EventTopicSubscriber subscriber); /** * Subscribes an EventSubscriber to the publication of all the topic names that match a RegEx Pattern. Only a @@ -267,67 +263,67 @@ interface EventService { * * @return true if the subscriber was subscribed successfully, false otherwise */ - public boolean subscribe(Pattern topicPattern, IEventTopicSubscriber subscriber); + public boolean subscribe(Pattern topicPattern, EventTopicSubscriber subscriber); /** * Subscribes an EventSubscriber to the publication of objects matching a type. *

      - * The semantics are the same as {@link #subscribe(Class, IEventSubscriber)}, except that the EventService holds + * The semantics are the same as {@link #subscribe(Class, EventSubscriber)}, except that the EventService holds * a regularly reference, not a WeakReference. *

      - * The subscriber will remain subscribed until {@link #unsubscribe(Class,IEventSubscriber)} is called. + * The subscriber will remain subscribed until {@link #unsubscribe(Class,EventSubscriber)} is called. * * @param eventClass the class of published objects to listen to * @param subscriber The subscriber that will accept the events when published. * * @return true if the subscriber was subscribed successfully, false otherwise */ - public boolean subscribeStrongly(Class eventClass, IEventSubscriber subscriber); + public boolean subscribeStrongly(Class eventClass, EventSubscriber subscriber); /** * Subscribes an EventSubscriber to the publication of objects matching a type exactly. *

      - * The semantics are the same as {@link #subscribeExactly(Class, IEventSubscriber)}, except that the EventService + * The semantics are the same as {@link #subscribeExactly(Class, EventSubscriber)}, except that the EventService * holds a regularly reference, not a WeakReference. *

      - * The subscriber will remain subscribed until {@link #unsubscribe(Class,IEventSubscriber)} is called. + * The subscriber will remain subscribed until {@link #unsubscribe(Class,EventSubscriber)} is called. * * @param eventClass the class of published objects to listen to * @param subscriber The subscriber that will accept the events when published. * * @return true if the subscriber was subscribed successfully, false otherwise */ - public boolean subscribeExactlyStrongly(Class eventClass, IEventSubscriber subscriber); + public boolean subscribeExactlyStrongly(Class eventClass, EventSubscriber subscriber); /** * Subscribes a subscriber to an event topic name. *

      - * The semantics are the same as {@link #subscribe(String, IEventTopicSubscriber)}, except that the EventService + * The semantics are the same as {@link #subscribe(String, EventTopicSubscriber)}, except that the EventService * holds a regularly reference, not a WeakReference. *

      - * The subscriber will remain subscribed until {@link #unsubscribe(String,IEventTopicSubscriber)} is called. + * The subscriber will remain subscribed until {@link #unsubscribe(String,EventTopicSubscriber)} is called. * * @param topic the name of the topic listened to * @param subscriber The topic subscriber that will accept the events when published. * * @return true if the subscriber was subscribed successfully, false otherwise */ - public boolean subscribeStrongly(String topic, IEventTopicSubscriber subscriber); + public boolean subscribeStrongly(String topic, EventTopicSubscriber subscriber); /** * Subscribes a subscriber to all the event topic names that match a RegEx expression. *

      - * The semantics are the same as {@link #subscribe(java.util.regex.Pattern, IEventTopicSubscriber)}, except that the + * The semantics are the same as {@link #subscribe(java.util.regex.Pattern, EventTopicSubscriber)}, except that the * EventService holds a regularly reference, not a WeakReference. *

      - * The subscriber will remain subscribed until {@link #unsubscribe(String,IEventTopicSubscriber)} is called. + * The subscriber will remain subscribed until {@link #unsubscribe(String,EventTopicSubscriber)} is called. * * @param topicPattern the name of the topic listened to * @param subscriber The topic subscriber that will accept the events when published. * * @return true if the subscriber was subscribed successfully, false otherwise */ - public boolean subscribeStrongly(Pattern topicPattern, IEventTopicSubscriber subscriber); + public boolean subscribeStrongly(Pattern topicPattern, EventTopicSubscriber subscriber); /** * Stop the subscription for a subscriber that is subscribed to a class. @@ -337,7 +333,7 @@ interface EventService { * * @return true if the subscriber was subscribed to the event, false if it wasn't */ - public boolean unsubscribe(Class eventClass, IEventSubscriber subscriber); + public boolean unsubscribe(Class eventClass, EventSubscriber subscriber); /** * Stop the subscription for a subscriber that is subscribed to an exact class. @@ -347,7 +343,7 @@ interface EventService { * * @return true if the subscriber was subscribed to the event, false if it wasn't */ - public boolean unsubscribeExactly(Class eventClass, IEventSubscriber subscriber); + public boolean unsubscribeExactly(Class eventClass, EventSubscriber subscriber); /** * Stop the subscription for a subscriber that is subscribed to an event topic. @@ -357,7 +353,7 @@ interface EventService { * * @return true if the subscriber was subscribed to the event, false if it wasn't */ - public boolean unsubscribe(String topic, IEventTopicSubscriber subscriber); + public boolean unsubscribe(String topic, EventTopicSubscriber subscriber); /** * Stop the subscription for a subscriber that is subscribed to event topics via a Pattern. @@ -367,7 +363,7 @@ interface EventService { * * @return true if the subscriber was subscribed to the event, false if it wasn't */ - public boolean unsubscribe(Pattern topicPattern, IEventTopicSubscriber subscriber); + public boolean unsubscribe(Pattern topicPattern, EventTopicSubscriber subscriber); /** * Subscribes a VetoEventListener to publication of event matching a class. Only a WeakReference to the diff --git a/src/main/java/org/scijava/event/bushe/EventServiceAction.java b/src/main/java/org/scijava/event/bushe/EventServiceAction.java deleted file mode 100644 index a87cfc59d..000000000 --- a/src/main/java/org/scijava/event/bushe/EventServiceAction.java +++ /dev/null @@ -1,214 +0,0 @@ -/** - * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com - * - * Licensed 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.scijava.event.bushe; - -import java.awt.event.ActionEvent; -import javax.swing.AbstractAction; -import javax.swing.Action; -import javax.swing.ImageIcon; - -/** - * Abstract class that publishes a Swing ActionEvent (or another object) to an {@link EventService}. - *

      - * This abstract class ties the Swing Actions with the Event Bus. When fired, an ActionEvent is published on an - * EventService - either the global EventBus or a Container EventService. - *

      - * There are two derivatives of this class: The EventBusAction, which publishes the ActionEvent on the global EventBus, - * and the ContainerEventServiceAction, which publishes the ActionEvent on the a local ContainerEventService. - *

      - * By default the ActionEvent is published on an EventService topic corresponding to this action's - * Action.ACTION_COMMAND_KEY. Though this behavior is highly configurable. See {@link #getTopicName(ActionEvent)} and - * {@link #setTopicName(String)} for ways to customize the topic used. Override {@link #getTopicValue(ActionEvent)} to - * publish an object other than the ActionEvent. - *

      - * Instead of publishing on a topic, the ActionEvent can be published using class-based publication, use {@link - * #setPublishesOnTopic(boolean)} to set this behavior. When using class-based publication, the ActionEvent is published - * by default. Override {@link #getEventServiceEvent(ActionEvent)} to publish an object other than the ActionEvent. - * - * @author Michael Bushe michael@bushe.com - */ -abstract class EventServiceAction extends AbstractAction { - public static final String EVENT_SERVICE_TOPIC_NAME = "event-service-topic"; - - private boolean throwsExceptionOnNullEventService = true; - public static final String EVENT_BUS_EVENT_CLASS_NAME = "eventBus.eventClassName"; - - private String topicName; - private boolean publishesOnTopic = true; - - public EventServiceAction() { - } - - public EventServiceAction(String actionName, ImageIcon icon) { - super(actionName, icon); - } - - - /** - * Override to return the EventService on which to publish. - * - * @param event the event passed to #execute(ActionEvent) - * - * @return the event service to publish on, if null and - * getThrowsExceptionOnNullEventService() is true (default) an exception is thrown - * - * @see EventBusAction - * @see ContainerEventServiceAction - */ - protected abstract EventService getEventService(ActionEvent event); - - /** @return true if this action publishes on a topic, false if it uses class-based publication. */ - public boolean isPublishesOnTopic() { - return publishesOnTopic; - } - - /** - * Sets whether this action publishes on a topic or uses class-based publication. - * - * @param onTopic true if publishes on topic (the default), false if using class-based publication. - */ - public void setPublishesOnTopic(boolean onTopic) { - this.publishesOnTopic = onTopic; - } - - /** - * Explicitly sets the topic name this action publishes on. - *

      - * A topic name does not need to be explicitly set. See {@link #getTopicName(ActionEvent)} to understand how the - * topic name is determined implicitly. - */ - public void setTopicName(String topicName) { - this.topicName = topicName; - } - - /** - * The topic name is the first non-null value out of:

      1. A topic name explicitly set via {@link - * #setTopicName(String)}
      2. the action's getValue("event-service-topic") {@link #EVENT_SERVICE_TOPIC_NAME}
      3. the - * action's getValue("ID") (for compatibility with the SAM ActionManager's ID)
      4. the action's {@link - * javax.swing.Action#ACTION_COMMAND_KEY}
      5. the action event's {@link javax.swing.Action#ACTION_COMMAND_KEY} - *
      6. the action's {@link javax.swing.Action#NAME} the value is used (if the value is not a String, the value's - * toString() is used). - *

        - * To use a different name, override this method. - * - * @param event the event passed to #execute(ActionEvent) - * - * @return the topic name to publish on, getId() by default - */ - public String getTopicName(ActionEvent event) { - if (topicName != null) { - return topicName; - } - Object topic = getValue(EVENT_SERVICE_TOPIC_NAME); - if (topic != null) { - return topic + ""; - } else { - topic = getValue("ID"); - if (topic != null) { - return topic + ""; - } else { - topic = getValue(Action.ACTION_COMMAND_KEY); - if (topic != null) { - return topic + ""; - } else { - topic = event.getActionCommand(); - if (topic != null) { - return topic + ""; - } else { - return (String) getName(); - } - } - } - } - } - - /** - * By default, the ActionEvent is the object published on the topic. Override this method to publish another - * object. - * - * @param event the event passed to #execute(ActionEvent) - * - * @return the topic value to publish, getId() by default - */ - protected Object getTopicValue(ActionEvent event) { - return event; - } - - /** @return the name of the action (javax.swing.Action#NAME) */ - public Object getName() { - return getValue(Action.NAME); - } - - /** - * If isPublishesOnTopic() returns false (i.e., when using class-based rather than topic-based publication), then - * override this method to publish an on object other than the ActionEvent. - * - * @return the Object to publish, cannot be null - */ - protected Object getEventServiceEvent(ActionEvent event) { - return event; - } - - /** - * Publishes the event on the EventService returned by getEventService(event) - *

        - * Gets the EventService from {@link #getEventService(java.awt.event.ActionEvent)}. Checks isPublishesOnTopic(). If true, - * gets the topic name from {@link #getTopicName(java.awt.event.ActionEvent)} and the topic value from {@link - * #getTopicValue(ActionEvent)}, and publishes the value on the topic on the EventService. If false, gets event from - * {@link #getEventServiceEvent(java.awt.event.ActionEvent)}, and publishes the event on the EventService. - *

        - * - * @param event the action event to publish. - * - * @throws RuntimeException if getThrowsExceptionOnNullEventService() && getEventService(event) == null - */ - public void actionPerformed(ActionEvent event) { - EventService eventService = getEventService(event); - if (eventService == null) { - if (getThrowsExceptionOnNullEventService()) { - throw new RuntimeException("Null EventService supplied to EventServiceAction with name:" + getName()); - } else { - return; - } - } - if (isPublishesOnTopic()) { - String topic = getTopicName(event); - Object topicValue = getTopicValue(event); - eventService.publish(topic, topicValue); - } else { - Object esEvent = getEventServiceEvent(event); - eventService.publish(esEvent); - } - } - - /** - * By default, exceptions are throw if getEventService() returns null. - * - * @return false to suppress this behavior - */ - public boolean getThrowsExceptionOnNullEventService() { - return throwsExceptionOnNullEventService; - } - - /** - * By default, exceptions are thrown if getEventService() returns null. - * - * @param throwsExceptionOnNullEventService true to suppress the exception when there is no event service - */ - public void setThrowsExceptionOnNullEventService(boolean throwsExceptionOnNullEventService) { - this.throwsExceptionOnNullEventService = throwsExceptionOnNullEventService; - } -} diff --git a/src/main/java/org/scijava/event/bushe/EventServiceEvent.java b/src/main/java/org/scijava/event/bushe/EventServiceEvent.java deleted file mode 100644 index 4eb3febaf..000000000 --- a/src/main/java/org/scijava/event/bushe/EventServiceEvent.java +++ /dev/null @@ -1,30 +0,0 @@ -/** - * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com - * - * Licensed 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.scijava.event.bushe; - -/** - * Convenience interface for events that get processed by the EventService, its usage is not required in any way. Any - * object can be published on an EventService or on the EventBus. - *

        - * It is a good practice to specify the source of the event when using pub/sub, especially in Swing applications. - * - * @author Michael Bushe michael@bushe.com - * @see AbstractEventServiceEvent for a simple base class - */ -interface EventServiceEvent { - /** @return The issuer of the event. */ - Object getSource(); -} diff --git a/src/main/java/org/scijava/event/bushe/EventServiceExistsException.java b/src/main/java/org/scijava/event/bushe/EventServiceExistsException.java deleted file mode 100644 index f993c9418..000000000 --- a/src/main/java/org/scijava/event/bushe/EventServiceExistsException.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.scijava.event.bushe; - -/** Exception thrown by the EventServiceLocator when an EventService already is registered for a name. */ -class EventServiceExistsException extends Exception { - public EventServiceExistsException(String msg) { - super(msg); - } -} diff --git a/src/main/java/org/scijava/event/bushe/EventServiceLocator.java b/src/main/java/org/scijava/event/bushe/EventServiceLocator.java deleted file mode 100644 index 7854dcd0b..000000000 --- a/src/main/java/org/scijava/event/bushe/EventServiceLocator.java +++ /dev/null @@ -1,174 +0,0 @@ -/** - * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com - * - * Licensed 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.scijava.event.bushe; - -import java.util.HashMap; -import java.util.Map; - -/** - * A central registry of EventServices. Used by the {@link EventBus}. - *

        - * By default will lazily hold a SwingEventService, which is mapped to {@link #SERVICE_NAME_SWING_EVENT_SERVICE} and - * returned by {@link #getSwingEventService()}. Also by default this same instance is returned by {@link #getEventBusService()}, - * is mapped to {@link #SERVICE_NAME_EVENT_BUS} and wrapped by the EventBus. - *

        - * Since the default EventService implementation is thread safe, and since it's not good to have lots of events on the - * EventDispatchThread you may want multiple EventServices running on multiple threads, perhaps pulling events from a - * server and coalescing them into one or more events that are pushed onto the EDT. - *

        - * To change the default implementation class for the EventBus' EventService, use the API: - *

        - * EventServiceLocator.setEventService(EventServiceLocator.SERVICE_NAME_EVENT_BUS, new SomeEventServiceImpl());
        - * 
        - * Or use system properties by: - *
        - * System.setProperty(EventServiceLocator.SERVICE_NAME_EVENT_BUS, YourEventServiceImpl.class.getName());
        - * 
        - * Likewise, you can set this on the command line via -Dorg.scijava.event.bushe.swingEventServiceClass=foo.YourEventServiceImpl - *

        - * To change the default implementation class for the SwingEventService, use the API: - *

        - * EventServiceLocator.setEventService(EventServiceLocator.SERVICE_NAME_SWING_EVENT_SERVICE, new SomeSwingEventServiceImpl());
        - * 
        - * Or use system properties by: - *
        - * System.setProperty(EventServiceLocator.SWING_EVENT_SERVICE_CLASS, YourEventServiceImpl.class.getName());
        - * 
        - * Likewise, you can set this on the command line via -Dorg.scijava.event.bushe.swingEventServiceClass=foo.YourEventServiceImpl - * - * @author Michael Bushe michael@bushe.com - */ -class EventServiceLocator { - /** The name "EventBus" is reserved for the service that the EventBus wraps and is returned by {@link #getEventBusService}.*/ - public static final String SERVICE_NAME_EVENT_BUS = "EventBus"; - /** The name "SwingEventService" is reserved for the service that is returned by {@link #getSwingEventService}. */ - public static final String SERVICE_NAME_SWING_EVENT_SERVICE = "SwingEventService"; - - /** - * Set this Java property to a Class that implements EventService to use an instance of that class instead of - * the instance returned by {@link #getSwingEventService}. Must be set before {@link #getEventBusService()} is called. - */ - public static final String EVENT_BUS_CLASS = "org.scijava.event.bushe.eventBusClass"; - /** - * Set this Java property to a Class that implements EventService to use an instance of that class instead of - * {@link SwingEventService} as service returned by {@link #getSwingEventService}. Must be set on startup or - * before the method {@link #getSwingEventService}is called. - */ - public static final String SWING_EVENT_SERVICE_CLASS = "org.scijava.event.bushe.swingEventServiceClass"; - - private static EventService EVENT_BUS_SERVICE; - private static EventService SWING_EVENT_SERVICE; - - private static final Map EVENT_SERVICES = new HashMap(); - - /** @return the singleton instance of the EventService used by the EventBus */ - public static synchronized EventService getEventBusService() { - if (EVENT_BUS_SERVICE == null) { - EVENT_BUS_SERVICE = getEventService(EVENT_BUS_CLASS, getSwingEventService()); - EVENT_SERVICES.put(SERVICE_NAME_EVENT_BUS, EVENT_BUS_SERVICE); - } - return EVENT_BUS_SERVICE; - } - - /** @return the singleton instance of a SwingEventService */ - public static synchronized EventService getSwingEventService() { - if (SWING_EVENT_SERVICE == null) { - SWING_EVENT_SERVICE = getEventService(SWING_EVENT_SERVICE_CLASS, new SwingEventService()); - EVENT_SERVICES.put(SERVICE_NAME_SWING_EVENT_SERVICE, SWING_EVENT_SERVICE); - } - return SWING_EVENT_SERVICE; - } - - /** - * @param serviceName the service name of the EventService, as registered by #setEventService(String, EventService), - * or {@link #SERVICE_NAME_EVENT_BUS} or {@link #SERVICE_NAME_SWING_EVENT_SERVICE} . - * - * @return a named event service instance - */ - public static synchronized EventService getEventService(String serviceName) { - EventService es = (EventService) EVENT_SERVICES.get(serviceName); - if (es == null) { - if (SERVICE_NAME_EVENT_BUS.equals(serviceName)) { - es = getEventBusService(); - } else if (SERVICE_NAME_SWING_EVENT_SERVICE.equals(serviceName)) { - es = getSwingEventService(); - } - } - return es; - } - - /** - * Registers a named EventService to the locator. Can be used to change the default EventBus implementation. - * - * @param serviceName a named event service instance - * @param es the EventService to attach to the service name - * - * @throws EventServiceExistsException if a service by this name already exists and the new service is non-null - */ - public static synchronized void setEventService(String serviceName, EventService es) throws EventServiceExistsException { - if (EVENT_SERVICES.get(serviceName) != null && es != null) { - throw new EventServiceExistsException("An event service by the name " + serviceName + "already exists. Perhaps multiple threads tried to create a service about the same time?"); - } else { - EVENT_SERVICES.put(serviceName, es); - if (SERVICE_NAME_EVENT_BUS.equals(serviceName)) { - EVENT_BUS_SERVICE = es; - } else if (SERVICE_NAME_SWING_EVENT_SERVICE.equals(serviceName)) { - SWING_EVENT_SERVICE = es; - } - } - } - - /** - * Use this carefully. Clears all the event services, including the SwingEventService (used by EventBus). - *

        - * Callers may want to resubscribe existing subscribers. - */ - static synchronized void clearAll() { - EVENT_SERVICES.clear(); - EVENT_BUS_SERVICE = null; - SWING_EVENT_SERVICE = null; - } - - private static synchronized EventService getEventService(String eventServiceClassPropertyName, EventService defaultService) { - EventService result; - String eventServiceClassName = System.getProperty(eventServiceClassPropertyName); - if (eventServiceClassName != null) { - Class sesClass; - try { - sesClass = Class.forName(eventServiceClassName); - } catch (ClassNotFoundException e) { - throw new RuntimeException("Could not find class specified in the property " + eventServiceClassPropertyName + ". Class=" + eventServiceClassName, e); - } - Object service; - try { - service = sesClass.newInstance(); - } catch (InstantiationException e) { - throw new RuntimeException("InstantiationException creating instance of class set from Java property" + eventServiceClassPropertyName + ". Class=" + eventServiceClassName, e); - } catch (IllegalAccessException e) { - throw new RuntimeException("IllegalAccessException creating instance of class set from Java property" + eventServiceClassPropertyName + ". Class=" + eventServiceClassName, e); - } - try { - result = (EventService) service; - } catch (ClassCastException ex) { - throw new RuntimeException("ClassCastException casting to " + EventService.class + " from instance of class set from Java property" + eventServiceClassPropertyName + ". Class=" + eventServiceClassName, ex); - } - } else { - result = defaultService; - } - return result; - } - -} diff --git a/src/main/java/org/scijava/event/bushe/EventSubscriber.java b/src/main/java/org/scijava/event/bushe/EventSubscriber.java index f501cf50b..03e8f9227 100644 --- a/src/main/java/org/scijava/event/bushe/EventSubscriber.java +++ b/src/main/java/org/scijava/event/bushe/EventSubscriber.java @@ -1,106 +1,35 @@ -package org.scijava.event.bushe; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - /** - * An Annotation for subscribing to EventService Events. - *

        - * This annotation simplifies much of the repetitive boilerplate used for subscribing to EventService Events. - *

        - * Instead of this: - *

        - * public class MyAppController implements EventSubscriber {
        - *   public MyAppController {
        - *      EventBus.subscribe(AppClosingEvent.class, this);
        - *   }
        - *   public void onEvent(EventServiceEvent event) {
        - *      AppClosingEvent appClosingEvent = (AppClosingEvent)event;
        - *      //do something
        - *   }
        - * }
        - * 
        - * You can do this: - *
        - * public class MyAppController {  //no interface necessary
        - *   public MyAppController {
        - *       AnnotationProcessor.process(this);//if not using AOP
        - *   }
        - *   @EventSubscriber
        - *   public void onAppClosingEvent(AppClosingEvent appClosingEvent) {//Use your own method name with typesafety
        - *      //do something
        - *   }
        - * }
        - * 
        - *

        - * That's pretty good, but when the controller does more, annotations are even nicer. - *

        - * public class MyAppController implements EventSubscriber {
        - *   public MyAppController {
        - *      EventBus.subscribe(AppStartingEvent.class, this);
        - *      EventBus.subscribe(AppClosingEvent.class, this);
        - *   }
        - *   public void onEvent(EventServiceEvent event) {
        - *      //wicked bad pattern, but we have to this
        - *      //...or create multiple subscriber classes and hold instances of them fields, which is even more verbose...
        - *      if (event instanceof AppStartingEvent) {
        - *         onAppStartingEvent((AppStartingEvent)event);
        - *      } else (event instanceof AppClosingEvent) {
        - *         onAppStartingEvent((AppClosingEvent)event);
        - *      }
        + * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com
          *
        - *   }
        + * Licensed 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
          *
        - *   public void onAppStartingEvent(AppStartingEvent appStartingEvent) {
        - *      //do something
        - *   }
        + * http://www.apache.org/licenses/LICENSE-2.0
          *
        - *   public void onAppClosingEvent(AppClosingEvent appClosingEvent) {
        - *      //do something
        - *   }
        - * }
        - * 
        - * You can do this: - *
        - * public class MyAppController {
        - *   public MyAppController {
        - *       AnnotationProcessor.process(this);//this line can be avoided with a compile-time tool or an Aspect
        - *   }
        - *   @EventSubscriber(eventClass=AppStartingEvent.class)
        - *   public void onAppStartingEvent(AppStartingEvent appStartingEvent) {
        - *      //do something
        - *   }
        - *   @EventSubscriber(eventClass=AppAppClosingEvent.class)
        - *   public void onAppClosingEvent(AppClosingEvent appClosingEvent) {
        - *      //do something
        - *   }
        - * }
        - * 
        - * Brief, clear, and easy. + * 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. */ -@Retention(RetentionPolicy.RUNTIME) -@Target(ElementType.METHOD) -@interface EventSubscriber { - /** The class to subscribe to, if not specified, a subscription is created for the type of the method parameter. */ - Class eventClass() default UseTheClassOfTheAnnotatedMethodsParameter.class; - - /** Determines the order in which this subscriber is called, default is FIFO.*/ - int priority() default 0; - - /** Whether or not to subscribe to the exact class or a class hierarchy, defaults to class hierarchy (false). */ - boolean exact() default false; - - /** Whether to subscribe weakly or strongly. */ - ReferenceStrength referenceStrength() default ReferenceStrength.WEAK; +package org.scijava.event.bushe; - /** The event service to subscribe to, default to the EventServiceLocator.SERVICE_NAME_EVENT_BUS. */ - String eventServiceName() default EventServiceLocator.SERVICE_NAME_EVENT_BUS; +/** + * Callback interface for class-based subscribers of an {@link EventService}. + * + * @author Michael Bushe michael@bushe.com + */ +public interface EventSubscriber { /** - * Whether or not to autocreate the event service if it doesn't exist on subscription, default is true. If the - * service needs to be created, it must have a default constructor. + * Handle a published event.

        The EventService calls this method on each publication of an object that matches the + * class or interface passed to one of the EventService's class-based subscribe methods, specifically, {@link + * EventService#subscribe(Class,EventSubscriber)} {@link EventService#subscribeExactly(Class,EventSubscriber)} + * {@link EventService#subscribeStrongly(Class,EventSubscriber)} and {@link EventService#subscribeExactlyStrongly(Class, + *EventSubscriber)}. + * + * @param event The Object that is being published. */ - Class autoCreateEventServiceClass() default ThreadSafeEventService.class; + public void onEvent(T event); } diff --git a/src/main/java/org/scijava/event/bushe/EventTopicPatternSubscriber.java b/src/main/java/org/scijava/event/bushe/EventTopicPatternSubscriber.java deleted file mode 100644 index 2e07fa70f..000000000 --- a/src/main/java/org/scijava/event/bushe/EventTopicPatternSubscriber.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.scijava.event.bushe; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -@Retention(RetentionPolicy.RUNTIME) -@Target(ElementType.METHOD) -@interface EventTopicPatternSubscriber { - /** The Regular Expression to subscribe to. */ - String topicPattern(); - - /** Whether or not to subscribe to the exact class or a class hierarchy, defaults to class hierarchy (false). */ - boolean exact() default false; - - /** Whether to subscribe weakly or strongly. */ - ReferenceStrength referenceStrength() default ReferenceStrength.WEAK; - - /** The event service to subscribe to, default to the EventServiceLocator.SERVICE_NAME_EVENT_BUS. */ - String eventServiceName() default EventServiceLocator.SERVICE_NAME_EVENT_BUS; - - /** - * Whether or not to autocreate the event service if it doesn't exist on subscription, default is true. If the - * service needs to be created, it must have a default constructor. - */ - Class autoCreateEventServiceClass() default ThreadSafeEventService.class; - - /** Determines the order in which this subscriber is called, default is FIFO.*/ - int priority() default 0; -} diff --git a/src/main/java/org/scijava/event/bushe/EventTopicSubscriber.java b/src/main/java/org/scijava/event/bushe/EventTopicSubscriber.java index 00f305ae7..54510621d 100644 --- a/src/main/java/org/scijava/event/bushe/EventTopicSubscriber.java +++ b/src/main/java/org/scijava/event/bushe/EventTopicSubscriber.java @@ -1,104 +1,38 @@ -package org.scijava.event.bushe; - - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - /** - * An Annotation for subscribing to EventService Topics. - *

        - * This annotation simplifies much of the repetitive boilerplate used for subscribing to EventService Topics. - *

        - * Instead of this: - *

        - * public class MyAppController implements EventTopicSubscriber {
        - *   public MyAppController {
        - *      EventBus.subscribe("AppClosing", this);
        - *   }
        - *   public void onEvent(String topic, Object data) {
        - *      JComponent source = (JComponent)data;
        - *      //do something
        - *   }
        - * }
        - * 
        - * You can do this: - *
        - * public class MyAppController {  //no interface necessary
        - *   public MyAppController {
        - *       AnnotationProcessor.process(this);//this line can be avoided with a compile-time tool or an Aspect
        - *   }
        - *   @EventTopicSubscriber{topic="AppClosingEvent"}
        - *   public void onAppClosing(String topic, Object data) {
        - *      //do something
        - *   }
        - * }
        - * 
        - *

        - * That's pretty good, but when the controller does more, annotations are even nicer. - *

        - * public class MyAppController implements EventTopicSubscriber {
        - *   public MyAppController {
        - *      EventBus.subscribe("AppStartingEvent", this);
        - *      EventBus.subscribe("AppClosingEvent", this);
        - *   }
        - *   public void onEvent(String topic, Object data) {
        - *      //wicked bad pattern, but we have to this
        - *      //...or create multiple subscriber classes and hold instances of them fields, which is even more verbose...
        - *      if ("AppStartingEvent".equals(topic)) {
        - *         onAppStartingEvent((JComponent)data);
        - *      } else ("AppClosingEvent".equals(topic)) {
        - *         onAppClosingEvent((JComponet)data);
        - *      }
        + * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com
          *
        - *   }
        + * Licensed 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
          *
        - *   public void onAppStartingEvent(JComponent requestor) {
        - *      //do something
        - *   }
        + * http://www.apache.org/licenses/LICENSE-2.0
          *
        - *   public void onAppClosingEvent(JComponent requestor) {
        - *      //do something
        - *   }
        - * }
        - * 
        - * Instead of all that, you can do this: - *
        - * public class MyAppController {
        - *   public MyAppController {
        - *       AnnotationProcessor.process(this);//this line can be avoided with a compile-time tool or an Aspect
        - *   }
        - *   @EventTopicSubscriber{topic="AppStartingEvent"}
        - *   public void onAppStartingEvent(Object data) {
        - *      //do something
        - *   }
        - *   @EventTopicSubscriber{topic="AppClosingEvent"}
        - *   public void onAppClosingEvent(Foo data) {
        - *      //do something
        - *   }
        - * }
        - * 
        - * Brief, clear, and easy. + * 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. */ -@Retention(RetentionPolicy.RUNTIME) -@Target(ElementType.METHOD) -@interface EventTopicSubscriber { - /** The topic to subscribe to */ - String topic(); - - /** Whether to subscribe weakly or strongly. */ - ReferenceStrength referenceStrength() default ReferenceStrength.WEAK; - - /** The event service to subscribe to, default to the EventServiceLocator.SERVICE_NAME_EVENT_BUS. */ - String eventServiceName() default EventServiceLocator.SERVICE_NAME_EVENT_BUS; +package org.scijava.event.bushe; - /** Determines the order in which this subscriber is called, default is FIFO.*/ - int priority() default 0; +/** + * Callback interface for topic-based subscribers of an {@link EventService}. + * + * @author Michael Bushe michael@bushe.com + */ +interface EventTopicSubscriber { /** - * Whether or not to autocreate the event service if it doesn't exist on subscription, default is true. If the - * service needs to be created, it must have a default constructor. + * Handle an event published on a topic. + *

        + * The EventService calls this method on each publication on a matching topic name passed to one of the + * EventService's topic-based subscribe methods, specifically, {@link EventService#subscribe(String, + *EventTopicSubscriber)} {@link EventService#subscribe(java.util.regex.Pattern,EventTopicSubscriber)} {@link + * EventService#subscribeStrongly(String,EventTopicSubscriber)} and {@link EventService#subscribeStrongly(java.util.regex.Pattern, + *EventTopicSubscriber)}. + * + * @param topic the name of the topic published on + * @param data the data object published on the topic */ - Class autoCreateEventServiceClass() default ThreadSafeEventService.class; + public void onEvent(String topic, T data); } diff --git a/src/main/java/org/scijava/event/bushe/IEventSubscriber.java b/src/main/java/org/scijava/event/bushe/IEventSubscriber.java deleted file mode 100644 index 26556c25b..000000000 --- a/src/main/java/org/scijava/event/bushe/IEventSubscriber.java +++ /dev/null @@ -1,35 +0,0 @@ -/** - * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com - * - * Licensed 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.scijava.event.bushe; - -/** - * Callback interface for class-based subscribers of an {@link EventService}. - * - * @author Michael Bushe michael@bushe.com - */ -public interface IEventSubscriber { - - /** - * Handle a published event.

        The EventService calls this method on each publication of an object that matches the - * class or interface passed to one of the EventService's class-based subscribe methods, specifically, {@link - * EventService#subscribe(Class,EventSubscriber)} {@link EventService#subscribeExactly(Class,EventSubscriber)} - * {@link EventService#subscribeStrongly(Class,EventSubscriber)} and {@link EventService#subscribeExactlyStrongly(Class, - *EventSubscriber)}. - * - * @param event The Object that is being published. - */ - public void onEvent(T event); -} diff --git a/src/main/java/org/scijava/event/bushe/IEventTopicSubscriber.java b/src/main/java/org/scijava/event/bushe/IEventTopicSubscriber.java deleted file mode 100644 index 04570b631..000000000 --- a/src/main/java/org/scijava/event/bushe/IEventTopicSubscriber.java +++ /dev/null @@ -1,38 +0,0 @@ -/** - * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com - * - * Licensed 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.scijava.event.bushe; - -/** - * Callback interface for topic-based subscribers of an {@link EventService}. - * - * @author Michael Bushe michael@bushe.com - */ -interface IEventTopicSubscriber { - - /** - * Handle an event published on a topic. - *

        - * The EventService calls this method on each publication on a matching topic name passed to one of the - * EventService's topic-based subscribe methods, specifically, {@link EventService#subscribe(String, - *EventTopicSubscriber)} {@link EventService#subscribe(java.util.regex.Pattern,EventTopicSubscriber)} {@link - * EventService#subscribeStrongly(String,EventTopicSubscriber)} and {@link EventService#subscribeStrongly(java.util.regex.Pattern, - *EventTopicSubscriber)}. - * - * @param topic the name of the topic published on - * @param data the data object published on the topic - */ - public void onEvent(String topic, T data); -} diff --git a/src/main/java/org/scijava/event/bushe/ObjectEvent.java b/src/main/java/org/scijava/event/bushe/ObjectEvent.java deleted file mode 100644 index 5a67d24a9..000000000 --- a/src/main/java/org/scijava/event/bushe/ObjectEvent.java +++ /dev/null @@ -1,42 +0,0 @@ -/** - * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com - * - * Licensed 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.scijava.event.bushe; - -/** - * A simple event that delivers an untyped object with a source object. - *

        - * Usage: EventBus.publish(new ObjectEvent(this, objectOfInterest); - * - * @author Michael Bushe michael@bushe.com - */ -class ObjectEvent extends AbstractEventServiceEvent { - private Object eventObject; - - /** - * Constructor - * - * @param sourceObject the source of the event - * @param payload the payload or eventObject of the event - */ - public ObjectEvent(Object sourceObject, Object payload) { - super(sourceObject); - this.eventObject = payload; - } - - public Object getEventObject() { - return eventObject; - } -} diff --git a/src/main/java/org/scijava/event/bushe/PrioritizedEventSubscriber.java b/src/main/java/org/scijava/event/bushe/PrioritizedEventSubscriber.java deleted file mode 100644 index af3a93dc8..000000000 --- a/src/main/java/org/scijava/event/bushe/PrioritizedEventSubscriber.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.scijava.event.bushe; - -/** - * This is a convenience interface, particularly for inner classes, that implements - * {@link IEventSubscriber} and {@link Prioritized}. - */ -interface PrioritizedEventSubscriber extends IEventSubscriber, Prioritized { -} diff --git a/src/main/java/org/scijava/event/bushe/PrioritizedEventTopicSubscriber.java b/src/main/java/org/scijava/event/bushe/PrioritizedEventTopicSubscriber.java deleted file mode 100644 index c58ce6b76..000000000 --- a/src/main/java/org/scijava/event/bushe/PrioritizedEventTopicSubscriber.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.scijava.event.bushe; - -/** - * This is a convenience interface, particularly for inner classes, that implements - * {@link org.scijava.event.bushe.IEventTopicSubscriber} and {@link org.scijava.event.bushe.Prioritized}. - */ -interface PrioritizedEventTopicSubscriber extends IEventTopicSubscriber, Prioritized { -} \ No newline at end of file diff --git a/src/main/java/org/scijava/event/bushe/ProxyTopicPatternSubscriber.java b/src/main/java/org/scijava/event/bushe/ProxyTopicPatternSubscriber.java deleted file mode 100644 index feaf2701b..000000000 --- a/src/main/java/org/scijava/event/bushe/ProxyTopicPatternSubscriber.java +++ /dev/null @@ -1,86 +0,0 @@ -package org.scijava.event.bushe; - -import java.lang.reflect.Method; -import java.util.regex.Pattern; - -/** - * A Proxy Subscriber for Annotations that use topic patterns - */ -class ProxyTopicPatternSubscriber extends ProxyTopicSubscriber { - private Pattern pattern; - - /** - * Creates a proxy. This does not subscribe it. - * - * @param proxiedSubscriber the subscriber that the proxy will call when an event is published - * @param subscriptionMethod the method the proxy will call, must have an Object as it's first and only parameter - * @param referenceStrength if the subscription is weak, the reference from the proxy to the real subscriber should - * be too - * @param es the EventService we will be subscribed to, since we may need to unsubscribe when weak refs no longer - * exist - * @param patternString the Regular Expression for topics to subscribe to, used for unsubscription only - */ - public ProxyTopicPatternSubscriber(Object proxiedSubscriber, Method subscriptionMethod, - ReferenceStrength referenceStrength, EventService es, String patternString, - Pattern pattern, boolean veto) { - this(proxiedSubscriber, subscriptionMethod, referenceStrength, 0, es, patternString, pattern, veto); - } - - /** - * Creates a proxy. This does not subscribe it. - * - * @param proxiedSubscriber the subscriber that the proxy will call when an event is published - * @param subscriptionMethod the method the proxy will call, must have an Object as it's first and only parameter - * @param referenceStrength if the subscription is weak, the reference from the proxy to the real subscriber should - * be too - * @param es the EventService we will be subscribed to, since we may need to unsubscribe when weak refs no longer - * exist - * @param patternString the Regular Expression for topics to subscribe to, used for unsubscription only - */ - public ProxyTopicPatternSubscriber(Object proxiedSubscriber, Method subscriptionMethod, - ReferenceStrength referenceStrength, int priority, - EventService es, String patternString, Pattern pattern, boolean veto) { - super(proxiedSubscriber, subscriptionMethod, referenceStrength, priority, es, patternString, veto); - this.pattern = pattern; - } - - protected void unsubscribe(String topic) { - if (veto) { - getEventService().unsubscribeVetoListener(pattern, this); - } else { - getEventService().unsubscribe(pattern, this); - } - pattern = null; - } - - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - if (!super.equals(o)) { - return false; - } - - ProxyTopicPatternSubscriber that = (ProxyTopicPatternSubscriber) o; - - if (pattern != null ? !pattern.equals(that.pattern) : that.pattern != null) { - return false; - } - - return true; - } - - public String toString() { - return "ProxyTopicPatternSubscriber{" + - "pattern=" + pattern + - "veto=" + veto + - "realSubscriber=" + getProxiedSubscriber() + - ", subscriptionMethod=" + getSubscriptionMethod() + - ", referenceStrength=" + getReferenceStrength() + - ", eventService=" + getEventService() + - '}'; - } -} diff --git a/src/main/java/org/scijava/event/bushe/ProxyTopicSubscriber.java b/src/main/java/org/scijava/event/bushe/ProxyTopicSubscriber.java deleted file mode 100644 index 76a821a10..000000000 --- a/src/main/java/org/scijava/event/bushe/ProxyTopicSubscriber.java +++ /dev/null @@ -1,144 +0,0 @@ -package org.scijava.event.bushe; - -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; - -/** A class that subscribes to an EventService on behalf of another object. - * This class is not used directly (though you could), but rather through the use of the - * {@link @org.scijava.event.bushe.annotation.EventTopicSubscriber}. Advanced EventBus - * users could use this class in Aspect-Oriented code. Consider using the - * {@link AnnotationProcessor} instead, it may suit your needs and be easier.*/ -class ProxyTopicSubscriber extends AbstractProxySubscriber - implements org.scijava.event.bushe.IEventTopicSubscriber, VetoTopicEventListener { - private String topic; - - /** - * Creates a proxy. This does not subscribe it. - * - * @param proxiedSubscriber the subscriber that the proxy will call when an event is published - * @param subscriptionMethod the method the proxy will call, must have an Object as it's first and only parameter - * @param referenceStrength if the subscription is weak, the reference from the proxy to the real subscriber should - * be too - * @param es the EventService we will be subscribed to, since we may need to unsubscribe when weak refs no longer - * exist - * @param topic the topic to subscribe to, used for unsubscription only - * @param veto if this proxy is for a veto subscriber - */ - public ProxyTopicSubscriber(Object proxiedSubscriber, Method subscriptionMethod, ReferenceStrength referenceStrength, - EventService es, String topic, boolean veto) { - this(proxiedSubscriber, subscriptionMethod, referenceStrength, 0, es, topic, veto); - } - - /** - * Creates a proxy. This does not subscribe it. - * - * @param proxiedSubscriber the subscriber that the proxy will call when an event is published - * @param subscriptionMethod the method the proxy will call, must have an Object as it's first and only parameter - * @param referenceStrength if the subscription is weak, the reference from the proxy to the real subscriber should - * be too - * @param es the EventService we will be subscribed to, since we may need to unsubscribe when weak refs no longer - * exist - * @param topic the topic to subscribe to, used for unsubscription only - * @param veto if this proxy is for a veto subscriber - */ - public ProxyTopicSubscriber(Object proxiedSubscriber, Method subscriptionMethod, ReferenceStrength referenceStrength, - int priority, EventService es, String topic, boolean veto) { - super(proxiedSubscriber, subscriptionMethod, referenceStrength, priority, es, veto); - this.topic = topic; - if (topic == null) { - throw new IllegalArgumentException("Proxies for topic subscribers require a non-null topic."); - } - Class[] params = subscriptionMethod.getParameterTypes(); - if (params == null || params.length != 2 || !String.class.equals(params[0]) || params[1].isPrimitive()) { - throw new IllegalArgumentException("The subscriptionMethod must have the two parameters, the first one must be a String and the second a non-primitive (Object or derivative)."); - } - } - - /** - * Handles the event publication by pushing it to the real subscriber's subscription Method. - * - * @param topic the topic on which the object is being published - * @param data The Object that is being published on the topic. - */ - public void onEvent(String topic, Object data) { - Object[] args = new Object[]{topic, data}; - Object obj = null; - Method subscriptionMethod = null; - try { - obj = getProxiedSubscriber(); - if (obj == null) { - return; - } - subscriptionMethod = getSubscriptionMethod(); - subscriptionMethod.invoke(obj, args); - } catch (IllegalAccessException e) { - String message = "IllegalAccessException when invoking annotated method from EventService publication. Topic:" + topic + ", data:" + data + ", subscriber:" + getProxiedSubscriber() + ", subscription Method=" + getSubscriptionMethod(); - retryReflectiveCallUsingAccessibleObject(args, subscriptionMethod, obj, e, message); - } catch (InvocationTargetException e) { - throw new RuntimeException("InvocationTargetException when invoking annotated method from EventService publication. Topic:" + topic + ", data:" + data + ", subscriber:" + getProxiedSubscriber() + ", subscription Method=" + getSubscriptionMethod(), e); - } - } - - - public boolean shouldVeto(String topic, Object data) { - Object[] args = new Object[]{topic, data}; - Object obj = null; - Method subscriptionMethod = null; - try { - obj = getProxiedSubscriber(); - if (obj == null) { - return false; - } - subscriptionMethod = getSubscriptionMethod(); - return Boolean.valueOf(subscriptionMethod.invoke(obj, args)+""); - } catch (IllegalAccessException e) { - String message = "IllegalAccessException when invoking annotated veto method from EventService publication. Topic:" + topic + ", data:" + data + ", subscriber:" + getProxiedSubscriber() + ", subscription Method=" + getSubscriptionMethod(); - return retryReflectiveCallUsingAccessibleObject(args, subscriptionMethod, obj, e, message); - } catch (InvocationTargetException e) { - throw new RuntimeException("InvocationTargetException when invoking annotated veto method from EventService publication. Topic:" + topic + ", data:" + data + ", subscriber:" + getProxiedSubscriber() + ", subscription Method=" + getSubscriptionMethod(), e); - } - } - - protected void unsubscribe(String topic) { - if (veto) { - getEventService().unsubscribeVetoListener(topic, this); - } else { - getEventService().unsubscribe(topic, this); - } - } - - @Override - public boolean equals(Object obj) { - if (obj instanceof ProxyTopicSubscriber) { - if (!super.equals(obj)) { - return false; - } - ProxyTopicSubscriber proxyTopicSubscriber = (ProxyTopicSubscriber) obj; - if (topic.equals(proxyTopicSubscriber.topic)) { - if (topic == null) { - return false; - } else { - if (!topic.equals(proxyTopicSubscriber.topic)) { - return false; - } - } - } - return true; - } else { - return false; - } - } - - - @Override - public String toString() { - return "ProxyTopicSubscriber{" + - "topic='" + topic + '\'' + - "veto='" + veto + '\'' + - "realSubscriber=" + getProxiedSubscriber() + - ", subscriptionMethod=" + getSubscriptionMethod() + - ", referenceStrength=" + getReferenceStrength() + - ", eventService=" + getEventService() + - '}'; - } -} diff --git a/src/main/java/org/scijava/event/bushe/RuntimeTopicEventSubscriber.java b/src/main/java/org/scijava/event/bushe/RuntimeTopicEventSubscriber.java deleted file mode 100644 index 3fb264538..000000000 --- a/src/main/java/org/scijava/event/bushe/RuntimeTopicEventSubscriber.java +++ /dev/null @@ -1,34 +0,0 @@ -package org.scijava.event.bushe; -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * A subscriber to a topic that is determined at runtime. - */ - -@Retention(RetentionPolicy.RUNTIME) -@Target(ElementType.METHOD) -@interface RuntimeTopicEventSubscriber { - /** - * @return name of a method (that must return a String) and whose return value will become the subscription topic. - */ - String methodName() default "getTopicName"; - - /** @return Whether to subscribe weakly or strongly. */ - ReferenceStrength referenceStrength() default ReferenceStrength.WEAK; - - /** - * @return event service to subscribe to, default to the EventServiceLocator.SERVICE_NAME_EVENT_BUS. - */ - String eventServiceName() default EventServiceLocator.SERVICE_NAME_EVENT_BUS; - - /** @return Determines the order in which this subscriber is called, default is FIFO.*/ - int priority() default 0; - - /** - * @return Whether or not to autocreate the event service if it doesn't exist on subscription, default is true. If the service needs to be created, it must have a default constructor. - */ - Class autoCreateEventServiceClass() default ThreadSafeEventService.class; -} \ No newline at end of file diff --git a/src/main/java/org/scijava/event/bushe/RuntimeTopicPatternEventSubscriber.java b/src/main/java/org/scijava/event/bushe/RuntimeTopicPatternEventSubscriber.java deleted file mode 100644 index 6d88c1432..000000000 --- a/src/main/java/org/scijava/event/bushe/RuntimeTopicPatternEventSubscriber.java +++ /dev/null @@ -1,34 +0,0 @@ -package org.scijava.event.bushe; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -@Retention(RetentionPolicy.RUNTIME) -@Target(ElementType.METHOD) -@interface RuntimeTopicPatternEventSubscriber { - /** - * @return name of a method (which should return a String) and whose return value will become the subscription topic. - */ - String methodName() default "getTopicPatternName"; - - /** @return Whether to subscribe weakly or strongly. */ - ReferenceStrength referenceStrength() default ReferenceStrength.WEAK; - - /** - * @return event service to subscribe to, default to the EventServiceLocator.SERVICE_NAME_EVENT_BUS. - */ - String eventServiceName() default EventServiceLocator.SERVICE_NAME_EVENT_BUS; - - /** @return Determines the order in which this subscriber is called, default is FIFO.*/ - int priority() default 0; - - /** @return Whether or not to subscribe to the exact class or a class hierarchy, defaults to class hierarchy (false). */ - boolean exact() default false; - - /** - * @return Whether or not to autocreate the event service if it doesn't exist on subscription, default is true. If the service needs to be created, it must have a default constructor. - */ - Class autoCreateEventServiceClass() default ThreadSafeEventService.class; -} diff --git a/src/main/java/org/scijava/event/bushe/SubscriberTimingEvent.java b/src/main/java/org/scijava/event/bushe/SubscriberTimingEvent.java deleted file mode 100644 index 3037ee83e..000000000 --- a/src/main/java/org/scijava/event/bushe/SubscriberTimingEvent.java +++ /dev/null @@ -1,116 +0,0 @@ -/** - * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com - * - * Licensed 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.scijava.event.bushe; - -/** - * This event is published internally to report timing for subscribers on an EventService. Applications may subscribe to - * this event to do handle subscribers that take too long. - * - * @author Michael Bushe michael@bushe.com - * @see ThreadSafeEventService - */ -class SubscriberTimingEvent extends AbstractEventServiceEvent { - private Long start; - private Long end; - private Long timeLimitMilliseconds; - private Object event; - private IEventSubscriber subscriber; - private VetoEventListener vetoEventListener; - private String stringified; - - /** - * Create a timing event - * - * @param source event source - * @param start system time at start of the notification of listener - * @param end system time at end of the notification of listener - * @param timeLimitMilliseconds expected maximum time - * @param event the published event - * @param subscriber the event subscriber that went over the time limit, can be null if vetoEventListener is not - * null - * @param vetoEventListener the vetoEventListener that took too long, can be null if the eventListener is not null - */ - public SubscriberTimingEvent(Object source, Long start, Long end, Long timeLimitMilliseconds, - Object event, IEventSubscriber subscriber, VetoEventListener vetoEventListener) { - super(source); - this.start = start; - this.end = end; - this.timeLimitMilliseconds = timeLimitMilliseconds; - this.event = event; - this.subscriber = subscriber; - this.vetoEventListener = vetoEventListener; - String type = "EventServiceSubscriber"; - String thing = ", EventServiceSubscriber:" + subscriber; - if (vetoEventListener != null) { - type = "VetoEventListener"; - thing = ", VetoEventListener" + vetoEventListener; - } - try { - stringified = "Time limit exceeded for " + type + ". Handling time=" + (end.longValue() - start.longValue()) + - ", Time limit=" + timeLimitMilliseconds + ", event:" + event - + thing + ", start:" + start + ", end:" + end; - } catch (Exception ex) { - stringified = "Time limit exceeded for event, toString threw and exception."; - } - } - - /** @return system time at start of the notification of listener */ - public Long getStart() { - return start; - } - - /** @return system time at end of the notification of listener */ - public Long getEnd() { - return end; - } - - /** @return expected maximum time */ - public Long getTimeLimitMilliseconds() { - return timeLimitMilliseconds; - } - - /** @return the published event */ - public Object getEvent() { - return event; - } - - /** - * @return subscriber the event subscriber that went over the time limit, can be null if vetoEventListener is not - * null - */ - public IEventSubscriber getSubscriber() { - return subscriber; - } - - /** @return the vetoEventListener that took too long, can be null if the eventListener is not null */ - public VetoEventListener getVetoEventListener() { - return vetoEventListener; - } - - /** @return true if a veto listener took too long, false if an EventSubscriber took took long */ - public boolean isVetoExceeded() { - return vetoEventListener != null; - } - - /** @return true if an EventSubscriber took too long, false if a veto listener took took long */ - public boolean isEventHandlingExceeded() { - return subscriber == null; - } - - public String toString() { - return stringified; - } -} diff --git a/src/main/java/org/scijava/event/bushe/SwingEventService.java b/src/main/java/org/scijava/event/bushe/SwingEventService.java deleted file mode 100644 index 20d40e7b3..000000000 --- a/src/main/java/org/scijava/event/bushe/SwingEventService.java +++ /dev/null @@ -1,93 +0,0 @@ -/** - * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com - * - * Licensed 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.scijava.event.bushe; - -import javax.swing.*; -import java.util.Arrays; -import java.util.List; - -/** - * An {@link EventService} implementation for Swing. - *

        - * This class is Swing thread-safe. All publish() calls NOT on the Swing EventDispatchThread thread are queued onto the - * EDT. If the calling thread is the EDT, then this is a simple pass-through (i.e the subscribers are notified on the - * same stack frame, just like they would be had they added themselves via Swing addXXListener methods). - * - * @author Michael Bushe michael@bushe.com - */ -class SwingEventService extends ThreadSafeEventService { - - /** - * By default, the SwingEventService is constructed such that any listener that takes over 200 ms causes an - * SubscriberTimingEvent to be published. You will need to add a subscriber to this event. Note that if you use - * event to launch a modal dialog, the timings will be as long as the dialog is up - this is the way Swing works. - */ - public SwingEventService() { - super((long) 200, false, null, null, null); - } - - public SwingEventService(Long timeThresholdForEventTimingEventPublication) { - super(timeThresholdForEventTimingEventPublication, false, null, null, null); - } - - /** - * Create a SwingEventService is such that any listener that takes over timeThresholdForEventTimingEventPublication - * milliseconds causes an EventSubscriberTimingEvent to be published. You can add a subscriber to this event or set - * subscribeTimingEventsInternally to true to cause the default logging to occur through the protected {@link - * #subscribeTiming(SubscriberTimingEvent)} call. - *

        - * Note that if you use event to launch a modal dialog, the timings will be as long as the dialog is up - this is the - * way Swing works. - * - * @param timeThresholdForEventTimingEventPublication the longest time a subscriber should spend handling an event, - * The service will publish an SubscriberTimingEvent after listener processing if the time was exceeded. If null, no - * SubscriberTimingEvent will be issued. - * @param subscribeTimingEventsInternally add a subscriber to the EventSubscriberTimingEvent internally and call the - * protected {@link #subscribeTiming(SubscriberTimingEvent)} method when they occur. This logs a warning to the - * {@link Logger} logger by default. - * - * @throws IllegalArgumentException if timeThresholdForEventTimingEventPublication is null and - * subscribeTimingEventsInternally is true. - */ - public SwingEventService(Long timeThresholdForEventTimingEventPublication, boolean subscribeTimingEventsInternally) { - super(timeThresholdForEventTimingEventPublication, subscribeTimingEventsInternally, null, null, null); - } - - /** - * Same as ThreadSafeEventService.publish(), except if the call is coming from a thread that is not the Swing Event - * Dispatch Thread, the request is put on the EDT through a a call to SwingUtilities.invokeLater(). Otherwise this - * DOES NOT post a new event on the EDT. The subscribers are called on the same EDT event, just like addXXXListeners - * would be. - */ - protected void publish(final Object event, final String topic, final Object eventObj, - final List subscribers, final List vetoSubscribers, final StackTraceElement[] callingStack) { - if (SwingUtilities.isEventDispatchThread()) { - super.publish(event, topic, eventObj, subscribers, vetoSubscribers, callingStack); - } else { - //Make call to this method - stick on the EDT if not on the EDT - //Check the params first so that this thread can get the exception thrown - SwingUtilities.invokeLater(new Runnable() { - public void run() { - if (LOG.isLoggable(Logger.Level.DEBUG)) { - LOG.debug("publish(" + event + "," + topic + "," + eventObj - + "), called from non-EDT Thread:" + Arrays.toString(callingStack)); - } - SwingEventService.super.publish(event, topic, eventObj, subscribers, vetoSubscribers, callingStack); - } - }); - } - } -} diff --git a/src/main/java/org/scijava/event/bushe/ThreadSafeEventService.java b/src/main/java/org/scijava/event/bushe/ThreadSafeEventService.java index 1f3868fd2..685af6b42 100644 --- a/src/main/java/org/scijava/event/bushe/ThreadSafeEventService.java +++ b/src/main/java/org/scijava/event/bushe/ThreadSafeEventService.java @@ -181,7 +181,7 @@ public class ThreadSafeEventService implements EventService { /** Creates a ThreadSafeEventService that does not monitor timing of handlers. */ public ThreadSafeEventService() { - this(null, false, null, null, null); + this(null, null, null, null); } /** @@ -192,21 +192,7 @@ public ThreadSafeEventService() { * EventSubscriberTimingEvent will be issued. */ public ThreadSafeEventService(Long timeThresholdForEventTimingEventPublication) { - this(timeThresholdForEventTimingEventPublication, false, null, null, null); - } - - /** - * Creates a ThreadSafeEventService while providing time monitoring options. - * - * @param timeThresholdForEventTimingEventPublication the longest time a subscriber should spend handling an event, - * The service will publish an SubscriberTimingEvent after listener processing if the time was exceeded. If null, no - * EventSubscriberTimingEvent will be issued. - * @param subscribeTimingEventsInternally add a subscriber to the SubscriberTimingEvent internally and call the - * protected subscribeTiming() method when they occur. This logs a warning to the {@link Logger} by - * default. - */ - public ThreadSafeEventService(Long timeThresholdForEventTimingEventPublication, boolean subscribeTimingEventsInternally) { - this(timeThresholdForEventTimingEventPublication, subscribeTimingEventsInternally, null, null, null); + this(timeThresholdForEventTimingEventPublication, null, null, null); } /** @@ -219,8 +205,7 @@ public ThreadSafeEventService(Long timeThresholdForEventTimingEventPublication, */ public ThreadSafeEventService(Integer cleanupStartThreshold, Integer cleanupStopThreshold, Long cleanupPeriodMS) { - this(null, false, cleanupStartThreshold, - cleanupStopThreshold, cleanupPeriodMS); + this(null, cleanupStartThreshold, cleanupStopThreshold, cleanupPeriodMS); } /** @@ -229,31 +214,13 @@ public ThreadSafeEventService(Integer cleanupStartThreshold, * @param timeThresholdForEventTimingEventPublication the longest time a subscriber should spend handling an event. * The service will publish an SubscriberTimingEvent after listener processing if the time was exceeded. If null, no * SubscriberTimingEvent will be issued. - * @param subscribeTimingEventsInternally add a subscriber to the SubscriberTimingEvent internally and call the - * protected subscribeTiming() method when they occur. This logs a warning to the {@link Logger} by - * default. * @param cleanupStartThreshold see class javadoc. * @param cleanupStopThreshold see class javadoc. * @param cleanupPeriodMS see class javadoc. - * - * @throws IllegalArgumentException if timeThresholdForEventTimingEventPublication is null and - * subscribeTimingEventsInternally is true. */ public ThreadSafeEventService(Long timeThresholdForEventTimingEventPublication, - boolean subscribeTimingEventsInternally, Integer cleanupStartThreshold, - Integer cleanupStopThreshold, Long cleanupPeriodMS) { - if (timeThresholdForEventTimingEventPublication == null && subscribeTimingEventsInternally) { - throw new IllegalArgumentException("null, true in constructor is not valid. If you want to send timing messages for all events and subscribe them internally, pass 0, true"); - } + Integer cleanupStartThreshold, Integer cleanupStopThreshold, Long cleanupPeriodMS) { this.timeThresholdForEventTimingEventPublication = timeThresholdForEventTimingEventPublication; - if (subscribeTimingEventsInternally) { - //Listen to timing events and log them - subscribeStrongly(SubscriberTimingEvent.class, new IEventSubscriber() { - public void onEvent(Object event) { - subscribeTiming((SubscriberTimingEvent) event); - } - }); - } if (cleanupStartThreshold == null) { this.cleanupStartThreshhold = CLEANUP_START_THRESHOLD_DEFAULT; } else { @@ -332,8 +299,8 @@ public void setCleanupPeriodMS(Long cleanupPeriodMS) { } } - /** @see EventService#subscribe(Class,IEventSubscriber) */ - public boolean subscribe(Class cl, IEventSubscriber eh) { + /** @see EventService#subscribe(Class,EventSubscriber) */ + public boolean subscribe(Class cl, EventSubscriber eh) { if (cl == null) { throw new IllegalArgumentException("Event class must not be null"); } @@ -343,16 +310,16 @@ public boolean subscribe(Class cl, IEventSubscriber eh) { if (LOG.isLoggable(Level.DEBUG)) { LOG.debug("Subscribing by class, class:" + cl + ", subscriber:" + eh); } - return subscribe(cl, subscribersByEventClass, new WeakReference(eh)); + return subscribe(cl, subscribersByEventClass, new WeakReference(eh)); } - /** @see EventService#subscribe(java.lang.reflect.Type, IEventSubscriber) */ - public boolean subscribe(Type type, IEventSubscriber eh) { - return subscribe(type, subscribersByEventType, new WeakReference(eh)); + /** @see EventService#subscribe(java.lang.reflect.Type, EventSubscriber) */ + public boolean subscribe(Type type, EventSubscriber eh) { + return subscribe(type, subscribersByEventType, new WeakReference(eh)); } - /** @see EventService#subscribeExactly(Class,IEventSubscriber) */ - public boolean subscribeExactly(Class cl, IEventSubscriber eh) { + /** @see EventService#subscribeExactly(Class,EventSubscriber) */ + public boolean subscribeExactly(Class cl, EventSubscriber eh) { if (cl == null) { throw new IllegalArgumentException("Event class must not be null"); } @@ -362,11 +329,11 @@ public boolean subscribeExactly(Class cl, IEventSubscriber eh) { if (LOG.isLoggable(Level.DEBUG)) { LOG.debug("Subscribing by class, class:" + cl + ", subscriber:" + eh); } - return subscribe(cl, subscribersByExactEventClass, new WeakReference(eh)); + return subscribe(cl, subscribersByExactEventClass, new WeakReference(eh)); } - /** @see EventService#subscribe(String,IEventTopicSubscriber) */ - public boolean subscribe(String topic, IEventTopicSubscriber eh) { + /** @see EventService#subscribe(String,EventTopicSubscriber) */ + public boolean subscribe(String topic, EventTopicSubscriber eh) { if (topic == null) { throw new IllegalArgumentException("Topic must not be null"); } @@ -376,11 +343,11 @@ public boolean subscribe(String topic, IEventTopicSubscriber eh) { if (LOG.isLoggable(Level.DEBUG)) { LOG.debug("Subscribing by topic name, name:" + topic + ", subscriber:" + eh); } - return subscribe(topic, subscribersByTopic, new WeakReference(eh)); + return subscribe(topic, subscribersByTopic, new WeakReference(eh)); } - /** @see EventService#subscribe(Pattern,IEventTopicSubscriber) */ - public boolean subscribe(Pattern pat, IEventTopicSubscriber eh) { + /** @see EventService#subscribe(Pattern,EventTopicSubscriber) */ + public boolean subscribe(Pattern pat, EventTopicSubscriber eh) { if (pat == null) { throw new IllegalArgumentException("Pattern must not be null"); } @@ -391,11 +358,11 @@ public boolean subscribe(Pattern pat, IEventTopicSubscriber eh) { LOG.debug("Subscribing by pattern, pattern:" + pat + ", subscriber:" + eh); } PatternWrapper patternWrapper = new PatternWrapper(pat); - return subscribe(patternWrapper, subscribersByTopicPattern, new WeakReference(eh)); + return subscribe(patternWrapper, subscribersByTopicPattern, new WeakReference(eh)); } - /** @see EventService#subscribeStrongly(Class,IEventSubscriber) */ - public boolean subscribeStrongly(Class cl, IEventSubscriber eh) { + /** @see EventService#subscribeStrongly(Class,EventSubscriber) */ + public boolean subscribeStrongly(Class cl, EventSubscriber eh) { if (LOG.isLoggable(Level.DEBUG)) { LOG.debug("Subscribing weakly by class, class:" + cl + ", subscriber:" + eh); } @@ -405,8 +372,8 @@ public boolean subscribeStrongly(Class cl, IEventSubscriber eh) { return subscribe(cl, subscribersByEventClass, eh); } - /** @see EventService#subscribeExactlyStrongly(Class,IEventSubscriber) */ - public boolean subscribeExactlyStrongly(Class cl, IEventSubscriber eh) { + /** @see EventService#subscribeExactlyStrongly(Class,EventSubscriber) */ + public boolean subscribeExactlyStrongly(Class cl, EventSubscriber eh) { if (cl == null) { throw new IllegalArgumentException("Event class must not be null"); } @@ -419,8 +386,8 @@ public boolean subscribeExactlyStrongly(Class cl, IEventSubscriber eh) { return subscribe(cl, subscribersByExactEventClass, eh); } - /** @see EventService#subscribeStrongly(String,IEventTopicSubscriber) */ - public boolean subscribeStrongly(String name, IEventTopicSubscriber eh) { + /** @see EventService#subscribeStrongly(String,EventTopicSubscriber) */ + public boolean subscribeStrongly(String name, EventTopicSubscriber eh) { if (LOG.isLoggable(Level.DEBUG)) { LOG.debug("Subscribing weakly by topic name, name:" + name + ", subscriber:" + eh); } @@ -430,8 +397,8 @@ public boolean subscribeStrongly(String name, IEventTopicSubscriber eh) { return subscribe(name, subscribersByTopic, eh); } - /** @see EventService#subscribeStrongly(Pattern,IEventTopicSubscriber) */ - public boolean subscribeStrongly(Pattern pat, IEventTopicSubscriber eh) { + /** @see EventService#subscribeStrongly(Pattern,EventTopicSubscriber) */ + public boolean subscribeStrongly(Pattern pat, EventTopicSubscriber eh) { if (pat == null) { throw new IllegalArgumentException("Pattern must not be null"); } @@ -673,30 +640,30 @@ protected boolean subscribe(final Object classTopicOrPatternWrapper, final Map timeThresholdForEventTimingEventPublication.longValue()) { - publish(new SubscriberTimingEvent(this, new Long(start), new Long(end), timeThresholdForEventTimingEventPublication, event, subscriber, l)); - } - } - - protected void subscribeTiming(SubscriberTimingEvent event) { - LOG.log(Level.INFO, event + ""); - } - /** * Handle vetos of an event or topic, by default logs finely. * @@ -1989,7 +1938,7 @@ protected void subscribeVetoException(final Object event, final String topic, fi /** Called during event handling exceptions, calls handleException */ protected void onEventException(final String topic, final Object eventObj, Throwable e, - StackTraceElement[] callingStack, IEventTopicSubscriber eventTopicSubscriber) { + StackTraceElement[] callingStack, EventTopicSubscriber eventTopicSubscriber) { String str = "EventService topic subscriber:" + eventTopicSubscriber; if (eventTopicSubscriber != null) { str = str + ". Subscriber class:" + eventTopicSubscriber.getClass(); @@ -1999,7 +1948,7 @@ protected void onEventException(final String topic, final Object eventObj, Throw /** Called during event handling exceptions, calls handleException */ protected void handleException(final Object event, Throwable e, - StackTraceElement[] callingStack, IEventSubscriber eventSubscriber) { + StackTraceElement[] callingStack, EventSubscriber eventSubscriber) { String str = "EventService subscriber:" + eventSubscriber; if (eventSubscriber != null) { str = str + ". Subscriber class:" + eventSubscriber.getClass(); diff --git a/src/main/java/org/scijava/event/bushe/UseTheClassOfTheAnnotatedMethodsParameter.java b/src/main/java/org/scijava/event/bushe/UseTheClassOfTheAnnotatedMethodsParameter.java deleted file mode 100644 index 490303378..000000000 --- a/src/main/java/org/scijava/event/bushe/UseTheClassOfTheAnnotatedMethodsParameter.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.scijava.event.bushe; - -/** - * This is a dummy class to get around a limitation with annotations. - *

        - * It's nice to use an @EventSubscriber annotation without any parameters. For example: - *

        - * @EventSubscriber public void onEvent(FooEvent event) { //do something } 
        In this case, the method should - * obviously be subscribed to the FooEvent class. Since the eventClass is not required, annotations require a default to - * be supplied. A default of null is not allowed by the compiler since it is not a class literal. A default of - * Object.class cannot be used, since it is legal to subscribe to Object. hence, this class was created which documents - * the issue and provides decent feedback when using an IDE's parameter insight. - */ -final class UseTheClassOfTheAnnotatedMethodsParameter { -} diff --git a/src/main/java/org/scijava/event/bushe/VetoRuntimeTopicPatternSubscriber.java b/src/main/java/org/scijava/event/bushe/VetoRuntimeTopicPatternSubscriber.java deleted file mode 100644 index 3a6283fe0..000000000 --- a/src/main/java/org/scijava/event/bushe/VetoRuntimeTopicPatternSubscriber.java +++ /dev/null @@ -1,34 +0,0 @@ -package org.scijava.event.bushe; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -@Retention(RetentionPolicy.RUNTIME) -@Target(ElementType.METHOD) -@interface VetoRuntimeTopicPatternSubscriber { - /** - * @return name of a method (which should return a String) and whose return value will become the subscription topic. - */ - public abstract String methodName() default "getTopicPatternName"; - - /** @return Whether to subscribe weakly or strongly. */ - public abstract ReferenceStrength referenceStrength() default ReferenceStrength.WEAK; - - /** - * @return event service to subscribe to, default to the EventServiceLocator.SERVICE_NAME_EVENT_BUS. - */ - public abstract String eventServiceName() default EventServiceLocator.SERVICE_NAME_EVENT_BUS; - - /** @return Determines the order in which this subscriber is called, default is FIFO.*/ - public abstract int priority() default 0; - - /** @return Whether or not to subscribe to the exact class or a class hierarchy, defaults to class hierarchy (false). */ - public abstract boolean exact() default false; - - /** - * @return Whether or not to autocreate the event service if it doesn't exist on subscription, default is true. If the service needs to be created, it must have a default constructor. - */ - public abstract Class autoCreateEventServiceClass() default ThreadSafeEventService.class; -} diff --git a/src/main/java/org/scijava/event/bushe/VetoRuntimeTopicSubscriber.java b/src/main/java/org/scijava/event/bushe/VetoRuntimeTopicSubscriber.java deleted file mode 100644 index e5ce7d6eb..000000000 --- a/src/main/java/org/scijava/event/bushe/VetoRuntimeTopicSubscriber.java +++ /dev/null @@ -1,34 +0,0 @@ -package org.scijava.event.bushe; -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * A veto subscriber to a topic that is determined at runtime. - */ - -@Retention(RetentionPolicy.RUNTIME) -@Target(ElementType.METHOD) -@interface VetoRuntimeTopicSubscriber { - /** - * @return name of a method (that must return a String) and whose return value will become the subscription topic. - */ - public abstract String methodName() default "getTopicName"; - - /** @return Whether to subscribe weakly or strongly. */ - public abstract ReferenceStrength referenceStrength() default ReferenceStrength.WEAK; - - /** - * @return event service to subscribe to, default to the EventServiceLocator.SERVICE_NAME_EVENT_BUS. - */ - public abstract String eventServiceName() default EventServiceLocator.SERVICE_NAME_EVENT_BUS; - - /** @return Determines the order in which this subscriber is called, default is FIFO.*/ - public abstract int priority() default 0; - - /** - * @return Whether or not to autocreate the event service if it doesn't exist on subscription, default is true. If the service needs to be created, it must have a default constructor. - */ - public abstract Class autoCreateEventServiceClass() default ThreadSafeEventService.class; -} diff --git a/src/main/java/org/scijava/event/bushe/VetoSubscriber.java b/src/main/java/org/scijava/event/bushe/VetoSubscriber.java deleted file mode 100644 index e8172744e..000000000 --- a/src/main/java/org/scijava/event/bushe/VetoSubscriber.java +++ /dev/null @@ -1,65 +0,0 @@ -package org.scijava.event.bushe; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * An Annotation for adding VetoListener subscriptions to EventService Events. - *

        - * This annotation simplifies much of the repetitive boilerplate used for adding veto listeners - * (which in EventBus 2.0 will be called VetoSubscribers, thus this annotation name difference) - * to EventService Events. Example: - *

        - *

        - * public class MyAppController {
        - *   public MyAppController {
        - *       AnnotationProcessor.process(this);//this line can be avoided with a compile-time tool or an Aspect
        - *   }
        - *   @EventSubscriber(eventClass=AppAppClosingEvent.class)
        - *   public void onAppClosingEvent(AppClosingEvent appClosingEvent) {
        - *      //close connections, close windows
        - *   }
        - * }
        - *
        - * public class MyDocumentController {
        - *   @VetoSubscriber(eventClass=AppAppClosingEvent.class)
        - *   public boolean ensureDocumentIsSaved(AppAppClosingEvent appClosingEvent) {
        - *      if (docHasUnsavedChanges()) {
        - *         boolean answer = MyModalDialog.show("Are you sure you want to close and lose your changes?");
        - *         if (answer == StandardButtonValues.Cancel) {
        - *            //stop processing this event
        - *            return true;
        - *         }
        - *      }
        - *      //It's OK to close
        - *      return false;
        - *   }
        - * }
        - * 
        - */ -@Retention(RetentionPolicy.RUNTIME) -@Target(ElementType.METHOD) -@interface VetoSubscriber { - /** The class to subscribe to, if not specified, a subscription is created for the type of the method parameter. */ - public abstract Class eventClass() default UseTheClassOfTheAnnotatedMethodsParameter.class; - - /** Determines the order in which this veto subscriber is called, default is FIFO.*/ - public abstract int priority() default 0; - - /** Whether or not to subscribe to the exact class or a class hierarchy, defaults to class hierarchy (false). */ - public abstract boolean exact() default false; - - /** Whether to subscribe weakly or strongly. */ - public abstract ReferenceStrength referenceStrength() default ReferenceStrength.WEAK; - - /** The event service to subscribe to, default to the EventServiceLocator.SERVICE_NAME_EVENT_BUS. */ - public abstract String eventServiceName() default EventServiceLocator.SERVICE_NAME_EVENT_BUS; - - /** - * Whether or not to autocreate the event service if it doesn't exist on subscription, default is true. If the - * service needs to be created, it must have a default constructor. - */ - public abstract Class autoCreateEventServiceClass() default ThreadSafeEventService.class; -} diff --git a/src/main/java/org/scijava/event/bushe/VetoTopicPatternSubscriber.java b/src/main/java/org/scijava/event/bushe/VetoTopicPatternSubscriber.java deleted file mode 100644 index 72de5cbed..000000000 --- a/src/main/java/org/scijava/event/bushe/VetoTopicPatternSubscriber.java +++ /dev/null @@ -1,62 +0,0 @@ -package org.scijava.event.bushe; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * An Annotation for adding VetoTopicPatternListener subscriptions to EventService Events. - *

        - * This annotation simplifies much of the repetitive boilerplate used for adding veto topic pattern listeners - * (which in EventBus 2.0 will be called VetoTopicPatternSubscribers, thus this annotation name difference) - * to EventService Events. Example: - *

        - *

        - * public class MyAppController {
        - *   public MyAppController {
        - *       AnnotationProcessor.process(this);//this line can be avoided with a compile-time tool or an Aspect
        - *   }
        - *   @EvenTopicSubscriber(topic="App.Close.*")
        - *   public void onAppClosingEvent(String topic, Object payload) {
        - *      //close connections, close windows
        - *   }
        - * }
        - *
        - * public class MyDocumentController {
        - *   @VetoTopicSubscriber(topic="App.Close.*")
        - *   public boolean ensureDocumentIsSaved(String topic, Object payload) {
        - *      if (docHasUnsavedChanges()) {
        - *         boolean answer = MyModalDialog.show("Are you sure you want to close and lose your changes?");
        - *         if (answer == StandardButtonValues.Cancel) {
        - *            //stop processing this event
        - *            return true;
        - *         }
        - *      }
        - *      //It's OK to close
        - *      return false;
        - *   }
        - * }
        - * 
        - */ -@Retention(RetentionPolicy.RUNTIME) -@Target(ElementType.METHOD) -@interface VetoTopicPatternSubscriber { - /** The topic to subscribe to */ - public abstract String topicPattern(); - - /** Determines the order in which this veto subscriber is called, default is FIFO.*/ - public abstract int priority() default 0; - - /** Whether to subscribe weakly or strongly. */ - public abstract ReferenceStrength referenceStrength() default ReferenceStrength.WEAK; - - /** The event service to subscribe to, default to the EventServiceLocator.SERVICE_NAME_EVENT_BUS. */ - public abstract String eventServiceName() default EventServiceLocator.SERVICE_NAME_EVENT_BUS; - - /** - * Whether or not to autocreate the event service if it doesn't exist on subscription, default is true. If the - * service needs to be created, it must have a default constructor. - */ - public abstract Class autoCreateEventServiceClass() default ThreadSafeEventService.class; -} diff --git a/src/main/java/org/scijava/event/bushe/VetoTopicSubscriber.java b/src/main/java/org/scijava/event/bushe/VetoTopicSubscriber.java deleted file mode 100644 index 81fbb7366..000000000 --- a/src/main/java/org/scijava/event/bushe/VetoTopicSubscriber.java +++ /dev/null @@ -1,62 +0,0 @@ -package org.scijava.event.bushe; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * An Annotation for adding VetoTopicListener subscriptions to EventService Events. - *

        - * This annotation simplifies much of the repetitive boilerplate used for adding veto topic listeners - * (which in EventBus 2.0 will be called VetoTopicSubscribers, thus this annotation name difference) - * to EventService Events. Example: - *

        - *

        - * public class MyAppController {
        - *   public MyAppController {
        - *       AnnotationProcessor.process(this);//this line can be avoided with a compile-time tool or an Aspect
        - *   }
        - *   @EvenTopicSubscriber(topic="App.Close")
        - *   public void onAppClosingEvent(String topic, Object payload) {
        - *      //close connections, close windows
        - *   }
        - * }
        - *
        - * public class MyDocumentController {
        - *   @VetoTopicSubscriber(topic="App.Close")
        - *   public boolean ensureDocumentIsSaved(String topic, Object payload) {
        - *      if (docHasUnsavedChanges()) {
        - *         boolean answer = MyModalDialog.show("Are you sure you want to close and lose your changes?");
        - *         if (answer == StandardButtonValues.Cancel) {
        - *            //stop processing this event
        - *            return true;
        - *         }
        - *      }
        - *      //It's OK to close
        - *      return false;
        - *   }
        - * }
        - * 
        - */ -@Retention(RetentionPolicy.RUNTIME) -@Target(ElementType.METHOD) -@interface VetoTopicSubscriber { - /** The topic to subscribe to */ - String topic(); - - /** Determines the order in which this veto subscriber is called, default is FIFO.*/ - public abstract int priority() default 0; - - /** Whether to subscribe weakly or strongly. */ - public abstract ReferenceStrength referenceStrength() default ReferenceStrength.WEAK; - - /** The event service to subscribe to, default to the EventServiceLocator.SERVICE_NAME_EVENT_BUS. */ - public abstract String eventServiceName() default EventServiceLocator.SERVICE_NAME_EVENT_BUS; - - /** - * Whether or not to autocreate the event service if it doesn't exist on subscription, default is true. If the - * service needs to be created, it must have a default constructor. - */ - public abstract Class autoCreateEventServiceClass() default ThreadSafeEventService.class; -} diff --git a/src/test/java/org/scijava/event/bushe/AbstractSubscriber.java b/src/test/java/org/scijava/event/bushe/AbstractSubscriber.java deleted file mode 100644 index 1666a0e20..000000000 --- a/src/test/java/org/scijava/event/bushe/AbstractSubscriber.java +++ /dev/null @@ -1,27 +0,0 @@ -package org.scijava.event.bushe; - -/** - * Intended to answer this post: - * https://eventbus.dev.java.net/servlets/ProjectForumMessageView?messageID=30702&forumID=1834 - */ -public abstract class AbstractSubscriber { - private String targetType; - - abstract protected void initialize(String type); - - @EventSubscriber(eventClass=MyData.class) - public void loadDocumentAnalysis(MyData data) { - System.out.println(data + " received by " + getClass().getName()); - setTargetType(data.getClassification()); - //getStatusCallback().startProgress(getClass().getCanonicalName(), true, null); - initialize(getTargetType()); - } - - public void setTargetType(String targetType) { - this.targetType = targetType; - } - - public String getTargetType() { - return targetType; - } -} diff --git a/src/test/java/org/scijava/event/bushe/AnnotatedEventSubscriber.java b/src/test/java/org/scijava/event/bushe/AnnotatedEventSubscriber.java deleted file mode 100644 index 182e26e7a..000000000 --- a/src/test/java/org/scijava/event/bushe/AnnotatedEventSubscriber.java +++ /dev/null @@ -1,88 +0,0 @@ -package org.scijava.event.bushe; - -import java.io.File; -import java.util.Collection; -import java.util.Iterator; -import java.util.List; -import java.awt.Color; -import javax.swing.JComponent; -import javax.swing.JToggleButton; - -/** Test class for class-based subscriptions */ -public class AnnotatedEventSubscriber { - static int timesColorChanged = 0; - static String lastCall = null; - static int timesCalled = 0; - - public static int getTimesColorChanged() { - return timesColorChanged; - } - - public static void setTimesColorChanged(int times) { - timesColorChanged = times; - } - - public static int getTimesCalled() { - return timesCalled; - } - - public static void setTimesCalled(int times) { - timesCalled = times; - } - - public static String getLastCall() { - return lastCall; - } - - public static void setLastCall(String call) { - lastCall = call; - } - - @EventSubscriber - public void doColorChange(Color color) { - timesColorChanged++; - timesCalled++; - } - - @EventSubscriber(eventClass = List.class) - public void doList(Collection collection) { - lastCall = "doList"; - timesCalled++; - } - - @EventSubscriber(eventClass = JToggleButton.class, exact = true) - public void doJToggleButtonExactly(JComponent list) { - lastCall = "doJToggleButtonExactly"; - timesCalled++; - } - - @EventSubscriber(eventClass = Iterator.class, - eventServiceName = "IteratorService", - autoCreateEventServiceClass = ThreadSafeEventService.class) - public void autoCreateEventServiceClass(Iterator it) { - lastCall = "autoCreateEventServiceClass"; - timesCalled++; - } - - @EventTopicSubscriber(topic = "File.Open") - public void simpleTopicOpenFile(String topic, File file) { - lastCall = "simpleTopicOpenFile"; - timesCalled++; - } - - @EventTopicSubscriber(topic = "Iterator", - eventServiceName = "IteratorService", - autoCreateEventServiceClass = ThreadSafeEventService.class) - public void autoCreateEventServiceTopic(String topic, Iterator it) { - lastCall = "autoCreateEventServiceClass"; - timesCalled++; - } - - @EventTopicPatternSubscriber(topicPattern = "IceCream.*", - eventServiceName = "IceCreamService") - public void doIceCream(String topic, String order) { - lastCall = "doIceCream"; - timesCalled++; - } - -} diff --git a/src/test/java/org/scijava/event/bushe/AnnotatedVetoSubscriber.java b/src/test/java/org/scijava/event/bushe/AnnotatedVetoSubscriber.java deleted file mode 100644 index 817df28b7..000000000 --- a/src/test/java/org/scijava/event/bushe/AnnotatedVetoSubscriber.java +++ /dev/null @@ -1,83 +0,0 @@ -package org.scijava.event.bushe; - -import java.io.File; -import java.util.Collection; -import java.util.Iterator; -import java.util.List; -import java.awt.Color; -import javax.swing.JComponent; -import javax.swing.JToggleButton; - -/** Test class for class-based subscriptions. - * Does not like null, empty, red or cherry */ -public class AnnotatedVetoSubscriber { - - @VetoSubscriber - public boolean vetoBlueColorChange(Color color) { - if (color == Color.RED) { - return true; - } else { - return false; - } - } - - @VetoSubscriber(eventClass = List.class) - public boolean doList(Collection collection) { - if (collection == null || collection.isEmpty()) { - return true; - } else { - return false; - } - } - - @VetoSubscriber(eventClass = JToggleButton.class, exact = true) - public boolean doJToggleButtonExactly(JComponent button) { - if (button.getForeground() == Color.RED) { - return true; - } else { - return false; - } - } - - @VetoSubscriber(eventClass = Iterator.class, - eventServiceName = "IteratorService", - autoCreateEventServiceClass = ThreadSafeEventService.class) - public boolean autoCreateEventServiceClass(Iterator it) { - if (it == null || !it.hasNext()) { - return true; - } else { - return false; - } - } - - @VetoTopicSubscriber(topic = "File.Open") - public boolean simpleTopicOpenFile(String topic, File file) { - if (file == null) { - return true; - } else { - return false; - } - } - - @VetoTopicSubscriber(topic = "Iterator", - eventServiceName = "IteratorService", - autoCreateEventServiceClass = ThreadSafeEventService.class) - public boolean autoCreateEventServiceTopic(String topic, Iterator it) { - if (it == null || !it.hasNext()) { - return true; - } else { - return false; - } - } - - @VetoTopicPatternSubscriber(topicPattern = "IceCream.*", - eventServiceName = "IceCreamService") - public boolean doIceCream(String topic, String order) { - if (topic.indexOf("Cherry") > -1) { - return true; - } else { - return false; - } - } - -} diff --git a/src/test/java/org/scijava/event/bushe/AnotherAnnotatedEventSubscriber.java b/src/test/java/org/scijava/event/bushe/AnotherAnnotatedEventSubscriber.java deleted file mode 100644 index 7f7f0c5e1..000000000 --- a/src/test/java/org/scijava/event/bushe/AnotherAnnotatedEventSubscriber.java +++ /dev/null @@ -1,46 +0,0 @@ -package org.scijava.event.bushe; - -import java.util.List; -import java.util.Collection; -import java.util.Iterator; -import java.io.File; -import java.awt.Color; -import javax.swing.JToggleButton; -import javax.swing.JComponent; - -/** Test class for class-based subscriptions */ -public class AnotherAnnotatedEventSubscriber { - static int timesColorChanged = 0; - static String lastCall = null; - static int timesCalled = 0; - - public static int getTimesColorChanged() { - return timesColorChanged; - } - - public static void setTimesColorChanged(int times) { - timesColorChanged = times; - } - - public static int getTimesCalled() { - return timesCalled; - } - - public static void setTimesCalled(int times) { - timesCalled = times; - } - - public static String getLastCall() { - return lastCall; - } - - public static void setLastCall(String call) { - lastCall = call; - } - - @EventSubscriber(eventClass = List.class, referenceStrength = ReferenceStrength.STRONG) - public void doList(Collection collection) { - lastCall = "doList"; - timesCalled++; - } -} diff --git a/src/test/java/org/scijava/event/bushe/AnotherDoubleAnnotatedEventSubscriber.java b/src/test/java/org/scijava/event/bushe/AnotherDoubleAnnotatedEventSubscriber.java deleted file mode 100644 index 928b67428..000000000 --- a/src/test/java/org/scijava/event/bushe/AnotherDoubleAnnotatedEventSubscriber.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.scijava.event.bushe; - -import java.util.Collection; -import java.util.List; - -/** Test class for class-based subscriptions */ -public class AnotherDoubleAnnotatedEventSubscriber { - - static int timesCalled = 0; - - public static int getTimesCalled() { - return timesCalled; - } - - public static void setTimesCalled(int times) { - timesCalled = times; - } - - @EventSubscriber(eventClass = List.class) - public void doList(Collection collection) { - timesCalled++; - } -} diff --git a/src/test/java/org/scijava/event/bushe/BadEventService.java b/src/test/java/org/scijava/event/bushe/BadEventService.java index 19cebe785..2046821a2 100644 --- a/src/test/java/org/scijava/event/bushe/BadEventService.java +++ b/src/test/java/org/scijava/event/bushe/BadEventService.java @@ -3,8 +3,8 @@ public class BadEventService extends ThreadSafeEventService { - /** @see org.scijava.event.bushe.EventService#subscribe(String,org.scijava.event.bushe.IEventTopicSubscriber) */ - public boolean subscribe(String topic, IEventTopicSubscriber eh) { + /** @see org.scijava.event.bushe.EventService#subscribe(String,org.scijava.event.bushe.EventTopicSubscriber) */ + public boolean subscribe(String topic, EventTopicSubscriber eh) { throw new RuntimeException("For testing"); } } diff --git a/src/test/java/org/scijava/event/bushe/ConcreteSubscriber.java b/src/test/java/org/scijava/event/bushe/ConcreteSubscriber.java deleted file mode 100644 index 129d71987..000000000 --- a/src/test/java/org/scijava/event/bushe/ConcreteSubscriber.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.scijava.event.bushe; - -/** - * Intended to answer this post: - * https://eventbus.dev.java.net/servlets/ProjectForumMessageView?messageID=30702&forumID=1834 - */ -public class ConcreteSubscriber extends AbstractSubscriber { - private boolean wasInitialized = false; - - protected void initialize(String type) { - this.wasInitialized = true; - } - - public boolean isInitialized() { - return wasInitialized; - } -} \ No newline at end of file diff --git a/src/test/java/org/scijava/event/bushe/DoubleAnnotatedEventSubscriber.java b/src/test/java/org/scijava/event/bushe/DoubleAnnotatedEventSubscriber.java deleted file mode 100644 index 8448f28de..000000000 --- a/src/test/java/org/scijava/event/bushe/DoubleAnnotatedEventSubscriber.java +++ /dev/null @@ -1,33 +0,0 @@ -package org.scijava.event.bushe; - -import java.util.List; -import java.util.Collection; -import java.util.Iterator; -import java.io.File; -import java.awt.Color; -import javax.swing.JToggleButton; -import javax.swing.JComponent; - -/** Test class for class-based subscriptions */ -public class DoubleAnnotatedEventSubscriber { - - static int timesCalled = 0; - - public static int getTimesCalled() { - return timesCalled; - } - - public static void setTimesCalled(int times) { - timesCalled = times; - } - - @EventSubscriber(eventClass = List.class) - public void doList(Collection collection) { - timesCalled++; - } - - @EventTopicSubscriber(topic="foo") - public void foo(String topic, Object o) { - timesCalled++; - } -} diff --git a/src/test/java/org/scijava/event/bushe/EventServiceLocatorTestCase.java b/src/test/java/org/scijava/event/bushe/EventServiceLocatorTestCase.java deleted file mode 100644 index 8fb87e534..000000000 --- a/src/test/java/org/scijava/event/bushe/EventServiceLocatorTestCase.java +++ /dev/null @@ -1,32 +0,0 @@ -package org.scijava.event.bushe; - -import junit.framework.TestCase; - -/** - * Cleans out the event service locators before each test - */ -public class EventServiceLocatorTestCase extends TestCase { - public EventServiceLocatorTestCase(String name) { - super(name); - } - - public void testEmptyTestCaseToAvoidWarning() { - - } - - @Override - public void setUp() throws Exception { - clearEventServiceLocator(); - } - - public static void clearEventServiceLocator() { - System.clearProperty(EventServiceLocator.SWING_EVENT_SERVICE_CLASS); - System.clearProperty(EventServiceLocator.EVENT_BUS_CLASS); - EventServiceLocator.clearAll(); - } - - @Override - protected void tearDown() throws Exception { - clearEventServiceLocator(); - } -} diff --git a/src/test/java/org/scijava/event/bushe/Factory.java b/src/test/java/org/scijava/event/bushe/Factory.java deleted file mode 100644 index 546c3fb49..000000000 --- a/src/test/java/org/scijava/event/bushe/Factory.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.scijava.event.bushe; - -public class Factory { - - public static SubscriberForTesting newRuntimeTopicSubscriber(String topic) { - return new RuntimeTopicSubscriber(topic); - } - - public static SubscriberForTesting newRuntimeTopicPatternSubscriber(String topicPattern) { - return new RuntimeTopicPatternSubscriber(topicPattern); - } -} diff --git a/src/test/java/org/scijava/event/bushe/Issue15Subscriber.java b/src/test/java/org/scijava/event/bushe/Issue15Subscriber.java deleted file mode 100644 index 8bb257efd..000000000 --- a/src/test/java/org/scijava/event/bushe/Issue15Subscriber.java +++ /dev/null @@ -1,68 +0,0 @@ -package org.scijava.event.bushe; - -import java.util.List; -import javax.swing.SwingUtilities; - -/** - * - */ -public class Issue15Subscriber { - private long timesCalled; - - public Issue15Subscriber() { - AnnotationProcessor.process(this); - } - - @EventSubscriber(eventClass = List.class) - public void handleClassSubscription(List c) { - timesCalled++; - if (c != null) { - System.out.println("In handleClassSubscription"); - System.out.println("By class: " + c); - System.out.println("Is on EDT: " + SwingUtilities.isEventDispatchThread()); - System.out.println(); - } - } - - /* - @EventTopicSubscriber(topic = "Topic1") - public void handleTopic1Subscription(String topic, Object o) { - if (o != null) { - System.out.println("In handleTopic1Subscription"); - System.out.println("By topic: " + topic); - System.out.println(" for class: " + o.getClass()); - System.out.println("Is on EDT: " + SwingUtilities.isEventDispatchThread()); - System.out.println(); - } - } - - - @EventTopicSubscriber(topic = "Topic2") - public void handleTopic2Subscription(String topic, Object o) { - if (o != null) { - System.out.println("In handleTopic2Subscription"); - System.out.println("By topic: " + topic); - System.out.println(" for class: " + o.getClass()); - System.out.println("Is on EDT: " + SwingUtilities.isEventDispatchThread()); - System.out.println(); - } - } - - - - @EventTopicPatternSubscriber(topicPattern = ".*") - public void handleAllTopicsSubscription(String topic, Object o) { - if (o != null) { - System.out.println("In handleAllTopicsSubscription"); - System.out.println("By topic: " + topic); - System.out.println(" for class: " + o.getClass()); - System.out.println("Is on EDT: " + SwingUtilities.isEventDispatchThread()); - System.out.println(); - } - } - */ - - public long getTimesCalled() { - return timesCalled; - } -} diff --git a/src/test/java/org/scijava/event/bushe/Issue15Subscriber2.java b/src/test/java/org/scijava/event/bushe/Issue15Subscriber2.java deleted file mode 100644 index 5fbc7a162..000000000 --- a/src/test/java/org/scijava/event/bushe/Issue15Subscriber2.java +++ /dev/null @@ -1,65 +0,0 @@ -package org.scijava.event.bushe; - -import java.util.List; -import java.util.ArrayList; -import java.awt.GridLayout; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; - -import javax.swing.JButton; -import javax.swing.JDialog; -import javax.swing.JTextField; - -/** - * - */ -public class Issue15Subscriber2 extends JDialog { - - private JTextField textField; - private long timesCalled; - - /** - * A new setup has been selected. - * @param e - * setup changed event notification - */ - @EventSubscriber(eventClass = List.class) - public void handleEvent(List e) { - timesCalled++; - textField.setText(e+""); - } - - private ActionListener buttonListener = new ActionListener() { - public void actionPerformed(ActionEvent e) { - EventBus.publish(new ArrayList()); - } - }; - - public Issue15Subscriber2() { - super(); - - AnnotationProcessor.process(this); - - setLayout(new GridLayout(1, 2)); - - JButton button = new JButton("Push Me"); - button.addActionListener(buttonListener); - textField = new JTextField(""); - - add(button); - add(textField); - } - - public static void main(String args[]) { - - Issue15Subscriber s = new Issue15Subscriber(); - - Issue15Subscriber2 dialog = new Issue15Subscriber2(); - System.err.println(EventBus.getSubscribers(List.class).size()); - dialog.setVisible(true); - } - - public long getTimesCalled() { - return timesCalled; - } -} diff --git a/src/test/java/org/scijava/event/bushe/RuntimeTopicPatternSubscriber.java b/src/test/java/org/scijava/event/bushe/RuntimeTopicPatternSubscriber.java deleted file mode 100644 index 01af68b6b..000000000 --- a/src/test/java/org/scijava/event/bushe/RuntimeTopicPatternSubscriber.java +++ /dev/null @@ -1,32 +0,0 @@ -package org.scijava.event.bushe; - -import java.util.List; - -class RuntimeTopicPatternSubscriber implements SubscriberForTesting { - private final String topicPattern; - private long timesCalled; - - public RuntimeTopicPatternSubscriber(String topicPattern) { - this.topicPattern = topicPattern; - - AnnotationProcessor.process(this); - } - - @RuntimeTopicPatternEventSubscriber - public void handleEvent(String topic, List event) { - timesCalled++; - } - - @RuntimeTopicPatternEventSubscriber - public boolean shouldVeto(String topic, List e) { - return e == null; - } - - public String getTopicPatternName() { - return topicPattern; - } - - public long getTimesCalled() { - return timesCalled; - } -} diff --git a/src/test/java/org/scijava/event/bushe/RuntimeTopicSubscriber.java b/src/test/java/org/scijava/event/bushe/RuntimeTopicSubscriber.java deleted file mode 100644 index 5cb27936a..000000000 --- a/src/test/java/org/scijava/event/bushe/RuntimeTopicSubscriber.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.scijava.event.bushe; - -import java.util.List; - -class RuntimeTopicSubscriber implements SubscriberForTesting { - private long timesCalled; - private final String topic; - - public RuntimeTopicSubscriber(String topic) { - this.topic = topic; - AnnotationProcessor.process(this); - } - - @RuntimeTopicEventSubscriber - public void handleEvent(String topic, List e) { - timesCalled++; - } - - @RuntimeTopicEventSubscriber - public boolean shouldVeto(String topic, List e) { - return e == null; - } - - public String getTopicName() { - return topic; - } - - public long getTimesCalled() { - return timesCalled; - } -} diff --git a/src/test/java/org/scijava/event/bushe/StrongAnnotatedEventSubscriber.java b/src/test/java/org/scijava/event/bushe/StrongAnnotatedEventSubscriber.java deleted file mode 100644 index 8ff4b5ffe..000000000 --- a/src/test/java/org/scijava/event/bushe/StrongAnnotatedEventSubscriber.java +++ /dev/null @@ -1,30 +0,0 @@ -package org.scijava.event.bushe; - -import java.io.File; - -public class StrongAnnotatedEventSubscriber { - static String lastCall = null; - static int timesCalled = 0; - - public static int getTimesCalled() { - return timesCalled; - } - - public static void setTimesCalled(int times) { - timesCalled = times; - } - - public static String getLastCall() { - return lastCall; - } - - public static void setLastCall(String call) { - lastCall = call; - } - - @EventSubscriber(referenceStrength = ReferenceStrength.STRONG) - public void doStrong(File it) { - lastCall = "doStrong"; - timesCalled++; - } -} diff --git a/src/test/java/org/scijava/event/bushe/StrongClassAnnotatedEventSubscriber.java b/src/test/java/org/scijava/event/bushe/StrongClassAnnotatedEventSubscriber.java deleted file mode 100644 index 3894195a5..000000000 --- a/src/test/java/org/scijava/event/bushe/StrongClassAnnotatedEventSubscriber.java +++ /dev/null @@ -1,24 +0,0 @@ -package org.scijava.event.bushe; - -import java.util.Collection; -import java.util.List; - -/** Test class for class-based subscriptions */ -public class StrongClassAnnotatedEventSubscriber { - static int timesColorChanged = 0; - static String lastCall = null; - static int timesCalled = 0; - - public static int getTimesCalled() { - return timesCalled; - } - - public static void setTimesCalled(int times) { - timesCalled = times; - } - - @EventSubscriber(eventClass = List.class, referenceStrength = ReferenceStrength.STRONG) - public void doList(Collection collection) { - timesCalled++; - } -} diff --git a/src/test/java/org/scijava/event/bushe/SubscriberForTest.java b/src/test/java/org/scijava/event/bushe/SubscriberForTest.java index 4d683ce4f..2fac88e57 100644 --- a/src/test/java/org/scijava/event/bushe/SubscriberForTest.java +++ b/src/test/java/org/scijava/event/bushe/SubscriberForTest.java @@ -6,7 +6,7 @@ * @author Michael Bushe * @since Nov 19, 2005 11:01:06 PM */ -public class SubscriberForTest implements IEventSubscriber { +public class SubscriberForTest implements EventSubscriber { private boolean throwException; private Long waitTime; private EBTestCounter testDefaultEventService; diff --git a/src/test/java/org/scijava/event/bushe/TestAnnotationInAbstractClass.java b/src/test/java/org/scijava/event/bushe/TestAnnotationInAbstractClass.java deleted file mode 100644 index 8f04ff56c..000000000 --- a/src/test/java/org/scijava/event/bushe/TestAnnotationInAbstractClass.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.scijava.event.bushe; - -import junit.framework.TestCase; -import junit.framework.Assert; - -/** - * Testing: - * https://eventbus.dev.java.net/servlets/ProjectForumMessageView?messageID=30702&forumID=1834 - */ -public class TestAnnotationInAbstractClass extends TestCase { - public void testAbstract() { - ConcreteSubscriber concrete = new ConcreteSubscriber(); - AnnotationProcessor.process(concrete); - EventBus.publish(new MyData()); - EDTUtil.waitForEDT(); - Assert.assertTrue(concrete.isInitialized()); - } -} diff --git a/src/test/java/org/scijava/event/bushe/TestContainerEventService.java b/src/test/java/org/scijava/event/bushe/TestContainerEventService.java deleted file mode 100644 index 9537e4349..000000000 --- a/src/test/java/org/scijava/event/bushe/TestContainerEventService.java +++ /dev/null @@ -1,218 +0,0 @@ -/** - * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com - * - * Licensed 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.scijava.event.bushe; - -import junit.framework.TestCase; - -import javax.swing.*; -import java.awt.*; -import java.util.ArrayList; - -/** The DefaultEventService is NOT Swing-safe! But it's easier to test... */ -public class TestContainerEventService extends TestCase { - private ArrayList subscribedEvents; - private Object aSource = new Object(); - private JFrame frame; - private JPanel panel; - private Object lastEventObject; - - public TestContainerEventService(String name) { - super(name); - } - - protected void setUp() throws Exception { - subscribedEvents = new ArrayList(); - frame = new JFrame(); - panel = new JPanel(); - frame.setContentPane(panel); - } - - public void testContainerEventServiceFinder() { - JButton button = new JButton("Foo"); - panel.add(button); - JButton barButton = new JButton("Bar"); - panel.add(barButton); - EventService es = ContainerEventServiceFinder.getEventService(button); - assertTrue(EventBus.getGlobalEventService() != es); - EventService esBar = ContainerEventServiceFinder.getEventService(barButton); - assertEquals(esBar, es); - assertEquals(0, subscribedEvents.size()); - es.subscribe("FooTopic", new IEventTopicSubscriber() { - public void onEvent(String topic, Object evt) { - subscribedEvents.add(evt); - } - }); - esBar.publish("FooTopic", "Foo"); - EDTUtil.waitForEDT(); - assertEquals(1, subscribedEvents.size()); - subscribedEvents.clear(); - Point location = frame.getLocation(); - frame.setLocation(33, 33); - EDTUtil.waitForEDT(); - assertTrue(subscribedEvents.size() == 0); - } - - public void testContainerEventServiceSupplier() { - JButton button = new JButton("Foo"); - JPanel subPanel = new JPanel(); - subPanel.add(button); - panel.add(subPanel); - JButton barButton = new JButton("Bar"); - JPanel subPanel2 = new ContainerEventServiceSupplierPanel(); - subPanel2.add(barButton); - panel.add(subPanel2); - EventService es = ContainerEventServiceFinder.getEventService(button); - assertTrue(EventBus.getGlobalEventService() != es); - EventService esBar = ContainerEventServiceFinder.getEventService(barButton); - assertTrue(esBar != es); - assertEquals(0, subscribedEvents.size()); - es.subscribe("FooTopic", new IEventTopicSubscriber() { - public void onEvent(String topic, Object evt) { - subscribedEvents.add(evt); - } - }); - esBar.publish("FooTopic", "Foo"); - EDTUtil.waitForEDT(); - assertEquals(0, subscribedEvents.size()); - } - - public void testContainerEventServiceRegistrar() { - //Set the lastEventObject whenever the event fires on the right Container Event Service - IEventTopicSubscriber buttonContainerTopicSubscriber = new IEventTopicSubscriber() { - public void onEvent(String topic, Object data) { - System.out.println("topic=" + topic + ", data=" + data); - setLastEventObject(data); - } - }; - //Set the lastEventObject whenever the event fires on the right Container Event Service - VetoTopicEventListener buttonContainerVetoTopicSubscriber = new VetoTopicEventListener() { - public boolean shouldVeto(String topic, Object data) { - return "VetoMe".equals(data); - } - }; - //Set the lastEventObject whenever the event fires on the right Container Event Service - IEventSubscriber buttonContainerSubscriber = new IEventSubscriber() { - public void onEvent(Object data) { - System.out.println("class=" + data); - setLastEventObject(data); - } - }; - //Set the lastEventObject whenever the event fires on the right Container Event Service - VetoEventListener buttonContainerVetoSubscriber = new VetoEventListener() { - public boolean shouldVeto(Object data) { - return "VetoMe".equals(data.toString()); - } - }; - JButton button = new JButton("Foo"); - - ContainerEventServiceRegistrar reg = new ContainerEventServiceRegistrar(button, buttonContainerTopicSubscriber, - "RegEvent"); - EventService es = reg.getContainerEventService(); - assertTrue(es != null); - - ContainerEventServiceRegistrar reg2 = new ContainerEventServiceRegistrar(button, buttonContainerVetoTopicSubscriber, - "RegEvent"); - EventService es4reg2 = reg2.getContainerEventService(); - assertTrue(es4reg2 != null); - - ContainerEventServiceRegistrar reg3 = new ContainerEventServiceRegistrar(button, buttonContainerSubscriber, - String.class); - EventService es4reg3 = reg3.getContainerEventService(); - assertTrue(es4reg3 != null); - - ContainerEventServiceRegistrar reg4 = new ContainerEventServiceRegistrar(button, buttonContainerVetoSubscriber, - String.class); - EventService es4reg4 = reg4.getContainerEventService(); - assertTrue(es4reg4 != null); - - //Publishing on the global event bus should not have an effect - EventBus.publish("RegEvent", "WrongBus"); - assertEquals(getLastEventObject(), null); - - //Make a container that has another container inside it that supplies a container event service - JPanel subPanel = new JPanel(); - subPanel.add(button); - ContainerEventServiceSupplierPanel subPanel2 = new ContainerEventServiceSupplierPanel(); - panel.add(subPanel); - panel.add(subPanel2); - EventService es2 = reg.getContainerEventService(); - //the registrar kept up with the move - assertTrue(es2 != es); - - EventBus.publish("RegEvent", "WrongBus"); - assertEquals(getLastEventObject(), null); - EventBus.publish("StringClassEvent"); - assertEquals(getLastEventObject(), null); - - EventService topPanelES = ContainerEventServiceFinder.getEventService(panel); - - topPanelES.publish("RegEvent", "TopLevelBus"); - EDTUtil.waitForEDT(); - assertEquals("TopLevelBus", getLastEventObject()); - - topPanelES.publish("Don'tVetoMe"); - EDTUtil.waitForEDT(); - assertEquals("Don'tVetoMe", getLastEventObject()); - - topPanelES.publish("VetoMe"); - EDTUtil.waitForEDT(); - assertEquals("Don'tVetoMe", getLastEventObject());//veto worked - - topPanelES.publish("RegEvent", "TopLevelBus"); - EDTUtil.waitForEDT(); - assertEquals("TopLevelBus", getLastEventObject()); - - EventService subPanel2ES = subPanel2.getContainerEventService(); - subPanel2ES.publish("RegEvent", "SuppliedBus"); - EDTUtil.waitForEDT(); - assertEquals("TopLevelBus", getLastEventObject());//still - - subPanel2.add(button); - EDTUtil.waitForEDT(); - subPanel2ES.publish("RegEvent", "SuppliedBus"); - EDTUtil.waitForEDT(); - assertEquals("SuppliedBus", getLastEventObject());//detected move - - subPanel2ES.publish("RegEvent", "VetoMe"); - EDTUtil.waitForEDT(); - assertEquals("SuppliedBus", getLastEventObject());//veto moved - - subPanel.add(button); - topPanelES.publish("RegEvent", "TopLevelBus"); - EDTUtil.waitForEDT(); - assertEquals("TopLevelBus", getLastEventObject()); - - subPanel2ES.publish("RegEvent", "SuppliedBus"); - EDTUtil.waitForEDT(); - assertEquals("TopLevelBus", getLastEventObject()); - } - - private synchronized void setLastEventObject(Object data) { - lastEventObject = data; - } - - public synchronized Object getLastEventObject() { - return lastEventObject; - } - - class ContainerEventServiceSupplierPanel extends JPanel implements ContainerEventServiceSupplier { - private EventService es = new SwingEventService(); - - public EventService getContainerEventService() { - return es; - } - } -} diff --git a/src/test/java/org/scijava/event/bushe/TestDefaultEventService.java b/src/test/java/org/scijava/event/bushe/TestDefaultEventService.java deleted file mode 100644 index 975a491d1..000000000 --- a/src/test/java/org/scijava/event/bushe/TestDefaultEventService.java +++ /dev/null @@ -1,1394 +0,0 @@ -/** - * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com - * - * Licensed 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.scijava.event.bushe; - -import java.io.Serializable; -import java.util.List; -import java.util.Collection; -import java.util.Map; -import java.util.regex.Pattern; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Type; - -import java.awt.Container; -import java.awt.Component; -import javax.swing.JComponent; - -import junit.framework.TestCase; - -/** The DefaultEventService is NOT Swing-safe! But it's easier to test... */ -public class TestDefaultEventService extends TestCase { - - private ThreadSafeEventService eventService = null; - private IEventSubscriber eventSubscriber = null; - private IEventTopicSubscriber eventTopicSubscriber; - private SubscriberTimingEvent timing; - private EBTestCounter testCounter = new EBTestCounter(); - - public TestDefaultEventService(String name) { - super(name); - } - - protected void setUp() throws Exception { - eventService = new ThreadSafeEventService(null, false); - EventServiceLocatorTestCase.clearEventServiceLocator(); - } - - protected void tearDown() throws Exception { - eventService = null; - EventServiceLocatorTestCase.clearEventServiceLocator(); - } - - private EventServiceEvent createEvent() { - return new EventServiceEvent() { - public Object getSource() { - return ""; - } - }; - } - - private Class getEventClass() { - return createEvent().getClass(); - } - - private IEventSubscriber createEventSubscriber(boolean throwException) { - return new SubscriberForTest(testCounter, throwException); - } - - private IEventTopicSubscriber createEventTopicSubscriber(boolean throwException) { - return new TopicSubscriberForTest(testCounter, throwException); - } - - private IEventSubscriber createEventSubscriber(Long waitTime) { - return new SubscriberForTest(testCounter, waitTime); - } - - private IEventSubscriber getEventSubscriber() { - return getEventSubscriber(true); - } - - private IEventSubscriber getEventSubscriber(boolean throwException) { - if (eventSubscriber == null) { - eventSubscriber = createEventSubscriber(throwException); - } - return eventSubscriber; - } - - private IEventTopicSubscriber getEventTopicSubscriber() { - if (eventTopicSubscriber == null) { - eventTopicSubscriber = createEventTopicSubscriber(false); - } - return eventTopicSubscriber; - } - - public void testTyping() { - IEventSubscriber subscriber = createEventSubscriber(false); - - Double doub = 3.14; - Number numb = doub; - eventService.subscribe(Number.class, subscriber); - - testCounter.eventsHandledCount = 0; - testCounter.subscribeExceptionCount = 0; - eventService.publish(doub); - assertEquals("testPublish(total)", 1, testCounter.eventsHandledCount); - eventService.publish(numb); - assertEquals("testPublish(total)", 2, testCounter.eventsHandledCount); - eventService.unsubscribe(Number.class, subscriber); - eventService.subscribe(Double.class, subscriber); - testCounter.eventsHandledCount = 0; - testCounter.subscribeExceptionCount = 0; - eventService.publish(doub); - assertEquals("testPublish(total)", 1, testCounter.eventsHandledCount); - eventService.publish(numb); - assertEquals("testPublish(total)", 2, testCounter.eventsHandledCount); - } - - public void testSubscribe() { - boolean actualReturn; - IEventSubscriber subscriber = createEventSubscriber(false); - - actualReturn = eventService.subscribe(getEventClass(), subscriber); - assertTrue("testSubscribe(new subscriber)", actualReturn); - - actualReturn = eventService.subscribe(getEventClass(), subscriber); - assertFalse("testSubscribe(duplicate subscriber)", actualReturn); - - testCounter.eventsHandledCount = 0; - testCounter.subscribeExceptionCount = 0; - eventService.publish(createEvent()); - - //The test passes if 1 subscribers completed and 0 subscribers threw exception. - assertEquals("testPublish(total)", 1, testCounter.eventsHandledCount); - assertEquals("testPublish(exceptions)", 0, testCounter.subscribeExceptionCount); - - try { - actualReturn = eventService.subscribe((Class) null, getEventSubscriber()); - fail("subscribeStrongly(null, x) should have thrown exception"); - } catch (Exception e) { - } - - try { - actualReturn = eventService.subscribe(getEventClass(), null); - fail("subscribeStrongly(x, null) should have thrown exception"); - } catch (Exception e) { - } - - } - - public void testSubscribeOrder() { - boolean actualReturn; - SubscriberForTest subscriber1 = (SubscriberForTest) createEventSubscriber(new Long(100)); - SubscriberForTest subscriber2 = (SubscriberForTest) createEventSubscriber(new Long(100)); - SubscriberForTest subscriber3 = (SubscriberForTest) createEventSubscriber(new Long(100)); - - actualReturn = eventService.subscribe(getEventClass(), subscriber1); - actualReturn = eventService.subscribe(getEventClass(), subscriber2); - actualReturn = eventService.subscribe(getEventClass(), subscriber3); - - eventService.publish(createEvent()); - - assertTrue(subscriber1.callTime.before(subscriber2.callTime)); - assertTrue(subscriber2.callTime.before(subscriber3.callTime)); - - actualReturn = eventService.subscribe(getEventClass(), subscriber1); - eventService.publish(createEvent()); - - assertTrue(subscriber2.callTime.before(subscriber3.callTime)); - assertTrue(subscriber3.callTime.before(subscriber1.callTime)); - - List subscribers = eventService.getSubscribers(getEventClass()); - assertEquals(3, subscribers.size()); - for (int i = 0; i < subscribers.size(); i++) { - IEventSubscriber subscriber = (IEventSubscriber) subscribers.get(i); - eventService.unsubscribe(getEventClass(), subscriber); - } - eventService.subscribe(getEventClass(), (IEventSubscriber) subscribers.get(1)); - eventService.subscribe(getEventClass(), (IEventSubscriber) subscribers.get(0)); - eventService.subscribe(getEventClass(), (IEventSubscriber) subscribers.get(2)); - eventService.publish(createEvent()); - assertTrue(subscriber3.callTime.before(subscriber2.callTime)); - assertTrue(subscriber2.callTime.before(subscriber1.callTime)); - } - - public void testSubscribeWeakly() { - boolean actualReturn; - IEventSubscriber subscriber = createEventSubscriber(false); - - actualReturn = eventService.subscribe(getEventClass(), subscriber); - assertTrue("testSubscribeWeakly(new subscriber)", actualReturn); - - actualReturn = eventService.subscribe(getEventClass(), subscriber); - assertFalse("testSubscribe(duplicate subscriber)", actualReturn); - - testCounter.eventsHandledCount = 0; - testCounter.subscribeExceptionCount = 0; - eventService.publish(createEvent()); - - //The test passes if 1 subscribers completed and 0 subscribers threw exception. - assertEquals("testPublish(total)", 1, testCounter.eventsHandledCount); - assertEquals("testPublish(exceptions)", 0, testCounter.subscribeExceptionCount); - subscriber = null; - System.gc(); - testCounter.eventsHandledCount = 0; - testCounter.subscribeExceptionCount = 0; - eventService.publish(createEvent()); - - //The test passes if 1 subscribers completed and 0 subscribers threw exception. - assertEquals("testPublish(total)", 0, testCounter.eventsHandledCount); - assertEquals("testPublish(exceptions)", 0, testCounter.subscribeExceptionCount); - - try { - actualReturn = eventService.subscribeStrongly((Class) null, getEventSubscriber()); - fail("subscribeStrongly(null, x) should have thrown exception"); - } catch (Exception e) { - } - - try { - actualReturn = eventService.subscribeStrongly(getEventClass(), null); - fail("subscribeStrongly(x, null) should have thrown exception"); - } catch (Exception e) { - } - } - - public void testSubscribeStrongly() { - boolean actualReturn; - IEventSubscriber subscriber = createEventSubscriber(false); - - actualReturn = eventService.subscribeStrongly(getEventClass(), subscriber); - assertTrue("testSubscribeWeakly(new subscriber)", actualReturn); - - actualReturn = eventService.subscribeStrongly(getEventClass(), subscriber); - assertFalse("testSubscribe(duplicate subscriber)", actualReturn); - - testCounter.eventsHandledCount = 0; - testCounter.subscribeExceptionCount = 0; - eventService.publish(createEvent()); - - //The test passes if 1 subscribers completed and 0 subscribers threw exception. - assertEquals("testPublish(total)", 1, testCounter.eventsHandledCount); - assertEquals("testPublish(exceptions)", 0, testCounter.subscribeExceptionCount); - subscriber = null; - System.gc(); - testCounter.eventsHandledCount = 0; - testCounter.subscribeExceptionCount = 0; - eventService.publish(createEvent()); - - //The test passes if 1 subscribers completed and 0 subscribers threw exception. - assertEquals("testPublish(total)", 1, testCounter.eventsHandledCount); - assertEquals("testPublish(exceptions)", 0, testCounter.subscribeExceptionCount); - - try { - actualReturn = eventService.subscribeStrongly((Class) null, getEventSubscriber()); - fail("subscribeStrongly(null, x) should have thrown exception"); - } catch (Exception e) { - } - - try { - actualReturn = eventService.subscribeStrongly(getEventClass(), null); - fail("subscribeStrongly(x, null) should have thrown exception"); - } catch (Exception e) { - } - } - - - public void testIllegalArgs() { - try { - EventBus.subscribeVetoListenerStrongly((Class) null, new VetoEventListenerForTest()); - fail(); - } catch (Throwable t) { - } - try { - EventBus.subscribeVetoListenerStrongly((String) null, new VetoTopicEventListenerForTest()); - fail(); - } catch (Throwable t) { - } - try { - EventBus.subscribeVetoListenerStrongly("foo", null); - fail(); - } catch (Throwable t) { - } - try { - EventBus.subscribeVetoListenerStrongly(getEventClass(), null); - fail(); - } catch (Throwable t) { - } - - - try { - EventBus.unsubscribeVetoListener((Class) null, new VetoEventListenerForTest()); - fail(); - } catch (Throwable t) { - } - try { - EventBus.unsubscribeVetoListener((String) null, new VetoTopicEventListenerForTest()); - fail(); - } catch (Throwable t) { - } - try { - EventBus.unsubscribeVetoListener("foo", null); - fail(); - } catch (Throwable t) { - } - try { - EventBus.unsubscribeVetoListener(getEventClass(), null); - fail(); - } catch (Throwable t) { - } - - } - - public void testVeto() { - boolean actualReturn; - IEventSubscriber subscriber = createEventSubscriber(false); - - actualReturn = eventService.subscribe(getEventClass(), subscriber); - - VetoEventListener vetoListener = new VetoEventListenerForTest(); - actualReturn = eventService.subscribeVetoListener(getEventClass(), vetoListener); - - testCounter.eventsHandledCount = 0; - testCounter.subscribeExceptionCount = 0; - eventService.publish(createEvent()); - - //The test passes if 1 subscribers completed and 0 subscribers threw exception. - assertEquals("testVeto(total)", 0, testCounter.eventsHandledCount); - assertEquals("testVeto(exceptions)", 0, testCounter.subscribeExceptionCount); - eventService.unsubscribeVetoListener(getEventClass(), vetoListener); - eventService.publish(createEvent()); - - //The test passes if 1 subscribers completed and 0 subscribers threw exception. - assertEquals("testVeto(total)", 1, testCounter.eventsHandledCount); - assertEquals("testVeto(exceptions)", 0, testCounter.subscribeExceptionCount); - - } - - public void testVetoException() { - boolean actualReturn; - IEventSubscriber subscriber = createEventSubscriber(false); - - actualReturn = eventService.subscribe(getEventClass(), subscriber); - - VetoEventListener vetoListener = new VetoEventListenerForTest(true); - actualReturn = eventService.subscribeVetoListenerStrongly(getEventClass(), vetoListener); - - testCounter.eventsHandledCount = 0; - testCounter.subscribeExceptionCount = 0; - eventService.publish(createEvent()); - - //The test passes if 1 subscribers completed and 0 subscribers threw exception. - assertEquals("testVeto(total)", 1, testCounter.eventsHandledCount); - assertEquals("testVeto(exceptions)", 0, testCounter.subscribeExceptionCount); - eventService.unsubscribeVetoListener(getEventClass(), vetoListener); - eventService.publish(createEvent()); - - //The test passes if 1 subscribers completed and 0 subscribers threw exception. - assertEquals("testVeto(total)", 2, testCounter.eventsHandledCount); - assertEquals("testVeto(exceptions)", 0, testCounter.subscribeExceptionCount); - - } - - public void testVetoTopic() { - boolean actualReturn; - IEventTopicSubscriber subscriber = createEventTopicSubscriber(false); - - actualReturn = eventService.subscribe("FooTopic", subscriber); - - VetoTopicEventListener vetoListener = new VetoTopicEventListener() { - public boolean shouldVeto(String topic, Object data) { - return true; - } - }; - actualReturn = eventService.subscribeVetoListenerStrongly("FooTopic", vetoListener); - - testCounter.eventsHandledCount = 0; - testCounter.subscribeExceptionCount = 0; - eventService.publish("FooTopic", "Bar"); - - //The test passes if 1 subscribers completed and 0 subscribers threw exception. - assertEquals("testVeto(total)", 0, testCounter.eventsHandledCount); - assertEquals("testVeto(exceptions)", 0, testCounter.subscribeExceptionCount); - eventService.unsubscribeVetoListener("FooTopic", vetoListener); - eventService.publish("FooTopic", "Bar"); - - //The test passes if 1 subscribers completed and 0 subscribers threw exception. - assertEquals("testVeto(total)", 1, testCounter.eventsHandledCount); - assertEquals("testVeto(exceptions)", 0, testCounter.subscribeExceptionCount); - } - - - public void testVetoWeak() { - boolean actualReturn; - IEventSubscriber subscriber = createEventSubscriber(false); - - actualReturn = eventService.subscribe(getEventClass(), subscriber); - - VetoEventListener vetoListener = new VetoEventListener() { - public boolean shouldVeto(Object evt) { - return true; - } - }; - actualReturn = eventService.subscribeVetoListener(getEventClass(), vetoListener); - - testCounter.eventsHandledCount = 0; - testCounter.subscribeExceptionCount = 0; - eventService.publish(createEvent()); - - //The test passes if 1 subscribers completed and 0 subscribers threw exception. - assertEquals("testVeto(total)", 0, testCounter.eventsHandledCount); - assertEquals("testVeto(exceptions)", 0, testCounter.subscribeExceptionCount); - vetoListener = null; - System.gc(); - try { - Thread.sleep(1000); - } catch (InterruptedException e) { - } - eventService.publish(createEvent()); - - //The test passes if 1 subscribers completed and 0 subscribers threw exception. - assertEquals("testVeto(total)", 1, testCounter.eventsHandledCount); - assertEquals("testVeto(exceptions)", 0, testCounter.subscribeExceptionCount); - } - - public void testVetoTopicWeak() { - boolean actualReturn; - IEventTopicSubscriber subscriber = createEventTopicSubscriber(false); - - actualReturn = eventService.subscribe("FooTopic", subscriber); - - VetoTopicEventListener vetoListener = new VetoTopicEventListener() { - public boolean shouldVeto(String topic, Object data) { - return true; - } - }; - actualReturn = eventService.subscribeVetoListener("FooTopic", vetoListener); - - testCounter.eventsHandledCount = 0; - testCounter.subscribeExceptionCount = 0; - eventService.publish("FooTopic", createEvent()); - - //The test passes if 1 subscribers completed and 0 subscribers threw exception. - assertEquals("testVeto(total)", 0, testCounter.eventsHandledCount); - assertEquals("testVeto(exceptions)", 0, testCounter.subscribeExceptionCount); - vetoListener = null; - System.gc(); - eventService.publish("FooTopic", createEvent()); - - //The test passes if 1 subscribers completed and 0 subscribers threw exception. - assertEquals("testVeto(total)", 1, testCounter.eventsHandledCount); - assertEquals("testVeto(exceptions)", 0, testCounter.subscribeExceptionCount); - } - - - public void testUnsubscribe() { - eventService.subscribe(getEventClass(), getEventSubscriber(false)); - - boolean actualReturn; - - try { - actualReturn = eventService.unsubscribe((Class) null, getEventSubscriber()); - fail("unsubscribe(null, x) should have thrown exception"); - } catch (Exception e) { - } - - try { - actualReturn = eventService.unsubscribe(getEventClass(), null); - fail("unsubscribe(x, null) should have thrown exception"); - } catch (Exception e) { - } - - testCounter.eventsHandledCount = 0; - testCounter.subscribeExceptionCount = 0; - eventService.publish(createEvent()); - - //The test passes if 1 subscribers completed and 0 subscribers threw exception. - assertEquals("testPublish(total)", 1, testCounter.eventsHandledCount); - assertEquals("testPublish(exceptions)", 0, testCounter.subscribeExceptionCount); - - actualReturn = eventService.unsubscribe(getEventClass(), getEventSubscriber()); - assertTrue("return value", actualReturn); - - testCounter.eventsHandledCount = 0; - testCounter.subscribeExceptionCount = 0; - eventService.publish(createEvent()); - - //The test passes if 1 subscribers completed and 0 subscribers threw exception. - assertEquals("testPublish(total)", 0, testCounter.eventsHandledCount); - assertEquals("testPublish(exceptions)", 0, testCounter.subscribeExceptionCount); - } - - public void testUnsubscribeTopic() { - IEventTopicSubscriber eventTopicSubscriber = createEventTopicSubscriber(false); - eventService.subscribe("FooTopic", eventTopicSubscriber); - - boolean actualReturn; - - try { - actualReturn = eventService.unsubscribe((String) null, eventTopicSubscriber); - fail("unsubscribe(null, x) should have thrown exception"); - } catch (Exception e) { - } - - try { - actualReturn = eventService.unsubscribe("FooTopic", null); - fail("unsubscribe(x, null) should have thrown exception"); - } catch (Exception e) { - } - - testCounter.eventsHandledCount = 0; - testCounter.subscribeExceptionCount = 0; - eventService.publish("FooTopic", "Foo"); - - //The test passes if 1 subscribers completed and 0 subscribers threw exception. - assertEquals("testPublish(total)", 1, testCounter.eventsHandledCount); - assertEquals("testPublish(exceptions)", 0, testCounter.subscribeExceptionCount); - - actualReturn = eventService.unsubscribe("FooTopic", eventTopicSubscriber); - assertTrue("return value", actualReturn); - - testCounter.eventsHandledCount = 0; - testCounter.subscribeExceptionCount = 0; - eventService.publish("FooTopic", "Foo"); - - //The test passes if 1 subscribers completed and 0 subscribers threw exception. - assertEquals("testPublish(total)", 0, testCounter.eventsHandledCount); - assertEquals("testPublish(exceptions)", 0, testCounter.subscribeExceptionCount); - } - - /** - * Test that the publish method works and that exceptions thrown in event subscribers don't halt publishing. In the - * test 2 subscribers are good and 2 subscribers throw exceptions. - */ - public void testPublish() { - try { - eventService.publish(null); - fail("publish(null) should have thrown exception"); - } catch (Exception e) { - } - - try { - eventService.publish((String) null, createEvent()); - fail("publish(null, x) should have thrown exception"); - } catch (Exception e) { - } - - eventService.publish(createEvent()); - assertEquals("testPublish(completed)", 0, testCounter.eventsHandledCount); - assertEquals("testPublish(exceptions)", 0, testCounter.subscribeExceptionCount); - - eventService.publish("Foo", "Bar"); - assertEquals("testPublish(completed)", 0, testCounter.eventsHandledCount); - assertEquals("testPublish(exceptions)", 0, testCounter.subscribeExceptionCount); - - eventService.subscribe(getEventClass(), createEventSubscriber(true)); - eventService.subscribe(getEventClass(), createEventSubscriber(false)); - eventService.subscribe(getEventClass(), createEventSubscriber(true)); - eventService.subscribe(getEventClass(), createEventSubscriber(false)); - - testCounter.eventsHandledCount = 0; - testCounter.subscribeExceptionCount = 0; - eventService.publish(createEvent()); - - //The test passes if 2 subscribers completed and 2 subscribers threw exception. - assertEquals("testPublish(completed)", 4, testCounter.eventsHandledCount); - assertEquals("testPublish(exceptions)", 2, testCounter.subscribeExceptionCount); - - EventBus.subscribe(ObjectEvent.class, createEventSubscriber(false)); - testCounter.eventsHandledCount = 0; - testCounter.subscribeExceptionCount = 0; - ObjectEvent evt = new ObjectEvent("Foo", "Bar"); - assertEquals(evt.getEventObject(), "Bar"); - EventBus.publish(evt); - //Since we are using hte event bus from a non-awt thread, stay alive for a sec - //to give time for the EDT to start and post the message - try { - Thread.sleep(500); - } catch (InterruptedException e) { - } - assertEquals("testPublish(completed)", 1, testCounter.eventsHandledCount); - assertEquals("testPublish(exceptions)", 0, testCounter.subscribeExceptionCount); - } - - public void testTimeHandling() { - eventService.subscribe(getEventClass(), createEventSubscriber(new Long(200L))); - final Boolean[] wasCalled = new Boolean[1]; - eventService.subscribe(SubscriberTimingEvent.class, new IEventSubscriber() { - public void onEvent(Object evt) { - wasCalled[0] = Boolean.TRUE; - } - }); - eventService.publish(createEvent()); - assertTrue(wasCalled[0] == null); - eventService = new ThreadSafeEventService(new Long(100), true); - eventService.subscribe(getEventClass(), createEventSubscriber(new Long(200L))); - final Boolean[] wasCalled2 = new Boolean[1]; - eventService.subscribe(SubscriberTimingEvent.class, new IEventSubscriber() { - public void onEvent(Object evt) { - wasCalled2[0] = Boolean.TRUE; - timing = (SubscriberTimingEvent) evt; - } - }); - eventService.publish(createEvent()); - assertTrue(wasCalled2[0] == Boolean.TRUE); - assertNotNull(timing.getSource()); - assertNotNull(timing.getEnd()); - assertNotNull(timing.getEvent()); - assertNotNull(timing.getSubscriber()); - assertNotNull(timing.getStart()); - assertNotNull(timing.getTimeLimitMilliseconds()); - assertFalse(timing.isEventHandlingExceeded()); - assertFalse(timing.isVetoExceeded()); - assertNull(timing.getVetoEventListener()); - } - - public void testEventLocator() { - EventServiceLocatorTestCase.clearEventServiceLocator(); - EventService es = EventServiceLocator.getSwingEventService(); - assertTrue(es instanceof SwingEventService); - es = new ThreadSafeEventService(null, false); - try { - EventServiceLocator.setEventService("foo", es); - } catch (EventServiceExistsException e) { - fail("First set should succeed."); - } - EventService es2 = EventServiceLocator.getEventService("foo"); - assertTrue(es2 == es); - try { - es = new ThreadSafeEventService(null, false); - EventServiceLocator.setEventService("foo", es); - fail("Second set should fail."); - } catch (EventServiceExistsException e) { - } - es2 = EventServiceLocator.getEventService("foo"); - assertFalse(es2 == es); - try { - EventServiceLocator.setEventService("foo", null); - } catch (EventServiceExistsException e) { - fail("Null should succeed."); - } - es2 = EventServiceLocator.getEventService("foo"); - assertNull(es2); - assertEquals(EventServiceLocator.getSwingEventService(), EventBus.getGlobalEventService()); - } - - /** - * Test for ISSUE #1: If a class implements both subscriber interfaces I've seen a topic 'event' be published from a - * publish method with the correct (topic) signature, yet be subscribed at the wrong subscriber method (the one with - * the signature for real event classes, not topics - */ - public void testSimultaneousTopicAndClass() { - DoubleSubscriber doubleSubscriber = new DoubleSubscriber(); - eventService.subscribe(org.scijava.event.bushe.ObjectEvent.class, doubleSubscriber); - eventService.subscribe("org.scijava.event.bushe.ObjectEvent.class", doubleSubscriber); - ObjectEvent evt = new ObjectEvent("Foo", "Bar"); - assertEquals(evt.getEventObject(), "Bar"); - eventService.publish(evt); - assertEquals(1, doubleSubscriber.timesEventCalled); - assertEquals(0, doubleSubscriber.timesTopicCalled); - assertEquals(evt, doubleSubscriber.lastEvent); - assertEquals(null, doubleSubscriber.lastEventString); - eventService.publish("org.scijava.event.bushe.ObjectEvent.class", "Bar"); - assertEquals(1, doubleSubscriber.timesEventCalled); - assertEquals(1, doubleSubscriber.timesTopicCalled); - assertEquals(evt, doubleSubscriber.lastEvent); - assertEquals("org.scijava.event.bushe.ObjectEvent.class", doubleSubscriber.lastEventString); - } - - public void testRegex() { - DoubleSubscriber doubleSubscriber = new DoubleSubscriber(); - Pattern pat = Pattern.compile("Foo[1-5]"); - eventService.subscribe(pat, doubleSubscriber); - List subscribers = eventService.getSubscribersToPattern(pat); - assertNotNull(subscribers); - assertEquals(1, subscribers.size()); - subscribers = eventService.getSubscribersByPattern("Foo1"); - assertNotNull(subscribers); - assertEquals(1, subscribers.size()); - subscribers = eventService.getSubscribers("Foo1"); - assertNotNull(subscribers); - assertEquals(1, subscribers.size()); - - eventService.publish("Foo1", "Bar"); - assertEquals(0, doubleSubscriber.timesEventCalled); - assertEquals(1, doubleSubscriber.timesTopicCalled); - assertEquals(null, doubleSubscriber.lastEvent); - assertEquals("Foo1", doubleSubscriber.lastEventString); - eventService.publish("Foo2", "Bar"); - assertEquals(0, doubleSubscriber.timesEventCalled); - assertEquals(2, doubleSubscriber.timesTopicCalled); - assertEquals(null, doubleSubscriber.lastEvent); - assertEquals("Foo2", doubleSubscriber.lastEventString); - } - - public void testTypeSubscription() { - DoubleSubscriber subscriber = new DoubleSubscriber(); - - eventService.subscribe(TopLevelEvent.class, subscriber); - List subscribers = eventService.getSubscribersToClass(TopLevelEvent.class); - assertNotNull(subscribers); - assertEquals(1, subscribers.size()); - subscribers = eventService.getSubscribersToClass(DerivedEvent.class); - assertNotNull(subscribers); - assertEquals(1, subscribers.size()); - subscribers = eventService.getSubscribers(DerivedEvent.class); - assertNotNull(subscribers); - assertEquals(1, subscribers.size()); - subscribers = eventService.getSubscribers(TopLevelEvent.class); - assertNotNull(subscribers); - assertEquals(1, subscribers.size()); - - DerivedEvent derivedEvent = new DerivedEvent(this); - eventService.publish(derivedEvent); - assertEquals(1, subscriber.timesEventCalled); - assertEquals(0, subscriber.timesTopicCalled); - assertEquals(derivedEvent, subscriber.lastEvent); - assertEquals(null, subscriber.lastEventString); - TopLevelEvent topLevelEvent = new TopLevelEvent(this); - eventService.publish(topLevelEvent); - assertEquals(2, subscriber.timesEventCalled); - assertEquals(0, subscriber.timesTopicCalled); - assertEquals(topLevelEvent, subscriber.lastEvent); - assertEquals(null, subscriber.lastEventString); - } - - //Parameterized Type - public void testParameterizedEvent() throws IllegalAccessException, NoSuchMethodException, InvocationTargetException, InstantiationException { - final int[] timesCalled = new int[1]; - ParameterizedEvent stringRequestEvent = new ParameterizedEvent(); - ParameterizedEvent integerRequestEvent = new ParameterizedEvent(); - - TypeReference> stringTypeReference = new TypeReference>(){}; - TypeReference> integerTypeReference = new TypeReference>(){}; -// ParameterizedEvent dre = stringTypeReference.newInstance(); -// System.out.println("dre.getClass()"+dre.getClass()); -// System.out.println("stringTypeReference"+ stringTypeReference); -// System.out.println("stringTypeReference.getType()"+ stringTypeReference.getType()); - -// You can't simply do this, the TypeReference's generic type is important here -// Type superclass = integerRequestEvent.getClass().getGenericSuperclass(); -// Type type = ((ParameterizedType) superclass).getActualTypeArguments()[0]; -// System.out.println("superclass="+superclass); -// System.out.println("type="+type); - - eventService.subscribe(stringTypeReference.getType(), new IEventSubscriber() { - public void onEvent(Object event) { - timesCalled[0]++; - } - }); - eventService.publish(stringTypeReference.getType(), stringRequestEvent); - eventService.publish(integerTypeReference.getType(), integerRequestEvent); - assertEquals(1, timesCalled[0]); - } - - public void testParameterizedEventMultiParams() throws IllegalAccessException, NoSuchMethodException, InvocationTargetException, InstantiationException { - final int[] timesCalled = new int[1]; - DoublyParameterizedEvent stringRequestEvent = new DoublyParameterizedEvent(); - DoublyParameterizedEvent integerRequestEvent = new DoublyParameterizedEvent(); - DoublyParameterizedEvent switchRequestEvent = new DoublyParameterizedEvent(); - - TypeReference> stringTypeReference = new TypeReference>(){}; - TypeReference> integerTypeReference = new TypeReference>(){}; - TypeReference> switchTypeReference = new TypeReference>(){}; - - eventService.subscribe(stringTypeReference.getType(), new IEventSubscriber() { - public void onEvent(Object event) { - timesCalled[0]++; - } - }); - eventService.subscribe(integerTypeReference.getType(), new IEventSubscriber() { - public void onEvent(Object event) { - timesCalled[0]++; - } - }); - eventService.publish(stringTypeReference.getType(), stringRequestEvent); - assertEquals(1, timesCalled[0]); - eventService.publish(integerTypeReference.getType(), integerRequestEvent); - assertEquals(2, timesCalled[0]); - eventService.publish(switchTypeReference.getType(), switchRequestEvent); - assertEquals(2, timesCalled[0]); - } - - public void testWildcardSubscription() throws IllegalAccessException, NoSuchMethodException, InvocationTargetException, InstantiationException { - final int[] timesCalled = new int[1]; - ParameterizedEvent jComponentRequestEvent = new ParameterizedEvent(); - - TypeReference> containerWildcardTypeRef = new TypeReference>(){}; - - eventService.subscribe(containerWildcardTypeRef.getType(), new IEventSubscriber() { - public void onEvent(Object event) { - timesCalled[0]++; - } - }); - TypeReference> jComponentTypeRef = new TypeReference>(){}; - - eventService.publish(jComponentTypeRef.getType(), jComponentRequestEvent); - assertEquals(1, timesCalled[0]); - - //publishing a Component should not hit the wildcard since it doesn't extend Component - TypeReference> componentTypeRef = new TypeReference>(){}; - ParameterizedEvent componentRequestEvent = new ParameterizedEvent(); - eventService.publish(componentTypeRef.getType(), componentRequestEvent); - assertEquals(1, timesCalled[0]); - - //publish wildcards is a not yet supported - try { - eventService.publish(containerWildcardTypeRef.getType(), jComponentRequestEvent); - fail(); - } catch (IllegalArgumentException ex) { - } - assertEquals(1, timesCalled[0]); - - //Test super wildcard, should be opposite of above - eventService.clearAllSubscribers(); - TypeReference> containerSuperWildcardTypeRef = new TypeReference>(){}; - eventService.subscribe(containerSuperWildcardTypeRef.getType(), new IEventSubscriber() { - public void onEvent(Object event) { - timesCalled[0]++; - } - }); - eventService.publish(jComponentTypeRef.getType(), jComponentRequestEvent); - assertEquals(1, timesCalled[0]); - eventService.publish(componentTypeRef.getType(), componentRequestEvent); - assertEquals(2, timesCalled[0]); - - //Test exact matches - } - - public class ParameterizedEvent { - private Collection data; - public Collection getData() { - return data; - } - } - - public class DoublyParameterizedEvent { - private Map data; - public Map getData() { - return data; - } - } - - class DoubleSubscriber implements IEventTopicSubscriber, IEventSubscriber { - public int timesTopicCalled = 0; - public int timesEventCalled = 0; - public String lastEventString; - public Object lastEvent; - - public void onEvent(String topic, Object data) { - timesTopicCalled++; - lastEventString = topic; - } - - public void onEvent(Object evt) { - timesEventCalled++; - lastEvent = evt; - } - } - - class TopLevelEvent extends AbstractEventServiceEvent { - public TopLevelEvent(Object source) { - super(source); - } - } - - class DerivedEvent extends TopLevelEvent { - public DerivedEvent(Object source) { - super(source); - } - } - - - /** - * Test match for generic type's of generic types - */ - public void testGenericGeneric() { - final int[] timesCalled = new int[1]; - DataRequestEvent> request = new DataRequestEvent>(); - Type type = new TypeReference>>() {}.getType(); - eventService.subscribe(type, new IEventSubscriber() { - public void onEvent(Object event) { - timesCalled[0]++; - } - }); - eventService.publish(type, request); - assertEquals(1, timesCalled[0]); - DataRequestEvent> stringRequest = new DataRequestEvent>(); - Type stringType = new TypeReference>>() {}.getType(); - eventService.publish(stringType , stringRequest); - assertEquals(1, timesCalled[0]); - } - - public void testTopicsCache() { - Object a1 = new Object(); - //All of the above should be checked with topics. - //Topics should test that exact matches are preferred over pattern matches - //Test that a default setting does not cache - EventService es = new ThreadSafeEventService(null); - es.publish("IceCream.Vanilla", a1); - List events = es.getCachedTopicData("IceCream.Vanilla"); - assertNull(events); - Object lastEventObj = es.getLastTopicData("IceCream.Vanilla"); - assertNull(lastEventObj); - assertEquals(0, es.getCacheSizeForTopic("IceCream.Vanilla")); - assertEquals(0, es.getDefaultCacheSizePerClassOrTopic()); - //Test that changing the default to 1 caches 1 - es.setDefaultCacheSizePerClassOrTopic(1); - assertEquals(1, es.getDefaultCacheSizePerClassOrTopic()); - Object publishedEventObj = new Object(); - es.publish("IceCream.Vanilla", publishedEventObj); - events = es.getCachedTopicData("IceCream.Vanilla"); - assertNotNull(events); - assertEquals(1, events.size()); - lastEventObj = es.getLastTopicData("IceCream.Vanilla"); - assertTrue(lastEventObj == publishedEventObj); - assertEquals(1, es.getCacheSizeForTopic("IceCream.Vanilla")); - //subscribe and see if it still works and that the new event is cached - IEventTopicSubscriber sub = new IEventTopicSubscriber() { - public void onEvent(String topic, Object data) { - System.out.println("Barrrr"); - } - }; - es.subscribe("IceCream.Vanilla", sub); - publishedEventObj = new Object(); - es.publish("IceCream.Vanilla", publishedEventObj); - events = es.getCachedTopicData("IceCream.Vanilla"); - assertNotNull(events); - assertEquals(1, events.size()); - lastEventObj = es.getLastTopicData("IceCream.Vanilla"); - assertTrue(lastEventObj == publishedEventObj); - assertEquals(1, es.getCacheSizeForTopic("IceCream.Vanilla")); - - //Test that changing the default to 5 caches 5 - es.setDefaultCacheSizePerClassOrTopic(5); - assertEquals(5, es.getDefaultCacheSizePerClassOrTopic()); - Object publishedEventObj2 = new Object(); - Object publishedEventObj3 = new Object(); - Object publishedEventObj4 = new Object(); - Object publishedEventObj5 = new Object(); - es.publish("IceCream.Vanilla", publishedEventObj2); - es.publish("IceCream.Vanilla", publishedEventObj3); - es.publish("IceCream.Vanilla", publishedEventObj4); - es.publish("IceCream.Vanilla", publishedEventObj5); - events = es.getCachedTopicData("IceCream.Vanilla"); - assertNotNull(events); - assertEquals(5, events.size()); - lastEventObj = es.getLastTopicData("IceCream.Vanilla"); - assertTrue(lastEventObj == publishedEventObj5); - assertEquals(5, es.getCacheSizeForTopic("IceCream.Vanilla")); - Object publishedEventObj6 = new Object(); - es.publish("IceCream.Vanilla", publishedEventObj6); - assertEquals(5, events.size()); - lastEventObj = es.getLastTopicData("IceCream.Vanilla"); - assertTrue(lastEventObj == publishedEventObj6); - assertEquals(5, es.getCacheSizeForTopic("IceCream.Vanilla")); - - //Test that setting a topic cache with 10 caches 10 for that topic, but the default for the others - es.setCacheSizeForTopic("IceCream.Vanilla", 10); - Object publishedEventObjB1 = new Object(); - Object publishedEventObjB2 = new Object(); - Object publishedEventObjB3 = new Object(); - Object publishedEventObjB4 = new Object(); - Object publishedEventObjB5 = new Object(); - Object publishedEventObjB6 = new Object(); - es.publish("IceCream.Vanilla", publishedEventObj6); - es.publish("IceCream.Vanilla", publishedEventObj6);//see if reuse is OK - es.publish("IceCream.Blueberry", publishedEventObjB1); - es.publish("IceCream.Blueberry", publishedEventObjB2); - es.publish("IceCream.Blueberry", publishedEventObjB3); - es.publish("IceCream.Blueberry", publishedEventObjB4); - es.publish("IceCream.Blueberry", publishedEventObjB5); - es.publish("IceCream.Blueberry", publishedEventObjB6); - es.publish("IceCream.Vanilla", publishedEventObj6); - es.publish("IceCream.Vanilla", publishedEventObj6); - Object publishedEvent10 = new Object(); - es.publish("IceCream.Vanilla", publishedEvent10); - lastEventObj = es.getLastTopicData("IceCream.Vanilla"); - assertTrue(lastEventObj == publishedEvent10); - events = es.getCachedTopicData("IceCream.Vanilla"); - assertNotNull(events); - assertEquals(10, events.size()); - assertEquals(10, es.getCacheSizeForTopic("IceCream.Vanilla")); - assertTrue(publishedEvent10 == events.get(0)); - assertTrue(publishedEventObj6 == events.get(1)); - assertTrue(publishedEventObj6 == events.get(2)); - assertTrue(publishedEventObj6 == events.get(3)); - assertTrue(publishedEventObj6 == events.get(4)); - assertTrue(publishedEventObj6 == events.get(5)); - assertTrue(publishedEventObj5 == events.get(6)); - assertTrue(publishedEventObj4 == events.get(7)); - assertTrue(publishedEventObj3 == events.get(8)); - assertTrue(publishedEventObj2 == events.get(9)); - lastEventObj = es.getLastTopicData("IceCream.Blueberry"); - assertTrue(lastEventObj == publishedEventObjB6); - events = es.getCachedTopicData("IceCream.Blueberry"); - assertNotNull(events); - assertEquals(5, events.size()); - assertEquals(5, es.getCacheSizeForTopic("IceCream.Blueberry")); - assertTrue(publishedEventObjB6 == events.get(0)); - assertTrue(publishedEventObjB5 == events.get(1)); - assertTrue(publishedEventObjB4 == events.get(2)); - assertTrue(publishedEventObjB3 == events.get(3)); - assertTrue(publishedEventObjB2 == events.get(4)); - //this makes the cache resize to a smaller amount - es.setCacheSizeForTopic("IceCream.Vanilla", 1); - es.publish("IceCream.Vanilla", publishedEventObj4); - lastEventObj = es.getLastTopicData("IceCream.Vanilla"); - assertTrue(lastEventObj == publishedEventObj4); - events = es.getCachedTopicData("IceCream.Vanilla"); - assertNotNull(events); - assertEquals(1, events.size()); - assertEquals(1, es.getCacheSizeForTopic("IceCream.Vanilla")); - es.publish("IceCream.Blueberry", publishedEventObjB4); - lastEventObj = es.getLastTopicData("IceCream.Blueberry"); - assertTrue(lastEventObj == publishedEventObjB4); - events = es.getCachedTopicData("IceCream.Blueberry"); - assertNotNull(events); - assertEquals(5, events.size()); - assertEquals(5, es.getCacheSizeForTopic("IceCream.Blueberry")); - assertTrue(publishedEventObjB4 == events.get(0)); - assertTrue(publishedEventObjB6 == events.get(1)); - assertTrue(publishedEventObjB5 == events.get(2)); - assertTrue(publishedEventObjB4 == events.get(3)); - assertTrue(publishedEventObjB3 == events.get(4)); - - //Test pattern cache size works, but does not override a specific topic setting - Pattern pattern = Pattern.compile("IceCream.*"); - es.setDefaultCacheSizePerClassOrTopic(5); - es.setCacheSizeForTopic(pattern, 2); - es.setCacheSizeForTopic("IceCream.Vanilla", 3); - Object publishedEventObjX1 = new Object(); - Object publishedEventObjX2 = new Object(); - Object publishedEventObjX3 = new Object(); - Object publishedEventObjX4 = new Object(); - Object publishedEventObjX5 = new Object(); - Object publishedEventObjX6 = new Object(); - Object publishedEventObjC1 = new Object(); - Object publishedEventObjC2 = new Object(); - Object publishedEventObjC3 = new Object(); - Object publishedEventObjC4 = new Object(); - es.publish("X", publishedEventObjX1); - es.publish("IceCream.Vanilla", publishedEventObj6); - es.publish("IceCream.Chocolate", publishedEventObjC1); - es.publish("X", publishedEventObjX2);//see if reuse is OK - es.publish("X", publishedEventObjX3); - es.publish("IceCream.Chocolate", publishedEventObjC2); - es.publish("X", publishedEventObjX4); - es.publish("IceCream.Vanilla", publishedEventObj4); - es.publish("IceCream.Vanilla", publishedEventObj5); - es.publish("IceCream.Vanilla", publishedEventObj6); - es.publish("X", publishedEventObjX5); - es.publish("IceCream.Chocolate", publishedEventObjC3); - es.publish("X", publishedEventObjX6); - es.publish("IceCream.Chocolate", publishedEventObjC4); - - lastEventObj = es.getLastTopicData("IceCream.Vanilla"); - assertTrue(lastEventObj == publishedEventObj6); - events = es.getCachedTopicData("IceCream.Vanilla"); - assertNotNull(events); - assertEquals(3, events.size()); - assertEquals(3, es.getCacheSizeForTopic("IceCream.Vanilla")); - lastEventObj = es.getLastTopicData("X"); - assertTrue(lastEventObj == publishedEventObjX6); - events = es.getCachedTopicData("X"); - assertNotNull(events); - assertEquals(5, events.size()); - assertEquals(5, es.getCacheSizeForEventClass(EventX.class)); - assertTrue(publishedEventObjX6 == events.get(0)); - assertTrue(publishedEventObjX5 == events.get(1)); - assertTrue(publishedEventObjX4 == events.get(2)); - assertTrue(publishedEventObjX3 == events.get(3)); - assertTrue(publishedEventObjX2 == events.get(4)); - events = es.getCachedTopicData("IceCream.Chocolate"); - assertNotNull(events); - assertEquals(2, events.size()); - assertEquals(2, es.getCacheSizeForTopic("IceCream.Chocolate")); - assertTrue(publishedEventObjC4 == events.get(0)); - assertTrue(publishedEventObjC3 == events.get(1)); - - es.clearCache("IceCream.Blueberry"); - events = es.getCachedTopicData("IceCream.Blueberry"); - assertNull(events); - lastEventObj = es.getLastTopicData("IceCream.Vanilla"); - assertNotNull(lastEventObj); - events = es.getCachedTopicData("IceCream.Vanilla"); - assertNotNull(events); - assertEquals(3, events.size()); - lastEventObj = es.getLastTopicData("IceCream.Chocolate"); - assertNotNull(lastEventObj); - events = es.getCachedTopicData("IceCream.Chocolate"); - assertNotNull(events); - assertEquals(2, events.size()); - lastEventObj = es.getLastTopicData("X"); - assertNotNull(lastEventObj); - events = es.getCachedTopicData("X"); - assertNotNull(events); - assertEquals(5, events.size()); - es.clearCache(pattern); - events = es.getCachedTopicData("IceCream.Vanilla"); - assertNull(events); - lastEventObj = es.getLastTopicData("IceCream.Chocolate"); - assertNull(lastEventObj); - lastEventObj = es.getLastTopicData("X"); - assertNotNull(lastEventObj); - events = es.getCachedTopicData("X"); - assertNotNull(events); - assertEquals(5, events.size()); - - es.publish("X", publishedEventObjX6); - es.publish("IceCream.Blueberry", publishedEventObjB4); - es.publish("IceCream.Vanilla", publishedEvent10); - es.clearCache(); - lastEventObj = es.getLastTopicData("IceCream.Vanilla"); - assertNull(lastEventObj); - lastEventObj = es.getLastTopicData("IceCream.Blueberry"); - assertNull(lastEventObj); - lastEventObj = es.getLastTopicData("IceCream.Chocolate"); - assertNull(lastEventObj); - lastEventObj = es.getLastTopicData("X"); - assertNull(lastEventObj); - } - - - public void testEventsCache() { - //Test that a default setting does not cache - EventService es = new ThreadSafeEventService(null); - es.publish(new EventA()); - List aEvents = es.getCachedEvents(EventA.class); - assertNull(aEvents); - EventA lastAEvent = es.getLastEvent(EventA.class); - assertNull(lastAEvent); - assertEquals(0, es.getCacheSizeForEventClass(EventA.class)); - assertEquals(0, es.getDefaultCacheSizePerClassOrTopic()); - //Test that changing the default to 1 caches 1 - es.setDefaultCacheSizePerClassOrTopic(1); - assertEquals(1, es.getDefaultCacheSizePerClassOrTopic()); - EventA publishedEvent = new EventA(); - es.publish(publishedEvent); - aEvents = es.getCachedEvents(EventA.class); - assertNotNull(aEvents); - assertEquals(1, aEvents.size()); - lastAEvent = es.getLastEvent(EventA.class); - assertTrue(lastAEvent == publishedEvent); - assertEquals(1, es.getCacheSizeForEventClass(EventA.class)); - //subscribe and see if it still works and that the new event is cached - IEventSubscriber sub = new IEventSubscriber() { - public void onEvent(Object evt) { - System.out.println("Fooo"); - } - }; - es.subscribe(EventA.class, sub); - publishedEvent = new EventA(); - es.publish(publishedEvent); - aEvents = es.getCachedEvents(EventA.class); - assertNotNull(aEvents); - assertEquals(1, aEvents.size()); - lastAEvent = es.getLastEvent(EventA.class); - assertTrue(lastAEvent == publishedEvent); - assertEquals(1, es.getCacheSizeForEventClass(EventA.class)); - - //Test that changing the default to 5 caches 5 - es.setDefaultCacheSizePerClassOrTopic(5); - assertEquals(5, es.getDefaultCacheSizePerClassOrTopic()); - EventA publishedEvent2 = new EventA(); - EventA publishedEvent3 = new EventA(); - EventA publishedEvent4 = new EventA(); - EventA publishedEvent5 = new EventA(); - es.publish(publishedEvent2); - es.publish(publishedEvent3); - es.publish(publishedEvent4); - es.publish(publishedEvent5); - aEvents = es.getCachedEvents(EventA.class); - assertNotNull(aEvents); - assertEquals(5, aEvents.size()); - lastAEvent = es.getLastEvent(EventA.class); - assertTrue(lastAEvent == publishedEvent5); - assertEquals(5, es.getCacheSizeForEventClass(EventA.class)); - EventA publishedEvent6 = new EventA(); - es.publish(publishedEvent6); - assertEquals(5, aEvents.size()); - lastAEvent = es.getLastEvent(EventA.class); - assertTrue(lastAEvent == publishedEvent6); - assertEquals(5, es.getCacheSizeForEventClass(EventA.class)); - - //Test that overriding a single event class with 10 caches 10 for that event, but the default for the others - es.setCacheSizeForEventClass(EventA.class, 10); - EventB publishedEventB1 = new EventB(); - EventB publishedEventB2 = new EventB(); - EventB publishedEventB3 = new EventB(); - EventB publishedEventB4 = new EventB(); - EventB publishedEventB5 = new EventB(); - EventB publishedEventB6 = new EventB(); - es.publish(publishedEvent6); - es.publish(publishedEvent6);//see if reuse is OK - es.publish(publishedEventB1); - es.publish(publishedEventB2); - es.publish(publishedEventB3); - es.publish(publishedEventB4); - es.publish(publishedEventB5); - es.publish(publishedEventB6); - es.publish(publishedEvent6); - es.publish(publishedEvent6); - EventA publishedEvent10 = new EventA(); - es.publish(publishedEvent10); - lastAEvent = es.getLastEvent(EventA.class); - assertTrue(lastAEvent == publishedEvent10); - aEvents = es.getCachedEvents(EventA.class); - assertNotNull(aEvents); - assertEquals(10, aEvents.size()); - assertEquals(10, es.getCacheSizeForEventClass(EventA.class)); - assertTrue(publishedEvent10 == aEvents.get(0)); - assertTrue(publishedEvent6 == aEvents.get(1)); - assertTrue(publishedEvent6 == aEvents.get(2)); - assertTrue(publishedEvent6 == aEvents.get(3)); - assertTrue(publishedEvent6 == aEvents.get(4)); - assertTrue(publishedEvent6 == aEvents.get(5)); - assertTrue(publishedEvent5 == aEvents.get(6)); - assertTrue(publishedEvent4 == aEvents.get(7)); - assertTrue(publishedEvent3 == aEvents.get(8)); - assertTrue(publishedEvent2 == aEvents.get(9)); - EventB lastBEvent = es.getLastEvent(EventB.class); - assertTrue(lastBEvent == publishedEventB6); - List bEvents = es.getCachedEvents(EventB.class); - assertNotNull(bEvents); - assertEquals(5, bEvents.size()); - assertEquals(5, es.getCacheSizeForEventClass(EventB.class)); - assertTrue(publishedEventB6 == bEvents.get(0)); - assertTrue(publishedEventB5 == bEvents.get(1)); - assertTrue(publishedEventB4 == bEvents.get(2)); - assertTrue(publishedEventB3 == bEvents.get(3)); - assertTrue(publishedEventB2 == bEvents.get(4)); - //this makes the cache resize smaller - es.setCacheSizeForEventClass(EventA.class, 1); - es.publish(publishedEvent4); - lastAEvent = es.getLastEvent(EventA.class); - assertTrue(lastAEvent == publishedEvent4); - aEvents = es.getCachedEvents(EventA.class); - assertNotNull(aEvents); - assertEquals(1, aEvents.size()); - assertEquals(1, es.getCacheSizeForEventClass(EventA.class)); - es.publish(publishedEventB4); - lastBEvent = es.getLastEvent(EventB.class); - assertTrue(lastBEvent == publishedEventB4); - bEvents = es.getCachedEvents(EventB.class); - assertNotNull(bEvents); - assertEquals(5, bEvents.size()); - assertEquals(5, es.getCacheSizeForEventClass(EventB.class)); - assertTrue(publishedEventB4 == bEvents.get(0)); - assertTrue(publishedEventB6 == bEvents.get(1)); - assertTrue(publishedEventB5 == bEvents.get(2)); - assertTrue(publishedEventB4 == bEvents.get(3)); - assertTrue(publishedEventB3 == bEvents.get(4)); - - //Test that overriding a subclass event class with 2 changes and a derived class with 5 ... - //caches 5 for the derived class - //caches 2 for the subclass - //caches 2 for another derived class - // and that interfaces only take effect if the cache size of a class or it's superclasses has been set. - es.setCacheSizeForEventClass(EventA.class, 2); - es.setCacheSizeForEventClass(EventX.class, 5); - es.setCacheSizeForEventClass(Serializable.class, 3); - EventX publishedEventX1 = new EventX(); - EventX publishedEventX2 = new EventX(); - EventX publishedEventX3 = new EventX(); - EventX publishedEventX4 = new EventX(); - EventX publishedEventX5 = new EventX(); - EventX publishedEventX6 = new EventX(); - EventC publishedEventC1 = new EventC(); - EventC publishedEventC2 = new EventC(); - EventC publishedEventC3 = new EventC(); - EventC publishedEventC4 = new EventC(); - es.publish(publishedEventX1); - es.publish(publishedEvent6); - es.publish(publishedEventC1); - es.publish(publishedEventX2);//see if reuse is OK - es.publish(publishedEventX3); - es.publish(publishedEventC2); - es.publish(publishedEventX4); - es.publish(publishedEvent4); - es.publish(publishedEventX5); - es.publish(publishedEventC3); - es.publish(publishedEventX6); - es.publish(publishedEventC4); - - lastAEvent = es.getLastEvent(EventA.class); - assertTrue(lastAEvent == publishedEvent4); - aEvents = es.getCachedEvents(EventA.class); - assertNotNull(aEvents); - assertEquals(2, aEvents.size()); - assertEquals(2, es.getCacheSizeForEventClass(EventA.class)); - lastAEvent = es.getLastEvent(EventX.class); - assertTrue(lastAEvent == publishedEventX6); - List xEvents = es.getCachedEvents(EventX.class); - assertNotNull(xEvents); - assertEquals(5, xEvents.size()); - assertEquals(5, es.getCacheSizeForEventClass(EventX.class)); - assertTrue(publishedEventX6 == xEvents.get(0)); - assertTrue(publishedEventX5 == xEvents.get(1)); - assertTrue(publishedEventX4 == xEvents.get(2)); - assertTrue(publishedEventX3 == xEvents.get(3)); - assertTrue(publishedEventX2 == xEvents.get(4)); - try { - Serializable serializableEvent = es.getLastEvent(Serializable.class); - fail("Shouldn't be able to pass an interface."); - } catch (IllegalArgumentException ex) { - } - EventC lastCEvent = es.getLastEvent(EventC.class); - assertTrue(lastCEvent == publishedEventC4); - try { - List serializableEvents = es.getCachedEvents(Serializable.class); - fail("Shouldn't be able to pass an interface."); - } catch (IllegalArgumentException ex) { - } - List cEvents = es.getCachedEvents(EventC.class); - assertNotNull(cEvents); - assertEquals(3, cEvents.size()); - assertEquals(3, es.getCacheSizeForEventClass(EventC.class)); - - es.clearCache(EventB.class); - bEvents = es.getCachedEvents(EventB.class); - assertNull(bEvents); - lastAEvent = es.getLastEvent(EventA.class); - assertNotNull(lastAEvent); - aEvents = es.getCachedEvents(EventA.class); - assertNotNull(aEvents); - assertEquals(2, aEvents.size()); - EventX lastXEvent = es.getLastEvent(EventX.class); - assertNotNull(lastXEvent); - xEvents = es.getCachedEvents(EventX.class); - assertNotNull(xEvents); - assertEquals(5, xEvents.size()); - es.clearCache(EventA.class); - aEvents = es.getCachedEvents(EventA.class); - assertNull(aEvents); - lastXEvent = es.getLastEvent(EventX.class); - xEvents = es.getCachedEvents(EventX.class); - assertNull(lastXEvent); - assertNull(xEvents); - - es.publish(publishedEventX6); - es.publish(publishedEventB4); - es.publish(publishedEvent10); - es.clearCache(); - lastAEvent = es.getLastEvent(EventA.class); - assertNull(lastAEvent); - lastBEvent = es.getLastEvent(EventB.class); - assertNull(lastBEvent); - lastAEvent = es.getLastEvent(EventX.class); - assertNull(lastAEvent); - } - - - //Base - public static class EventA implements EventServiceEvent { - /** @return The issuer of the event. */ - public Object getSource() { - return null; - } - } - - //No relation - public static class EventB implements EventServiceEvent, Serializable { - /** @return The issuer of the event. */ - public Object getSource() { - return null; - } - } - - //No relation - public static class EventC implements EventServiceEvent, Serializable { - /** @return The issuer of the event. */ - public Object getSource() { - return null; - } - } - - //Derived 1 - public static class EventX extends EventA { - /** @return The issuer of the event. */ - public Object getSource() { - return null; - } - } - - //Derived 2 - public static class EventY extends EventA { - /** @return The issuer of the event. */ - public Object getSource() { - return null; - } - } - -} diff --git a/src/test/java/org/scijava/event/bushe/TestEventAction.java b/src/test/java/org/scijava/event/bushe/TestEventAction.java deleted file mode 100644 index 6c3eff80f..000000000 --- a/src/test/java/org/scijava/event/bushe/TestEventAction.java +++ /dev/null @@ -1,181 +0,0 @@ -/** - * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com - * - * Licensed 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.scijava.event.bushe; - -import java.util.ArrayList; -import java.awt.event.ActionEvent; -import javax.swing.Action; -import javax.swing.JButton; -import javax.swing.JFrame; -import javax.swing.JPanel; - -import junit.framework.TestCase; - -/** The DefaultEventService is NOT Swing-safe! But it's easier to test... */ -public class TestEventAction extends TestCase { - private ArrayList subscribedEvents; - private Object aSource = new Object(); - - private class MyEventServiceEvent extends AbstractEventServiceEvent { - private ActionEvent evt; - - public MyEventServiceEvent(Object source, ActionEvent evt) { - super(source); - this.evt = evt; - } - } - - public TestEventAction(String name) { - super(name); - } - - protected void setUp() throws Exception { - subscribedEvents = new ArrayList(); - System.clearProperty(EventServiceLocator.EVENT_BUS_CLASS); - System.clearProperty(EventServiceLocator.SWING_EVENT_SERVICE_CLASS); - } - - public void testEventBusTopicAction() { - EventBusAction action = new EventBusAction(); - action.putValue(Action.ACTION_COMMAND_KEY, "FooAction"); - IEventTopicSubscriber subscriber = new IEventTopicSubscriber() { - public void onEvent(String topic, Object evt) { - subscribedEvents.add(evt); - } - }; - EventBus.subscribeStrongly("FooAction", subscriber); - action.actionPerformed(new ActionEvent(this, 0, "FooAction")); - try { - Thread.sleep(500);//Calling hte EDT, need to slow this thread - } catch (InterruptedException e) { - } - assertEquals(1, subscribedEvents.size()); - assertNotNull(action);//keeps it from being garbage collected - } - - public void testEventBusTopicActionEventServiceValueFirst() { - EventBusAction action = new EventBusAction(); - action.putValue(EventBusAction.EVENT_SERVICE_TOPIC_NAME, "FooAction"); - action.putValue(Action.ACTION_COMMAND_KEY, "BarAction"); - EventBus.subscribeStrongly("FooAction", new IEventTopicSubscriber() { - public void onEvent(String topic, Object evt) { - subscribedEvents.add(evt); - } - }); - action.actionPerformed(new ActionEvent(this, 0, "FooAction")); - try { - Thread.sleep(500);//Calling hte EDT, need to slow this thread - } catch (InterruptedException e) { - } - assertEquals(1, subscribedEvents.size()); - } - - public void testEventBusTopicActionIDValueFirst() { - EventBusAction action = new EventBusAction(); - action.putValue("ID", "FooAction"); - action.putValue(Action.ACTION_COMMAND_KEY, "BarAction"); - EventBus.subscribeStrongly("FooAction", new IEventTopicSubscriber() { - public void onEvent(String topic, Object evt) { - subscribedEvents.add(evt); - } - }); - action.actionPerformed(new ActionEvent(this, 0, "FooAction")); - try { - Thread.sleep(500);//Calling hte EDT, need to slow this thread - } catch (InterruptedException e) { - } - assertEquals(1, subscribedEvents.size()); - } - - public void testEventBusTopicActionNameWorks() { - EventBusAction action = new EventBusAction(); - action.putValue(Action.NAME, "FooAction"); - EventBus.subscribeStrongly("FooAction", new IEventTopicSubscriber() { - public void onEvent(String topic, Object evt) { - subscribedEvents.add(evt); - } - }); - action.actionPerformed(new ActionEvent(this, 0, "FooAction")); - try { - Thread.sleep(500);//Calling hte EDT, need to slow this thread - } catch (InterruptedException e) { - } - assertEquals(1, subscribedEvents.size()); - } - - public void testEventBusEventAction() { - EventBusAction action = new EventBusAction("FooAction", null) { - protected Object getEventServiceEvent(ActionEvent evt) { - return new MyEventServiceEvent(aSource, evt); - } - }; - EventBus.subscribe(MyEventServiceEvent.class, new IEventSubscriber() { - public void onEvent(Object evt) { - assertEquals(((EventServiceEvent) evt).getSource(), aSource); - subscribedEvents.add(evt); - } - }); - action.setPublishesOnTopic(false); - action.actionPerformed(new ActionEvent(this, 0, "FooAction")); - try { - Thread.sleep(500);//Calling the EDT, need to slow this thread - } catch (InterruptedException e) { - } - assertEquals(1, subscribedEvents.size()); - } - - - public void testContainerEventAction() { - JFrame frame = new JFrame(); - JPanel panel = new JPanel(); - frame.setContentPane(panel); - ContainerEventServiceAction action = new ContainerEventServiceAction("FooAction", null); - JButton button = new JButton(action); - panel.add(button); - EventService es = ContainerEventServiceFinder.getEventService(button); - assertTrue(EventBus.getGlobalEventService() != es); - assertEquals(0, subscribedEvents.size()); - es.subscribe("FooAction", new IEventTopicSubscriber() { - public void onEvent(String topic, Object evt) { - subscribedEvents.add(evt); - } - }); - button.doClick(); - try { - Thread.sleep(500);//Calling hte EDT, need to slow this thread - } catch (InterruptedException e) { - } - assertEquals(1, subscribedEvents.size()); - } - - public void testContainerEventActionException() { - ContainerEventServiceAction action = new ContainerEventServiceAction("FooAction", null); - try { - action.actionPerformed(new ActionEvent(this, 0, "Foo")); - fail("Throws exception when no event service"); - } catch (Throwable t) { - } - try { - action.actionPerformed(new ActionEvent(null, 0, "Foo")); - fail("Throws exception when no event service"); - } catch (Throwable t) { - } - action.setThrowsExceptionOnNullEventService(false); - action.actionPerformed(new ActionEvent(this, 0, "Foo")); - assertTrue("Set to not throw exception when no event service", true); - } - -} diff --git a/src/test/java/org/scijava/event/bushe/TestEventBus.java b/src/test/java/org/scijava/event/bushe/TestEventBus.java deleted file mode 100644 index 487d0b277..000000000 --- a/src/test/java/org/scijava/event/bushe/TestEventBus.java +++ /dev/null @@ -1,570 +0,0 @@ -/** - * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com - * - * Licensed 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.scijava.event.bushe; - -import java.lang.reflect.Method; -import java.lang.reflect.Modifier; -import java.lang.reflect.TypeVariable; -import java.awt.EventQueue; - -import javax.swing.JComponent; - -import junit.framework.TestCase; - -public class TestEventBus extends TestCase { - - private IEventSubscriber eventSubscriber = null; - private IEventTopicSubscriber eventTopicSubscriber; - private EBTestCounter testCounter = new EBTestCounter(); - - public TestEventBus(String name) { - super(name); - } - - protected void setUp() throws Exception { - EventBus.getGlobalEventService().clearAllSubscribers(); - } - - protected void tearDown() throws Exception { - } - - private EventServiceEvent createEvent() { - return new EventServiceEvent() { - public Object getSource() { - return ""; - } - }; - } - - private Class getEventClass() { - return createEvent().getClass(); - } - - private IEventSubscriber createEventSubscriber(boolean throwException) { - SubscriberForTest test = new SubscriberForTest(testCounter, throwException); - return test; - } - - private IEventTopicSubscriber createEventTopicSubscriber(boolean throwException) { - return new TopicSubscriberForTest(testCounter, throwException); - } - - private IEventSubscriber getEventSubscriber() { - return getEventSubscriber(true); - } - - private IEventSubscriber getEventSubscriber(boolean throwException) { - if (eventSubscriber == null) { - eventSubscriber = createEventSubscriber(throwException); - } - return eventSubscriber; - } - - public void testSubscribe() { - boolean actualReturn; - IEventSubscriber subscriber = createEventSubscriber(false); - - actualReturn = EventBus.subscribe(getEventClass(), subscriber); - assertTrue("testSubscribe(new subscriber)", actualReturn); - - actualReturn = EventBus.subscribe(getEventClass(), subscriber); - assertFalse("testSubscribe(duplicate subscriber)", actualReturn); - - testCounter.eventsHandledCount = 0; - testCounter.subscribeExceptionCount = 0; - EventBus.publish(createEvent()); - EDTUtil.waitForEDT(); - - //The test passes if 1 subscribers completed and 0 subscribers threw exception. - assertEquals("testPublish(total)", 1, testCounter.eventsHandledCount); - assertEquals("testPublish(exceptions)", 0, testCounter.subscribeExceptionCount); - - try { - actualReturn = EventBus.subscribe((Class) null, getEventSubscriber()); - fail("subscribeStrongly(null, x) should have thrown exception"); - } catch (Exception e) { - } - - try { - actualReturn = EventBus.subscribe(getEventClass(), null); - fail("subscribeStrongly(x, null) should have thrown exception"); - } catch (Exception e) { - } - - } - - public static class SwingThreadTestEventSubscriber implements IEventSubscriber { - public boolean wasOnSwingThread; - - public void onEvent(Object event) { - wasOnSwingThread = EventQueue.isDispatchThread(); - } - } - - public void testSwingThreading() { - SwingThreadTestEventSubscriber sub = new SwingThreadTestEventSubscriber(); - EventBus.subscribe(Number.class, sub); - EventBus.publish(1); - EDTUtil.waitForEDT(); - assertTrue("Expected the EventBus to dispatch on the EDT", sub.wasOnSwingThread); - } - - public void testSubscribeWeakly() { - boolean actualReturn; - IEventSubscriber subscriber = createEventSubscriber(false); - - actualReturn = EventBus.subscribe(getEventClass(), subscriber); - assertTrue("testSubscribeWeakly(new subscriber)", actualReturn); - - actualReturn = EventBus.subscribe(getEventClass(), subscriber); - assertFalse("testSubscribe(duplicate subscriber)", actualReturn); - - testCounter.eventsHandledCount = 0; - testCounter.subscribeExceptionCount = 0; - EventBus.publish(createEvent()); - EDTUtil.waitForEDT(); - - //The test passes if 1 subscribers completed and 0 subscribers threw exception. - assertEquals("testPublish(total)", 1, testCounter.eventsHandledCount); - assertEquals("testPublish(exceptions)", 0, testCounter.subscribeExceptionCount); - subscriber = null; - System.gc(); - testCounter.eventsHandledCount = 0; - testCounter.subscribeExceptionCount = 0; - EventBus.publish(createEvent()); - EDTUtil.waitForEDT(); - - //The test passes if 1 subscribers completed and 0 subscribers threw exception. - assertEquals("testPublish(total)", 0, testCounter.eventsHandledCount); - assertEquals("testPublish(exceptions)", 0, testCounter.subscribeExceptionCount); - - try { - actualReturn = EventBus.subscribeStrongly((Class) null, getEventSubscriber()); - fail("subscribeStrongly(null, x) should have thrown exception"); - } catch (Exception e) { - } - - try { - actualReturn = EventBus.subscribeStrongly(getEventClass(), null); - fail("subscribeStrongly(x, null) should have thrown exception"); - } catch (Exception e) { - } - } - - public void testIllegalArgs() { - try { - EventBus.subscribeVetoListenerStrongly((Class) null, new VetoEventListenerForTest()); - fail(); - } catch (Throwable t) { - } - try { - EventBus.subscribeVetoListenerStrongly((String) null, new VetoTopicEventListenerForTest()); - fail(); - } catch (Throwable t) { - } - try { - EventBus.subscribeVetoListenerStrongly("foo", null); - fail(); - } catch (Throwable t) { - } - try { - EventBus.subscribeVetoListenerStrongly(getEventClass(), null); - fail(); - } catch (Throwable t) { - } - - - try { - EventBus.unsubscribeVetoListener((Class) null, new VetoEventListenerForTest()); - fail(); - } catch (Throwable t) { - } - try { - EventBus.unsubscribeVetoListener((String) null, new VetoTopicEventListenerForTest()); - fail(); - } catch (Throwable t) { - } - try { - EventBus.unsubscribeVetoListener("foo", null); - fail(); - } catch (Throwable t) { - } - try { - EventBus.unsubscribeVetoListener(getEventClass(), null); - fail(); - } catch (Throwable t) { - } - - } - - public void testVeto() { - boolean actualReturn; - IEventSubscriber subscriber = createEventSubscriber(false); - - actualReturn = EventBus.subscribe(getEventClass(), subscriber); - - VetoEventListener vetoListener = new VetoEventListenerForTest(); - actualReturn = EventBus.subscribeVetoListenerStrongly(getEventClass(), vetoListener); - - testCounter.eventsHandledCount = 0; - testCounter.subscribeExceptionCount = 0; - EventBus.publish(createEvent()); - EDTUtil.waitForEDT(); - - //The test passes if 1 subscribers completed and 0 subscribers threw exception. - assertEquals("testVeto(total)", 0, testCounter.eventsHandledCount); - assertEquals("testVeto(exceptions)", 0, testCounter.subscribeExceptionCount); - EventBus.unsubscribeVetoListener(getEventClass(), vetoListener); - EventBus.publish(createEvent()); - EDTUtil.waitForEDT(); - - //The test passes if 1 subscribers completed and 0 subscribers threw exception. - assertEquals("testVeto(total)", 1, testCounter.eventsHandledCount); - assertEquals("testVeto(exceptions)", 0, testCounter.subscribeExceptionCount); - - } - - public void testVetoException() { - boolean actualReturn; - IEventSubscriber subscriber = createEventSubscriber(false); - - actualReturn = EventBus.subscribe(getEventClass(), subscriber); - assertTrue(actualReturn); - VetoEventListener vetoListener = new VetoEventListenerForTest(true); - actualReturn = EventBus.subscribeVetoListenerStrongly(getEventClass(), vetoListener); - assertTrue(actualReturn); - - testCounter.eventsHandledCount = 0; - testCounter.subscribeExceptionCount = 0; - EventBus.publish(createEvent()); - EDTUtil.waitForEDT(); - - //The test passes if 1 subscribers completed and 0 subscribers threw exception. - assertEquals("testVeto(total)", 1, testCounter.eventsHandledCount); - assertEquals("testVeto(exceptions)", 0, testCounter.subscribeExceptionCount); - EventBus.unsubscribeVetoListener(getEventClass(), vetoListener); - EventBus.publish(createEvent()); - EDTUtil.waitForEDT(); - - //The test passes if 1 subscribers completed and 0 subscribers threw exception. - assertEquals("testVeto(total)", 2, testCounter.eventsHandledCount); - assertEquals("testVeto(exceptions)", 0, testCounter.subscribeExceptionCount); - System.out.println("Prevent garbage collection of subscriber by sys'outing it at the end:"+subscriber); - } - - public void testVetoTopic() { - boolean actualReturn; - IEventTopicSubscriber subscriber = createEventTopicSubscriber(false); - - actualReturn = EventBus.subscribeStrongly("FooTopic", subscriber); - - VetoTopicEventListener vetoListener = new VetoTopicEventListener() { - public boolean shouldVeto(String topic, Object data) { - return true; - } - }; - actualReturn = EventBus.subscribeVetoListenerStrongly("FooTopic", vetoListener); - - testCounter.eventsHandledCount = 0; - testCounter.subscribeExceptionCount = 0; - EventBus.publish("FooTopic", "Bar"); - EDTUtil.waitForEDT(); - - //The test passes if 0 subscribers completed and 0 subscribers threw exception. - assertEquals("testVeto(total)", 0, testCounter.eventsHandledCount); - assertEquals("testVeto(exceptions)", 0, testCounter.subscribeExceptionCount); - EventBus.unsubscribeVetoListener("FooTopic", vetoListener); - EventBus.publish("FooTopic", "Bar"); - EDTUtil.waitForEDT(); - - //The test passes if 1 subscribers completed and 0 subscribers threw exception. - assertEquals("testVeto(total)", 1, testCounter.eventsHandledCount); - assertEquals("testVeto(exceptions)", 0, testCounter.subscribeExceptionCount); - } - - - public void testVetoWeak() { - boolean actualReturn; - IEventSubscriber subscriber = createEventSubscriber(false); - - actualReturn = EventBus.subscribe(getEventClass(), subscriber); - - VetoEventListener vetoListener = new VetoEventListener() { - public boolean shouldVeto(Object evt) { - return true; - } - }; - actualReturn = EventBus.subscribeVetoListener(getEventClass(), vetoListener); - - testCounter.eventsHandledCount = 0; - testCounter.subscribeExceptionCount = 0; - EventBus.publish(createEvent()); - EDTUtil.waitForEDT(); - - //The test passes if 1 subscribers completed and 0 subscribers threw exception. - assertEquals("testVeto(total)", 0, testCounter.eventsHandledCount); - assertEquals("testVeto(exceptions)", 0, testCounter.subscribeExceptionCount); - vetoListener = null; - System.gc(); - try { - Thread.sleep(1000); - } catch (InterruptedException e) { - } - EventBus.publish(createEvent()); - EDTUtil.waitForEDT(); - - //The test passes if 1 subscribers completed and 0 subscribers threw exception. - assertEquals("testVeto(total)", 1, testCounter.eventsHandledCount); - assertEquals("testVeto(exceptions)", 0, testCounter.subscribeExceptionCount); - } - - public void testVetoTopicWeak() { - boolean actualReturn; - IEventTopicSubscriber subscriber = createEventTopicSubscriber(false); - - actualReturn = EventBus.subscribeStrongly("FooTopic", subscriber); - - VetoTopicEventListener vetoListener = new VetoTopicEventListener() { - public boolean shouldVeto(String topic, Object data) { - return true; - } - }; - actualReturn = EventBus.subscribeVetoListener("FooTopic", vetoListener); - - testCounter.eventsHandledCount = 0; - testCounter.subscribeExceptionCount = 0; - EventBus.publish("FooTopic", "Bar"); - EDTUtil.waitForEDT(); - - //The test passes if 1 subscribers completed and 0 subscribers threw exception. - assertEquals("testVeto(total)", 0, testCounter.eventsHandledCount); - assertEquals("testVeto(exceptions)", 0, testCounter.subscribeExceptionCount); - vetoListener = null; - System.gc(); - EventBus.publish("FooTopic", "Bar"); - EDTUtil.waitForEDT(); - //The test passes if 1 subscribers completed and 0 subscribers threw exception. - assertEquals("testVeto(total)", 1, testCounter.eventsHandledCount); - assertEquals("testVeto(exceptions)", 0, testCounter.subscribeExceptionCount); - } - - - public void testUnsubscribe() { - EventBus.subscribe(getEventClass(), getEventSubscriber(false)); - - boolean actualReturn; - - try { - actualReturn = EventBus.unsubscribe((Class) null, getEventSubscriber()); - fail("unsubscribe(null, x) should have thrown exception"); - } catch (Exception e) { - } - - try { - actualReturn = EventBus.unsubscribe(getEventClass(), null); - fail("unsubscribe(x, null) should have thrown exception"); - } catch (Exception e) { - } - - testCounter.eventsHandledCount = 0; - testCounter.subscribeExceptionCount = 0; - EventBus.publish(createEvent()); - EDTUtil.waitForEDT(); - - //The test passes if 1 subscribers completed and 0 subscribers threw exception. - assertEquals("testPublish(total)", 1, testCounter.eventsHandledCount); - assertEquals("testPublish(exceptions)", 0, testCounter.subscribeExceptionCount); - - actualReturn = EventBus.unsubscribe(getEventClass(), getEventSubscriber()); - assertTrue("return value", actualReturn); - - testCounter.eventsHandledCount = 0; - testCounter.subscribeExceptionCount = 0; - EventBus.publish(createEvent()); - EDTUtil.waitForEDT(); - - //The test passes if 1 subscribers completed and 0 subscribers threw exception. - assertEquals("testPublish(total)", 0, testCounter.eventsHandledCount); - assertEquals("testPublish(exceptions)", 0, testCounter.subscribeExceptionCount); - } - - public void testUnsubscribeTopic() { - IEventTopicSubscriber eventTopicSubscriber = createEventTopicSubscriber(false); - EventBus.subscribeStrongly("FooTopic", eventTopicSubscriber); - - boolean actualReturn; - - try { - actualReturn = EventBus.unsubscribe((String) null, eventTopicSubscriber); - fail("unsubscribe(null, x) should have thrown exception"); - } catch (Exception e) { - } - - try { - actualReturn = EventBus.unsubscribe("FooTopic", null); - fail("unsubscribe(x, null) should have thrown exception"); - } catch (Exception e) { - } - - testCounter.eventsHandledCount = 0; - testCounter.subscribeExceptionCount = 0; - EventBus.publish("FooTopic", "Foo"); - EDTUtil.waitForEDT(); - - //The test passes if 1 subscribers completed and 0 subscribers threw exception. - assertEquals("testPublish(total)", 1, testCounter.eventsHandledCount); - assertEquals("testPublish(exceptions)", 0, testCounter.subscribeExceptionCount); - - actualReturn = EventBus.unsubscribe("FooTopic", eventTopicSubscriber); - assertTrue("return value", actualReturn); - - testCounter.eventsHandledCount = 0; - testCounter.subscribeExceptionCount = 0; - EventBus.publish("FooTopic", "Foo"); - EDTUtil.waitForEDT(); - - //The test passes if 1 subscribers completed and 0 subscribers threw exception. - assertEquals("testPublish(total)", 0, testCounter.eventsHandledCount); - assertEquals("testPublish(exceptions)", 0, testCounter.subscribeExceptionCount); - } - - /** - * Test that the publish method works and that exceptions thrown in event subscribers don't halt publishing. In the - * test 2 subscribers are good and 2 subscribers throw exceptions. - */ - public void testPublish() { - try { - EventBus.publish(null); - EDTUtil.waitForEDT(); - fail("publish(null) should have thrown exception"); - } catch (Exception e) { - } - - try { - EventBus.publish((String) null, createEvent()); - EDTUtil.waitForEDT(); - fail("publish(null, x) should have thrown exception"); - } catch (Exception e) { - } - - EventBus.publish(createEvent()); - EDTUtil.waitForEDT(); - assertEquals("testPublish(completed)", 0, testCounter.eventsHandledCount); - assertEquals("testPublish(exceptions)", 0, testCounter.subscribeExceptionCount); - - EventBus.publish("Foo", "Bar"); - EDTUtil.waitForEDT(); - assertEquals("testPublish(completed)", 0, testCounter.eventsHandledCount); - assertEquals("testPublish(exceptions)", 0, testCounter.subscribeExceptionCount); - - EventBus.subscribe(getEventClass(), createEventSubscriber(true)); - EventBus.subscribe(getEventClass(), createEventSubscriber(false)); - EventBus.subscribe(getEventClass(), createEventSubscriber(true)); - EventBus.subscribe(getEventClass(), createEventSubscriber(false)); - - testCounter.eventsHandledCount = 0; - testCounter.subscribeExceptionCount = 0; - EventBus.publish(createEvent()); - EDTUtil.waitForEDT(); - - //The test passes if 2 subscribers completed and 2 subscribers threw exception. - assertEquals("testPublish(completed)", 4, testCounter.eventsHandledCount); - assertEquals("testPublish(exceptions)", 2, testCounter.subscribeExceptionCount); - - IEventSubscriber eventSubscriber = createEventSubscriber(false); - EventBus.subscribe(ObjectEvent.class, eventSubscriber); - testCounter.eventsHandledCount = 0; - testCounter.subscribeExceptionCount = 0; - ObjectEvent evt = new ObjectEvent("Foo", "Bar"); - assertEquals(evt.getEventObject(), "Bar"); - EventBus.publish(evt); - EDTUtil.waitForEDT(); - assertEquals("testPublish(completed)", 1, testCounter.eventsHandledCount); - assertEquals("testPublish(exceptions)", 0, testCounter.subscribeExceptionCount); - } - - /** - * This tests whether the EventBus has a static method for each EventService method - */ - public void testNumOfMethods() { - Method[] esMethods = EventService.class.getMethods(); - Method[] ebMethods = EventBus.class.getMethods(); - //Are all the es methods in the eb? - for (int i = 0; i < esMethods.length; i++) { - Method esMethod = esMethods[i]; - boolean foundMatch = false; - nextMethod: - for (int j = 0; j < ebMethods.length; j++) { - Method ebMethod = ebMethods[j]; - if (esMethod.getName().equals(ebMethod.getName())) { - TypeVariable[] esTypes = esMethod.getTypeParameters(); - TypeVariable[] ebTypes = ebMethod.getTypeParameters(); - if (esTypes.length != ebTypes.length) { - break; - } - for (int typeCount = 0; typeCount < ebTypes.length; typeCount++) { - TypeVariable esType = esTypes[typeCount]; - TypeVariable ebType = ebTypes[typeCount]; - if (!(ebType+"").equals((""+esType))) { - continue nextMethod; - } - } - Class[] esParams = esMethod.getParameterTypes(); - Class[] ebParams = ebMethod.getParameterTypes(); - if (esParams.length != ebParams.length) { - continue nextMethod; - } - for (int typeCount = 0; typeCount < ebParams.length; typeCount++) { - Class esType = esParams[typeCount]; - Class ebType = ebParams[typeCount]; - if (!ebType.equals(esType)) { - continue nextMethod; - } - } - foundMatch = true; - } - } - if (!foundMatch) { - System.out.println("No match for es method:" + esMethod.getName() + ", " + esMethod +", i="+i); - } - assertTrue(foundMatch); - } - - //Are all the eb methods static? - ebMethods = EventBus.class.getDeclaredMethods(); - for (int i = 0; i < ebMethods.length; i++) { - Method ebMethod = ebMethods[i]; - int modifiers = ebMethod.getModifiers(); - boolean isStatic = Modifier.isStatic(modifiers); - if (!isStatic) { - System.out.println("EventBus has a non-static method:" + ebMethod); - } - assertTrue(isStatic); - } - } - - //Really a compilation test - public void testGeneric() { - EventBus.subscribe(String.class, new IEventSubscriber() { - public void onEvent(JComponent event) { - } - }); - EventBus.subscribe("foo", new IEventTopicSubscriber() { - public void onEvent(String topic, JComponent data) { - } - }); - } -} diff --git a/src/test/java/org/scijava/event/bushe/TestEventBusServiceClass.java b/src/test/java/org/scijava/event/bushe/TestEventBusServiceClass.java deleted file mode 100644 index 49417097a..000000000 --- a/src/test/java/org/scijava/event/bushe/TestEventBusServiceClass.java +++ /dev/null @@ -1,32 +0,0 @@ -package org.scijava.event.bushe; - -import javax.swing.JComponent; - -import junit.framework.TestCase; - -/** The DefaultEventService is NOT Swing-safe! But it's easier to test... */ -public class TestEventBusServiceClass extends TestCase { - - public TestEventBusServiceClass(String name) { - super(name); - } - - protected void setUp() throws Exception { - System.setProperty(EventServiceLocator.SWING_EVENT_SERVICE_CLASS, BadEventService.class.getName()); - } - - protected void tearDown() throws Exception { - } - - public void testConfigurableEventService() { - try { - EventBus.subscribe("foo", new IEventTopicSubscriber() { - public void onEvent(String topic, Object data) { - } - }); - fail("Expected runtime exception since the plugged in EventService is a bad one."); - } catch (Throwable ex) { - System.out.println("Got ex"); - } - } -} diff --git a/src/test/java/org/scijava/event/bushe/TestEventBusServiceClassBadType.java b/src/test/java/org/scijava/event/bushe/TestEventBusServiceClassBadType.java deleted file mode 100644 index 7d6dcb309..000000000 --- a/src/test/java/org/scijava/event/bushe/TestEventBusServiceClassBadType.java +++ /dev/null @@ -1,30 +0,0 @@ -package org.scijava.event.bushe; - -import junit.framework.TestCase; - -/** The DefaultEventService is NOT Swing-safe! But it's easier to test... */ -public class TestEventBusServiceClassBadType extends TestCase { - - public TestEventBusServiceClassBadType(String name) { - super(name); - } - - protected void setUp() throws Exception { - System.setProperty(EventServiceLocator.SWING_EVENT_SERVICE_CLASS, EventServiceLocator.class.getName()); - } - - protected void tearDown() throws Exception { - } - - public void testConfigurableEventService() { - try { - EventBus.subscribe("foo", new IEventTopicSubscriber() { - public void onEvent(String topic, Object data) { - } - }); - fail("Expected runtime exception since the plugged in EventService is a bad one."); - } catch (Throwable ex) { - System.out.println("Got ex"); - } - } -} diff --git a/src/test/java/org/scijava/event/bushe/TestEventBusTiming.java b/src/test/java/org/scijava/event/bushe/TestEventBusTiming.java deleted file mode 100644 index 27cb12c06..000000000 --- a/src/test/java/org/scijava/event/bushe/TestEventBusTiming.java +++ /dev/null @@ -1,107 +0,0 @@ -/** - * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com - * - * Licensed 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.scijava.event.bushe; - -import junit.framework.TestCase; - -/** The DefaultEventService is NOT Swing-safe! But it's easier to test... */ -public class TestEventBusTiming extends EventServiceLocatorTestCase { - - private IEventSubscriber eventSubscriber = null; - private IEventTopicSubscriber eventTopicSubscriber; - private SubscriberTimingEvent timing; - private EBTestCounter testCounter = new EBTestCounter(); - - public TestEventBusTiming(String name) { - super(name); - } - - private EventServiceEvent createEvent() { - return new EventServiceEvent() { - public Object getSource() { - return ""; - } - }; - } - - private Class getEventClass() { - return createEvent().getClass(); - } - - private IEventSubscriber createEventSubscriber(boolean throwException) { - return new SubscriberForTest(testCounter, throwException); - } - - private IEventTopicSubscriber createEventTopicSubscriber(boolean throwException) { - return new TopicSubscriberForTest(testCounter, throwException); - } - - private IEventSubscriber createEventSubscriber(Long waitTime) { - return new SubscriberForTest(testCounter, waitTime); - } - - private IEventSubscriber getEventSubscriber() { - return getEventSubscriber(true); - } - - private IEventSubscriber getEventSubscriber(boolean throwException) { - if (eventSubscriber == null) { - eventSubscriber = createEventSubscriber(throwException); - } - return eventSubscriber; - } - - private IEventTopicSubscriber getEventTopicSubscriber() { - if (eventTopicSubscriber == null) { - eventTopicSubscriber = createEventTopicSubscriber(false); - } - return eventTopicSubscriber; - } - - public void thisOnlyWorksSometimesNow_testTimeHandling() { - EventBus.subscribe(getEventClass(), createEventSubscriber(new Long(200L))); - final Boolean[] wasCalled = new Boolean[1]; - EventBus.subscribe(SubscriberTimingEvent.class, new IEventSubscriber() { - public void onEvent(Object evt) { - wasCalled[0] = Boolean.TRUE; - } - }); - EventBus.publish(createEvent()); - EDTUtil.waitForEDT(); - assertTrue(wasCalled[0] == null); - EventBus.subscribe(getEventClass(), createEventSubscriber(new Long(200L))); - final Boolean[] wasCalled2 = new Boolean[1]; - EventBus.subscribe(SubscriberTimingEvent.class, new IEventSubscriber() { - public void onEvent(Object evt) { - wasCalled2[0] = Boolean.TRUE; - timing = (SubscriberTimingEvent) evt; - } - }); - EventBus.publish(createEvent()); - EDTUtil.waitForEDT(); - assertTrue(wasCalled2[0] == Boolean.TRUE); - assertNotNull(timing.getSource()); - assertNotNull(timing.getEnd()); - assertNotNull(timing.getEvent()); - assertNotNull(timing.getSubscriber()); - assertNotNull(timing.getStart()); - assertNotNull(timing.getTimeLimitMilliseconds()); - assertFalse(timing.isEventHandlingExceeded()); - assertFalse(timing.isVetoExceeded()); - assertNull(timing.getVetoEventListener()); - } - -} diff --git a/src/test/java/org/scijava/event/bushe/TestEventServiceLocator.java b/src/test/java/org/scijava/event/bushe/TestEventServiceLocator.java deleted file mode 100644 index 8b00962cf..000000000 --- a/src/test/java/org/scijava/event/bushe/TestEventServiceLocator.java +++ /dev/null @@ -1,50 +0,0 @@ -/** - * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com - * - * Licensed 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.scijava.event.bushe; - -import junit.framework.TestCase; - -public class TestEventServiceLocator extends EventServiceLocatorTestCase { - - public TestEventServiceLocator(String name) { - super(name); - } - - public void testDefaultEventBusService() { - EventService ebs = EventServiceLocator.getEventBusService(); - assertTrue(ebs instanceof SwingEventService); - EventService ses = EventServiceLocator.getSwingEventService(); - assertTrue(ses == ebs); - } - public void testDefaultEventBusService2() { - EventService ses = EventServiceLocator.getSwingEventService(); - assertTrue(ses instanceof SwingEventService); - EventService ebs = EventServiceLocator.getEventBusService(); - assertTrue(ses == ebs); - } - public void testNamedEventBusService1() { - EventService ses = EventServiceLocator.getEventService(EventServiceLocator.SERVICE_NAME_SWING_EVENT_SERVICE); - assertTrue(ses instanceof SwingEventService); - EventService ebs = EventServiceLocator.getEventService(EventServiceLocator.SERVICE_NAME_EVENT_BUS); - assertTrue(ses == ebs); - } - public void testNamedEventBusService2() { - EventService ebs = EventServiceLocator.getEventService(EventServiceLocator.SERVICE_NAME_EVENT_BUS); - assertTrue(ebs instanceof SwingEventService); - EventService ses = EventServiceLocator.getEventService(EventServiceLocator.SERVICE_NAME_SWING_EVENT_SERVICE); - assertTrue(ses == ebs); - } -} diff --git a/src/test/java/org/scijava/event/bushe/TestEventServiceLocator2.java b/src/test/java/org/scijava/event/bushe/TestEventServiceLocator2.java deleted file mode 100644 index 138ec277a..000000000 --- a/src/test/java/org/scijava/event/bushe/TestEventServiceLocator2.java +++ /dev/null @@ -1,46 +0,0 @@ -/** - * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com - * - * Licensed 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.scijava.event.bushe; - -import junit.framework.TestCase; - -/** The DefaultEventService is NOT Swing-safe! But it's easier to test... */ -public class TestEventServiceLocator2 extends EventServiceLocatorTestCase { - - public TestEventServiceLocator2(String name) { - super(name); - } - - public void testSetEventBusService() { - EventService ebs = new ThreadSafeEventService(); - try { - EventServiceLocator.setEventService(EventServiceLocator.SERVICE_NAME_EVENT_BUS, ebs); - } catch (EventServiceExistsException e) { - fail("It doesn't exist yet"); - } - EventService eb = EventServiceLocator.getEventService(EventServiceLocator.SERVICE_NAME_EVENT_BUS); - assertTrue(eb instanceof ThreadSafeEventService); - assertTrue(eb == ebs); - EventService ses = EventServiceLocator.getEventService(EventServiceLocator.SERVICE_NAME_SWING_EVENT_SERVICE); - assertTrue(ses != ebs); - assertTrue(ses instanceof SwingEventService); - try { - EventServiceLocator.setEventService(EventServiceLocator.SERVICE_NAME_EVENT_BUS, ebs); - fail("It already exist yet"); - } catch (EventServiceExistsException e) { - } - } -} \ No newline at end of file diff --git a/src/test/java/org/scijava/event/bushe/TestEventServiceLocator3.java b/src/test/java/org/scijava/event/bushe/TestEventServiceLocator3.java deleted file mode 100644 index 1cd9c4964..000000000 --- a/src/test/java/org/scijava/event/bushe/TestEventServiceLocator3.java +++ /dev/null @@ -1,44 +0,0 @@ -/** - * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com - * - * Licensed 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.scijava.event.bushe; - -import junit.framework.TestCase; - -public class TestEventServiceLocator3 extends EventServiceLocatorTestCase { - public TestEventServiceLocator3(String name) { - super(name); - } - - public void testSetEventBusService() { - EventService ebs = new SwingEventService(); - try { - EventServiceLocator.setEventService(EventServiceLocator.SERVICE_NAME_SWING_EVENT_SERVICE, ebs); - } catch (EventServiceExistsException e) { - fail("It doesn't exist yet"); - } - EventService eb = EventServiceLocator.getEventService(EventServiceLocator.SERVICE_NAME_SWING_EVENT_SERVICE); - assertTrue(eb instanceof ThreadSafeEventService); - assertTrue(eb == ebs); - EventService ses = EventServiceLocator.getEventService(EventServiceLocator.SERVICE_NAME_EVENT_BUS); - assertTrue(ses == ebs); - assertTrue(ses instanceof ThreadSafeEventService); - try { - EventServiceLocator.setEventService(EventServiceLocator.SERVICE_NAME_SWING_EVENT_SERVICE, ebs); - fail("It already exist yet"); - } catch (EventServiceExistsException e) { - } - } -} \ No newline at end of file diff --git a/src/test/java/org/scijava/event/bushe/TestEventServiceLocator4.java b/src/test/java/org/scijava/event/bushe/TestEventServiceLocator4.java deleted file mode 100644 index 99106419a..000000000 --- a/src/test/java/org/scijava/event/bushe/TestEventServiceLocator4.java +++ /dev/null @@ -1,44 +0,0 @@ -/** - * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com - * - * Licensed 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.scijava.event.bushe; - -import junit.framework.TestCase; - -public class TestEventServiceLocator4 extends EventServiceLocatorTestCase { - - public TestEventServiceLocator4(String name) { - super(name); - } - - public void testSetEventBusService() { - EventService ebs = new ThreadSafeEventService(); - EventService ses = new SwingEventService(); - try { - EventServiceLocator.setEventService(EventServiceLocator.SERVICE_NAME_EVENT_BUS, ebs); - } catch (EventServiceExistsException e) { - fail("It doesn't exist yet"); - } - try { - EventServiceLocator.setEventService(EventServiceLocator.SERVICE_NAME_SWING_EVENT_SERVICE, ses); - } catch (EventServiceExistsException e) { - fail("It doesn't exist yet"); - } - EventService eb = EventServiceLocator.getEventService(EventServiceLocator.SERVICE_NAME_EVENT_BUS); - EventService se = EventServiceLocator.getEventService(EventServiceLocator.SERVICE_NAME_SWING_EVENT_SERVICE); - assertTrue(eb == ebs); - assertTrue(se == ses); - } -} \ No newline at end of file diff --git a/src/test/java/org/scijava/event/bushe/TestEventServiceLocator5.java b/src/test/java/org/scijava/event/bushe/TestEventServiceLocator5.java deleted file mode 100644 index 421d0bc70..000000000 --- a/src/test/java/org/scijava/event/bushe/TestEventServiceLocator5.java +++ /dev/null @@ -1,43 +0,0 @@ -/** - * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com - * - * Licensed 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.scijava.event.bushe; - -import junit.framework.TestCase; - -public class TestEventServiceLocator5 extends EventServiceLocatorTestCase { - public TestEventServiceLocator5(String name) { - super(name); - } - - public void testSetEventBusService() { - EventService ebs = new ThreadSafeEventService(); - EventService ses = new SwingEventService(); - try { - EventServiceLocator.setEventService(EventServiceLocator.SERVICE_NAME_SWING_EVENT_SERVICE, ses); - } catch (EventServiceExistsException e) { - fail("It doesn't exist yet"); - } - try { - EventServiceLocator.setEventService(EventServiceLocator.SERVICE_NAME_EVENT_BUS, ebs); - } catch (EventServiceExistsException e) { - fail("It doesn't exist yet"); - } - EventService se = EventServiceLocator.getEventService(EventServiceLocator.SERVICE_NAME_SWING_EVENT_SERVICE); - EventService eb = EventServiceLocator.getEventService(EventServiceLocator.SERVICE_NAME_EVENT_BUS); - assertTrue(eb == ebs); - assertTrue(se == ses); - } -} \ No newline at end of file diff --git a/src/test/java/org/scijava/event/bushe/TestEventServiceLocator6.java b/src/test/java/org/scijava/event/bushe/TestEventServiceLocator6.java deleted file mode 100644 index 8e035348b..000000000 --- a/src/test/java/org/scijava/event/bushe/TestEventServiceLocator6.java +++ /dev/null @@ -1,44 +0,0 @@ -/** - * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com - * - * Licensed 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.scijava.event.bushe; - -import junit.framework.TestCase; - -public class TestEventServiceLocator6 extends EventServiceLocatorTestCase { - - public TestEventServiceLocator6(String name) { - super(name); - } - - public void testSetEventBusService() { - EventService ebs = new ThreadSafeEventService(); - EventService ses = new SwingEventService(); - try { - EventServiceLocator.setEventService(EventServiceLocator.SERVICE_NAME_SWING_EVENT_SERVICE, ses); - } catch (EventServiceExistsException e) { - fail("It doesn't exist yet"); - } - EventService eb = EventServiceLocator.getEventBusService(); - try { - EventServiceLocator.setEventService(EventServiceLocator.SERVICE_NAME_EVENT_BUS, ebs); - fail("It exists"); - } catch (EventServiceExistsException e) { - } - EventService se = EventServiceLocator.getEventService(EventServiceLocator.SERVICE_NAME_SWING_EVENT_SERVICE); - assertTrue(se == ses); - assertTrue(eb == ses); - } -} \ No newline at end of file diff --git a/src/test/java/org/scijava/event/bushe/TestEventServiceLocator7.java b/src/test/java/org/scijava/event/bushe/TestEventServiceLocator7.java deleted file mode 100644 index c345bf74d..000000000 --- a/src/test/java/org/scijava/event/bushe/TestEventServiceLocator7.java +++ /dev/null @@ -1,49 +0,0 @@ -/** - * Copyright 2005 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com - * - * Licensed 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.scijava.event.bushe; - -import junit.framework.TestCase; - -public class TestEventServiceLocator7 extends EventServiceLocatorTestCase { - - public TestEventServiceLocator7(String name) { - super(name); - } - - public void testSetEventBusService() { - EventService ebs = new ThreadSafeEventService(); - EventService ses = new SwingEventService(); - try { - EventServiceLocator.setEventService(EventServiceLocator.SERVICE_NAME_EVENT_BUS, ebs); - } catch (EventServiceExistsException e) { - fail("It doesn't exist yet"); - } - EventService se = EventServiceLocator.getSwingEventService(); - try { - EventServiceLocator.setEventService(EventServiceLocator.SERVICE_NAME_EVENT_BUS, ebs); - fail("It exists"); - } catch (EventServiceExistsException e) { - } - try { - EventServiceLocator.setEventService(EventServiceLocator.SERVICE_NAME_SWING_EVENT_SERVICE, ebs); - fail("It exists"); - } catch (EventServiceExistsException e) { - } - EventService eb = EventServiceLocator.getEventBusService(); - assertTrue(eb == ebs); - assertTrue(se != eb); - } -} \ No newline at end of file diff --git a/src/test/java/org/scijava/event/bushe/TestEventServiceLocatorConfiguration.java b/src/test/java/org/scijava/event/bushe/TestEventServiceLocatorConfiguration.java deleted file mode 100644 index c7acd90b1..000000000 --- a/src/test/java/org/scijava/event/bushe/TestEventServiceLocatorConfiguration.java +++ /dev/null @@ -1,28 +0,0 @@ -package org.scijava.event.bushe; - -import junit.framework.TestCase; - -/** The DefaultEventService is NOT Swing-safe! But it's easier to test... */ -public class TestEventServiceLocatorConfiguration extends EventServiceLocatorTestCase { - - public static class ES1 extends ThreadSafeEventService { - - } - - public static class ES2 extends ThreadSafeEventService { - - } - - public TestEventServiceLocatorConfiguration(String name) { - super(name); - } - - public void testConfigurableEventService() { - System.setProperty(EventServiceLocator.SWING_EVENT_SERVICE_CLASS, ES1.class.getName()); - System.setProperty(EventServiceLocator.EVENT_BUS_CLASS, ES2.class.getName()); - EventService es = EventServiceLocator.getSwingEventService(); - assertTrue(es instanceof ES1); - es = EventServiceLocator.getEventBusService(); - assertTrue(es instanceof ES2); - } -} \ No newline at end of file diff --git a/src/test/java/org/scijava/event/bushe/TestEventServiceLocatorConfiguration2.java b/src/test/java/org/scijava/event/bushe/TestEventServiceLocatorConfiguration2.java deleted file mode 100644 index aa4548b50..000000000 --- a/src/test/java/org/scijava/event/bushe/TestEventServiceLocatorConfiguration2.java +++ /dev/null @@ -1,28 +0,0 @@ -package org.scijava.event.bushe; - -import junit.framework.TestCase; - -/** The DefaultEventService is NOT Swing-safe! But it's easier to test... */ -public class TestEventServiceLocatorConfiguration2 extends EventServiceLocatorTestCase { - - public static class ES1 extends ThreadSafeEventService { - - } - - public static class ES2 extends ThreadSafeEventService { - - } - - public TestEventServiceLocatorConfiguration2(String name) { - super(name); - } - - public void testConfigurableEventService1() { - System.setProperty(EventServiceLocator.SWING_EVENT_SERVICE_CLASS, ES1.class.getName()); - EventService es = EventServiceLocator.getEventBusService(); - assertTrue(es instanceof ThreadSafeEventService); - es = EventServiceLocator.getSwingEventService(); - assertTrue(es instanceof ES1); - } - -} \ No newline at end of file diff --git a/src/test/java/org/scijava/event/bushe/TestEventServiceLocatorConfiguration3.java b/src/test/java/org/scijava/event/bushe/TestEventServiceLocatorConfiguration3.java deleted file mode 100644 index b79e1eb24..000000000 --- a/src/test/java/org/scijava/event/bushe/TestEventServiceLocatorConfiguration3.java +++ /dev/null @@ -1,28 +0,0 @@ -package org.scijava.event.bushe; - -import junit.framework.TestCase; - -/** The DefaultEventService is NOT Swing-safe! But it's easier to test... */ -public class TestEventServiceLocatorConfiguration3 extends EventServiceLocatorTestCase { - - public static class ES1 extends ThreadSafeEventService { - - } - - public static class ES2 extends ThreadSafeEventService { - - } - - public TestEventServiceLocatorConfiguration3(String name) { - super(name); - } - - public void testConfigurableEventService3() { - System.setProperty(EventServiceLocator.EVENT_BUS_CLASS, ES2.class.getName()); - EventService es = EventServiceLocator.getEventBusService(); - assertTrue(es instanceof ES2); - es = EventServiceLocator.getSwingEventService(); - assertTrue(es instanceof SwingEventService); - } - -} \ No newline at end of file diff --git a/src/test/java/org/scijava/event/bushe/TestEventServiceLocatorConfiguration4.java b/src/test/java/org/scijava/event/bushe/TestEventServiceLocatorConfiguration4.java deleted file mode 100644 index 0b5ba3ca8..000000000 --- a/src/test/java/org/scijava/event/bushe/TestEventServiceLocatorConfiguration4.java +++ /dev/null @@ -1,27 +0,0 @@ -package org.scijava.event.bushe; - -import junit.framework.TestCase; - -/** The DefaultEventService is NOT Swing-safe! But it's easier to test... */ -public class TestEventServiceLocatorConfiguration4 extends EventServiceLocatorTestCase { - - public static class ES1 extends ThreadSafeEventService { - - } - - public static class ES2 extends ThreadSafeEventService { - - } - - public TestEventServiceLocatorConfiguration4(String name) { - super(name); - } - - public void testConfigurableEventService4() { - System.setProperty(EventServiceLocator.EVENT_BUS_CLASS, ES2.class.getName()); - EventService es = EventServiceLocator.getSwingEventService(); - assertTrue(es instanceof SwingEventService); - es = EventServiceLocator.getEventBusService(); - assertTrue(es instanceof ES2); - } -} \ No newline at end of file diff --git a/src/test/java/org/scijava/event/bushe/TestPerformance.java b/src/test/java/org/scijava/event/bushe/TestPerformance.java index f597ae488..a936200ee 100644 --- a/src/test/java/org/scijava/event/bushe/TestPerformance.java +++ b/src/test/java/org/scijava/event/bushe/TestPerformance.java @@ -12,12 +12,12 @@ * For proving performance. */ public class TestPerformance extends TestCase { - private IEventSubscriber doNothingSubscriber = new IEventSubscriber() { + private EventSubscriber doNothingSubscriber = new EventSubscriber() { public void onEvent(Object event) { } }; - private IEventTopicSubscriber doNothingTopicSubscriber = new IEventTopicSubscriber() { + private EventTopicSubscriber doNothingTopicSubscriber = new EventTopicSubscriber() { public void onEvent(String topic, Object payload) { } }; diff --git a/src/test/java/org/scijava/event/bushe/TestPrioritizedSubscribers.java b/src/test/java/org/scijava/event/bushe/TestPrioritizedSubscribers.java deleted file mode 100644 index a02310228..000000000 --- a/src/test/java/org/scijava/event/bushe/TestPrioritizedSubscribers.java +++ /dev/null @@ -1,591 +0,0 @@ -package org.scijava.event.bushe; - -import java.util.List; -import java.util.ArrayList; -import java.util.Random; -import java.util.Collections; -import java.util.Arrays; -import java.util.regex.Pattern; - -import java.awt.Color; - -import junit.framework.TestCase; - -/** - * Tests the Prioritized interface va. normal FIFO order. - */ -public class TestPrioritizedSubscribers extends TestCase { - private ThreadSafeEventService eventService = null; - private static final String EVENT_SERVICE_TEST_PRIORITY_ANNOTATION = "testPriorityAnnotation"; - - - /** - * Base class that adds itself to the list it's given when told. Nice for annotation subscribers. - */ - class OrderRecorder { - private List listToRecordTo; - - public OrderRecorder(List listToRecordTo) { - this.listToRecordTo = listToRecordTo; - } - - public void record() { - listToRecordTo.add(this); - } - } - - /** - * A subscriber that adds itself to a supplied list so that the order of calls is recorded. - */ - class OrderRecorderSubscriber extends OrderRecorder implements IEventSubscriber { - - OrderRecorderSubscriber(List listToRecordTo) { - super(listToRecordTo); - } - - public void onEvent(Object event) { - record(); - } - } - - /** - * Ditto, for topics - */ - class OrderRecorderTopicSubscriber extends OrderRecorder implements IEventTopicSubscriber { - - OrderRecorderTopicSubscriber(List listToRecordTo) { - super(listToRecordTo); - } - - public void onEvent(String topic, Object event) { - record(); - } - } - - class PrioritizedOrderRecorderSubscriber extends OrderRecorderSubscriber implements Prioritized { - private int priority; - - public PrioritizedOrderRecorderSubscriber(int priority, List listToRecordTo) { - super(listToRecordTo); - this.priority = priority; - } - - public int getPriority() { - return priority; - } - } - - class PrioritizedOrderRecorderTopicSubscriber extends OrderRecorderTopicSubscriber implements Prioritized { - private int priority; - - public PrioritizedOrderRecorderTopicSubscriber(int priority, List listToRecordTo) { - super(listToRecordTo); - this.priority = priority; - } - - public int getPriority() { - return priority; - } - } - - public TestPrioritizedSubscribers(String name) { - super(name); - } - - protected void setUp() throws Exception { - eventService = new ThreadSafeEventService(null, false); - EventServiceLocator.setEventService(EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, null); - } - - protected void tearDown() throws Exception { - eventService = null; - } - - public void testNormalFIFO() { - List calledOrder = new ArrayList(); - List originalOrder = new ArrayList(); - originalOrder.add(new OrderRecorderSubscriber(calledOrder)); - originalOrder.add(new OrderRecorderSubscriber(calledOrder)); - originalOrder.add(new OrderRecorderSubscriber(calledOrder)); - originalOrder.add(new OrderRecorderSubscriber(calledOrder)); - originalOrder.add(new OrderRecorderSubscriber(calledOrder)); - //mixing an inner class into the test - IEventSubscriber inner = new IEventSubscriber() { - public void onEvent(Object event) { - } - }; - //originalOrder.add(inner); - originalOrder.add(new OrderRecorderSubscriber(calledOrder)); - originalOrder.add(new OrderRecorderSubscriber(calledOrder)); - //add them all - for (IEventSubscriber eventSubscriber : originalOrder) { - eventService.subscribe(Color.class, eventSubscriber); - } - eventService.publish(Color.BLUE); - assertEquals(originalOrder, calledOrder); - System.out.println("inner sout to avoid garbage collection" + inner); - } - - public void testNoPrioritizedWithZeroPrioritized() { - List calledOrder = new ArrayList(); - List originalOrder = new ArrayList(); - originalOrder.add(new OrderRecorderSubscriber(calledOrder)); - originalOrder.add(new PrioritizedOrderRecorderSubscriber(0, calledOrder)); - originalOrder.add(new OrderRecorderSubscriber(calledOrder)); - originalOrder.add(new PrioritizedOrderRecorderSubscriber(0, calledOrder)); - originalOrder.add(new OrderRecorderSubscriber(calledOrder)); - //mixing an inner class into the test - PrioritizedEventSubscriber inner = new PrioritizedEventSubscriber() { - public void onEvent(Object event) { - } - - public int getPriority() { - return 0; - } - }; - //originalOrder.add(inner); - originalOrder.add(new PrioritizedOrderRecorderSubscriber(0, calledOrder)); - originalOrder.add(new OrderRecorderSubscriber(calledOrder)); - //add them all - for (IEventSubscriber eventSubscriber : originalOrder) { - eventService.subscribe(Color.class, eventSubscriber); - } - eventService.publish(Color.BLUE); - assertEquals(originalOrder, calledOrder); - System.out.println("inner sout to avoid garbage collection" + inner); - } - - public void testOnlyPrioritized() { - List calledOrder = new ArrayList(); - List originalOrder = new ArrayList(); - for (int i = 0; i < 100; i++) { - Random random = new Random(); - originalOrder.add(new PrioritizedOrderRecorderSubscriber(random.nextInt(10000) - 5000, calledOrder)); - } - for (IEventSubscriber eventSubscriber : originalOrder) { - eventService.subscribe(Color.class, eventSubscriber); - } - eventService.publish(Color.BLUE); - int lastPriority = -5001; - for (IEventSubscriber eventSubscriber : calledOrder) { - int priority = ((PrioritizedOrderRecorderSubscriber) eventSubscriber).getPriority(); - assertTrue(priority >= lastPriority); - lastPriority = priority; - } - } - - public void testMixedOfPrioritizedNonPrioritizedAndPrioritized0() { - Random rand = new Random(); - List calledOrder = new ArrayList(); - List prioritized = new ArrayList(); - //100 negative - for (int i = 0; i < 100; i++) { - Random random = new Random(); - prioritized.add(new PrioritizedOrderRecorderSubscriber(random.nextInt(10000) * -1, calledOrder)); - } - //100 positive - for (int i = 0; i < 100; i++) { - Random random = new Random(); - prioritized.add(new PrioritizedOrderRecorderSubscriber(random.nextInt(10000), calledOrder)); - } - Collections.shuffle(prioritized); - //100 fifo - List fifo = new ArrayList(); - for (int i = 0; i < 100; i++) { - if (rand.nextBoolean()) { - fifo.add(new OrderRecorderSubscriber(calledOrder)); - } else { - fifo.add(new PrioritizedOrderRecorderSubscriber(0, calledOrder)); - } - } - List prioritizedCopy = new ArrayList(prioritized); - List fifoCopy = new ArrayList(fifo); - //Subscribe all, randomizing a fifo or prioritized - IEventSubscriber eventSubscriber; - int subscribeCount = 0; - int prioritizedSubscribeCount = 0; - int nonPrioritizedSubscribeCount = 0; - for (int i = 0; i < 300; i++) { - if (prioritizedCopy.isEmpty()) { - eventSubscriber = fifoCopy.remove(0); - nonPrioritizedSubscribeCount++; - } else if (fifoCopy.isEmpty()) { - eventSubscriber = prioritizedCopy.remove(0); - prioritizedSubscribeCount++; - } else { - if (rand.nextBoolean()) { - eventSubscriber = fifoCopy.remove(0); - nonPrioritizedSubscribeCount++; - } else { - eventSubscriber = prioritizedCopy.remove(0); - prioritizedSubscribeCount++; - } - } - subscribeCount++; - boolean success = eventService.subscribe(Color.class, eventSubscriber); - assertFalse(!success); - } - - List subscribersToColor = eventService.getSubscribers(Color.class); - assertEquals(300, subscribersToColor.size()); - assertEquals(100, nonPrioritizedSubscribeCount); - assertEquals(200, prioritizedSubscribeCount); - assertEquals(300, subscribeCount); - eventService.publish(Color.BLUE); - assertEquals(300, calledOrder.size()); - int lastPriority = -10001; - for (int i = 0; i < 99; i++) { - IEventSubscriber subscriber = calledOrder.get(i); - assertTrue(subscriber instanceof PrioritizedOrderRecorderSubscriber); - PrioritizedOrderRecorderSubscriber prioritizedOrderRecorderSubscriber = (PrioritizedOrderRecorderSubscriber) subscriber; - int priority = prioritizedOrderRecorderSubscriber.getPriority(); - assertTrue(priority < 0); - assertTrue(priority >= lastPriority); - lastPriority = priority; - } - for (int i = 100; i < 199; i++) { - IEventSubscriber subscriber = calledOrder.get(i); - assertTrue(subscriber instanceof OrderRecorderSubscriber); - if (subscriber instanceof PrioritizedOrderRecorderSubscriber) { - PrioritizedOrderRecorderSubscriber prioritizedOrderRecorderSubscriber = (PrioritizedOrderRecorderSubscriber) subscriber; - int priority = prioritizedOrderRecorderSubscriber.getPriority(); - assertTrue(priority == 0); - } - assertEquals(subscriber, fifo.get(i - 100)); - } - lastPriority = 0; - for (int i = 200; i < 299; i++) { - IEventSubscriber subscriber = calledOrder.get(i); - assertTrue(subscriber instanceof PrioritizedOrderRecorderSubscriber); - PrioritizedOrderRecorderSubscriber prioritizedOrderRecorderSubscriber = (PrioritizedOrderRecorderSubscriber) subscriber; - int priority = prioritizedOrderRecorderSubscriber.getPriority(); - assertTrue(priority > 0); - assertTrue(priority >= lastPriority); - lastPriority = priority; - } - System.out.println(prioritized.size()); - System.out.println(fifo.size()); - } - - public void testPriorityAnnotation() throws EventServiceExistsException { - EventServiceLocator.setEventService(EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, eventService); - List calledOrder = new ArrayList(); - OrderRecorder sn100 = new OrderRecorder(calledOrder) { - @EventSubscriber(eventClass = Color.class, eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = -100) - public void annotateMe(Object foo) { - record(); - } - }; - OrderRecorder sn50 = new OrderRecorder(calledOrder) { - @EventSubscriber(eventClass = Color.class, eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = -100) - public void annotateMe(Object foo) { - record(); - } - }; - PrioritizedOrderRecorderSubscriber spn30 = new PrioritizedOrderRecorderSubscriber(-30, calledOrder); - OrderRecorderSubscriber so_1 = new OrderRecorderSubscriber(calledOrder); - OrderRecorder s100 = new OrderRecorder(calledOrder) { - @EventSubscriber(eventClass = Color.class, eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = 100) - public void annotateMe(Object foo) { - record(); - } - }; - OrderRecorder sn10 = new OrderRecorder(calledOrder) { - @EventSubscriber(eventClass = Color.class, eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = -10) - public void annotateMe(Object foo) { - record(); - } - }; - OrderRecorder s0_2 = new OrderRecorder(calledOrder) { - @EventSubscriber(eventClass = Color.class, eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = 0) - public void annotateMe(Object foo) { - record(); - } - }; - OrderRecorder s0_3 = new OrderRecorder(calledOrder) { - @EventSubscriber(eventClass = Color.class, eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION) - public void annotateMe(Object foo) { - record(); - } - }; - OrderRecorder s50 = new OrderRecorder(calledOrder) { - @EventSubscriber(eventClass = Color.class, eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = 50) - public void annotateMe(Object foo) { - record(); - } - }; - OrderRecorder s0_4 = new OrderRecorder(calledOrder) { - @EventSubscriber(eventClass = Color.class, eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION) - public void annotateMe(Object foo) { - record(); - } - }; - OrderRecorder s10 = new OrderRecorder(calledOrder) { - @EventSubscriber(eventClass = Color.class, eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = 10) - public void annotateMe(Object foo) { - record(); - } - }; - OrderRecorder s0_5 = new OrderRecorder(calledOrder) { - @EventSubscriber(eventClass = Color.class, eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION) - public void annotateMe(Object foo) { - record(); - } - }; - Object[] toAdd = {sn100, s100, so_1, spn30, s0_2, s50, s0_3, sn10, sn50, s0_4, s10, s0_5}; - List expectedResult = Arrays.asList(sn100, sn50, spn30, sn10, so_1, s0_2, s0_3, s0_4, s0_5, s10, s50, s100); - for (Object o : toAdd) { - if (o instanceof IEventSubscriber) { - eventService.subscribe(Color.class, (IEventSubscriber) o); - } else { - AnnotationProcessor.process(o); - } - } - eventService.publish(Color.BLUE); - assertEquals(expectedResult, calledOrder); - } - - /** - * With more than one subscriber to the EventBus by class, if any of the - * subscribers are Prioritized with a negative priority, then no FIFO subscribers - * are notified. - *

        - * This holds for non-Prioritized FIFO subscribers, and Prioritized subscribers - * with Priority of 0. - */ - public void testIssue26OneNegOthersNormal() { - final List calledOrder = new ArrayList(); - //non-Prioritized FIFO subscribers - IEventSubscriber sub1 = new IEventSubscriber() { - public void onEvent(Object event) { - calledOrder.add(1); - } - }; - IEventSubscriber sub0 = new PrioritizedEventSubscriber() { - public void onEvent(Object event) { - calledOrder.add(-1); - } - public int getPriority() { - return -1; - } - }; - IEventSubscriber sub2 = new IEventSubscriber() { - public void onEvent(Object event) { - calledOrder.add(2); - } - }; - - eventService.subscribe(Color.class, sub1); - eventService.subscribe(Color.class, sub0); - eventService.subscribe(Color.class, sub2); - eventService.publish(Color.BLUE); - assertEquals(calledOrder.get(0).intValue(), -1); - assertEquals(calledOrder.get(1).intValue(), 1); - assertEquals(calledOrder.get(2).intValue(), 2); - System.out.println("to avoid garbage collection:"+sub1+sub2+sub0); - } - - /** - * With more than one subscriber to the EventBus by class, if any of the - * subscribers are Prioritized with a negative priority, then no FIFO subscribers - * are notified. - *

        - * This holds for non-Prioritized FIFO subscribers, and Prioritized subscribers - * with Priority of 0. - */ - public void testOnePosOthersNormal() { - final List calledOrder = new ArrayList(); - //non-Prioritized FIFO subscribers - IEventSubscriber sub1 = new IEventSubscriber() { - public void onEvent(Object event) { - calledOrder.add(1); - } - }; - IEventSubscriber sub0 = new PrioritizedEventSubscriber() { - public void onEvent(Object event) { - calledOrder.add(11); - } - public int getPriority() { - return 11; - } - }; - IEventSubscriber sub2 = new IEventSubscriber() { - public void onEvent(Object event) { - calledOrder.add(2); - } - }; - - eventService.subscribe(Color.class, sub1); - eventService.subscribe(Color.class, sub0); - eventService.subscribe(Color.class, sub2); - eventService.publish(Color.BLUE); - assertEquals(1, calledOrder.get(0).intValue()); - assertEquals(2, calledOrder.get(1).intValue()); - assertEquals(11, calledOrder.get(2).intValue()); - System.out.println("to avoid garbage collection:"+sub1+sub2+sub0); - } - - /** - * shameless copy and paste test, only the subscriber type was changed - */ - public void testPriorityTopicAnnotation() throws EventServiceExistsException { - EventServiceLocator.setEventService(EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, eventService); - List calledOrder = new ArrayList(); - OrderRecorder sn100 = new OrderRecorder(calledOrder) { - @EventTopicSubscriber(topic = "Color", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = -100) - public void annotateMe(String topic, Object foo) { - record(); - } - }; - OrderRecorder sn50 = new OrderRecorder(calledOrder) { - @EventTopicSubscriber(topic = "Color", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = -100) - public void annotateMe(String topic, Object foo) { - record(); - } - }; - PrioritizedOrderRecorderTopicSubscriber spn30 = new PrioritizedOrderRecorderTopicSubscriber(-30, calledOrder); - OrderRecorderTopicSubscriber so_1 = new OrderRecorderTopicSubscriber(calledOrder); - OrderRecorder s100 = new OrderRecorder(calledOrder) { - @EventTopicSubscriber(topic = "Color", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = 100) - public void annotateMe(String topic, Object foo) { - record(); - } - }; - OrderRecorder sn10 = new OrderRecorder(calledOrder) { - @EventTopicSubscriber(topic = "Color", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = -10) - public void annotateMe(String topic, Object foo) { - record(); - } - }; - OrderRecorder s0_2 = new OrderRecorder(calledOrder) { - @EventTopicSubscriber(topic = "Color", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = 0) - public void annotateMe(String topic, Object foo) { - record(); - } - }; - OrderRecorder s0_3 = new OrderRecorder(calledOrder) { - @EventTopicSubscriber(topic = "Color", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION) - public void annotateMe(String topic, Object foo) { - record(); - } - }; - OrderRecorder s50 = new OrderRecorder(calledOrder) { - @EventTopicSubscriber(topic = "Color", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = 50) - public void annotateMe(String topic, Object foo) { - record(); - } - }; - OrderRecorder s0_4 = new OrderRecorder(calledOrder) { - @EventTopicSubscriber(topic = "Color", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION) - public void annotateMe(String topic, Object foo) { - record(); - } - }; - OrderRecorder s10 = new OrderRecorder(calledOrder) { - @EventTopicSubscriber(topic = "Color", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = 10) - public void annotateMe(String topic, Object foo) { - record(); - } - }; - OrderRecorder s0_5 = new OrderRecorder(calledOrder) { - @EventTopicSubscriber(topic = "Color", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION) - public void annotateMe(String topic, Object foo) { - record(); - } - }; - Object[] toAdd = {sn100, s100, so_1, spn30, s0_2, s50, s0_3, sn10, sn50, s0_4, s10, s0_5}; - List expectedResult = Arrays.asList(sn100, sn50, spn30, sn10, so_1, s0_2, s0_3, s0_4, s0_5, s10, s50, s100); - for (Object o : toAdd) { - if (o instanceof IEventTopicSubscriber) { - eventService.subscribe("Color", (IEventTopicSubscriber) o); - } else { - AnnotationProcessor.process(o); - } - } - eventService.publish("Color", Color.BLUE); - assertEquals(expectedResult, calledOrder); - } - - - /** - * Another shameless copy and paste test, only the subscriber type was changed - */ - public void testPriorityTopicPatternAnnotation() throws EventServiceExistsException { - EventServiceLocator.setEventService(EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, eventService); - List calledOrder = new ArrayList(); - OrderRecorder sn100 = new OrderRecorder(calledOrder) { - @EventTopicPatternSubscriber(topicPattern = "Col[a-z]+", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = -100) - public void annotateMe(String topic, Object foo) { - record(); - } - }; - OrderRecorder sn50 = new OrderRecorder(calledOrder) { - @EventTopicPatternSubscriber(topicPattern = "Col[a-z]+", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = -50) - public void annotateMe(String topic, Object foo) { - record(); - } - }; - PrioritizedOrderRecorderTopicSubscriber spn30 = new PrioritizedOrderRecorderTopicSubscriber(-30, calledOrder); - OrderRecorderTopicSubscriber so_1 = new OrderRecorderTopicSubscriber(calledOrder); - OrderRecorder s100 = new OrderRecorder(calledOrder) { - @EventTopicPatternSubscriber(topicPattern = "Col[a-z]+", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = 100) - public void annotateMe(String topic, Object foo) { - record(); - } - }; - OrderRecorder sn10 = new OrderRecorder(calledOrder) { - @EventTopicPatternSubscriber(topicPattern = "Col[a-z]+", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = -10) - public void annotateMe(String topic, Object foo) { - record(); - } - }; - OrderRecorder s0_2 = new OrderRecorder(calledOrder) { - @EventTopicPatternSubscriber(topicPattern = "Col[a-z]+", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = 0) - public void annotateMe(String topic, Object foo) { - record(); - } - }; - OrderRecorder s0_3 = new OrderRecorder(calledOrder) { - @EventTopicPatternSubscriber(topicPattern = "Col[a-z]+", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION) - public void annotateMe(String topic, Object foo) { - record(); - } - }; - OrderRecorder s50 = new OrderRecorder(calledOrder) { - @EventTopicPatternSubscriber(topicPattern = "Col[a-z]+", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = 50) - public void annotateMe(String topic, Object foo) { - record(); - } - }; - OrderRecorder s0_4 = new OrderRecorder(calledOrder) { - @EventTopicPatternSubscriber(topicPattern = "Col[a-z]+", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION) - public void annotateMe(String topic, Object foo) { - record(); - } - }; - OrderRecorder s10 = new OrderRecorder(calledOrder) { - @EventTopicPatternSubscriber(topicPattern = "Col[a-z]+", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION, priority = 10) - public void annotateMe(String topic, Object foo) { - record(); - } - }; - OrderRecorder s0_5 = new OrderRecorder(calledOrder) { - @EventTopicPatternSubscriber(topicPattern = "Col[a-z]+", eventServiceName = EVENT_SERVICE_TEST_PRIORITY_ANNOTATION) - public void annotateMe(String topic, Object foo) { - record(); - } - }; - Object[] toAdd = {sn100, s100, so_1, spn30, s0_2, s50, s0_3, sn10, sn50, s0_4, s10, s0_5}; - List expectedResult = Arrays.asList(sn100, sn50, spn30, sn10, so_1, s0_2, s0_3, s0_4, s0_5, s10, s50, s100); - for (Object o : toAdd) { - if (o instanceof OrderRecorderTopicSubscriber) { - Pattern pattern = Pattern.compile("Col[a-z]+"); - eventService.subscribe(pattern, (IEventTopicSubscriber) o); - } else { - AnnotationProcessor.process(o); - } - } - eventService.publish("Color", Color.BLUE); - assertEquals(expectedResult, calledOrder); - } -} diff --git a/src/test/java/org/scijava/event/bushe/TestPublicationStates.java b/src/test/java/org/scijava/event/bushe/TestPublicationStates.java deleted file mode 100644 index 71f7c02e8..000000000 --- a/src/test/java/org/scijava/event/bushe/TestPublicationStates.java +++ /dev/null @@ -1,67 +0,0 @@ -package org.scijava.event.bushe; - -import junit.framework.Assert; -import junit.framework.TestCase; - -import java.util.List; -import java.util.ArrayList; - -/** - * Tests the implementation of publication states - */ -public class TestPublicationStates extends TestCase { - List stuffHappens = new ArrayList(); - ObjectEvent event = new ObjectEvent(null, null) { - @Override - public void setPublicationStatus(PublicationStatus status) { - super.setPublicationStatus(status); - stuffHappens.add(status); - } - }; - IEventSubscriber subscriber = new IEventSubscriber() { - public void onEvent(Object event) { - stuffHappens.add(this); - } - }; - - EventService es = new ThreadSafeEventService() { - @Override - protected void setStatus(PublicationStatus status, Object event, String topic, Object eventObj) { - super.setStatus(status, event, topic, eventObj); - } - }; - - public void testStates() { - stuffHappens.clear(); - es.subscribe(ObjectEvent.class, subscriber); - es.publish(event); - List expected = new ArrayList(); - expected.add(PublicationStatus.Initiated); - expected.add(PublicationStatus.Queued); - expected.add(PublicationStatus.Publishing); - expected.add(subscriber); - expected.add(PublicationStatus.Completed); - Assert.assertEquals(expected.size(), stuffHappens.size()); - for (int i = 0; i < expected.size(); i++) { - Assert.assertEquals(expected.get(i), stuffHappens.get(i)); - } - } - - public void testVetoStates() { - stuffHappens.clear(); - es.subscribe(ObjectEvent.class, subscriber); - es.subscribeVetoListener(ObjectEvent.class, new VetoEventListener() { - public boolean shouldVeto(Object event) { - return true; - } - }); - es.publish(event); - List expected = new ArrayList(); - expected.add(PublicationStatus.Initiated); - expected.add(PublicationStatus.Vetoed); - Assert.assertEquals(expected.size(), stuffHappens.size()); - for (int i = 0; i < expected.size(); i++) { - Assert.assertEquals(expected.get(i), stuffHappens.get(i)); - } - } -} diff --git a/src/test/java/org/scijava/event/bushe/TopicSubscriberForTest.java b/src/test/java/org/scijava/event/bushe/TopicSubscriberForTest.java index 3109681d1..3b7836df8 100644 --- a/src/test/java/org/scijava/event/bushe/TopicSubscriberForTest.java +++ b/src/test/java/org/scijava/event/bushe/TopicSubscriberForTest.java @@ -4,7 +4,7 @@ * @author Michael Bushe * @since Nov 19, 2005 11:00:53 PM */ -public class TopicSubscriberForTest implements IEventTopicSubscriber { +public class TopicSubscriberForTest implements EventTopicSubscriber { private boolean throwException; private Long waitTime; private EBTestCounter testDefaultEventService; diff --git a/src/test/java/org/scijava/event/bushe/WeakClassAnnotatedEventSubscriber.java b/src/test/java/org/scijava/event/bushe/WeakClassAnnotatedEventSubscriber.java deleted file mode 100644 index 6d821a6ec..000000000 --- a/src/test/java/org/scijava/event/bushe/WeakClassAnnotatedEventSubscriber.java +++ /dev/null @@ -1,24 +0,0 @@ -package org.scijava.event.bushe; - -import java.util.Collection; -import java.util.List; - -/** Test class for class-based subscriptions */ -public class WeakClassAnnotatedEventSubscriber { - static int timesColorChanged = 0; - static String lastCall = null; - static int timesCalled = 0; - - public static int getTimesCalled() { - return timesCalled; - } - - public static void setTimesCalled(int times) { - timesCalled = times; - } - - @EventSubscriber(eventClass = List.class, referenceStrength = ReferenceStrength.WEAK) - public void doList(Collection collection) { - timesCalled++; - } -} From 0988a1d4e34fef05c2ace8d99466b99c8fddb0c0 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 17 May 2023 12:56:06 -0500 Subject: [PATCH 298/383] Remove org.bushe:eventbus CleanupEvent logic We do not need to monitor these events. Removing it simplifies the codebase and avoids a hack. --- .../org/scijava/event/DefaultEventBus.java | 28 --------- .../org/scijava/event/bushe/CleanupEvent.java | 62 ------------------- .../event/bushe/ThreadSafeEventService.java | 8 +-- 3 files changed, 1 insertion(+), 97 deletions(-) delete mode 100644 src/main/java/org/scijava/event/bushe/CleanupEvent.java diff --git a/src/main/java/org/scijava/event/DefaultEventBus.java b/src/main/java/org/scijava/event/DefaultEventBus.java index 365102949..9d71eb8f3 100644 --- a/src/main/java/org/scijava/event/DefaultEventBus.java +++ b/src/main/java/org/scijava/event/DefaultEventBus.java @@ -34,7 +34,6 @@ import java.util.Arrays; import java.util.List; -import org.scijava.event.bushe.CleanupEvent; import org.scijava.event.bushe.ThreadSafeEventService; import org.scijava.log.LogService; import org.scijava.service.Service; @@ -116,33 +115,6 @@ public void publishLater(final String topicName, final Object eventObj) { @Override public void publish(final Object event) { - // HACK: Work around a deadlock problem caused by ThreadSafeEventService: - - // 1) The ThreadSafeEventService superclass has a special cleanup thread - // that takes care of cleaning up stale references. Every time it runs, it - // publishes some CleanupEvents using publish(Object) to announce that this - // is occurring. Normally, such publication delegates to - // publishNow, which calls ThreadService#invoke, which calls - // EventQueue.invokeAndWait, which queues the publication for execution on - // the EDT and then blocks until publication is complete. - - // 2) When the ThreadSafeEventService publishes the CleanupEvents, it does - // so inside a synchronized block that locks on a "listenerLock" object. - - // 3) Unfortunately, since the CleanupEvent publication is merely *queued*, - // any other pending operations on the EDT happen first. If one such - // operation meanwhile calls e.g. - // ThreadSafeEventService#getSubscribers(Class), it will deadlock because - // those getter methods are also synchronized on the listenerLock object. - - // Hence, our hack workaround is to instead use publishLater for the - // CleanupEvents, since no one really cares about them anyway. ;-) - - if (event instanceof CleanupEvent) { - publishLater(event); - return; - } - publishNow(event); } diff --git a/src/main/java/org/scijava/event/bushe/CleanupEvent.java b/src/main/java/org/scijava/event/bushe/CleanupEvent.java deleted file mode 100644 index c233e1dc0..000000000 --- a/src/main/java/org/scijava/event/bushe/CleanupEvent.java +++ /dev/null @@ -1,62 +0,0 @@ -/** - * Copyright 2007 Bushe Enterprises, Inc., Hopkinton, MA, USA, www.bushe.com - * - * Licensed 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.scijava.event.bushe; - -/** - * Published when the ThreadSafeEventService cleans up stale subscribers. - * @author Michael Bushe - */ -public class CleanupEvent { - - /** The status of the cleanup.*/ - public enum Status { - /** Timer has started the cleanup task. Will be followed by at least one more CleanupEvent.*/ - STARTING, - /** Task has determined there's cleanup to do.*/ - OVER_STOP_THRESHOLD_CLEANING_BEGUN, - /** Task has determined there's no cleanup to do.*/ - UNDER_STOP_THRESHOLD_CLEANING_CANCELLED, - /** Finished cleaning up task.*/ - FINISHED_CLEANING; - } - - private Status status; - private int totalWeakRefsAndProxies; - private Integer numStaleSubscribersCleaned; - - public CleanupEvent(Status status, int totalWeakRefsAndProxies, Integer numStaleSubscribersCleaned) { - this.status = status; - this.totalWeakRefsAndProxies = totalWeakRefsAndProxies; - this.numStaleSubscribersCleaned = numStaleSubscribersCleaned; - } - - public Status getStatus() { - return status; - } - - /** Total weak refs and ProxySubscribers subscribed. */ - public int getTotalWeakRefsAndProxies() { - return totalWeakRefsAndProxies; - } - - /** - * Null unless status is FINISHED_CLEANING. - * @return the number of stale subscribers cleaned during the cleanup run. - */ - public Integer getNumStaleSubscribersCleaned() { - return numStaleSubscribersCleaned; - } -} diff --git a/src/main/java/org/scijava/event/bushe/ThreadSafeEventService.java b/src/main/java/org/scijava/event/bushe/ThreadSafeEventService.java index 685af6b42..97c4a54cc 100644 --- a/src/main/java/org/scijava/event/bushe/ThreadSafeEventService.java +++ b/src/main/java/org/scijava/event/bushe/ThreadSafeEventService.java @@ -122,8 +122,6 @@ * to CLEANUP_STOP_THRESHOLD_DEFAULT (100) by default. The default is overridable in the constructor or via * #setCleanupStopThreshhold(Integer). If set to null or 0, cleanup will not stop if it is ever started. *

        - * Cleanup can be monitored by subscribing to the {@link CleanupEvent} class. - *

        * All cleanup parameters are tunable "live" and checked after each subscription and after each cleanup cycle. * To make cleanup never run, set cleanupStartThreshhold to Integer.MAX_VALUE and cleanupPeriodMS to null. * To get cleanup to run continuously, set set cleanupStartThreshhold to 0 and cleanupPeriodMS to some reasonable value, @@ -137,7 +135,7 @@ * @todo (param) a JMS-like selector (can be done in base classes by implements like a commons filter * @see EventService for a complete description of the API */ -@SuppressWarnings({"unchecked", "ForLoopReplaceableByForEach"}) +@SuppressWarnings({"unchecked"}) public class ThreadSafeEventService implements EventService { public static final Integer CLEANUP_START_THRESHOLD_DEFAULT = 250; public static final Integer CLEANUP_STOP_THRESHOLD_DEFAULT = 100; @@ -2057,17 +2055,14 @@ class CleanupTimerTask extends TimerTask { @Override public void run() { synchronized(listenerLock) { - ThreadSafeEventService.this.publish(new CleanupEvent(CleanupEvent.Status.STARTING, weakRefPlusProxySubscriberCount, null)); if (weakRefPlusProxySubscriberCount <= cleanupStopThreshold) { this.cancel(); cleanupTimer = null; cleanupTimerTask = null; LOG.debug("Cancelled scheduled weak reference and proxy cleanup."); - ThreadSafeEventService.this.publish(new CleanupEvent(CleanupEvent.Status.UNDER_STOP_THRESHOLD_CLEANING_CANCELLED, weakRefPlusProxySubscriberCount, null)); return; } LOG.debug("Starting a weak reference and proxy cleanup."); - ThreadSafeEventService.this.publish(new CleanupEvent(CleanupEvent.Status.OVER_STOP_THRESHOLD_CLEANING_BEGUN, weakRefPlusProxySubscriberCount, null)); List allSubscriberMaps = new ArrayList(); allSubscriberMaps.add(subscribersByEventType); allSubscriberMaps.add(subscribersByEventClass); @@ -2093,7 +2088,6 @@ public void run() { } } } - ThreadSafeEventService.this.publish(new CleanupEvent(CleanupEvent.Status.FINISHED_CLEANING, weakRefPlusProxySubscriberCount, staleCount)); } } } From f49e711c4142c7c8da8770d9ea7e33927847a753 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 17 May 2023 13:09:44 -0500 Subject: [PATCH 299/383] Add EventService#subscribe(EventSubscriber) method Otherwise, there is no way to register an EventSubscriber, because the DefaultEventBus is not publicly accessible. --- pom.xml | 2 +- .../org/scijava/event/DefaultEventService.java | 5 +++++ .../java/org/scijava/event/EventService.java | 18 ++++++++++++++++++ 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index d2abba36d..e6d854490 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.93.2-SNAPSHOT + 2.94.0-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. diff --git a/src/main/java/org/scijava/event/DefaultEventService.java b/src/main/java/org/scijava/event/DefaultEventService.java index 074a20bad..0047c42f5 100644 --- a/src/main/java/org/scijava/event/DefaultEventService.java +++ b/src/main/java/org/scijava/event/DefaultEventService.java @@ -138,6 +138,11 @@ public List> subscribe(final Object o) { return subscribers; } + @Override + public void subscribe(final EventSubscriber subscriber) { + eventBus.subscribe(subscriber.getClass(), subscriber); + } + @Override public void unsubscribe(final Collection> subscribers) { for (final EventSubscriber subscriber : subscribers) { diff --git a/src/main/java/org/scijava/event/EventService.java b/src/main/java/org/scijava/event/EventService.java index 5c143e18d..cc9f89d17 100644 --- a/src/main/java/org/scijava/event/EventService.java +++ b/src/main/java/org/scijava/event/EventService.java @@ -125,6 +125,24 @@ public interface EventService extends SciJavaService { */ List> subscribe(Object o); + /** + * Subscribes the given {@link EventSubscriber} to its associated event class. + * Its {@link EventSubscriber#onEvent} method will be called whenever an event + * of the matching type is published. + *

        + * Important note: The event service does not keep a + * strong reference to the subscriber! If you use this method, you are also + * responsible for keeping a reference to the subscriber, or else it is likely + * to be garbage collected, and thus no longer respond to events as intended. + * One simple way to force a strong reference to exist is to add it to + * SciJava's {@link org.scijava.object.ObjectService} via + * {@link org.scijava.object.ObjectService#addObject}. + *

        + * + * @param subscriber the event subscriber to register + */ + void subscribe(EventSubscriber subscriber); + /** * Removes all the given subscribers; they will no longer be notified when * events are published. From d94ffcfc920a36d4e82bf9e0d7bc597772c7f3b5 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 17 May 2023 14:27:08 -0500 Subject: [PATCH 300/383] Fix javadoc errors in org.bushe:eventbus code --- .../org/scijava/event/bushe/EventService.java | 193 ++++++++++++------ .../event/bushe/EventTopicSubscriber.java | 3 +- .../java/org/scijava/event/bushe/Logger.java | 9 +- .../scijava/event/bushe/SwingException.java | 10 +- .../event/bushe/ThreadSafeEventService.java | 98 ++++++--- .../event/bushe/VetoEventListener.java | 3 +- .../event/bushe/VetoTopicEventListener.java | 3 +- 7 files changed, 209 insertions(+), 110 deletions(-) diff --git a/src/main/java/org/scijava/event/bushe/EventService.java b/src/main/java/org/scijava/event/bushe/EventService.java index 6b07fb777..3a88aff2b 100644 --- a/src/main/java/org/scijava/event/bushe/EventService.java +++ b/src/main/java/org/scijava/event/bushe/EventService.java @@ -22,7 +22,7 @@ /** * The core interface. An EventService provides publish/subscribe services to a single JVM using Class-based and * String-based (i.e. "topic") publications and subscriptions. - *

        + *

        * In class-based pub/sub, {@link EventSubscriber}s subscribe to a type on an {@link EventService}, such * as the {@link org.scijava.event.bushe.EventBus}, by providing a class, interface or generic type. The EventService * notifies subscribers when objects are published on the EventService with a matching type. Full class semantics are @@ -32,14 +32,17 @@ * subscribe "exactly" using {@link #subscribeExactly(Class, EventSubscriber)} so that they are notified only if an * object of the exact class is published (and will not be notified if subclasses are published, since this would not * be "exact") - *

        + *

        + *

        * In topic-based pub/sub, an object "payload" is published on a topic name (String). {@link EventTopicSubscriber}s subscribe * to either the exact name of the topic or they may subscribe using a Regular Expression that is used to match topic * names. - *

        + *

        + *

        * See the overview for an general introduction * and package documentation for usage details and examples. - *

        + *

        + *

        * A single subscriber cannot subscribe more than once to an event or topic name. EventService implementations should * handle double-subscription requests by returning false on subscribe(). A single EventSubscriber can subscribe to more * than one event class, and a single EventTopicSubscriber can subscribe to more than one topic name or pattern. A @@ -50,15 +53,18 @@ * subclasses using subscribe() and again to a class of the same type using subscribeExactly(), this is considered two * different subscriptions and the subscriber will be called twice for the publication for a single event of the exact * type. - *

        + *

        + *

        * By default the EventService only holds WeakReferences to subscribers. If a subscriber has no references to it, then * it can be garbage collected. This avoids memory leaks in exchange for the risk of accidentally adding a listener and * have it disappear unexpectedly. If you want to subscribe a subscriber that will have no other reference to it, then * use one of the subscribeStrongly() methods, which will prevent garbage collection. - *

        + *

        + *

        * Unless garbage collected, EventSubscribers will remain subscribed until they are passed to one of the unsubscribe() * methods with the event class or topic name to which there are subscribed. - *

        + *

        + *

        * Subscribers are called in the order in which they are subscribed by default (FIFO), unless subscribers implement * {@link Prioritized}. Those subscribers that implement Prioritized and return a negative priority are moved to the * front of the list (the more negative, the more to the front). Those subscribers that implement Prioritized and return @@ -71,16 +77,19 @@ * the order of priority, no matter the call or the resulting mix of subscribers. All ordering rules apply to all * types subscribers: class, topic, pattern, veto, etc. For Swing users, note that FIFO is * the opposite of Swing, where event listeners are called in the reverse order of when they were subscribed (FILO). - *

        + *

        + *

        * Publication on a class or topic name can be vetoed by a {@link VetoEventListener}. All VetoEventListeners are checked * before any EventSubscribers or EventTopicSubscribers are called. This is unlike the JavaBean's * VetoPropertyEventListener which can leave side effects and half-propogated events. VetoEventListeners are subscribed * in the same manner as EventSubscribers and EventTopicSubscribers. - *

        + *

        + *

        * The state of a published event can be tracked if an event or a topic's payload object implements the * {@link org.scijava.event.bushe.PublicationStatus} interface. EventServices are required to set such objects' * {@link org.scijava.event.bushe.PublicationStatus} at the appropriate times during publication. - *

        + *

        +*

        * This simple example prints "Hello World" *

          * EventService eventService = new ThreadSafeEventService();
        @@ -94,7 +103,8 @@
          * eventService.publish("Hello", "World");
          * System.out.println(subscriber + " Since the reference is used after it is subscribed, it doesn't get garbage collected, this is not necessary if you use subscribeStrongly()");
          * 
        - *

        + *

        + *

        * Events and/or topic data can be cached, but are not by default. To cache events or topic data, call * {@link #setDefaultCacheSizePerClassOrTopic(int)}, {@link #setCacheSizeForEventClass(Class, int)}, or * {@link #setCacheSizeForTopic(String, int)}, {@link #setCacheSizeForTopic(Pattern, int)}. Retrieve cached values @@ -104,9 +114,11 @@ * the EDT in a single-threaded manner). In multithreaded applications, you never know if your subscriber has handled * an event while it was being subscribed (before the subscribe() method returned) that is newer or older than the * retrieved cached value (taken before or after subscribe() respectively). - *

        + *

        + *

        * There is nothing special about the term "Event," this could just as easily be called a "Message" Service, this term * is already taken by the JMS, which is similar, but is used across processes and networks. + *

        * * @author Michael Bushe michael@bushe.com * @see {@link ThreadSafeEventService} for the default implementation @@ -139,7 +151,7 @@ interface EventService { * trades.add(trade); * EventBus.publish(publishingTypeReference.getType(), trades); *
    8. - *

      + *

      * @param genericType the generified type of the published object. * @param event The event that occurred */ @@ -157,20 +169,25 @@ interface EventService { /** * Subscribes an EventSubscriber to the publication of objects matching a type. Only a WeakReference to * the subscriber is held by the EventService. - *

      + *

      + *

      * Subscribing to a class means the subscriber will be called when objects of that class are published, when * objects of subclasses of the class are published, when objects implementing any of the interfaces of the * class are published, or when generic types are published with the class' raw type. - *

      + *

      + *

      * Subscription is weak by default to avoid having to call unsubscribe(), and to avoid the memory leaks that would * occur if unsubscribe was not called. The service will respect the WeakReference semantics. In other words, if * the subscriber has not been garbage collected, then onEvent(Object) will be called normally. If the hard * reference has been garbage collected, the service will unsubscribe it's WeakReference. - *

      + *

      + *

      * It's allowable to call unsubscribe() with the same EventSubscriber hard reference to stop a subscription * immediately. - *

      + *

      + *

      * The service will create the WeakReference on behalf of the caller. + *

      * * @param eventClass the class of published objects to subscriber listen to * @param subscriber The subscriber that will accept the events of the event class when published. @@ -197,7 +214,7 @@ interface EventService { * trades.add(trade); * EventBus.publish(publishingTypeReference.getType(), trades); *
      - *

      + *

      * @param type the generic type to subscribe to * @param subscriber the subscriber to the type * @return true if a new subscription is made, false if it already existed @@ -207,16 +224,19 @@ interface EventService { /** * Subscribes an EventSubscriber to the publication of objects exactly matching a type. Only a WeakReference * to the subscriber is held by the EventService. - *

      + *

      * Subscription is weak by default to avoid having to call unsubscribe(), and to avoid the memory leaks that would * occur if unsubscribe was not called. The service will respect the WeakReference semantics. In other words, if * the subscriber has not been garbage collected, then the onEvent will be called normally. If the hard reference * has been garbage collected, the service will unsubscribe it's WeakReference. - *

      + *

      + *

      * It's allowable to call unsubscribe() with the same EventSubscriber hard reference to stop a subscription * immediately. - *

      + *

      + *

      * The service will create the WeakReference on behalf of the caller. + *

      * * @param eventClass the class of published objects to listen to * @param subscriber The subscriber that will accept the events when published. @@ -228,15 +248,16 @@ interface EventService { /** * Subscribes an EventTopicSubscriber to the publication of a topic name. Only a WeakReference * to the subscriber is held by the EventService. - *

      + *

      * Subscription is weak by default to avoid having to call unsubscribe(), and to avoid the memory leaks that would * occur if unsubscribe was not called. The service will respect the WeakReference semantics. In other words, if * the subscriber has not been garbage collected, then the onEvent will be called normally. If the hard reference * has been garbage collected, the service will unsubscribe it's WeakReference. - *

      + *

      + *

      * It's allowable to call unsubscribe() with the same EventSubscriber hard reference to stop a subscription * immediately. - *

      + *

      * * @param topic the name of the topic listened to * @param subscriber The topic subscriber that will accept the events when published. @@ -248,15 +269,16 @@ interface EventService { /** * Subscribes an EventSubscriber to the publication of all the topic names that match a RegEx Pattern. Only a * WeakReference to the subscriber is held by the EventService. - *

      + *

      * Subscription is weak by default to avoid having to call unsubscribe(), and to avoid the memory leaks that would * occur if unsubscribe was not called. The service will respect the WeakReference semantics. In other words, if * the subscriber has not been garbage collected, then the onEvent will be called normally. If the hard reference * has been garbage collected, the service will unsubscribe it's WeakReference. - *

      + *

      + *

      * It's allowable to call unsubscribe() with the same EventSubscriber hard reference to stop a subscription * immediately. - *

      + *

      * * @param topicPattern pattern that matches to the name of the topic published to * @param subscriber The topic subscriber that will accept the events when published. @@ -267,11 +289,13 @@ interface EventService { /** * Subscribes an EventSubscriber to the publication of objects matching a type. - *

      + *

      * The semantics are the same as {@link #subscribe(Class, EventSubscriber)}, except that the EventService holds * a regularly reference, not a WeakReference. - *

      + *

      + *

      * The subscriber will remain subscribed until {@link #unsubscribe(Class,EventSubscriber)} is called. + *

      * * @param eventClass the class of published objects to listen to * @param subscriber The subscriber that will accept the events when published. @@ -282,11 +306,13 @@ interface EventService { /** * Subscribes an EventSubscriber to the publication of objects matching a type exactly. - *

      + *

      * The semantics are the same as {@link #subscribeExactly(Class, EventSubscriber)}, except that the EventService * holds a regularly reference, not a WeakReference. - *

      + *

      + *

      * The subscriber will remain subscribed until {@link #unsubscribe(Class,EventSubscriber)} is called. + *

      * * @param eventClass the class of published objects to listen to * @param subscriber The subscriber that will accept the events when published. @@ -297,11 +323,13 @@ interface EventService { /** * Subscribes a subscriber to an event topic name. - *

      + *

      * The semantics are the same as {@link #subscribe(String, EventTopicSubscriber)}, except that the EventService * holds a regularly reference, not a WeakReference. - *

      + *

      + *

      * The subscriber will remain subscribed until {@link #unsubscribe(String,EventTopicSubscriber)} is called. + *

      * * @param topic the name of the topic listened to * @param subscriber The topic subscriber that will accept the events when published. @@ -312,11 +340,13 @@ interface EventService { /** * Subscribes a subscriber to all the event topic names that match a RegEx expression. - *

      + *

      * The semantics are the same as {@link #subscribe(java.util.regex.Pattern, EventTopicSubscriber)}, except that the * EventService holds a regularly reference, not a WeakReference. - *

      + *

      + *

      * The subscriber will remain subscribed until {@link #unsubscribe(String,EventTopicSubscriber)} is called. + *

      * * @param topicPattern the name of the topic listened to * @param subscriber The topic subscriber that will accept the events when published. @@ -368,16 +398,19 @@ interface EventService { /** * Subscribes a VetoEventListener to publication of event matching a class. Only a WeakReference to the * VetoEventListener is held by the EventService. - *

      + *

      * Use this method to avoid having to call unsubscribe(), though with care since garbage collection semantics is * indeterminate. The service will respect the WeakReference semantics. In other words, if the vetoListener has not * been garbage collected, then the onEvent will be called normally. If the hard reference has been garbage * collected, the service will unsubscribe it's WeakReference. - *

      + *

      + *

      * It's allowable to call unsubscribe() with the same VetoEventListener hard reference to stop a subscription * immediately. - *

      + *

      + *

      * The service will create the WeakReference on behalf of the caller. + *

      * * @param eventClass the class of published objects that can be vetoed * @param vetoListener The VetoEventListener that can determine whether an event is published. @@ -389,16 +422,19 @@ interface EventService { /** * Subscribes a VetoEventListener to publication of an exact event class. Only a WeakReference to the * VetoEventListener is held by the EventService. - *

      + *

      * Use this method to avoid having to call unsubscribe(), though with care since garbage collection semantics is * indeterminate. The service will respect the WeakReference semantics. In other words, if the vetoListener has not * been garbage collected, then the onEvent will be called normally. If the hard reference has been garbage * collected, the service will unsubscribe it's WeakReference. - *

      + *

      + *

      * It's allowable to call unsubscribe() with the same VetoEventListener hard reference to stop a subscription * immediately. - *

      + *

      + *

      * The service will create the WeakReference on behalf of the caller. + *

      * * @param eventClass the class of published objects that can be vetoed * @param vetoListener The vetoListener that can determine whether an event is published. @@ -432,9 +468,10 @@ interface EventService { /** * Subscribes a VetoEventListener for an event class and its subclasses. Only a WeakReference to the * VetoEventListener is held by the EventService. - *

      + *

      * The VetoEventListener will remain subscribed until {@link #unsubscribeVetoListener(Class,VetoEventListener)} is * called. + *

      * * @param eventClass the class of published objects to listen to * @param vetoListener The vetoListener that will accept the events when published. @@ -445,9 +482,10 @@ interface EventService { /** * Subscribes a VetoEventListener for an event class (but not its subclasses). - *

      + *

      * The VetoEventListener will remain subscribed until {@link #unsubscribeVetoListener(Class,VetoEventListener)} is * called. + *

      * * @param eventClass the class of published objects to listen to * @param vetoListener The vetoListener that will accept the events when published. @@ -458,9 +496,10 @@ interface EventService { /** * Subscribes a VetoEventListener to a topic name. - *

      + *

      * The VetoEventListener will remain subscribed until {@link #unsubscribeVetoListener(String,VetoTopicEventListener)} is * called. + *

      * * @param topic the name of the topic listened to * @param vetoListener The topic vetoListener that will accept or reject publication. @@ -473,9 +512,10 @@ interface EventService { /** * Subscribes a VetoTopicEventListener to a set of topics that match a RegEx expression. - *

      + *

      * The VetoEventListener will remain subscribed until {@link #unsubscribeVetoListener(Pattern,VetoTopicEventListener)} is * called. + *

      * * @param topicPattern the RegEx pattern that matches the name of the topics listened to * @param vetoListener The topic vetoListener that will accept or reject publication. @@ -677,13 +717,15 @@ interface EventService { /** * Sets the default cache size for each kind of event, default is 0 (no caching). - *

      + *

      * If this value is set to a positive number, then when an event is published, the EventService caches the event or * topic payload data for later retrieval. This allows subscribers to find out what has most recently happened * before they subscribed. The cached event(s) are returned from #getLastEvent(Class), #getLastTopicData(String), * #getCachedEvents(Class), or #getCachedTopicData(String) - *

      + *

      + *

      * The default can be overridden on a by-event-class or by-topic basis. + *

      * * @param defaultCacheSizePerClassOrTopic the cache size per event */ @@ -697,17 +739,20 @@ interface EventService { /** * Set the number of events cached for a particular class of event. By default, no events are cached. - *

      + *

      * This overrides any setting for the DefaultCacheSizePerClassOrTopic. - *

      + *

      + *

      * Class hierarchy semantics are respected. That is, if there are three events, A, X and Y, and X and Y are both * derived from A, then setting the cache size for A applies the cache size for all three. Setting the cache size * for X applies to X and leaves the settings for A and Y in tact. Interfaces can be passed to this method, but they * only take effect if the cache size of a class or it's superclasses has been set. Just like Class.getInterfaces(), * if multiple cache sizes are set, the interface names declared earliest in the implements clause of the eventClass * takes effect. - *

      + *

      + *

      * The cache for an event is not adjusted until the next event of that class is published. + *

      * * @param eventClass the class of event * @param cacheSize the number of published events to cache for this event @@ -716,9 +761,10 @@ interface EventService { /** * Returns the number of events cached for a particular class of event. By default, no events are cached. - *

      + *

      * This result is computed for a particular class from the values passed to #setCacheSizeForEventClass(Class, int), * and respects the class hierarchy. + *

      * * @param eventClass the class of event * @@ -730,12 +776,15 @@ interface EventService { /** * Set the number of published data objects cached for a particular event topic. By default, no data are cached. - *

      + *

      * This overrides any setting for the DefaultCacheSizePerClassOrTopic. - *

      + *

      + *

      * Exact topic names take precedence over pattern matching. - *

      + *

      + *

      * The cache for a topic is not adjusted until the next publication on that topic. + *

      * * @param topicName the topic name * @param cacheSize the number of published data Objects to cache for this topic @@ -744,12 +793,15 @@ interface EventService { /** * Set the number of published data objects cached for a topics matching a pattern. By default, no data are cached. - *

      + *

      * This overrides any setting for the DefaultCacheSizePerClassOrTopic. - *

      + *

      + *

      * Exact topic names take precedence over pattern matching. - *

      + *

      + *

      * The cache for a topic is not adjusted until the next publication on that topic. + *

      * * @param pattern the pattern matching topic names * @param cacheSize the number of data Objects to cache for this topic @@ -758,9 +810,10 @@ interface EventService { /** * Returns the number of cached data objects published on a particular topic. - *

      + *

      * This result is computed for a particular class from the values passed to #setCacheSizeForEventClass(Class, int), * and respects the class hierarchy. + *

      * * @param topic the topic name * @@ -830,9 +883,10 @@ interface EventService { /** * Stop a subscription for an object that is subscribed with a ProxySubscriber. - *

      + *

      * If an object is subscribed by proxy and it implements EventSubscriber, then the normal unsubscribe methods will * still unsubscribe the object. + *

      * * @param eventClass class this object is subscribed to by proxy * @param subscribedByProxy object subscribed by proxy @@ -842,9 +896,10 @@ interface EventService { /** * Stop a subscription for an object that is subscribed exactly with a ProxySubscriber. - *

      + *

      * If an object is subscribed by proxy and it implements EventSubscriber, then the normal unsubscribe methods will * still unsubscribe the object. + *

      * * @param eventClass class this object is subscribed to by proxy * @param subscribedByProxy object subscribed by proxy @@ -854,9 +909,10 @@ interface EventService { /** * Stop a subscription for an object that is subscribed to a topic with a ProxySubscriber. - *

      + *

      * If an object is subscribed by proxy and it implements EventSubscriber, then the normal unsubscribe methods will * still unsubscribe the object. + *

      * * @param topic the topic this object is subscribed to by proxy * @param subscribedByProxy object subscribed by proxy @@ -867,9 +923,10 @@ interface EventService { /** * When using annotations, an object may be subscribed by proxy. This unsubscribe method will unsubscribe an object * that is subscribed with a ProxySubscriber. - *

      + *

      * If an object is subscribed by proxy and it implements EventSubscriber, then the normal unsubscribe methods will * still unsubscribe the object. + *

      * * @param pattern the RegEx expression this object is subscribed to by proxy * @param subscribedByProxy object subscribed by proxy @@ -879,9 +936,10 @@ interface EventService { /** * Stop a veto subscription for an object that is subscribed with a ProxySubscriber. - *

      + *

      * If an object is subscribed by proxy and it implements VetoSubscriber, then the normal unsubscribe methods will * still unsubscribe the object. + *

      * * @param eventClass class this object is subscribed to by proxy * @param subscribedByProxy object subscribed by proxy @@ -891,9 +949,10 @@ interface EventService { /** * Stop a veto subscription for an object that is subscribed exactly with a ProxySubscriber. - *

      + *

      * If an object is subscribed by proxy and it implements VetoSubscriber, then the normal unsubscribe methods will * still unsubscribe the object. + *

      * * @param eventClass class this object is subscribed to by proxy * @param subscribedByProxy object subscribed by proxy @@ -903,9 +962,10 @@ interface EventService { /** * Stop a veto subscription for an object that is subscribed to a topic with a ProxySubscriber. - *

      + *

      * If an object is subscribed by proxy and it implements EventSubscriber, then the normal unsubscribe methods will * still unsubscribe the object. + *

      * * @param topic the topic this object is subscribed to by proxy * @param subscribedByProxy object subscribed by proxy @@ -916,9 +976,10 @@ interface EventService { /** * When using annotations, an object may be subscribed by proxy. This unsubscribe method will unsubscribe an object * that is subscribed with a ProxySubscriber. - *

      + *

      * If an object is subscribed by proxy and it implements EventSubscriber, then the normal unsubscribe methods will * still unsubscribe the object. + *

      * * @param pattern the RegEx expression this object is subscribed to by proxy * @param subscribedByProxy object subscribed by proxy diff --git a/src/main/java/org/scijava/event/bushe/EventTopicSubscriber.java b/src/main/java/org/scijava/event/bushe/EventTopicSubscriber.java index 54510621d..37bf575e4 100644 --- a/src/main/java/org/scijava/event/bushe/EventTopicSubscriber.java +++ b/src/main/java/org/scijava/event/bushe/EventTopicSubscriber.java @@ -24,12 +24,13 @@ interface EventTopicSubscriber { /** * Handle an event published on a topic. - *

      + *

      * The EventService calls this method on each publication on a matching topic name passed to one of the * EventService's topic-based subscribe methods, specifically, {@link EventService#subscribe(String, *EventTopicSubscriber)} {@link EventService#subscribe(java.util.regex.Pattern,EventTopicSubscriber)} {@link * EventService#subscribeStrongly(String,EventTopicSubscriber)} and {@link EventService#subscribeStrongly(java.util.regex.Pattern, *EventTopicSubscriber)}. + *

      * * @param topic the name of the topic published on * @param data the data object published on the topic diff --git a/src/main/java/org/scijava/event/bushe/Logger.java b/src/main/java/org/scijava/event/bushe/Logger.java index bc7476d31..f2de3981b 100644 --- a/src/main/java/org/scijava/event/bushe/Logger.java +++ b/src/main/java/org/scijava/event/bushe/Logger.java @@ -7,17 +7,20 @@ /** * Central Logging class. Shields code from Logging implementation. - *

      + *

      * The EventBus allows operation in two modes - using java.util.logging so that * the EventBus can be deployed in its own jar or using any logging system supported * by apache commons logging, which of course requires other jars. - *

      + *

      + *

      * The EventBus logging uses the names of its classes as the log, primarily * "org.scijava.event.bushe.EventService". This aids in debugging which subscription and publication issues. - *

      + *

      + *

      * Implementation note: There are no imports in this class to make things * explicit. There is also no explicit use of classes outside java.util, * anything else is used by reflection to avoid NoClassDefFound errors on class load. + *

      */ class Logger { private java.util.logging.Logger utilLogger; diff --git a/src/main/java/org/scijava/event/bushe/SwingException.java b/src/main/java/org/scijava/event/bushe/SwingException.java index f46dd321e..d236c2121 100644 --- a/src/main/java/org/scijava/event/bushe/SwingException.java +++ b/src/main/java/org/scijava/event/bushe/SwingException.java @@ -21,18 +21,21 @@ /** * Aids in troubleshooting Swing application exceptions or any exception where the caller's stack may not be the * exception stack (such as producer-consumer patterns that cross threads). - *

      + *

      * Swing exceptions usually occur on the Swing Event Dispatch Thread, and often occur when code puts events on the EDT. * This code is often in a non-EDT thread such as a thread that is receiving data from a server. If the non-EDT threads * puts a call on the EDT and that EDT call causes and exception, the stack trace of the exception is lost, and it often * difficult or impossible to determine where the non-EDT call came from. - *

      + *

      + *

      * This Exception class is used to handle exceptions that occur when events are posted on the Swing EDT or occur on * another thread from the Swing EDT. It includes a "swing" call stack to record from where the event occurred, and * overrides so that the exception and the swing calling stack print nicely to logs. - *

      + *

      + *

      * The swing calling stack is different from the cause of the exception since it is gathered before the exception occurs * in a different stack from the cause and used after the exception in a new thread occurs. + *

      * * @author Michael Bushe michael@bushe.com * @todo in SwingUtils, make an invokeLater() method that saves the calling stack and catches all exceptions from a @@ -66,7 +69,6 @@ public SwingException(String message, Throwable cause) { /** * Preferred constructor. - *

      * * @param message The message of exception * @param cause The cause of the exception in the same call stack diff --git a/src/main/java/org/scijava/event/bushe/ThreadSafeEventService.java b/src/main/java/org/scijava/event/bushe/ThreadSafeEventService.java index 97c4a54cc..10395de4d 100644 --- a/src/main/java/org/scijava/event/bushe/ThreadSafeEventService.java +++ b/src/main/java/org/scijava/event/bushe/ThreadSafeEventService.java @@ -38,20 +38,23 @@ /** * A thread-safe EventService implementation. *

      Multithreading

      - *

      + *

      * This implementation is not Swing thread-safe. If publication occurs on a thread other than the Swing * EventDispatchThread, subscribers will receive the event on the calling thread, and not the EDT. Swing components * should use the SwingEventService instead, which is the implementation used by the EventBus. - *

      + *

      + *

      * Two threads may be accessing the ThreadSafeEventService at the same time, one unsubscribing a * listener for topic "A" and the other publishing on topic "A". If the unsubscribing thread gets the lock first, * then it is unsubscribed, end of story. If the publisher gets the lock first, then a snapshot copy of the current * subscribers is made during the publication, the lock is released and the subscribers are called. Between the time * the lock is released and the time that the listener is called, the unsubscribing thread can unsubscribe, resulting * in an unsubscribed object receiving notification of the event after it was unsubscribed (but just once). - *

      + *

      + *

      * On event publication, subscribers are called in the order in which they subscribed. - *

      + *

      + *

      * Events and/or topic data can be cached, but are not by default. To cache events or topic data, call * {@link #setDefaultCacheSizePerClassOrTopic(int)}, {@link #setCacheSizeForEventClass(Class, int)}, or * {@link #setCacheSizeForTopic(String, int)}, {@link #setCacheSizeForTopic(Pattern, int)}. Retrieve cached values @@ -61,29 +64,33 @@ * Swing applications since both happen on the EDT in a single-threaded manner). In multithreaded applications, you * never know if your subscriber has handled an event while it was being subscribed (before the subscribe() method * returned) that is newer or older than the retrieved cached value (taken before or after subscribe() respectively). - *

      + *

      + *

      * To deal with subscribers that take too long (a concern in Swing applications), the EventService can be made to issue * {@link SubscriberTimingEvent}s when subscribers exceed a certain time. This does not interrupt subscriber processing * and is published after the subscriber finishes. The service can log a warning for SubscriberTimingEvents, see the * constructor {@link ThreadSafeEventService (long, boolean)}. The timing is checked for veto subscribers too. - *

      + *

      *

      Logging

      - *

      + *

      * All logging goes through the {@link Logger}. The Logger is configurable and supports multiple logging systems. - *

      + *

      + *

      * Exceptions are logged by default, override {@link #handleException(String,Object,String,Object,Throwable, * StackTraceElement[],String)} to handleException exceptions in another way. Each call to a subscriber is wrapped in * a try block to ensure one listener does not interfere with another. - *

      + *

      *

      Cleanup of Stale WeakReferences and Stale Annotation Proxies

      - *

      + *

      * The EventService may need to clean up stale WeakReferences and ProxySubscribers created for EventBus annotations. (Aside: EventBus * Annotations are handled by the creation of proxies to the annotated objects. Since the annotations create weak references * by default, annotation proxies must held strongly by the EventService, otherwise the proxy is garbage collected.) When * a WeakReference's referent or an ProxySubscriber's proxiedObject (the annotated object) is claimed by the garbage collector, * the EventService still holds onto the actual WeakReference or ProxySubscriber subscribed to the EventService (which are pretty tiny). - *

      + *

      + *

      * There are two ways that these stale WeakReferences and ProxySubscribers are cleaned up. + *

      *
        *
      1. On every publish, subscribe and unsubscribe, every subscriber and veto subscriber to a class or topic is checked to see * if it is a stale WeakReference or a stale ProxySubscriber (one whose getProxySubscriber() returns null). If the subscriber @@ -95,6 +102,7 @@ * of the cleanup thread follows. *
      *

      The Cleanup Thread

      + *

      * If a topic or class is never published to again, WeakReferences and ProxySubscribers can be left behind if they * are not cleaned up. To prevent loitering stale subscribers, the ThreadSafeEventService may periodically run through * all the EventSubscribers and VetoSubscribers for all topics and classes and clean up stale proxies. Proxies for @@ -103,33 +111,38 @@ * one caveat: If getProxiedSubscriber() returns null, even for a ProxySubscriber with a STRONG reference strength, that proxy * is cleaned up as it is assumed it is stale or just wrong. This would not occur normally in EventBus usage, but only * if someone is implementing their own custom ProxySubscriber and/or AnnotationProcessor.) - *

      + *

      + *

      * Cleanup is pretty rare in general. Not only are stale subscribers cleaned up with regular usage, stale * subscribers on abandoned topics and classes do not take up a lot of memory, hence, they are allowed to build up to a certain degree. * Cleanup does not occur until the number of WeakReferences and SubscriptionsProxy's with WeakReference strength * subscribed to an EventService for all the EventService's subscriptions in total exceed the cleanupStartThreshhold, * which is set to CLEANUP_START_THRESHOLD_DEFAULT (500) by default. The default is overridable in the constructor * or via #setCleanupStartThreshhold(Integer). If set to null, cleanup will never start. - *

      + *

      + *

      * Once the cleanup start threshold is exceeded, a java.util.Timer is started to clean up stale subscribers periodically * in another thread. The timer will fire every cleanupPeriodMS milliseconds, which is set to the * CLEANUP_PERIOD_MS_DEFAULT (20 minutes) by default. The default is overridable in the constructor or * via #setCleanupPeriodMS(Integer). If set to null, cleanup will not start. This is implemented with a java.util.Timer, * so Timer's warnings apply - setting this too low will cause cleanups to bunch up and hog the cleanup thread. - *

      + *

      + *

      * After a cleanup cycle completes, if the number of stale subscribers falls at or below the cleanupStopThreshhold * cleanup stops until the cleanupStartThreshhold is exceeded again. The cleanupStopThreshhold is set * to CLEANUP_STOP_THRESHOLD_DEFAULT (100) by default. The default is overridable in the constructor or via * #setCleanupStopThreshhold(Integer). If set to null or 0, cleanup will not stop if it is ever started. - *

      + *

      + *

      * All cleanup parameters are tunable "live" and checked after each subscription and after each cleanup cycle. * To make cleanup never run, set cleanupStartThreshhold to Integer.MAX_VALUE and cleanupPeriodMS to null. * To get cleanup to run continuously, set set cleanupStartThreshhold to 0 and cleanupPeriodMS to some reasonable value, * perhaps 1000 (1 second) or so (not recommended, cleanup is conducted with regular usage and the cleanup thread is * rarely created or invoked). - *

      + *

      + *

      * Cleanup is not run in a daemon thread, and thus will not stop the JVM from exiting. - *

      + *

      * * @author Michael Bushe michael@bushe.com * @todo (param) a JMS-like selector (can be done in base classes by implements like a commons filter @@ -557,8 +570,9 @@ protected boolean subscribeVetoListener(final Object subscription, final Map vet * All subscribe methods call this method, including veto subscriptions. * Extending classes only have to override this method to subscribe all * subscriber subscriptions. - *

      + *

      * Overriding this method is only for the adventurous. This basically gives you just enough rope to hang yourself. + *

      * * @param classTopicOrPatternWrapper the topic String, event Class, or PatternWrapper to subscribe to * @param subscriberMap the internal map of subscribers to use (by topic or class) @@ -1066,8 +1080,9 @@ private void logEvent(Object event, String topic, Object eventObj) { /** * Adds an event to the event cache, if appropriate. This method is called just before publication to listeners, * after the event passes any veto listeners. - *

      + *

      * Using protected visibility to open the caching to other implementations. + *

      * * @param event the event about to be published, null if topic is non-null * @param topic the topic about to be published to, null if the event is non-null @@ -1595,13 +1610,15 @@ private List createCopyOfContentsRemoveWeakRefs(Collection subscribersOrVetoList /** * Sets the default cache size for each kind of event, default is 0 (no caching). - *

      + *

      * If this value is set to a positive number, then when an event is published, the EventService caches the event or * topic payload data for later retrieval. This allows subscribers to find out what has most recently happened * before they subscribed. The cached event(s) are returned from #getLastEvent(Class), #getLastTopicData(String), * #getCachedEvents(Class), or #getCachedTopicData(String) - *

      + *

      + *

      * The default can be overridden on a by-event-class or by-topic basis. + *

      * * @param defaultCacheSizePerClassOrTopic */ @@ -1620,17 +1637,20 @@ public int getDefaultCacheSizePerClassOrTopic() { /** * Set the number of events cached for a particular class of event. By default, no events are cached. - *

      + *

      * This overrides any setting for the DefaultCacheSizePerClassOrTopic. - *

      + *

      + *

      * Class hierarchy semantics are respected. That is, if there are three events, A, X and Y, and X and Y are both * derived from A, then setting the cache size for A applies the cache size for all three. Setting the cache size * for X applies to X and leaves the settings for A and Y in tact. Interfaces can be passed to this method, but they * only take effect if the cache size of a class or it's superclasses has been set. Just like Class.getInterfaces(), * if multiple cache sizes are set, the interface names declared earliest in the implements clause of the eventClass * takes effect. - *

      + *

      + *

      * The cache for an event is not adjusted until the next event of that class is published. + *

      * * @param eventClass the class of event * @param cacheSize the number of published events to cache for this event @@ -1647,9 +1667,10 @@ public void setCacheSizeForEventClass(Class eventClass, int cacheSize) { /** * Returns the number of events cached for a particular class of event. By default, no events are cached. - *

      + *

      * This result is computed for a particular class from the values passed to #setCacheSizeForEventClass(Class, int), * and respects the class hierarchy. + *

      * * @param eventClass the class of event * @@ -1706,12 +1727,15 @@ public int getCacheSizeForEventClass(Class eventClass) { /** * Set the number of published data objects cached for a particular event topic. By default, no caching is done. - *

      + *

      * This overrides any setting for the DefaultCacheSizePerClassOrTopic. - *

      + *

      + *

      * Settings for exact topic names take precedence over pattern matching. - *

      + *

      + *

      * The cache for a topic is not adjusted until the next publication on that topic. + *

      * * @param topicName the topic name * @param cacheSize the number of published data Objects to cache for this topic @@ -1728,13 +1752,16 @@ public void setCacheSizeForTopic(String topicName, int cacheSize) { /** * Set the number of published data objects cached for topics matching a pattern. By default, caching is done. - *

      + *

      * This overrides any setting for the DefaultCacheSizePerClassOrTopic. - *

      + *

      + *

      * Settings for exact topic names take precedence over pattern matching. If a topic matches the cache settings for * more than one pattern, the cache size chosen is an undetermined one from one of the matched pattern settings. - *

      + *

      + *

      * The cache for a topic is not adjusted until the next publication on that topic. + *

      * * @param pattern the pattern matching topic names * @param cacheSize the number of data Objects to cache for this topic @@ -1752,9 +1779,10 @@ public void setCacheSizeForTopic(Pattern pattern, int cacheSize) { /** * Returns the number of cached data objects published on a particular topic. By default, no caching is performed. - *

      + *

      * This result is computed for a particular topic from the values passed to #setCacheSizeForTopic(String, int) and * #setCacheSizeForTopic(Pattern, int). + *

      * * @param topic the topic name * @@ -1971,17 +1999,19 @@ protected void handleException(final String action, final Object event, final St /** * Unsubscribe a subscriber if it is a stale ProxySubscriber. Used during subscribe() and * in the cleanup Timer. See the class javadoc. - *

      + *

      * Not private since I don't claim I'm smart enough to anticipate all needs, but I * am smart enough to doc the rules you must follow to override this method. Those * rules may change (changes will be doc'ed), override at your own risk. - *

      + *

      + *

      * Overriders MUST call iterator.remove() to unsubscribe the proxy if the subscriber is * a ProxySubscriber and is stale and should be cleaned up. If the ProxySubscriber * is unsubscribed, then implementers MUST also call proxyUnsubscribed() on the subscriber. * Overriders MUST also remove the proxy from the weakProxySubscriber list by calling * removeStaleProxyFromList. Method assumes caller is holding the listenerList * lock (else how can you pass the iterator?). + *

      * @param iterator current iterator * @param existingSubscriber the current value of the iterator * @return the real value of the param, or the proxied subscriber of the param if diff --git a/src/main/java/org/scijava/event/bushe/VetoEventListener.java b/src/main/java/org/scijava/event/bushe/VetoEventListener.java index 0c20a3c4f..4b377c1c1 100644 --- a/src/main/java/org/scijava/event/bushe/VetoEventListener.java +++ b/src/main/java/org/scijava/event/bushe/VetoEventListener.java @@ -24,11 +24,12 @@ interface VetoEventListener { /** * Determine whether an event should be vetoed or published. - *

      + *

      * The EventService calls this method before class-based publication of objects. If any of the * VetoEventListeners return true, then none of the subscribers for that event are called.

      Prerequisite: * VetoEventListener has to be subscribed with the EventService for the event object's class.

      Guaranteed to be * called in the SwingEventThread when using the SwingEventService (EventBus). See {@link EventService}

      + *

      * * @param event The event object to veto or allow to be published. * diff --git a/src/main/java/org/scijava/event/bushe/VetoTopicEventListener.java b/src/main/java/org/scijava/event/bushe/VetoTopicEventListener.java index a1dd81a80..f44d9693a 100644 --- a/src/main/java/org/scijava/event/bushe/VetoTopicEventListener.java +++ b/src/main/java/org/scijava/event/bushe/VetoTopicEventListener.java @@ -9,11 +9,12 @@ interface VetoTopicEventListener { /** * Determine whether a topic publication should be vetoed or allowed. - *

      + *

      * The EventService calls this method before publication of on a topic name. If any of the * VetoTopicEventListeners return true, then none of the subscribers to that topic are called.

      Prerequisite: * VetoTopicEventListener has to be subscribed with the EventService for the topic name.

      Guaranteed to be * called in the SwingEventThread when using the SwingEventService (EventBus). See {@link EventService}

      + *

      * * @param topic The topic name the data object is published on. * @param data The data object being published on the topic. From da1841da1e9c649b0adc502ec494d86a238fa4c2 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 17 May 2023 14:29:03 -0500 Subject: [PATCH 301/383] Add EventBus to the NOTICE of third-party code --- NOTICE.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/NOTICE.txt b/NOTICE.txt index 78b8ce335..5b605b01d 100644 --- a/NOTICE.txt +++ b/NOTICE.txt @@ -1,7 +1,8 @@ This project contains code adapted from Apache Commons Lang (https://commons.apache.org/proper/commons-lang/) version 3.4, as well as GenTyRef (https://github.com/coekie/gentyref) version 1.1.0, -both of which are licensed under the Apache 2.0 license, as follows: +and EventBus (https://github.com/michaelbushe/EventBus) version 1.4, +each of which is licensed under the Apache 2.0 license, as follows: Apache License Version 2.0, January 2004 From 86abfc09d5734d323fc2f263a0570b3e4bc580ab Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 17 May 2023 14:40:26 -0500 Subject: [PATCH 302/383] Fix more javadoc errors --- src/main/java/org/scijava/event/bushe/EventService.java | 5 ++--- .../java/org/scijava/event/bushe/SwingException.java | 2 -- .../org/scijava/event/bushe/ThreadSafeEventService.java | 9 +-------- 3 files changed, 3 insertions(+), 13 deletions(-) diff --git a/src/main/java/org/scijava/event/bushe/EventService.java b/src/main/java/org/scijava/event/bushe/EventService.java index 3a88aff2b..c2d41e9bb 100644 --- a/src/main/java/org/scijava/event/bushe/EventService.java +++ b/src/main/java/org/scijava/event/bushe/EventService.java @@ -139,6 +139,7 @@ interface EventService { *

      * Due to generic type erasure, the type must be supplied by the caller. You can get a declared object's * type by using the {@link org.scijava.event.bushe.TypeReference} class. For Example: + *

      *
           * TypeReference<List<Trade>> subscribingTypeReference = new TypeReference<List<Trade>>(){};
           * EventBus.subscribe(subscribingTypeReference.getType(), mySubscriber);
      @@ -151,7 +152,6 @@ interface EventService {
           * trades.add(trade);
           * EventBus.publish(publishingTypeReference.getType(), trades);
           * 
      - *

      * @param genericType the generified type of the published object. * @param event The event that occurred */ @@ -169,7 +169,6 @@ interface EventService { /** * Subscribes an EventSubscriber to the publication of objects matching a type. Only a WeakReference to * the subscriber is held by the EventService. - *

      *

      * Subscribing to a class means the subscriber will be called when objects of that class are published, when * objects of subclasses of the class are published, when objects implementing any of the interfaces of the @@ -202,6 +201,7 @@ interface EventService { *

      * Due to generic type erasure, the type must be supplied by the publisher. You can get a declared object's * type by using the {@link org.scijava.event.bushe.TypeReference} class. For Example: + *

      *
          * TypeReference<List<Trade>> subscribingTypeReference = new TypeReference<List<Trade>>(){};
          * EventBus.subscribe(subscribingTypeReference.getType(), mySubscriber);
      @@ -214,7 +214,6 @@ interface EventService {
          * trades.add(trade);
          * EventBus.publish(publishingTypeReference.getType(), trades);
          * 
      - *

      * @param type the generic type to subscribe to * @param subscriber the subscriber to the type * @return true if a new subscription is made, false if it already existed diff --git a/src/main/java/org/scijava/event/bushe/SwingException.java b/src/main/java/org/scijava/event/bushe/SwingException.java index d236c2121..f36fc36d6 100644 --- a/src/main/java/org/scijava/event/bushe/SwingException.java +++ b/src/main/java/org/scijava/event/bushe/SwingException.java @@ -38,8 +38,6 @@ *

      * * @author Michael Bushe michael@bushe.com - * @todo in SwingUtils, make an invokeLater() method that saves the calling stack and catches all exceptions from a - * subsequent call to SwingUtilities.invokeLater(), then throws a Swing Exception so the calling stack is saved. */ class SwingException extends Exception { protected StackTraceElement[] callingStackTrace; diff --git a/src/main/java/org/scijava/event/bushe/ThreadSafeEventService.java b/src/main/java/org/scijava/event/bushe/ThreadSafeEventService.java index 10395de4d..920d0add4 100644 --- a/src/main/java/org/scijava/event/bushe/ThreadSafeEventService.java +++ b/src/main/java/org/scijava/event/bushe/ThreadSafeEventService.java @@ -65,12 +65,6 @@ * never know if your subscriber has handled an event while it was being subscribed (before the subscribe() method * returned) that is newer or older than the retrieved cached value (taken before or after subscribe() respectively). *

      - *

      - * To deal with subscribers that take too long (a concern in Swing applications), the EventService can be made to issue - * {@link SubscriberTimingEvent}s when subscribers exceed a certain time. This does not interrupt subscriber processing - * and is published after the subscriber finishes. The service can log a warning for SubscriberTimingEvents, see the - * constructor {@link ThreadSafeEventService (long, boolean)}. The timing is checked for veto subscribers too. - *

      *

      Logging

      *

      * All logging goes through the {@link Logger}. The Logger is configurable and supports multiple logging systems. @@ -123,7 +117,7 @@ *

      * Once the cleanup start threshold is exceeded, a java.util.Timer is started to clean up stale subscribers periodically * in another thread. The timer will fire every cleanupPeriodMS milliseconds, which is set to the - * CLEANUP_PERIOD_MS_DEFAULT (20 minutes) by default. The default is overridable in the constructor or + * CLEANUP_PERIOD_MS_DEFAULT (20 minutes) by default. The default is overridable in the constructor or * via #setCleanupPeriodMS(Integer). If set to null, cleanup will not start. This is implemented with a java.util.Timer, * so Timer's warnings apply - setting this too low will cause cleanups to bunch up and hog the cleanup thread. *

      @@ -145,7 +139,6 @@ *

      * * @author Michael Bushe michael@bushe.com - * @todo (param) a JMS-like selector (can be done in base classes by implements like a commons filter * @see EventService for a complete description of the API */ @SuppressWarnings({"unchecked"}) From 1282e8889b2fb9d71cec343d93dba753a0c3c51d Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 17 May 2023 14:47:01 -0500 Subject: [PATCH 303/383] POM: update parent to pom-scijava 35.0.0 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index e6d854490..d2d3da86d 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.scijava pom-scijava - 34.1.0 + 35.0.0 From 2beccfa858267cfb0da68296f663f4cfee83d71a Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 17 May 2023 14:54:21 -0500 Subject: [PATCH 304/383] Bump to next development cycle Signed-off-by: Curtis Rueden --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index d2d3da86d..38f9e2296 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.94.0-SNAPSHOT + 2.94.1-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From 8293f84d287ab6ffcb672b9c297a56171a497c00 Mon Sep 17 00:00:00 2001 From: Gabriel Selzer Date: Fri, 19 May 2023 12:39:23 -0500 Subject: [PATCH 305/383] First cut: Find scripts in base script directory --- src/main/java/org/scijava/script/ScriptFinder.java | 7 +++++-- src/test/java/org/scijava/script/ScriptFinderTest.java | 6 ++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/scijava/script/ScriptFinder.java b/src/main/java/org/scijava/script/ScriptFinder.java index ea438791e..3df65dd61 100644 --- a/src/main/java/org/scijava/script/ScriptFinder.java +++ b/src/main/java/org/scijava/script/ScriptFinder.java @@ -41,6 +41,7 @@ import org.scijava.AbstractContextual; import org.scijava.Context; +import org.scijava.MenuEntry; import org.scijava.MenuPath; import org.scijava.log.LogService; import org.scijava.plugin.Parameter; @@ -178,8 +179,10 @@ private int createInfos(final List scripts, final Set urls, // friendlyPath = "File/Import/Movie File..." // menuPath = File > Import > Movie File... - // NB: Ignore base-level scripts (not nested in any menu). - if (menuPath.size() == 1) continue; + // Place base-level scripts in the "Scripts" submenu + if (menuPath.size() == 1){ + menuPath.add(0, new MenuEntry("Scripts")); + } final URL url = scriptMap.get(path); diff --git a/src/test/java/org/scijava/script/ScriptFinderTest.java b/src/test/java/org/scijava/script/ScriptFinderTest.java index f3301fec1..8c51cc25e 100644 --- a/src/test/java/org/scijava/script/ScriptFinderTest.java +++ b/src/test/java/org/scijava/script/ScriptFinderTest.java @@ -66,7 +66,7 @@ public class ScriptFinderTest { public static void setUp() throws IOException { scriptsDir = TestUtils.createTemporaryDirectory("script-finder-"); final String[] scriptPaths = { // - "ignored.foo", // + "script_in_base_dir.foo", // "Scripts/quick.foo", // "Scripts/brown.foo", // "Scripts/fox.foo", // @@ -108,6 +108,7 @@ public void testFindScripts() { "Math > multiply", // "Math > pow", // "Scripts > quick", // + "Scripts > script in base dir", // "Math > Trig > sin", // "Math > subtract", // "Math > Trig > tan", // @@ -139,10 +140,10 @@ public void testMenuPrefixes() { "Foo > Bar > Math > Trig > cos", // "Foo > Bar > Math > divide", // "Foo > Bar > Scripts > fox", // - "Foo > Bar > ignored", // "Foo > Bar > Math > multiply", // "Math > pow", // "Foo > Bar > Scripts > quick", // + "Foo > Bar > script in base dir", // "Foo > Bar > Math > Trig > sin", // "Foo > Bar > Math > subtract", // "Foo > Bar > Math > Trig > tan", // @@ -177,6 +178,7 @@ public void testOverlappingDirectories() { "Math > multiply", // "Math > pow", // "Plugins > quick", // + "Scripts > script in base dir", // "Math > Trig > sin", // "Math > subtract", // "Math > Trig > tan", // From 14892562cea06ad65c8dbbcf682732d02010b68c Mon Sep 17 00:00:00 2001 From: Gabriel Selzer Date: Mon, 22 May 2023 12:09:53 -0500 Subject: [PATCH 306/383] Place base-level scripts in plugins>scripts --- src/main/java/org/scijava/script/ScriptFinder.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/scijava/script/ScriptFinder.java b/src/main/java/org/scijava/script/ScriptFinder.java index 3df65dd61..23701ea99 100644 --- a/src/main/java/org/scijava/script/ScriptFinder.java +++ b/src/main/java/org/scijava/script/ScriptFinder.java @@ -179,9 +179,10 @@ private int createInfos(final List scripts, final Set urls, // friendlyPath = "File/Import/Movie File..." // menuPath = File > Import > Movie File... - // Place base-level scripts in the "Scripts" submenu + // Place base-level scripts in the "Plugins>Scripts" submenu if (menuPath.size() == 1){ - menuPath.add(0, new MenuEntry("Scripts")); + menuPath.add(0, new MenuEntry("Plugins")); + menuPath.add(1, new MenuEntry("Scripts")); } final URL url = scriptMap.get(path); From 763f4166d4b8676b3f41efa3dd35291afb08e197 Mon Sep 17 00:00:00 2001 From: Gabriel Selzer Date: Mon, 22 May 2023 12:23:59 -0500 Subject: [PATCH 307/383] Change tests to reflect Plugins>Scripts path --- src/test/java/org/scijava/script/ScriptFinderTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/java/org/scijava/script/ScriptFinderTest.java b/src/test/java/org/scijava/script/ScriptFinderTest.java index 8c51cc25e..e28869372 100644 --- a/src/test/java/org/scijava/script/ScriptFinderTest.java +++ b/src/test/java/org/scijava/script/ScriptFinderTest.java @@ -108,7 +108,7 @@ public void testFindScripts() { "Math > multiply", // "Math > pow", // "Scripts > quick", // - "Scripts > script in base dir", // + "Plugins > Scripts > script in base dir", // "Math > Trig > sin", // "Math > subtract", // "Math > Trig > tan", // @@ -178,7 +178,7 @@ public void testOverlappingDirectories() { "Math > multiply", // "Math > pow", // "Plugins > quick", // - "Scripts > script in base dir", // + "Plugins > Scripts > script in base dir", // "Math > Trig > sin", // "Math > subtract", // "Math > Trig > tan", // From 52c63c71a7260d6498abbb503d84bf57dff10ee0 Mon Sep 17 00:00:00 2001 From: hinerm Date: Tue, 23 May 2023 15:05:46 -0500 Subject: [PATCH 308/383] Bump to pom-scijava 35.1.0 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 38f9e2296..dee00fcfa 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.scijava pom-scijava - 35.0.0 + 35.1.0 From bea8f8c992e4dfc265d3a6bb6d2d2e44168e1a37 Mon Sep 17 00:00:00 2001 From: hinerm Date: Tue, 23 May 2023 15:09:22 -0500 Subject: [PATCH 309/383] Bump to next development cycle Signed-off-by: hinerm --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index dee00fcfa..29e3dcc48 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.94.1-SNAPSHOT + 2.94.2-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From bc500e1f754ea8b17d0058f65e8c0e2691c63c9c Mon Sep 17 00:00:00 2001 From: hinerm Date: Thu, 6 Jul 2023 09:59:16 -0500 Subject: [PATCH 310/383] Bump pom-scijava to 35.1.1 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 29e3dcc48..844441cec 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.scijava pom-scijava - 35.1.0 + 35.1.1 From de330f3a8c34c6643f8acd8c5cd62851c812880d Mon Sep 17 00:00:00 2001 From: hinerm Date: Thu, 6 Jul 2023 10:00:51 -0500 Subject: [PATCH 311/383] Bump to next development cycle Signed-off-by: hinerm --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 844441cec..9f587a995 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.94.2-SNAPSHOT + 2.94.3-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From a32977f3638cdfb6270ad5c225f231b31790dcf0 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 12 Jul 2023 12:58:43 -0500 Subject: [PATCH 312/383] Manage the active UI in a better way Thanks to the HeadlessUI, we now always have at least one UI available to SciJava Common. This commit introduces the concept internally of an *active* UI: the one that will be used when UI-centric operations are performed via the UIService (rather than directly on a UserInterface). The logic is as follows: * If an active UI already exists and is currently visible, use it again. * Otherwise, make the first visible UI the active one, and use it. * If none, make the default UI the active one, and use it. --- .../java/org/scijava/ui/DefaultUIService.java | 71 ++++++++----------- 1 file changed, 28 insertions(+), 43 deletions(-) diff --git a/src/main/java/org/scijava/ui/DefaultUIService.java b/src/main/java/org/scijava/ui/DefaultUIService.java index 60fc08693..cda97ec0b 100644 --- a/src/main/java/org/scijava/ui/DefaultUIService.java +++ b/src/main/java/org/scijava/ui/DefaultUIService.java @@ -117,6 +117,9 @@ public final class DefaultUIService extends AbstractService implements /** The default user interface to use, if one is not explicitly specified. */ private UserInterface defaultUI; + /** The last UI used when performing UI operations via the service. */ + private UserInterface activeUI; + /** * When true, {@link #isHeadless()} will return true regardless of the value * of the {@code java.awt.headless} system property. When false, {@link @@ -143,18 +146,12 @@ public void addUI(final String name, final UserInterface ui) { @Override public void showUI() { if (disposed) return; - final UserInterface ui = getDefaultUI(); - if (ui == null) { - throw new IllegalStateException("No UIs available. " + - "Please add a component containing a UIPlugin " + - "(e.g., scijava-ui-swing) to your class-path."); - } - showUI(ui); + showUI(activeUI()); } @Override public void showUI(final String name) { - final UserInterface ui = uiMap().get(name); + final UserInterface ui = getUI(name); if (ui == null) { throw new IllegalArgumentException("No such user interface: " + name); } @@ -174,14 +171,12 @@ public void showUI(final UserInterface ui) { @Override public boolean isVisible() { - final UserInterface ui = getDefaultUI(); - if (ui == null) return false; - return ui.isVisible(); + return activeUI().isVisible(); } @Override public boolean isVisible(final String name) { - final UserInterface ui = uiMap().get(name); + final UserInterface ui = getUI(name); return ui != null && ui.isVisible(); } @@ -200,7 +195,7 @@ public boolean isHeadless() { @Override public UserInterface getDefaultUI() { if (!initialized) discoverUIs(); - if (isHeadless()) return uiMap().get(HeadlessUI.NAME); + if (isHeadless()) return getUI(HeadlessUI.NAME); if (defaultUI != null) return defaultUI; return uiList().isEmpty() ? null : uiList().get(0); } @@ -244,17 +239,17 @@ public List>> getViewerPlugins() { @Override public void show(final Object o) { - getVisibleUI(true).show(o); + activeUI().show(o); } @Override public void show(final String name, final Object o) { - getVisibleUI(true).show(name, o); + activeUI().show(name, o); } @Override public void show(final Display display) { - getVisibleUI(true).show(display); + activeUI().show(display); } @Override @@ -309,44 +304,38 @@ public DialogPrompt.Result showDialog(final String message, final String title, final DialogPrompt.MessageType messageType, final DialogPrompt.OptionType optionType) { - UserInterface ui = getVisibleUI(false); - if (ui == null) return null; - final DialogPrompt dialogPrompt = ui.dialogPrompt(message, title, messageType, optionType); + final DialogPrompt dialogPrompt = // + activeUI().dialogPrompt(message, title, messageType, optionType); return dialogPrompt == null ? null : dialogPrompt.prompt(); } @Override public File chooseFile(final File file, final String style) { - final UserInterface ui = getVisibleUI(true); - return ui == null ? null : ui.chooseFile(file, style); + return activeUI().chooseFile(file, style); } @Override public File chooseFile(final String title, final File file, final String style) { - final UserInterface ui = getVisibleUI(true); - return ui == null ? null : ui.chooseFile(title, file, style); + return activeUI().chooseFile(title, file, style); } @Override public File[] chooseFiles(File parent, File[] files, FileFilter filter, String style) { - final UserInterface ui = getVisibleUI(true); - return ui == null ? null : ui.chooseFiles(parent, files, filter, style); + return activeUI().chooseFiles(parent, files, filter, style); } @Override public List chooseFiles(File parent, List fileList, FileFilter filter, String style) { - final UserInterface ui = getVisibleUI(true); - return ui == null ? null : ui.chooseFiles(parent, fileList, filter, style); + return activeUI().chooseFiles(parent, fileList, filter, style); } @Override public void showContextMenu(final String menuRoot, final Display display, final int x, final int y) { - final UserInterface ui = getVisibleUI(true); - if (ui != null) ui.showContextMenu(menuRoot, display, x, y); + activeUI().showContextMenu(menuRoot, display, x, y); } @Override @@ -542,20 +531,16 @@ private String getTitle() { return appService.getApp().getTitle(); } - private UserInterface getVisibleUI(final boolean forceShow) { - // finds the first (highest priority) VISIBLE UserInterface - // if none are visible, then we show default UI if the caller indicated so. - UserInterface defaultUI = getDefaultUI(); - if (defaultUI == null) return null; - if (defaultUI.isVisible()) return defaultUI; - else if(getVisibleUIs().size() > 0) { - return getVisibleUIs().get(0); - } + /** Gets the UI to use when performing UI operations via the service. */ + private UserInterface activeUI() { + // If a particular UI is already active and still visible, use that one. + if (activeUI != null && activeUI.isVisible()) return activeUI; - if (forceShow) { - showUI(defaultUI); - return defaultUI; - } - return null; + // If a UI is visible, use it. + final List visibleUIs = getVisibleUIs(); + if (visibleUIs.size() > 0) return activeUI = visibleUIs.get(0); + + // No UI is visible, so use the default one. + return activeUI = getDefaultUI(); } } From 0f3bf4449bbcb5bcce5ec5362e2d92bae39619b4 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 26 Jul 2023 19:23:14 -0500 Subject: [PATCH 313/383] ScriptREPL: generalize input and output streams The use of InputStream and OutputStream was natural, but those are heavy abstract classes, not lightweight interfaces. It is more flexible to allow specifying a Supplier from which to draw the REPL input, and/or a Consumer to receive the REPL output. This will be useful e.g. from Python via JPype, which allows to implement Java interfaces in Python backed by proxies. But you cannot proxy an abstract class like InputStream or OutputStream. Nonetheless, the ability to simply use InputStream/OutputStream like System.in+System.out is also nice, so we keep those method signatures as well. --- pom.xml | 2 +- .../java/org/scijava/script/ScriptREPL.java | 174 +++++++++++------- 2 files changed, 109 insertions(+), 67 deletions(-) diff --git a/pom.xml b/pom.xml index 9f587a995..12b513cab 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.94.3-SNAPSHOT + 2.95.0-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. diff --git a/src/main/java/org/scijava/script/ScriptREPL.java b/src/main/java/org/scijava/script/ScriptREPL.java index 8c4944766..1d1e875e2 100644 --- a/src/main/java/org/scijava/script/ScriptREPL.java +++ b/src/main/java/org/scijava/script/ScriptREPL.java @@ -30,6 +30,7 @@ package org.scijava.script; import java.io.BufferedReader; +import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; @@ -38,6 +39,8 @@ import java.lang.reflect.Constructor; import java.util.ArrayList; import java.util.List; +import java.util.function.Consumer; +import java.util.function.Supplier; import javax.script.Bindings; import javax.script.ScriptException; @@ -67,9 +70,9 @@ public class ScriptREPL { @Parameter(required = false) private PluginService pluginService; - private final PrintStream out; + private final Consumer out; - private String languagePreference = null; + private String languagePreference; /** List of interpreter-friendly script languages. */ private List languages; @@ -84,19 +87,26 @@ public ScriptREPL(final Context context) { this(context, System.out); } + public ScriptREPL(final Context context, final String language) { + this(context, language, System.out); + } + public ScriptREPL(final Context context, final OutputStream out) { - context.inject(this); - this.out = out instanceof PrintStream ? - (PrintStream) out : new PrintStream(out); + this(context, null, out); } - public ScriptREPL(final Context context, final String language) { - this(context, language, System.out); + public ScriptREPL(final Context context, final String language, + final OutputStream out) + { + this(context, language, outputStreamConsumer(out)); } - public ScriptREPL(final Context context, final String language, final OutputStream out) { - this(context, out); + public ScriptREPL(final Context context, final String language, + final Consumer out) + { + context.inject(this); languagePreference = language; + this.out = out; } /** @@ -132,11 +142,39 @@ public void loop() throws IOException { * @param in Input stream from which commands are read. */ public void loop(final InputStream in) throws IOException { - initialize(); final BufferedReader bin = new BufferedReader(new InputStreamReader(in)); + try { + loop(() -> { + try { + return bin.readLine(); + } + catch (final IOException exc) { + throw new RuntimeException(exc); + } + }); + } + catch (final RuntimeException exc) { + // NB: This convolution lets us throw IOException from inside a + // Supplier.get implementation, by wrapping in a RuntimeException. + // We then unwrap it again and throw it here, where we said we would. + final Throwable cause = exc.getCause(); + if (cause instanceof IOException) throw (IOException) cause; + else throw exc; + } + } + + /** + * Starts a Read-Eval-Print-Loop from the given source, returning when + * the loop terminates. + * + * @param in Source from which commands are read. + */ + public void loop(final Supplier in) { + initialize(); while (true) { prompt(); - final String line = bin.readLine(); + final Object input = in.get(); + final String line = input == null ? null : input.toString(); if (line == null) break; if (!evaluate(line)) return; } @@ -157,54 +195,40 @@ public void initialize() { */ public void initialize(final boolean verbose) { if (verbose) { - out.println("Welcome to the SciJava REPL!"); - out.println(); + println("Welcome to the SciJava REPL!"); + println(); help(); } final List langs = getInterpretedLanguages(); if (verbose) { if (langs.isEmpty()) { - out.println("--------------------------------------------------------------"); - out.println("Uh oh! There are no SciJava script languages available!"); - out.println("Are any on your classpath? E.g.: org.scijava:scripting-groovy?"); - out.println("--------------------------------------------------------------"); - out.println(); + println("--------------------------------------------------------------"); + println("Uh oh! There are no SciJava script languages available!"); + println("Are any on your classpath? E.g.: org.scijava:scripting-groovy?"); + println("--------------------------------------------------------------"); + println(); return; } - out.println("Have fun!"); - out.println(); - - if(languagePreference != null) { - selectPreferredLanguage(langs); - } else { - lang(langs.get(0).getLanguageName()); - } + println("Have fun!"); + println(); } - else if (!langs.isEmpty()) { - if(languagePreference != null) { - selectPreferredLanguage(langs); - } else { - lang(langs.get(0)); - } + if (!langs.isEmpty()) { + if (languagePreference != null) selectPreferredLanguage(langs); + else lang(langs.get(0)); } - populateBindings(interpreter.getBindings()); } private void selectPreferredLanguage(List langs) { - final ScriptLanguage preference = langs - .stream().filter(lang -> languagePreference.equals(lang.getLanguageName())) - .findAny().orElse(null); - if(preference != null) { - lang(preference); - } else { - lang(langs.get(0).getLanguageName()); - } + final ScriptLanguage preference = langs.stream() + .filter(lang -> languagePreference.equals(lang.getLanguageName())) + .findFirst().orElse(langs.get(0)); + lang(preference); } /** Outputs the prompt. */ public void prompt() { - out.print(interpreter == null || interpreter.isReady() ? "> " : "\\ "); + print(interpreter == null || interpreter.isReady() ? "> " : "\\ "); } /** @@ -230,22 +254,22 @@ public boolean evaluate(final String line) { // pass the input to the current interpreter for evaluation final Object result = interpreter.interpret(line); if (result != ScriptInterpreter.MORE_INPUT_PENDING) { - out.println(s(result)); + println(s(result)); } } } catch (final ScriptException exc) { // NB: Something went wrong interpreting the line of code. // Let's just display the error message, unless we are in debug mode. - if (debug) exc.printStackTrace(out); + if (debug) printStackTrace(exc); else { final String msg = exc.getMessage(); - out.println(msg == null ? exc.getClass().getName() : msg); + println(msg == null ? exc.getClass().getName() : msg); } } catch (final Throwable exc) { // NB: Something unusual went wrong. Dump the whole exception always. - exc.printStackTrace(out); + printStackTrace(exc); } return true; } @@ -254,17 +278,17 @@ public boolean evaluate(final String line) { /** Prints a usage guide. */ public void help() { - out.println("Available built-in commands:"); - out.println(); - out.println(" :help | this handy list of commands"); - out.println(" :vars | dump a list of variables"); - out.println(" :lang | switch the active language"); - out.println(" :langs | list available languages"); - out.println(" :debug | toggle full stack traces"); - out.println(" :quit | exit the REPL"); - out.println(); - out.println("Or type a statement to evaluate it with the active language."); - out.println(); + println("Available built-in commands:"); + println(); + println(" :help | this handy list of commands"); + println(" :vars | dump a list of variables"); + println(" :lang | switch the active language"); + println(" :langs | list available languages"); + println(" :debug | toggle full stack traces"); + println(" :quit | exit the REPL"); + println(); + println("Or type a statement to evaluate it with the active language."); + println(); } /** Lists variables in the script context. */ @@ -294,11 +318,11 @@ public void lang(final String langName) { // create the new interpreter final ScriptLanguage language = scriptService.getLanguageByName(langName); if (language == null) { - out.println("No such language: " + langName); + println("No such language: " + langName); return; } lang(language); - out.println("language -> " + interpreter.getLanguage().getLanguageName()); + println("language -> " + interpreter.getLanguage().getLanguageName()); } /** @@ -316,7 +340,7 @@ public void lang(final ScriptLanguage language) { copyBindings(interpreter, newInterpreter); } catch (final Throwable t) { - t.printStackTrace(out); + printStackTrace(t); } interpreter = newInterpreter; } @@ -335,7 +359,7 @@ public void langs() { public void debug() { debug = !debug; - out.println("debug mode -> " + debug); + println("debug mode -> " + debug); } // -- Main method -- @@ -417,7 +441,7 @@ private List gateways() { gateways.add(gateway); } catch (final Throwable t) { - t.printStackTrace(out); + printStackTrace(t); } } return gateways; @@ -442,6 +466,17 @@ private String type(final Object value) { return "[" + decoded.getClass().getName() + "]"; } + private static final String NL = System.getProperty("line.separator"); + private void print(String s) { out.accept(s); } + private void println() { print(NL); } + private void println(final String s) { print(s + NL); } + + private void printStackTrace(final Throwable t) { + final ByteArrayOutputStream baos = new ByteArrayOutputStream(); + t.printStackTrace(new PrintStream(baos)); + println(baos.toString()); + } + private void printColumns(final List... columns) { final int pad = 2; @@ -456,18 +491,26 @@ private void printColumns(final List... columns) { } // output the columns + final StringBuilder sb = new StringBuilder(); for (int i = 0; i < columns[0].size(); i++) { + sb.setLength(0); for (int c = 0; c < columns.length; c++) { final String s = s(columns[c].get(i)); - out.print(s); + sb.append(s); for (int p = s.length(); p < widths[c] + pad; p++) { - out.print(' '); + sb.append(' '); } } - out.println(); + println(sb.toString()); } } + private static Consumer outputStreamConsumer(final OutputStream out) { + final PrintStream ps = out instanceof PrintStream ? + (PrintStream) out : new PrintStream(out); + return s -> { ps.print(s); ps.flush(); }; + } + private static String lowerCamelCase(final String s) { final StringBuilder sb = new StringBuilder(s); for (int i=0; i Date: Wed, 26 Jul 2023 21:32:46 -0500 Subject: [PATCH 314/383] ScriptREPL: do not trail spaces after last column --- src/main/java/org/scijava/script/ScriptREPL.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/scijava/script/ScriptREPL.java b/src/main/java/org/scijava/script/ScriptREPL.java index 1d1e875e2..d09dc7eab 100644 --- a/src/main/java/org/scijava/script/ScriptREPL.java +++ b/src/main/java/org/scijava/script/ScriptREPL.java @@ -497,8 +497,10 @@ private void printColumns(final List... columns) { for (int c = 0; c < columns.length; c++) { final String s = s(columns[c].get(i)); sb.append(s); - for (int p = s.length(); p < widths[c] + pad; p++) { - sb.append(' '); + if (c < columns.length - 1) { + for (int p = s.length(); p < widths[c] + pad; p++) { + sb.append(' '); + } } } println(sb.toString()); From dacd7b19e1b9d5157a1a09f8c7f48ff2a9576d3e Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Thu, 20 Jul 2023 13:30:43 -0700 Subject: [PATCH 315/383] DefaultModuleService: make LogService optional --- .../scijava/module/DefaultModuleService.java | 28 +++++++++++-------- 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/src/main/java/org/scijava/module/DefaultModuleService.java b/src/main/java/org/scijava/module/DefaultModuleService.java index 12b2c19b4..e2c03c0cc 100644 --- a/src/main/java/org/scijava/module/DefaultModuleService.java +++ b/src/main/java/org/scijava/module/DefaultModuleService.java @@ -74,7 +74,7 @@ public class DefaultModuleService extends AbstractService implements ModuleService { - @Parameter + @Parameter(required = false) private LogService log; @Parameter @@ -170,7 +170,7 @@ public Module createModule(final ModuleInfo info) { return module; } catch (final ModuleException exc) { - log.error("Cannot create module: " + info.getDelegateClassName(), exc); + if (log != null) log.error("Cannot create module: " + info.getDelegateClassName(), exc); } return null; } @@ -251,10 +251,10 @@ public M waitFor(final Future future) { return future.get(); } catch (final InterruptedException e) { - log.error("Module execution interrupted", e); + if (log != null) log.error("Module execution interrupted", e); } catch (final ExecutionException e) { - log.error("Error during module execution", e); + if (log != null) log.error("Error during module execution", e); } return null; } @@ -392,8 +392,10 @@ private Module getRegisteredModuleInstance(final ModuleInfo info) { } if (objects.size() > 1) { // there are multiple instances; it's not clear which one to use - log.warn("Ignoring multiple candidate module instances for class: " + - type.getName()); + if (log != null) { + log.warn("Ignoring multiple candidate module instances for class: " + + type.getName()); + } return null; } // found exactly one instance; return it! @@ -416,7 +418,7 @@ private Map createMap(final Object[] values) { final Map valueMap = (Map) values[0]; for (final Object key : valueMap.keySet()) { if (!(key instanceof String)) { - log.error("Invalid input name: " + key); + if (log != null) log.error("Invalid input name: " + key); continue; } final String name = (String) key; @@ -427,7 +429,7 @@ private Map createMap(final Object[] values) { } if (values.length % 2 != 0) { - log.error("Ignoring extraneous argument: " + values[values.length - 1]); + if (log != null) log.error("Ignoring extraneous argument: " + values[values.length - 1]); } // loop over list of key/value pairs @@ -436,7 +438,7 @@ private Map createMap(final Object[] values) { final Object key = values[2 * i]; final Object value = values[2 * i + 1]; if (!(key instanceof String)) { - log.error("Invalid input name: " + key); + if (log != null) log.error("Invalid input name: " + key); continue; } final String name = (String) key; @@ -459,7 +461,7 @@ private void assignInputs(final Module module, if (input == null) { // inputs whose name starts with a dot are implicitly known by convention if (!name.startsWith(".")) { - log.warn("Unmatched input: " + name); + if (log != null) log.warn("Unmatched input: " + name); } converted = value; } @@ -467,8 +469,10 @@ private void assignInputs(final Module module, final Class type = input.getType(); converted = convertService.convert(value, type); if (value != null && converted == null) { - log.error("For input " + name + ": incompatible object " + - value.getClass().getName() + " for type " + type.getName()); + if (log != null) { + log.error("For input " + name + ": incompatible object " + + value.getClass().getName() + " for type " + type.getName()); + } continue; } } From f7b78a880106c8c3e4ece310d066882fdebd417f Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Thu, 27 Jul 2023 08:18:27 -0500 Subject: [PATCH 316/383] TaskEventTest: reduce wait time overhead We can terminate as soon as all tasks finish, before 5s elapses. --- src/test/java/org/scijava/task/TaskEventTest.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/test/java/org/scijava/task/TaskEventTest.java b/src/test/java/org/scijava/task/TaskEventTest.java index 9360fc6ad..6e83d81be 100644 --- a/src/test/java/org/scijava/task/TaskEventTest.java +++ b/src/test/java/org/scijava/task/TaskEventTest.java @@ -72,7 +72,13 @@ public void testManyTasks() throws InterruptedException { for (int i=0;i Date: Thu, 27 Jul 2023 08:41:11 -0500 Subject: [PATCH 317/383] ModuleErroredEventTest: do not dump stack trace It's confusing to see the "Yay!" stack trace in the test output. We can consume the event to prevent it from being emitted, while still testing that the exception is reported via the EventService. --- .../java/org/scijava/module/event/ModuleErroredEventTest.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/test/java/org/scijava/module/event/ModuleErroredEventTest.java b/src/test/java/org/scijava/module/event/ModuleErroredEventTest.java index 340d6e73d..fa5eabe19 100644 --- a/src/test/java/org/scijava/module/event/ModuleErroredEventTest.java +++ b/src/test/java/org/scijava/module/event/ModuleErroredEventTest.java @@ -75,6 +75,7 @@ public void testModuleErroredEvent() { @EventHandler void onEvent(final ModuleErroredEvent e) { caughtException[0] = e.getException(); + e.consume(); // Prevent exception from being emitted to stderr. } }; es.subscribe(interestedParty); From 1d685ab9874a01b856acb1ada88e2f3347979833 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Thu, 3 Aug 2023 10:36:14 -0500 Subject: [PATCH 318/383] POM: update parent to pom-scijava 36.0.0 And pin maven-surefire-plugin to the newest working version for now. --- pom.xml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 12b513cab..135a39b49 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.scijava pom-scijava - 35.1.1 + 36.0.0 @@ -168,6 +168,9 @@ SciJava Common shared library for SciJava software. SciJava developers. **/bushe/** + + + 2.22.2 From f55a5a87a4797ed785b91839eb95d94cccbe0a0d Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Thu, 3 Aug 2023 10:41:50 -0500 Subject: [PATCH 319/383] Bump to next development cycle Signed-off-by: Curtis Rueden --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 135a39b49..8f91c21b1 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.95.0-SNAPSHOT + 2.95.1-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From b3b432672d7594a74ac6138ab5e137a5e96eb787 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Fri, 4 Aug 2023 11:39:49 -0500 Subject: [PATCH 320/383] Fix generics of ReadBufferDataHandle Otherwise, you cannot instantiate it in a type-safe way. --- .../java/org/scijava/io/handle/ReadBufferDataHandle.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java b/src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java index ffbf10f41..d93f2d6b3 100644 --- a/src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java +++ b/src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java @@ -44,7 +44,7 @@ * Read-only buffered {@link DataHandle}. It buffers the underlying handle into * a fixed number of pages, swapping them out when necessary. */ -public class ReadBufferDataHandle extends AbstractHigherOrderHandle { +public class ReadBufferDataHandle extends AbstractHigherOrderHandle { private static final int DEFAULT_PAGE_SIZE = 10_000; private static final int DEFAULT_NUM_PAGES = 10; @@ -67,7 +67,7 @@ public class ReadBufferDataHandle extends AbstractHigherOrderHandle { * @param handle * the handle to wrap */ - public ReadBufferDataHandle(final DataHandle handle) { + public ReadBufferDataHandle(final DataHandle handle) { this(handle, DEFAULT_PAGE_SIZE); } @@ -80,7 +80,7 @@ public ReadBufferDataHandle(final DataHandle handle) { * @param pageSize * the size of the used pages */ - public ReadBufferDataHandle(final DataHandle handle, final int pageSize) { + public ReadBufferDataHandle(final DataHandle handle, final int pageSize) { this(handle, pageSize, DEFAULT_NUM_PAGES); } @@ -94,7 +94,7 @@ public ReadBufferDataHandle(final DataHandle handle, final int pageSiz * @param numPages * the number of pages to use */ - public ReadBufferDataHandle(final DataHandle handle, final int pageSize, final int numPages) { + public ReadBufferDataHandle(final DataHandle handle, final int pageSize, final int numPages) { super(handle); this.pageSize = pageSize; From 9e6a5aa8f21f0275ff8dc6948d30271990f7730f Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Fri, 4 Aug 2023 11:54:32 -0500 Subject: [PATCH 321/383] ReadBufferDataHandle: cache length for performance Closes #467. --- .../org/scijava/io/handle/ReadBufferDataHandle.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java b/src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java index d93f2d6b3..d05f6507d 100644 --- a/src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java +++ b/src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java @@ -55,6 +55,12 @@ public class ReadBufferDataHandle extends AbstractHigherOrde private final LRUReplacementStrategy replacementStrategy; private final Map pageToSlot; + /** + * Cached length value, for performance. When reading data, length is not + * expected to change, but querying it (e.g. via native filesystem access) + * can be slow, and we need to query the length frequently. + */ + private long length = -1; private long offset = 0l; private byte[] currentPage; private int currentPageID = -1; @@ -190,6 +196,12 @@ public void seek(final long pos) throws IOException { this.offset = pos; } + @Override + public long length() throws IOException { + if (length < 0) length = super.length(); + return length; + } + @Override public int read(final byte[] b, final int targetOffset, final int len) throws IOException From 72bffe0da55435dcf524b485399b3ca0e7600cce Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Fri, 4 Aug 2023 12:41:36 -0500 Subject: [PATCH 322/383] Bump to next development cycle Signed-off-by: Curtis Rueden --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 8f91c21b1..0dc48eff8 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.95.1-SNAPSHOT + 2.95.2-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From 0f0cc605dc93ca99b934089df4d8ced68798d380 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Sun, 6 Aug 2023 15:53:34 -0500 Subject: [PATCH 323/383] Add constructors taking wrapped location directly --- pom.xml | 2 +- src/main/java/org/scijava/io/handle/BytesHandle.java | 8 ++++++++ src/main/java/org/scijava/io/handle/DummyHandle.java | 8 ++++++++ src/main/java/org/scijava/io/handle/FileHandle.java | 8 ++++++++ 4 files changed, 25 insertions(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 0dc48eff8..c721e7c83 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.95.2-SNAPSHOT + 2.96.0-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. diff --git a/src/main/java/org/scijava/io/handle/BytesHandle.java b/src/main/java/org/scijava/io/handle/BytesHandle.java index 4ab42965f..971ecd56d 100644 --- a/src/main/java/org/scijava/io/handle/BytesHandle.java +++ b/src/main/java/org/scijava/io/handle/BytesHandle.java @@ -48,6 +48,14 @@ public class BytesHandle extends AbstractDataHandle { private long offset = 0; + // -- Constructors -- + + public BytesHandle() { } + + public BytesHandle(final BytesLocation location) { + set(location); + } + // -- DataHandle methods -- @Override diff --git a/src/main/java/org/scijava/io/handle/DummyHandle.java b/src/main/java/org/scijava/io/handle/DummyHandle.java index ed53272ea..35116cf47 100644 --- a/src/main/java/org/scijava/io/handle/DummyHandle.java +++ b/src/main/java/org/scijava/io/handle/DummyHandle.java @@ -48,6 +48,14 @@ public class DummyHandle extends AbstractDataHandle { private long offset; private long length; + // -- Constructors -- + + public DummyHandle() { } + + public DummyHandle(final DummyLocation location) { + set(location); + } + // -- DataHandle methods -- @Override diff --git a/src/main/java/org/scijava/io/handle/FileHandle.java b/src/main/java/org/scijava/io/handle/FileHandle.java index 029447600..54580b71b 100644 --- a/src/main/java/org/scijava/io/handle/FileHandle.java +++ b/src/main/java/org/scijava/io/handle/FileHandle.java @@ -58,6 +58,14 @@ public class FileHandle extends AbstractDataHandle { /** True iff the {@link #close()} has already been called. */ private boolean closed; + // -- Constructors -- + + public FileHandle() { } + + public FileHandle(final FileLocation location) { + set(location); + } + // -- FileHandle methods -- /** From 9abafb2d50ec2df75edd90811ead26e47b25f0fa Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Sun, 6 Aug 2023 15:55:33 -0500 Subject: [PATCH 324/383] Bump to next development cycle Signed-off-by: Curtis Rueden --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index c721e7c83..713caeef4 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.96.0-SNAPSHOT + 2.96.1-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From 61e98d7cdc820cf85f8957f11b93ebb1dc2115d8 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 11 Oct 2023 14:36:58 +0200 Subject: [PATCH 325/383] Support enum parameters with custom labels With this change, an enum class can implement toString() to control how it is presented in the user interface. --- pom.xml | 2 +- .../org/scijava/convert/DefaultConverter.java | 2 +- src/main/java/org/scijava/util/Types.java | 60 ++++++++++++++++++- src/test/java/org/scijava/util/TypesTest.java | 47 ++++++++++++++- 4 files changed, 105 insertions(+), 6 deletions(-) diff --git a/pom.xml b/pom.xml index 713caeef4..924d8e4af 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.96.1-SNAPSHOT + 2.97.0-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. diff --git a/src/main/java/org/scijava/convert/DefaultConverter.java b/src/main/java/org/scijava/convert/DefaultConverter.java index 00d4e1a50..975c88f82 100644 --- a/src/main/java/org/scijava/convert/DefaultConverter.java +++ b/src/main/java/org/scijava/convert/DefaultConverter.java @@ -135,7 +135,7 @@ public Object convert(final Object src, final Type dest) { // special case for conversion to enum if (saneDest.isEnum()) { try { - return Types.enumValue(s, saneDest); + return Types.enumFromString(s, saneDest); } catch (final IllegalArgumentException exc) { // NB: No action needed. diff --git a/src/main/java/org/scijava/util/Types.java b/src/main/java/org/scijava/util/Types.java index 12f46115c..8a4369a05 100644 --- a/src/main/java/org/scijava/util/Types.java +++ b/src/main/java/org/scijava/util/Types.java @@ -780,8 +780,10 @@ public static T cast(final Object src, final Class dest) { } /** - * Converts the given string value to an enumeration constant of the specified - * type. + * Converts the given string value to an enumeration constant of the + * specified type. For example, {@code enumValue("APPLE", Fruit.class)} + * returns {@code Fruit.APPLE} if such a value is among those of the + * requested enum class. * * @param name The value to convert. * @param dest The type of the enumeration constant. @@ -798,6 +800,60 @@ public static T enumValue(final String name, final Class dest) { return typedResult; } + /** + * Converts the given string label to an enumeration constant of the + * specified type. An enum label is the string returned by the enum constant's + * {@link Object#toString()} method. For example, + * {@code enumFromLabel("Apple", Fruit.class)} returns {@code Fruit.APPLE} if + * {@code Fruit.APPLE.toString()} is implemented to return {@code "Apple"}. + * + * @param label The {@code toString()} result of the desired enum value. + * @param dest The type of the enumeration constant. + * @return The matching enumeration constant. + * @throws IllegalArgumentException if the type is not an enumeration type, or + * has no constant with the given label. + */ + public static T enumFromLabel(final String label, final Class dest) { + final T[] values = dest.getEnumConstants(); + if (values == null) throw iae("Not an enum type: " + name(dest)); + for (T value : values) { + if (Objects.equals(label, value.toString())) return value; + } + throw iae("Enum class " + dest.getName() + " has no such label: " + label); + } + + /** + * Converts the given string value or label to an enumeration constant of the + * specified type. + *

      + * If the string matches one of the enum values directly, that value will be + * returned via {@link #enumValue(String, Class)}. Otherwise, the result of + * {@link #enumFromLabel} is returned. + *

      + * + * @param s The name or label of the desired enum value. + * @param dest The type of the enumeration constant. + * @return The matching enumeration constant. + * @throws IllegalArgumentException if the type is not an enumeration type, + * or has no such constant with the given name nor label. + */ + public static T enumFromString(final String s, final Class dest) { + if (!dest.isEnum()) throw iae("Not an enum type: " + name(dest)); + try { + return enumValue(s, dest); + } + catch (final IllegalArgumentException exc) { + // NB: No action needed. + } + try { + return enumFromLabel(s, dest); + } + catch (final IllegalArgumentException exc) { + // NB: No action needed. + } + throw iae("Enum class " + dest.getName() + " has no such value nor label: " + s); + } + /** * Creates a new {@link ParameterizedType} of the given class together with * the specified type arguments. diff --git a/src/test/java/org/scijava/util/TypesTest.java b/src/test/java/org/scijava/util/TypesTest.java index 4edebf7ff..24c6b5657 100644 --- a/src/test/java/org/scijava/util/TypesTest.java +++ b/src/test/java/org/scijava/util/TypesTest.java @@ -593,7 +593,7 @@ public void testEnumValue() { /** Tests {@link Types#enumValue(String, Class)} for invalid value. */ @Test(expected = IllegalArgumentException.class) public void testEnumValueNoConstant() { - Types.enumValue("NONE", Words.class); + Types.enumValue("OMG", Words.class); } /** Tests {@link Types#enumValue(String, Class)} for non-enum class. */ @@ -602,6 +602,38 @@ public void testEnumValueNonEnum() { Types.enumValue("HOOYAH", String.class); } + /** Tests {@link Types#enumFromLabel(String, Class)}. */ + @Test + public void testEnumFromLabel() { + final Words foo = Types.enumFromLabel("Foo", Words.class); + assertSame(Words.FOO, foo); + final Words bar = Types.enumFromLabel("Bar", Words.class); + assertSame(Words.BAR, bar); + final Words fubar = Types.enumFromLabel("OMG", Words.class); + assertSame(Words.FUBAR, fubar); + } + + /** Tests {@link Types#enumFromString(String, Class)}. */ + @Test + public void testEnumFromString() { + { + final Words foo = Types.enumFromString("FOO", Words.class); + assertSame(Words.FOO, foo); + final Words bar = Types.enumFromString("BAR", Words.class); + assertSame(Words.BAR, bar); + final Words fubar = Types.enumFromString("FUBAR", Words.class); + assertSame(Words.FUBAR, fubar); + } + { + final Words foo = Types.enumFromString("Foo", Words.class); + assertSame(Words.FOO, foo); + final Words bar = Types.enumFromString("Bar", Words.class); + assertSame(Words.BAR, bar); + final Words fubar = Types.enumFromString("OMG", Words.class); + assertSame(Words.FUBAR, fubar); + } + } + /** Tests {@link Types#parameterize(Class, Map)}. */ @Test public void testParameterizeMap() { @@ -644,7 +676,18 @@ private static class ComplexThing extends /** Enumeration for testing conversion to enum types. */ public static enum Words { - FOO, BAR, FUBAR + FOO("Foo"), BAR("Bar"), FUBAR("OMG"); + + private final String label; + + private Words(final String label) { + this.label = label; + } + + @Override + public String toString() { + return label; + } } private interface TestTypes { From f892d3db98e4256d9f5e02a16aea4c88f917b3a7 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 11 Oct 2023 16:07:39 +0200 Subject: [PATCH 326/383] Change 0xcafebabe to 0xc0ffee in tests --- .../java/org/scijava/options/OptionsTest.java | 8 ++-- .../org/scijava/util/DigestUtilsTest.java | 46 +++++++++---------- 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/src/test/java/org/scijava/options/OptionsTest.java b/src/test/java/org/scijava/options/OptionsTest.java index eb144eebc..e49c70abb 100644 --- a/src/test/java/org/scijava/options/OptionsTest.java +++ b/src/test/java/org/scijava/options/OptionsTest.java @@ -94,14 +94,14 @@ public void testPersistence() { assertEquals(0, fooOptions.getBar()); // verify that we can set bar to a desired value at all - fooOptions.setBar(0xcafebabe); - assertEquals(0xcafebabe, fooOptions.getBar()); + fooOptions.setBar(0xc0ffee); + assertEquals(0xc0ffee, fooOptions.getBar()); // verify that save and load work as expected in the same context fooOptions.save(); fooOptions.setBar(0xdeadbeef); fooOptions.load(); - assertEquals(0xcafebabe, fooOptions.getBar()); + assertEquals(0xc0ffee, fooOptions.getBar()); // throw away the 1st context optionsService.getContext().dispose(); @@ -112,7 +112,7 @@ public void testPersistence() { final FooOptions fooOptions = optionsService.getOptions(FooOptions.class); // verify that persisted values are loaded correctly in a new context - assertEquals(0xcafebabe, fooOptions.getBar()); + assertEquals(0xc0ffee, fooOptions.getBar()); // clean up for next time fooOptions.reset(); // FIXME: If this test fails, reset will not happen! diff --git a/src/test/java/org/scijava/util/DigestUtilsTest.java b/src/test/java/org/scijava/util/DigestUtilsTest.java index 8f145181a..4c42955d4 100644 --- a/src/test/java/org/scijava/util/DigestUtilsTest.java +++ b/src/test/java/org/scijava/util/DigestUtilsTest.java @@ -41,11 +41,11 @@ */ public class DigestUtilsTest { - private static final byte[] CAFEBABE_SHA1 = { 20, 101, -38, -47, 38, -45, 43, - -9, -86, 93, 59, -107, -91, -57, -61, 49, -51, -1, 52, -33 }; + private static final byte[] COFFEE_SHA1 = { -71, 2, 27, -126, -23, -70, -89, + 35, -65, -15, -108, 66, 72, 113, 29, -32, -12, -42, -49, 6 }; - private static final byte[] CAFEBABE_MD5 = { 45, 27, -67, -30, -84, -84, 10, - -3, 7, 100, 109, -104, 21, 79, 64, 46 }; + private static final byte[] COFFEE_MD5 = { -39, -98, 9, -40, -39, 44, 31, + -62, 23, 9, 38, 101, 85, -57, 121, -110 }; private static final byte[] HELLO_WORLD_SHA1 = { 123, 80, 44, 58, 31, 72, -56, 96, -102, -30, 18, -51, -5, 99, -99, -18, 57, 103, 63, 94 }; @@ -53,14 +53,14 @@ public class DigestUtilsTest { private static final String HELLO_WORLD_SHA1_HEX = "7b502c3a1f48c8609ae212cdfb639dee39673f5e"; - private static final String CAFEBABE_SHA1_HEX = - "1465dad126d32bf7aa5d3b95a5c7c331cdff34df"; + private static final String COFFEE_SHA1_HEX = + "b9021b82e9baa723bff1944248711de0f4d6cf06"; private static final String HELLO_WORLD_SHA1_BASE64 = "e1AsOh9IyGCa4hLN+2Od7jlnP14="; - private static final String CAFEBABE_SHA1_BASE64 = - "FGXa0SbTK/eqXTuVpcfDMc3/NN8="; + private static final String COFFEE_SHA1_BASE64 = + "uQIbgum6pyO/8ZRCSHEd4PTWzwY="; /** Tests {@link DigestUtils#bytes(String)}. */ @Test @@ -75,15 +75,15 @@ public void testBytesString() { /** Tests {@link DigestUtils#bytes(int)}. */ @Test public void testBytesInt() { - final byte[] bytes = DigestUtils.bytes(0xcafebabe); - final byte[] expected = { -54, -2, -70, -66 }; + final byte[] bytes = DigestUtils.bytes(0xc0ffee); + final byte[] expected = { 0, -64, -1, -18 }; assertArrayEquals(expected, bytes); } /** Tests {@link DigestUtils#hex(byte[])}. */ @Test public void testHex() { - assertEquals("cafebabe", DigestUtils.hex(DigestUtils.bytes(0xcafebabe))); + assertEquals("00c0ffee", DigestUtils.hex(DigestUtils.bytes(0xc0ffee))); assertEquals("deadbeef", DigestUtils.hex(DigestUtils.bytes(0xdeadbeef))); assertEquals("00000000", DigestUtils.hex(DigestUtils.bytes(0x00000000))); assertEquals("ffffffff", DigestUtils.hex(DigestUtils.bytes(0xffffffff))); @@ -92,7 +92,7 @@ public void testHex() { /** Tests {@link DigestUtils#base64(byte[])}. */ @Test public void testBase64() { - assertEquals("yv66vg==", DigestUtils.base64(DigestUtils.bytes(0xcafebabe))); + assertEquals("AMD/7g==", DigestUtils.base64(DigestUtils.bytes(0xc0ffee))); assertEquals("3q2+7w==", DigestUtils.base64(DigestUtils.bytes(0xdeadbeef))); assertEquals("AAAAAA==", DigestUtils.base64(DigestUtils.bytes(0x00000000))); assertEquals("/////w==", DigestUtils.base64(DigestUtils.bytes(0xffffffff))); @@ -118,23 +118,23 @@ public void testHashBytes() { /** Tests {@link DigestUtils#sha1(byte[])}. */ @Test public void testSHA1() { - final byte[] bytes = DigestUtils.bytes(0xcafebabe); + final byte[] bytes = DigestUtils.bytes(0xc0ffee); final byte[] sha1 = DigestUtils.sha1(bytes); - assertArrayEquals(CAFEBABE_SHA1, sha1); + assertArrayEquals(COFFEE_SHA1, sha1); } /** Tests {@link DigestUtils#md5(byte[])}. */ @Test public void testMD5() { - final byte[] bytes = DigestUtils.bytes(0xcafebabe); + final byte[] bytes = DigestUtils.bytes(0xc0ffee); final byte[] md5 = DigestUtils.md5(bytes); - assertArrayEquals(CAFEBABE_MD5, md5); + assertArrayEquals(COFFEE_MD5, md5); } /** Tests {@link DigestUtils#digest(String, byte[])}. */ @Test public void testDigest() { - final byte[] bytes = DigestUtils.bytes(0xcafebabe); + final byte[] bytes = DigestUtils.bytes(0xc0ffee); final byte[] sha1 = DigestUtils.digest("SHA-1", bytes); final byte[] expectedSHA1 = DigestUtils.sha1(bytes); @@ -155,9 +155,9 @@ public void testBestString() { /** Tests {@link DigestUtils#best(byte[])}. */ @Test public void testBestBytes() { - final byte[] bytes = DigestUtils.bytes(0xcafebabe); + final byte[] bytes = DigestUtils.bytes(0xc0ffee); final byte[] best = DigestUtils.best(bytes); - assertArrayEquals(CAFEBABE_SHA1, best); + assertArrayEquals(COFFEE_SHA1, best); } /** Tests {@link DigestUtils#bestHex(String)}. */ @@ -169,8 +169,8 @@ public void testBestHexString() { /** Tests {@link DigestUtils#hex(byte[])}. */ @Test public void testBestHexBytes() { - final byte[] bytes = DigestUtils.bytes(0xcafebabe); - assertEquals(CAFEBABE_SHA1_HEX, DigestUtils.bestHex(bytes)); + final byte[] bytes = DigestUtils.bytes(0xc0ffee); + assertEquals(COFFEE_SHA1_HEX, DigestUtils.bestHex(bytes)); } /** Tests {@link DigestUtils#bestBase64(String)}. */ @@ -182,8 +182,8 @@ public void testBestBase64String() { /** Tests {@link DigestUtils#bestBase64(byte[])}. */ @Test public void testBestBase64Bytes() { - final byte[] bytes = DigestUtils.bytes(0xcafebabe); - assertEquals(CAFEBABE_SHA1_BASE64, DigestUtils.bestBase64(bytes)); + final byte[] bytes = DigestUtils.bytes(0xc0ffee); + assertEquals(COFFEE_SHA1_BASE64, DigestUtils.bestBase64(bytes)); } } From 7bdb3c78a04c6bce6f779a3185fdb8f63f6921e4 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 11 Oct 2023 16:10:44 +0200 Subject: [PATCH 327/383] CI: combine dual workflows into one --- .github/workflows/build-pr.yml | 23 ------------------- .../workflows/{build-main.yml => build.yml} | 3 +++ README.md | 2 +- 3 files changed, 4 insertions(+), 24 deletions(-) delete mode 100644 .github/workflows/build-pr.yml rename .github/workflows/{build-main.yml => build.yml} (94%) diff --git a/.github/workflows/build-pr.yml b/.github/workflows/build-pr.yml deleted file mode 100644 index 925b57658..000000000 --- a/.github/workflows/build-pr.yml +++ /dev/null @@ -1,23 +0,0 @@ -name: build PR - -on: - pull_request: - branches: - - master - -jobs: - build: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v2 - - name: Set up Java - uses: actions/setup-java@v3 - with: - java-version: '8' - distribution: 'zulu' - cache: 'maven' - - name: Set up CI environment - run: .github/setup.sh - - name: Execute the build - run: .github/build.sh diff --git a/.github/workflows/build-main.yml b/.github/workflows/build.yml similarity index 94% rename from .github/workflows/build-main.yml rename to .github/workflows/build.yml index 5ef569202..2fa1522d3 100644 --- a/.github/workflows/build-main.yml +++ b/.github/workflows/build.yml @@ -1,6 +1,9 @@ name: build on: + pull_request: + branches: + - master push: branches: - master diff --git a/README.md b/README.md index 6a69bf198..ba1f15173 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ [![](https://img.shields.io/maven-central/v/org.scijava/scijava-common.svg)](https://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.scijava%22%20AND%20a%3A%22scijava-common%22) -[![](https://github.com/scijava/scijava-common/actions/workflows/build-main.yml/badge.svg)](https://github.com/scijava/scijava-common/actions/workflows/build-main.yml) +[![](https://github.com/scijava/scijava-common/actions/workflows/build.yml/badge.svg)](https://github.com/scijava/scijava-common/actions/workflows/build.yml) [![developer chat](https://img.shields.io/badge/zulip-join_chat-brightgreen.svg)](https://imagesc.zulipchat.com/#narrow/stream/327237-SciJava) SciJava Common is a common library for SciJava software. It provides a From fa5133b8e30a744e3b5d5922ac5ec10a8b02ff03 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 11 Oct 2023 16:12:46 +0200 Subject: [PATCH 328/383] CI: test the build on Windows and macOS, too --- .github/workflows/build.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2fa1522d3..118e6ac74 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -12,7 +12,11 @@ on: jobs: build: - runs-on: ubuntu-latest + name: build-${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest, windows-latest, macos-latest] steps: - uses: actions/checkout@v2 From 49f495000dd8242e43812401b708b5e87a858172 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Fri, 20 Jan 2017 12:53:57 -0600 Subject: [PATCH 329/383] DefaultWidgetModel: guard against null conversions When the conversion fails, it returns null. In that case, we should treat the converted value as identical to the original value. --- src/main/java/org/scijava/widget/DefaultWidgetModel.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/org/scijava/widget/DefaultWidgetModel.java b/src/main/java/org/scijava/widget/DefaultWidgetModel.java index ea878b162..daa6b8ee6 100644 --- a/src/main/java/org/scijava/widget/DefaultWidgetModel.java +++ b/src/main/java/org/scijava/widget/DefaultWidgetModel.java @@ -156,6 +156,7 @@ public void setValue(final Object value) { // Pass the value through the convertService convertedInput = convertService.convert(value, item.getType()); + if (convertedInput == null) convertedInput = value; // If we get a different (converted) value back, cache it weakly. if (convertedInput != value) { From 8794f7adf2b33caf70b7d251e2a5f99588f0d37e Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Fri, 20 Jan 2017 12:55:23 -0600 Subject: [PATCH 330/383] WidgetModel: deprecate getChoices & move to iface The getChoices() method always converts the choices to strings. We cannot always go back from string to original object -- e.g., for enums which override toString() to print something nice. Better to just use the original choices from getItem().getChoices(). This also makes the getChoices method more concise. --- .../org/scijava/widget/DefaultWidgetModel.java | 11 ----------- src/main/java/org/scijava/widget/WidgetModel.java | 14 +++++++------- 2 files changed, 7 insertions(+), 18 deletions(-) diff --git a/src/main/java/org/scijava/widget/DefaultWidgetModel.java b/src/main/java/org/scijava/widget/DefaultWidgetModel.java index daa6b8ee6..e8c84ac50 100644 --- a/src/main/java/org/scijava/widget/DefaultWidgetModel.java +++ b/src/main/java/org/scijava/widget/DefaultWidgetModel.java @@ -219,17 +219,6 @@ public Number getStepSize() { return NumberUtils.toNumber("1", item.getType()); } - @Override - public String[] getChoices() { - final List choicesList = item.getChoices(); - if (choicesList == null) return null; - final String[] choices = new String[choicesList.size()]; - for (int i = 0; i < choices.length; i++) { - choices[i] = objectService.getName(choicesList.get(i)); - } - return choices; - } - @Override public String getText() { final Object value = getValue(); diff --git a/src/main/java/org/scijava/widget/WidgetModel.java b/src/main/java/org/scijava/widget/WidgetModel.java index 97ccad278..2c5ed296e 100644 --- a/src/main/java/org/scijava/widget/WidgetModel.java +++ b/src/main/java/org/scijava/widget/WidgetModel.java @@ -134,13 +134,13 @@ public interface WidgetModel extends Contextual { */ Number getStepSize(); - /** - * Gets the multiple choice list for the module input. - * - * @return The available choices, or an empty list if not multiple choice. - * @see ChoiceWidget - */ - String[] getChoices(); + /** @deprecated Use {@code getItem().getChoices()} instead. */ + @Deprecated + default String[] getChoices() { + return getItem().getChoices().stream() // + .map(choice -> choice.toString()) // + .toArray(String[]::new); + } /** * Gets the input's value rendered as a string. From 01fc93f33a02a6beb65543511cdd25539f1cfcfb Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Fri, 20 Jan 2017 12:57:37 -0600 Subject: [PATCH 331/383] DefaultWidgetModel: use choices, not string labels See also the previous commit. --- src/main/java/org/scijava/widget/DefaultWidgetModel.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/main/java/org/scijava/widget/DefaultWidgetModel.java b/src/main/java/org/scijava/widget/DefaultWidgetModel.java index e8c84ac50..dda3e361c 100644 --- a/src/main/java/org/scijava/widget/DefaultWidgetModel.java +++ b/src/main/java/org/scijava/widget/DefaultWidgetModel.java @@ -29,7 +29,6 @@ package org.scijava.widget; -import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.Objects; @@ -279,11 +278,10 @@ public boolean isInitialized() { /** * For multiple choice widgets, ensures the value is a valid choice. * - * @see #getChoices() * @see ChoiceWidget */ private Object ensureValidChoice(final Object value) { - return ensureValid(value, Arrays.asList(getChoices())); + return ensureValid(value, getItem().getChoices()); } /** From fcffe20e19017f9391f7a74686f662a1fc5df9b5 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Fri, 20 Jan 2017 13:37:07 -0600 Subject: [PATCH 332/383] AbstractInputHarvester: fix generic type hackery --- .../java/org/scijava/widget/AbstractInputHarvester.java | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/scijava/widget/AbstractInputHarvester.java b/src/main/java/org/scijava/widget/AbstractInputHarvester.java index 9a82ea33f..73fdf7b53 100644 --- a/src/main/java/org/scijava/widget/AbstractInputHarvester.java +++ b/src/main/java/org/scijava/widget/AbstractInputHarvester.java @@ -128,13 +128,10 @@ private WidgetModel addInput(final InputPanel inputPanel, } /** Asks the object service and convert service for valid choices */ - @SuppressWarnings("unchecked") - private List getObjects(final Class type) { - @SuppressWarnings("rawtypes") - Set compatibleInputs = - new HashSet(convertService.getCompatibleInputs(type)); + private List getObjects(final Class type) { + Set compatibleInputs = + new HashSet<>(convertService.getCompatibleInputs(type)); compatibleInputs.addAll(objectService.getObjects(type)); return new ArrayList<>(compatibleInputs); } - } From 3239804efd5085435bb7a9226d3fe492c4438baa Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Thu, 12 Oct 2023 11:18:03 +0200 Subject: [PATCH 333/383] Bump to next development cycle --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 924d8e4af..921efab7e 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.97.0-SNAPSHOT + 2.97.1-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From 43469c9a3d1d3f133223f6f389f4560061e6fccd Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Thu, 12 Oct 2023 14:07:24 +0200 Subject: [PATCH 334/383] Revert "WidgetModel: deprecate getChoices & move to iface" This reverts commit 8794f7adf2b33caf70b7d251e2a5f99588f0d37e. This change broke scijava-ui-swing, because item.getChoices() can return null. However, even when guarding against null, there is another problem: the current implementation in DefaultWidgetModel leans on the ObjectService, which is not accessible at the WidgetModel interface level. So for now, let's just revert this change. All seems to work fine without meddling here. --- .../org/scijava/widget/DefaultWidgetModel.java | 11 +++++++++++ src/main/java/org/scijava/widget/WidgetModel.java | 14 +++++++------- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/scijava/widget/DefaultWidgetModel.java b/src/main/java/org/scijava/widget/DefaultWidgetModel.java index dda3e361c..e8e7c7631 100644 --- a/src/main/java/org/scijava/widget/DefaultWidgetModel.java +++ b/src/main/java/org/scijava/widget/DefaultWidgetModel.java @@ -218,6 +218,17 @@ public Number getStepSize() { return NumberUtils.toNumber("1", item.getType()); } + @Override + public String[] getChoices() { + final List choicesList = getItem().getChoices(); + if (choicesList == null) return null; + final String[] choices = new String[choicesList.size()]; + for (int i = 0; i < choices.length; i++) { + choices[i] = objectService.getName(choicesList.get(i)); + } + return choices; + } + @Override public String getText() { final Object value = getValue(); diff --git a/src/main/java/org/scijava/widget/WidgetModel.java b/src/main/java/org/scijava/widget/WidgetModel.java index 2c5ed296e..97ccad278 100644 --- a/src/main/java/org/scijava/widget/WidgetModel.java +++ b/src/main/java/org/scijava/widget/WidgetModel.java @@ -134,13 +134,13 @@ public interface WidgetModel extends Contextual { */ Number getStepSize(); - /** @deprecated Use {@code getItem().getChoices()} instead. */ - @Deprecated - default String[] getChoices() { - return getItem().getChoices().stream() // - .map(choice -> choice.toString()) // - .toArray(String[]::new); - } + /** + * Gets the multiple choice list for the module input. + * + * @return The available choices, or an empty list if not multiple choice. + * @see ChoiceWidget + */ + String[] getChoices(); /** * Gets the input's value rendered as a string. From a8a7e4fa028fd9c79d39286ce32b5334c0b5aae8 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Thu, 12 Oct 2023 14:13:03 +0200 Subject: [PATCH 335/383] POM: update parent to pom-scijava 37.0.0 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 921efab7e..4535b2eff 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.scijava pom-scijava - 36.0.0 + 37.0.0 From c1c5e2493c6bed7c659965f2260c61510bd12abf Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Thu, 12 Oct 2023 14:14:37 +0200 Subject: [PATCH 336/383] Bump to next development cycle Signed-off-by: Curtis Rueden --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 4535b2eff..aede49815 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.97.1-SNAPSHOT + 2.97.2-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From 9960d51acf339b17179d4b3694bf0d891b584dc6 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Fri, 13 Oct 2023 10:38:38 +0200 Subject: [PATCH 337/383] Add a ContextCreatedEvent So that services can respond with behavior as soon as their context is fully done initializing. --- pom.xml | 2 +- src/main/java/org/scijava/Context.java | 5 +++ .../scijava/event/ContextCreatedEvent.java | 38 +++++++++++++++++++ .../java/org/scijava/ContextCreationTest.java | 22 +++++++++++ 4 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 src/main/java/org/scijava/event/ContextCreatedEvent.java diff --git a/pom.xml b/pom.xml index aede49815..4b91cb7b3 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.97.2-SNAPSHOT + 2.98.0-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. diff --git a/src/main/java/org/scijava/Context.java b/src/main/java/org/scijava/Context.java index 63ade880d..d6b777d46 100644 --- a/src/main/java/org/scijava/Context.java +++ b/src/main/java/org/scijava/Context.java @@ -38,6 +38,7 @@ import java.util.Collections; import java.util.List; +import org.scijava.event.ContextCreatedEvent; import org.scijava.event.ContextDisposingEvent; import org.scijava.event.EventHandler; import org.scijava.event.EventService; @@ -293,6 +294,10 @@ public Context(final Collection> serviceClasses, // If JVM shuts down with context still active, clean up after ourselves. Runtime.getRuntime().addShutdownHook(new Thread(() -> doDispose(false))); + + // Publish an event to indicate that context initialization is complete. + final EventService eventService = getService(EventService.class); + if (eventService != null) eventService.publish(new ContextCreatedEvent()); } // -- Context methods -- diff --git a/src/main/java/org/scijava/event/ContextCreatedEvent.java b/src/main/java/org/scijava/event/ContextCreatedEvent.java new file mode 100644 index 000000000..7ca7d529b --- /dev/null +++ b/src/main/java/org/scijava/event/ContextCreatedEvent.java @@ -0,0 +1,38 @@ +/* + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2023 SciJava developers. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ + +package org.scijava.event; + +/** + * Event to be published immediately after a context has been fully created + * with all services initialized. + * + * @author Curtis Rueden + */ +public class ContextCreatedEvent extends SciJavaEvent { } diff --git a/src/test/java/org/scijava/ContextCreationTest.java b/src/test/java/org/scijava/ContextCreationTest.java index b177a75c7..db4e76ea7 100644 --- a/src/test/java/org/scijava/ContextCreationTest.java +++ b/src/test/java/org/scijava/ContextCreationTest.java @@ -42,6 +42,8 @@ import java.util.List; import org.junit.Test; +import org.scijava.event.ContextCreatedEvent; +import org.scijava.event.EventHandler; import org.scijava.plugin.Parameter; import org.scijava.plugin.PluginIndex; import org.scijava.plugin.PluginInfo; @@ -149,6 +151,14 @@ public void testSciJavaServices() { } } + /** Tests that {@link ContextCreatedEvent} is published as expected. */ + @Test + public void testContextCreatedEvent() { + assertEquals(0, ServiceNoticingContextCreated.created); + final Context context = new Context(ServiceNoticingContextCreated.class); + assertEquals(1, ServiceNoticingContextCreated.created); + } + /** * Tests that dependent {@link Service}s are automatically created and * populated in downstream {@link Service} classes. @@ -441,6 +451,18 @@ private PluginIndex pluginIndex(final Class... plugins) { // -- Helper classes -- + /** A service that notices when {@link ContextCreatedEvent} is published. */ + public static class ServiceNoticingContextCreated extends AbstractService { + + public static int created = 0; + + @EventHandler + public void onEvent(final ContextCreatedEvent evt) { + created++; + } + + } + /** A service which requires a {@link BarService}. */ public static class FooService extends AbstractService { From 06f52dbfc10e169b4c355ac5aa76fd9f8b1faa64 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Fri, 13 Oct 2023 13:28:49 +0200 Subject: [PATCH 338/383] DigestUtils: use Base64, not DatatypeConverter Unlike java.util.Base64, the DatatypeConverter class is in the javax.xml.bind package, which is not part of java.base. --- src/main/java/org/scijava/util/DigestUtils.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/scijava/util/DigestUtils.java b/src/main/java/org/scijava/util/DigestUtils.java index 92472445f..54014b709 100644 --- a/src/main/java/org/scijava/util/DigestUtils.java +++ b/src/main/java/org/scijava/util/DigestUtils.java @@ -32,8 +32,7 @@ import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; - -import javax.xml.bind.DatatypeConverter; +import java.util.Base64; /** * Utility class for computing cryptographic hashes. @@ -98,7 +97,7 @@ public static String hex(final byte[] bytes) { /** Converts the given byte array to a base64 string. */ public static String base64(final byte[] bytes) { - return DatatypeConverter.printBase64Binary(bytes); + return new String(Base64.getEncoder().encode(bytes)); } /** From 47f2d2b4e466dac309e50f72c93bdfef1bb80385 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Fri, 13 Oct 2023 13:29:13 +0200 Subject: [PATCH 339/383] Remove reference to javax.xml.ws.Service class There is no strong reason we need to link it here, and it won't compile as written with Java 11, due to changes in Java's ServiceLoader mechanism. --- src/main/java/org/scijava/util/ServiceCombiner.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/main/java/org/scijava/util/ServiceCombiner.java b/src/main/java/org/scijava/util/ServiceCombiner.java index e976f6846..a24cf6abb 100644 --- a/src/main/java/org/scijava/util/ServiceCombiner.java +++ b/src/main/java/org/scijava/util/ServiceCombiner.java @@ -40,12 +40,10 @@ import java.util.Map; import java.util.Map.Entry; -import javax.xml.ws.Service; - import org.scijava.Context; /** - * Combines {@link Service} information from all JAR files on the classpath. + * Combines {@code Service} information from all JAR files on the classpath. * * @author Johannes Schindelin * @author Mark Hiner From 5e8fb31373197fc0fc74d73f017404ec6927063c Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Fri, 13 Oct 2023 14:19:03 +0200 Subject: [PATCH 340/383] ConsoleServiceTest: keep ref to plugin instance --- src/test/java/org/scijava/console/ConsoleServiceTest.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/test/java/org/scijava/console/ConsoleServiceTest.java b/src/test/java/org/scijava/console/ConsoleServiceTest.java index 432feb8e0..64692143f 100644 --- a/src/test/java/org/scijava/console/ConsoleServiceTest.java +++ b/src/test/java/org/scijava/console/ConsoleServiceTest.java @@ -83,9 +83,12 @@ public void testProcessArgs() { */ @Test public void testInfiniteLoopAvoidance() { - assertFalse(consoleService.getInstance(BrokenArgument.class).argsHandled); + final BrokenArgument broken = // + consoleService.getInstance(BrokenArgument.class); + assertNotNull(broken); + assertFalse(broken.argsHandled); consoleService.processArgs("--broken"); - assertTrue(consoleService.getInstance(BrokenArgument.class).argsHandled); + assertTrue(broken.argsHandled); } /** From 41f31366618fb6ab6ba5e612e61b5c9755d8dd43 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Thu, 19 Oct 2023 10:06:48 +0200 Subject: [PATCH 341/383] Only register one single shutdown hook Registering one shutdown hook Thread object per Context ever created eventually causes the JVM to start throwing around OutOfMemoryErrors. --- src/main/java/org/scijava/Context.java | 28 ++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/scijava/Context.java b/src/main/java/org/scijava/Context.java index d6b777d46..421ad2b36 100644 --- a/src/main/java/org/scijava/Context.java +++ b/src/main/java/org/scijava/Context.java @@ -33,10 +33,13 @@ import java.lang.reflect.Method; import java.net.URL; import java.net.URLClassLoader; +import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import org.scijava.event.ContextCreatedEvent; import org.scijava.event.ContextDisposingEvent; @@ -73,6 +76,14 @@ public class Context implements Disposable, AutoCloseable { */ public static final String STRICT_PROPERTY = "scijava.context.strict"; + /** Set of currently active (not disposed) application contexts. */ + private static final Map CONTEXTS = + new ConcurrentHashMap<>(); // NB: ConcurrentHashMap disallows nulls. + + // -- Static fields -- + + private static Thread shutdownThread = null; + // -- Fields -- /** Index of the application context's services. */ @@ -293,7 +304,20 @@ public Context(final Collection> serviceClasses, } // If JVM shuts down with context still active, clean up after ourselves. - Runtime.getRuntime().addShutdownHook(new Thread(() -> doDispose(false))); + if (shutdownThread == null) { + synchronized (Context.class) { + if (shutdownThread == null) { + shutdownThread = new Thread(() -> { + final List contexts = new ArrayList<>(CONTEXTS.keySet()); + for (final Context context : contexts) { + context.doDispose(false); + } + }); + Runtime.getRuntime().addShutdownHook(shutdownThread); + } + } + } + CONTEXTS.put(this, true); // Publish an event to indicate that context initialization is complete. final EventService eventService = getService(EventService.class); @@ -432,7 +456,6 @@ public boolean isInjectable(final Class type) { @Override public void dispose() { - if (disposed) return; doDispose(true); } @@ -589,6 +612,7 @@ private String createMissingServiceMessage( private synchronized void doDispose(final boolean announce) { if (disposed) return; disposed = true; + CONTEXTS.remove(this); if (announce) { final EventService eventService = getService(EventService.class); if (eventService != null) eventService.publish(new ContextDisposingEvent()); From 4133ac73119f00c3ba8b75266d58389f442fb572 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Sat, 4 Nov 2023 09:36:52 -0500 Subject: [PATCH 342/383] ObjectIndexTest: make tests pass with OpenJDK 12 Closes #474. --- .../org/scijava/object/ObjectIndexTest.java | 25 +++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/src/test/java/org/scijava/object/ObjectIndexTest.java b/src/test/java/org/scijava/object/ObjectIndexTest.java index 00be93314..dfd4978f1 100644 --- a/src/test/java/org/scijava/object/ObjectIndexTest.java +++ b/src/test/java/org/scijava/object/ObjectIndexTest.java @@ -36,6 +36,7 @@ import static org.junit.Assert.assertTrue; import java.util.ArrayList; +import java.util.Arrays; import java.util.Iterator; import java.util.List; @@ -209,15 +210,25 @@ public void testToString() { objectIndex.add(new Integer(5)); objectIndex.add(new Float(2.5f)); objectIndex.add(new Integer(3)); - final String[] expected = - { "java.io.Serializable: {5, 2.5, 3}", - "java.lang.Comparable: {5, 2.5, 3}", "java.lang.Float: {2.5}", - "java.lang.Integer: {5, 3}", "java.lang.Number: {5, 2.5, 3}", - "java.lang.Object: {5, 2.5, 3}", - "org.scijava.object.ObjectIndex$All: {5, 2.5, 3}" }; + + final List expected = new ArrayList<>(); + expected.addAll(Arrays.asList( + "java.io.Serializable: {5, 2.5, 3}", + "java.lang.Comparable: {5, 2.5, 3}", "java.lang.Float: {2.5}", + "java.lang.Integer: {5, 3}", "java.lang.Number: {5, 2.5, 3}", + "java.lang.Object: {5, 2.5, 3}" + )); + final String[] javaVersion = System.getProperty("java.version").split("\\."); + final int majorVersion = Integer.parseInt(javaVersion[0]); + if (majorVersion >= 12) { + expected.add("java.lang.constant.Constable: {5, 2.5, 3}"); + expected.add("java.lang.constant.ConstantDesc: {5, 2.5, 3}"); + } + expected.add("org.scijava.object.ObjectIndex$All: {5, 2.5, 3}"); + final String[] actual = objectIndex.toString().split(System.getProperty("line.separator")); - assertArrayEquals(expected, actual); + assertArrayEquals(expected.toArray(), actual); } } From dc4be9bc8f8ee5893a26133463f90b2e84495f59 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Sat, 4 Nov 2023 09:38:36 -0500 Subject: [PATCH 343/383] ObjectIndexTest: fix line wrapping --- src/test/java/org/scijava/object/ObjectIndexTest.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/test/java/org/scijava/object/ObjectIndexTest.java b/src/test/java/org/scijava/object/ObjectIndexTest.java index dfd4978f1..2a0870776 100644 --- a/src/test/java/org/scijava/object/ObjectIndexTest.java +++ b/src/test/java/org/scijava/object/ObjectIndexTest.java @@ -214,8 +214,10 @@ public void testToString() { final List expected = new ArrayList<>(); expected.addAll(Arrays.asList( "java.io.Serializable: {5, 2.5, 3}", - "java.lang.Comparable: {5, 2.5, 3}", "java.lang.Float: {2.5}", - "java.lang.Integer: {5, 3}", "java.lang.Number: {5, 2.5, 3}", + "java.lang.Comparable: {5, 2.5, 3}", + "java.lang.Float: {2.5}", + "java.lang.Integer: {5, 3}", + "java.lang.Number: {5, 2.5, 3}", "java.lang.Object: {5, 2.5, 3}" )); final String[] javaVersion = System.getProperty("java.version").split("\\."); From 43164babd71c2429e4fa2e8f59f7eda767ebe120 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 7 Nov 2023 11:21:07 -0600 Subject: [PATCH 344/383] CI: only deploy build artifacts on the Linux node --- .github/build.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/build.sh b/.github/build.sh index 7da42622b..44a7909d1 100755 --- a/.github/build.sh +++ b/.github/build.sh @@ -1,3 +1,4 @@ #!/bin/sh curl -fsLO https://raw.githubusercontent.com/scijava/scijava-scripts/master/ci-build.sh -sh ci-build.sh +# NB: Only the Linux CI node should deploy build artifacts. +NO_DEPLOY=$(test "$(uname)" = Linux || echo 1) sh ci-build.sh From 3dc99c9173f50d9818afc5674e4e11150186387a Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 7 Nov 2023 11:27:23 -0600 Subject: [PATCH 345/383] CI: use bash shell even when building on Windows --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 118e6ac74..876a620a3 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -30,6 +30,7 @@ jobs: run: .github/setup.sh - name: Execute the build run: .github/build.sh + shell: bash env: GPG_KEY_NAME: ${{ secrets.GPG_KEY_NAME }} GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} From c7b6dc414debe41ef1166c071af034d65a51ff62 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Fri, 26 Jan 2024 09:42:47 -0600 Subject: [PATCH 346/383] Happy New Year 2024 --- src/it/apt-test/pom.xml | 2 +- src/it/apt-test/setup.bsh | 2 +- .../src/main/java/org/scijava/annotation/its/Annotated.java | 2 +- .../main/java/org/scijava/annotation/its/CustomAnnotation.java | 2 +- src/it/apt-test/verify.bsh | 2 +- src/it/settings.xml | 2 +- src/main/java/org/scijava/AbstractBasicDetails.java | 2 +- src/main/java/org/scijava/AbstractContextual.java | 2 +- src/main/java/org/scijava/AbstractGateway.java | 2 +- src/main/java/org/scijava/AbstractUIDetails.java | 2 +- src/main/java/org/scijava/BasicDetails.java | 2 +- src/main/java/org/scijava/Cancelable.java | 2 +- src/main/java/org/scijava/Context.java | 2 +- src/main/java/org/scijava/Contextual.java | 2 +- src/main/java/org/scijava/Disposable.java | 2 +- src/main/java/org/scijava/Gateway.java | 2 +- src/main/java/org/scijava/Identifiable.java | 2 +- src/main/java/org/scijava/Initializable.java | 2 +- src/main/java/org/scijava/Instantiable.java | 2 +- src/main/java/org/scijava/InstantiableException.java | 2 +- src/main/java/org/scijava/ItemIO.java | 2 +- src/main/java/org/scijava/ItemVisibility.java | 2 +- src/main/java/org/scijava/Locatable.java | 2 +- src/main/java/org/scijava/MenuEntry.java | 2 +- src/main/java/org/scijava/MenuPath.java | 2 +- src/main/java/org/scijava/Named.java | 2 +- src/main/java/org/scijava/NoSuchServiceException.java | 2 +- src/main/java/org/scijava/NullContextException.java | 2 +- src/main/java/org/scijava/Optional.java | 2 +- src/main/java/org/scijava/Prioritized.java | 2 +- src/main/java/org/scijava/Priority.java | 2 +- src/main/java/org/scijava/SciJava.java | 2 +- src/main/java/org/scijava/Typed.java | 2 +- src/main/java/org/scijava/UIDetails.java | 2 +- src/main/java/org/scijava/Validated.java | 2 +- src/main/java/org/scijava/ValidityProblem.java | 2 +- src/main/java/org/scijava/Versioned.java | 2 +- src/main/java/org/scijava/annotations/AbstractIndexWriter.java | 2 +- src/main/java/org/scijava/annotations/AnnotationCombiner.java | 2 +- src/main/java/org/scijava/annotations/AnnotationProcessor.java | 2 +- src/main/java/org/scijava/annotations/ByteCodeAnalyzer.java | 2 +- src/main/java/org/scijava/annotations/DirectoryIndexer.java | 2 +- src/main/java/org/scijava/annotations/EclipseHelper.java | 2 +- src/main/java/org/scijava/annotations/Index.java | 2 +- src/main/java/org/scijava/annotations/IndexItem.java | 2 +- src/main/java/org/scijava/annotations/IndexReader.java | 2 +- src/main/java/org/scijava/annotations/Indexable.java | 2 +- src/main/java/org/scijava/annotations/legacy/LegacyReader.java | 2 +- src/main/java/org/scijava/app/AbstractApp.java | 2 +- src/main/java/org/scijava/app/App.java | 2 +- src/main/java/org/scijava/app/AppService.java | 2 +- src/main/java/org/scijava/app/DefaultAppService.java | 2 +- src/main/java/org/scijava/app/DefaultStatusService.java | 2 +- src/main/java/org/scijava/app/SciJavaApp.java | 2 +- src/main/java/org/scijava/app/StatusService.java | 2 +- src/main/java/org/scijava/app/event/StatusEvent.java | 2 +- src/main/java/org/scijava/cache/CacheService.java | 2 +- src/main/java/org/scijava/cache/DefaultCacheService.java | 2 +- src/main/java/org/scijava/command/Command.java | 2 +- src/main/java/org/scijava/command/CommandInfo.java | 2 +- src/main/java/org/scijava/command/CommandModule.java | 2 +- src/main/java/org/scijava/command/CommandModuleItem.java | 2 +- src/main/java/org/scijava/command/CommandService.java | 2 +- src/main/java/org/scijava/command/ContextCommand.java | 2 +- src/main/java/org/scijava/command/DefaultCommandService.java | 2 +- src/main/java/org/scijava/command/DynamicCommand.java | 2 +- src/main/java/org/scijava/command/DynamicCommandInfo.java | 2 +- src/main/java/org/scijava/command/Inputs.java | 2 +- src/main/java/org/scijava/command/Interactive.java | 2 +- src/main/java/org/scijava/command/InteractiveCommand.java | 2 +- src/main/java/org/scijava/command/ModuleCommand.java | 2 +- src/main/java/org/scijava/command/Previewable.java | 2 +- src/main/java/org/scijava/command/UnimplementedCommand.java | 2 +- src/main/java/org/scijava/command/console/RunArgument.java | 2 +- src/main/java/org/scijava/command/run/CommandCodeRunner.java | 2 +- src/main/java/org/scijava/console/AbstractConsoleArgument.java | 2 +- src/main/java/org/scijava/console/ConsoleArgument.java | 2 +- src/main/java/org/scijava/console/ConsoleService.java | 2 +- src/main/java/org/scijava/console/ConsoleUtils.java | 2 +- src/main/java/org/scijava/console/DefaultConsoleService.java | 2 +- src/main/java/org/scijava/console/MultiOutputStream.java | 2 +- src/main/java/org/scijava/console/MultiPrintStream.java | 2 +- src/main/java/org/scijava/console/OutputEvent.java | 2 +- src/main/java/org/scijava/console/OutputListener.java | 2 +- src/main/java/org/scijava/console/SystemPropertyArgument.java | 2 +- src/main/java/org/scijava/convert/AbstractConvertService.java | 2 +- src/main/java/org/scijava/convert/AbstractConverter.java | 2 +- .../java/org/scijava/convert/AbstractDelegateConverter.java | 2 +- src/main/java/org/scijava/convert/ArrayConverters.java | 2 +- src/main/java/org/scijava/convert/ArrayToStringConverter.java | 2 +- src/main/java/org/scijava/convert/CastingConverter.java | 2 +- src/main/java/org/scijava/convert/ConversionRequest.java | 2 +- src/main/java/org/scijava/convert/ConvertService.java | 2 +- src/main/java/org/scijava/convert/Converter.java | 2 +- src/main/java/org/scijava/convert/DefaultConvertService.java | 2 +- src/main/java/org/scijava/convert/DefaultConverter.java | 2 +- src/main/java/org/scijava/convert/FileListConverters.java | 2 +- src/main/java/org/scijava/convert/FileToPathConverter.java | 2 +- src/main/java/org/scijava/convert/NullConverter.java | 2 +- src/main/java/org/scijava/convert/NumberConverters.java | 2 +- .../java/org/scijava/convert/NumberToBigDecimalConverter.java | 2 +- .../java/org/scijava/convert/NumberToBigIntegerConverter.java | 2 +- src/main/java/org/scijava/convert/NumberToDoubleConverter.java | 2 +- src/main/java/org/scijava/convert/NumberToFloatConverter.java | 2 +- src/main/java/org/scijava/convert/NumberToIntegerConverter.java | 2 +- src/main/java/org/scijava/convert/NumberToLongConverter.java | 2 +- src/main/java/org/scijava/convert/NumberToNumberConverter.java | 2 +- src/main/java/org/scijava/convert/NumberToShortConverter.java | 2 +- src/main/java/org/scijava/convert/PathToFileConverter.java | 2 +- src/main/java/org/scijava/convert/PrimitiveArrayUnwrapper.java | 2 +- src/main/java/org/scijava/convert/PrimitiveArrayWrapper.java | 2 +- src/main/java/org/scijava/convert/StringToArrayConverter.java | 2 +- src/main/java/org/scijava/convert/StringToNumberConverter.java | 2 +- src/main/java/org/scijava/display/AbstractDisplay.java | 2 +- .../java/org/scijava/display/ActiveDisplayPreprocessor.java | 2 +- src/main/java/org/scijava/display/DefaultDisplay.java | 2 +- src/main/java/org/scijava/display/DefaultDisplayService.java | 2 +- src/main/java/org/scijava/display/DefaultTextDisplay.java | 2 +- src/main/java/org/scijava/display/Display.java | 2 +- src/main/java/org/scijava/display/DisplayPostprocessor.java | 2 +- src/main/java/org/scijava/display/DisplayService.java | 2 +- src/main/java/org/scijava/display/Displayable.java | 2 +- src/main/java/org/scijava/display/TextDisplay.java | 2 +- .../java/org/scijava/display/event/DisplayActivatedEvent.java | 2 +- .../java/org/scijava/display/event/DisplayCreatedEvent.java | 2 +- .../java/org/scijava/display/event/DisplayDeletedEvent.java | 2 +- src/main/java/org/scijava/display/event/DisplayEvent.java | 2 +- .../java/org/scijava/display/event/DisplayUpdatedEvent.java | 2 +- src/main/java/org/scijava/display/event/input/InputEvent.java | 2 +- src/main/java/org/scijava/display/event/input/KyEvent.java | 2 +- .../java/org/scijava/display/event/input/KyPressedEvent.java | 2 +- .../java/org/scijava/display/event/input/KyReleasedEvent.java | 2 +- src/main/java/org/scijava/display/event/input/KyTypedEvent.java | 2 +- .../java/org/scijava/display/event/input/MsButtonEvent.java | 2 +- .../java/org/scijava/display/event/input/MsClickedEvent.java | 2 +- .../java/org/scijava/display/event/input/MsDraggedEvent.java | 2 +- .../java/org/scijava/display/event/input/MsEnteredEvent.java | 2 +- src/main/java/org/scijava/display/event/input/MsEvent.java | 2 +- .../java/org/scijava/display/event/input/MsExitedEvent.java | 2 +- src/main/java/org/scijava/display/event/input/MsMovedEvent.java | 2 +- .../java/org/scijava/display/event/input/MsPressedEvent.java | 2 +- .../java/org/scijava/display/event/input/MsReleasedEvent.java | 2 +- src/main/java/org/scijava/display/event/input/MsWheelEvent.java | 2 +- .../org/scijava/display/event/window/WinActivatedEvent.java | 2 +- .../java/org/scijava/display/event/window/WinClosedEvent.java | 2 +- .../java/org/scijava/display/event/window/WinClosingEvent.java | 2 +- .../org/scijava/display/event/window/WinDeactivatedEvent.java | 2 +- .../org/scijava/display/event/window/WinDeiconifiedEvent.java | 2 +- src/main/java/org/scijava/display/event/window/WinEvent.java | 2 +- .../org/scijava/display/event/window/WinIconifiedEvent.java | 2 +- .../java/org/scijava/display/event/window/WinOpenedEvent.java | 2 +- src/main/java/org/scijava/download/DefaultDownloadService.java | 2 +- src/main/java/org/scijava/download/DiskLocationCache.java | 2 +- src/main/java/org/scijava/download/Download.java | 2 +- src/main/java/org/scijava/download/DownloadService.java | 2 +- src/main/java/org/scijava/download/LocationCache.java | 2 +- src/main/java/org/scijava/download/MultiWriteHandle.java | 2 +- src/main/java/org/scijava/event/ContextCreatedEvent.java | 2 +- src/main/java/org/scijava/event/ContextDisposingEvent.java | 2 +- src/main/java/org/scijava/event/DefaultEventBus.java | 2 +- src/main/java/org/scijava/event/DefaultEventHistory.java | 2 +- src/main/java/org/scijava/event/DefaultEventService.java | 2 +- src/main/java/org/scijava/event/EventDetails.java | 2 +- src/main/java/org/scijava/event/EventHandler.java | 2 +- src/main/java/org/scijava/event/EventHistory.java | 2 +- src/main/java/org/scijava/event/EventHistoryListener.java | 2 +- src/main/java/org/scijava/event/EventService.java | 2 +- src/main/java/org/scijava/event/EventSubscriber.java | 2 +- src/main/java/org/scijava/event/SciJavaEvent.java | 2 +- src/main/java/org/scijava/input/Accelerator.java | 2 +- src/main/java/org/scijava/input/DefaultInputService.java | 2 +- src/main/java/org/scijava/input/InputModifiers.java | 2 +- src/main/java/org/scijava/input/InputService.java | 2 +- src/main/java/org/scijava/input/KeyCode.java | 2 +- src/main/java/org/scijava/input/MouseCursor.java | 2 +- src/main/java/org/scijava/io/AbstractIOPlugin.java | 2 +- src/main/java/org/scijava/io/AbstractTypedIOService.java | 2 +- src/main/java/org/scijava/io/ByteArrayByteBank.java | 2 +- src/main/java/org/scijava/io/ByteBank.java | 2 +- src/main/java/org/scijava/io/DefaultIOService.java | 2 +- src/main/java/org/scijava/io/DefaultRecentFileService.java | 2 +- src/main/java/org/scijava/io/IOPlugin.java | 2 +- src/main/java/org/scijava/io/IOService.java | 2 +- src/main/java/org/scijava/io/RecentFileService.java | 2 +- src/main/java/org/scijava/io/TypedIOService.java | 2 +- src/main/java/org/scijava/io/console/OpenArgument.java | 2 +- src/main/java/org/scijava/io/event/DataOpenedEvent.java | 2 +- src/main/java/org/scijava/io/event/DataSavedEvent.java | 2 +- src/main/java/org/scijava/io/event/IOEvent.java | 2 +- src/main/java/org/scijava/io/handle/AbstractDataHandle.java | 2 +- .../java/org/scijava/io/handle/AbstractHigherOrderHandle.java | 2 +- .../org/scijava/io/handle/AbstractSeekableStreamHandle.java | 2 +- src/main/java/org/scijava/io/handle/AbstractStreamHandle.java | 2 +- src/main/java/org/scijava/io/handle/BytesHandle.java | 2 +- src/main/java/org/scijava/io/handle/DataHandle.java | 2 +- src/main/java/org/scijava/io/handle/DataHandleInputStream.java | 2 +- src/main/java/org/scijava/io/handle/DataHandleOutputStream.java | 2 +- src/main/java/org/scijava/io/handle/DataHandleService.java | 2 +- src/main/java/org/scijava/io/handle/DataHandles.java | 2 +- .../java/org/scijava/io/handle/DefaultDataHandleService.java | 2 +- src/main/java/org/scijava/io/handle/DummyHandle.java | 2 +- src/main/java/org/scijava/io/handle/FileHandle.java | 2 +- src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java | 2 +- src/main/java/org/scijava/io/handle/ResettableStreamHandle.java | 2 +- src/main/java/org/scijava/io/handle/SeekableStreamHandle.java | 2 +- src/main/java/org/scijava/io/handle/StreamHandle.java | 2 +- src/main/java/org/scijava/io/handle/WriteBufferDataHandle.java | 2 +- src/main/java/org/scijava/io/location/AbstractLocation.java | 2 +- .../java/org/scijava/io/location/AbstractLocationResolver.java | 2 +- .../java/org/scijava/io/location/AbstractRemoteLocation.java | 2 +- src/main/java/org/scijava/io/location/BrowsableLocation.java | 2 +- src/main/java/org/scijava/io/location/BytesLocation.java | 2 +- .../java/org/scijava/io/location/DefaultLocationService.java | 2 +- src/main/java/org/scijava/io/location/DummyLocation.java | 2 +- src/main/java/org/scijava/io/location/FileLocation.java | 2 +- src/main/java/org/scijava/io/location/FileLocationResolver.java | 2 +- src/main/java/org/scijava/io/location/Location.java | 2 +- src/main/java/org/scijava/io/location/LocationResolver.java | 2 +- src/main/java/org/scijava/io/location/LocationService.java | 2 +- src/main/java/org/scijava/io/location/RemoteLocation.java | 2 +- src/main/java/org/scijava/io/location/URILocation.java | 2 +- src/main/java/org/scijava/io/location/URLLocation.java | 2 +- src/main/java/org/scijava/io/nio/ByteBufferByteBank.java | 2 +- src/main/java/org/scijava/io/nio/DefaultNIOService.java | 2 +- src/main/java/org/scijava/io/nio/NIOService.java | 2 +- src/main/java/org/scijava/log/AbstractLogService.java | 2 +- src/main/java/org/scijava/log/CallingClassUtils.java | 2 +- src/main/java/org/scijava/log/DefaultLogger.java | 2 +- .../java/org/scijava/log/DefaultUncaughtExceptionHandler.java | 2 +- src/main/java/org/scijava/log/IgnoreAsCallingClass.java | 2 +- src/main/java/org/scijava/log/LogLevel.java | 2 +- src/main/java/org/scijava/log/LogListener.java | 2 +- src/main/java/org/scijava/log/LogMessage.java | 2 +- src/main/java/org/scijava/log/LogService.java | 2 +- src/main/java/org/scijava/log/LogSource.java | 2 +- src/main/java/org/scijava/log/Logged.java | 2 +- src/main/java/org/scijava/log/Logger.java | 2 +- src/main/java/org/scijava/log/StderrLogService.java | 2 +- src/main/java/org/scijava/main/DefaultMainService.java | 2 +- src/main/java/org/scijava/main/MainService.java | 2 +- src/main/java/org/scijava/main/console/MainArgument.java | 2 +- src/main/java/org/scijava/main/run/MainCodeRunner.java | 2 +- src/main/java/org/scijava/menu/AbstractMenuCreator.java | 2 +- src/main/java/org/scijava/menu/DefaultMenuService.java | 2 +- src/main/java/org/scijava/menu/MenuConstants.java | 2 +- src/main/java/org/scijava/menu/MenuCreator.java | 2 +- src/main/java/org/scijava/menu/MenuService.java | 2 +- src/main/java/org/scijava/menu/ShadowMenu.java | 2 +- src/main/java/org/scijava/menu/ShadowMenuIterator.java | 2 +- src/main/java/org/scijava/menu/event/MenuEvent.java | 2 +- src/main/java/org/scijava/menu/event/MenusAddedEvent.java | 2 +- src/main/java/org/scijava/menu/event/MenusRemovedEvent.java | 2 +- src/main/java/org/scijava/menu/event/MenusUpdatedEvent.java | 2 +- src/main/java/org/scijava/module/AbstractModule.java | 2 +- src/main/java/org/scijava/module/AbstractModuleInfo.java | 2 +- src/main/java/org/scijava/module/AbstractModuleItem.java | 2 +- src/main/java/org/scijava/module/DefaultModuleService.java | 2 +- src/main/java/org/scijava/module/DefaultMutableModule.java | 2 +- src/main/java/org/scijava/module/DefaultMutableModuleInfo.java | 2 +- src/main/java/org/scijava/module/DefaultMutableModuleItem.java | 2 +- src/main/java/org/scijava/module/MethodCallException.java | 2 +- src/main/java/org/scijava/module/MethodRef.java | 2 +- src/main/java/org/scijava/module/Module.java | 2 +- src/main/java/org/scijava/module/ModuleCanceledException.java | 2 +- src/main/java/org/scijava/module/ModuleException.java | 2 +- src/main/java/org/scijava/module/ModuleIndex.java | 2 +- src/main/java/org/scijava/module/ModuleInfo.java | 2 +- src/main/java/org/scijava/module/ModuleItem.java | 2 +- src/main/java/org/scijava/module/ModuleRunner.java | 2 +- src/main/java/org/scijava/module/ModuleService.java | 2 +- src/main/java/org/scijava/module/MutableModule.java | 2 +- src/main/java/org/scijava/module/MutableModuleInfo.java | 2 +- src/main/java/org/scijava/module/MutableModuleItem.java | 2 +- src/main/java/org/scijava/module/event/ModuleCanceledEvent.java | 2 +- src/main/java/org/scijava/module/event/ModuleErroredEvent.java | 2 +- src/main/java/org/scijava/module/event/ModuleEvent.java | 2 +- src/main/java/org/scijava/module/event/ModuleExecutedEvent.java | 2 +- .../java/org/scijava/module/event/ModuleExecutingEvent.java | 2 +- .../java/org/scijava/module/event/ModuleExecutionEvent.java | 2 +- src/main/java/org/scijava/module/event/ModuleFinishedEvent.java | 2 +- .../java/org/scijava/module/event/ModulePostprocessEvent.java | 2 +- .../java/org/scijava/module/event/ModulePreprocessEvent.java | 2 +- src/main/java/org/scijava/module/event/ModuleProcessEvent.java | 2 +- src/main/java/org/scijava/module/event/ModuleStartedEvent.java | 2 +- src/main/java/org/scijava/module/event/ModulesAddedEvent.java | 2 +- src/main/java/org/scijava/module/event/ModulesListEvent.java | 2 +- src/main/java/org/scijava/module/event/ModulesRemovedEvent.java | 2 +- src/main/java/org/scijava/module/event/ModulesUpdatedEvent.java | 2 +- .../org/scijava/module/process/AbstractPostprocessorPlugin.java | 2 +- .../org/scijava/module/process/AbstractPreprocessorPlugin.java | 2 +- .../scijava/module/process/AbstractSingleInputPreprocessor.java | 2 +- .../org/scijava/module/process/CheckInputsPreprocessor.java | 2 +- .../java/org/scijava/module/process/DebugPostprocessor.java | 2 +- src/main/java/org/scijava/module/process/DebugPreprocessor.java | 2 +- .../org/scijava/module/process/DefaultValuePreprocessor.java | 2 +- .../java/org/scijava/module/process/GatewayPreprocessor.java | 2 +- src/main/java/org/scijava/module/process/InitPreprocessor.java | 2 +- .../java/org/scijava/module/process/LoadInputsPreprocessor.java | 2 +- .../java/org/scijava/module/process/LoggerPreprocessor.java | 2 +- .../java/org/scijava/module/process/ModulePostprocessor.java | 2 +- .../java/org/scijava/module/process/ModulePreprocessor.java | 2 +- src/main/java/org/scijava/module/process/ModuleProcessor.java | 2 +- .../java/org/scijava/module/process/PostprocessorPlugin.java | 2 +- .../java/org/scijava/module/process/PreprocessorPlugin.java | 2 +- .../java/org/scijava/module/process/SaveInputsPreprocessor.java | 2 +- .../java/org/scijava/module/process/ServicePreprocessor.java | 2 +- .../java/org/scijava/module/process/ValidityPreprocessor.java | 2 +- src/main/java/org/scijava/module/run/ModuleCodeRunner.java | 2 +- src/main/java/org/scijava/object/DefaultObjectService.java | 2 +- src/main/java/org/scijava/object/LazyObjects.java | 2 +- src/main/java/org/scijava/object/NamedObjectIndex.java | 2 +- src/main/java/org/scijava/object/ObjectIndex.java | 2 +- src/main/java/org/scijava/object/ObjectService.java | 2 +- src/main/java/org/scijava/object/SortedObjectIndex.java | 2 +- src/main/java/org/scijava/object/event/ListEvent.java | 2 +- src/main/java/org/scijava/object/event/ObjectCreatedEvent.java | 2 +- src/main/java/org/scijava/object/event/ObjectDeletedEvent.java | 2 +- src/main/java/org/scijava/object/event/ObjectEvent.java | 2 +- src/main/java/org/scijava/object/event/ObjectModifiedEvent.java | 2 +- src/main/java/org/scijava/object/event/ObjectsAddedEvent.java | 2 +- src/main/java/org/scijava/object/event/ObjectsListEvent.java | 2 +- src/main/java/org/scijava/object/event/ObjectsRemovedEvent.java | 2 +- src/main/java/org/scijava/options/DefaultOptionsService.java | 2 +- src/main/java/org/scijava/options/OptionsPlugin.java | 2 +- src/main/java/org/scijava/options/OptionsService.java | 2 +- src/main/java/org/scijava/options/event/OptionsEvent.java | 2 +- src/main/java/org/scijava/parse/DefaultParseService.java | 2 +- src/main/java/org/scijava/parse/Item.java | 2 +- src/main/java/org/scijava/parse/Items.java | 2 +- src/main/java/org/scijava/parse/ParseService.java | 2 +- src/main/java/org/scijava/platform/AbstractPlatform.java | 2 +- src/main/java/org/scijava/platform/AppEventService.java | 2 +- src/main/java/org/scijava/platform/DefaultAppEventService.java | 2 +- src/main/java/org/scijava/platform/DefaultPlatform.java | 2 +- src/main/java/org/scijava/platform/DefaultPlatformService.java | 2 +- src/main/java/org/scijava/platform/Platform.java | 2 +- src/main/java/org/scijava/platform/PlatformService.java | 2 +- src/main/java/org/scijava/platform/event/AppAboutEvent.java | 2 +- src/main/java/org/scijava/platform/event/AppFocusEvent.java | 2 +- .../java/org/scijava/platform/event/AppMenusCreatedEvent.java | 2 +- src/main/java/org/scijava/platform/event/AppOpenFilesEvent.java | 2 +- .../java/org/scijava/platform/event/AppPreferencesEvent.java | 2 +- src/main/java/org/scijava/platform/event/AppPrintEvent.java | 2 +- src/main/java/org/scijava/platform/event/AppQuitEvent.java | 2 +- src/main/java/org/scijava/platform/event/AppReOpenEvent.java | 2 +- .../java/org/scijava/platform/event/AppScreenSleepEvent.java | 2 +- src/main/java/org/scijava/platform/event/AppSleepEvent.java | 2 +- .../java/org/scijava/platform/event/AppSystemSleepEvent.java | 2 +- .../java/org/scijava/platform/event/AppUserSessionEvent.java | 2 +- src/main/java/org/scijava/platform/event/AppVisibleEvent.java | 2 +- src/main/java/org/scijava/platform/event/ApplicationEvent.java | 2 +- src/main/java/org/scijava/plugin/AbstractHandlerPlugin.java | 2 +- src/main/java/org/scijava/plugin/AbstractHandlerService.java | 2 +- src/main/java/org/scijava/plugin/AbstractPTService.java | 2 +- src/main/java/org/scijava/plugin/AbstractRichPlugin.java | 2 +- src/main/java/org/scijava/plugin/AbstractSingletonService.java | 2 +- src/main/java/org/scijava/plugin/AbstractTypedPlugin.java | 2 +- src/main/java/org/scijava/plugin/AbstractTypedService.java | 2 +- src/main/java/org/scijava/plugin/AbstractWrapperPlugin.java | 2 +- src/main/java/org/scijava/plugin/AbstractWrapperService.java | 2 +- src/main/java/org/scijava/plugin/Attr.java | 2 +- src/main/java/org/scijava/plugin/DefaultPluginFinder.java | 2 +- src/main/java/org/scijava/plugin/DefaultPluginService.java | 2 +- src/main/java/org/scijava/plugin/HandlerPlugin.java | 2 +- src/main/java/org/scijava/plugin/HandlerService.java | 2 +- src/main/java/org/scijava/plugin/HasPluginInfo.java | 2 +- src/main/java/org/scijava/plugin/Menu.java | 2 +- src/main/java/org/scijava/plugin/PTService.java | 2 +- src/main/java/org/scijava/plugin/Parameter.java | 2 +- src/main/java/org/scijava/plugin/Plugin.java | 2 +- src/main/java/org/scijava/plugin/PluginFinder.java | 2 +- src/main/java/org/scijava/plugin/PluginIndex.java | 2 +- src/main/java/org/scijava/plugin/PluginInfo.java | 2 +- src/main/java/org/scijava/plugin/PluginService.java | 2 +- src/main/java/org/scijava/plugin/RichPlugin.java | 2 +- src/main/java/org/scijava/plugin/SciJavaPlugin.java | 2 +- src/main/java/org/scijava/plugin/SingletonPlugin.java | 2 +- src/main/java/org/scijava/plugin/SingletonService.java | 2 +- src/main/java/org/scijava/plugin/SortablePlugin.java | 2 +- src/main/java/org/scijava/plugin/TypedPlugin.java | 2 +- src/main/java/org/scijava/plugin/TypedService.java | 2 +- src/main/java/org/scijava/plugin/WrapperPlugin.java | 2 +- src/main/java/org/scijava/plugin/WrapperService.java | 2 +- src/main/java/org/scijava/plugin/event/PluginsAddedEvent.java | 2 +- src/main/java/org/scijava/plugin/event/PluginsListEvent.java | 2 +- src/main/java/org/scijava/plugin/event/PluginsRemovedEvent.java | 2 +- src/main/java/org/scijava/prefs/AbstractPrefService.java | 2 +- src/main/java/org/scijava/prefs/DefaultPrefService.java | 2 +- src/main/java/org/scijava/prefs/PrefService.java | 2 +- src/main/java/org/scijava/run/AbstractCodeRunner.java | 2 +- src/main/java/org/scijava/run/CodeRunner.java | 2 +- src/main/java/org/scijava/run/DefaultRunService.java | 2 +- src/main/java/org/scijava/run/RunService.java | 2 +- src/main/java/org/scijava/run/console/RunArgument.java | 2 +- src/main/java/org/scijava/script/AbstractAutoCompleter.java | 2 +- src/main/java/org/scijava/script/AbstractScriptContext.java | 2 +- src/main/java/org/scijava/script/AbstractScriptEngine.java | 2 +- src/main/java/org/scijava/script/AbstractScriptHeader.java | 2 +- src/main/java/org/scijava/script/AbstractScriptLanguage.java | 2 +- src/main/java/org/scijava/script/AdaptedScriptEngine.java | 2 +- src/main/java/org/scijava/script/AdaptedScriptLanguage.java | 2 +- src/main/java/org/scijava/script/AutoCompleter.java | 2 +- src/main/java/org/scijava/script/AutoCompletionResult.java | 2 +- src/main/java/org/scijava/script/CodeGenerator.java | 2 +- src/main/java/org/scijava/script/CodeGeneratorJava.java | 2 +- src/main/java/org/scijava/script/DefaultAutoCompleter.java | 2 +- .../java/org/scijava/script/DefaultScriptHeaderService.java | 2 +- src/main/java/org/scijava/script/DefaultScriptInterpreter.java | 2 +- src/main/java/org/scijava/script/DefaultScriptService.java | 2 +- src/main/java/org/scijava/script/InvocationObject.java | 2 +- src/main/java/org/scijava/script/ParameterObject.java | 2 +- src/main/java/org/scijava/script/ScriptCLI.java | 2 +- src/main/java/org/scijava/script/ScriptFinder.java | 2 +- src/main/java/org/scijava/script/ScriptHeader.java | 2 +- src/main/java/org/scijava/script/ScriptHeaderService.java | 2 +- src/main/java/org/scijava/script/ScriptInfo.java | 2 +- src/main/java/org/scijava/script/ScriptInterpreter.java | 2 +- src/main/java/org/scijava/script/ScriptLanguage.java | 2 +- src/main/java/org/scijava/script/ScriptLanguageIndex.java | 2 +- src/main/java/org/scijava/script/ScriptModule.java | 2 +- src/main/java/org/scijava/script/ScriptREPL.java | 2 +- src/main/java/org/scijava/script/ScriptService.java | 2 +- src/main/java/org/scijava/script/console/RunScriptArgument.java | 2 +- src/main/java/org/scijava/script/io/ScriptIOPlugin.java | 2 +- .../scijava/script/process/DefaultScriptProcessorService.java | 2 +- .../org/scijava/script/process/DirectiveScriptProcessor.java | 2 +- .../org/scijava/script/process/ParameterScriptProcessor.java | 2 +- src/main/java/org/scijava/script/process/ScriptCallback.java | 2 +- .../scijava/script/process/ScriptDirectiveScriptProcessor.java | 2 +- src/main/java/org/scijava/script/process/ScriptProcessor.java | 2 +- .../java/org/scijava/script/process/ScriptProcessorService.java | 2 +- .../java/org/scijava/script/process/ShebangScriptProcessor.java | 2 +- src/main/java/org/scijava/script/run/ScriptCodeRunner.java | 2 +- src/main/java/org/scijava/service/AbstractService.java | 2 +- src/main/java/org/scijava/service/SciJavaService.java | 2 +- src/main/java/org/scijava/service/Service.java | 2 +- src/main/java/org/scijava/service/ServiceHelper.java | 2 +- src/main/java/org/scijava/service/ServiceIndex.java | 2 +- .../java/org/scijava/service/event/ServicesLoadedEvent.java | 2 +- src/main/java/org/scijava/startup/DefaultStartupService.java | 2 +- src/main/java/org/scijava/startup/StartupService.java | 2 +- src/main/java/org/scijava/task/DefaultTask.java | 2 +- src/main/java/org/scijava/task/DefaultTaskService.java | 2 +- src/main/java/org/scijava/task/Task.java | 2 +- src/main/java/org/scijava/task/TaskService.java | 2 +- src/main/java/org/scijava/task/event/TaskEvent.java | 2 +- src/main/java/org/scijava/test/TestUtils.java | 2 +- src/main/java/org/scijava/text/AbstractTextFormat.java | 2 +- src/main/java/org/scijava/text/DefaultTextService.java | 2 +- src/main/java/org/scijava/text/TextFormat.java | 2 +- src/main/java/org/scijava/text/TextService.java | 2 +- src/main/java/org/scijava/text/io/DefaultTextIOService.java | 2 +- src/main/java/org/scijava/text/io/TextIOPlugin.java | 2 +- src/main/java/org/scijava/text/io/TextIOService.java | 2 +- src/main/java/org/scijava/thread/DefaultThreadService.java | 2 +- src/main/java/org/scijava/thread/ThreadService.java | 2 +- src/main/java/org/scijava/tool/AbstractTool.java | 2 +- src/main/java/org/scijava/tool/CustomDrawnTool.java | 2 +- src/main/java/org/scijava/tool/DefaultToolService.java | 2 +- src/main/java/org/scijava/tool/DummyTool.java | 2 +- src/main/java/org/scijava/tool/IconDrawer.java | 2 +- src/main/java/org/scijava/tool/IconService.java | 2 +- src/main/java/org/scijava/tool/Tool.java | 2 +- src/main/java/org/scijava/tool/ToolService.java | 2 +- src/main/java/org/scijava/tool/event/ToolActivatedEvent.java | 2 +- src/main/java/org/scijava/tool/event/ToolDeactivatedEvent.java | 2 +- src/main/java/org/scijava/tool/event/ToolEvent.java | 2 +- src/main/java/org/scijava/ui/ARGBPlane.java | 2 +- src/main/java/org/scijava/ui/AbstractInputHarvesterPlugin.java | 2 +- src/main/java/org/scijava/ui/AbstractUIInputWidget.java | 2 +- src/main/java/org/scijava/ui/AbstractUserInterface.java | 2 +- src/main/java/org/scijava/ui/ApplicationFrame.java | 2 +- src/main/java/org/scijava/ui/Arrangeable.java | 2 +- src/main/java/org/scijava/ui/CloseConfirmable.java | 2 +- src/main/java/org/scijava/ui/DefaultUIService.java | 2 +- src/main/java/org/scijava/ui/Desktop.java | 2 +- src/main/java/org/scijava/ui/DialogPrompt.java | 2 +- src/main/java/org/scijava/ui/FileListPreprocessor.java | 2 +- src/main/java/org/scijava/ui/FilePreprocessor.java | 2 +- src/main/java/org/scijava/ui/StatusBar.java | 2 +- src/main/java/org/scijava/ui/SystemClipboard.java | 2 +- src/main/java/org/scijava/ui/ToolBar.java | 2 +- src/main/java/org/scijava/ui/UIPreprocessor.java | 2 +- src/main/java/org/scijava/ui/UIService.java | 2 +- src/main/java/org/scijava/ui/UserInterface.java | 2 +- src/main/java/org/scijava/ui/console/AbstractConsolePane.java | 2 +- src/main/java/org/scijava/ui/console/ConsolePane.java | 2 +- src/main/java/org/scijava/ui/console/HeadlessArgument.java | 2 +- src/main/java/org/scijava/ui/console/ShowUIArgument.java | 2 +- src/main/java/org/scijava/ui/console/UIArgument.java | 2 +- src/main/java/org/scijava/ui/dnd/AbstractDragAndDropData.java | 2 +- .../java/org/scijava/ui/dnd/AbstractDragAndDropHandler.java | 2 +- src/main/java/org/scijava/ui/dnd/DefaultDragAndDropData.java | 2 +- src/main/java/org/scijava/ui/dnd/DefaultDragAndDropService.java | 2 +- src/main/java/org/scijava/ui/dnd/DragAndDropData.java | 2 +- src/main/java/org/scijava/ui/dnd/DragAndDropHandler.java | 2 +- src/main/java/org/scijava/ui/dnd/DragAndDropService.java | 2 +- src/main/java/org/scijava/ui/dnd/FileDragAndDropHandler.java | 2 +- src/main/java/org/scijava/ui/dnd/ListDragAndDropHandler.java | 2 +- src/main/java/org/scijava/ui/dnd/MIMEType.java | 2 +- .../java/org/scijava/ui/dnd/ScriptFileDragAndDropHandler.java | 2 +- src/main/java/org/scijava/ui/dnd/event/DragAndDropEvent.java | 2 +- src/main/java/org/scijava/ui/dnd/event/DragEnterEvent.java | 2 +- src/main/java/org/scijava/ui/dnd/event/DragExitEvent.java | 2 +- src/main/java/org/scijava/ui/dnd/event/DragOverEvent.java | 2 +- src/main/java/org/scijava/ui/dnd/event/DropEvent.java | 2 +- src/main/java/org/scijava/ui/event/UIEvent.java | 2 +- src/main/java/org/scijava/ui/event/UIShownEvent.java | 2 +- .../java/org/scijava/ui/headless/HeadlessDisplayViewer.java | 2 +- src/main/java/org/scijava/ui/headless/HeadlessUI.java | 2 +- src/main/java/org/scijava/ui/headlessUI/HeadlessUI.java | 2 +- src/main/java/org/scijava/ui/viewer/AbstractDisplayViewer.java | 2 +- src/main/java/org/scijava/ui/viewer/DisplayPanel.java | 2 +- src/main/java/org/scijava/ui/viewer/DisplayViewer.java | 2 +- src/main/java/org/scijava/ui/viewer/DisplayWindow.java | 2 +- .../org/scijava/ui/viewer/text/AbstractTextDisplayViewer.java | 2 +- src/main/java/org/scijava/ui/viewer/text/TextDisplayPanel.java | 2 +- src/main/java/org/scijava/ui/viewer/text/TextDisplayViewer.java | 2 +- src/main/java/org/scijava/util/AbstractPrimitiveArray.java | 2 +- src/main/java/org/scijava/util/AppUtils.java | 2 +- src/main/java/org/scijava/util/ArrayUtils.java | 2 +- src/main/java/org/scijava/util/BoolArray.java | 2 +- src/main/java/org/scijava/util/ByteArray.java | 2 +- src/main/java/org/scijava/util/Bytes.java | 2 +- src/main/java/org/scijava/util/CharArray.java | 2 +- src/main/java/org/scijava/util/CheckSezpoz.java | 2 +- src/main/java/org/scijava/util/ClassUtils.java | 2 +- src/main/java/org/scijava/util/ColorRGB.java | 2 +- src/main/java/org/scijava/util/ColorRGBA.java | 2 +- src/main/java/org/scijava/util/Colors.java | 2 +- src/main/java/org/scijava/util/CombineAnnotations.java | 2 +- src/main/java/org/scijava/util/Combiner.java | 2 +- src/main/java/org/scijava/util/ConversionUtils.java | 2 +- src/main/java/org/scijava/util/DebugUtils.java | 2 +- src/main/java/org/scijava/util/DefaultTreeNode.java | 2 +- src/main/java/org/scijava/util/DigestUtils.java | 2 +- src/main/java/org/scijava/util/DoubleArray.java | 2 +- src/main/java/org/scijava/util/FileUtils.java | 2 +- src/main/java/org/scijava/util/FloatArray.java | 2 +- src/main/java/org/scijava/util/GenericUtils.java | 2 +- src/main/java/org/scijava/util/IntArray.java | 2 +- src/main/java/org/scijava/util/IntCoords.java | 2 +- src/main/java/org/scijava/util/IntRect.java | 2 +- src/main/java/org/scijava/util/IteratorPlus.java | 2 +- src/main/java/org/scijava/util/LastRecentlyUsed.java | 2 +- src/main/java/org/scijava/util/LineOutputStream.java | 2 +- src/main/java/org/scijava/util/ListUtils.java | 2 +- src/main/java/org/scijava/util/LongArray.java | 2 +- src/main/java/org/scijava/util/Manifest.java | 2 +- src/main/java/org/scijava/util/MersenneTwisterFast.java | 2 +- src/main/java/org/scijava/util/MetaInfCombiner.java | 2 +- src/main/java/org/scijava/util/MirrorWebsite.java | 2 +- src/main/java/org/scijava/util/MiscUtils.java | 2 +- src/main/java/org/scijava/util/NumberUtils.java | 2 +- src/main/java/org/scijava/util/ObjectArray.java | 2 +- src/main/java/org/scijava/util/POM.java | 2 +- src/main/java/org/scijava/util/PlatformUtils.java | 2 +- src/main/java/org/scijava/util/Prefs.java | 2 +- src/main/java/org/scijava/util/PrimitiveArray.java | 2 +- src/main/java/org/scijava/util/ProcessUtils.java | 2 +- src/main/java/org/scijava/util/Query.java | 2 +- src/main/java/org/scijava/util/ReadInto.java | 2 +- src/main/java/org/scijava/util/RealCoords.java | 2 +- src/main/java/org/scijava/util/RealRect.java | 2 +- src/main/java/org/scijava/util/ReflectException.java | 2 +- src/main/java/org/scijava/util/ReflectedUniverse.java | 2 +- src/main/java/org/scijava/util/ServiceCombiner.java | 2 +- src/main/java/org/scijava/util/ShortArray.java | 2 +- src/main/java/org/scijava/util/Sizable.java | 2 +- src/main/java/org/scijava/util/SizableArrayList.java | 2 +- src/main/java/org/scijava/util/StringMaker.java | 2 +- src/main/java/org/scijava/util/StringUtils.java | 2 +- src/main/java/org/scijava/util/Timing.java | 2 +- src/main/java/org/scijava/util/TreeNode.java | 2 +- src/main/java/org/scijava/util/TunePlayer.java | 2 +- src/main/java/org/scijava/util/Types.java | 2 +- src/main/java/org/scijava/util/UnitUtils.java | 2 +- src/main/java/org/scijava/util/VersionUtils.java | 2 +- src/main/java/org/scijava/util/XML.java | 2 +- src/main/java/org/scijava/welcome/DefaultWelcomeService.java | 2 +- src/main/java/org/scijava/welcome/WelcomeService.java | 2 +- src/main/java/org/scijava/welcome/event/WelcomeEvent.java | 2 +- src/main/java/org/scijava/widget/AbstractInputHarvester.java | 2 +- src/main/java/org/scijava/widget/AbstractInputPanel.java | 2 +- src/main/java/org/scijava/widget/AbstractInputWidget.java | 2 +- src/main/java/org/scijava/widget/Button.java | 2 +- src/main/java/org/scijava/widget/ButtonWidget.java | 2 +- src/main/java/org/scijava/widget/ChoiceWidget.java | 2 +- src/main/java/org/scijava/widget/ColorWidget.java | 2 +- src/main/java/org/scijava/widget/DateWidget.java | 2 +- src/main/java/org/scijava/widget/DefaultWidgetModel.java | 2 +- src/main/java/org/scijava/widget/DefaultWidgetService.java | 2 +- src/main/java/org/scijava/widget/FileListWidget.java | 2 +- src/main/java/org/scijava/widget/FileWidget.java | 2 +- src/main/java/org/scijava/widget/InputHarvester.java | 2 +- src/main/java/org/scijava/widget/InputPanel.java | 2 +- src/main/java/org/scijava/widget/InputWidget.java | 2 +- src/main/java/org/scijava/widget/MessageWidget.java | 2 +- src/main/java/org/scijava/widget/NumberWidget.java | 2 +- src/main/java/org/scijava/widget/ObjectWidget.java | 2 +- src/main/java/org/scijava/widget/TextWidget.java | 2 +- src/main/java/org/scijava/widget/ToggleWidget.java | 2 +- src/main/java/org/scijava/widget/UIComponent.java | 2 +- src/main/java/org/scijava/widget/WidgetModel.java | 2 +- src/main/java/org/scijava/widget/WidgetService.java | 2 +- src/main/java/org/scijava/widget/WidgetStyle.java | 2 +- src/test/java/org/scijava/ContextCreationTest.java | 2 +- src/test/java/org/scijava/ContextDisposalTest.java | 2 +- src/test/java/org/scijava/ContextInjectionTest.java | 2 +- src/test/java/org/scijava/SciJavaTest.java | 2 +- src/test/java/org/scijava/annotations/AnnotatedA.java | 2 +- src/test/java/org/scijava/annotations/AnnotatedB.java | 2 +- src/test/java/org/scijava/annotations/AnnotatedC.java | 2 +- src/test/java/org/scijava/annotations/AnnotatedD.java | 2 +- src/test/java/org/scijava/annotations/AnnotatedInnerClass.java | 2 +- src/test/java/org/scijava/annotations/Complex.java | 2 +- src/test/java/org/scijava/annotations/DirectoryIndexerTest.java | 2 +- src/test/java/org/scijava/annotations/EclipseHelperTest.java | 2 +- src/test/java/org/scijava/annotations/Fruit.java | 2 +- src/test/java/org/scijava/annotations/LegacyTest.java | 2 +- src/test/java/org/scijava/annotations/Simple.java | 2 +- src/test/java/org/scijava/app/StatusServiceTest.java | 2 +- .../java/org/scijava/command/CommandArrayConverterTest.java | 2 +- src/test/java/org/scijava/command/CommandInfoTest.java | 2 +- src/test/java/org/scijava/command/CommandModuleTest.java | 2 +- src/test/java/org/scijava/command/CommandServiceTest.java | 2 +- src/test/java/org/scijava/command/InputsTest.java | 2 +- src/test/java/org/scijava/command/InvalidCommandTest.java | 2 +- .../java/org/scijava/command/run/CommandCodeRunnerTest.java | 2 +- src/test/java/org/scijava/console/ConsoleServiceTest.java | 2 +- .../java/org/scijava/console/SystemPropertyArgumentTest.java | 2 +- .../java/org/scijava/convert/AbstractNumberConverterTests.java | 2 +- .../java/org/scijava/convert/ArrayToStringConverterTest.java | 2 +- .../scijava/convert/BigIntegerToBigDecimalConverterTest.java | 2 +- .../java/org/scijava/convert/ByteToBigDecimalConverterTest.java | 2 +- .../java/org/scijava/convert/ByteToBigIntegerConverterTest.java | 2 +- .../java/org/scijava/convert/ByteToDoubleConverterTest.java | 2 +- src/test/java/org/scijava/convert/ByteToFloatConverterTest.java | 2 +- .../java/org/scijava/convert/ByteToIntegerConverterTest.java | 2 +- src/test/java/org/scijava/convert/ByteToLongConverterTest.java | 2 +- src/test/java/org/scijava/convert/ByteToShortConverterTest.java | 2 +- src/test/java/org/scijava/convert/ConvertServiceTest.java | 2 +- src/test/java/org/scijava/convert/ConverterTest.java | 2 +- src/test/java/org/scijava/convert/DefaultConverterTest.java | 2 +- src/test/java/org/scijava/convert/DelegateConverterTest.java | 2 +- .../org/scijava/convert/DoubleToBigDecimalConverterTest.java | 2 +- src/test/java/org/scijava/convert/FileListConverterTest.java | 2 +- src/test/java/org/scijava/convert/FileToPathConversionTest.java | 2 +- .../org/scijava/convert/FloatToBigDecimalConverterTest.java | 2 +- .../java/org/scijava/convert/FloatToDoubleConverterTest.java | 2 +- .../org/scijava/convert/IntegerToBigDecimalConverterTest.java | 2 +- .../org/scijava/convert/IntegerToBigIntegerConverterTest.java | 2 +- .../java/org/scijava/convert/IntegerToDoubleConverterTest.java | 2 +- .../java/org/scijava/convert/IntegerToLongConverterTest.java | 2 +- .../java/org/scijava/convert/LongToBigDecimalConverterTest.java | 2 +- .../java/org/scijava/convert/LongToBigIntegerConverterTest.java | 2 +- .../org/scijava/convert/ShortToBigDecimalConverterTest.java | 2 +- .../org/scijava/convert/ShortToBigIntegerConverterTest.java | 2 +- .../java/org/scijava/convert/ShortToDoubleConverterTest.java | 2 +- .../java/org/scijava/convert/ShortToFloatConverterTest.java | 2 +- .../java/org/scijava/convert/ShortToIntegerConverterTest.java | 2 +- src/test/java/org/scijava/convert/ShortToLongConverterTest.java | 2 +- .../java/org/scijava/convert/StringToArrayConverterTest.java | 2 +- .../java/org/scijava/convert/StringToNumberConverterTest.java | 2 +- src/test/java/org/scijava/display/DisplayTest.java | 2 +- src/test/java/org/scijava/download/DownloadServiceTest.java | 2 +- src/test/java/org/scijava/event/EventServiceTest.java | 2 +- src/test/java/org/scijava/io/ByteArrayByteBankTest.java | 2 +- src/test/java/org/scijava/io/ByteBankTest.java | 2 +- src/test/java/org/scijava/io/IOServiceTest.java | 2 +- src/test/java/org/scijava/io/TypedIOServiceTest.java | 2 +- src/test/java/org/scijava/io/event/DataEventTest.java | 2 +- src/test/java/org/scijava/io/handle/BytesHandleTest.java | 2 +- .../java/org/scijava/io/handle/DataHandleEdgeCaseTests.java | 2 +- src/test/java/org/scijava/io/handle/DataHandleTest.java | 2 +- src/test/java/org/scijava/io/handle/DataHandlesTest.java | 2 +- src/test/java/org/scijava/io/handle/FileHandleTest.java | 2 +- .../org/scijava/io/handle/ReadBufferDataHandleMockTest.java | 2 +- .../java/org/scijava/io/handle/ReadBufferDataHandleTest.java | 2 +- .../java/org/scijava/io/handle/WriteBufferDataHandleTest.java | 2 +- src/test/java/org/scijava/io/location/BytesLocationTest.java | 2 +- .../java/org/scijava/io/location/FileLocationResolverTest.java | 2 +- src/test/java/org/scijava/io/location/FileLocationTest.java | 2 +- src/test/java/org/scijava/io/location/LocationServiceTest.java | 2 +- src/test/java/org/scijava/io/location/URILocationTest.java | 2 +- src/test/java/org/scijava/io/location/URLLocationTest.java | 2 +- src/test/java/org/scijava/io/nio/ByteBufferByteBankTest.java | 2 +- src/test/java/org/scijava/log/CallingClassUtilsTest.java | 2 +- src/test/java/org/scijava/log/DefaultLoggerTest.java | 2 +- src/test/java/org/scijava/log/LogMessageTest.java | 2 +- src/test/java/org/scijava/log/LogServiceTest.java | 2 +- src/test/java/org/scijava/log/LogSourceTest.java | 2 +- src/test/java/org/scijava/log/StderrLogServiceTest.java | 2 +- src/test/java/org/scijava/log/TestLogListener.java | 2 +- src/test/java/org/scijava/main/MainServiceTest.java | 2 +- src/test/java/org/scijava/main/run/MainCodeRunnerTest.java | 2 +- src/test/java/org/scijava/menu/MenuServiceTest.java | 2 +- src/test/java/org/scijava/menu/ShadowMenuTest.java | 2 +- src/test/java/org/scijava/module/ModuleServiceTest.java | 2 +- .../java/org/scijava/module/event/ModuleErroredEventTest.java | 2 +- .../java/org/scijava/module/process/LoggerPreprocessorTest.java | 2 +- src/test/java/org/scijava/module/run/ModuleCodeRunnerTest.java | 2 +- src/test/java/org/scijava/object/NamedObjectIndexTest.java | 2 +- src/test/java/org/scijava/object/ObjectIndexTest.java | 2 +- src/test/java/org/scijava/object/ObjectServiceTest.java | 2 +- src/test/java/org/scijava/object/SortedObjectIndexTest.java | 2 +- src/test/java/org/scijava/options/OptionsTest.java | 2 +- src/test/java/org/scijava/parse/ParseServiceTest.java | 2 +- src/test/java/org/scijava/plugin/PluginFinderTest.java | 2 +- src/test/java/org/scijava/plugin/PluginIndexTest.java | 2 +- src/test/java/org/scijava/plugin/PluginInfoTest.java | 2 +- src/test/java/org/scijava/plugin/SingletonServiceTest.java | 2 +- src/test/java/org/scijava/prefs/PrefServiceTest.java | 2 +- src/test/java/org/scijava/run/RunServiceTest.java | 2 +- .../java/org/scijava/script/AbstractScriptLanguageTest.java | 2 +- src/test/java/org/scijava/script/ScriptEngineTest.java | 2 +- src/test/java/org/scijava/script/ScriptFinderTest.java | 2 +- src/test/java/org/scijava/script/ScriptInfoTest.java | 2 +- src/test/java/org/scijava/script/ScriptServiceTest.java | 2 +- .../scijava/script/process/ParameterScriptProcessorTest.java | 2 +- src/test/java/org/scijava/service/ServiceIndexTest.java | 2 +- src/test/java/org/scijava/task/TaskEventTest.java | 2 +- src/test/java/org/scijava/task/TaskServiceTest.java | 2 +- src/test/java/org/scijava/test/AbstractSciJavaTest.java | 2 +- src/test/java/org/scijava/test/TestUtilsTest.java | 2 +- src/test/java/org/scijava/text/TextServiceTest.java | 2 +- src/test/java/org/scijava/thread/ThreadServiceTest.java | 2 +- src/test/java/org/scijava/ui/UIServiceTest.java | 2 +- src/test/java/org/scijava/util/AppUtilsTest.java | 2 +- src/test/java/org/scijava/util/ArrayUtilsTest.java | 2 +- src/test/java/org/scijava/util/BoolArrayTest.java | 2 +- src/test/java/org/scijava/util/ByteArrayTest.java | 2 +- src/test/java/org/scijava/util/CharArrayTest.java | 2 +- src/test/java/org/scijava/util/ClassUtilsTest.java | 2 +- src/test/java/org/scijava/util/ColorRGBTest.java | 2 +- src/test/java/org/scijava/util/ConversionUtilsTest.java | 2 +- src/test/java/org/scijava/util/DigestUtilsTest.java | 2 +- src/test/java/org/scijava/util/DoubleArrayTest.java | 2 +- src/test/java/org/scijava/util/FileUtilsTest.java | 2 +- src/test/java/org/scijava/util/FloatArrayTest.java | 2 +- src/test/java/org/scijava/util/GenericArrayTypesTest.java | 2 +- src/test/java/org/scijava/util/IntArrayTest.java | 2 +- src/test/java/org/scijava/util/LastRecentlyUsedTest.java | 2 +- src/test/java/org/scijava/util/LongArrayTest.java | 2 +- src/test/java/org/scijava/util/NumberUtilsTest.java | 2 +- src/test/java/org/scijava/util/ObjectArrayTest.java | 2 +- src/test/java/org/scijava/util/POMTest.java | 2 +- src/test/java/org/scijava/util/PrimitiveArrayTest.java | 2 +- src/test/java/org/scijava/util/ProcessUtilsTest.java | 2 +- src/test/java/org/scijava/util/ShortArrayTest.java | 2 +- src/test/java/org/scijava/util/StringUtilsTest.java | 2 +- src/test/java/org/scijava/util/TypesTest.java | 2 +- src/test/java/org/scijava/util/UnitUtilsTest.java | 2 +- src/test/java/org/scijava/util/VersionUtilsTest.java | 2 +- src/test/java/org/scijava/widget/WidgetStyleTest.java | 2 +- 755 files changed, 755 insertions(+), 755 deletions(-) diff --git a/src/it/apt-test/pom.xml b/src/it/apt-test/pom.xml index 514f2c7d7..0ce0ce63c 100644 --- a/src/it/apt-test/pom.xml +++ b/src/it/apt-test/pom.xml @@ -3,7 +3,7 @@ #%L SciJava Common shared library for SciJava software. %% - Copyright (C) 2009 - 2023 SciJava developers. + Copyright (C) 2009 - 2024 SciJava developers. %% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: diff --git a/src/it/apt-test/setup.bsh b/src/it/apt-test/setup.bsh index 245d04040..fed9016f3 100644 --- a/src/it/apt-test/setup.bsh +++ b/src/it/apt-test/setup.bsh @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/it/apt-test/src/main/java/org/scijava/annotation/its/Annotated.java b/src/it/apt-test/src/main/java/org/scijava/annotation/its/Annotated.java index 0f899650e..86df895da 100644 --- a/src/it/apt-test/src/main/java/org/scijava/annotation/its/Annotated.java +++ b/src/it/apt-test/src/main/java/org/scijava/annotation/its/Annotated.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/it/apt-test/src/main/java/org/scijava/annotation/its/CustomAnnotation.java b/src/it/apt-test/src/main/java/org/scijava/annotation/its/CustomAnnotation.java index bad45ed0b..451e17e42 100644 --- a/src/it/apt-test/src/main/java/org/scijava/annotation/its/CustomAnnotation.java +++ b/src/it/apt-test/src/main/java/org/scijava/annotation/its/CustomAnnotation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/it/apt-test/verify.bsh b/src/it/apt-test/verify.bsh index 399db31d8..a91b6f012 100644 --- a/src/it/apt-test/verify.bsh +++ b/src/it/apt-test/verify.bsh @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/it/settings.xml b/src/it/settings.xml index fb751e065..69b227865 100644 --- a/src/it/settings.xml +++ b/src/it/settings.xml @@ -3,7 +3,7 @@ #%L SciJava Common shared library for SciJava software. %% - Copyright (C) 2009 - 2023 SciJava developers. + Copyright (C) 2009 - 2024 SciJava developers. %% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/AbstractBasicDetails.java b/src/main/java/org/scijava/AbstractBasicDetails.java index f3b30998c..cea966d7b 100644 --- a/src/main/java/org/scijava/AbstractBasicDetails.java +++ b/src/main/java/org/scijava/AbstractBasicDetails.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/AbstractContextual.java b/src/main/java/org/scijava/AbstractContextual.java index b550ae26f..23a9076ba 100644 --- a/src/main/java/org/scijava/AbstractContextual.java +++ b/src/main/java/org/scijava/AbstractContextual.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/AbstractGateway.java b/src/main/java/org/scijava/AbstractGateway.java index 766597967..d6ee9b0fb 100644 --- a/src/main/java/org/scijava/AbstractGateway.java +++ b/src/main/java/org/scijava/AbstractGateway.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/AbstractUIDetails.java b/src/main/java/org/scijava/AbstractUIDetails.java index d6afda127..7fd19bfdd 100644 --- a/src/main/java/org/scijava/AbstractUIDetails.java +++ b/src/main/java/org/scijava/AbstractUIDetails.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/BasicDetails.java b/src/main/java/org/scijava/BasicDetails.java index e6c96fbf1..de28e93bd 100644 --- a/src/main/java/org/scijava/BasicDetails.java +++ b/src/main/java/org/scijava/BasicDetails.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Cancelable.java b/src/main/java/org/scijava/Cancelable.java index 74aef720e..4b2122560 100644 --- a/src/main/java/org/scijava/Cancelable.java +++ b/src/main/java/org/scijava/Cancelable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Context.java b/src/main/java/org/scijava/Context.java index 421ad2b36..561b53fc5 100644 --- a/src/main/java/org/scijava/Context.java +++ b/src/main/java/org/scijava/Context.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Contextual.java b/src/main/java/org/scijava/Contextual.java index 6862b19b8..9b41674da 100644 --- a/src/main/java/org/scijava/Contextual.java +++ b/src/main/java/org/scijava/Contextual.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Disposable.java b/src/main/java/org/scijava/Disposable.java index 6c1f51276..7b3db0a86 100644 --- a/src/main/java/org/scijava/Disposable.java +++ b/src/main/java/org/scijava/Disposable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Gateway.java b/src/main/java/org/scijava/Gateway.java index 657a7faa4..fdb8a624d 100644 --- a/src/main/java/org/scijava/Gateway.java +++ b/src/main/java/org/scijava/Gateway.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Identifiable.java b/src/main/java/org/scijava/Identifiable.java index 5d7b4301d..5e1063ee9 100644 --- a/src/main/java/org/scijava/Identifiable.java +++ b/src/main/java/org/scijava/Identifiable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Initializable.java b/src/main/java/org/scijava/Initializable.java index b8c4bd430..972a192c9 100644 --- a/src/main/java/org/scijava/Initializable.java +++ b/src/main/java/org/scijava/Initializable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Instantiable.java b/src/main/java/org/scijava/Instantiable.java index f51ea2e32..f5dbf14dd 100644 --- a/src/main/java/org/scijava/Instantiable.java +++ b/src/main/java/org/scijava/Instantiable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/InstantiableException.java b/src/main/java/org/scijava/InstantiableException.java index de5d6db8e..087f2321c 100644 --- a/src/main/java/org/scijava/InstantiableException.java +++ b/src/main/java/org/scijava/InstantiableException.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ItemIO.java b/src/main/java/org/scijava/ItemIO.java index bb9b0be69..afcfff5be 100644 --- a/src/main/java/org/scijava/ItemIO.java +++ b/src/main/java/org/scijava/ItemIO.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ItemVisibility.java b/src/main/java/org/scijava/ItemVisibility.java index 764d67bac..d1d025569 100644 --- a/src/main/java/org/scijava/ItemVisibility.java +++ b/src/main/java/org/scijava/ItemVisibility.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Locatable.java b/src/main/java/org/scijava/Locatable.java index ed9212310..1cba5940a 100644 --- a/src/main/java/org/scijava/Locatable.java +++ b/src/main/java/org/scijava/Locatable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/MenuEntry.java b/src/main/java/org/scijava/MenuEntry.java index 236cdbe35..7cecc891c 100644 --- a/src/main/java/org/scijava/MenuEntry.java +++ b/src/main/java/org/scijava/MenuEntry.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/MenuPath.java b/src/main/java/org/scijava/MenuPath.java index cab9983d8..c81406db5 100644 --- a/src/main/java/org/scijava/MenuPath.java +++ b/src/main/java/org/scijava/MenuPath.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Named.java b/src/main/java/org/scijava/Named.java index e0f508e94..ce2a9c689 100644 --- a/src/main/java/org/scijava/Named.java +++ b/src/main/java/org/scijava/Named.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/NoSuchServiceException.java b/src/main/java/org/scijava/NoSuchServiceException.java index 24fb01c00..412ac0e67 100644 --- a/src/main/java/org/scijava/NoSuchServiceException.java +++ b/src/main/java/org/scijava/NoSuchServiceException.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/NullContextException.java b/src/main/java/org/scijava/NullContextException.java index f411e951d..58f5862fb 100644 --- a/src/main/java/org/scijava/NullContextException.java +++ b/src/main/java/org/scijava/NullContextException.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Optional.java b/src/main/java/org/scijava/Optional.java index 4433057a9..04d28e792 100644 --- a/src/main/java/org/scijava/Optional.java +++ b/src/main/java/org/scijava/Optional.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Prioritized.java b/src/main/java/org/scijava/Prioritized.java index cc3e20661..4031ab296 100644 --- a/src/main/java/org/scijava/Prioritized.java +++ b/src/main/java/org/scijava/Prioritized.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Priority.java b/src/main/java/org/scijava/Priority.java index 65ce6c237..7b579848b 100644 --- a/src/main/java/org/scijava/Priority.java +++ b/src/main/java/org/scijava/Priority.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/SciJava.java b/src/main/java/org/scijava/SciJava.java index 11f0d5743..a95841ce0 100644 --- a/src/main/java/org/scijava/SciJava.java +++ b/src/main/java/org/scijava/SciJava.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Typed.java b/src/main/java/org/scijava/Typed.java index f40ca469b..93d9c6339 100644 --- a/src/main/java/org/scijava/Typed.java +++ b/src/main/java/org/scijava/Typed.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/UIDetails.java b/src/main/java/org/scijava/UIDetails.java index 07c444bbd..c20e67efb 100644 --- a/src/main/java/org/scijava/UIDetails.java +++ b/src/main/java/org/scijava/UIDetails.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Validated.java b/src/main/java/org/scijava/Validated.java index f90043370..9873e589b 100644 --- a/src/main/java/org/scijava/Validated.java +++ b/src/main/java/org/scijava/Validated.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ValidityProblem.java b/src/main/java/org/scijava/ValidityProblem.java index 82e8ac134..8efd392d4 100644 --- a/src/main/java/org/scijava/ValidityProblem.java +++ b/src/main/java/org/scijava/ValidityProblem.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Versioned.java b/src/main/java/org/scijava/Versioned.java index 446e91cda..c146f41ed 100644 --- a/src/main/java/org/scijava/Versioned.java +++ b/src/main/java/org/scijava/Versioned.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/AbstractIndexWriter.java b/src/main/java/org/scijava/annotations/AbstractIndexWriter.java index 54cfac128..12f29e5fc 100644 --- a/src/main/java/org/scijava/annotations/AbstractIndexWriter.java +++ b/src/main/java/org/scijava/annotations/AbstractIndexWriter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/AnnotationCombiner.java b/src/main/java/org/scijava/annotations/AnnotationCombiner.java index 66c1d3566..7588b762b 100644 --- a/src/main/java/org/scijava/annotations/AnnotationCombiner.java +++ b/src/main/java/org/scijava/annotations/AnnotationCombiner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/AnnotationProcessor.java b/src/main/java/org/scijava/annotations/AnnotationProcessor.java index 518e29d64..8e4e1fc65 100644 --- a/src/main/java/org/scijava/annotations/AnnotationProcessor.java +++ b/src/main/java/org/scijava/annotations/AnnotationProcessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/ByteCodeAnalyzer.java b/src/main/java/org/scijava/annotations/ByteCodeAnalyzer.java index 4de2c6e53..10682ca6a 100644 --- a/src/main/java/org/scijava/annotations/ByteCodeAnalyzer.java +++ b/src/main/java/org/scijava/annotations/ByteCodeAnalyzer.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/DirectoryIndexer.java b/src/main/java/org/scijava/annotations/DirectoryIndexer.java index 1af1b118d..ab0024069 100644 --- a/src/main/java/org/scijava/annotations/DirectoryIndexer.java +++ b/src/main/java/org/scijava/annotations/DirectoryIndexer.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/EclipseHelper.java b/src/main/java/org/scijava/annotations/EclipseHelper.java index 00a320e6a..0d4765e9e 100644 --- a/src/main/java/org/scijava/annotations/EclipseHelper.java +++ b/src/main/java/org/scijava/annotations/EclipseHelper.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/Index.java b/src/main/java/org/scijava/annotations/Index.java index 98bcf4033..a7a760df2 100644 --- a/src/main/java/org/scijava/annotations/Index.java +++ b/src/main/java/org/scijava/annotations/Index.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/IndexItem.java b/src/main/java/org/scijava/annotations/IndexItem.java index 3cfa75dd7..dcefa9f88 100644 --- a/src/main/java/org/scijava/annotations/IndexItem.java +++ b/src/main/java/org/scijava/annotations/IndexItem.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/IndexReader.java b/src/main/java/org/scijava/annotations/IndexReader.java index 63ec749d3..74dd5c65d 100644 --- a/src/main/java/org/scijava/annotations/IndexReader.java +++ b/src/main/java/org/scijava/annotations/IndexReader.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/Indexable.java b/src/main/java/org/scijava/annotations/Indexable.java index 7b7f040a8..f1c386bcc 100644 --- a/src/main/java/org/scijava/annotations/Indexable.java +++ b/src/main/java/org/scijava/annotations/Indexable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/legacy/LegacyReader.java b/src/main/java/org/scijava/annotations/legacy/LegacyReader.java index 733a29125..ce6619f24 100644 --- a/src/main/java/org/scijava/annotations/legacy/LegacyReader.java +++ b/src/main/java/org/scijava/annotations/legacy/LegacyReader.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/app/AbstractApp.java b/src/main/java/org/scijava/app/AbstractApp.java index 7901ee792..96b62626a 100644 --- a/src/main/java/org/scijava/app/AbstractApp.java +++ b/src/main/java/org/scijava/app/AbstractApp.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/app/App.java b/src/main/java/org/scijava/app/App.java index 72990e5f9..a18f8366e 100644 --- a/src/main/java/org/scijava/app/App.java +++ b/src/main/java/org/scijava/app/App.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/app/AppService.java b/src/main/java/org/scijava/app/AppService.java index e15d3c869..c6ec110b6 100644 --- a/src/main/java/org/scijava/app/AppService.java +++ b/src/main/java/org/scijava/app/AppService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/app/DefaultAppService.java b/src/main/java/org/scijava/app/DefaultAppService.java index 12e203ab0..2906b72bb 100644 --- a/src/main/java/org/scijava/app/DefaultAppService.java +++ b/src/main/java/org/scijava/app/DefaultAppService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/app/DefaultStatusService.java b/src/main/java/org/scijava/app/DefaultStatusService.java index 44a871f9f..f93bbba71 100644 --- a/src/main/java/org/scijava/app/DefaultStatusService.java +++ b/src/main/java/org/scijava/app/DefaultStatusService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/app/SciJavaApp.java b/src/main/java/org/scijava/app/SciJavaApp.java index d8f8a2d71..4af7d69c5 100644 --- a/src/main/java/org/scijava/app/SciJavaApp.java +++ b/src/main/java/org/scijava/app/SciJavaApp.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/app/StatusService.java b/src/main/java/org/scijava/app/StatusService.java index 82ef4b7f2..3a28d4a52 100644 --- a/src/main/java/org/scijava/app/StatusService.java +++ b/src/main/java/org/scijava/app/StatusService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/app/event/StatusEvent.java b/src/main/java/org/scijava/app/event/StatusEvent.java index 7b57ce3e2..cabc032f8 100644 --- a/src/main/java/org/scijava/app/event/StatusEvent.java +++ b/src/main/java/org/scijava/app/event/StatusEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/cache/CacheService.java b/src/main/java/org/scijava/cache/CacheService.java index 15b8d82f3..afc2a4a6e 100644 --- a/src/main/java/org/scijava/cache/CacheService.java +++ b/src/main/java/org/scijava/cache/CacheService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/cache/DefaultCacheService.java b/src/main/java/org/scijava/cache/DefaultCacheService.java index a150bf86b..4fddf6734 100644 --- a/src/main/java/org/scijava/cache/DefaultCacheService.java +++ b/src/main/java/org/scijava/cache/DefaultCacheService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/Command.java b/src/main/java/org/scijava/command/Command.java index fa462633b..456736f68 100644 --- a/src/main/java/org/scijava/command/Command.java +++ b/src/main/java/org/scijava/command/Command.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/CommandInfo.java b/src/main/java/org/scijava/command/CommandInfo.java index b5aaba8d1..78913df7a 100644 --- a/src/main/java/org/scijava/command/CommandInfo.java +++ b/src/main/java/org/scijava/command/CommandInfo.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/CommandModule.java b/src/main/java/org/scijava/command/CommandModule.java index 702b1a561..0d8201e18 100644 --- a/src/main/java/org/scijava/command/CommandModule.java +++ b/src/main/java/org/scijava/command/CommandModule.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/CommandModuleItem.java b/src/main/java/org/scijava/command/CommandModuleItem.java index 253c92332..ec30d678a 100644 --- a/src/main/java/org/scijava/command/CommandModuleItem.java +++ b/src/main/java/org/scijava/command/CommandModuleItem.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/CommandService.java b/src/main/java/org/scijava/command/CommandService.java index 10772f7f9..6d1495ebb 100644 --- a/src/main/java/org/scijava/command/CommandService.java +++ b/src/main/java/org/scijava/command/CommandService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/ContextCommand.java b/src/main/java/org/scijava/command/ContextCommand.java index bc3b6e520..3588dffac 100644 --- a/src/main/java/org/scijava/command/ContextCommand.java +++ b/src/main/java/org/scijava/command/ContextCommand.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/DefaultCommandService.java b/src/main/java/org/scijava/command/DefaultCommandService.java index 1ca12204e..00275c0c1 100644 --- a/src/main/java/org/scijava/command/DefaultCommandService.java +++ b/src/main/java/org/scijava/command/DefaultCommandService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/DynamicCommand.java b/src/main/java/org/scijava/command/DynamicCommand.java index bda553db7..8fccd9f20 100644 --- a/src/main/java/org/scijava/command/DynamicCommand.java +++ b/src/main/java/org/scijava/command/DynamicCommand.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/DynamicCommandInfo.java b/src/main/java/org/scijava/command/DynamicCommandInfo.java index d67417a04..9d85a1235 100644 --- a/src/main/java/org/scijava/command/DynamicCommandInfo.java +++ b/src/main/java/org/scijava/command/DynamicCommandInfo.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/Inputs.java b/src/main/java/org/scijava/command/Inputs.java index 9c30dffaa..18272bbbb 100644 --- a/src/main/java/org/scijava/command/Inputs.java +++ b/src/main/java/org/scijava/command/Inputs.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/Interactive.java b/src/main/java/org/scijava/command/Interactive.java index a940e4257..b1f3f999d 100644 --- a/src/main/java/org/scijava/command/Interactive.java +++ b/src/main/java/org/scijava/command/Interactive.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/InteractiveCommand.java b/src/main/java/org/scijava/command/InteractiveCommand.java index ea3cce37b..49925091a 100644 --- a/src/main/java/org/scijava/command/InteractiveCommand.java +++ b/src/main/java/org/scijava/command/InteractiveCommand.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/ModuleCommand.java b/src/main/java/org/scijava/command/ModuleCommand.java index bfe715895..ac5b780b7 100644 --- a/src/main/java/org/scijava/command/ModuleCommand.java +++ b/src/main/java/org/scijava/command/ModuleCommand.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/Previewable.java b/src/main/java/org/scijava/command/Previewable.java index 3b9ea160c..da9308f5a 100644 --- a/src/main/java/org/scijava/command/Previewable.java +++ b/src/main/java/org/scijava/command/Previewable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/UnimplementedCommand.java b/src/main/java/org/scijava/command/UnimplementedCommand.java index cf1d828ee..eb8804716 100644 --- a/src/main/java/org/scijava/command/UnimplementedCommand.java +++ b/src/main/java/org/scijava/command/UnimplementedCommand.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/console/RunArgument.java b/src/main/java/org/scijava/command/console/RunArgument.java index d0cea8435..86ffa6df7 100644 --- a/src/main/java/org/scijava/command/console/RunArgument.java +++ b/src/main/java/org/scijava/command/console/RunArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/run/CommandCodeRunner.java b/src/main/java/org/scijava/command/run/CommandCodeRunner.java index 2c1816b3c..5b843323e 100644 --- a/src/main/java/org/scijava/command/run/CommandCodeRunner.java +++ b/src/main/java/org/scijava/command/run/CommandCodeRunner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/AbstractConsoleArgument.java b/src/main/java/org/scijava/console/AbstractConsoleArgument.java index 9ed6165a5..811dabf8c 100644 --- a/src/main/java/org/scijava/console/AbstractConsoleArgument.java +++ b/src/main/java/org/scijava/console/AbstractConsoleArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/ConsoleArgument.java b/src/main/java/org/scijava/console/ConsoleArgument.java index d4bdec30a..edfa4ea0c 100644 --- a/src/main/java/org/scijava/console/ConsoleArgument.java +++ b/src/main/java/org/scijava/console/ConsoleArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/ConsoleService.java b/src/main/java/org/scijava/console/ConsoleService.java index fdc600b31..23c5b9a24 100644 --- a/src/main/java/org/scijava/console/ConsoleService.java +++ b/src/main/java/org/scijava/console/ConsoleService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/ConsoleUtils.java b/src/main/java/org/scijava/console/ConsoleUtils.java index 40de75132..6314e737e 100644 --- a/src/main/java/org/scijava/console/ConsoleUtils.java +++ b/src/main/java/org/scijava/console/ConsoleUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/DefaultConsoleService.java b/src/main/java/org/scijava/console/DefaultConsoleService.java index 74cce7d56..535deb088 100644 --- a/src/main/java/org/scijava/console/DefaultConsoleService.java +++ b/src/main/java/org/scijava/console/DefaultConsoleService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/MultiOutputStream.java b/src/main/java/org/scijava/console/MultiOutputStream.java index 02e4fb5ac..043e5b439 100644 --- a/src/main/java/org/scijava/console/MultiOutputStream.java +++ b/src/main/java/org/scijava/console/MultiOutputStream.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/MultiPrintStream.java b/src/main/java/org/scijava/console/MultiPrintStream.java index 3f0109138..e1f2a11c2 100644 --- a/src/main/java/org/scijava/console/MultiPrintStream.java +++ b/src/main/java/org/scijava/console/MultiPrintStream.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/OutputEvent.java b/src/main/java/org/scijava/console/OutputEvent.java index 843a6f20d..762b7f249 100644 --- a/src/main/java/org/scijava/console/OutputEvent.java +++ b/src/main/java/org/scijava/console/OutputEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/OutputListener.java b/src/main/java/org/scijava/console/OutputListener.java index 44000d87a..640a9dbc7 100644 --- a/src/main/java/org/scijava/console/OutputListener.java +++ b/src/main/java/org/scijava/console/OutputListener.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/SystemPropertyArgument.java b/src/main/java/org/scijava/console/SystemPropertyArgument.java index 39c100c92..40590ccd0 100644 --- a/src/main/java/org/scijava/console/SystemPropertyArgument.java +++ b/src/main/java/org/scijava/console/SystemPropertyArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/AbstractConvertService.java b/src/main/java/org/scijava/convert/AbstractConvertService.java index 15f7812c8..0388e601c 100644 --- a/src/main/java/org/scijava/convert/AbstractConvertService.java +++ b/src/main/java/org/scijava/convert/AbstractConvertService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/AbstractConverter.java b/src/main/java/org/scijava/convert/AbstractConverter.java index 7a7a429f6..c80d2fbef 100644 --- a/src/main/java/org/scijava/convert/AbstractConverter.java +++ b/src/main/java/org/scijava/convert/AbstractConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/AbstractDelegateConverter.java b/src/main/java/org/scijava/convert/AbstractDelegateConverter.java index df0853005..909c6f0da 100644 --- a/src/main/java/org/scijava/convert/AbstractDelegateConverter.java +++ b/src/main/java/org/scijava/convert/AbstractDelegateConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/ArrayConverters.java b/src/main/java/org/scijava/convert/ArrayConverters.java index 7f885d1ee..ab9cb24a8 100644 --- a/src/main/java/org/scijava/convert/ArrayConverters.java +++ b/src/main/java/org/scijava/convert/ArrayConverters.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/ArrayToStringConverter.java b/src/main/java/org/scijava/convert/ArrayToStringConverter.java index c9dc10014..1cf448747 100644 --- a/src/main/java/org/scijava/convert/ArrayToStringConverter.java +++ b/src/main/java/org/scijava/convert/ArrayToStringConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/CastingConverter.java b/src/main/java/org/scijava/convert/CastingConverter.java index e9455c214..27915c40d 100644 --- a/src/main/java/org/scijava/convert/CastingConverter.java +++ b/src/main/java/org/scijava/convert/CastingConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/ConversionRequest.java b/src/main/java/org/scijava/convert/ConversionRequest.java index 3f8c4d5cd..3486e9a5f 100644 --- a/src/main/java/org/scijava/convert/ConversionRequest.java +++ b/src/main/java/org/scijava/convert/ConversionRequest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/ConvertService.java b/src/main/java/org/scijava/convert/ConvertService.java index 6bce9a48b..14e65bae2 100644 --- a/src/main/java/org/scijava/convert/ConvertService.java +++ b/src/main/java/org/scijava/convert/ConvertService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/Converter.java b/src/main/java/org/scijava/convert/Converter.java index 4280789ff..3191be092 100644 --- a/src/main/java/org/scijava/convert/Converter.java +++ b/src/main/java/org/scijava/convert/Converter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/DefaultConvertService.java b/src/main/java/org/scijava/convert/DefaultConvertService.java index f36d9fd9e..434940368 100644 --- a/src/main/java/org/scijava/convert/DefaultConvertService.java +++ b/src/main/java/org/scijava/convert/DefaultConvertService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/DefaultConverter.java b/src/main/java/org/scijava/convert/DefaultConverter.java index 975c88f82..15064c8d7 100644 --- a/src/main/java/org/scijava/convert/DefaultConverter.java +++ b/src/main/java/org/scijava/convert/DefaultConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/FileListConverters.java b/src/main/java/org/scijava/convert/FileListConverters.java index d9cc1173f..ed3da126e 100644 --- a/src/main/java/org/scijava/convert/FileListConverters.java +++ b/src/main/java/org/scijava/convert/FileListConverters.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/FileToPathConverter.java b/src/main/java/org/scijava/convert/FileToPathConverter.java index 70a295bdb..7d091b9e0 100644 --- a/src/main/java/org/scijava/convert/FileToPathConverter.java +++ b/src/main/java/org/scijava/convert/FileToPathConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NullConverter.java b/src/main/java/org/scijava/convert/NullConverter.java index 0ea6e9f97..9719d6afe 100644 --- a/src/main/java/org/scijava/convert/NullConverter.java +++ b/src/main/java/org/scijava/convert/NullConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberConverters.java b/src/main/java/org/scijava/convert/NumberConverters.java index ed8481463..05aa71c7c 100644 --- a/src/main/java/org/scijava/convert/NumberConverters.java +++ b/src/main/java/org/scijava/convert/NumberConverters.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberToBigDecimalConverter.java b/src/main/java/org/scijava/convert/NumberToBigDecimalConverter.java index 73fffeecc..889cf75e9 100644 --- a/src/main/java/org/scijava/convert/NumberToBigDecimalConverter.java +++ b/src/main/java/org/scijava/convert/NumberToBigDecimalConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberToBigIntegerConverter.java b/src/main/java/org/scijava/convert/NumberToBigIntegerConverter.java index 5dd8bdc71..80196b63a 100644 --- a/src/main/java/org/scijava/convert/NumberToBigIntegerConverter.java +++ b/src/main/java/org/scijava/convert/NumberToBigIntegerConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberToDoubleConverter.java b/src/main/java/org/scijava/convert/NumberToDoubleConverter.java index 23c26b62b..751badc6b 100644 --- a/src/main/java/org/scijava/convert/NumberToDoubleConverter.java +++ b/src/main/java/org/scijava/convert/NumberToDoubleConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberToFloatConverter.java b/src/main/java/org/scijava/convert/NumberToFloatConverter.java index 56620787b..19579a857 100644 --- a/src/main/java/org/scijava/convert/NumberToFloatConverter.java +++ b/src/main/java/org/scijava/convert/NumberToFloatConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberToIntegerConverter.java b/src/main/java/org/scijava/convert/NumberToIntegerConverter.java index 897fb807f..149962f42 100644 --- a/src/main/java/org/scijava/convert/NumberToIntegerConverter.java +++ b/src/main/java/org/scijava/convert/NumberToIntegerConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberToLongConverter.java b/src/main/java/org/scijava/convert/NumberToLongConverter.java index 1b2af346c..7f7eef462 100644 --- a/src/main/java/org/scijava/convert/NumberToLongConverter.java +++ b/src/main/java/org/scijava/convert/NumberToLongConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberToNumberConverter.java b/src/main/java/org/scijava/convert/NumberToNumberConverter.java index f99af2e1a..d3b3102fe 100644 --- a/src/main/java/org/scijava/convert/NumberToNumberConverter.java +++ b/src/main/java/org/scijava/convert/NumberToNumberConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberToShortConverter.java b/src/main/java/org/scijava/convert/NumberToShortConverter.java index 96c2fbc36..aed496f49 100644 --- a/src/main/java/org/scijava/convert/NumberToShortConverter.java +++ b/src/main/java/org/scijava/convert/NumberToShortConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/PathToFileConverter.java b/src/main/java/org/scijava/convert/PathToFileConverter.java index 3b793ae8e..6c221f905 100644 --- a/src/main/java/org/scijava/convert/PathToFileConverter.java +++ b/src/main/java/org/scijava/convert/PathToFileConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/PrimitiveArrayUnwrapper.java b/src/main/java/org/scijava/convert/PrimitiveArrayUnwrapper.java index 5fb595290..514077e15 100644 --- a/src/main/java/org/scijava/convert/PrimitiveArrayUnwrapper.java +++ b/src/main/java/org/scijava/convert/PrimitiveArrayUnwrapper.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/PrimitiveArrayWrapper.java b/src/main/java/org/scijava/convert/PrimitiveArrayWrapper.java index 33441c806..dedcc8092 100644 --- a/src/main/java/org/scijava/convert/PrimitiveArrayWrapper.java +++ b/src/main/java/org/scijava/convert/PrimitiveArrayWrapper.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/StringToArrayConverter.java b/src/main/java/org/scijava/convert/StringToArrayConverter.java index 18c581b32..18e6a38d6 100644 --- a/src/main/java/org/scijava/convert/StringToArrayConverter.java +++ b/src/main/java/org/scijava/convert/StringToArrayConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/StringToNumberConverter.java b/src/main/java/org/scijava/convert/StringToNumberConverter.java index 6fbebd2cf..817c0c37a 100644 --- a/src/main/java/org/scijava/convert/StringToNumberConverter.java +++ b/src/main/java/org/scijava/convert/StringToNumberConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/AbstractDisplay.java b/src/main/java/org/scijava/display/AbstractDisplay.java index c9ff7f702..02a44cd6d 100644 --- a/src/main/java/org/scijava/display/AbstractDisplay.java +++ b/src/main/java/org/scijava/display/AbstractDisplay.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/ActiveDisplayPreprocessor.java b/src/main/java/org/scijava/display/ActiveDisplayPreprocessor.java index c0e26c205..488cc2249 100644 --- a/src/main/java/org/scijava/display/ActiveDisplayPreprocessor.java +++ b/src/main/java/org/scijava/display/ActiveDisplayPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/DefaultDisplay.java b/src/main/java/org/scijava/display/DefaultDisplay.java index fb2f95d39..b7058f5e9 100644 --- a/src/main/java/org/scijava/display/DefaultDisplay.java +++ b/src/main/java/org/scijava/display/DefaultDisplay.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/DefaultDisplayService.java b/src/main/java/org/scijava/display/DefaultDisplayService.java index 946b63cc0..f91dddc14 100644 --- a/src/main/java/org/scijava/display/DefaultDisplayService.java +++ b/src/main/java/org/scijava/display/DefaultDisplayService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/DefaultTextDisplay.java b/src/main/java/org/scijava/display/DefaultTextDisplay.java index abdd3f960..df16c01cc 100644 --- a/src/main/java/org/scijava/display/DefaultTextDisplay.java +++ b/src/main/java/org/scijava/display/DefaultTextDisplay.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/Display.java b/src/main/java/org/scijava/display/Display.java index 3df3b4115..77921d195 100644 --- a/src/main/java/org/scijava/display/Display.java +++ b/src/main/java/org/scijava/display/Display.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/DisplayPostprocessor.java b/src/main/java/org/scijava/display/DisplayPostprocessor.java index 1f654e213..9a69d7f8e 100644 --- a/src/main/java/org/scijava/display/DisplayPostprocessor.java +++ b/src/main/java/org/scijava/display/DisplayPostprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/DisplayService.java b/src/main/java/org/scijava/display/DisplayService.java index 2d09285e4..23acbf0e0 100644 --- a/src/main/java/org/scijava/display/DisplayService.java +++ b/src/main/java/org/scijava/display/DisplayService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/Displayable.java b/src/main/java/org/scijava/display/Displayable.java index f0afe8879..ae875c217 100644 --- a/src/main/java/org/scijava/display/Displayable.java +++ b/src/main/java/org/scijava/display/Displayable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/TextDisplay.java b/src/main/java/org/scijava/display/TextDisplay.java index 4a4f72b41..29eb39843 100644 --- a/src/main/java/org/scijava/display/TextDisplay.java +++ b/src/main/java/org/scijava/display/TextDisplay.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/DisplayActivatedEvent.java b/src/main/java/org/scijava/display/event/DisplayActivatedEvent.java index 8457a85aa..0c6a12a07 100644 --- a/src/main/java/org/scijava/display/event/DisplayActivatedEvent.java +++ b/src/main/java/org/scijava/display/event/DisplayActivatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/DisplayCreatedEvent.java b/src/main/java/org/scijava/display/event/DisplayCreatedEvent.java index 44e1736c3..bd6f77560 100644 --- a/src/main/java/org/scijava/display/event/DisplayCreatedEvent.java +++ b/src/main/java/org/scijava/display/event/DisplayCreatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/DisplayDeletedEvent.java b/src/main/java/org/scijava/display/event/DisplayDeletedEvent.java index 3a866ec4d..c1420e4d5 100644 --- a/src/main/java/org/scijava/display/event/DisplayDeletedEvent.java +++ b/src/main/java/org/scijava/display/event/DisplayDeletedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/DisplayEvent.java b/src/main/java/org/scijava/display/event/DisplayEvent.java index 35cf6026e..95e90c7cb 100644 --- a/src/main/java/org/scijava/display/event/DisplayEvent.java +++ b/src/main/java/org/scijava/display/event/DisplayEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/DisplayUpdatedEvent.java b/src/main/java/org/scijava/display/event/DisplayUpdatedEvent.java index 540812981..1be4cb353 100644 --- a/src/main/java/org/scijava/display/event/DisplayUpdatedEvent.java +++ b/src/main/java/org/scijava/display/event/DisplayUpdatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/InputEvent.java b/src/main/java/org/scijava/display/event/input/InputEvent.java index 86008a0c6..d515f9c0a 100644 --- a/src/main/java/org/scijava/display/event/input/InputEvent.java +++ b/src/main/java/org/scijava/display/event/input/InputEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/KyEvent.java b/src/main/java/org/scijava/display/event/input/KyEvent.java index a8b6ae9b9..ddc2f3046 100644 --- a/src/main/java/org/scijava/display/event/input/KyEvent.java +++ b/src/main/java/org/scijava/display/event/input/KyEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/KyPressedEvent.java b/src/main/java/org/scijava/display/event/input/KyPressedEvent.java index d5456b715..6cafacc77 100644 --- a/src/main/java/org/scijava/display/event/input/KyPressedEvent.java +++ b/src/main/java/org/scijava/display/event/input/KyPressedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/KyReleasedEvent.java b/src/main/java/org/scijava/display/event/input/KyReleasedEvent.java index 278c75e1d..acc1bdf9d 100644 --- a/src/main/java/org/scijava/display/event/input/KyReleasedEvent.java +++ b/src/main/java/org/scijava/display/event/input/KyReleasedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/KyTypedEvent.java b/src/main/java/org/scijava/display/event/input/KyTypedEvent.java index 932e1ef9e..398fe027b 100644 --- a/src/main/java/org/scijava/display/event/input/KyTypedEvent.java +++ b/src/main/java/org/scijava/display/event/input/KyTypedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsButtonEvent.java b/src/main/java/org/scijava/display/event/input/MsButtonEvent.java index 34d49434b..ed1d4eae4 100644 --- a/src/main/java/org/scijava/display/event/input/MsButtonEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsButtonEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsClickedEvent.java b/src/main/java/org/scijava/display/event/input/MsClickedEvent.java index a6c4ba199..62f9bd622 100644 --- a/src/main/java/org/scijava/display/event/input/MsClickedEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsClickedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsDraggedEvent.java b/src/main/java/org/scijava/display/event/input/MsDraggedEvent.java index ddf8fd2b8..ec6595127 100644 --- a/src/main/java/org/scijava/display/event/input/MsDraggedEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsDraggedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsEnteredEvent.java b/src/main/java/org/scijava/display/event/input/MsEnteredEvent.java index 7c65762d6..de13c50ee 100644 --- a/src/main/java/org/scijava/display/event/input/MsEnteredEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsEnteredEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsEvent.java b/src/main/java/org/scijava/display/event/input/MsEvent.java index ef6bca8dd..3836bb65c 100644 --- a/src/main/java/org/scijava/display/event/input/MsEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsExitedEvent.java b/src/main/java/org/scijava/display/event/input/MsExitedEvent.java index fc6b542ba..28584e4e1 100644 --- a/src/main/java/org/scijava/display/event/input/MsExitedEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsExitedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsMovedEvent.java b/src/main/java/org/scijava/display/event/input/MsMovedEvent.java index 25b18bf23..f8be96df2 100644 --- a/src/main/java/org/scijava/display/event/input/MsMovedEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsMovedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsPressedEvent.java b/src/main/java/org/scijava/display/event/input/MsPressedEvent.java index 38fbf57d9..c45b5991d 100644 --- a/src/main/java/org/scijava/display/event/input/MsPressedEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsPressedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsReleasedEvent.java b/src/main/java/org/scijava/display/event/input/MsReleasedEvent.java index 7f7a90e98..2ad017f9c 100644 --- a/src/main/java/org/scijava/display/event/input/MsReleasedEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsReleasedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsWheelEvent.java b/src/main/java/org/scijava/display/event/input/MsWheelEvent.java index 25e2c8fd5..0c723db58 100644 --- a/src/main/java/org/scijava/display/event/input/MsWheelEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsWheelEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/window/WinActivatedEvent.java b/src/main/java/org/scijava/display/event/window/WinActivatedEvent.java index cefba6238..a51e7132b 100644 --- a/src/main/java/org/scijava/display/event/window/WinActivatedEvent.java +++ b/src/main/java/org/scijava/display/event/window/WinActivatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/window/WinClosedEvent.java b/src/main/java/org/scijava/display/event/window/WinClosedEvent.java index 8767b0c3b..b54bae090 100644 --- a/src/main/java/org/scijava/display/event/window/WinClosedEvent.java +++ b/src/main/java/org/scijava/display/event/window/WinClosedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/window/WinClosingEvent.java b/src/main/java/org/scijava/display/event/window/WinClosingEvent.java index 402f42d01..4bf578d83 100644 --- a/src/main/java/org/scijava/display/event/window/WinClosingEvent.java +++ b/src/main/java/org/scijava/display/event/window/WinClosingEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/window/WinDeactivatedEvent.java b/src/main/java/org/scijava/display/event/window/WinDeactivatedEvent.java index e1b136e70..baceef2f0 100644 --- a/src/main/java/org/scijava/display/event/window/WinDeactivatedEvent.java +++ b/src/main/java/org/scijava/display/event/window/WinDeactivatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/window/WinDeiconifiedEvent.java b/src/main/java/org/scijava/display/event/window/WinDeiconifiedEvent.java index beae46170..882058c7a 100644 --- a/src/main/java/org/scijava/display/event/window/WinDeiconifiedEvent.java +++ b/src/main/java/org/scijava/display/event/window/WinDeiconifiedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/window/WinEvent.java b/src/main/java/org/scijava/display/event/window/WinEvent.java index c1c50b74b..75a4714ea 100644 --- a/src/main/java/org/scijava/display/event/window/WinEvent.java +++ b/src/main/java/org/scijava/display/event/window/WinEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/window/WinIconifiedEvent.java b/src/main/java/org/scijava/display/event/window/WinIconifiedEvent.java index 3fb4e8f12..731cae148 100644 --- a/src/main/java/org/scijava/display/event/window/WinIconifiedEvent.java +++ b/src/main/java/org/scijava/display/event/window/WinIconifiedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/window/WinOpenedEvent.java b/src/main/java/org/scijava/display/event/window/WinOpenedEvent.java index f943b0f59..4ac6abb44 100644 --- a/src/main/java/org/scijava/display/event/window/WinOpenedEvent.java +++ b/src/main/java/org/scijava/display/event/window/WinOpenedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/download/DefaultDownloadService.java b/src/main/java/org/scijava/download/DefaultDownloadService.java index 749c05497..6775b0bc0 100644 --- a/src/main/java/org/scijava/download/DefaultDownloadService.java +++ b/src/main/java/org/scijava/download/DefaultDownloadService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/download/DiskLocationCache.java b/src/main/java/org/scijava/download/DiskLocationCache.java index 1a957214b..eb9f1f8a1 100644 --- a/src/main/java/org/scijava/download/DiskLocationCache.java +++ b/src/main/java/org/scijava/download/DiskLocationCache.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/download/Download.java b/src/main/java/org/scijava/download/Download.java index 2ca41a754..313bc5840 100644 --- a/src/main/java/org/scijava/download/Download.java +++ b/src/main/java/org/scijava/download/Download.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/download/DownloadService.java b/src/main/java/org/scijava/download/DownloadService.java index 3e9c8d2d3..7410aa1c5 100644 --- a/src/main/java/org/scijava/download/DownloadService.java +++ b/src/main/java/org/scijava/download/DownloadService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/download/LocationCache.java b/src/main/java/org/scijava/download/LocationCache.java index 1e961bf5a..30da5a620 100644 --- a/src/main/java/org/scijava/download/LocationCache.java +++ b/src/main/java/org/scijava/download/LocationCache.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/download/MultiWriteHandle.java b/src/main/java/org/scijava/download/MultiWriteHandle.java index 8f565a3ff..b6a7c6e1d 100644 --- a/src/main/java/org/scijava/download/MultiWriteHandle.java +++ b/src/main/java/org/scijava/download/MultiWriteHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/ContextCreatedEvent.java b/src/main/java/org/scijava/event/ContextCreatedEvent.java index 7ca7d529b..8f6de90ee 100644 --- a/src/main/java/org/scijava/event/ContextCreatedEvent.java +++ b/src/main/java/org/scijava/event/ContextCreatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/ContextDisposingEvent.java b/src/main/java/org/scijava/event/ContextDisposingEvent.java index cdd8a7814..4f161ce33 100644 --- a/src/main/java/org/scijava/event/ContextDisposingEvent.java +++ b/src/main/java/org/scijava/event/ContextDisposingEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/DefaultEventBus.java b/src/main/java/org/scijava/event/DefaultEventBus.java index 9d71eb8f3..8d3f91745 100644 --- a/src/main/java/org/scijava/event/DefaultEventBus.java +++ b/src/main/java/org/scijava/event/DefaultEventBus.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/DefaultEventHistory.java b/src/main/java/org/scijava/event/DefaultEventHistory.java index 3245d9014..0847b9b7f 100644 --- a/src/main/java/org/scijava/event/DefaultEventHistory.java +++ b/src/main/java/org/scijava/event/DefaultEventHistory.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/DefaultEventService.java b/src/main/java/org/scijava/event/DefaultEventService.java index 0047c42f5..5059046db 100644 --- a/src/main/java/org/scijava/event/DefaultEventService.java +++ b/src/main/java/org/scijava/event/DefaultEventService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/EventDetails.java b/src/main/java/org/scijava/event/EventDetails.java index be0700965..be2bd9494 100644 --- a/src/main/java/org/scijava/event/EventDetails.java +++ b/src/main/java/org/scijava/event/EventDetails.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/EventHandler.java b/src/main/java/org/scijava/event/EventHandler.java index a3d5a4bba..628e9a7a4 100644 --- a/src/main/java/org/scijava/event/EventHandler.java +++ b/src/main/java/org/scijava/event/EventHandler.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/EventHistory.java b/src/main/java/org/scijava/event/EventHistory.java index de7d48be0..f1b49e309 100644 --- a/src/main/java/org/scijava/event/EventHistory.java +++ b/src/main/java/org/scijava/event/EventHistory.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/EventHistoryListener.java b/src/main/java/org/scijava/event/EventHistoryListener.java index 5a8e4b139..a0da0e664 100644 --- a/src/main/java/org/scijava/event/EventHistoryListener.java +++ b/src/main/java/org/scijava/event/EventHistoryListener.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/EventService.java b/src/main/java/org/scijava/event/EventService.java index cc9f89d17..2a7f6d95b 100644 --- a/src/main/java/org/scijava/event/EventService.java +++ b/src/main/java/org/scijava/event/EventService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/EventSubscriber.java b/src/main/java/org/scijava/event/EventSubscriber.java index a36181639..7bcef12d3 100644 --- a/src/main/java/org/scijava/event/EventSubscriber.java +++ b/src/main/java/org/scijava/event/EventSubscriber.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/SciJavaEvent.java b/src/main/java/org/scijava/event/SciJavaEvent.java index d6bdd2f39..b4c8343d3 100644 --- a/src/main/java/org/scijava/event/SciJavaEvent.java +++ b/src/main/java/org/scijava/event/SciJavaEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/input/Accelerator.java b/src/main/java/org/scijava/input/Accelerator.java index 200167c44..ffa6ca9ae 100644 --- a/src/main/java/org/scijava/input/Accelerator.java +++ b/src/main/java/org/scijava/input/Accelerator.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/input/DefaultInputService.java b/src/main/java/org/scijava/input/DefaultInputService.java index 7a6ad862a..3f9f9b03b 100644 --- a/src/main/java/org/scijava/input/DefaultInputService.java +++ b/src/main/java/org/scijava/input/DefaultInputService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/input/InputModifiers.java b/src/main/java/org/scijava/input/InputModifiers.java index 6adec0eb7..dc1fd6095 100644 --- a/src/main/java/org/scijava/input/InputModifiers.java +++ b/src/main/java/org/scijava/input/InputModifiers.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/input/InputService.java b/src/main/java/org/scijava/input/InputService.java index 92ce58ad5..8bb2ea10a 100644 --- a/src/main/java/org/scijava/input/InputService.java +++ b/src/main/java/org/scijava/input/InputService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/input/KeyCode.java b/src/main/java/org/scijava/input/KeyCode.java index 9e817ad4b..c7207eeb3 100644 --- a/src/main/java/org/scijava/input/KeyCode.java +++ b/src/main/java/org/scijava/input/KeyCode.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/input/MouseCursor.java b/src/main/java/org/scijava/input/MouseCursor.java index 76144f32f..1ade50c90 100644 --- a/src/main/java/org/scijava/input/MouseCursor.java +++ b/src/main/java/org/scijava/input/MouseCursor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/AbstractIOPlugin.java b/src/main/java/org/scijava/io/AbstractIOPlugin.java index f1d483810..954e77258 100644 --- a/src/main/java/org/scijava/io/AbstractIOPlugin.java +++ b/src/main/java/org/scijava/io/AbstractIOPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/AbstractTypedIOService.java b/src/main/java/org/scijava/io/AbstractTypedIOService.java index 3160c4246..520441e43 100644 --- a/src/main/java/org/scijava/io/AbstractTypedIOService.java +++ b/src/main/java/org/scijava/io/AbstractTypedIOService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/ByteArrayByteBank.java b/src/main/java/org/scijava/io/ByteArrayByteBank.java index f74659702..196ba64c8 100644 --- a/src/main/java/org/scijava/io/ByteArrayByteBank.java +++ b/src/main/java/org/scijava/io/ByteArrayByteBank.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/ByteBank.java b/src/main/java/org/scijava/io/ByteBank.java index 058a9cc40..1bb062b54 100644 --- a/src/main/java/org/scijava/io/ByteBank.java +++ b/src/main/java/org/scijava/io/ByteBank.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/DefaultIOService.java b/src/main/java/org/scijava/io/DefaultIOService.java index 32f5e5b27..a5199e76e 100644 --- a/src/main/java/org/scijava/io/DefaultIOService.java +++ b/src/main/java/org/scijava/io/DefaultIOService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/DefaultRecentFileService.java b/src/main/java/org/scijava/io/DefaultRecentFileService.java index c2e0b94d7..299f3f387 100644 --- a/src/main/java/org/scijava/io/DefaultRecentFileService.java +++ b/src/main/java/org/scijava/io/DefaultRecentFileService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/IOPlugin.java b/src/main/java/org/scijava/io/IOPlugin.java index a6c2536a4..2c12ccd6a 100644 --- a/src/main/java/org/scijava/io/IOPlugin.java +++ b/src/main/java/org/scijava/io/IOPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/IOService.java b/src/main/java/org/scijava/io/IOService.java index 72655ab39..26cd44836 100644 --- a/src/main/java/org/scijava/io/IOService.java +++ b/src/main/java/org/scijava/io/IOService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/RecentFileService.java b/src/main/java/org/scijava/io/RecentFileService.java index 2f91937bb..7c549fe8b 100644 --- a/src/main/java/org/scijava/io/RecentFileService.java +++ b/src/main/java/org/scijava/io/RecentFileService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/TypedIOService.java b/src/main/java/org/scijava/io/TypedIOService.java index 5664ec3bb..746311f6a 100644 --- a/src/main/java/org/scijava/io/TypedIOService.java +++ b/src/main/java/org/scijava/io/TypedIOService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/console/OpenArgument.java b/src/main/java/org/scijava/io/console/OpenArgument.java index 4e929d9c1..efe0fe257 100644 --- a/src/main/java/org/scijava/io/console/OpenArgument.java +++ b/src/main/java/org/scijava/io/console/OpenArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/event/DataOpenedEvent.java b/src/main/java/org/scijava/io/event/DataOpenedEvent.java index 22f9fd4d0..a034e574f 100644 --- a/src/main/java/org/scijava/io/event/DataOpenedEvent.java +++ b/src/main/java/org/scijava/io/event/DataOpenedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/event/DataSavedEvent.java b/src/main/java/org/scijava/io/event/DataSavedEvent.java index 67a8b21ad..d2fb9e03e 100644 --- a/src/main/java/org/scijava/io/event/DataSavedEvent.java +++ b/src/main/java/org/scijava/io/event/DataSavedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/event/IOEvent.java b/src/main/java/org/scijava/io/event/IOEvent.java index 1147039b3..593cdf721 100644 --- a/src/main/java/org/scijava/io/event/IOEvent.java +++ b/src/main/java/org/scijava/io/event/IOEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/AbstractDataHandle.java b/src/main/java/org/scijava/io/handle/AbstractDataHandle.java index 33a369a5c..dcafd62cd 100644 --- a/src/main/java/org/scijava/io/handle/AbstractDataHandle.java +++ b/src/main/java/org/scijava/io/handle/AbstractDataHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/AbstractHigherOrderHandle.java b/src/main/java/org/scijava/io/handle/AbstractHigherOrderHandle.java index c1276a092..853bc4098 100644 --- a/src/main/java/org/scijava/io/handle/AbstractHigherOrderHandle.java +++ b/src/main/java/org/scijava/io/handle/AbstractHigherOrderHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/AbstractSeekableStreamHandle.java b/src/main/java/org/scijava/io/handle/AbstractSeekableStreamHandle.java index 542b29f2c..ac7318347 100644 --- a/src/main/java/org/scijava/io/handle/AbstractSeekableStreamHandle.java +++ b/src/main/java/org/scijava/io/handle/AbstractSeekableStreamHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/AbstractStreamHandle.java b/src/main/java/org/scijava/io/handle/AbstractStreamHandle.java index 463eefe59..30af9f6a0 100644 --- a/src/main/java/org/scijava/io/handle/AbstractStreamHandle.java +++ b/src/main/java/org/scijava/io/handle/AbstractStreamHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/BytesHandle.java b/src/main/java/org/scijava/io/handle/BytesHandle.java index 971ecd56d..4b0051372 100644 --- a/src/main/java/org/scijava/io/handle/BytesHandle.java +++ b/src/main/java/org/scijava/io/handle/BytesHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/DataHandle.java b/src/main/java/org/scijava/io/handle/DataHandle.java index 5497d97b8..61d413382 100644 --- a/src/main/java/org/scijava/io/handle/DataHandle.java +++ b/src/main/java/org/scijava/io/handle/DataHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/DataHandleInputStream.java b/src/main/java/org/scijava/io/handle/DataHandleInputStream.java index bbf9bc183..7613b17be 100644 --- a/src/main/java/org/scijava/io/handle/DataHandleInputStream.java +++ b/src/main/java/org/scijava/io/handle/DataHandleInputStream.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/DataHandleOutputStream.java b/src/main/java/org/scijava/io/handle/DataHandleOutputStream.java index d1a8b4791..4e8259a8b 100644 --- a/src/main/java/org/scijava/io/handle/DataHandleOutputStream.java +++ b/src/main/java/org/scijava/io/handle/DataHandleOutputStream.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/DataHandleService.java b/src/main/java/org/scijava/io/handle/DataHandleService.java index 37a6e6cfa..e55cdfd3f 100644 --- a/src/main/java/org/scijava/io/handle/DataHandleService.java +++ b/src/main/java/org/scijava/io/handle/DataHandleService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/DataHandles.java b/src/main/java/org/scijava/io/handle/DataHandles.java index ff2928911..a8976f3fa 100644 --- a/src/main/java/org/scijava/io/handle/DataHandles.java +++ b/src/main/java/org/scijava/io/handle/DataHandles.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/DefaultDataHandleService.java b/src/main/java/org/scijava/io/handle/DefaultDataHandleService.java index cf7c8db92..66428855f 100644 --- a/src/main/java/org/scijava/io/handle/DefaultDataHandleService.java +++ b/src/main/java/org/scijava/io/handle/DefaultDataHandleService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/DummyHandle.java b/src/main/java/org/scijava/io/handle/DummyHandle.java index 35116cf47..61fe0bdf5 100644 --- a/src/main/java/org/scijava/io/handle/DummyHandle.java +++ b/src/main/java/org/scijava/io/handle/DummyHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/FileHandle.java b/src/main/java/org/scijava/io/handle/FileHandle.java index 54580b71b..029c0c6b2 100644 --- a/src/main/java/org/scijava/io/handle/FileHandle.java +++ b/src/main/java/org/scijava/io/handle/FileHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java b/src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java index d05f6507d..35841320b 100644 --- a/src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java +++ b/src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/ResettableStreamHandle.java b/src/main/java/org/scijava/io/handle/ResettableStreamHandle.java index b5114ca29..6a1022e9a 100644 --- a/src/main/java/org/scijava/io/handle/ResettableStreamHandle.java +++ b/src/main/java/org/scijava/io/handle/ResettableStreamHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/SeekableStreamHandle.java b/src/main/java/org/scijava/io/handle/SeekableStreamHandle.java index b57ef34d8..fa4e1666d 100644 --- a/src/main/java/org/scijava/io/handle/SeekableStreamHandle.java +++ b/src/main/java/org/scijava/io/handle/SeekableStreamHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/StreamHandle.java b/src/main/java/org/scijava/io/handle/StreamHandle.java index e2e683b08..c33eccdab 100644 --- a/src/main/java/org/scijava/io/handle/StreamHandle.java +++ b/src/main/java/org/scijava/io/handle/StreamHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/WriteBufferDataHandle.java b/src/main/java/org/scijava/io/handle/WriteBufferDataHandle.java index 280457b21..4f3a7d818 100644 --- a/src/main/java/org/scijava/io/handle/WriteBufferDataHandle.java +++ b/src/main/java/org/scijava/io/handle/WriteBufferDataHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/AbstractLocation.java b/src/main/java/org/scijava/io/location/AbstractLocation.java index f1c01a2da..d93e29fa9 100644 --- a/src/main/java/org/scijava/io/location/AbstractLocation.java +++ b/src/main/java/org/scijava/io/location/AbstractLocation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/AbstractLocationResolver.java b/src/main/java/org/scijava/io/location/AbstractLocationResolver.java index 0771e095a..d05ad4c9b 100644 --- a/src/main/java/org/scijava/io/location/AbstractLocationResolver.java +++ b/src/main/java/org/scijava/io/location/AbstractLocationResolver.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/AbstractRemoteLocation.java b/src/main/java/org/scijava/io/location/AbstractRemoteLocation.java index ecd40cb78..78e66e53b 100644 --- a/src/main/java/org/scijava/io/location/AbstractRemoteLocation.java +++ b/src/main/java/org/scijava/io/location/AbstractRemoteLocation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/BrowsableLocation.java b/src/main/java/org/scijava/io/location/BrowsableLocation.java index e3f03f912..68bbf0be3 100644 --- a/src/main/java/org/scijava/io/location/BrowsableLocation.java +++ b/src/main/java/org/scijava/io/location/BrowsableLocation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/BytesLocation.java b/src/main/java/org/scijava/io/location/BytesLocation.java index 2ac731595..74bc91843 100644 --- a/src/main/java/org/scijava/io/location/BytesLocation.java +++ b/src/main/java/org/scijava/io/location/BytesLocation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/DefaultLocationService.java b/src/main/java/org/scijava/io/location/DefaultLocationService.java index 5f010073b..46dd034ba 100644 --- a/src/main/java/org/scijava/io/location/DefaultLocationService.java +++ b/src/main/java/org/scijava/io/location/DefaultLocationService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/DummyLocation.java b/src/main/java/org/scijava/io/location/DummyLocation.java index 1a2058b42..1235ff829 100644 --- a/src/main/java/org/scijava/io/location/DummyLocation.java +++ b/src/main/java/org/scijava/io/location/DummyLocation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/FileLocation.java b/src/main/java/org/scijava/io/location/FileLocation.java index d86d0e6ae..ef8b8950e 100644 --- a/src/main/java/org/scijava/io/location/FileLocation.java +++ b/src/main/java/org/scijava/io/location/FileLocation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/FileLocationResolver.java b/src/main/java/org/scijava/io/location/FileLocationResolver.java index 498ca6d37..9c02c4a8f 100644 --- a/src/main/java/org/scijava/io/location/FileLocationResolver.java +++ b/src/main/java/org/scijava/io/location/FileLocationResolver.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/Location.java b/src/main/java/org/scijava/io/location/Location.java index 74fd05a65..efb45542f 100644 --- a/src/main/java/org/scijava/io/location/Location.java +++ b/src/main/java/org/scijava/io/location/Location.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/LocationResolver.java b/src/main/java/org/scijava/io/location/LocationResolver.java index 1759f180b..dac41d9bd 100644 --- a/src/main/java/org/scijava/io/location/LocationResolver.java +++ b/src/main/java/org/scijava/io/location/LocationResolver.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/LocationService.java b/src/main/java/org/scijava/io/location/LocationService.java index b06c6201f..ff29ce6e0 100644 --- a/src/main/java/org/scijava/io/location/LocationService.java +++ b/src/main/java/org/scijava/io/location/LocationService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/RemoteLocation.java b/src/main/java/org/scijava/io/location/RemoteLocation.java index 6a1ca7bde..ce5760565 100644 --- a/src/main/java/org/scijava/io/location/RemoteLocation.java +++ b/src/main/java/org/scijava/io/location/RemoteLocation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/URILocation.java b/src/main/java/org/scijava/io/location/URILocation.java index 02c3e61d7..3bc2789aa 100644 --- a/src/main/java/org/scijava/io/location/URILocation.java +++ b/src/main/java/org/scijava/io/location/URILocation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/URLLocation.java b/src/main/java/org/scijava/io/location/URLLocation.java index e96afcb7d..37619be4f 100644 --- a/src/main/java/org/scijava/io/location/URLLocation.java +++ b/src/main/java/org/scijava/io/location/URLLocation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/nio/ByteBufferByteBank.java b/src/main/java/org/scijava/io/nio/ByteBufferByteBank.java index 8e3d9afb9..92ccd5a1f 100644 --- a/src/main/java/org/scijava/io/nio/ByteBufferByteBank.java +++ b/src/main/java/org/scijava/io/nio/ByteBufferByteBank.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/nio/DefaultNIOService.java b/src/main/java/org/scijava/io/nio/DefaultNIOService.java index 832ce5e06..655580146 100644 --- a/src/main/java/org/scijava/io/nio/DefaultNIOService.java +++ b/src/main/java/org/scijava/io/nio/DefaultNIOService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/nio/NIOService.java b/src/main/java/org/scijava/io/nio/NIOService.java index b56330b00..4bdb6be3e 100644 --- a/src/main/java/org/scijava/io/nio/NIOService.java +++ b/src/main/java/org/scijava/io/nio/NIOService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/AbstractLogService.java b/src/main/java/org/scijava/log/AbstractLogService.java index 74e620f2e..de30db3da 100644 --- a/src/main/java/org/scijava/log/AbstractLogService.java +++ b/src/main/java/org/scijava/log/AbstractLogService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/CallingClassUtils.java b/src/main/java/org/scijava/log/CallingClassUtils.java index 4216120e7..c29516b91 100644 --- a/src/main/java/org/scijava/log/CallingClassUtils.java +++ b/src/main/java/org/scijava/log/CallingClassUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/DefaultLogger.java b/src/main/java/org/scijava/log/DefaultLogger.java index e8bbfdce6..0cf99f33e 100644 --- a/src/main/java/org/scijava/log/DefaultLogger.java +++ b/src/main/java/org/scijava/log/DefaultLogger.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/DefaultUncaughtExceptionHandler.java b/src/main/java/org/scijava/log/DefaultUncaughtExceptionHandler.java index b866c447c..e59cc2c93 100644 --- a/src/main/java/org/scijava/log/DefaultUncaughtExceptionHandler.java +++ b/src/main/java/org/scijava/log/DefaultUncaughtExceptionHandler.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/IgnoreAsCallingClass.java b/src/main/java/org/scijava/log/IgnoreAsCallingClass.java index fc0043dc8..0b18fac9f 100644 --- a/src/main/java/org/scijava/log/IgnoreAsCallingClass.java +++ b/src/main/java/org/scijava/log/IgnoreAsCallingClass.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/LogLevel.java b/src/main/java/org/scijava/log/LogLevel.java index 0b0211f3b..0172ed524 100644 --- a/src/main/java/org/scijava/log/LogLevel.java +++ b/src/main/java/org/scijava/log/LogLevel.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/LogListener.java b/src/main/java/org/scijava/log/LogListener.java index 502a54c8e..b2e8dad4b 100644 --- a/src/main/java/org/scijava/log/LogListener.java +++ b/src/main/java/org/scijava/log/LogListener.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/LogMessage.java b/src/main/java/org/scijava/log/LogMessage.java index 771fe28d9..4a621b261 100644 --- a/src/main/java/org/scijava/log/LogMessage.java +++ b/src/main/java/org/scijava/log/LogMessage.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/LogService.java b/src/main/java/org/scijava/log/LogService.java index c4068d1ff..335abb8f6 100644 --- a/src/main/java/org/scijava/log/LogService.java +++ b/src/main/java/org/scijava/log/LogService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/LogSource.java b/src/main/java/org/scijava/log/LogSource.java index 30bdca5b5..b44c48556 100644 --- a/src/main/java/org/scijava/log/LogSource.java +++ b/src/main/java/org/scijava/log/LogSource.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/Logged.java b/src/main/java/org/scijava/log/Logged.java index 59c1f5c5a..c12e4fe13 100644 --- a/src/main/java/org/scijava/log/Logged.java +++ b/src/main/java/org/scijava/log/Logged.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/Logger.java b/src/main/java/org/scijava/log/Logger.java index 4c066b310..0db237f70 100644 --- a/src/main/java/org/scijava/log/Logger.java +++ b/src/main/java/org/scijava/log/Logger.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/StderrLogService.java b/src/main/java/org/scijava/log/StderrLogService.java index e67c97132..9801bb746 100644 --- a/src/main/java/org/scijava/log/StderrLogService.java +++ b/src/main/java/org/scijava/log/StderrLogService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/main/DefaultMainService.java b/src/main/java/org/scijava/main/DefaultMainService.java index 1be25c6bc..79dea58cf 100644 --- a/src/main/java/org/scijava/main/DefaultMainService.java +++ b/src/main/java/org/scijava/main/DefaultMainService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/main/MainService.java b/src/main/java/org/scijava/main/MainService.java index 2230a6d4e..d8b190de1 100644 --- a/src/main/java/org/scijava/main/MainService.java +++ b/src/main/java/org/scijava/main/MainService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/main/console/MainArgument.java b/src/main/java/org/scijava/main/console/MainArgument.java index e1548f46c..0125781da 100644 --- a/src/main/java/org/scijava/main/console/MainArgument.java +++ b/src/main/java/org/scijava/main/console/MainArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/main/run/MainCodeRunner.java b/src/main/java/org/scijava/main/run/MainCodeRunner.java index bbf3cc36a..6ff737b2b 100644 --- a/src/main/java/org/scijava/main/run/MainCodeRunner.java +++ b/src/main/java/org/scijava/main/run/MainCodeRunner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/AbstractMenuCreator.java b/src/main/java/org/scijava/menu/AbstractMenuCreator.java index 8ad7ba7d4..d28e3fa73 100644 --- a/src/main/java/org/scijava/menu/AbstractMenuCreator.java +++ b/src/main/java/org/scijava/menu/AbstractMenuCreator.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/DefaultMenuService.java b/src/main/java/org/scijava/menu/DefaultMenuService.java index af6eee927..73471d5c9 100644 --- a/src/main/java/org/scijava/menu/DefaultMenuService.java +++ b/src/main/java/org/scijava/menu/DefaultMenuService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/MenuConstants.java b/src/main/java/org/scijava/menu/MenuConstants.java index f15311579..78f71535a 100644 --- a/src/main/java/org/scijava/menu/MenuConstants.java +++ b/src/main/java/org/scijava/menu/MenuConstants.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/MenuCreator.java b/src/main/java/org/scijava/menu/MenuCreator.java index 0be942d50..20249f21b 100644 --- a/src/main/java/org/scijava/menu/MenuCreator.java +++ b/src/main/java/org/scijava/menu/MenuCreator.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/MenuService.java b/src/main/java/org/scijava/menu/MenuService.java index 2625caee8..1023a5fd6 100644 --- a/src/main/java/org/scijava/menu/MenuService.java +++ b/src/main/java/org/scijava/menu/MenuService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/ShadowMenu.java b/src/main/java/org/scijava/menu/ShadowMenu.java index 95bcd409a..f6b6e53db 100644 --- a/src/main/java/org/scijava/menu/ShadowMenu.java +++ b/src/main/java/org/scijava/menu/ShadowMenu.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/ShadowMenuIterator.java b/src/main/java/org/scijava/menu/ShadowMenuIterator.java index 2d35a8d2b..4ac49edb9 100644 --- a/src/main/java/org/scijava/menu/ShadowMenuIterator.java +++ b/src/main/java/org/scijava/menu/ShadowMenuIterator.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/event/MenuEvent.java b/src/main/java/org/scijava/menu/event/MenuEvent.java index db950826c..c8ef4a79d 100644 --- a/src/main/java/org/scijava/menu/event/MenuEvent.java +++ b/src/main/java/org/scijava/menu/event/MenuEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/event/MenusAddedEvent.java b/src/main/java/org/scijava/menu/event/MenusAddedEvent.java index 7b2595af5..299b7f68e 100644 --- a/src/main/java/org/scijava/menu/event/MenusAddedEvent.java +++ b/src/main/java/org/scijava/menu/event/MenusAddedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/event/MenusRemovedEvent.java b/src/main/java/org/scijava/menu/event/MenusRemovedEvent.java index 008d2784d..205c13229 100644 --- a/src/main/java/org/scijava/menu/event/MenusRemovedEvent.java +++ b/src/main/java/org/scijava/menu/event/MenusRemovedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/event/MenusUpdatedEvent.java b/src/main/java/org/scijava/menu/event/MenusUpdatedEvent.java index ff0ea6cd6..ea69e3833 100644 --- a/src/main/java/org/scijava/menu/event/MenusUpdatedEvent.java +++ b/src/main/java/org/scijava/menu/event/MenusUpdatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/AbstractModule.java b/src/main/java/org/scijava/module/AbstractModule.java index 4dbae4407..4fd0aacf3 100644 --- a/src/main/java/org/scijava/module/AbstractModule.java +++ b/src/main/java/org/scijava/module/AbstractModule.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/AbstractModuleInfo.java b/src/main/java/org/scijava/module/AbstractModuleInfo.java index 9fed0102c..29379b44e 100644 --- a/src/main/java/org/scijava/module/AbstractModuleInfo.java +++ b/src/main/java/org/scijava/module/AbstractModuleInfo.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/AbstractModuleItem.java b/src/main/java/org/scijava/module/AbstractModuleItem.java index 3f8c7c09c..f61cfcc54 100644 --- a/src/main/java/org/scijava/module/AbstractModuleItem.java +++ b/src/main/java/org/scijava/module/AbstractModuleItem.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/DefaultModuleService.java b/src/main/java/org/scijava/module/DefaultModuleService.java index e2c03c0cc..e4461f236 100644 --- a/src/main/java/org/scijava/module/DefaultModuleService.java +++ b/src/main/java/org/scijava/module/DefaultModuleService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/DefaultMutableModule.java b/src/main/java/org/scijava/module/DefaultMutableModule.java index 3ab26d90f..768d6c663 100644 --- a/src/main/java/org/scijava/module/DefaultMutableModule.java +++ b/src/main/java/org/scijava/module/DefaultMutableModule.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/DefaultMutableModuleInfo.java b/src/main/java/org/scijava/module/DefaultMutableModuleInfo.java index bdb3b0c4b..859fe0d9b 100644 --- a/src/main/java/org/scijava/module/DefaultMutableModuleInfo.java +++ b/src/main/java/org/scijava/module/DefaultMutableModuleInfo.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/DefaultMutableModuleItem.java b/src/main/java/org/scijava/module/DefaultMutableModuleItem.java index fc7cd35d0..3e3eb139c 100644 --- a/src/main/java/org/scijava/module/DefaultMutableModuleItem.java +++ b/src/main/java/org/scijava/module/DefaultMutableModuleItem.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/MethodCallException.java b/src/main/java/org/scijava/module/MethodCallException.java index f42988331..eca6e5e5c 100644 --- a/src/main/java/org/scijava/module/MethodCallException.java +++ b/src/main/java/org/scijava/module/MethodCallException.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/MethodRef.java b/src/main/java/org/scijava/module/MethodRef.java index b20c2d714..758f8d390 100644 --- a/src/main/java/org/scijava/module/MethodRef.java +++ b/src/main/java/org/scijava/module/MethodRef.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/Module.java b/src/main/java/org/scijava/module/Module.java index 9df7cfda9..16f555a48 100644 --- a/src/main/java/org/scijava/module/Module.java +++ b/src/main/java/org/scijava/module/Module.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/ModuleCanceledException.java b/src/main/java/org/scijava/module/ModuleCanceledException.java index 85c20a202..c39147745 100644 --- a/src/main/java/org/scijava/module/ModuleCanceledException.java +++ b/src/main/java/org/scijava/module/ModuleCanceledException.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/ModuleException.java b/src/main/java/org/scijava/module/ModuleException.java index 5b9a3495d..0b4339108 100644 --- a/src/main/java/org/scijava/module/ModuleException.java +++ b/src/main/java/org/scijava/module/ModuleException.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/ModuleIndex.java b/src/main/java/org/scijava/module/ModuleIndex.java index 04f0d4de8..30f53e048 100644 --- a/src/main/java/org/scijava/module/ModuleIndex.java +++ b/src/main/java/org/scijava/module/ModuleIndex.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/ModuleInfo.java b/src/main/java/org/scijava/module/ModuleInfo.java index b7ae95bab..d95a56335 100644 --- a/src/main/java/org/scijava/module/ModuleInfo.java +++ b/src/main/java/org/scijava/module/ModuleInfo.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/ModuleItem.java b/src/main/java/org/scijava/module/ModuleItem.java index 1f1f39003..cec5cb5e2 100644 --- a/src/main/java/org/scijava/module/ModuleItem.java +++ b/src/main/java/org/scijava/module/ModuleItem.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/ModuleRunner.java b/src/main/java/org/scijava/module/ModuleRunner.java index 8fa173225..7de66702f 100644 --- a/src/main/java/org/scijava/module/ModuleRunner.java +++ b/src/main/java/org/scijava/module/ModuleRunner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/ModuleService.java b/src/main/java/org/scijava/module/ModuleService.java index f19ae1df3..ad1ae76d3 100644 --- a/src/main/java/org/scijava/module/ModuleService.java +++ b/src/main/java/org/scijava/module/ModuleService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/MutableModule.java b/src/main/java/org/scijava/module/MutableModule.java index 1624c726d..487c98f00 100644 --- a/src/main/java/org/scijava/module/MutableModule.java +++ b/src/main/java/org/scijava/module/MutableModule.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/MutableModuleInfo.java b/src/main/java/org/scijava/module/MutableModuleInfo.java index ee7c00232..7dd5bffdd 100644 --- a/src/main/java/org/scijava/module/MutableModuleInfo.java +++ b/src/main/java/org/scijava/module/MutableModuleInfo.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/MutableModuleItem.java b/src/main/java/org/scijava/module/MutableModuleItem.java index 3ac251f50..73f952a7e 100644 --- a/src/main/java/org/scijava/module/MutableModuleItem.java +++ b/src/main/java/org/scijava/module/MutableModuleItem.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleCanceledEvent.java b/src/main/java/org/scijava/module/event/ModuleCanceledEvent.java index d090600cb..4ad43d60d 100644 --- a/src/main/java/org/scijava/module/event/ModuleCanceledEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleCanceledEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleErroredEvent.java b/src/main/java/org/scijava/module/event/ModuleErroredEvent.java index 9fe97438c..ce0fd6924 100644 --- a/src/main/java/org/scijava/module/event/ModuleErroredEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleErroredEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleEvent.java b/src/main/java/org/scijava/module/event/ModuleEvent.java index ee5c721c1..d00c7ca09 100644 --- a/src/main/java/org/scijava/module/event/ModuleEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleExecutedEvent.java b/src/main/java/org/scijava/module/event/ModuleExecutedEvent.java index 66b8a8c29..eecd5c063 100644 --- a/src/main/java/org/scijava/module/event/ModuleExecutedEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleExecutedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleExecutingEvent.java b/src/main/java/org/scijava/module/event/ModuleExecutingEvent.java index d00bb48a4..2cd97f867 100644 --- a/src/main/java/org/scijava/module/event/ModuleExecutingEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleExecutingEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleExecutionEvent.java b/src/main/java/org/scijava/module/event/ModuleExecutionEvent.java index 81ff94ee1..c19ba0535 100644 --- a/src/main/java/org/scijava/module/event/ModuleExecutionEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleExecutionEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleFinishedEvent.java b/src/main/java/org/scijava/module/event/ModuleFinishedEvent.java index 6c7c2d543..9bc5604b3 100644 --- a/src/main/java/org/scijava/module/event/ModuleFinishedEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleFinishedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModulePostprocessEvent.java b/src/main/java/org/scijava/module/event/ModulePostprocessEvent.java index 4587ba475..f92330682 100644 --- a/src/main/java/org/scijava/module/event/ModulePostprocessEvent.java +++ b/src/main/java/org/scijava/module/event/ModulePostprocessEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModulePreprocessEvent.java b/src/main/java/org/scijava/module/event/ModulePreprocessEvent.java index e4f228907..92e1ab81e 100644 --- a/src/main/java/org/scijava/module/event/ModulePreprocessEvent.java +++ b/src/main/java/org/scijava/module/event/ModulePreprocessEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleProcessEvent.java b/src/main/java/org/scijava/module/event/ModuleProcessEvent.java index 6519874f4..3588bc103 100644 --- a/src/main/java/org/scijava/module/event/ModuleProcessEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleProcessEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleStartedEvent.java b/src/main/java/org/scijava/module/event/ModuleStartedEvent.java index aa31745a0..5da7e5fe7 100644 --- a/src/main/java/org/scijava/module/event/ModuleStartedEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleStartedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModulesAddedEvent.java b/src/main/java/org/scijava/module/event/ModulesAddedEvent.java index 0b0844e94..b32385ae3 100644 --- a/src/main/java/org/scijava/module/event/ModulesAddedEvent.java +++ b/src/main/java/org/scijava/module/event/ModulesAddedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModulesListEvent.java b/src/main/java/org/scijava/module/event/ModulesListEvent.java index fb5fc5199..5f6cca8c3 100644 --- a/src/main/java/org/scijava/module/event/ModulesListEvent.java +++ b/src/main/java/org/scijava/module/event/ModulesListEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModulesRemovedEvent.java b/src/main/java/org/scijava/module/event/ModulesRemovedEvent.java index 00f2d276f..f8a9a9780 100644 --- a/src/main/java/org/scijava/module/event/ModulesRemovedEvent.java +++ b/src/main/java/org/scijava/module/event/ModulesRemovedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModulesUpdatedEvent.java b/src/main/java/org/scijava/module/event/ModulesUpdatedEvent.java index eb20e9431..075f1f826 100644 --- a/src/main/java/org/scijava/module/event/ModulesUpdatedEvent.java +++ b/src/main/java/org/scijava/module/event/ModulesUpdatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/AbstractPostprocessorPlugin.java b/src/main/java/org/scijava/module/process/AbstractPostprocessorPlugin.java index d7a025dd6..575fec9b3 100644 --- a/src/main/java/org/scijava/module/process/AbstractPostprocessorPlugin.java +++ b/src/main/java/org/scijava/module/process/AbstractPostprocessorPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/AbstractPreprocessorPlugin.java b/src/main/java/org/scijava/module/process/AbstractPreprocessorPlugin.java index 1824c8b39..53cbac997 100644 --- a/src/main/java/org/scijava/module/process/AbstractPreprocessorPlugin.java +++ b/src/main/java/org/scijava/module/process/AbstractPreprocessorPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/AbstractSingleInputPreprocessor.java b/src/main/java/org/scijava/module/process/AbstractSingleInputPreprocessor.java index 59b9b77a6..0e30c3935 100644 --- a/src/main/java/org/scijava/module/process/AbstractSingleInputPreprocessor.java +++ b/src/main/java/org/scijava/module/process/AbstractSingleInputPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/CheckInputsPreprocessor.java b/src/main/java/org/scijava/module/process/CheckInputsPreprocessor.java index 87526ac1a..545261ffc 100644 --- a/src/main/java/org/scijava/module/process/CheckInputsPreprocessor.java +++ b/src/main/java/org/scijava/module/process/CheckInputsPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/DebugPostprocessor.java b/src/main/java/org/scijava/module/process/DebugPostprocessor.java index 7fbfb10df..af8bd28c2 100644 --- a/src/main/java/org/scijava/module/process/DebugPostprocessor.java +++ b/src/main/java/org/scijava/module/process/DebugPostprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/DebugPreprocessor.java b/src/main/java/org/scijava/module/process/DebugPreprocessor.java index 0cb62640c..8e33d1088 100644 --- a/src/main/java/org/scijava/module/process/DebugPreprocessor.java +++ b/src/main/java/org/scijava/module/process/DebugPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/DefaultValuePreprocessor.java b/src/main/java/org/scijava/module/process/DefaultValuePreprocessor.java index 272f8580d..28c951188 100644 --- a/src/main/java/org/scijava/module/process/DefaultValuePreprocessor.java +++ b/src/main/java/org/scijava/module/process/DefaultValuePreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/GatewayPreprocessor.java b/src/main/java/org/scijava/module/process/GatewayPreprocessor.java index 4d0a71616..b59b8c8cf 100644 --- a/src/main/java/org/scijava/module/process/GatewayPreprocessor.java +++ b/src/main/java/org/scijava/module/process/GatewayPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/InitPreprocessor.java b/src/main/java/org/scijava/module/process/InitPreprocessor.java index 629501688..89c6af4d7 100644 --- a/src/main/java/org/scijava/module/process/InitPreprocessor.java +++ b/src/main/java/org/scijava/module/process/InitPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/LoadInputsPreprocessor.java b/src/main/java/org/scijava/module/process/LoadInputsPreprocessor.java index 773096c99..228058fac 100644 --- a/src/main/java/org/scijava/module/process/LoadInputsPreprocessor.java +++ b/src/main/java/org/scijava/module/process/LoadInputsPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/LoggerPreprocessor.java b/src/main/java/org/scijava/module/process/LoggerPreprocessor.java index 439ae43e6..7f4b5531e 100644 --- a/src/main/java/org/scijava/module/process/LoggerPreprocessor.java +++ b/src/main/java/org/scijava/module/process/LoggerPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/ModulePostprocessor.java b/src/main/java/org/scijava/module/process/ModulePostprocessor.java index 93a017750..ee9a06864 100644 --- a/src/main/java/org/scijava/module/process/ModulePostprocessor.java +++ b/src/main/java/org/scijava/module/process/ModulePostprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/ModulePreprocessor.java b/src/main/java/org/scijava/module/process/ModulePreprocessor.java index f0cbe88b9..a90e04b8f 100644 --- a/src/main/java/org/scijava/module/process/ModulePreprocessor.java +++ b/src/main/java/org/scijava/module/process/ModulePreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/ModuleProcessor.java b/src/main/java/org/scijava/module/process/ModuleProcessor.java index 003d0b2c7..67284b0a1 100644 --- a/src/main/java/org/scijava/module/process/ModuleProcessor.java +++ b/src/main/java/org/scijava/module/process/ModuleProcessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/PostprocessorPlugin.java b/src/main/java/org/scijava/module/process/PostprocessorPlugin.java index f60dc8cfc..21eccd05f 100644 --- a/src/main/java/org/scijava/module/process/PostprocessorPlugin.java +++ b/src/main/java/org/scijava/module/process/PostprocessorPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/PreprocessorPlugin.java b/src/main/java/org/scijava/module/process/PreprocessorPlugin.java index 357ca6612..fb8765a20 100644 --- a/src/main/java/org/scijava/module/process/PreprocessorPlugin.java +++ b/src/main/java/org/scijava/module/process/PreprocessorPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/SaveInputsPreprocessor.java b/src/main/java/org/scijava/module/process/SaveInputsPreprocessor.java index 742cb870e..c92e54bb8 100644 --- a/src/main/java/org/scijava/module/process/SaveInputsPreprocessor.java +++ b/src/main/java/org/scijava/module/process/SaveInputsPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/ServicePreprocessor.java b/src/main/java/org/scijava/module/process/ServicePreprocessor.java index 44f7060ac..75c66526e 100644 --- a/src/main/java/org/scijava/module/process/ServicePreprocessor.java +++ b/src/main/java/org/scijava/module/process/ServicePreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/ValidityPreprocessor.java b/src/main/java/org/scijava/module/process/ValidityPreprocessor.java index 88c35a9d6..47c523036 100644 --- a/src/main/java/org/scijava/module/process/ValidityPreprocessor.java +++ b/src/main/java/org/scijava/module/process/ValidityPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/run/ModuleCodeRunner.java b/src/main/java/org/scijava/module/run/ModuleCodeRunner.java index 4cafd1220..15faa89ce 100644 --- a/src/main/java/org/scijava/module/run/ModuleCodeRunner.java +++ b/src/main/java/org/scijava/module/run/ModuleCodeRunner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/DefaultObjectService.java b/src/main/java/org/scijava/object/DefaultObjectService.java index 8063f9709..7efa98f4b 100644 --- a/src/main/java/org/scijava/object/DefaultObjectService.java +++ b/src/main/java/org/scijava/object/DefaultObjectService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/LazyObjects.java b/src/main/java/org/scijava/object/LazyObjects.java index 12a53afc1..8d90f18b0 100644 --- a/src/main/java/org/scijava/object/LazyObjects.java +++ b/src/main/java/org/scijava/object/LazyObjects.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/NamedObjectIndex.java b/src/main/java/org/scijava/object/NamedObjectIndex.java index 8e3712e4a..a37c1eff1 100644 --- a/src/main/java/org/scijava/object/NamedObjectIndex.java +++ b/src/main/java/org/scijava/object/NamedObjectIndex.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/ObjectIndex.java b/src/main/java/org/scijava/object/ObjectIndex.java index 10220b1f3..3bc0567b0 100644 --- a/src/main/java/org/scijava/object/ObjectIndex.java +++ b/src/main/java/org/scijava/object/ObjectIndex.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/ObjectService.java b/src/main/java/org/scijava/object/ObjectService.java index 687fabdfe..7fce98b07 100644 --- a/src/main/java/org/scijava/object/ObjectService.java +++ b/src/main/java/org/scijava/object/ObjectService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/SortedObjectIndex.java b/src/main/java/org/scijava/object/SortedObjectIndex.java index 2a9f12e44..bb233bf26 100644 --- a/src/main/java/org/scijava/object/SortedObjectIndex.java +++ b/src/main/java/org/scijava/object/SortedObjectIndex.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/event/ListEvent.java b/src/main/java/org/scijava/object/event/ListEvent.java index 58ad375df..84f8026a8 100644 --- a/src/main/java/org/scijava/object/event/ListEvent.java +++ b/src/main/java/org/scijava/object/event/ListEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/event/ObjectCreatedEvent.java b/src/main/java/org/scijava/object/event/ObjectCreatedEvent.java index 597953762..7e35c68e4 100644 --- a/src/main/java/org/scijava/object/event/ObjectCreatedEvent.java +++ b/src/main/java/org/scijava/object/event/ObjectCreatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/event/ObjectDeletedEvent.java b/src/main/java/org/scijava/object/event/ObjectDeletedEvent.java index d033c7d5a..fc5e237b6 100644 --- a/src/main/java/org/scijava/object/event/ObjectDeletedEvent.java +++ b/src/main/java/org/scijava/object/event/ObjectDeletedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/event/ObjectEvent.java b/src/main/java/org/scijava/object/event/ObjectEvent.java index 17446edf9..6730e23d1 100644 --- a/src/main/java/org/scijava/object/event/ObjectEvent.java +++ b/src/main/java/org/scijava/object/event/ObjectEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/event/ObjectModifiedEvent.java b/src/main/java/org/scijava/object/event/ObjectModifiedEvent.java index 8459e1a0d..33b1291d1 100644 --- a/src/main/java/org/scijava/object/event/ObjectModifiedEvent.java +++ b/src/main/java/org/scijava/object/event/ObjectModifiedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/event/ObjectsAddedEvent.java b/src/main/java/org/scijava/object/event/ObjectsAddedEvent.java index fb173a3a0..1ec22cb3a 100644 --- a/src/main/java/org/scijava/object/event/ObjectsAddedEvent.java +++ b/src/main/java/org/scijava/object/event/ObjectsAddedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/event/ObjectsListEvent.java b/src/main/java/org/scijava/object/event/ObjectsListEvent.java index 6039ba504..d77e8f3cd 100644 --- a/src/main/java/org/scijava/object/event/ObjectsListEvent.java +++ b/src/main/java/org/scijava/object/event/ObjectsListEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/event/ObjectsRemovedEvent.java b/src/main/java/org/scijava/object/event/ObjectsRemovedEvent.java index 2d6e3a997..938b55b8e 100644 --- a/src/main/java/org/scijava/object/event/ObjectsRemovedEvent.java +++ b/src/main/java/org/scijava/object/event/ObjectsRemovedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/options/DefaultOptionsService.java b/src/main/java/org/scijava/options/DefaultOptionsService.java index 9967aa887..03379d9d8 100644 --- a/src/main/java/org/scijava/options/DefaultOptionsService.java +++ b/src/main/java/org/scijava/options/DefaultOptionsService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/options/OptionsPlugin.java b/src/main/java/org/scijava/options/OptionsPlugin.java index 1994745d8..c86b0f34d 100644 --- a/src/main/java/org/scijava/options/OptionsPlugin.java +++ b/src/main/java/org/scijava/options/OptionsPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/options/OptionsService.java b/src/main/java/org/scijava/options/OptionsService.java index d0e49bc8c..69353a5eb 100644 --- a/src/main/java/org/scijava/options/OptionsService.java +++ b/src/main/java/org/scijava/options/OptionsService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/options/event/OptionsEvent.java b/src/main/java/org/scijava/options/event/OptionsEvent.java index 49d676898..42e5cd1b7 100644 --- a/src/main/java/org/scijava/options/event/OptionsEvent.java +++ b/src/main/java/org/scijava/options/event/OptionsEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/parse/DefaultParseService.java b/src/main/java/org/scijava/parse/DefaultParseService.java index 1257be932..b8d46f0f8 100644 --- a/src/main/java/org/scijava/parse/DefaultParseService.java +++ b/src/main/java/org/scijava/parse/DefaultParseService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/parse/Item.java b/src/main/java/org/scijava/parse/Item.java index e531fad34..3ef55bcf4 100644 --- a/src/main/java/org/scijava/parse/Item.java +++ b/src/main/java/org/scijava/parse/Item.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/parse/Items.java b/src/main/java/org/scijava/parse/Items.java index 9cc462972..1b9ac7dd1 100644 --- a/src/main/java/org/scijava/parse/Items.java +++ b/src/main/java/org/scijava/parse/Items.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/parse/ParseService.java b/src/main/java/org/scijava/parse/ParseService.java index 2f8a5ed1a..19a705bcf 100644 --- a/src/main/java/org/scijava/parse/ParseService.java +++ b/src/main/java/org/scijava/parse/ParseService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/AbstractPlatform.java b/src/main/java/org/scijava/platform/AbstractPlatform.java index d192753f2..73710dfc2 100644 --- a/src/main/java/org/scijava/platform/AbstractPlatform.java +++ b/src/main/java/org/scijava/platform/AbstractPlatform.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/AppEventService.java b/src/main/java/org/scijava/platform/AppEventService.java index c8e51bf5d..b10605b52 100644 --- a/src/main/java/org/scijava/platform/AppEventService.java +++ b/src/main/java/org/scijava/platform/AppEventService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/DefaultAppEventService.java b/src/main/java/org/scijava/platform/DefaultAppEventService.java index ebc753143..55b276774 100644 --- a/src/main/java/org/scijava/platform/DefaultAppEventService.java +++ b/src/main/java/org/scijava/platform/DefaultAppEventService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/DefaultPlatform.java b/src/main/java/org/scijava/platform/DefaultPlatform.java index 35c756bdc..fbd7e67f0 100644 --- a/src/main/java/org/scijava/platform/DefaultPlatform.java +++ b/src/main/java/org/scijava/platform/DefaultPlatform.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/DefaultPlatformService.java b/src/main/java/org/scijava/platform/DefaultPlatformService.java index 5dd7ffe6b..5804a11a4 100644 --- a/src/main/java/org/scijava/platform/DefaultPlatformService.java +++ b/src/main/java/org/scijava/platform/DefaultPlatformService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/Platform.java b/src/main/java/org/scijava/platform/Platform.java index fd3b71e6d..948024f61 100644 --- a/src/main/java/org/scijava/platform/Platform.java +++ b/src/main/java/org/scijava/platform/Platform.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/PlatformService.java b/src/main/java/org/scijava/platform/PlatformService.java index 99eaf6612..c8e796e7f 100644 --- a/src/main/java/org/scijava/platform/PlatformService.java +++ b/src/main/java/org/scijava/platform/PlatformService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppAboutEvent.java b/src/main/java/org/scijava/platform/event/AppAboutEvent.java index 1b1390e93..b266a20bb 100644 --- a/src/main/java/org/scijava/platform/event/AppAboutEvent.java +++ b/src/main/java/org/scijava/platform/event/AppAboutEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppFocusEvent.java b/src/main/java/org/scijava/platform/event/AppFocusEvent.java index 5aafe2b91..4f65243fd 100644 --- a/src/main/java/org/scijava/platform/event/AppFocusEvent.java +++ b/src/main/java/org/scijava/platform/event/AppFocusEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppMenusCreatedEvent.java b/src/main/java/org/scijava/platform/event/AppMenusCreatedEvent.java index 5603e085d..94244046e 100644 --- a/src/main/java/org/scijava/platform/event/AppMenusCreatedEvent.java +++ b/src/main/java/org/scijava/platform/event/AppMenusCreatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppOpenFilesEvent.java b/src/main/java/org/scijava/platform/event/AppOpenFilesEvent.java index aa33f9e15..6a51cf9da 100644 --- a/src/main/java/org/scijava/platform/event/AppOpenFilesEvent.java +++ b/src/main/java/org/scijava/platform/event/AppOpenFilesEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppPreferencesEvent.java b/src/main/java/org/scijava/platform/event/AppPreferencesEvent.java index 73a123737..650200905 100644 --- a/src/main/java/org/scijava/platform/event/AppPreferencesEvent.java +++ b/src/main/java/org/scijava/platform/event/AppPreferencesEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppPrintEvent.java b/src/main/java/org/scijava/platform/event/AppPrintEvent.java index 03be243a9..7325f24cc 100644 --- a/src/main/java/org/scijava/platform/event/AppPrintEvent.java +++ b/src/main/java/org/scijava/platform/event/AppPrintEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppQuitEvent.java b/src/main/java/org/scijava/platform/event/AppQuitEvent.java index f2398c75f..002192a48 100644 --- a/src/main/java/org/scijava/platform/event/AppQuitEvent.java +++ b/src/main/java/org/scijava/platform/event/AppQuitEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppReOpenEvent.java b/src/main/java/org/scijava/platform/event/AppReOpenEvent.java index 674f3b340..f5657e7b2 100644 --- a/src/main/java/org/scijava/platform/event/AppReOpenEvent.java +++ b/src/main/java/org/scijava/platform/event/AppReOpenEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppScreenSleepEvent.java b/src/main/java/org/scijava/platform/event/AppScreenSleepEvent.java index a82b0c20a..678e2e839 100644 --- a/src/main/java/org/scijava/platform/event/AppScreenSleepEvent.java +++ b/src/main/java/org/scijava/platform/event/AppScreenSleepEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppSleepEvent.java b/src/main/java/org/scijava/platform/event/AppSleepEvent.java index b70c05442..c8e102725 100644 --- a/src/main/java/org/scijava/platform/event/AppSleepEvent.java +++ b/src/main/java/org/scijava/platform/event/AppSleepEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppSystemSleepEvent.java b/src/main/java/org/scijava/platform/event/AppSystemSleepEvent.java index 4cbfa99f3..5fe8a7286 100644 --- a/src/main/java/org/scijava/platform/event/AppSystemSleepEvent.java +++ b/src/main/java/org/scijava/platform/event/AppSystemSleepEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppUserSessionEvent.java b/src/main/java/org/scijava/platform/event/AppUserSessionEvent.java index 3a48d5a5e..bd99e0c74 100644 --- a/src/main/java/org/scijava/platform/event/AppUserSessionEvent.java +++ b/src/main/java/org/scijava/platform/event/AppUserSessionEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppVisibleEvent.java b/src/main/java/org/scijava/platform/event/AppVisibleEvent.java index e99c60d37..45a9fb4e2 100644 --- a/src/main/java/org/scijava/platform/event/AppVisibleEvent.java +++ b/src/main/java/org/scijava/platform/event/AppVisibleEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/ApplicationEvent.java b/src/main/java/org/scijava/platform/event/ApplicationEvent.java index e5af9d7bd..0038af03f 100644 --- a/src/main/java/org/scijava/platform/event/ApplicationEvent.java +++ b/src/main/java/org/scijava/platform/event/ApplicationEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractHandlerPlugin.java b/src/main/java/org/scijava/plugin/AbstractHandlerPlugin.java index 91448fa9b..b0e475b68 100644 --- a/src/main/java/org/scijava/plugin/AbstractHandlerPlugin.java +++ b/src/main/java/org/scijava/plugin/AbstractHandlerPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractHandlerService.java b/src/main/java/org/scijava/plugin/AbstractHandlerService.java index e17ba3be7..f2562e9ae 100644 --- a/src/main/java/org/scijava/plugin/AbstractHandlerService.java +++ b/src/main/java/org/scijava/plugin/AbstractHandlerService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractPTService.java b/src/main/java/org/scijava/plugin/AbstractPTService.java index 76b268b65..5170d256e 100644 --- a/src/main/java/org/scijava/plugin/AbstractPTService.java +++ b/src/main/java/org/scijava/plugin/AbstractPTService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractRichPlugin.java b/src/main/java/org/scijava/plugin/AbstractRichPlugin.java index 4b61e1b9f..5f804afa7 100644 --- a/src/main/java/org/scijava/plugin/AbstractRichPlugin.java +++ b/src/main/java/org/scijava/plugin/AbstractRichPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractSingletonService.java b/src/main/java/org/scijava/plugin/AbstractSingletonService.java index 28885726a..fe51559aa 100644 --- a/src/main/java/org/scijava/plugin/AbstractSingletonService.java +++ b/src/main/java/org/scijava/plugin/AbstractSingletonService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractTypedPlugin.java b/src/main/java/org/scijava/plugin/AbstractTypedPlugin.java index cb479c299..40929cf32 100644 --- a/src/main/java/org/scijava/plugin/AbstractTypedPlugin.java +++ b/src/main/java/org/scijava/plugin/AbstractTypedPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractTypedService.java b/src/main/java/org/scijava/plugin/AbstractTypedService.java index d2ab714a7..67fe4a669 100644 --- a/src/main/java/org/scijava/plugin/AbstractTypedService.java +++ b/src/main/java/org/scijava/plugin/AbstractTypedService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractWrapperPlugin.java b/src/main/java/org/scijava/plugin/AbstractWrapperPlugin.java index d2324ccd3..525fd50c3 100644 --- a/src/main/java/org/scijava/plugin/AbstractWrapperPlugin.java +++ b/src/main/java/org/scijava/plugin/AbstractWrapperPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractWrapperService.java b/src/main/java/org/scijava/plugin/AbstractWrapperService.java index 69fa49c20..c05cb94ad 100644 --- a/src/main/java/org/scijava/plugin/AbstractWrapperService.java +++ b/src/main/java/org/scijava/plugin/AbstractWrapperService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/Attr.java b/src/main/java/org/scijava/plugin/Attr.java index e828d2f2b..4287edcc0 100644 --- a/src/main/java/org/scijava/plugin/Attr.java +++ b/src/main/java/org/scijava/plugin/Attr.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/DefaultPluginFinder.java b/src/main/java/org/scijava/plugin/DefaultPluginFinder.java index 9b2041484..0b16c9d58 100644 --- a/src/main/java/org/scijava/plugin/DefaultPluginFinder.java +++ b/src/main/java/org/scijava/plugin/DefaultPluginFinder.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/DefaultPluginService.java b/src/main/java/org/scijava/plugin/DefaultPluginService.java index 7e73d3e2c..c904ffb73 100644 --- a/src/main/java/org/scijava/plugin/DefaultPluginService.java +++ b/src/main/java/org/scijava/plugin/DefaultPluginService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/HandlerPlugin.java b/src/main/java/org/scijava/plugin/HandlerPlugin.java index b08fad223..f2fe8aaf8 100644 --- a/src/main/java/org/scijava/plugin/HandlerPlugin.java +++ b/src/main/java/org/scijava/plugin/HandlerPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/HandlerService.java b/src/main/java/org/scijava/plugin/HandlerService.java index 8a5942493..168f977d1 100644 --- a/src/main/java/org/scijava/plugin/HandlerService.java +++ b/src/main/java/org/scijava/plugin/HandlerService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/HasPluginInfo.java b/src/main/java/org/scijava/plugin/HasPluginInfo.java index 971201198..3f6cfaf1e 100644 --- a/src/main/java/org/scijava/plugin/HasPluginInfo.java +++ b/src/main/java/org/scijava/plugin/HasPluginInfo.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/Menu.java b/src/main/java/org/scijava/plugin/Menu.java index 3c3b0706a..d25e7fc0a 100644 --- a/src/main/java/org/scijava/plugin/Menu.java +++ b/src/main/java/org/scijava/plugin/Menu.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/PTService.java b/src/main/java/org/scijava/plugin/PTService.java index ad63b6919..191c8064a 100644 --- a/src/main/java/org/scijava/plugin/PTService.java +++ b/src/main/java/org/scijava/plugin/PTService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/Parameter.java b/src/main/java/org/scijava/plugin/Parameter.java index f922c23c8..1ed64c82d 100644 --- a/src/main/java/org/scijava/plugin/Parameter.java +++ b/src/main/java/org/scijava/plugin/Parameter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/Plugin.java b/src/main/java/org/scijava/plugin/Plugin.java index d2aabba95..5a8fbc5cb 100644 --- a/src/main/java/org/scijava/plugin/Plugin.java +++ b/src/main/java/org/scijava/plugin/Plugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/PluginFinder.java b/src/main/java/org/scijava/plugin/PluginFinder.java index ccf96ee6a..450af2428 100644 --- a/src/main/java/org/scijava/plugin/PluginFinder.java +++ b/src/main/java/org/scijava/plugin/PluginFinder.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/PluginIndex.java b/src/main/java/org/scijava/plugin/PluginIndex.java index 944133d38..b1ae59bd4 100644 --- a/src/main/java/org/scijava/plugin/PluginIndex.java +++ b/src/main/java/org/scijava/plugin/PluginIndex.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/PluginInfo.java b/src/main/java/org/scijava/plugin/PluginInfo.java index 6629cdb80..dc127f074 100644 --- a/src/main/java/org/scijava/plugin/PluginInfo.java +++ b/src/main/java/org/scijava/plugin/PluginInfo.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/PluginService.java b/src/main/java/org/scijava/plugin/PluginService.java index 3b8ccea3e..e85bf76db 100644 --- a/src/main/java/org/scijava/plugin/PluginService.java +++ b/src/main/java/org/scijava/plugin/PluginService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/RichPlugin.java b/src/main/java/org/scijava/plugin/RichPlugin.java index 29fc580af..8f5eb862b 100644 --- a/src/main/java/org/scijava/plugin/RichPlugin.java +++ b/src/main/java/org/scijava/plugin/RichPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/SciJavaPlugin.java b/src/main/java/org/scijava/plugin/SciJavaPlugin.java index bdbe7df70..b7bc4c919 100644 --- a/src/main/java/org/scijava/plugin/SciJavaPlugin.java +++ b/src/main/java/org/scijava/plugin/SciJavaPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/SingletonPlugin.java b/src/main/java/org/scijava/plugin/SingletonPlugin.java index 28c9dbd60..79de0e2e0 100644 --- a/src/main/java/org/scijava/plugin/SingletonPlugin.java +++ b/src/main/java/org/scijava/plugin/SingletonPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/SingletonService.java b/src/main/java/org/scijava/plugin/SingletonService.java index 7f2363307..3ba80f8ca 100644 --- a/src/main/java/org/scijava/plugin/SingletonService.java +++ b/src/main/java/org/scijava/plugin/SingletonService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/SortablePlugin.java b/src/main/java/org/scijava/plugin/SortablePlugin.java index 84da9b16c..257afa423 100644 --- a/src/main/java/org/scijava/plugin/SortablePlugin.java +++ b/src/main/java/org/scijava/plugin/SortablePlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/TypedPlugin.java b/src/main/java/org/scijava/plugin/TypedPlugin.java index 1e583d42a..a3f6033ca 100644 --- a/src/main/java/org/scijava/plugin/TypedPlugin.java +++ b/src/main/java/org/scijava/plugin/TypedPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/TypedService.java b/src/main/java/org/scijava/plugin/TypedService.java index 9629620e6..868144629 100644 --- a/src/main/java/org/scijava/plugin/TypedService.java +++ b/src/main/java/org/scijava/plugin/TypedService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/WrapperPlugin.java b/src/main/java/org/scijava/plugin/WrapperPlugin.java index bfb036898..2cf9a517c 100644 --- a/src/main/java/org/scijava/plugin/WrapperPlugin.java +++ b/src/main/java/org/scijava/plugin/WrapperPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/WrapperService.java b/src/main/java/org/scijava/plugin/WrapperService.java index c42d27caf..3225df43b 100644 --- a/src/main/java/org/scijava/plugin/WrapperService.java +++ b/src/main/java/org/scijava/plugin/WrapperService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/event/PluginsAddedEvent.java b/src/main/java/org/scijava/plugin/event/PluginsAddedEvent.java index ed682367c..6a1fe60fe 100644 --- a/src/main/java/org/scijava/plugin/event/PluginsAddedEvent.java +++ b/src/main/java/org/scijava/plugin/event/PluginsAddedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/event/PluginsListEvent.java b/src/main/java/org/scijava/plugin/event/PluginsListEvent.java index af1505342..0f28602fc 100644 --- a/src/main/java/org/scijava/plugin/event/PluginsListEvent.java +++ b/src/main/java/org/scijava/plugin/event/PluginsListEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/event/PluginsRemovedEvent.java b/src/main/java/org/scijava/plugin/event/PluginsRemovedEvent.java index a302db020..978a4e2de 100644 --- a/src/main/java/org/scijava/plugin/event/PluginsRemovedEvent.java +++ b/src/main/java/org/scijava/plugin/event/PluginsRemovedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/prefs/AbstractPrefService.java b/src/main/java/org/scijava/prefs/AbstractPrefService.java index 084df69de..7c1b98cba 100644 --- a/src/main/java/org/scijava/prefs/AbstractPrefService.java +++ b/src/main/java/org/scijava/prefs/AbstractPrefService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/prefs/DefaultPrefService.java b/src/main/java/org/scijava/prefs/DefaultPrefService.java index dfc9b9fa8..f174db6c0 100644 --- a/src/main/java/org/scijava/prefs/DefaultPrefService.java +++ b/src/main/java/org/scijava/prefs/DefaultPrefService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/prefs/PrefService.java b/src/main/java/org/scijava/prefs/PrefService.java index c5761b178..30c91aa6e 100644 --- a/src/main/java/org/scijava/prefs/PrefService.java +++ b/src/main/java/org/scijava/prefs/PrefService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/run/AbstractCodeRunner.java b/src/main/java/org/scijava/run/AbstractCodeRunner.java index 4d7eb067a..5d02b3634 100644 --- a/src/main/java/org/scijava/run/AbstractCodeRunner.java +++ b/src/main/java/org/scijava/run/AbstractCodeRunner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/run/CodeRunner.java b/src/main/java/org/scijava/run/CodeRunner.java index 06b626881..d1def7ea2 100644 --- a/src/main/java/org/scijava/run/CodeRunner.java +++ b/src/main/java/org/scijava/run/CodeRunner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/run/DefaultRunService.java b/src/main/java/org/scijava/run/DefaultRunService.java index eab573481..883f52e10 100644 --- a/src/main/java/org/scijava/run/DefaultRunService.java +++ b/src/main/java/org/scijava/run/DefaultRunService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/run/RunService.java b/src/main/java/org/scijava/run/RunService.java index 4d815098d..3fd6cb61e 100644 --- a/src/main/java/org/scijava/run/RunService.java +++ b/src/main/java/org/scijava/run/RunService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/run/console/RunArgument.java b/src/main/java/org/scijava/run/console/RunArgument.java index 80b9cd073..373da220d 100644 --- a/src/main/java/org/scijava/run/console/RunArgument.java +++ b/src/main/java/org/scijava/run/console/RunArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AbstractAutoCompleter.java b/src/main/java/org/scijava/script/AbstractAutoCompleter.java index fe843eff8..effad4d7f 100644 --- a/src/main/java/org/scijava/script/AbstractAutoCompleter.java +++ b/src/main/java/org/scijava/script/AbstractAutoCompleter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AbstractScriptContext.java b/src/main/java/org/scijava/script/AbstractScriptContext.java index 67c0d3fee..bc2290a23 100644 --- a/src/main/java/org/scijava/script/AbstractScriptContext.java +++ b/src/main/java/org/scijava/script/AbstractScriptContext.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AbstractScriptEngine.java b/src/main/java/org/scijava/script/AbstractScriptEngine.java index 5826abf07..b62aa5c2f 100644 --- a/src/main/java/org/scijava/script/AbstractScriptEngine.java +++ b/src/main/java/org/scijava/script/AbstractScriptEngine.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AbstractScriptHeader.java b/src/main/java/org/scijava/script/AbstractScriptHeader.java index 8779ac1dc..03306775e 100644 --- a/src/main/java/org/scijava/script/AbstractScriptHeader.java +++ b/src/main/java/org/scijava/script/AbstractScriptHeader.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AbstractScriptLanguage.java b/src/main/java/org/scijava/script/AbstractScriptLanguage.java index 3ead99983..f99cba338 100644 --- a/src/main/java/org/scijava/script/AbstractScriptLanguage.java +++ b/src/main/java/org/scijava/script/AbstractScriptLanguage.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AdaptedScriptEngine.java b/src/main/java/org/scijava/script/AdaptedScriptEngine.java index e08f84ff7..3144c16af 100644 --- a/src/main/java/org/scijava/script/AdaptedScriptEngine.java +++ b/src/main/java/org/scijava/script/AdaptedScriptEngine.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AdaptedScriptLanguage.java b/src/main/java/org/scijava/script/AdaptedScriptLanguage.java index b29910428..084256755 100644 --- a/src/main/java/org/scijava/script/AdaptedScriptLanguage.java +++ b/src/main/java/org/scijava/script/AdaptedScriptLanguage.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AutoCompleter.java b/src/main/java/org/scijava/script/AutoCompleter.java index 18783f1e3..190dddd80 100644 --- a/src/main/java/org/scijava/script/AutoCompleter.java +++ b/src/main/java/org/scijava/script/AutoCompleter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AutoCompletionResult.java b/src/main/java/org/scijava/script/AutoCompletionResult.java index 7a495fe7c..5d65a3f36 100644 --- a/src/main/java/org/scijava/script/AutoCompletionResult.java +++ b/src/main/java/org/scijava/script/AutoCompletionResult.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/CodeGenerator.java b/src/main/java/org/scijava/script/CodeGenerator.java index 16ee156d4..ae578fb40 100644 --- a/src/main/java/org/scijava/script/CodeGenerator.java +++ b/src/main/java/org/scijava/script/CodeGenerator.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/CodeGeneratorJava.java b/src/main/java/org/scijava/script/CodeGeneratorJava.java index 7f022c097..69a038be1 100644 --- a/src/main/java/org/scijava/script/CodeGeneratorJava.java +++ b/src/main/java/org/scijava/script/CodeGeneratorJava.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/DefaultAutoCompleter.java b/src/main/java/org/scijava/script/DefaultAutoCompleter.java index f4fcf2f75..18ebb0dcb 100644 --- a/src/main/java/org/scijava/script/DefaultAutoCompleter.java +++ b/src/main/java/org/scijava/script/DefaultAutoCompleter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/DefaultScriptHeaderService.java b/src/main/java/org/scijava/script/DefaultScriptHeaderService.java index f81c1cdaa..fd34edbd6 100644 --- a/src/main/java/org/scijava/script/DefaultScriptHeaderService.java +++ b/src/main/java/org/scijava/script/DefaultScriptHeaderService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/DefaultScriptInterpreter.java b/src/main/java/org/scijava/script/DefaultScriptInterpreter.java index c365ae33f..664ccc300 100644 --- a/src/main/java/org/scijava/script/DefaultScriptInterpreter.java +++ b/src/main/java/org/scijava/script/DefaultScriptInterpreter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/DefaultScriptService.java b/src/main/java/org/scijava/script/DefaultScriptService.java index e7fcc6e73..e7f1f0e61 100644 --- a/src/main/java/org/scijava/script/DefaultScriptService.java +++ b/src/main/java/org/scijava/script/DefaultScriptService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/InvocationObject.java b/src/main/java/org/scijava/script/InvocationObject.java index e4de7ae54..1e768a057 100644 --- a/src/main/java/org/scijava/script/InvocationObject.java +++ b/src/main/java/org/scijava/script/InvocationObject.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ParameterObject.java b/src/main/java/org/scijava/script/ParameterObject.java index 6b883fe95..df2374beb 100644 --- a/src/main/java/org/scijava/script/ParameterObject.java +++ b/src/main/java/org/scijava/script/ParameterObject.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptCLI.java b/src/main/java/org/scijava/script/ScriptCLI.java index ab6383b19..db53036a3 100644 --- a/src/main/java/org/scijava/script/ScriptCLI.java +++ b/src/main/java/org/scijava/script/ScriptCLI.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptFinder.java b/src/main/java/org/scijava/script/ScriptFinder.java index 23701ea99..55aad7ed5 100644 --- a/src/main/java/org/scijava/script/ScriptFinder.java +++ b/src/main/java/org/scijava/script/ScriptFinder.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptHeader.java b/src/main/java/org/scijava/script/ScriptHeader.java index 3fef71dbf..fbaff7497 100644 --- a/src/main/java/org/scijava/script/ScriptHeader.java +++ b/src/main/java/org/scijava/script/ScriptHeader.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptHeaderService.java b/src/main/java/org/scijava/script/ScriptHeaderService.java index 20ea362fa..c1e167ade 100644 --- a/src/main/java/org/scijava/script/ScriptHeaderService.java +++ b/src/main/java/org/scijava/script/ScriptHeaderService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptInfo.java b/src/main/java/org/scijava/script/ScriptInfo.java index cd664397d..f643e0a54 100644 --- a/src/main/java/org/scijava/script/ScriptInfo.java +++ b/src/main/java/org/scijava/script/ScriptInfo.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptInterpreter.java b/src/main/java/org/scijava/script/ScriptInterpreter.java index 098ca57c8..491847136 100644 --- a/src/main/java/org/scijava/script/ScriptInterpreter.java +++ b/src/main/java/org/scijava/script/ScriptInterpreter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptLanguage.java b/src/main/java/org/scijava/script/ScriptLanguage.java index 5c532bd38..f841f32c1 100644 --- a/src/main/java/org/scijava/script/ScriptLanguage.java +++ b/src/main/java/org/scijava/script/ScriptLanguage.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptLanguageIndex.java b/src/main/java/org/scijava/script/ScriptLanguageIndex.java index 05bdddadd..fe138cd28 100644 --- a/src/main/java/org/scijava/script/ScriptLanguageIndex.java +++ b/src/main/java/org/scijava/script/ScriptLanguageIndex.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptModule.java b/src/main/java/org/scijava/script/ScriptModule.java index 824e47e67..dedf744f4 100644 --- a/src/main/java/org/scijava/script/ScriptModule.java +++ b/src/main/java/org/scijava/script/ScriptModule.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptREPL.java b/src/main/java/org/scijava/script/ScriptREPL.java index d09dc7eab..2a93a92c1 100644 --- a/src/main/java/org/scijava/script/ScriptREPL.java +++ b/src/main/java/org/scijava/script/ScriptREPL.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptService.java b/src/main/java/org/scijava/script/ScriptService.java index f8764d7da..c1a61044d 100644 --- a/src/main/java/org/scijava/script/ScriptService.java +++ b/src/main/java/org/scijava/script/ScriptService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/console/RunScriptArgument.java b/src/main/java/org/scijava/script/console/RunScriptArgument.java index 145ea53ea..b78065ee2 100644 --- a/src/main/java/org/scijava/script/console/RunScriptArgument.java +++ b/src/main/java/org/scijava/script/console/RunScriptArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/io/ScriptIOPlugin.java b/src/main/java/org/scijava/script/io/ScriptIOPlugin.java index 208ac521d..b6b30209f 100644 --- a/src/main/java/org/scijava/script/io/ScriptIOPlugin.java +++ b/src/main/java/org/scijava/script/io/ScriptIOPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/process/DefaultScriptProcessorService.java b/src/main/java/org/scijava/script/process/DefaultScriptProcessorService.java index ebdf8483b..ded8f418d 100644 --- a/src/main/java/org/scijava/script/process/DefaultScriptProcessorService.java +++ b/src/main/java/org/scijava/script/process/DefaultScriptProcessorService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/process/DirectiveScriptProcessor.java b/src/main/java/org/scijava/script/process/DirectiveScriptProcessor.java index dfc68ca99..4dfa5ff38 100644 --- a/src/main/java/org/scijava/script/process/DirectiveScriptProcessor.java +++ b/src/main/java/org/scijava/script/process/DirectiveScriptProcessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java b/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java index 446f633a2..2e0dfd703 100644 --- a/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java +++ b/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/process/ScriptCallback.java b/src/main/java/org/scijava/script/process/ScriptCallback.java index b458da421..445dd157e 100644 --- a/src/main/java/org/scijava/script/process/ScriptCallback.java +++ b/src/main/java/org/scijava/script/process/ScriptCallback.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/process/ScriptDirectiveScriptProcessor.java b/src/main/java/org/scijava/script/process/ScriptDirectiveScriptProcessor.java index dc6ae85c1..fffc58568 100644 --- a/src/main/java/org/scijava/script/process/ScriptDirectiveScriptProcessor.java +++ b/src/main/java/org/scijava/script/process/ScriptDirectiveScriptProcessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/process/ScriptProcessor.java b/src/main/java/org/scijava/script/process/ScriptProcessor.java index 36d053963..415f51826 100644 --- a/src/main/java/org/scijava/script/process/ScriptProcessor.java +++ b/src/main/java/org/scijava/script/process/ScriptProcessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/process/ScriptProcessorService.java b/src/main/java/org/scijava/script/process/ScriptProcessorService.java index 1ce80c5af..811ab47d4 100644 --- a/src/main/java/org/scijava/script/process/ScriptProcessorService.java +++ b/src/main/java/org/scijava/script/process/ScriptProcessorService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/process/ShebangScriptProcessor.java b/src/main/java/org/scijava/script/process/ShebangScriptProcessor.java index db05e71b9..f7edef985 100644 --- a/src/main/java/org/scijava/script/process/ShebangScriptProcessor.java +++ b/src/main/java/org/scijava/script/process/ShebangScriptProcessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/run/ScriptCodeRunner.java b/src/main/java/org/scijava/script/run/ScriptCodeRunner.java index 5c8e47659..8d4a4a61c 100644 --- a/src/main/java/org/scijava/script/run/ScriptCodeRunner.java +++ b/src/main/java/org/scijava/script/run/ScriptCodeRunner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/service/AbstractService.java b/src/main/java/org/scijava/service/AbstractService.java index bf20248a4..841c8c468 100644 --- a/src/main/java/org/scijava/service/AbstractService.java +++ b/src/main/java/org/scijava/service/AbstractService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/service/SciJavaService.java b/src/main/java/org/scijava/service/SciJavaService.java index fc0e005b0..869ce3269 100644 --- a/src/main/java/org/scijava/service/SciJavaService.java +++ b/src/main/java/org/scijava/service/SciJavaService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/service/Service.java b/src/main/java/org/scijava/service/Service.java index f078de931..392a6dc08 100644 --- a/src/main/java/org/scijava/service/Service.java +++ b/src/main/java/org/scijava/service/Service.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/service/ServiceHelper.java b/src/main/java/org/scijava/service/ServiceHelper.java index 4f1031efa..d7ad8003e 100644 --- a/src/main/java/org/scijava/service/ServiceHelper.java +++ b/src/main/java/org/scijava/service/ServiceHelper.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/service/ServiceIndex.java b/src/main/java/org/scijava/service/ServiceIndex.java index 24d693aa9..962952d3e 100644 --- a/src/main/java/org/scijava/service/ServiceIndex.java +++ b/src/main/java/org/scijava/service/ServiceIndex.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/service/event/ServicesLoadedEvent.java b/src/main/java/org/scijava/service/event/ServicesLoadedEvent.java index bb5fd2258..2b9e9a119 100644 --- a/src/main/java/org/scijava/service/event/ServicesLoadedEvent.java +++ b/src/main/java/org/scijava/service/event/ServicesLoadedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/startup/DefaultStartupService.java b/src/main/java/org/scijava/startup/DefaultStartupService.java index 197cf4774..356437eb4 100644 --- a/src/main/java/org/scijava/startup/DefaultStartupService.java +++ b/src/main/java/org/scijava/startup/DefaultStartupService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/startup/StartupService.java b/src/main/java/org/scijava/startup/StartupService.java index 0f100ff8a..6a47f97d1 100644 --- a/src/main/java/org/scijava/startup/StartupService.java +++ b/src/main/java/org/scijava/startup/StartupService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/task/DefaultTask.java b/src/main/java/org/scijava/task/DefaultTask.java index 94d817c53..c14d7ad54 100644 --- a/src/main/java/org/scijava/task/DefaultTask.java +++ b/src/main/java/org/scijava/task/DefaultTask.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/task/DefaultTaskService.java b/src/main/java/org/scijava/task/DefaultTaskService.java index f550585c9..5ad770f25 100644 --- a/src/main/java/org/scijava/task/DefaultTaskService.java +++ b/src/main/java/org/scijava/task/DefaultTaskService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/task/Task.java b/src/main/java/org/scijava/task/Task.java index be1197d77..a91cdcf6b 100644 --- a/src/main/java/org/scijava/task/Task.java +++ b/src/main/java/org/scijava/task/Task.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/task/TaskService.java b/src/main/java/org/scijava/task/TaskService.java index 3cacfac9b..5bf0cb2f8 100644 --- a/src/main/java/org/scijava/task/TaskService.java +++ b/src/main/java/org/scijava/task/TaskService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/task/event/TaskEvent.java b/src/main/java/org/scijava/task/event/TaskEvent.java index 097c9346c..4173c3bc5 100644 --- a/src/main/java/org/scijava/task/event/TaskEvent.java +++ b/src/main/java/org/scijava/task/event/TaskEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/test/TestUtils.java b/src/main/java/org/scijava/test/TestUtils.java index 54c3061e7..692b4fd25 100644 --- a/src/main/java/org/scijava/test/TestUtils.java +++ b/src/main/java/org/scijava/test/TestUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/text/AbstractTextFormat.java b/src/main/java/org/scijava/text/AbstractTextFormat.java index 55ab02b6b..3bb2edc9e 100644 --- a/src/main/java/org/scijava/text/AbstractTextFormat.java +++ b/src/main/java/org/scijava/text/AbstractTextFormat.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/text/DefaultTextService.java b/src/main/java/org/scijava/text/DefaultTextService.java index 5836c4e19..a81ed7c0e 100644 --- a/src/main/java/org/scijava/text/DefaultTextService.java +++ b/src/main/java/org/scijava/text/DefaultTextService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/text/TextFormat.java b/src/main/java/org/scijava/text/TextFormat.java index 076039e9a..05ec572c7 100644 --- a/src/main/java/org/scijava/text/TextFormat.java +++ b/src/main/java/org/scijava/text/TextFormat.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/text/TextService.java b/src/main/java/org/scijava/text/TextService.java index c8c2219a0..75bae744a 100644 --- a/src/main/java/org/scijava/text/TextService.java +++ b/src/main/java/org/scijava/text/TextService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/text/io/DefaultTextIOService.java b/src/main/java/org/scijava/text/io/DefaultTextIOService.java index cba64c9bf..d27ec4657 100644 --- a/src/main/java/org/scijava/text/io/DefaultTextIOService.java +++ b/src/main/java/org/scijava/text/io/DefaultTextIOService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/text/io/TextIOPlugin.java b/src/main/java/org/scijava/text/io/TextIOPlugin.java index d5ce2850a..16e9ba34f 100644 --- a/src/main/java/org/scijava/text/io/TextIOPlugin.java +++ b/src/main/java/org/scijava/text/io/TextIOPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/text/io/TextIOService.java b/src/main/java/org/scijava/text/io/TextIOService.java index 12f629b91..a218aec0f 100644 --- a/src/main/java/org/scijava/text/io/TextIOService.java +++ b/src/main/java/org/scijava/text/io/TextIOService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/thread/DefaultThreadService.java b/src/main/java/org/scijava/thread/DefaultThreadService.java index 168f9a991..6f48f9e34 100644 --- a/src/main/java/org/scijava/thread/DefaultThreadService.java +++ b/src/main/java/org/scijava/thread/DefaultThreadService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/thread/ThreadService.java b/src/main/java/org/scijava/thread/ThreadService.java index 0d272b87d..aeec0d1ba 100644 --- a/src/main/java/org/scijava/thread/ThreadService.java +++ b/src/main/java/org/scijava/thread/ThreadService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/AbstractTool.java b/src/main/java/org/scijava/tool/AbstractTool.java index 95f89ccc4..4ec4bd878 100644 --- a/src/main/java/org/scijava/tool/AbstractTool.java +++ b/src/main/java/org/scijava/tool/AbstractTool.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/CustomDrawnTool.java b/src/main/java/org/scijava/tool/CustomDrawnTool.java index 1ec0e78ff..10aafc9db 100644 --- a/src/main/java/org/scijava/tool/CustomDrawnTool.java +++ b/src/main/java/org/scijava/tool/CustomDrawnTool.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/DefaultToolService.java b/src/main/java/org/scijava/tool/DefaultToolService.java index 4f2e8d168..e59976a8f 100644 --- a/src/main/java/org/scijava/tool/DefaultToolService.java +++ b/src/main/java/org/scijava/tool/DefaultToolService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/DummyTool.java b/src/main/java/org/scijava/tool/DummyTool.java index d155ef30a..6dc220279 100644 --- a/src/main/java/org/scijava/tool/DummyTool.java +++ b/src/main/java/org/scijava/tool/DummyTool.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/IconDrawer.java b/src/main/java/org/scijava/tool/IconDrawer.java index e3f108a4d..2493b7880 100644 --- a/src/main/java/org/scijava/tool/IconDrawer.java +++ b/src/main/java/org/scijava/tool/IconDrawer.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/IconService.java b/src/main/java/org/scijava/tool/IconService.java index 67ddf9033..0d6349818 100644 --- a/src/main/java/org/scijava/tool/IconService.java +++ b/src/main/java/org/scijava/tool/IconService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/Tool.java b/src/main/java/org/scijava/tool/Tool.java index e345c253f..31adad6d6 100644 --- a/src/main/java/org/scijava/tool/Tool.java +++ b/src/main/java/org/scijava/tool/Tool.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/ToolService.java b/src/main/java/org/scijava/tool/ToolService.java index 0a84ae96b..8fe2855f9 100644 --- a/src/main/java/org/scijava/tool/ToolService.java +++ b/src/main/java/org/scijava/tool/ToolService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/event/ToolActivatedEvent.java b/src/main/java/org/scijava/tool/event/ToolActivatedEvent.java index 9bdb75a60..e2eabdf0d 100644 --- a/src/main/java/org/scijava/tool/event/ToolActivatedEvent.java +++ b/src/main/java/org/scijava/tool/event/ToolActivatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/event/ToolDeactivatedEvent.java b/src/main/java/org/scijava/tool/event/ToolDeactivatedEvent.java index a197eca41..5b668aa23 100644 --- a/src/main/java/org/scijava/tool/event/ToolDeactivatedEvent.java +++ b/src/main/java/org/scijava/tool/event/ToolDeactivatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/event/ToolEvent.java b/src/main/java/org/scijava/tool/event/ToolEvent.java index c4c058393..553fd83e1 100644 --- a/src/main/java/org/scijava/tool/event/ToolEvent.java +++ b/src/main/java/org/scijava/tool/event/ToolEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/ARGBPlane.java b/src/main/java/org/scijava/ui/ARGBPlane.java index 4c9b60709..b30d9df8f 100644 --- a/src/main/java/org/scijava/ui/ARGBPlane.java +++ b/src/main/java/org/scijava/ui/ARGBPlane.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/AbstractInputHarvesterPlugin.java b/src/main/java/org/scijava/ui/AbstractInputHarvesterPlugin.java index f3db6253a..b29383470 100644 --- a/src/main/java/org/scijava/ui/AbstractInputHarvesterPlugin.java +++ b/src/main/java/org/scijava/ui/AbstractInputHarvesterPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/AbstractUIInputWidget.java b/src/main/java/org/scijava/ui/AbstractUIInputWidget.java index a5e1ec829..606864da0 100644 --- a/src/main/java/org/scijava/ui/AbstractUIInputWidget.java +++ b/src/main/java/org/scijava/ui/AbstractUIInputWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/AbstractUserInterface.java b/src/main/java/org/scijava/ui/AbstractUserInterface.java index decf671af..fd9cc24d1 100644 --- a/src/main/java/org/scijava/ui/AbstractUserInterface.java +++ b/src/main/java/org/scijava/ui/AbstractUserInterface.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/ApplicationFrame.java b/src/main/java/org/scijava/ui/ApplicationFrame.java index f4ecf39ea..98a2ce24d 100644 --- a/src/main/java/org/scijava/ui/ApplicationFrame.java +++ b/src/main/java/org/scijava/ui/ApplicationFrame.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/Arrangeable.java b/src/main/java/org/scijava/ui/Arrangeable.java index ad95bb784..19c8cd3a3 100644 --- a/src/main/java/org/scijava/ui/Arrangeable.java +++ b/src/main/java/org/scijava/ui/Arrangeable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/CloseConfirmable.java b/src/main/java/org/scijava/ui/CloseConfirmable.java index c92b2a9f3..729a15ed5 100644 --- a/src/main/java/org/scijava/ui/CloseConfirmable.java +++ b/src/main/java/org/scijava/ui/CloseConfirmable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/DefaultUIService.java b/src/main/java/org/scijava/ui/DefaultUIService.java index cda97ec0b..fe787ad5c 100644 --- a/src/main/java/org/scijava/ui/DefaultUIService.java +++ b/src/main/java/org/scijava/ui/DefaultUIService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/Desktop.java b/src/main/java/org/scijava/ui/Desktop.java index 114b512cc..e851e6634 100644 --- a/src/main/java/org/scijava/ui/Desktop.java +++ b/src/main/java/org/scijava/ui/Desktop.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/DialogPrompt.java b/src/main/java/org/scijava/ui/DialogPrompt.java index f21ab726e..7a14960e2 100644 --- a/src/main/java/org/scijava/ui/DialogPrompt.java +++ b/src/main/java/org/scijava/ui/DialogPrompt.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/FileListPreprocessor.java b/src/main/java/org/scijava/ui/FileListPreprocessor.java index a8feefe5d..1f3227731 100644 --- a/src/main/java/org/scijava/ui/FileListPreprocessor.java +++ b/src/main/java/org/scijava/ui/FileListPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/FilePreprocessor.java b/src/main/java/org/scijava/ui/FilePreprocessor.java index 44eff1194..2076665ec 100644 --- a/src/main/java/org/scijava/ui/FilePreprocessor.java +++ b/src/main/java/org/scijava/ui/FilePreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/StatusBar.java b/src/main/java/org/scijava/ui/StatusBar.java index cfef18eff..1d2c39232 100644 --- a/src/main/java/org/scijava/ui/StatusBar.java +++ b/src/main/java/org/scijava/ui/StatusBar.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/SystemClipboard.java b/src/main/java/org/scijava/ui/SystemClipboard.java index 421aa24c6..1a362d55e 100644 --- a/src/main/java/org/scijava/ui/SystemClipboard.java +++ b/src/main/java/org/scijava/ui/SystemClipboard.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/ToolBar.java b/src/main/java/org/scijava/ui/ToolBar.java index c294cdb23..c7e4de97b 100644 --- a/src/main/java/org/scijava/ui/ToolBar.java +++ b/src/main/java/org/scijava/ui/ToolBar.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/UIPreprocessor.java b/src/main/java/org/scijava/ui/UIPreprocessor.java index b22a20a6f..eb7780a4f 100644 --- a/src/main/java/org/scijava/ui/UIPreprocessor.java +++ b/src/main/java/org/scijava/ui/UIPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/UIService.java b/src/main/java/org/scijava/ui/UIService.java index 53debcf43..0f3958698 100644 --- a/src/main/java/org/scijava/ui/UIService.java +++ b/src/main/java/org/scijava/ui/UIService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/UserInterface.java b/src/main/java/org/scijava/ui/UserInterface.java index a0588256c..54dbfb767 100644 --- a/src/main/java/org/scijava/ui/UserInterface.java +++ b/src/main/java/org/scijava/ui/UserInterface.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/console/AbstractConsolePane.java b/src/main/java/org/scijava/ui/console/AbstractConsolePane.java index 0512d725d..b9de2570f 100644 --- a/src/main/java/org/scijava/ui/console/AbstractConsolePane.java +++ b/src/main/java/org/scijava/ui/console/AbstractConsolePane.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/console/ConsolePane.java b/src/main/java/org/scijava/ui/console/ConsolePane.java index 02e2b5b24..3db7788d4 100644 --- a/src/main/java/org/scijava/ui/console/ConsolePane.java +++ b/src/main/java/org/scijava/ui/console/ConsolePane.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/console/HeadlessArgument.java b/src/main/java/org/scijava/ui/console/HeadlessArgument.java index dca137c3b..601b3d3ed 100644 --- a/src/main/java/org/scijava/ui/console/HeadlessArgument.java +++ b/src/main/java/org/scijava/ui/console/HeadlessArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/console/ShowUIArgument.java b/src/main/java/org/scijava/ui/console/ShowUIArgument.java index 10fd2e6b7..3c4cd4a7a 100644 --- a/src/main/java/org/scijava/ui/console/ShowUIArgument.java +++ b/src/main/java/org/scijava/ui/console/ShowUIArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/console/UIArgument.java b/src/main/java/org/scijava/ui/console/UIArgument.java index 05bee6855..40ee7986f 100644 --- a/src/main/java/org/scijava/ui/console/UIArgument.java +++ b/src/main/java/org/scijava/ui/console/UIArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropData.java b/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropData.java index e098a2367..dfc445dca 100644 --- a/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropData.java +++ b/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropData.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropHandler.java b/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropHandler.java index d578688ad..53b24aae6 100644 --- a/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropHandler.java +++ b/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropHandler.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropData.java b/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropData.java index 9634c477a..fc7f00803 100644 --- a/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropData.java +++ b/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropData.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropService.java b/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropService.java index 3bc3de22e..5a15efe09 100644 --- a/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropService.java +++ b/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/DragAndDropData.java b/src/main/java/org/scijava/ui/dnd/DragAndDropData.java index a4cd7a258..8cc4e082f 100644 --- a/src/main/java/org/scijava/ui/dnd/DragAndDropData.java +++ b/src/main/java/org/scijava/ui/dnd/DragAndDropData.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/DragAndDropHandler.java b/src/main/java/org/scijava/ui/dnd/DragAndDropHandler.java index a81e25f6c..0377f1f03 100644 --- a/src/main/java/org/scijava/ui/dnd/DragAndDropHandler.java +++ b/src/main/java/org/scijava/ui/dnd/DragAndDropHandler.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/DragAndDropService.java b/src/main/java/org/scijava/ui/dnd/DragAndDropService.java index 0d2b3ae38..2319a5c41 100644 --- a/src/main/java/org/scijava/ui/dnd/DragAndDropService.java +++ b/src/main/java/org/scijava/ui/dnd/DragAndDropService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/FileDragAndDropHandler.java b/src/main/java/org/scijava/ui/dnd/FileDragAndDropHandler.java index e8f6090c2..336c94e20 100644 --- a/src/main/java/org/scijava/ui/dnd/FileDragAndDropHandler.java +++ b/src/main/java/org/scijava/ui/dnd/FileDragAndDropHandler.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/ListDragAndDropHandler.java b/src/main/java/org/scijava/ui/dnd/ListDragAndDropHandler.java index d36a10797..42c2490c4 100644 --- a/src/main/java/org/scijava/ui/dnd/ListDragAndDropHandler.java +++ b/src/main/java/org/scijava/ui/dnd/ListDragAndDropHandler.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/MIMEType.java b/src/main/java/org/scijava/ui/dnd/MIMEType.java index 037e3916a..db21cac88 100644 --- a/src/main/java/org/scijava/ui/dnd/MIMEType.java +++ b/src/main/java/org/scijava/ui/dnd/MIMEType.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/ScriptFileDragAndDropHandler.java b/src/main/java/org/scijava/ui/dnd/ScriptFileDragAndDropHandler.java index af9f53015..a5e0cb5b6 100644 --- a/src/main/java/org/scijava/ui/dnd/ScriptFileDragAndDropHandler.java +++ b/src/main/java/org/scijava/ui/dnd/ScriptFileDragAndDropHandler.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/event/DragAndDropEvent.java b/src/main/java/org/scijava/ui/dnd/event/DragAndDropEvent.java index e460f58b7..aa8f3c624 100644 --- a/src/main/java/org/scijava/ui/dnd/event/DragAndDropEvent.java +++ b/src/main/java/org/scijava/ui/dnd/event/DragAndDropEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/event/DragEnterEvent.java b/src/main/java/org/scijava/ui/dnd/event/DragEnterEvent.java index 3b85bb254..b221fdadc 100644 --- a/src/main/java/org/scijava/ui/dnd/event/DragEnterEvent.java +++ b/src/main/java/org/scijava/ui/dnd/event/DragEnterEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/event/DragExitEvent.java b/src/main/java/org/scijava/ui/dnd/event/DragExitEvent.java index c51a4b3c4..268b9b0c9 100644 --- a/src/main/java/org/scijava/ui/dnd/event/DragExitEvent.java +++ b/src/main/java/org/scijava/ui/dnd/event/DragExitEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/event/DragOverEvent.java b/src/main/java/org/scijava/ui/dnd/event/DragOverEvent.java index 4545f24e2..fd93d52eb 100644 --- a/src/main/java/org/scijava/ui/dnd/event/DragOverEvent.java +++ b/src/main/java/org/scijava/ui/dnd/event/DragOverEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/event/DropEvent.java b/src/main/java/org/scijava/ui/dnd/event/DropEvent.java index 49331480c..a4a6ac4fe 100644 --- a/src/main/java/org/scijava/ui/dnd/event/DropEvent.java +++ b/src/main/java/org/scijava/ui/dnd/event/DropEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/event/UIEvent.java b/src/main/java/org/scijava/ui/event/UIEvent.java index d2b7fd7b8..92f876cd3 100644 --- a/src/main/java/org/scijava/ui/event/UIEvent.java +++ b/src/main/java/org/scijava/ui/event/UIEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/event/UIShownEvent.java b/src/main/java/org/scijava/ui/event/UIShownEvent.java index 23f55be2d..c5e1fb2e3 100644 --- a/src/main/java/org/scijava/ui/event/UIShownEvent.java +++ b/src/main/java/org/scijava/ui/event/UIShownEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/headless/HeadlessDisplayViewer.java b/src/main/java/org/scijava/ui/headless/HeadlessDisplayViewer.java index df5e0cc93..2dfa036da 100644 --- a/src/main/java/org/scijava/ui/headless/HeadlessDisplayViewer.java +++ b/src/main/java/org/scijava/ui/headless/HeadlessDisplayViewer.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/headless/HeadlessUI.java b/src/main/java/org/scijava/ui/headless/HeadlessUI.java index 3f658df97..63cb32d5c 100644 --- a/src/main/java/org/scijava/ui/headless/HeadlessUI.java +++ b/src/main/java/org/scijava/ui/headless/HeadlessUI.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/headlessUI/HeadlessUI.java b/src/main/java/org/scijava/ui/headlessUI/HeadlessUI.java index 257753e9d..d3f48f2fc 100644 --- a/src/main/java/org/scijava/ui/headlessUI/HeadlessUI.java +++ b/src/main/java/org/scijava/ui/headlessUI/HeadlessUI.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/viewer/AbstractDisplayViewer.java b/src/main/java/org/scijava/ui/viewer/AbstractDisplayViewer.java index ab552f6d0..e705cbbb7 100644 --- a/src/main/java/org/scijava/ui/viewer/AbstractDisplayViewer.java +++ b/src/main/java/org/scijava/ui/viewer/AbstractDisplayViewer.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/viewer/DisplayPanel.java b/src/main/java/org/scijava/ui/viewer/DisplayPanel.java index 0ab9b1df1..c51213d04 100644 --- a/src/main/java/org/scijava/ui/viewer/DisplayPanel.java +++ b/src/main/java/org/scijava/ui/viewer/DisplayPanel.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/viewer/DisplayViewer.java b/src/main/java/org/scijava/ui/viewer/DisplayViewer.java index d8ea0193a..de99dfc95 100644 --- a/src/main/java/org/scijava/ui/viewer/DisplayViewer.java +++ b/src/main/java/org/scijava/ui/viewer/DisplayViewer.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/viewer/DisplayWindow.java b/src/main/java/org/scijava/ui/viewer/DisplayWindow.java index 55b3b842c..2a45a3427 100644 --- a/src/main/java/org/scijava/ui/viewer/DisplayWindow.java +++ b/src/main/java/org/scijava/ui/viewer/DisplayWindow.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/viewer/text/AbstractTextDisplayViewer.java b/src/main/java/org/scijava/ui/viewer/text/AbstractTextDisplayViewer.java index ac0c67d16..a737da1f5 100644 --- a/src/main/java/org/scijava/ui/viewer/text/AbstractTextDisplayViewer.java +++ b/src/main/java/org/scijava/ui/viewer/text/AbstractTextDisplayViewer.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/viewer/text/TextDisplayPanel.java b/src/main/java/org/scijava/ui/viewer/text/TextDisplayPanel.java index 683fdbd26..9ca4ae5be 100644 --- a/src/main/java/org/scijava/ui/viewer/text/TextDisplayPanel.java +++ b/src/main/java/org/scijava/ui/viewer/text/TextDisplayPanel.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/viewer/text/TextDisplayViewer.java b/src/main/java/org/scijava/ui/viewer/text/TextDisplayViewer.java index 517bdb9cf..fe8343711 100644 --- a/src/main/java/org/scijava/ui/viewer/text/TextDisplayViewer.java +++ b/src/main/java/org/scijava/ui/viewer/text/TextDisplayViewer.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/AbstractPrimitiveArray.java b/src/main/java/org/scijava/util/AbstractPrimitiveArray.java index 28bfefc67..6c1a720b2 100644 --- a/src/main/java/org/scijava/util/AbstractPrimitiveArray.java +++ b/src/main/java/org/scijava/util/AbstractPrimitiveArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/AppUtils.java b/src/main/java/org/scijava/util/AppUtils.java index 48519a328..4dd310c6a 100644 --- a/src/main/java/org/scijava/util/AppUtils.java +++ b/src/main/java/org/scijava/util/AppUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ArrayUtils.java b/src/main/java/org/scijava/util/ArrayUtils.java index 6ce46c43e..db6efcdbf 100644 --- a/src/main/java/org/scijava/util/ArrayUtils.java +++ b/src/main/java/org/scijava/util/ArrayUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/BoolArray.java b/src/main/java/org/scijava/util/BoolArray.java index 3edf088a8..3ea2bee18 100644 --- a/src/main/java/org/scijava/util/BoolArray.java +++ b/src/main/java/org/scijava/util/BoolArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ByteArray.java b/src/main/java/org/scijava/util/ByteArray.java index 07e724fb1..f5eda9f65 100644 --- a/src/main/java/org/scijava/util/ByteArray.java +++ b/src/main/java/org/scijava/util/ByteArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Bytes.java b/src/main/java/org/scijava/util/Bytes.java index ac6637797..759383d73 100644 --- a/src/main/java/org/scijava/util/Bytes.java +++ b/src/main/java/org/scijava/util/Bytes.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/CharArray.java b/src/main/java/org/scijava/util/CharArray.java index 1550ec875..cdfa1de15 100644 --- a/src/main/java/org/scijava/util/CharArray.java +++ b/src/main/java/org/scijava/util/CharArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/CheckSezpoz.java b/src/main/java/org/scijava/util/CheckSezpoz.java index 7f5643b76..235db46fd 100644 --- a/src/main/java/org/scijava/util/CheckSezpoz.java +++ b/src/main/java/org/scijava/util/CheckSezpoz.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ClassUtils.java b/src/main/java/org/scijava/util/ClassUtils.java index 5543ce7bb..8569b4bd6 100644 --- a/src/main/java/org/scijava/util/ClassUtils.java +++ b/src/main/java/org/scijava/util/ClassUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ColorRGB.java b/src/main/java/org/scijava/util/ColorRGB.java index 4e10cd8c4..cfc211e04 100644 --- a/src/main/java/org/scijava/util/ColorRGB.java +++ b/src/main/java/org/scijava/util/ColorRGB.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ColorRGBA.java b/src/main/java/org/scijava/util/ColorRGBA.java index fb89ccb72..e78221623 100644 --- a/src/main/java/org/scijava/util/ColorRGBA.java +++ b/src/main/java/org/scijava/util/ColorRGBA.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Colors.java b/src/main/java/org/scijava/util/Colors.java index cc115dc75..2f616b838 100644 --- a/src/main/java/org/scijava/util/Colors.java +++ b/src/main/java/org/scijava/util/Colors.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/CombineAnnotations.java b/src/main/java/org/scijava/util/CombineAnnotations.java index 993a03445..dddf6046d 100644 --- a/src/main/java/org/scijava/util/CombineAnnotations.java +++ b/src/main/java/org/scijava/util/CombineAnnotations.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Combiner.java b/src/main/java/org/scijava/util/Combiner.java index feb0b1774..7b107d0fb 100644 --- a/src/main/java/org/scijava/util/Combiner.java +++ b/src/main/java/org/scijava/util/Combiner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ConversionUtils.java b/src/main/java/org/scijava/util/ConversionUtils.java index b3662eaa2..7a01ba31f 100644 --- a/src/main/java/org/scijava/util/ConversionUtils.java +++ b/src/main/java/org/scijava/util/ConversionUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/DebugUtils.java b/src/main/java/org/scijava/util/DebugUtils.java index 06c26b168..78f84c6fa 100644 --- a/src/main/java/org/scijava/util/DebugUtils.java +++ b/src/main/java/org/scijava/util/DebugUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/DefaultTreeNode.java b/src/main/java/org/scijava/util/DefaultTreeNode.java index 1d1231702..e16bf02e5 100644 --- a/src/main/java/org/scijava/util/DefaultTreeNode.java +++ b/src/main/java/org/scijava/util/DefaultTreeNode.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/DigestUtils.java b/src/main/java/org/scijava/util/DigestUtils.java index 54014b709..c63b035fb 100644 --- a/src/main/java/org/scijava/util/DigestUtils.java +++ b/src/main/java/org/scijava/util/DigestUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/DoubleArray.java b/src/main/java/org/scijava/util/DoubleArray.java index bf76fdb7b..71aaaece8 100644 --- a/src/main/java/org/scijava/util/DoubleArray.java +++ b/src/main/java/org/scijava/util/DoubleArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/FileUtils.java b/src/main/java/org/scijava/util/FileUtils.java index e9424cef0..73099aacc 100644 --- a/src/main/java/org/scijava/util/FileUtils.java +++ b/src/main/java/org/scijava/util/FileUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/FloatArray.java b/src/main/java/org/scijava/util/FloatArray.java index 593d22131..3c3bd00ce 100644 --- a/src/main/java/org/scijava/util/FloatArray.java +++ b/src/main/java/org/scijava/util/FloatArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/GenericUtils.java b/src/main/java/org/scijava/util/GenericUtils.java index 978af3f54..d470580e3 100644 --- a/src/main/java/org/scijava/util/GenericUtils.java +++ b/src/main/java/org/scijava/util/GenericUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/IntArray.java b/src/main/java/org/scijava/util/IntArray.java index 66de4c87e..32f2f027d 100644 --- a/src/main/java/org/scijava/util/IntArray.java +++ b/src/main/java/org/scijava/util/IntArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/IntCoords.java b/src/main/java/org/scijava/util/IntCoords.java index bc689e341..23d3bc238 100644 --- a/src/main/java/org/scijava/util/IntCoords.java +++ b/src/main/java/org/scijava/util/IntCoords.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/IntRect.java b/src/main/java/org/scijava/util/IntRect.java index 9791697e3..4c224be75 100644 --- a/src/main/java/org/scijava/util/IntRect.java +++ b/src/main/java/org/scijava/util/IntRect.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/IteratorPlus.java b/src/main/java/org/scijava/util/IteratorPlus.java index da8bae3db..da2c28dad 100644 --- a/src/main/java/org/scijava/util/IteratorPlus.java +++ b/src/main/java/org/scijava/util/IteratorPlus.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/LastRecentlyUsed.java b/src/main/java/org/scijava/util/LastRecentlyUsed.java index 2e485bf22..0714ce49c 100644 --- a/src/main/java/org/scijava/util/LastRecentlyUsed.java +++ b/src/main/java/org/scijava/util/LastRecentlyUsed.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/LineOutputStream.java b/src/main/java/org/scijava/util/LineOutputStream.java index c37318242..c3d95997d 100644 --- a/src/main/java/org/scijava/util/LineOutputStream.java +++ b/src/main/java/org/scijava/util/LineOutputStream.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ListUtils.java b/src/main/java/org/scijava/util/ListUtils.java index f868a9af2..79c857461 100644 --- a/src/main/java/org/scijava/util/ListUtils.java +++ b/src/main/java/org/scijava/util/ListUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/LongArray.java b/src/main/java/org/scijava/util/LongArray.java index f190a2049..ee9a4a453 100644 --- a/src/main/java/org/scijava/util/LongArray.java +++ b/src/main/java/org/scijava/util/LongArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Manifest.java b/src/main/java/org/scijava/util/Manifest.java index f57983e31..e5f7fab67 100644 --- a/src/main/java/org/scijava/util/Manifest.java +++ b/src/main/java/org/scijava/util/Manifest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/MersenneTwisterFast.java b/src/main/java/org/scijava/util/MersenneTwisterFast.java index bf176347b..089299ee0 100644 --- a/src/main/java/org/scijava/util/MersenneTwisterFast.java +++ b/src/main/java/org/scijava/util/MersenneTwisterFast.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/MetaInfCombiner.java b/src/main/java/org/scijava/util/MetaInfCombiner.java index 6380901ad..4cb22cb05 100644 --- a/src/main/java/org/scijava/util/MetaInfCombiner.java +++ b/src/main/java/org/scijava/util/MetaInfCombiner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/MirrorWebsite.java b/src/main/java/org/scijava/util/MirrorWebsite.java index fff9366d3..4bd72155a 100644 --- a/src/main/java/org/scijava/util/MirrorWebsite.java +++ b/src/main/java/org/scijava/util/MirrorWebsite.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/MiscUtils.java b/src/main/java/org/scijava/util/MiscUtils.java index 3c0f5b0be..667e7560a 100644 --- a/src/main/java/org/scijava/util/MiscUtils.java +++ b/src/main/java/org/scijava/util/MiscUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/NumberUtils.java b/src/main/java/org/scijava/util/NumberUtils.java index 704e0bc8c..77137ecbe 100644 --- a/src/main/java/org/scijava/util/NumberUtils.java +++ b/src/main/java/org/scijava/util/NumberUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ObjectArray.java b/src/main/java/org/scijava/util/ObjectArray.java index 44e4dfce3..486313d8c 100644 --- a/src/main/java/org/scijava/util/ObjectArray.java +++ b/src/main/java/org/scijava/util/ObjectArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/POM.java b/src/main/java/org/scijava/util/POM.java index ea0feacbc..afd4771a0 100644 --- a/src/main/java/org/scijava/util/POM.java +++ b/src/main/java/org/scijava/util/POM.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/PlatformUtils.java b/src/main/java/org/scijava/util/PlatformUtils.java index 21ffc6475..8e67ec1a3 100644 --- a/src/main/java/org/scijava/util/PlatformUtils.java +++ b/src/main/java/org/scijava/util/PlatformUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Prefs.java b/src/main/java/org/scijava/util/Prefs.java index 8519017c4..4044f6762 100644 --- a/src/main/java/org/scijava/util/Prefs.java +++ b/src/main/java/org/scijava/util/Prefs.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/PrimitiveArray.java b/src/main/java/org/scijava/util/PrimitiveArray.java index addc4d016..35a6c7498 100644 --- a/src/main/java/org/scijava/util/PrimitiveArray.java +++ b/src/main/java/org/scijava/util/PrimitiveArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ProcessUtils.java b/src/main/java/org/scijava/util/ProcessUtils.java index cf8914033..9f97a24d0 100644 --- a/src/main/java/org/scijava/util/ProcessUtils.java +++ b/src/main/java/org/scijava/util/ProcessUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Query.java b/src/main/java/org/scijava/util/Query.java index c8b6d525b..39914f518 100644 --- a/src/main/java/org/scijava/util/Query.java +++ b/src/main/java/org/scijava/util/Query.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ReadInto.java b/src/main/java/org/scijava/util/ReadInto.java index 37daf4857..3aafebae3 100644 --- a/src/main/java/org/scijava/util/ReadInto.java +++ b/src/main/java/org/scijava/util/ReadInto.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/RealCoords.java b/src/main/java/org/scijava/util/RealCoords.java index dbb39a44e..7b49819fe 100644 --- a/src/main/java/org/scijava/util/RealCoords.java +++ b/src/main/java/org/scijava/util/RealCoords.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/RealRect.java b/src/main/java/org/scijava/util/RealRect.java index 7f6867df6..b149ba1d5 100644 --- a/src/main/java/org/scijava/util/RealRect.java +++ b/src/main/java/org/scijava/util/RealRect.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ReflectException.java b/src/main/java/org/scijava/util/ReflectException.java index 701e8362e..aa3e18849 100644 --- a/src/main/java/org/scijava/util/ReflectException.java +++ b/src/main/java/org/scijava/util/ReflectException.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ReflectedUniverse.java b/src/main/java/org/scijava/util/ReflectedUniverse.java index 4c9fd953f..54ce3cd65 100644 --- a/src/main/java/org/scijava/util/ReflectedUniverse.java +++ b/src/main/java/org/scijava/util/ReflectedUniverse.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ServiceCombiner.java b/src/main/java/org/scijava/util/ServiceCombiner.java index a24cf6abb..2a069ef5c 100644 --- a/src/main/java/org/scijava/util/ServiceCombiner.java +++ b/src/main/java/org/scijava/util/ServiceCombiner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ShortArray.java b/src/main/java/org/scijava/util/ShortArray.java index 8a3985006..1f903b532 100644 --- a/src/main/java/org/scijava/util/ShortArray.java +++ b/src/main/java/org/scijava/util/ShortArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Sizable.java b/src/main/java/org/scijava/util/Sizable.java index c1172b1dc..9c9d34a7a 100644 --- a/src/main/java/org/scijava/util/Sizable.java +++ b/src/main/java/org/scijava/util/Sizable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/SizableArrayList.java b/src/main/java/org/scijava/util/SizableArrayList.java index b132a87f7..89fa00b66 100644 --- a/src/main/java/org/scijava/util/SizableArrayList.java +++ b/src/main/java/org/scijava/util/SizableArrayList.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/StringMaker.java b/src/main/java/org/scijava/util/StringMaker.java index ac4db3873..3b2d1839c 100644 --- a/src/main/java/org/scijava/util/StringMaker.java +++ b/src/main/java/org/scijava/util/StringMaker.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/StringUtils.java b/src/main/java/org/scijava/util/StringUtils.java index 0fdba3900..5d72f80bd 100644 --- a/src/main/java/org/scijava/util/StringUtils.java +++ b/src/main/java/org/scijava/util/StringUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Timing.java b/src/main/java/org/scijava/util/Timing.java index 1bf79ddd4..aec5a6d1e 100644 --- a/src/main/java/org/scijava/util/Timing.java +++ b/src/main/java/org/scijava/util/Timing.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/TreeNode.java b/src/main/java/org/scijava/util/TreeNode.java index 833832642..a827556f9 100644 --- a/src/main/java/org/scijava/util/TreeNode.java +++ b/src/main/java/org/scijava/util/TreeNode.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/TunePlayer.java b/src/main/java/org/scijava/util/TunePlayer.java index f12969725..d14fd40b4 100644 --- a/src/main/java/org/scijava/util/TunePlayer.java +++ b/src/main/java/org/scijava/util/TunePlayer.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Types.java b/src/main/java/org/scijava/util/Types.java index 8a4369a05..d112b2114 100644 --- a/src/main/java/org/scijava/util/Types.java +++ b/src/main/java/org/scijava/util/Types.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/UnitUtils.java b/src/main/java/org/scijava/util/UnitUtils.java index 6f1848da9..d93471c25 100644 --- a/src/main/java/org/scijava/util/UnitUtils.java +++ b/src/main/java/org/scijava/util/UnitUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/VersionUtils.java b/src/main/java/org/scijava/util/VersionUtils.java index 2bbb2e25d..b5306c1de 100644 --- a/src/main/java/org/scijava/util/VersionUtils.java +++ b/src/main/java/org/scijava/util/VersionUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/XML.java b/src/main/java/org/scijava/util/XML.java index aac4a396b..732b0ee0c 100644 --- a/src/main/java/org/scijava/util/XML.java +++ b/src/main/java/org/scijava/util/XML.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/welcome/DefaultWelcomeService.java b/src/main/java/org/scijava/welcome/DefaultWelcomeService.java index bc7bdd726..817fc44f1 100644 --- a/src/main/java/org/scijava/welcome/DefaultWelcomeService.java +++ b/src/main/java/org/scijava/welcome/DefaultWelcomeService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/welcome/WelcomeService.java b/src/main/java/org/scijava/welcome/WelcomeService.java index 68da22375..a2819123f 100644 --- a/src/main/java/org/scijava/welcome/WelcomeService.java +++ b/src/main/java/org/scijava/welcome/WelcomeService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/welcome/event/WelcomeEvent.java b/src/main/java/org/scijava/welcome/event/WelcomeEvent.java index 90b70c8d6..f6f046b81 100644 --- a/src/main/java/org/scijava/welcome/event/WelcomeEvent.java +++ b/src/main/java/org/scijava/welcome/event/WelcomeEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/AbstractInputHarvester.java b/src/main/java/org/scijava/widget/AbstractInputHarvester.java index 73fdf7b53..2c259c400 100644 --- a/src/main/java/org/scijava/widget/AbstractInputHarvester.java +++ b/src/main/java/org/scijava/widget/AbstractInputHarvester.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/AbstractInputPanel.java b/src/main/java/org/scijava/widget/AbstractInputPanel.java index 0efb95586..e2accd1af 100644 --- a/src/main/java/org/scijava/widget/AbstractInputPanel.java +++ b/src/main/java/org/scijava/widget/AbstractInputPanel.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/AbstractInputWidget.java b/src/main/java/org/scijava/widget/AbstractInputWidget.java index 9c6aede1e..420fb43ae 100644 --- a/src/main/java/org/scijava/widget/AbstractInputWidget.java +++ b/src/main/java/org/scijava/widget/AbstractInputWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/Button.java b/src/main/java/org/scijava/widget/Button.java index e9e73f59a..174c30d2c 100644 --- a/src/main/java/org/scijava/widget/Button.java +++ b/src/main/java/org/scijava/widget/Button.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/ButtonWidget.java b/src/main/java/org/scijava/widget/ButtonWidget.java index 9c278c243..8b43645a4 100644 --- a/src/main/java/org/scijava/widget/ButtonWidget.java +++ b/src/main/java/org/scijava/widget/ButtonWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/ChoiceWidget.java b/src/main/java/org/scijava/widget/ChoiceWidget.java index 6ca640cb9..202a6e346 100644 --- a/src/main/java/org/scijava/widget/ChoiceWidget.java +++ b/src/main/java/org/scijava/widget/ChoiceWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/ColorWidget.java b/src/main/java/org/scijava/widget/ColorWidget.java index 17de750c9..fdbe7a7f5 100644 --- a/src/main/java/org/scijava/widget/ColorWidget.java +++ b/src/main/java/org/scijava/widget/ColorWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/DateWidget.java b/src/main/java/org/scijava/widget/DateWidget.java index 8a7db46cf..5a849f966 100644 --- a/src/main/java/org/scijava/widget/DateWidget.java +++ b/src/main/java/org/scijava/widget/DateWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/DefaultWidgetModel.java b/src/main/java/org/scijava/widget/DefaultWidgetModel.java index e8e7c7631..b1ed1cd47 100644 --- a/src/main/java/org/scijava/widget/DefaultWidgetModel.java +++ b/src/main/java/org/scijava/widget/DefaultWidgetModel.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/DefaultWidgetService.java b/src/main/java/org/scijava/widget/DefaultWidgetService.java index 19111288c..380746ad7 100644 --- a/src/main/java/org/scijava/widget/DefaultWidgetService.java +++ b/src/main/java/org/scijava/widget/DefaultWidgetService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/FileListWidget.java b/src/main/java/org/scijava/widget/FileListWidget.java index f99c66ee2..87401b27f 100644 --- a/src/main/java/org/scijava/widget/FileListWidget.java +++ b/src/main/java/org/scijava/widget/FileListWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/FileWidget.java b/src/main/java/org/scijava/widget/FileWidget.java index da4632c79..a4322554d 100644 --- a/src/main/java/org/scijava/widget/FileWidget.java +++ b/src/main/java/org/scijava/widget/FileWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/InputHarvester.java b/src/main/java/org/scijava/widget/InputHarvester.java index 25ce4c5e8..30735f457 100644 --- a/src/main/java/org/scijava/widget/InputHarvester.java +++ b/src/main/java/org/scijava/widget/InputHarvester.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/InputPanel.java b/src/main/java/org/scijava/widget/InputPanel.java index 664ade0ab..6e1396e0f 100644 --- a/src/main/java/org/scijava/widget/InputPanel.java +++ b/src/main/java/org/scijava/widget/InputPanel.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/InputWidget.java b/src/main/java/org/scijava/widget/InputWidget.java index bdcb27c2d..6499314bc 100644 --- a/src/main/java/org/scijava/widget/InputWidget.java +++ b/src/main/java/org/scijava/widget/InputWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/MessageWidget.java b/src/main/java/org/scijava/widget/MessageWidget.java index 117b08aeb..f096f4116 100644 --- a/src/main/java/org/scijava/widget/MessageWidget.java +++ b/src/main/java/org/scijava/widget/MessageWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/NumberWidget.java b/src/main/java/org/scijava/widget/NumberWidget.java index b6b81e6c9..67d4c1030 100644 --- a/src/main/java/org/scijava/widget/NumberWidget.java +++ b/src/main/java/org/scijava/widget/NumberWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/ObjectWidget.java b/src/main/java/org/scijava/widget/ObjectWidget.java index 839b5272b..5c8b2ed81 100644 --- a/src/main/java/org/scijava/widget/ObjectWidget.java +++ b/src/main/java/org/scijava/widget/ObjectWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/TextWidget.java b/src/main/java/org/scijava/widget/TextWidget.java index 34dd871bf..4f555d8c1 100644 --- a/src/main/java/org/scijava/widget/TextWidget.java +++ b/src/main/java/org/scijava/widget/TextWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/ToggleWidget.java b/src/main/java/org/scijava/widget/ToggleWidget.java index 829dd0c94..336e75cd1 100644 --- a/src/main/java/org/scijava/widget/ToggleWidget.java +++ b/src/main/java/org/scijava/widget/ToggleWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/UIComponent.java b/src/main/java/org/scijava/widget/UIComponent.java index 943daa7ee..20dd35301 100644 --- a/src/main/java/org/scijava/widget/UIComponent.java +++ b/src/main/java/org/scijava/widget/UIComponent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/WidgetModel.java b/src/main/java/org/scijava/widget/WidgetModel.java index 97ccad278..9f0f1b634 100644 --- a/src/main/java/org/scijava/widget/WidgetModel.java +++ b/src/main/java/org/scijava/widget/WidgetModel.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/WidgetService.java b/src/main/java/org/scijava/widget/WidgetService.java index 8f02d6603..047657acb 100644 --- a/src/main/java/org/scijava/widget/WidgetService.java +++ b/src/main/java/org/scijava/widget/WidgetService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/WidgetStyle.java b/src/main/java/org/scijava/widget/WidgetStyle.java index 9dedf5aaf..d9c186b0c 100644 --- a/src/main/java/org/scijava/widget/WidgetStyle.java +++ b/src/main/java/org/scijava/widget/WidgetStyle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/ContextCreationTest.java b/src/test/java/org/scijava/ContextCreationTest.java index db4e76ea7..614e4a019 100644 --- a/src/test/java/org/scijava/ContextCreationTest.java +++ b/src/test/java/org/scijava/ContextCreationTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/ContextDisposalTest.java b/src/test/java/org/scijava/ContextDisposalTest.java index e47fcbc7b..e3834d3a2 100644 --- a/src/test/java/org/scijava/ContextDisposalTest.java +++ b/src/test/java/org/scijava/ContextDisposalTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/ContextInjectionTest.java b/src/test/java/org/scijava/ContextInjectionTest.java index bff5bf657..b5f948041 100644 --- a/src/test/java/org/scijava/ContextInjectionTest.java +++ b/src/test/java/org/scijava/ContextInjectionTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/SciJavaTest.java b/src/test/java/org/scijava/SciJavaTest.java index c8a0fd499..1279f8861 100644 --- a/src/test/java/org/scijava/SciJavaTest.java +++ b/src/test/java/org/scijava/SciJavaTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/AnnotatedA.java b/src/test/java/org/scijava/annotations/AnnotatedA.java index 9e1ca7982..799eea92f 100644 --- a/src/test/java/org/scijava/annotations/AnnotatedA.java +++ b/src/test/java/org/scijava/annotations/AnnotatedA.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/AnnotatedB.java b/src/test/java/org/scijava/annotations/AnnotatedB.java index 41047039a..a14106e1d 100644 --- a/src/test/java/org/scijava/annotations/AnnotatedB.java +++ b/src/test/java/org/scijava/annotations/AnnotatedB.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/AnnotatedC.java b/src/test/java/org/scijava/annotations/AnnotatedC.java index b2221e5bd..589a49e5f 100644 --- a/src/test/java/org/scijava/annotations/AnnotatedC.java +++ b/src/test/java/org/scijava/annotations/AnnotatedC.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/AnnotatedD.java b/src/test/java/org/scijava/annotations/AnnotatedD.java index 4c534202a..f6e23eac6 100644 --- a/src/test/java/org/scijava/annotations/AnnotatedD.java +++ b/src/test/java/org/scijava/annotations/AnnotatedD.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/AnnotatedInnerClass.java b/src/test/java/org/scijava/annotations/AnnotatedInnerClass.java index c431acec2..6f46d5864 100644 --- a/src/test/java/org/scijava/annotations/AnnotatedInnerClass.java +++ b/src/test/java/org/scijava/annotations/AnnotatedInnerClass.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/Complex.java b/src/test/java/org/scijava/annotations/Complex.java index c5f1b24bb..b0c7d879e 100644 --- a/src/test/java/org/scijava/annotations/Complex.java +++ b/src/test/java/org/scijava/annotations/Complex.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/DirectoryIndexerTest.java b/src/test/java/org/scijava/annotations/DirectoryIndexerTest.java index 6ba1f5cde..81a96747d 100644 --- a/src/test/java/org/scijava/annotations/DirectoryIndexerTest.java +++ b/src/test/java/org/scijava/annotations/DirectoryIndexerTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/EclipseHelperTest.java b/src/test/java/org/scijava/annotations/EclipseHelperTest.java index 9a809785b..24daca561 100644 --- a/src/test/java/org/scijava/annotations/EclipseHelperTest.java +++ b/src/test/java/org/scijava/annotations/EclipseHelperTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/Fruit.java b/src/test/java/org/scijava/annotations/Fruit.java index 547d39793..cf484cb20 100644 --- a/src/test/java/org/scijava/annotations/Fruit.java +++ b/src/test/java/org/scijava/annotations/Fruit.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/LegacyTest.java b/src/test/java/org/scijava/annotations/LegacyTest.java index 47336653e..a9aaf12a8 100644 --- a/src/test/java/org/scijava/annotations/LegacyTest.java +++ b/src/test/java/org/scijava/annotations/LegacyTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/Simple.java b/src/test/java/org/scijava/annotations/Simple.java index 9641955f1..193803c00 100644 --- a/src/test/java/org/scijava/annotations/Simple.java +++ b/src/test/java/org/scijava/annotations/Simple.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/app/StatusServiceTest.java b/src/test/java/org/scijava/app/StatusServiceTest.java index b1d4feb43..1e2eed9d3 100644 --- a/src/test/java/org/scijava/app/StatusServiceTest.java +++ b/src/test/java/org/scijava/app/StatusServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/command/CommandArrayConverterTest.java b/src/test/java/org/scijava/command/CommandArrayConverterTest.java index 406f5f604..b2a34200e 100644 --- a/src/test/java/org/scijava/command/CommandArrayConverterTest.java +++ b/src/test/java/org/scijava/command/CommandArrayConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/command/CommandInfoTest.java b/src/test/java/org/scijava/command/CommandInfoTest.java index 8de905e99..492945766 100644 --- a/src/test/java/org/scijava/command/CommandInfoTest.java +++ b/src/test/java/org/scijava/command/CommandInfoTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/command/CommandModuleTest.java b/src/test/java/org/scijava/command/CommandModuleTest.java index bbdb25270..cfa70fe45 100644 --- a/src/test/java/org/scijava/command/CommandModuleTest.java +++ b/src/test/java/org/scijava/command/CommandModuleTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/command/CommandServiceTest.java b/src/test/java/org/scijava/command/CommandServiceTest.java index e13622351..fb1fda971 100644 --- a/src/test/java/org/scijava/command/CommandServiceTest.java +++ b/src/test/java/org/scijava/command/CommandServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/command/InputsTest.java b/src/test/java/org/scijava/command/InputsTest.java index 2c6556644..db55f9c3e 100644 --- a/src/test/java/org/scijava/command/InputsTest.java +++ b/src/test/java/org/scijava/command/InputsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/command/InvalidCommandTest.java b/src/test/java/org/scijava/command/InvalidCommandTest.java index b0d311083..2687d056a 100644 --- a/src/test/java/org/scijava/command/InvalidCommandTest.java +++ b/src/test/java/org/scijava/command/InvalidCommandTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/command/run/CommandCodeRunnerTest.java b/src/test/java/org/scijava/command/run/CommandCodeRunnerTest.java index 557de6a28..6e488c1f7 100644 --- a/src/test/java/org/scijava/command/run/CommandCodeRunnerTest.java +++ b/src/test/java/org/scijava/command/run/CommandCodeRunnerTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/console/ConsoleServiceTest.java b/src/test/java/org/scijava/console/ConsoleServiceTest.java index 64692143f..cb4728630 100644 --- a/src/test/java/org/scijava/console/ConsoleServiceTest.java +++ b/src/test/java/org/scijava/console/ConsoleServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/console/SystemPropertyArgumentTest.java b/src/test/java/org/scijava/console/SystemPropertyArgumentTest.java index c7c0a9185..b073e504c 100644 --- a/src/test/java/org/scijava/console/SystemPropertyArgumentTest.java +++ b/src/test/java/org/scijava/console/SystemPropertyArgumentTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/AbstractNumberConverterTests.java b/src/test/java/org/scijava/convert/AbstractNumberConverterTests.java index 7922b3cb6..7b899bd4f 100644 --- a/src/test/java/org/scijava/convert/AbstractNumberConverterTests.java +++ b/src/test/java/org/scijava/convert/AbstractNumberConverterTests.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ArrayToStringConverterTest.java b/src/test/java/org/scijava/convert/ArrayToStringConverterTest.java index 17ec928f5..a1a1bb10a 100644 --- a/src/test/java/org/scijava/convert/ArrayToStringConverterTest.java +++ b/src/test/java/org/scijava/convert/ArrayToStringConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/BigIntegerToBigDecimalConverterTest.java b/src/test/java/org/scijava/convert/BigIntegerToBigDecimalConverterTest.java index ee40655af..0535224eb 100644 --- a/src/test/java/org/scijava/convert/BigIntegerToBigDecimalConverterTest.java +++ b/src/test/java/org/scijava/convert/BigIntegerToBigDecimalConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ByteToBigDecimalConverterTest.java b/src/test/java/org/scijava/convert/ByteToBigDecimalConverterTest.java index 504165eca..d63cb3743 100644 --- a/src/test/java/org/scijava/convert/ByteToBigDecimalConverterTest.java +++ b/src/test/java/org/scijava/convert/ByteToBigDecimalConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ByteToBigIntegerConverterTest.java b/src/test/java/org/scijava/convert/ByteToBigIntegerConverterTest.java index 5fe0aeda9..e179deff1 100644 --- a/src/test/java/org/scijava/convert/ByteToBigIntegerConverterTest.java +++ b/src/test/java/org/scijava/convert/ByteToBigIntegerConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ByteToDoubleConverterTest.java b/src/test/java/org/scijava/convert/ByteToDoubleConverterTest.java index 1e577f141..472e42702 100644 --- a/src/test/java/org/scijava/convert/ByteToDoubleConverterTest.java +++ b/src/test/java/org/scijava/convert/ByteToDoubleConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ByteToFloatConverterTest.java b/src/test/java/org/scijava/convert/ByteToFloatConverterTest.java index 3f0c755de..7674190ca 100644 --- a/src/test/java/org/scijava/convert/ByteToFloatConverterTest.java +++ b/src/test/java/org/scijava/convert/ByteToFloatConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ByteToIntegerConverterTest.java b/src/test/java/org/scijava/convert/ByteToIntegerConverterTest.java index 890953eed..1d1747098 100644 --- a/src/test/java/org/scijava/convert/ByteToIntegerConverterTest.java +++ b/src/test/java/org/scijava/convert/ByteToIntegerConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ByteToLongConverterTest.java b/src/test/java/org/scijava/convert/ByteToLongConverterTest.java index 0feab666a..53f552f1c 100644 --- a/src/test/java/org/scijava/convert/ByteToLongConverterTest.java +++ b/src/test/java/org/scijava/convert/ByteToLongConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ByteToShortConverterTest.java b/src/test/java/org/scijava/convert/ByteToShortConverterTest.java index cec43a6e4..b2fd5281b 100644 --- a/src/test/java/org/scijava/convert/ByteToShortConverterTest.java +++ b/src/test/java/org/scijava/convert/ByteToShortConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ConvertServiceTest.java b/src/test/java/org/scijava/convert/ConvertServiceTest.java index e870723e8..96dbe1bdf 100644 --- a/src/test/java/org/scijava/convert/ConvertServiceTest.java +++ b/src/test/java/org/scijava/convert/ConvertServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ConverterTest.java b/src/test/java/org/scijava/convert/ConverterTest.java index 27ae140b3..ddb0f6c9f 100644 --- a/src/test/java/org/scijava/convert/ConverterTest.java +++ b/src/test/java/org/scijava/convert/ConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/DefaultConverterTest.java b/src/test/java/org/scijava/convert/DefaultConverterTest.java index 06394fafe..b1c810d83 100644 --- a/src/test/java/org/scijava/convert/DefaultConverterTest.java +++ b/src/test/java/org/scijava/convert/DefaultConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/DelegateConverterTest.java b/src/test/java/org/scijava/convert/DelegateConverterTest.java index 00bd9baae..b506e9e2d 100644 --- a/src/test/java/org/scijava/convert/DelegateConverterTest.java +++ b/src/test/java/org/scijava/convert/DelegateConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/DoubleToBigDecimalConverterTest.java b/src/test/java/org/scijava/convert/DoubleToBigDecimalConverterTest.java index 57c4e8cba..aa85644ab 100644 --- a/src/test/java/org/scijava/convert/DoubleToBigDecimalConverterTest.java +++ b/src/test/java/org/scijava/convert/DoubleToBigDecimalConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/FileListConverterTest.java b/src/test/java/org/scijava/convert/FileListConverterTest.java index cd6b011e6..0276fe63a 100644 --- a/src/test/java/org/scijava/convert/FileListConverterTest.java +++ b/src/test/java/org/scijava/convert/FileListConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/FileToPathConversionTest.java b/src/test/java/org/scijava/convert/FileToPathConversionTest.java index 3b6f554c1..ef8829e07 100644 --- a/src/test/java/org/scijava/convert/FileToPathConversionTest.java +++ b/src/test/java/org/scijava/convert/FileToPathConversionTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/FloatToBigDecimalConverterTest.java b/src/test/java/org/scijava/convert/FloatToBigDecimalConverterTest.java index db194c80b..546a649c0 100644 --- a/src/test/java/org/scijava/convert/FloatToBigDecimalConverterTest.java +++ b/src/test/java/org/scijava/convert/FloatToBigDecimalConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/FloatToDoubleConverterTest.java b/src/test/java/org/scijava/convert/FloatToDoubleConverterTest.java index cbb142ed8..5aaf070cc 100644 --- a/src/test/java/org/scijava/convert/FloatToDoubleConverterTest.java +++ b/src/test/java/org/scijava/convert/FloatToDoubleConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/IntegerToBigDecimalConverterTest.java b/src/test/java/org/scijava/convert/IntegerToBigDecimalConverterTest.java index 4d59c5a23..48d54b3d6 100644 --- a/src/test/java/org/scijava/convert/IntegerToBigDecimalConverterTest.java +++ b/src/test/java/org/scijava/convert/IntegerToBigDecimalConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/IntegerToBigIntegerConverterTest.java b/src/test/java/org/scijava/convert/IntegerToBigIntegerConverterTest.java index e75975687..e1430131c 100644 --- a/src/test/java/org/scijava/convert/IntegerToBigIntegerConverterTest.java +++ b/src/test/java/org/scijava/convert/IntegerToBigIntegerConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/IntegerToDoubleConverterTest.java b/src/test/java/org/scijava/convert/IntegerToDoubleConverterTest.java index 79f4e4b5f..3581c5c48 100644 --- a/src/test/java/org/scijava/convert/IntegerToDoubleConverterTest.java +++ b/src/test/java/org/scijava/convert/IntegerToDoubleConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/IntegerToLongConverterTest.java b/src/test/java/org/scijava/convert/IntegerToLongConverterTest.java index bf8057129..5aa0f3b9c 100644 --- a/src/test/java/org/scijava/convert/IntegerToLongConverterTest.java +++ b/src/test/java/org/scijava/convert/IntegerToLongConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/LongToBigDecimalConverterTest.java b/src/test/java/org/scijava/convert/LongToBigDecimalConverterTest.java index 3c3989bb8..56e6da876 100644 --- a/src/test/java/org/scijava/convert/LongToBigDecimalConverterTest.java +++ b/src/test/java/org/scijava/convert/LongToBigDecimalConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/LongToBigIntegerConverterTest.java b/src/test/java/org/scijava/convert/LongToBigIntegerConverterTest.java index 3483ab5a3..57527734a 100644 --- a/src/test/java/org/scijava/convert/LongToBigIntegerConverterTest.java +++ b/src/test/java/org/scijava/convert/LongToBigIntegerConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ShortToBigDecimalConverterTest.java b/src/test/java/org/scijava/convert/ShortToBigDecimalConverterTest.java index cfc350b18..fd65d1a31 100644 --- a/src/test/java/org/scijava/convert/ShortToBigDecimalConverterTest.java +++ b/src/test/java/org/scijava/convert/ShortToBigDecimalConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ShortToBigIntegerConverterTest.java b/src/test/java/org/scijava/convert/ShortToBigIntegerConverterTest.java index ef713a05c..7ff413922 100644 --- a/src/test/java/org/scijava/convert/ShortToBigIntegerConverterTest.java +++ b/src/test/java/org/scijava/convert/ShortToBigIntegerConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ShortToDoubleConverterTest.java b/src/test/java/org/scijava/convert/ShortToDoubleConverterTest.java index aadd59fbb..0a71d5092 100644 --- a/src/test/java/org/scijava/convert/ShortToDoubleConverterTest.java +++ b/src/test/java/org/scijava/convert/ShortToDoubleConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ShortToFloatConverterTest.java b/src/test/java/org/scijava/convert/ShortToFloatConverterTest.java index 0cbeb21fd..cc93bd4c3 100644 --- a/src/test/java/org/scijava/convert/ShortToFloatConverterTest.java +++ b/src/test/java/org/scijava/convert/ShortToFloatConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ShortToIntegerConverterTest.java b/src/test/java/org/scijava/convert/ShortToIntegerConverterTest.java index d74f7d81f..11c514c59 100644 --- a/src/test/java/org/scijava/convert/ShortToIntegerConverterTest.java +++ b/src/test/java/org/scijava/convert/ShortToIntegerConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ShortToLongConverterTest.java b/src/test/java/org/scijava/convert/ShortToLongConverterTest.java index 8f8d6543e..f396697fd 100644 --- a/src/test/java/org/scijava/convert/ShortToLongConverterTest.java +++ b/src/test/java/org/scijava/convert/ShortToLongConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/StringToArrayConverterTest.java b/src/test/java/org/scijava/convert/StringToArrayConverterTest.java index d9d912451..35b45f19b 100644 --- a/src/test/java/org/scijava/convert/StringToArrayConverterTest.java +++ b/src/test/java/org/scijava/convert/StringToArrayConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/StringToNumberConverterTest.java b/src/test/java/org/scijava/convert/StringToNumberConverterTest.java index 879e9ffc8..779850213 100644 --- a/src/test/java/org/scijava/convert/StringToNumberConverterTest.java +++ b/src/test/java/org/scijava/convert/StringToNumberConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/display/DisplayTest.java b/src/test/java/org/scijava/display/DisplayTest.java index c8502c237..07cf2967f 100644 --- a/src/test/java/org/scijava/display/DisplayTest.java +++ b/src/test/java/org/scijava/display/DisplayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/download/DownloadServiceTest.java b/src/test/java/org/scijava/download/DownloadServiceTest.java index 722a3325c..390f06f68 100644 --- a/src/test/java/org/scijava/download/DownloadServiceTest.java +++ b/src/test/java/org/scijava/download/DownloadServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/event/EventServiceTest.java b/src/test/java/org/scijava/event/EventServiceTest.java index 7d80cd56d..2d0215f41 100644 --- a/src/test/java/org/scijava/event/EventServiceTest.java +++ b/src/test/java/org/scijava/event/EventServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/ByteArrayByteBankTest.java b/src/test/java/org/scijava/io/ByteArrayByteBankTest.java index a8c43184c..1f184071a 100644 --- a/src/test/java/org/scijava/io/ByteArrayByteBankTest.java +++ b/src/test/java/org/scijava/io/ByteArrayByteBankTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/ByteBankTest.java b/src/test/java/org/scijava/io/ByteBankTest.java index 7861b3920..fdc00f86c 100644 --- a/src/test/java/org/scijava/io/ByteBankTest.java +++ b/src/test/java/org/scijava/io/ByteBankTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/IOServiceTest.java b/src/test/java/org/scijava/io/IOServiceTest.java index a109c85e8..ecfed72ad 100644 --- a/src/test/java/org/scijava/io/IOServiceTest.java +++ b/src/test/java/org/scijava/io/IOServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/TypedIOServiceTest.java b/src/test/java/org/scijava/io/TypedIOServiceTest.java index b17bca169..734924839 100644 --- a/src/test/java/org/scijava/io/TypedIOServiceTest.java +++ b/src/test/java/org/scijava/io/TypedIOServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/event/DataEventTest.java b/src/test/java/org/scijava/io/event/DataEventTest.java index 6ceb42e2e..5a56f2fcd 100644 --- a/src/test/java/org/scijava/io/event/DataEventTest.java +++ b/src/test/java/org/scijava/io/event/DataEventTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/handle/BytesHandleTest.java b/src/test/java/org/scijava/io/handle/BytesHandleTest.java index 865cd327f..4b2d05db0 100644 --- a/src/test/java/org/scijava/io/handle/BytesHandleTest.java +++ b/src/test/java/org/scijava/io/handle/BytesHandleTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/handle/DataHandleEdgeCaseTests.java b/src/test/java/org/scijava/io/handle/DataHandleEdgeCaseTests.java index 7115af445..deba27821 100644 --- a/src/test/java/org/scijava/io/handle/DataHandleEdgeCaseTests.java +++ b/src/test/java/org/scijava/io/handle/DataHandleEdgeCaseTests.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/handle/DataHandleTest.java b/src/test/java/org/scijava/io/handle/DataHandleTest.java index 15730d404..b12a7592b 100644 --- a/src/test/java/org/scijava/io/handle/DataHandleTest.java +++ b/src/test/java/org/scijava/io/handle/DataHandleTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/handle/DataHandlesTest.java b/src/test/java/org/scijava/io/handle/DataHandlesTest.java index 9a91d56c0..09ff0e012 100644 --- a/src/test/java/org/scijava/io/handle/DataHandlesTest.java +++ b/src/test/java/org/scijava/io/handle/DataHandlesTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/handle/FileHandleTest.java b/src/test/java/org/scijava/io/handle/FileHandleTest.java index d690ed710..551769c30 100644 --- a/src/test/java/org/scijava/io/handle/FileHandleTest.java +++ b/src/test/java/org/scijava/io/handle/FileHandleTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/handle/ReadBufferDataHandleMockTest.java b/src/test/java/org/scijava/io/handle/ReadBufferDataHandleMockTest.java index f7cb24182..20a637f3e 100644 --- a/src/test/java/org/scijava/io/handle/ReadBufferDataHandleMockTest.java +++ b/src/test/java/org/scijava/io/handle/ReadBufferDataHandleMockTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/handle/ReadBufferDataHandleTest.java b/src/test/java/org/scijava/io/handle/ReadBufferDataHandleTest.java index 61c7c9b41..8196c9128 100644 --- a/src/test/java/org/scijava/io/handle/ReadBufferDataHandleTest.java +++ b/src/test/java/org/scijava/io/handle/ReadBufferDataHandleTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/handle/WriteBufferDataHandleTest.java b/src/test/java/org/scijava/io/handle/WriteBufferDataHandleTest.java index fd813e326..813a5ab46 100644 --- a/src/test/java/org/scijava/io/handle/WriteBufferDataHandleTest.java +++ b/src/test/java/org/scijava/io/handle/WriteBufferDataHandleTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/location/BytesLocationTest.java b/src/test/java/org/scijava/io/location/BytesLocationTest.java index e2900a9c6..1217c23ff 100644 --- a/src/test/java/org/scijava/io/location/BytesLocationTest.java +++ b/src/test/java/org/scijava/io/location/BytesLocationTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/location/FileLocationResolverTest.java b/src/test/java/org/scijava/io/location/FileLocationResolverTest.java index 62def039e..62ec48db0 100644 --- a/src/test/java/org/scijava/io/location/FileLocationResolverTest.java +++ b/src/test/java/org/scijava/io/location/FileLocationResolverTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/location/FileLocationTest.java b/src/test/java/org/scijava/io/location/FileLocationTest.java index cf98dcfa1..3ce55ea53 100644 --- a/src/test/java/org/scijava/io/location/FileLocationTest.java +++ b/src/test/java/org/scijava/io/location/FileLocationTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/location/LocationServiceTest.java b/src/test/java/org/scijava/io/location/LocationServiceTest.java index ade1122ba..cede48501 100644 --- a/src/test/java/org/scijava/io/location/LocationServiceTest.java +++ b/src/test/java/org/scijava/io/location/LocationServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/location/URILocationTest.java b/src/test/java/org/scijava/io/location/URILocationTest.java index 6e23d6fd9..9df45d181 100644 --- a/src/test/java/org/scijava/io/location/URILocationTest.java +++ b/src/test/java/org/scijava/io/location/URILocationTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/location/URLLocationTest.java b/src/test/java/org/scijava/io/location/URLLocationTest.java index 3f15988c0..0075c79dd 100644 --- a/src/test/java/org/scijava/io/location/URLLocationTest.java +++ b/src/test/java/org/scijava/io/location/URLLocationTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/nio/ByteBufferByteBankTest.java b/src/test/java/org/scijava/io/nio/ByteBufferByteBankTest.java index 13c3c0a6b..8685dc322 100644 --- a/src/test/java/org/scijava/io/nio/ByteBufferByteBankTest.java +++ b/src/test/java/org/scijava/io/nio/ByteBufferByteBankTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/log/CallingClassUtilsTest.java b/src/test/java/org/scijava/log/CallingClassUtilsTest.java index e8b2d8ed5..a88c970a1 100644 --- a/src/test/java/org/scijava/log/CallingClassUtilsTest.java +++ b/src/test/java/org/scijava/log/CallingClassUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/log/DefaultLoggerTest.java b/src/test/java/org/scijava/log/DefaultLoggerTest.java index c8143017e..14cc55b77 100644 --- a/src/test/java/org/scijava/log/DefaultLoggerTest.java +++ b/src/test/java/org/scijava/log/DefaultLoggerTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/log/LogMessageTest.java b/src/test/java/org/scijava/log/LogMessageTest.java index 20cbe8d76..f08f6ec18 100644 --- a/src/test/java/org/scijava/log/LogMessageTest.java +++ b/src/test/java/org/scijava/log/LogMessageTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/log/LogServiceTest.java b/src/test/java/org/scijava/log/LogServiceTest.java index 9ab4f15bd..2d3d3b46f 100644 --- a/src/test/java/org/scijava/log/LogServiceTest.java +++ b/src/test/java/org/scijava/log/LogServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/log/LogSourceTest.java b/src/test/java/org/scijava/log/LogSourceTest.java index 65d5813f4..c5dda19d7 100644 --- a/src/test/java/org/scijava/log/LogSourceTest.java +++ b/src/test/java/org/scijava/log/LogSourceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/log/StderrLogServiceTest.java b/src/test/java/org/scijava/log/StderrLogServiceTest.java index b28503b32..95429dd25 100644 --- a/src/test/java/org/scijava/log/StderrLogServiceTest.java +++ b/src/test/java/org/scijava/log/StderrLogServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/log/TestLogListener.java b/src/test/java/org/scijava/log/TestLogListener.java index ef92de0d5..e7f2bce82 100644 --- a/src/test/java/org/scijava/log/TestLogListener.java +++ b/src/test/java/org/scijava/log/TestLogListener.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/main/MainServiceTest.java b/src/test/java/org/scijava/main/MainServiceTest.java index 8152f13c6..b5d09ac31 100644 --- a/src/test/java/org/scijava/main/MainServiceTest.java +++ b/src/test/java/org/scijava/main/MainServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/main/run/MainCodeRunnerTest.java b/src/test/java/org/scijava/main/run/MainCodeRunnerTest.java index 03872538f..ea049cf18 100644 --- a/src/test/java/org/scijava/main/run/MainCodeRunnerTest.java +++ b/src/test/java/org/scijava/main/run/MainCodeRunnerTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/menu/MenuServiceTest.java b/src/test/java/org/scijava/menu/MenuServiceTest.java index 604db06c3..aad47bb73 100644 --- a/src/test/java/org/scijava/menu/MenuServiceTest.java +++ b/src/test/java/org/scijava/menu/MenuServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/menu/ShadowMenuTest.java b/src/test/java/org/scijava/menu/ShadowMenuTest.java index 3c8ff6874..2c9660b2d 100644 --- a/src/test/java/org/scijava/menu/ShadowMenuTest.java +++ b/src/test/java/org/scijava/menu/ShadowMenuTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/module/ModuleServiceTest.java b/src/test/java/org/scijava/module/ModuleServiceTest.java index b9e6ab4f5..e8844f086 100644 --- a/src/test/java/org/scijava/module/ModuleServiceTest.java +++ b/src/test/java/org/scijava/module/ModuleServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/module/event/ModuleErroredEventTest.java b/src/test/java/org/scijava/module/event/ModuleErroredEventTest.java index fa5eabe19..4524254df 100644 --- a/src/test/java/org/scijava/module/event/ModuleErroredEventTest.java +++ b/src/test/java/org/scijava/module/event/ModuleErroredEventTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/module/process/LoggerPreprocessorTest.java b/src/test/java/org/scijava/module/process/LoggerPreprocessorTest.java index 40461b497..16e5e7e6d 100644 --- a/src/test/java/org/scijava/module/process/LoggerPreprocessorTest.java +++ b/src/test/java/org/scijava/module/process/LoggerPreprocessorTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/module/run/ModuleCodeRunnerTest.java b/src/test/java/org/scijava/module/run/ModuleCodeRunnerTest.java index b5db1288c..9a2dcc0c4 100644 --- a/src/test/java/org/scijava/module/run/ModuleCodeRunnerTest.java +++ b/src/test/java/org/scijava/module/run/ModuleCodeRunnerTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/object/NamedObjectIndexTest.java b/src/test/java/org/scijava/object/NamedObjectIndexTest.java index 0e8e510f8..4a76b6962 100644 --- a/src/test/java/org/scijava/object/NamedObjectIndexTest.java +++ b/src/test/java/org/scijava/object/NamedObjectIndexTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/object/ObjectIndexTest.java b/src/test/java/org/scijava/object/ObjectIndexTest.java index 2a0870776..62c2e4071 100644 --- a/src/test/java/org/scijava/object/ObjectIndexTest.java +++ b/src/test/java/org/scijava/object/ObjectIndexTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/object/ObjectServiceTest.java b/src/test/java/org/scijava/object/ObjectServiceTest.java index 7e179c0bf..bdb18ce5d 100644 --- a/src/test/java/org/scijava/object/ObjectServiceTest.java +++ b/src/test/java/org/scijava/object/ObjectServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/object/SortedObjectIndexTest.java b/src/test/java/org/scijava/object/SortedObjectIndexTest.java index 86c38ecfd..ad5e0e14c 100644 --- a/src/test/java/org/scijava/object/SortedObjectIndexTest.java +++ b/src/test/java/org/scijava/object/SortedObjectIndexTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/options/OptionsTest.java b/src/test/java/org/scijava/options/OptionsTest.java index e49c70abb..78b4e182a 100644 --- a/src/test/java/org/scijava/options/OptionsTest.java +++ b/src/test/java/org/scijava/options/OptionsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/parse/ParseServiceTest.java b/src/test/java/org/scijava/parse/ParseServiceTest.java index f09d33308..5a7cdb164 100644 --- a/src/test/java/org/scijava/parse/ParseServiceTest.java +++ b/src/test/java/org/scijava/parse/ParseServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/plugin/PluginFinderTest.java b/src/test/java/org/scijava/plugin/PluginFinderTest.java index 32514f731..a5562f3bb 100644 --- a/src/test/java/org/scijava/plugin/PluginFinderTest.java +++ b/src/test/java/org/scijava/plugin/PluginFinderTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/plugin/PluginIndexTest.java b/src/test/java/org/scijava/plugin/PluginIndexTest.java index 6452fffba..7453aba96 100644 --- a/src/test/java/org/scijava/plugin/PluginIndexTest.java +++ b/src/test/java/org/scijava/plugin/PluginIndexTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/plugin/PluginInfoTest.java b/src/test/java/org/scijava/plugin/PluginInfoTest.java index 49c7fa8bf..eb8507f43 100644 --- a/src/test/java/org/scijava/plugin/PluginInfoTest.java +++ b/src/test/java/org/scijava/plugin/PluginInfoTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/plugin/SingletonServiceTest.java b/src/test/java/org/scijava/plugin/SingletonServiceTest.java index ca6e5a331..18242910f 100644 --- a/src/test/java/org/scijava/plugin/SingletonServiceTest.java +++ b/src/test/java/org/scijava/plugin/SingletonServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/prefs/PrefServiceTest.java b/src/test/java/org/scijava/prefs/PrefServiceTest.java index ff5de6fde..63249b4e5 100644 --- a/src/test/java/org/scijava/prefs/PrefServiceTest.java +++ b/src/test/java/org/scijava/prefs/PrefServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/run/RunServiceTest.java b/src/test/java/org/scijava/run/RunServiceTest.java index f7e908154..ae3506c8c 100644 --- a/src/test/java/org/scijava/run/RunServiceTest.java +++ b/src/test/java/org/scijava/run/RunServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/script/AbstractScriptLanguageTest.java b/src/test/java/org/scijava/script/AbstractScriptLanguageTest.java index 9b8415054..192232351 100644 --- a/src/test/java/org/scijava/script/AbstractScriptLanguageTest.java +++ b/src/test/java/org/scijava/script/AbstractScriptLanguageTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/script/ScriptEngineTest.java b/src/test/java/org/scijava/script/ScriptEngineTest.java index b10c6d3e8..3df84bf5a 100644 --- a/src/test/java/org/scijava/script/ScriptEngineTest.java +++ b/src/test/java/org/scijava/script/ScriptEngineTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/script/ScriptFinderTest.java b/src/test/java/org/scijava/script/ScriptFinderTest.java index e28869372..dce377a2d 100644 --- a/src/test/java/org/scijava/script/ScriptFinderTest.java +++ b/src/test/java/org/scijava/script/ScriptFinderTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/script/ScriptInfoTest.java b/src/test/java/org/scijava/script/ScriptInfoTest.java index 06231bb0e..47951dd75 100644 --- a/src/test/java/org/scijava/script/ScriptInfoTest.java +++ b/src/test/java/org/scijava/script/ScriptInfoTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/script/ScriptServiceTest.java b/src/test/java/org/scijava/script/ScriptServiceTest.java index b548ea74a..1cf9ae9ff 100644 --- a/src/test/java/org/scijava/script/ScriptServiceTest.java +++ b/src/test/java/org/scijava/script/ScriptServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/script/process/ParameterScriptProcessorTest.java b/src/test/java/org/scijava/script/process/ParameterScriptProcessorTest.java index dbc1e0674..578cfe617 100644 --- a/src/test/java/org/scijava/script/process/ParameterScriptProcessorTest.java +++ b/src/test/java/org/scijava/script/process/ParameterScriptProcessorTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/service/ServiceIndexTest.java b/src/test/java/org/scijava/service/ServiceIndexTest.java index 44dc0c11e..2629c8195 100644 --- a/src/test/java/org/scijava/service/ServiceIndexTest.java +++ b/src/test/java/org/scijava/service/ServiceIndexTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/task/TaskEventTest.java b/src/test/java/org/scijava/task/TaskEventTest.java index 6e83d81be..eb939fbf0 100644 --- a/src/test/java/org/scijava/task/TaskEventTest.java +++ b/src/test/java/org/scijava/task/TaskEventTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/task/TaskServiceTest.java b/src/test/java/org/scijava/task/TaskServiceTest.java index 5f64642c0..a8c99505f 100644 --- a/src/test/java/org/scijava/task/TaskServiceTest.java +++ b/src/test/java/org/scijava/task/TaskServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/test/AbstractSciJavaTest.java b/src/test/java/org/scijava/test/AbstractSciJavaTest.java index b11a6e1d6..5f8dab9a0 100644 --- a/src/test/java/org/scijava/test/AbstractSciJavaTest.java +++ b/src/test/java/org/scijava/test/AbstractSciJavaTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/test/TestUtilsTest.java b/src/test/java/org/scijava/test/TestUtilsTest.java index fd25f1cff..3bba34708 100644 --- a/src/test/java/org/scijava/test/TestUtilsTest.java +++ b/src/test/java/org/scijava/test/TestUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/text/TextServiceTest.java b/src/test/java/org/scijava/text/TextServiceTest.java index aa4b714c2..e969da2aa 100644 --- a/src/test/java/org/scijava/text/TextServiceTest.java +++ b/src/test/java/org/scijava/text/TextServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/thread/ThreadServiceTest.java b/src/test/java/org/scijava/thread/ThreadServiceTest.java index 918dc33ea..83e5dd336 100644 --- a/src/test/java/org/scijava/thread/ThreadServiceTest.java +++ b/src/test/java/org/scijava/thread/ThreadServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/ui/UIServiceTest.java b/src/test/java/org/scijava/ui/UIServiceTest.java index 89def4290..7a53b6e58 100644 --- a/src/test/java/org/scijava/ui/UIServiceTest.java +++ b/src/test/java/org/scijava/ui/UIServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/AppUtilsTest.java b/src/test/java/org/scijava/util/AppUtilsTest.java index 7018581b2..2bce17e08 100644 --- a/src/test/java/org/scijava/util/AppUtilsTest.java +++ b/src/test/java/org/scijava/util/AppUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/ArrayUtilsTest.java b/src/test/java/org/scijava/util/ArrayUtilsTest.java index befbf0697..15e953adc 100644 --- a/src/test/java/org/scijava/util/ArrayUtilsTest.java +++ b/src/test/java/org/scijava/util/ArrayUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/BoolArrayTest.java b/src/test/java/org/scijava/util/BoolArrayTest.java index c578dd824..2da00516f 100644 --- a/src/test/java/org/scijava/util/BoolArrayTest.java +++ b/src/test/java/org/scijava/util/BoolArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/ByteArrayTest.java b/src/test/java/org/scijava/util/ByteArrayTest.java index f4fa06ec5..ab862f915 100644 --- a/src/test/java/org/scijava/util/ByteArrayTest.java +++ b/src/test/java/org/scijava/util/ByteArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/CharArrayTest.java b/src/test/java/org/scijava/util/CharArrayTest.java index 2063c0a88..9aa855f27 100644 --- a/src/test/java/org/scijava/util/CharArrayTest.java +++ b/src/test/java/org/scijava/util/CharArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/ClassUtilsTest.java b/src/test/java/org/scijava/util/ClassUtilsTest.java index 11b469757..0e8e022f1 100644 --- a/src/test/java/org/scijava/util/ClassUtilsTest.java +++ b/src/test/java/org/scijava/util/ClassUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/ColorRGBTest.java b/src/test/java/org/scijava/util/ColorRGBTest.java index e461780a5..d09e01721 100644 --- a/src/test/java/org/scijava/util/ColorRGBTest.java +++ b/src/test/java/org/scijava/util/ColorRGBTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/ConversionUtilsTest.java b/src/test/java/org/scijava/util/ConversionUtilsTest.java index a6a49d3b3..3daac3f50 100644 --- a/src/test/java/org/scijava/util/ConversionUtilsTest.java +++ b/src/test/java/org/scijava/util/ConversionUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/DigestUtilsTest.java b/src/test/java/org/scijava/util/DigestUtilsTest.java index 4c42955d4..0b1e15f24 100644 --- a/src/test/java/org/scijava/util/DigestUtilsTest.java +++ b/src/test/java/org/scijava/util/DigestUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/DoubleArrayTest.java b/src/test/java/org/scijava/util/DoubleArrayTest.java index 8f8c4aece..6d382c09c 100644 --- a/src/test/java/org/scijava/util/DoubleArrayTest.java +++ b/src/test/java/org/scijava/util/DoubleArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/FileUtilsTest.java b/src/test/java/org/scijava/util/FileUtilsTest.java index ebea6008c..dd240f593 100644 --- a/src/test/java/org/scijava/util/FileUtilsTest.java +++ b/src/test/java/org/scijava/util/FileUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/FloatArrayTest.java b/src/test/java/org/scijava/util/FloatArrayTest.java index cfa9d7f24..a76c12349 100644 --- a/src/test/java/org/scijava/util/FloatArrayTest.java +++ b/src/test/java/org/scijava/util/FloatArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/GenericArrayTypesTest.java b/src/test/java/org/scijava/util/GenericArrayTypesTest.java index 651b6b437..fee6a2504 100644 --- a/src/test/java/org/scijava/util/GenericArrayTypesTest.java +++ b/src/test/java/org/scijava/util/GenericArrayTypesTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/IntArrayTest.java b/src/test/java/org/scijava/util/IntArrayTest.java index 449621017..7536716d3 100644 --- a/src/test/java/org/scijava/util/IntArrayTest.java +++ b/src/test/java/org/scijava/util/IntArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/LastRecentlyUsedTest.java b/src/test/java/org/scijava/util/LastRecentlyUsedTest.java index a543f9830..8eeb5c5db 100644 --- a/src/test/java/org/scijava/util/LastRecentlyUsedTest.java +++ b/src/test/java/org/scijava/util/LastRecentlyUsedTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/LongArrayTest.java b/src/test/java/org/scijava/util/LongArrayTest.java index 04401d197..a18997343 100644 --- a/src/test/java/org/scijava/util/LongArrayTest.java +++ b/src/test/java/org/scijava/util/LongArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/NumberUtilsTest.java b/src/test/java/org/scijava/util/NumberUtilsTest.java index 2180767af..5ce6b3780 100644 --- a/src/test/java/org/scijava/util/NumberUtilsTest.java +++ b/src/test/java/org/scijava/util/NumberUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/ObjectArrayTest.java b/src/test/java/org/scijava/util/ObjectArrayTest.java index 8bf3cae7e..1c96cec41 100644 --- a/src/test/java/org/scijava/util/ObjectArrayTest.java +++ b/src/test/java/org/scijava/util/ObjectArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/POMTest.java b/src/test/java/org/scijava/util/POMTest.java index b24fee5dc..86a800515 100644 --- a/src/test/java/org/scijava/util/POMTest.java +++ b/src/test/java/org/scijava/util/POMTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/PrimitiveArrayTest.java b/src/test/java/org/scijava/util/PrimitiveArrayTest.java index cb76fac7c..0fde7de05 100644 --- a/src/test/java/org/scijava/util/PrimitiveArrayTest.java +++ b/src/test/java/org/scijava/util/PrimitiveArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/ProcessUtilsTest.java b/src/test/java/org/scijava/util/ProcessUtilsTest.java index 8b19a7cf7..dc529b96b 100644 --- a/src/test/java/org/scijava/util/ProcessUtilsTest.java +++ b/src/test/java/org/scijava/util/ProcessUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/ShortArrayTest.java b/src/test/java/org/scijava/util/ShortArrayTest.java index cad66c41d..3626aa063 100644 --- a/src/test/java/org/scijava/util/ShortArrayTest.java +++ b/src/test/java/org/scijava/util/ShortArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/StringUtilsTest.java b/src/test/java/org/scijava/util/StringUtilsTest.java index 30f99e02f..86555e910 100644 --- a/src/test/java/org/scijava/util/StringUtilsTest.java +++ b/src/test/java/org/scijava/util/StringUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/TypesTest.java b/src/test/java/org/scijava/util/TypesTest.java index 24c6b5657..3ffa1edea 100644 --- a/src/test/java/org/scijava/util/TypesTest.java +++ b/src/test/java/org/scijava/util/TypesTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/UnitUtilsTest.java b/src/test/java/org/scijava/util/UnitUtilsTest.java index bfc2aa681..96f54eae7 100644 --- a/src/test/java/org/scijava/util/UnitUtilsTest.java +++ b/src/test/java/org/scijava/util/UnitUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/VersionUtilsTest.java b/src/test/java/org/scijava/util/VersionUtilsTest.java index a924049f8..35554427b 100644 --- a/src/test/java/org/scijava/util/VersionUtilsTest.java +++ b/src/test/java/org/scijava/util/VersionUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/widget/WidgetStyleTest.java b/src/test/java/org/scijava/widget/WidgetStyleTest.java index 78f9c203d..2391ecb8a 100644 --- a/src/test/java/org/scijava/widget/WidgetStyleTest.java +++ b/src/test/java/org/scijava/widget/WidgetStyleTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2023 SciJava developers. + * Copyright (C) 2009 - 2024 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: From fd951509484d337b505799ee4cfcf1bc05546a3f Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Fri, 26 Jan 2024 09:43:33 -0600 Subject: [PATCH 347/383] ScriptService: don't alias plugins w/ noAlias flag --- src/main/java/org/scijava/script/DefaultScriptService.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/scijava/script/DefaultScriptService.java b/src/main/java/org/scijava/script/DefaultScriptService.java index e7f1f0e61..f8bd5e952 100644 --- a/src/main/java/org/scijava/script/DefaultScriptService.java +++ b/src/main/java/org/scijava/script/DefaultScriptService.java @@ -385,7 +385,10 @@ private void addAliases(final HashMap> map, } private Class[] pluginClasses(final Class type) { - return pluginService.getPluginsOfType(type).stream().map(info -> { + return pluginService.getPluginsOfType(type).stream() // + .filter(info -> !info.is("noAlias")) // + .map(info -> + { try { return info.loadClass(); } From 4632c641a4219bbfd9738bc5a0f44cb9cfde556d Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 12 Feb 2024 16:11:21 -0600 Subject: [PATCH 348/383] Fix enormous bug in subscribe(EventSubscriber) Thanks to Gabriel Selzer for pointing it out. --- src/main/java/org/scijava/event/DefaultEventService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/scijava/event/DefaultEventService.java b/src/main/java/org/scijava/event/DefaultEventService.java index 5059046db..30194744d 100644 --- a/src/main/java/org/scijava/event/DefaultEventService.java +++ b/src/main/java/org/scijava/event/DefaultEventService.java @@ -140,7 +140,7 @@ public List> subscribe(final Object o) { @Override public void subscribe(final EventSubscriber subscriber) { - eventBus.subscribe(subscriber.getClass(), subscriber); + eventBus.subscribe(subscriber.getEventClass(), subscriber); } @Override From 11ba2a4f23307a1e02bc0e25363dcfbeb9f93636 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Fri, 16 Feb 2024 11:38:44 -0600 Subject: [PATCH 349/383] Happy New Year 2024 to LICENSE.txt, too --- LICENSE.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LICENSE.txt b/LICENSE.txt index aaee970f7..e37abf5e1 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,4 +1,4 @@ -Copyright (c) 2009 - 2023, SciJava developers. +Copyright (c) 2009 - 2024, SciJava developers. All rights reserved. Redistribution and use in source and binary forms, with or without modification, From 3f0e32f14aa7c6f64f206d79af14c47c6aac0249 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Fri, 16 Feb 2024 11:39:58 -0600 Subject: [PATCH 350/383] Bump to next development cycle Signed-off-by: Curtis Rueden --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 4b91cb7b3..92b6764a7 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.98.0-SNAPSHOT + 2.98.1-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From 661d92a0e9d86ea27cea024c8d032837bfc21390 Mon Sep 17 00:00:00 2001 From: hinerm Date: Thu, 9 May 2024 10:14:54 -0500 Subject: [PATCH 351/383] Create simple utility for property map I/O This helper reads and writes maps to/from plain text files, storing entries in "key=value" pairs. --- .../org/scijava/util/PropertiesHelper.java | 72 +++++++++ .../scijava/util/PropertiesHelperTest.java | 138 ++++++++++++++++++ 2 files changed, 210 insertions(+) create mode 100644 src/main/java/org/scijava/util/PropertiesHelper.java create mode 100644 src/test/java/org/scijava/util/PropertiesHelperTest.java diff --git a/src/main/java/org/scijava/util/PropertiesHelper.java b/src/main/java/org/scijava/util/PropertiesHelper.java new file mode 100644 index 000000000..64c2336df --- /dev/null +++ b/src/main/java/org/scijava/util/PropertiesHelper.java @@ -0,0 +1,72 @@ +/*- + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2024 SciJava developers. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ + +package org.scijava.util; + +import java.io.*; +import java.util.HashMap; +import java.util.Map; + +/** + * Simple utility for reading and writing a property map to/from plain text. + */ +public final class PropertiesHelper { + + public static Map get(File filename) { + Map map = new HashMap<>(); + try (BufferedReader reader = new BufferedReader(new FileReader(filename))) { + String line; + while ((line = reader.readLine()) != null) { + String[] parts = line.split("=", 2); + if (parts.length == 2) { + map.put(parts[0], parts[1]); + } + } + } + catch (FileNotFoundException e) { + throw new RuntimeException(e); + } + catch (IOException e) { + throw new RuntimeException(e); + } + return map; + } + + public static void put(Map properties, File filename) { + try (BufferedWriter writer = new BufferedWriter(new FileWriter(filename))) { + for (Map.Entry entry : properties.entrySet()) { + writer.write(entry.getKey() + "=" + entry.getValue()); + writer.newLine(); + } + } + catch (IOException e) { + throw new RuntimeException(e); + } + } +} diff --git a/src/test/java/org/scijava/util/PropertiesHelperTest.java b/src/test/java/org/scijava/util/PropertiesHelperTest.java new file mode 100644 index 000000000..f4d655ef8 --- /dev/null +++ b/src/test/java/org/scijava/util/PropertiesHelperTest.java @@ -0,0 +1,138 @@ +/*- + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2024 SciJava developers. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ + +package org.scijava.util; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +import java.io.*; +import java.util.HashMap; +import java.util.Map; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +/** + * Tests for {@link PropertiesHelper} + */ +public class PropertiesHelperTest { + + private static final String EXPECTED_1 = "a=b"; + private static final String EXPECTED_2 = "hello=goodbye"; + + private Map props; + private File temp; + + @Before + public void setup() throws IOException { + temp = File.createTempFile("PropertiesHelper", "txt"); + props = new HashMap<>(); + props.put("a", "b"); + props.put("hello", "goodbye"); + } + + @After + public void cleanup() { + temp.delete(); + } + + @Test + public void testWrite() throws IOException { + PropertiesHelper.put(props, temp); + + int count = 0; + boolean saw1 = false, saw2 = false; + + try (BufferedReader reader = new BufferedReader(new FileReader(temp))) { + String line; + while ((line = reader.readLine()) != null) { + if (line.equals(EXPECTED_1)) { + saw1 = true; + } + if (line.equals(EXPECTED_2)) { + saw2 = true; + } + count++; + } + } + assertTrue(saw1); + assertTrue(saw2); + assertEquals(2, count); + } + + @Test + public void testRead() throws IOException { + try (BufferedWriter writer = new BufferedWriter(new FileWriter(temp))) { + writer.write(EXPECTED_1); + writer.newLine(); + writer.write(EXPECTED_2); + writer.newLine(); + } + + Map propsMap = PropertiesHelper.get(temp); + assertTrue(props.equals(propsMap)); + } + + @Test + public void testIO() throws IOException { + PropertiesHelper.put(props, temp); + Map propsMap = PropertiesHelper.get(temp); + assertTrue(props.equals(propsMap)); + } + + @Test + public void testMultipleEquals() throws IOException { + props.clear(); + final String K = "hello", V = "world=true"; + props.put(K, V); + PropertiesHelper.put(props, temp); + Map propsMap = PropertiesHelper.get(temp); + assertEquals(1, propsMap.size()); + assertEquals(props.get(K), propsMap.get(K)); + } + + @Test + public void testOverwrite() throws IOException { + PropertiesHelper.put(props, temp); + props.put("myname", "jonas"); + PropertiesHelper.put(props, temp); + Map loadedProps = PropertiesHelper.get(temp); + assertEquals(3, loadedProps.size()); + int count = 0; + try (BufferedReader reader = new BufferedReader(new FileReader(temp))) { + String line; + while ((line = reader.readLine()) != null) { + count++; + } + } + assertEquals(3, count); + } +} From e9552bc0fa9115d053dad1376e0627909ac23fb6 Mon Sep 17 00:00:00 2001 From: hinerm Date: Tue, 4 Jun 2024 11:33:09 -0500 Subject: [PATCH 352/383] Bump minor version for new API --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 92b6764a7..468e5842d 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.98.1-SNAPSHOT + 2.99.0-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From d4ab47a1d41d9f7c0e593afb6a7959119c14249e Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 10 Jun 2024 19:37:43 -0500 Subject: [PATCH 353/383] DefaultTask: fix up class javadoc --- src/main/java/org/scijava/task/DefaultTask.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/scijava/task/DefaultTask.java b/src/main/java/org/scijava/task/DefaultTask.java index c14d7ad54..a275c3505 100644 --- a/src/main/java/org/scijava/task/DefaultTask.java +++ b/src/main/java/org/scijava/task/DefaultTask.java @@ -39,9 +39,9 @@ * Default implementation of {@link Task}. Throughout the task (or job), * {@link Task#setProgressValue(long)} can be called to inform * how the job is progressing. - * + *

      * Asynchronous case: - * - A job (runnable) is sent for execution to the linked {@link ThreadService}. + * A job (runnable) is sent for execution to the linked {@link ThreadService}. * It reports status updates via the linked {@link EventService}. * A {@link org.scijava.task.event.TaskEvent} is sent before the job * is started and when finished. @@ -50,9 +50,10 @@ * by calling {@link Future#cancel(boolean)}. * This default behaviour can be supplemented by an additional * custom callback which can be set in {@link Task#setCancelCallBack(Runnable)}. - * + *

      + *

      * Synchronous case: - * - A job that reports its status in between calls of {@link Task#start()}, + * A job that reports its status in between calls of {@link Task#start()}, * and {@link Task#finish()}. It also reports its status via * the linked {@link EventService}. * Start and finish calls allow publishing proper {@link org.scijava.task.event.TaskEvent} @@ -60,8 +61,10 @@ * Upon cancellation of a synchronous task, it is the responsibility * of the synchronous task to handle its own cancellation through * a custom callback which can be set via {@link Task#setCancelCallBack(Runnable)}. + *

      * - * @author Curtis Rueden, Nicolas Chiaruttini + * @author Curtis Rueden + * @author Nicolas Chiaruttini */ public class DefaultTask implements Task { From d476e5cb36ccbf5735742b6b623919ffe3f5bce2 Mon Sep 17 00:00:00 2001 From: Stefan Hahmann Date: Thu, 27 Jun 2024 14:47:29 +0200 Subject: [PATCH 354/383] Ignore empty Strings during String to FileArray conversion * The current state of the code is that an empty String, is converted to a new File("") object with an empty String * A File object instantiated by this will be a File object with an absolute Path that is equivalent to the Path from which the application was started * The result of this is relatively unpredictable * Thus empty String should not be converted to File object and not be added to the output --- src/main/java/org/scijava/convert/FileListConverters.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/org/scijava/convert/FileListConverters.java b/src/main/java/org/scijava/convert/FileListConverters.java index ed3da126e..47a81053c 100644 --- a/src/main/java/org/scijava/convert/FileListConverters.java +++ b/src/main/java/org/scijava/convert/FileListConverters.java @@ -82,6 +82,8 @@ public T convert(final Object src, final Class dest) { final String[] tokens = StringUtils.splitUnquoted((String) src, ","); final List fileList = new ArrayList<>(); for (final String filePath : tokens) { + if ( filePath.isEmpty() ) + continue; fileList.add(new File(filePath.replaceAll("^\"|\"$", ""))); } return (T) fileList.toArray(new File[fileList.size()]); From 8dc4c0e4146f779fd05c068974ad0b450bdc47bf Mon Sep 17 00:00:00 2001 From: Stefan Hahmann Date: Thu, 27 Jun 2024 15:33:44 +0200 Subject: [PATCH 355/383] Add assertion of 0 length File array in case of an empty String provided for String to File Array conversion --- src/test/java/org/scijava/convert/FileListConverterTest.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/test/java/org/scijava/convert/FileListConverterTest.java b/src/test/java/org/scijava/convert/FileListConverterTest.java index 0276fe63a..71afaa2dc 100644 --- a/src/test/java/org/scijava/convert/FileListConverterTest.java +++ b/src/test/java/org/scijava/convert/FileListConverterTest.java @@ -69,6 +69,7 @@ public void testStringToFileArrayConverter() { conv.convert(path, File[].class)[0]); assertEquals("Wrong file name", new File("C:\\temp"), conv.convert(path, File[].class)[1]); + assertEquals( 0, conv.convert( "", File[].class ).length ); } @Test From 00512f5554090cfc878936deb9156712400a44df Mon Sep 17 00:00:00 2001 From: Christian Tischer Date: Thu, 27 Jun 2024 23:46:47 +0200 Subject: [PATCH 356/383] Add FileWidget.FILE_AND_DIRECTORY_STYLE --- pom.xml | 5 +++++ src/main/java/org/scijava/ui/UserInterface.java | 2 ++ src/main/java/org/scijava/widget/FileWidget.java | 7 +++++++ 3 files changed, 14 insertions(+) diff --git a/pom.xml b/pom.xml index 468e5842d..f1b9aec33 100644 --- a/pom.xml +++ b/pom.xml @@ -134,6 +134,11 @@ https://imagej.net/people/jaywarrick jaywarrick + + Christian Tischer + https://imagej.net/people/tischi + tischi + diff --git a/src/main/java/org/scijava/ui/UserInterface.java b/src/main/java/org/scijava/ui/UserInterface.java index 54dbfb767..938a5663a 100644 --- a/src/main/java/org/scijava/ui/UserInterface.java +++ b/src/main/java/org/scijava/ui/UserInterface.java @@ -163,6 +163,7 @@ default File chooseFile(final File file, final String style) { // TODO use a utility class for style handling, e.g. StyleUtils.isStyle(style, ...) if (style == null) title = "Choose a file"; else if (style.toLowerCase().contains(FileWidget.DIRECTORY_STYLE)) title = "Choose a directory"; + else if (style.toLowerCase().contains(FileWidget.FILE_AND_DIRECTORY_STYLE )) title = "Choose a file or directory"; else if (style.toLowerCase().contains(FileWidget.OPEN_STYLE)) title = "Open"; else if (style.toLowerCase().contains(FileWidget.SAVE_STYLE)) title = "Save"; else title = "Choose a file"; @@ -180,6 +181,7 @@ default File chooseFile(final File file, final String style) { *
    9. {@link FileWidget#OPEN_STYLE}
    10. *
    11. {@link FileWidget#SAVE_STYLE}
    12. *
    13. {@link FileWidget#DIRECTORY_STYLE}
    14. + *
    15. {@link FileWidget#FILE_AND_DIRECTORY_STYLE}
    16. * * @return The {@link File} chosen by the user, or null if prompt is not * available diff --git a/src/main/java/org/scijava/widget/FileWidget.java b/src/main/java/org/scijava/widget/FileWidget.java index a4322554d..e72d41c37 100644 --- a/src/main/java/org/scijava/widget/FileWidget.java +++ b/src/main/java/org/scijava/widget/FileWidget.java @@ -59,4 +59,11 @@ public interface FileWidget extends InputWidget { */ String DIRECTORY_STYLE = "directory"; + /** + * Widget style for directory chooser dialogs. + * + * @see org.scijava.plugin.Parameter#style() + */ + String FILE_AND_DIRECTORY_STYLE = "both"; + } From 79a92d832f773bbefe0c8f44da840017b36e5ebb Mon Sep 17 00:00:00 2001 From: Jan Eglinger Date: Mon, 1 Jul 2024 11:20:31 +0200 Subject: [PATCH 357/383] Use WidgetStyle.isStyle for style logic --- src/main/java/org/scijava/ui/UserInterface.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/scijava/ui/UserInterface.java b/src/main/java/org/scijava/ui/UserInterface.java index 938a5663a..f4c6d0c70 100644 --- a/src/main/java/org/scijava/ui/UserInterface.java +++ b/src/main/java/org/scijava/ui/UserInterface.java @@ -41,6 +41,7 @@ import org.scijava.ui.console.ConsolePane; import org.scijava.ui.viewer.DisplayWindow; import org.scijava.widget.FileWidget; +import org.scijava.widget.WidgetStyle; /** * An end-user SciJava application user interface. @@ -160,12 +161,11 @@ DialogPrompt dialogPrompt(String message, String title, default File chooseFile(final File file, final String style) { final String title; // style can be a string with multiple comma-separated keywords - // TODO use a utility class for style handling, e.g. StyleUtils.isStyle(style, ...) if (style == null) title = "Choose a file"; - else if (style.toLowerCase().contains(FileWidget.DIRECTORY_STYLE)) title = "Choose a directory"; - else if (style.toLowerCase().contains(FileWidget.FILE_AND_DIRECTORY_STYLE )) title = "Choose a file or directory"; - else if (style.toLowerCase().contains(FileWidget.OPEN_STYLE)) title = "Open"; - else if (style.toLowerCase().contains(FileWidget.SAVE_STYLE)) title = "Save"; + else if (WidgetStyle.isStyle(style, FileWidget.DIRECTORY_STYLE)) title = "Choose a directory"; + else if (WidgetStyle.isStyle(style, FileWidget.FILE_AND_DIRECTORY_STYLE)) title = "Choose a file or directory"; + else if (WidgetStyle.isStyle(style, FileWidget.OPEN_STYLE)) title = "Open"; + else if (WidgetStyle.isStyle(style, FileWidget.SAVE_STYLE)) title = "Save"; else title = "Choose a file"; return chooseFile(title, file, style); From 88d5fd5ac3e350f7565e8e3db310723e186d0f29 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 8 Jul 2024 12:50:06 -0500 Subject: [PATCH 358/383] Appease the license-maven-plugin --- src/main/java/org/scijava/util/PropertiesHelper.java | 4 ++-- src/test/java/org/scijava/util/PropertiesHelperTest.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/scijava/util/PropertiesHelper.java b/src/main/java/org/scijava/util/PropertiesHelper.java index 64c2336df..f56189d8c 100644 --- a/src/main/java/org/scijava/util/PropertiesHelper.java +++ b/src/main/java/org/scijava/util/PropertiesHelper.java @@ -6,13 +6,13 @@ * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE diff --git a/src/test/java/org/scijava/util/PropertiesHelperTest.java b/src/test/java/org/scijava/util/PropertiesHelperTest.java index f4d655ef8..35202c9f5 100644 --- a/src/test/java/org/scijava/util/PropertiesHelperTest.java +++ b/src/test/java/org/scijava/util/PropertiesHelperTest.java @@ -6,13 +6,13 @@ * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE From 0eb119360bb7f9c946aa98e25cdd01a13b28088d Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 8 Jul 2024 14:27:22 -0500 Subject: [PATCH 359/383] CI: add OSSRH_USER as configured env var We need it now in order to deploy to OSS Sonatype. --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 876a620a3..b11b4f1a2 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -36,5 +36,6 @@ jobs: GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} MAVEN_USER: ${{ secrets.MAVEN_USER }} MAVEN_PASS: ${{ secrets.MAVEN_PASS }} + OSSRH_USER: ${{ secrets.OSSRH_USER }} OSSRH_PASS: ${{ secrets.OSSRH_PASS }} SIGNING_ASC: ${{ secrets.SIGNING_ASC }} From 37abc7e94672532348dc4673f07f60b30293019f Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 8 Jul 2024 14:34:52 -0500 Subject: [PATCH 360/383] Bump to next development cycle Signed-off-by: Curtis Rueden --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 468e5842d..9eece0c91 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.99.0-SNAPSHOT + 2.99.1-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From 3074675da4f3cf27544c8241fe674ae87b73468c Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 16 Jul 2024 10:14:59 -0500 Subject: [PATCH 361/383] If UI is already created, don't createUI() again --- src/main/java/org/scijava/ui/AbstractUserInterface.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/org/scijava/ui/AbstractUserInterface.java b/src/main/java/org/scijava/ui/AbstractUserInterface.java index fd9cc24d1..a3894158b 100644 --- a/src/main/java/org/scijava/ui/AbstractUserInterface.java +++ b/src/main/java/org/scijava/ui/AbstractUserInterface.java @@ -79,6 +79,7 @@ public abstract class AbstractUserInterface extends AbstractRichPlugin @Override public void show() { + if (visible) return; createUI(); visible = true; } From 96827bf5ea2400b605cacad5e6dbf9984441c06f Mon Sep 17 00:00:00 2001 From: hinerm Date: Mon, 22 Jul 2024 10:33:08 -0500 Subject: [PATCH 362/383] Show UI on EDT if required UserInterfaces have a requiresEDT flag. If this is set, the UIService should show them on the EDT when showUI is called. --- .../java/org/scijava/ui/DefaultUIService.java | 24 +++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/scijava/ui/DefaultUIService.java b/src/main/java/org/scijava/ui/DefaultUIService.java index fe787ad5c..ff5663f91 100644 --- a/src/main/java/org/scijava/ui/DefaultUIService.java +++ b/src/main/java/org/scijava/ui/DefaultUIService.java @@ -32,6 +32,7 @@ import java.awt.GraphicsEnvironment; import java.io.File; import java.io.FileFilter; +import java.lang.reflect.InvocationTargetException; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; @@ -161,10 +162,25 @@ public void showUI(final String name) { @Override public void showUI(final UserInterface ui) { log.debug("Launching user interface: " + ui.getClass().getName()); - ui.show(); - // NB: Also show all the current displays. - for (final Display display : displayService.getDisplays()) { - ui.show(display); + Runnable showUI = () -> { + ui.show(); + // NB: Also show all the current displays. + for (final Display display : displayService.getDisplays()) { + ui.show(display); + } + }; + + // Dispatch on EDT if necessary + if (ui.requiresEDT()) { + try { + threadService.invoke(showUI); + } + catch (InterruptedException | InvocationTargetException e) { + throw new RuntimeException(e); + } + } + else { + showUI.run(); } eventService.publish(new UIShownEvent(ui)); } From 055a449826c6a541d84c458575a8497e952d31c6 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 24 Jul 2024 12:00:02 -0500 Subject: [PATCH 363/383] CI: Tweak Linux-only deployment logic --- .github/build.sh | 3 +-- .github/setup.sh | 7 +++++++ .github/workflows/build.yml | 7 ++++--- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/.github/build.sh b/.github/build.sh index 44a7909d1..7da42622b 100755 --- a/.github/build.sh +++ b/.github/build.sh @@ -1,4 +1,3 @@ #!/bin/sh curl -fsLO https://raw.githubusercontent.com/scijava/scijava-scripts/master/ci-build.sh -# NB: Only the Linux CI node should deploy build artifacts. -NO_DEPLOY=$(test "$(uname)" = Linux || echo 1) sh ci-build.sh +sh ci-build.sh diff --git a/.github/setup.sh b/.github/setup.sh index f359bbeeb..d06d5a746 100755 --- a/.github/setup.sh +++ b/.github/setup.sh @@ -1,3 +1,10 @@ #!/bin/sh curl -fsLO https://raw.githubusercontent.com/scijava/scijava-scripts/master/ci-setup-github-actions.sh sh ci-setup-github-actions.sh + +# Let the Linux build handle artifact deployment. +if [ "$(uname)" != Linux ] +then + echo "No deploy -- non-Linux build" + echo "NO_DEPLOY=1" >> $GITHUB_ENV +fi diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b11b4f1a2..64b606407 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,14 +1,14 @@ name: build on: - pull_request: - branches: - - master push: branches: - master tags: - "*-[0-9]+.*" + pull_request: + branches: + - master jobs: build: @@ -28,6 +28,7 @@ jobs: cache: 'maven' - name: Set up CI environment run: .github/setup.sh + shell: bash - name: Execute the build run: .github/build.sh shell: bash From 0d9534095735cb75e06adfe42d902de1ac3d5662 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 27 Aug 2024 10:33:52 -0500 Subject: [PATCH 364/383] LocationService: fall back to FileLocation more Specifically: if the URI resolution returns null, rather than actually returning null, let's wrap the string into a FileLocation as a fallback. See imagej/pyimagej#285. --- .../scijava/io/location/LocationService.java | 5 +++-- .../io/location/LocationServiceTest.java | 19 +++++++++++++++++++ 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/scijava/io/location/LocationService.java b/src/main/java/org/scijava/io/location/LocationService.java index ff29ce6e0..08aa30759 100644 --- a/src/main/java/org/scijava/io/location/LocationService.java +++ b/src/main/java/org/scijava/io/location/LocationService.java @@ -56,14 +56,15 @@ public interface LocationService extends HandlerService, */ default Location resolve(final String uriString) throws URISyntaxException { try { - return resolve(new URI(uriString)); + Location loc = resolve(new URI(uriString)); + if (loc != null) return loc; } catch (final URISyntaxException exc) { // In general, filenames are not valid URI strings. // Particularly on Windows, there are backslashes, which are invalid in URIs. // So we explicitly turn this string into a file if an error happens above. - return resolve(new File(uriString).toURI()); } + return resolve(new File(uriString).toURI()); } /** diff --git a/src/test/java/org/scijava/io/location/LocationServiceTest.java b/src/test/java/org/scijava/io/location/LocationServiceTest.java index cede48501..fb917a694 100644 --- a/src/test/java/org/scijava/io/location/LocationServiceTest.java +++ b/src/test/java/org/scijava/io/location/LocationServiceTest.java @@ -30,6 +30,7 @@ package org.scijava.io.location; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import java.io.File; @@ -43,6 +44,7 @@ * Tests {@link LocationService}. * * @author Gabriel Einsdorf + * @author Curtis Rueden */ public class LocationServiceTest { @@ -60,6 +62,23 @@ public void testResolve() throws URISyntaxException { assertEquals(uri, loc.resolve(uri.toString()).getURI()); } + @Test + public void testResolveWindowsPath() throws URISyntaxException { + final Context ctx = new Context(LocationService.class); + final LocationService loc = ctx.getService(LocationService.class); + + String pSlash = "C:/Windows/FilePath/image.tif"; + final Location locSlash = loc.resolve(pSlash); + assertTrue(locSlash instanceof FileLocation); + + String pBackslash = pSlash.replace('/', '\\'); + final Location locBackslash = loc.resolve(pBackslash); + assertTrue(locBackslash instanceof FileLocation); + + final Location locSlashURI = loc.resolve(new URI(pSlash)); + assertNull(locSlashURI); + } + @Test public void testFallBack() throws URISyntaxException { final Context ctx = new Context(LocationService.class); From f5230f6fce88c268072fb4a55d33544cbb12d011 Mon Sep 17 00:00:00 2001 From: hinerm Date: Tue, 10 Sep 2024 15:07:30 -0500 Subject: [PATCH 365/383] De-duplicate widget inputs by String comparison When populating potential items for an input widget, we now prefer existing objects of a given input type to potentially convertiable types. Further, for convertibles we now avoid considering them if they share a toString with any other potential input. Candidates are prioritized in order returned by ConvertService.getCompatibleInputs. This mitigates the potential for duplicate entries in input harvesters when multiple input instances are convertible to the same effective output instance. --- .../widget/AbstractInputHarvester.java | 26 +++++++++++++++---- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/scijava/widget/AbstractInputHarvester.java b/src/main/java/org/scijava/widget/AbstractInputHarvester.java index 2c259c400..d1515bd17 100644 --- a/src/main/java/org/scijava/widget/AbstractInputHarvester.java +++ b/src/main/java/org/scijava/widget/AbstractInputHarvester.java @@ -30,9 +30,10 @@ package org.scijava.widget; import java.util.ArrayList; -import java.util.HashSet; +import java.util.Collection; import java.util.List; import java.util.Set; +import java.util.stream.Collectors; import org.scijava.AbstractContextual; import org.scijava.convert.ConvertService; @@ -129,9 +130,24 @@ private WidgetModel addInput(final InputPanel inputPanel, /** Asks the object service and convert service for valid choices */ private List getObjects(final Class type) { - Set compatibleInputs = - new HashSet<>(convertService.getCompatibleInputs(type)); - compatibleInputs.addAll(objectService.getObjects(type)); - return new ArrayList<>(compatibleInputs); + // Start with the known, unconverted objects of the desired type + List objects = new ArrayList<>(objectService.getObjects(type)); + + // Get all the known objects that can be converted to the destination type + Collection compatibleInputs = convertService.getCompatibleInputs(type); + + // HACK: Add each convertible object that doesn't share a name with any other object + // Our goal here is to de-duplicate by avoiding similar inputs that could be converted + // to the same effective output (e.g. an ImageDisplay and a Dataset that map to the same + // ImgPlus) + Set knownNames = objects.stream().map(Object::toString).collect(Collectors.toSet()); + for (Object o : compatibleInputs) { + final String s = o.toString(); + if (!knownNames.contains(s)) { + objects.add(o); + knownNames.add(s); + } + } + return objects; } } From 7ac4926d72f3ce3051787629a021d5f3f3adfdf2 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 15 Oct 2024 15:12:32 -0500 Subject: [PATCH 366/383] ShadowMenu: load icon resources more robustly The Types.load method may not use the correct class loader. --- src/main/java/org/scijava/menu/ShadowMenu.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/scijava/menu/ShadowMenu.java b/src/main/java/org/scijava/menu/ShadowMenu.java index f6b6e53db..ce5d8e3cc 100644 --- a/src/main/java/org/scijava/menu/ShadowMenu.java +++ b/src/main/java/org/scijava/menu/ShadowMenu.java @@ -230,9 +230,8 @@ public URL getIconURL() { if (isLeaf()) iconPath = DEFAULT_ICON_PATH; else return null; } - final String className = moduleInfo.getDelegateClassName(); try { - final Class c = Types.load(className, false); + final Class c = moduleInfo.loadDelegateClass(); final URL iconURL = c.getResource(iconPath); if (iconURL == null) { if (log != null) log.error("Could not load icon: " + iconPath); @@ -240,7 +239,8 @@ public URL getIconURL() { return iconURL; } catch (final IllegalArgumentException exc) { - final String message = "Could not load icon for class: " + className; + final String message = "Could not load icon for class: " + + moduleInfo.getDelegateClassName(); if (log.isDebug()) log.debug(message, exc); else log.error(message); return null; From 1b25c5802e42d1061645b3597c18242cfda3b879 Mon Sep 17 00:00:00 2001 From: hinerm Date: Tue, 3 Dec 2024 10:28:10 -0600 Subject: [PATCH 367/383] ShadowMenu: fix compilation error --- src/main/java/org/scijava/menu/ShadowMenu.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main/java/org/scijava/menu/ShadowMenu.java b/src/main/java/org/scijava/menu/ShadowMenu.java index ce5d8e3cc..f97ab4800 100644 --- a/src/main/java/org/scijava/menu/ShadowMenu.java +++ b/src/main/java/org/scijava/menu/ShadowMenu.java @@ -238,6 +238,13 @@ public URL getIconURL() { } return iconURL; } + catch (final ClassNotFoundException exc) { + final String message = "Failed to load class: " + + moduleInfo.getDelegateClassName(); + if (log.isDebug()) log.debug(message, exc); + else log.error(message); + return null; + } catch (final IllegalArgumentException exc) { final String message = "Could not load icon for class: " + moduleInfo.getDelegateClassName(); From dbd6ce5c83b2379d07d530350382b6bf448624bf Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 12 May 2025 16:31:33 -0500 Subject: [PATCH 368/383] Improve native classifier regex * Handle more architecture labels including arm64. * Recognize both macosx and macos as OS prefixes. --- src/main/java/org/scijava/util/FileUtils.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/scijava/util/FileUtils.java b/src/main/java/org/scijava/util/FileUtils.java index 73099aacc..f98e76f69 100644 --- a/src/main/java/org/scijava/util/FileUtils.java +++ b/src/main/java/org/scijava/util/FileUtils.java @@ -729,8 +729,9 @@ private static String classifiers() { "sources", "javadoc", "natives?-?\\w*", - "(natives-)?(android|linux|macosx|solaris|windows)-" + - "(aarch64|amd64|arm|armv6|armv6hf|i586|universal|x86|x86_64)", + "(natives-)?(android|linux|macosx|macos|solaris|windows)-" + + "(aarch64|amd64|arm64|armv6hf|armv6|arm|" + + "i386|i486|i586|i686|universal|x86[_-]32|x86[_-]64|x86)", }; final StringBuilder sb = new StringBuilder("("); for (final String classifier : classifiers) { From 4fc2b14f72ac173827764bcfbd756a820a72b87f Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 12 May 2025 16:32:35 -0500 Subject: [PATCH 369/383] Update copyright blurbs for 2025 --- src/it/apt-test/pom.xml | 2 +- src/it/apt-test/setup.bsh | 2 +- .../src/main/java/org/scijava/annotation/its/Annotated.java | 2 +- .../main/java/org/scijava/annotation/its/CustomAnnotation.java | 2 +- src/it/apt-test/verify.bsh | 2 +- src/it/settings.xml | 2 +- src/main/java/org/scijava/AbstractBasicDetails.java | 2 +- src/main/java/org/scijava/AbstractContextual.java | 2 +- src/main/java/org/scijava/AbstractGateway.java | 2 +- src/main/java/org/scijava/AbstractUIDetails.java | 2 +- src/main/java/org/scijava/BasicDetails.java | 2 +- src/main/java/org/scijava/Cancelable.java | 2 +- src/main/java/org/scijava/Context.java | 2 +- src/main/java/org/scijava/Contextual.java | 2 +- src/main/java/org/scijava/Disposable.java | 2 +- src/main/java/org/scijava/Gateway.java | 2 +- src/main/java/org/scijava/Identifiable.java | 2 +- src/main/java/org/scijava/Initializable.java | 2 +- src/main/java/org/scijava/Instantiable.java | 2 +- src/main/java/org/scijava/InstantiableException.java | 2 +- src/main/java/org/scijava/ItemIO.java | 2 +- src/main/java/org/scijava/ItemVisibility.java | 2 +- src/main/java/org/scijava/Locatable.java | 2 +- src/main/java/org/scijava/MenuEntry.java | 2 +- src/main/java/org/scijava/MenuPath.java | 2 +- src/main/java/org/scijava/Named.java | 2 +- src/main/java/org/scijava/NoSuchServiceException.java | 2 +- src/main/java/org/scijava/NullContextException.java | 2 +- src/main/java/org/scijava/Optional.java | 2 +- src/main/java/org/scijava/Prioritized.java | 2 +- src/main/java/org/scijava/Priority.java | 2 +- src/main/java/org/scijava/SciJava.java | 2 +- src/main/java/org/scijava/Typed.java | 2 +- src/main/java/org/scijava/UIDetails.java | 2 +- src/main/java/org/scijava/Validated.java | 2 +- src/main/java/org/scijava/ValidityProblem.java | 2 +- src/main/java/org/scijava/Versioned.java | 2 +- src/main/java/org/scijava/annotations/AbstractIndexWriter.java | 2 +- src/main/java/org/scijava/annotations/AnnotationCombiner.java | 2 +- src/main/java/org/scijava/annotations/AnnotationProcessor.java | 2 +- src/main/java/org/scijava/annotations/ByteCodeAnalyzer.java | 2 +- src/main/java/org/scijava/annotations/DirectoryIndexer.java | 2 +- src/main/java/org/scijava/annotations/EclipseHelper.java | 2 +- src/main/java/org/scijava/annotations/Index.java | 2 +- src/main/java/org/scijava/annotations/IndexItem.java | 2 +- src/main/java/org/scijava/annotations/IndexReader.java | 2 +- src/main/java/org/scijava/annotations/Indexable.java | 2 +- src/main/java/org/scijava/annotations/legacy/LegacyReader.java | 2 +- src/main/java/org/scijava/app/AbstractApp.java | 2 +- src/main/java/org/scijava/app/App.java | 2 +- src/main/java/org/scijava/app/AppService.java | 2 +- src/main/java/org/scijava/app/DefaultAppService.java | 2 +- src/main/java/org/scijava/app/DefaultStatusService.java | 2 +- src/main/java/org/scijava/app/SciJavaApp.java | 2 +- src/main/java/org/scijava/app/StatusService.java | 2 +- src/main/java/org/scijava/app/event/StatusEvent.java | 2 +- src/main/java/org/scijava/cache/CacheService.java | 2 +- src/main/java/org/scijava/cache/DefaultCacheService.java | 2 +- src/main/java/org/scijava/command/Command.java | 2 +- src/main/java/org/scijava/command/CommandInfo.java | 2 +- src/main/java/org/scijava/command/CommandModule.java | 2 +- src/main/java/org/scijava/command/CommandModuleItem.java | 2 +- src/main/java/org/scijava/command/CommandService.java | 2 +- src/main/java/org/scijava/command/ContextCommand.java | 2 +- src/main/java/org/scijava/command/DefaultCommandService.java | 2 +- src/main/java/org/scijava/command/DynamicCommand.java | 2 +- src/main/java/org/scijava/command/DynamicCommandInfo.java | 2 +- src/main/java/org/scijava/command/Inputs.java | 2 +- src/main/java/org/scijava/command/Interactive.java | 2 +- src/main/java/org/scijava/command/InteractiveCommand.java | 2 +- src/main/java/org/scijava/command/ModuleCommand.java | 2 +- src/main/java/org/scijava/command/Previewable.java | 2 +- src/main/java/org/scijava/command/UnimplementedCommand.java | 2 +- src/main/java/org/scijava/command/console/RunArgument.java | 2 +- src/main/java/org/scijava/command/run/CommandCodeRunner.java | 2 +- src/main/java/org/scijava/console/AbstractConsoleArgument.java | 2 +- src/main/java/org/scijava/console/ConsoleArgument.java | 2 +- src/main/java/org/scijava/console/ConsoleService.java | 2 +- src/main/java/org/scijava/console/ConsoleUtils.java | 2 +- src/main/java/org/scijava/console/DefaultConsoleService.java | 2 +- src/main/java/org/scijava/console/MultiOutputStream.java | 2 +- src/main/java/org/scijava/console/MultiPrintStream.java | 2 +- src/main/java/org/scijava/console/OutputEvent.java | 2 +- src/main/java/org/scijava/console/OutputListener.java | 2 +- src/main/java/org/scijava/console/SystemPropertyArgument.java | 2 +- src/main/java/org/scijava/convert/AbstractConvertService.java | 2 +- src/main/java/org/scijava/convert/AbstractConverter.java | 2 +- .../java/org/scijava/convert/AbstractDelegateConverter.java | 2 +- src/main/java/org/scijava/convert/ArrayConverters.java | 2 +- src/main/java/org/scijava/convert/ArrayToStringConverter.java | 2 +- src/main/java/org/scijava/convert/CastingConverter.java | 2 +- src/main/java/org/scijava/convert/ConversionRequest.java | 2 +- src/main/java/org/scijava/convert/ConvertService.java | 2 +- src/main/java/org/scijava/convert/Converter.java | 2 +- src/main/java/org/scijava/convert/DefaultConvertService.java | 2 +- src/main/java/org/scijava/convert/DefaultConverter.java | 2 +- src/main/java/org/scijava/convert/FileListConverters.java | 2 +- src/main/java/org/scijava/convert/FileToPathConverter.java | 2 +- src/main/java/org/scijava/convert/NullConverter.java | 2 +- src/main/java/org/scijava/convert/NumberConverters.java | 2 +- .../java/org/scijava/convert/NumberToBigDecimalConverter.java | 2 +- .../java/org/scijava/convert/NumberToBigIntegerConverter.java | 2 +- src/main/java/org/scijava/convert/NumberToDoubleConverter.java | 2 +- src/main/java/org/scijava/convert/NumberToFloatConverter.java | 2 +- src/main/java/org/scijava/convert/NumberToIntegerConverter.java | 2 +- src/main/java/org/scijava/convert/NumberToLongConverter.java | 2 +- src/main/java/org/scijava/convert/NumberToNumberConverter.java | 2 +- src/main/java/org/scijava/convert/NumberToShortConverter.java | 2 +- src/main/java/org/scijava/convert/PathToFileConverter.java | 2 +- src/main/java/org/scijava/convert/PrimitiveArrayUnwrapper.java | 2 +- src/main/java/org/scijava/convert/PrimitiveArrayWrapper.java | 2 +- src/main/java/org/scijava/convert/StringToArrayConverter.java | 2 +- src/main/java/org/scijava/convert/StringToNumberConverter.java | 2 +- src/main/java/org/scijava/display/AbstractDisplay.java | 2 +- .../java/org/scijava/display/ActiveDisplayPreprocessor.java | 2 +- src/main/java/org/scijava/display/DefaultDisplay.java | 2 +- src/main/java/org/scijava/display/DefaultDisplayService.java | 2 +- src/main/java/org/scijava/display/DefaultTextDisplay.java | 2 +- src/main/java/org/scijava/display/Display.java | 2 +- src/main/java/org/scijava/display/DisplayPostprocessor.java | 2 +- src/main/java/org/scijava/display/DisplayService.java | 2 +- src/main/java/org/scijava/display/Displayable.java | 2 +- src/main/java/org/scijava/display/TextDisplay.java | 2 +- .../java/org/scijava/display/event/DisplayActivatedEvent.java | 2 +- .../java/org/scijava/display/event/DisplayCreatedEvent.java | 2 +- .../java/org/scijava/display/event/DisplayDeletedEvent.java | 2 +- src/main/java/org/scijava/display/event/DisplayEvent.java | 2 +- .../java/org/scijava/display/event/DisplayUpdatedEvent.java | 2 +- src/main/java/org/scijava/display/event/input/InputEvent.java | 2 +- src/main/java/org/scijava/display/event/input/KyEvent.java | 2 +- .../java/org/scijava/display/event/input/KyPressedEvent.java | 2 +- .../java/org/scijava/display/event/input/KyReleasedEvent.java | 2 +- src/main/java/org/scijava/display/event/input/KyTypedEvent.java | 2 +- .../java/org/scijava/display/event/input/MsButtonEvent.java | 2 +- .../java/org/scijava/display/event/input/MsClickedEvent.java | 2 +- .../java/org/scijava/display/event/input/MsDraggedEvent.java | 2 +- .../java/org/scijava/display/event/input/MsEnteredEvent.java | 2 +- src/main/java/org/scijava/display/event/input/MsEvent.java | 2 +- .../java/org/scijava/display/event/input/MsExitedEvent.java | 2 +- src/main/java/org/scijava/display/event/input/MsMovedEvent.java | 2 +- .../java/org/scijava/display/event/input/MsPressedEvent.java | 2 +- .../java/org/scijava/display/event/input/MsReleasedEvent.java | 2 +- src/main/java/org/scijava/display/event/input/MsWheelEvent.java | 2 +- .../org/scijava/display/event/window/WinActivatedEvent.java | 2 +- .../java/org/scijava/display/event/window/WinClosedEvent.java | 2 +- .../java/org/scijava/display/event/window/WinClosingEvent.java | 2 +- .../org/scijava/display/event/window/WinDeactivatedEvent.java | 2 +- .../org/scijava/display/event/window/WinDeiconifiedEvent.java | 2 +- src/main/java/org/scijava/display/event/window/WinEvent.java | 2 +- .../org/scijava/display/event/window/WinIconifiedEvent.java | 2 +- .../java/org/scijava/display/event/window/WinOpenedEvent.java | 2 +- src/main/java/org/scijava/download/DefaultDownloadService.java | 2 +- src/main/java/org/scijava/download/DiskLocationCache.java | 2 +- src/main/java/org/scijava/download/Download.java | 2 +- src/main/java/org/scijava/download/DownloadService.java | 2 +- src/main/java/org/scijava/download/LocationCache.java | 2 +- src/main/java/org/scijava/download/MultiWriteHandle.java | 2 +- src/main/java/org/scijava/event/ContextCreatedEvent.java | 2 +- src/main/java/org/scijava/event/ContextDisposingEvent.java | 2 +- src/main/java/org/scijava/event/DefaultEventBus.java | 2 +- src/main/java/org/scijava/event/DefaultEventHistory.java | 2 +- src/main/java/org/scijava/event/DefaultEventService.java | 2 +- src/main/java/org/scijava/event/EventDetails.java | 2 +- src/main/java/org/scijava/event/EventHandler.java | 2 +- src/main/java/org/scijava/event/EventHistory.java | 2 +- src/main/java/org/scijava/event/EventHistoryListener.java | 2 +- src/main/java/org/scijava/event/EventService.java | 2 +- src/main/java/org/scijava/event/EventSubscriber.java | 2 +- src/main/java/org/scijava/event/SciJavaEvent.java | 2 +- src/main/java/org/scijava/input/Accelerator.java | 2 +- src/main/java/org/scijava/input/DefaultInputService.java | 2 +- src/main/java/org/scijava/input/InputModifiers.java | 2 +- src/main/java/org/scijava/input/InputService.java | 2 +- src/main/java/org/scijava/input/KeyCode.java | 2 +- src/main/java/org/scijava/input/MouseCursor.java | 2 +- src/main/java/org/scijava/io/AbstractIOPlugin.java | 2 +- src/main/java/org/scijava/io/AbstractTypedIOService.java | 2 +- src/main/java/org/scijava/io/ByteArrayByteBank.java | 2 +- src/main/java/org/scijava/io/ByteBank.java | 2 +- src/main/java/org/scijava/io/DefaultIOService.java | 2 +- src/main/java/org/scijava/io/DefaultRecentFileService.java | 2 +- src/main/java/org/scijava/io/IOPlugin.java | 2 +- src/main/java/org/scijava/io/IOService.java | 2 +- src/main/java/org/scijava/io/RecentFileService.java | 2 +- src/main/java/org/scijava/io/TypedIOService.java | 2 +- src/main/java/org/scijava/io/console/OpenArgument.java | 2 +- src/main/java/org/scijava/io/event/DataOpenedEvent.java | 2 +- src/main/java/org/scijava/io/event/DataSavedEvent.java | 2 +- src/main/java/org/scijava/io/event/IOEvent.java | 2 +- src/main/java/org/scijava/io/handle/AbstractDataHandle.java | 2 +- .../java/org/scijava/io/handle/AbstractHigherOrderHandle.java | 2 +- .../org/scijava/io/handle/AbstractSeekableStreamHandle.java | 2 +- src/main/java/org/scijava/io/handle/AbstractStreamHandle.java | 2 +- src/main/java/org/scijava/io/handle/BytesHandle.java | 2 +- src/main/java/org/scijava/io/handle/DataHandle.java | 2 +- src/main/java/org/scijava/io/handle/DataHandleInputStream.java | 2 +- src/main/java/org/scijava/io/handle/DataHandleOutputStream.java | 2 +- src/main/java/org/scijava/io/handle/DataHandleService.java | 2 +- src/main/java/org/scijava/io/handle/DataHandles.java | 2 +- .../java/org/scijava/io/handle/DefaultDataHandleService.java | 2 +- src/main/java/org/scijava/io/handle/DummyHandle.java | 2 +- src/main/java/org/scijava/io/handle/FileHandle.java | 2 +- src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java | 2 +- src/main/java/org/scijava/io/handle/ResettableStreamHandle.java | 2 +- src/main/java/org/scijava/io/handle/SeekableStreamHandle.java | 2 +- src/main/java/org/scijava/io/handle/StreamHandle.java | 2 +- src/main/java/org/scijava/io/handle/WriteBufferDataHandle.java | 2 +- src/main/java/org/scijava/io/location/AbstractLocation.java | 2 +- .../java/org/scijava/io/location/AbstractLocationResolver.java | 2 +- .../java/org/scijava/io/location/AbstractRemoteLocation.java | 2 +- src/main/java/org/scijava/io/location/BrowsableLocation.java | 2 +- src/main/java/org/scijava/io/location/BytesLocation.java | 2 +- .../java/org/scijava/io/location/DefaultLocationService.java | 2 +- src/main/java/org/scijava/io/location/DummyLocation.java | 2 +- src/main/java/org/scijava/io/location/FileLocation.java | 2 +- src/main/java/org/scijava/io/location/FileLocationResolver.java | 2 +- src/main/java/org/scijava/io/location/Location.java | 2 +- src/main/java/org/scijava/io/location/LocationResolver.java | 2 +- src/main/java/org/scijava/io/location/LocationService.java | 2 +- src/main/java/org/scijava/io/location/RemoteLocation.java | 2 +- src/main/java/org/scijava/io/location/URILocation.java | 2 +- src/main/java/org/scijava/io/location/URLLocation.java | 2 +- src/main/java/org/scijava/io/nio/ByteBufferByteBank.java | 2 +- src/main/java/org/scijava/io/nio/DefaultNIOService.java | 2 +- src/main/java/org/scijava/io/nio/NIOService.java | 2 +- src/main/java/org/scijava/log/AbstractLogService.java | 2 +- src/main/java/org/scijava/log/CallingClassUtils.java | 2 +- src/main/java/org/scijava/log/DefaultLogger.java | 2 +- .../java/org/scijava/log/DefaultUncaughtExceptionHandler.java | 2 +- src/main/java/org/scijava/log/IgnoreAsCallingClass.java | 2 +- src/main/java/org/scijava/log/LogLevel.java | 2 +- src/main/java/org/scijava/log/LogListener.java | 2 +- src/main/java/org/scijava/log/LogMessage.java | 2 +- src/main/java/org/scijava/log/LogService.java | 2 +- src/main/java/org/scijava/log/LogSource.java | 2 +- src/main/java/org/scijava/log/Logged.java | 2 +- src/main/java/org/scijava/log/Logger.java | 2 +- src/main/java/org/scijava/log/StderrLogService.java | 2 +- src/main/java/org/scijava/main/DefaultMainService.java | 2 +- src/main/java/org/scijava/main/MainService.java | 2 +- src/main/java/org/scijava/main/console/MainArgument.java | 2 +- src/main/java/org/scijava/main/run/MainCodeRunner.java | 2 +- src/main/java/org/scijava/menu/AbstractMenuCreator.java | 2 +- src/main/java/org/scijava/menu/DefaultMenuService.java | 2 +- src/main/java/org/scijava/menu/MenuConstants.java | 2 +- src/main/java/org/scijava/menu/MenuCreator.java | 2 +- src/main/java/org/scijava/menu/MenuService.java | 2 +- src/main/java/org/scijava/menu/ShadowMenu.java | 2 +- src/main/java/org/scijava/menu/ShadowMenuIterator.java | 2 +- src/main/java/org/scijava/menu/event/MenuEvent.java | 2 +- src/main/java/org/scijava/menu/event/MenusAddedEvent.java | 2 +- src/main/java/org/scijava/menu/event/MenusRemovedEvent.java | 2 +- src/main/java/org/scijava/menu/event/MenusUpdatedEvent.java | 2 +- src/main/java/org/scijava/module/AbstractModule.java | 2 +- src/main/java/org/scijava/module/AbstractModuleInfo.java | 2 +- src/main/java/org/scijava/module/AbstractModuleItem.java | 2 +- src/main/java/org/scijava/module/DefaultModuleService.java | 2 +- src/main/java/org/scijava/module/DefaultMutableModule.java | 2 +- src/main/java/org/scijava/module/DefaultMutableModuleInfo.java | 2 +- src/main/java/org/scijava/module/DefaultMutableModuleItem.java | 2 +- src/main/java/org/scijava/module/MethodCallException.java | 2 +- src/main/java/org/scijava/module/MethodRef.java | 2 +- src/main/java/org/scijava/module/Module.java | 2 +- src/main/java/org/scijava/module/ModuleCanceledException.java | 2 +- src/main/java/org/scijava/module/ModuleException.java | 2 +- src/main/java/org/scijava/module/ModuleIndex.java | 2 +- src/main/java/org/scijava/module/ModuleInfo.java | 2 +- src/main/java/org/scijava/module/ModuleItem.java | 2 +- src/main/java/org/scijava/module/ModuleRunner.java | 2 +- src/main/java/org/scijava/module/ModuleService.java | 2 +- src/main/java/org/scijava/module/MutableModule.java | 2 +- src/main/java/org/scijava/module/MutableModuleInfo.java | 2 +- src/main/java/org/scijava/module/MutableModuleItem.java | 2 +- src/main/java/org/scijava/module/event/ModuleCanceledEvent.java | 2 +- src/main/java/org/scijava/module/event/ModuleErroredEvent.java | 2 +- src/main/java/org/scijava/module/event/ModuleEvent.java | 2 +- src/main/java/org/scijava/module/event/ModuleExecutedEvent.java | 2 +- .../java/org/scijava/module/event/ModuleExecutingEvent.java | 2 +- .../java/org/scijava/module/event/ModuleExecutionEvent.java | 2 +- src/main/java/org/scijava/module/event/ModuleFinishedEvent.java | 2 +- .../java/org/scijava/module/event/ModulePostprocessEvent.java | 2 +- .../java/org/scijava/module/event/ModulePreprocessEvent.java | 2 +- src/main/java/org/scijava/module/event/ModuleProcessEvent.java | 2 +- src/main/java/org/scijava/module/event/ModuleStartedEvent.java | 2 +- src/main/java/org/scijava/module/event/ModulesAddedEvent.java | 2 +- src/main/java/org/scijava/module/event/ModulesListEvent.java | 2 +- src/main/java/org/scijava/module/event/ModulesRemovedEvent.java | 2 +- src/main/java/org/scijava/module/event/ModulesUpdatedEvent.java | 2 +- .../org/scijava/module/process/AbstractPostprocessorPlugin.java | 2 +- .../org/scijava/module/process/AbstractPreprocessorPlugin.java | 2 +- .../scijava/module/process/AbstractSingleInputPreprocessor.java | 2 +- .../org/scijava/module/process/CheckInputsPreprocessor.java | 2 +- .../java/org/scijava/module/process/DebugPostprocessor.java | 2 +- src/main/java/org/scijava/module/process/DebugPreprocessor.java | 2 +- .../org/scijava/module/process/DefaultValuePreprocessor.java | 2 +- .../java/org/scijava/module/process/GatewayPreprocessor.java | 2 +- src/main/java/org/scijava/module/process/InitPreprocessor.java | 2 +- .../java/org/scijava/module/process/LoadInputsPreprocessor.java | 2 +- .../java/org/scijava/module/process/LoggerPreprocessor.java | 2 +- .../java/org/scijava/module/process/ModulePostprocessor.java | 2 +- .../java/org/scijava/module/process/ModulePreprocessor.java | 2 +- src/main/java/org/scijava/module/process/ModuleProcessor.java | 2 +- .../java/org/scijava/module/process/PostprocessorPlugin.java | 2 +- .../java/org/scijava/module/process/PreprocessorPlugin.java | 2 +- .../java/org/scijava/module/process/SaveInputsPreprocessor.java | 2 +- .../java/org/scijava/module/process/ServicePreprocessor.java | 2 +- .../java/org/scijava/module/process/ValidityPreprocessor.java | 2 +- src/main/java/org/scijava/module/run/ModuleCodeRunner.java | 2 +- src/main/java/org/scijava/object/DefaultObjectService.java | 2 +- src/main/java/org/scijava/object/LazyObjects.java | 2 +- src/main/java/org/scijava/object/NamedObjectIndex.java | 2 +- src/main/java/org/scijava/object/ObjectIndex.java | 2 +- src/main/java/org/scijava/object/ObjectService.java | 2 +- src/main/java/org/scijava/object/SortedObjectIndex.java | 2 +- src/main/java/org/scijava/object/event/ListEvent.java | 2 +- src/main/java/org/scijava/object/event/ObjectCreatedEvent.java | 2 +- src/main/java/org/scijava/object/event/ObjectDeletedEvent.java | 2 +- src/main/java/org/scijava/object/event/ObjectEvent.java | 2 +- src/main/java/org/scijava/object/event/ObjectModifiedEvent.java | 2 +- src/main/java/org/scijava/object/event/ObjectsAddedEvent.java | 2 +- src/main/java/org/scijava/object/event/ObjectsListEvent.java | 2 +- src/main/java/org/scijava/object/event/ObjectsRemovedEvent.java | 2 +- src/main/java/org/scijava/options/DefaultOptionsService.java | 2 +- src/main/java/org/scijava/options/OptionsPlugin.java | 2 +- src/main/java/org/scijava/options/OptionsService.java | 2 +- src/main/java/org/scijava/options/event/OptionsEvent.java | 2 +- src/main/java/org/scijava/parse/DefaultParseService.java | 2 +- src/main/java/org/scijava/parse/Item.java | 2 +- src/main/java/org/scijava/parse/Items.java | 2 +- src/main/java/org/scijava/parse/ParseService.java | 2 +- src/main/java/org/scijava/platform/AbstractPlatform.java | 2 +- src/main/java/org/scijava/platform/AppEventService.java | 2 +- src/main/java/org/scijava/platform/DefaultAppEventService.java | 2 +- src/main/java/org/scijava/platform/DefaultPlatform.java | 2 +- src/main/java/org/scijava/platform/DefaultPlatformService.java | 2 +- src/main/java/org/scijava/platform/Platform.java | 2 +- src/main/java/org/scijava/platform/PlatformService.java | 2 +- src/main/java/org/scijava/platform/event/AppAboutEvent.java | 2 +- src/main/java/org/scijava/platform/event/AppFocusEvent.java | 2 +- .../java/org/scijava/platform/event/AppMenusCreatedEvent.java | 2 +- src/main/java/org/scijava/platform/event/AppOpenFilesEvent.java | 2 +- .../java/org/scijava/platform/event/AppPreferencesEvent.java | 2 +- src/main/java/org/scijava/platform/event/AppPrintEvent.java | 2 +- src/main/java/org/scijava/platform/event/AppQuitEvent.java | 2 +- src/main/java/org/scijava/platform/event/AppReOpenEvent.java | 2 +- .../java/org/scijava/platform/event/AppScreenSleepEvent.java | 2 +- src/main/java/org/scijava/platform/event/AppSleepEvent.java | 2 +- .../java/org/scijava/platform/event/AppSystemSleepEvent.java | 2 +- .../java/org/scijava/platform/event/AppUserSessionEvent.java | 2 +- src/main/java/org/scijava/platform/event/AppVisibleEvent.java | 2 +- src/main/java/org/scijava/platform/event/ApplicationEvent.java | 2 +- src/main/java/org/scijava/plugin/AbstractHandlerPlugin.java | 2 +- src/main/java/org/scijava/plugin/AbstractHandlerService.java | 2 +- src/main/java/org/scijava/plugin/AbstractPTService.java | 2 +- src/main/java/org/scijava/plugin/AbstractRichPlugin.java | 2 +- src/main/java/org/scijava/plugin/AbstractSingletonService.java | 2 +- src/main/java/org/scijava/plugin/AbstractTypedPlugin.java | 2 +- src/main/java/org/scijava/plugin/AbstractTypedService.java | 2 +- src/main/java/org/scijava/plugin/AbstractWrapperPlugin.java | 2 +- src/main/java/org/scijava/plugin/AbstractWrapperService.java | 2 +- src/main/java/org/scijava/plugin/Attr.java | 2 +- src/main/java/org/scijava/plugin/DefaultPluginFinder.java | 2 +- src/main/java/org/scijava/plugin/DefaultPluginService.java | 2 +- src/main/java/org/scijava/plugin/HandlerPlugin.java | 2 +- src/main/java/org/scijava/plugin/HandlerService.java | 2 +- src/main/java/org/scijava/plugin/HasPluginInfo.java | 2 +- src/main/java/org/scijava/plugin/Menu.java | 2 +- src/main/java/org/scijava/plugin/PTService.java | 2 +- src/main/java/org/scijava/plugin/Parameter.java | 2 +- src/main/java/org/scijava/plugin/Plugin.java | 2 +- src/main/java/org/scijava/plugin/PluginFinder.java | 2 +- src/main/java/org/scijava/plugin/PluginIndex.java | 2 +- src/main/java/org/scijava/plugin/PluginInfo.java | 2 +- src/main/java/org/scijava/plugin/PluginService.java | 2 +- src/main/java/org/scijava/plugin/RichPlugin.java | 2 +- src/main/java/org/scijava/plugin/SciJavaPlugin.java | 2 +- src/main/java/org/scijava/plugin/SingletonPlugin.java | 2 +- src/main/java/org/scijava/plugin/SingletonService.java | 2 +- src/main/java/org/scijava/plugin/SortablePlugin.java | 2 +- src/main/java/org/scijava/plugin/TypedPlugin.java | 2 +- src/main/java/org/scijava/plugin/TypedService.java | 2 +- src/main/java/org/scijava/plugin/WrapperPlugin.java | 2 +- src/main/java/org/scijava/plugin/WrapperService.java | 2 +- src/main/java/org/scijava/plugin/event/PluginsAddedEvent.java | 2 +- src/main/java/org/scijava/plugin/event/PluginsListEvent.java | 2 +- src/main/java/org/scijava/plugin/event/PluginsRemovedEvent.java | 2 +- src/main/java/org/scijava/prefs/AbstractPrefService.java | 2 +- src/main/java/org/scijava/prefs/DefaultPrefService.java | 2 +- src/main/java/org/scijava/prefs/PrefService.java | 2 +- src/main/java/org/scijava/run/AbstractCodeRunner.java | 2 +- src/main/java/org/scijava/run/CodeRunner.java | 2 +- src/main/java/org/scijava/run/DefaultRunService.java | 2 +- src/main/java/org/scijava/run/RunService.java | 2 +- src/main/java/org/scijava/run/console/RunArgument.java | 2 +- src/main/java/org/scijava/script/AbstractAutoCompleter.java | 2 +- src/main/java/org/scijava/script/AbstractScriptContext.java | 2 +- src/main/java/org/scijava/script/AbstractScriptEngine.java | 2 +- src/main/java/org/scijava/script/AbstractScriptHeader.java | 2 +- src/main/java/org/scijava/script/AbstractScriptLanguage.java | 2 +- src/main/java/org/scijava/script/AdaptedScriptEngine.java | 2 +- src/main/java/org/scijava/script/AdaptedScriptLanguage.java | 2 +- src/main/java/org/scijava/script/AutoCompleter.java | 2 +- src/main/java/org/scijava/script/AutoCompletionResult.java | 2 +- src/main/java/org/scijava/script/CodeGenerator.java | 2 +- src/main/java/org/scijava/script/CodeGeneratorJava.java | 2 +- src/main/java/org/scijava/script/DefaultAutoCompleter.java | 2 +- .../java/org/scijava/script/DefaultScriptHeaderService.java | 2 +- src/main/java/org/scijava/script/DefaultScriptInterpreter.java | 2 +- src/main/java/org/scijava/script/DefaultScriptService.java | 2 +- src/main/java/org/scijava/script/InvocationObject.java | 2 +- src/main/java/org/scijava/script/ParameterObject.java | 2 +- src/main/java/org/scijava/script/ScriptCLI.java | 2 +- src/main/java/org/scijava/script/ScriptFinder.java | 2 +- src/main/java/org/scijava/script/ScriptHeader.java | 2 +- src/main/java/org/scijava/script/ScriptHeaderService.java | 2 +- src/main/java/org/scijava/script/ScriptInfo.java | 2 +- src/main/java/org/scijava/script/ScriptInterpreter.java | 2 +- src/main/java/org/scijava/script/ScriptLanguage.java | 2 +- src/main/java/org/scijava/script/ScriptLanguageIndex.java | 2 +- src/main/java/org/scijava/script/ScriptModule.java | 2 +- src/main/java/org/scijava/script/ScriptREPL.java | 2 +- src/main/java/org/scijava/script/ScriptService.java | 2 +- src/main/java/org/scijava/script/console/RunScriptArgument.java | 2 +- src/main/java/org/scijava/script/io/ScriptIOPlugin.java | 2 +- .../scijava/script/process/DefaultScriptProcessorService.java | 2 +- .../org/scijava/script/process/DirectiveScriptProcessor.java | 2 +- .../org/scijava/script/process/ParameterScriptProcessor.java | 2 +- src/main/java/org/scijava/script/process/ScriptCallback.java | 2 +- .../scijava/script/process/ScriptDirectiveScriptProcessor.java | 2 +- src/main/java/org/scijava/script/process/ScriptProcessor.java | 2 +- .../java/org/scijava/script/process/ScriptProcessorService.java | 2 +- .../java/org/scijava/script/process/ShebangScriptProcessor.java | 2 +- src/main/java/org/scijava/script/run/ScriptCodeRunner.java | 2 +- src/main/java/org/scijava/service/AbstractService.java | 2 +- src/main/java/org/scijava/service/SciJavaService.java | 2 +- src/main/java/org/scijava/service/Service.java | 2 +- src/main/java/org/scijava/service/ServiceHelper.java | 2 +- src/main/java/org/scijava/service/ServiceIndex.java | 2 +- .../java/org/scijava/service/event/ServicesLoadedEvent.java | 2 +- src/main/java/org/scijava/startup/DefaultStartupService.java | 2 +- src/main/java/org/scijava/startup/StartupService.java | 2 +- src/main/java/org/scijava/task/DefaultTask.java | 2 +- src/main/java/org/scijava/task/DefaultTaskService.java | 2 +- src/main/java/org/scijava/task/Task.java | 2 +- src/main/java/org/scijava/task/TaskService.java | 2 +- src/main/java/org/scijava/task/event/TaskEvent.java | 2 +- src/main/java/org/scijava/test/TestUtils.java | 2 +- src/main/java/org/scijava/text/AbstractTextFormat.java | 2 +- src/main/java/org/scijava/text/DefaultTextService.java | 2 +- src/main/java/org/scijava/text/TextFormat.java | 2 +- src/main/java/org/scijava/text/TextService.java | 2 +- src/main/java/org/scijava/text/io/DefaultTextIOService.java | 2 +- src/main/java/org/scijava/text/io/TextIOPlugin.java | 2 +- src/main/java/org/scijava/text/io/TextIOService.java | 2 +- src/main/java/org/scijava/thread/DefaultThreadService.java | 2 +- src/main/java/org/scijava/thread/ThreadService.java | 2 +- src/main/java/org/scijava/tool/AbstractTool.java | 2 +- src/main/java/org/scijava/tool/CustomDrawnTool.java | 2 +- src/main/java/org/scijava/tool/DefaultToolService.java | 2 +- src/main/java/org/scijava/tool/DummyTool.java | 2 +- src/main/java/org/scijava/tool/IconDrawer.java | 2 +- src/main/java/org/scijava/tool/IconService.java | 2 +- src/main/java/org/scijava/tool/Tool.java | 2 +- src/main/java/org/scijava/tool/ToolService.java | 2 +- src/main/java/org/scijava/tool/event/ToolActivatedEvent.java | 2 +- src/main/java/org/scijava/tool/event/ToolDeactivatedEvent.java | 2 +- src/main/java/org/scijava/tool/event/ToolEvent.java | 2 +- src/main/java/org/scijava/ui/ARGBPlane.java | 2 +- src/main/java/org/scijava/ui/AbstractInputHarvesterPlugin.java | 2 +- src/main/java/org/scijava/ui/AbstractUIInputWidget.java | 2 +- src/main/java/org/scijava/ui/AbstractUserInterface.java | 2 +- src/main/java/org/scijava/ui/ApplicationFrame.java | 2 +- src/main/java/org/scijava/ui/Arrangeable.java | 2 +- src/main/java/org/scijava/ui/CloseConfirmable.java | 2 +- src/main/java/org/scijava/ui/DefaultUIService.java | 2 +- src/main/java/org/scijava/ui/Desktop.java | 2 +- src/main/java/org/scijava/ui/DialogPrompt.java | 2 +- src/main/java/org/scijava/ui/FileListPreprocessor.java | 2 +- src/main/java/org/scijava/ui/FilePreprocessor.java | 2 +- src/main/java/org/scijava/ui/StatusBar.java | 2 +- src/main/java/org/scijava/ui/SystemClipboard.java | 2 +- src/main/java/org/scijava/ui/ToolBar.java | 2 +- src/main/java/org/scijava/ui/UIPreprocessor.java | 2 +- src/main/java/org/scijava/ui/UIService.java | 2 +- src/main/java/org/scijava/ui/UserInterface.java | 2 +- src/main/java/org/scijava/ui/console/AbstractConsolePane.java | 2 +- src/main/java/org/scijava/ui/console/ConsolePane.java | 2 +- src/main/java/org/scijava/ui/console/HeadlessArgument.java | 2 +- src/main/java/org/scijava/ui/console/ShowUIArgument.java | 2 +- src/main/java/org/scijava/ui/console/UIArgument.java | 2 +- src/main/java/org/scijava/ui/dnd/AbstractDragAndDropData.java | 2 +- .../java/org/scijava/ui/dnd/AbstractDragAndDropHandler.java | 2 +- src/main/java/org/scijava/ui/dnd/DefaultDragAndDropData.java | 2 +- src/main/java/org/scijava/ui/dnd/DefaultDragAndDropService.java | 2 +- src/main/java/org/scijava/ui/dnd/DragAndDropData.java | 2 +- src/main/java/org/scijava/ui/dnd/DragAndDropHandler.java | 2 +- src/main/java/org/scijava/ui/dnd/DragAndDropService.java | 2 +- src/main/java/org/scijava/ui/dnd/FileDragAndDropHandler.java | 2 +- src/main/java/org/scijava/ui/dnd/ListDragAndDropHandler.java | 2 +- src/main/java/org/scijava/ui/dnd/MIMEType.java | 2 +- .../java/org/scijava/ui/dnd/ScriptFileDragAndDropHandler.java | 2 +- src/main/java/org/scijava/ui/dnd/event/DragAndDropEvent.java | 2 +- src/main/java/org/scijava/ui/dnd/event/DragEnterEvent.java | 2 +- src/main/java/org/scijava/ui/dnd/event/DragExitEvent.java | 2 +- src/main/java/org/scijava/ui/dnd/event/DragOverEvent.java | 2 +- src/main/java/org/scijava/ui/dnd/event/DropEvent.java | 2 +- src/main/java/org/scijava/ui/event/UIEvent.java | 2 +- src/main/java/org/scijava/ui/event/UIShownEvent.java | 2 +- .../java/org/scijava/ui/headless/HeadlessDisplayViewer.java | 2 +- src/main/java/org/scijava/ui/headless/HeadlessUI.java | 2 +- src/main/java/org/scijava/ui/headlessUI/HeadlessUI.java | 2 +- src/main/java/org/scijava/ui/viewer/AbstractDisplayViewer.java | 2 +- src/main/java/org/scijava/ui/viewer/DisplayPanel.java | 2 +- src/main/java/org/scijava/ui/viewer/DisplayViewer.java | 2 +- src/main/java/org/scijava/ui/viewer/DisplayWindow.java | 2 +- .../org/scijava/ui/viewer/text/AbstractTextDisplayViewer.java | 2 +- src/main/java/org/scijava/ui/viewer/text/TextDisplayPanel.java | 2 +- src/main/java/org/scijava/ui/viewer/text/TextDisplayViewer.java | 2 +- src/main/java/org/scijava/util/AbstractPrimitiveArray.java | 2 +- src/main/java/org/scijava/util/AppUtils.java | 2 +- src/main/java/org/scijava/util/ArrayUtils.java | 2 +- src/main/java/org/scijava/util/BoolArray.java | 2 +- src/main/java/org/scijava/util/ByteArray.java | 2 +- src/main/java/org/scijava/util/Bytes.java | 2 +- src/main/java/org/scijava/util/CharArray.java | 2 +- src/main/java/org/scijava/util/CheckSezpoz.java | 2 +- src/main/java/org/scijava/util/ClassUtils.java | 2 +- src/main/java/org/scijava/util/ColorRGB.java | 2 +- src/main/java/org/scijava/util/ColorRGBA.java | 2 +- src/main/java/org/scijava/util/Colors.java | 2 +- src/main/java/org/scijava/util/CombineAnnotations.java | 2 +- src/main/java/org/scijava/util/Combiner.java | 2 +- src/main/java/org/scijava/util/ConversionUtils.java | 2 +- src/main/java/org/scijava/util/DebugUtils.java | 2 +- src/main/java/org/scijava/util/DefaultTreeNode.java | 2 +- src/main/java/org/scijava/util/DigestUtils.java | 2 +- src/main/java/org/scijava/util/DoubleArray.java | 2 +- src/main/java/org/scijava/util/FileUtils.java | 2 +- src/main/java/org/scijava/util/FloatArray.java | 2 +- src/main/java/org/scijava/util/GenericUtils.java | 2 +- src/main/java/org/scijava/util/IntArray.java | 2 +- src/main/java/org/scijava/util/IntCoords.java | 2 +- src/main/java/org/scijava/util/IntRect.java | 2 +- src/main/java/org/scijava/util/IteratorPlus.java | 2 +- src/main/java/org/scijava/util/LastRecentlyUsed.java | 2 +- src/main/java/org/scijava/util/LineOutputStream.java | 2 +- src/main/java/org/scijava/util/ListUtils.java | 2 +- src/main/java/org/scijava/util/LongArray.java | 2 +- src/main/java/org/scijava/util/Manifest.java | 2 +- src/main/java/org/scijava/util/MersenneTwisterFast.java | 2 +- src/main/java/org/scijava/util/MetaInfCombiner.java | 2 +- src/main/java/org/scijava/util/MirrorWebsite.java | 2 +- src/main/java/org/scijava/util/MiscUtils.java | 2 +- src/main/java/org/scijava/util/NumberUtils.java | 2 +- src/main/java/org/scijava/util/ObjectArray.java | 2 +- src/main/java/org/scijava/util/POM.java | 2 +- src/main/java/org/scijava/util/PlatformUtils.java | 2 +- src/main/java/org/scijava/util/Prefs.java | 2 +- src/main/java/org/scijava/util/PrimitiveArray.java | 2 +- src/main/java/org/scijava/util/ProcessUtils.java | 2 +- src/main/java/org/scijava/util/PropertiesHelper.java | 2 +- src/main/java/org/scijava/util/Query.java | 2 +- src/main/java/org/scijava/util/ReadInto.java | 2 +- src/main/java/org/scijava/util/RealCoords.java | 2 +- src/main/java/org/scijava/util/RealRect.java | 2 +- src/main/java/org/scijava/util/ReflectException.java | 2 +- src/main/java/org/scijava/util/ReflectedUniverse.java | 2 +- src/main/java/org/scijava/util/ServiceCombiner.java | 2 +- src/main/java/org/scijava/util/ShortArray.java | 2 +- src/main/java/org/scijava/util/Sizable.java | 2 +- src/main/java/org/scijava/util/SizableArrayList.java | 2 +- src/main/java/org/scijava/util/StringMaker.java | 2 +- src/main/java/org/scijava/util/StringUtils.java | 2 +- src/main/java/org/scijava/util/Timing.java | 2 +- src/main/java/org/scijava/util/TreeNode.java | 2 +- src/main/java/org/scijava/util/TunePlayer.java | 2 +- src/main/java/org/scijava/util/Types.java | 2 +- src/main/java/org/scijava/util/UnitUtils.java | 2 +- src/main/java/org/scijava/util/VersionUtils.java | 2 +- src/main/java/org/scijava/util/XML.java | 2 +- src/main/java/org/scijava/welcome/DefaultWelcomeService.java | 2 +- src/main/java/org/scijava/welcome/WelcomeService.java | 2 +- src/main/java/org/scijava/welcome/event/WelcomeEvent.java | 2 +- src/main/java/org/scijava/widget/AbstractInputHarvester.java | 2 +- src/main/java/org/scijava/widget/AbstractInputPanel.java | 2 +- src/main/java/org/scijava/widget/AbstractInputWidget.java | 2 +- src/main/java/org/scijava/widget/Button.java | 2 +- src/main/java/org/scijava/widget/ButtonWidget.java | 2 +- src/main/java/org/scijava/widget/ChoiceWidget.java | 2 +- src/main/java/org/scijava/widget/ColorWidget.java | 2 +- src/main/java/org/scijava/widget/DateWidget.java | 2 +- src/main/java/org/scijava/widget/DefaultWidgetModel.java | 2 +- src/main/java/org/scijava/widget/DefaultWidgetService.java | 2 +- src/main/java/org/scijava/widget/FileListWidget.java | 2 +- src/main/java/org/scijava/widget/FileWidget.java | 2 +- src/main/java/org/scijava/widget/InputHarvester.java | 2 +- src/main/java/org/scijava/widget/InputPanel.java | 2 +- src/main/java/org/scijava/widget/InputWidget.java | 2 +- src/main/java/org/scijava/widget/MessageWidget.java | 2 +- src/main/java/org/scijava/widget/NumberWidget.java | 2 +- src/main/java/org/scijava/widget/ObjectWidget.java | 2 +- src/main/java/org/scijava/widget/TextWidget.java | 2 +- src/main/java/org/scijava/widget/ToggleWidget.java | 2 +- src/main/java/org/scijava/widget/UIComponent.java | 2 +- src/main/java/org/scijava/widget/WidgetModel.java | 2 +- src/main/java/org/scijava/widget/WidgetService.java | 2 +- src/main/java/org/scijava/widget/WidgetStyle.java | 2 +- src/test/java/org/scijava/ContextCreationTest.java | 2 +- src/test/java/org/scijava/ContextDisposalTest.java | 2 +- src/test/java/org/scijava/ContextInjectionTest.java | 2 +- src/test/java/org/scijava/SciJavaTest.java | 2 +- src/test/java/org/scijava/annotations/AnnotatedA.java | 2 +- src/test/java/org/scijava/annotations/AnnotatedB.java | 2 +- src/test/java/org/scijava/annotations/AnnotatedC.java | 2 +- src/test/java/org/scijava/annotations/AnnotatedD.java | 2 +- src/test/java/org/scijava/annotations/AnnotatedInnerClass.java | 2 +- src/test/java/org/scijava/annotations/Complex.java | 2 +- src/test/java/org/scijava/annotations/DirectoryIndexerTest.java | 2 +- src/test/java/org/scijava/annotations/EclipseHelperTest.java | 2 +- src/test/java/org/scijava/annotations/Fruit.java | 2 +- src/test/java/org/scijava/annotations/LegacyTest.java | 2 +- src/test/java/org/scijava/annotations/Simple.java | 2 +- src/test/java/org/scijava/app/StatusServiceTest.java | 2 +- .../java/org/scijava/command/CommandArrayConverterTest.java | 2 +- src/test/java/org/scijava/command/CommandInfoTest.java | 2 +- src/test/java/org/scijava/command/CommandModuleTest.java | 2 +- src/test/java/org/scijava/command/CommandServiceTest.java | 2 +- src/test/java/org/scijava/command/InputsTest.java | 2 +- src/test/java/org/scijava/command/InvalidCommandTest.java | 2 +- .../java/org/scijava/command/run/CommandCodeRunnerTest.java | 2 +- src/test/java/org/scijava/console/ConsoleServiceTest.java | 2 +- .../java/org/scijava/console/SystemPropertyArgumentTest.java | 2 +- .../java/org/scijava/convert/AbstractNumberConverterTests.java | 2 +- .../java/org/scijava/convert/ArrayToStringConverterTest.java | 2 +- .../scijava/convert/BigIntegerToBigDecimalConverterTest.java | 2 +- .../java/org/scijava/convert/ByteToBigDecimalConverterTest.java | 2 +- .../java/org/scijava/convert/ByteToBigIntegerConverterTest.java | 2 +- .../java/org/scijava/convert/ByteToDoubleConverterTest.java | 2 +- src/test/java/org/scijava/convert/ByteToFloatConverterTest.java | 2 +- .../java/org/scijava/convert/ByteToIntegerConverterTest.java | 2 +- src/test/java/org/scijava/convert/ByteToLongConverterTest.java | 2 +- src/test/java/org/scijava/convert/ByteToShortConverterTest.java | 2 +- src/test/java/org/scijava/convert/ConvertServiceTest.java | 2 +- src/test/java/org/scijava/convert/ConverterTest.java | 2 +- src/test/java/org/scijava/convert/DefaultConverterTest.java | 2 +- src/test/java/org/scijava/convert/DelegateConverterTest.java | 2 +- .../org/scijava/convert/DoubleToBigDecimalConverterTest.java | 2 +- src/test/java/org/scijava/convert/FileListConverterTest.java | 2 +- src/test/java/org/scijava/convert/FileToPathConversionTest.java | 2 +- .../org/scijava/convert/FloatToBigDecimalConverterTest.java | 2 +- .../java/org/scijava/convert/FloatToDoubleConverterTest.java | 2 +- .../org/scijava/convert/IntegerToBigDecimalConverterTest.java | 2 +- .../org/scijava/convert/IntegerToBigIntegerConverterTest.java | 2 +- .../java/org/scijava/convert/IntegerToDoubleConverterTest.java | 2 +- .../java/org/scijava/convert/IntegerToLongConverterTest.java | 2 +- .../java/org/scijava/convert/LongToBigDecimalConverterTest.java | 2 +- .../java/org/scijava/convert/LongToBigIntegerConverterTest.java | 2 +- .../org/scijava/convert/ShortToBigDecimalConverterTest.java | 2 +- .../org/scijava/convert/ShortToBigIntegerConverterTest.java | 2 +- .../java/org/scijava/convert/ShortToDoubleConverterTest.java | 2 +- .../java/org/scijava/convert/ShortToFloatConverterTest.java | 2 +- .../java/org/scijava/convert/ShortToIntegerConverterTest.java | 2 +- src/test/java/org/scijava/convert/ShortToLongConverterTest.java | 2 +- .../java/org/scijava/convert/StringToArrayConverterTest.java | 2 +- .../java/org/scijava/convert/StringToNumberConverterTest.java | 2 +- src/test/java/org/scijava/display/DisplayTest.java | 2 +- src/test/java/org/scijava/download/DownloadServiceTest.java | 2 +- src/test/java/org/scijava/event/EventServiceTest.java | 2 +- src/test/java/org/scijava/io/ByteArrayByteBankTest.java | 2 +- src/test/java/org/scijava/io/ByteBankTest.java | 2 +- src/test/java/org/scijava/io/IOServiceTest.java | 2 +- src/test/java/org/scijava/io/TypedIOServiceTest.java | 2 +- src/test/java/org/scijava/io/event/DataEventTest.java | 2 +- src/test/java/org/scijava/io/handle/BytesHandleTest.java | 2 +- .../java/org/scijava/io/handle/DataHandleEdgeCaseTests.java | 2 +- src/test/java/org/scijava/io/handle/DataHandleTest.java | 2 +- src/test/java/org/scijava/io/handle/DataHandlesTest.java | 2 +- src/test/java/org/scijava/io/handle/FileHandleTest.java | 2 +- .../org/scijava/io/handle/ReadBufferDataHandleMockTest.java | 2 +- .../java/org/scijava/io/handle/ReadBufferDataHandleTest.java | 2 +- .../java/org/scijava/io/handle/WriteBufferDataHandleTest.java | 2 +- src/test/java/org/scijava/io/location/BytesLocationTest.java | 2 +- .../java/org/scijava/io/location/FileLocationResolverTest.java | 2 +- src/test/java/org/scijava/io/location/FileLocationTest.java | 2 +- src/test/java/org/scijava/io/location/LocationServiceTest.java | 2 +- src/test/java/org/scijava/io/location/URILocationTest.java | 2 +- src/test/java/org/scijava/io/location/URLLocationTest.java | 2 +- src/test/java/org/scijava/io/nio/ByteBufferByteBankTest.java | 2 +- src/test/java/org/scijava/log/CallingClassUtilsTest.java | 2 +- src/test/java/org/scijava/log/DefaultLoggerTest.java | 2 +- src/test/java/org/scijava/log/LogMessageTest.java | 2 +- src/test/java/org/scijava/log/LogServiceTest.java | 2 +- src/test/java/org/scijava/log/LogSourceTest.java | 2 +- src/test/java/org/scijava/log/StderrLogServiceTest.java | 2 +- src/test/java/org/scijava/log/TestLogListener.java | 2 +- src/test/java/org/scijava/main/MainServiceTest.java | 2 +- src/test/java/org/scijava/main/run/MainCodeRunnerTest.java | 2 +- src/test/java/org/scijava/menu/MenuServiceTest.java | 2 +- src/test/java/org/scijava/menu/ShadowMenuTest.java | 2 +- src/test/java/org/scijava/module/ModuleServiceTest.java | 2 +- .../java/org/scijava/module/event/ModuleErroredEventTest.java | 2 +- .../java/org/scijava/module/process/LoggerPreprocessorTest.java | 2 +- src/test/java/org/scijava/module/run/ModuleCodeRunnerTest.java | 2 +- src/test/java/org/scijava/object/NamedObjectIndexTest.java | 2 +- src/test/java/org/scijava/object/ObjectIndexTest.java | 2 +- src/test/java/org/scijava/object/ObjectServiceTest.java | 2 +- src/test/java/org/scijava/object/SortedObjectIndexTest.java | 2 +- src/test/java/org/scijava/options/OptionsTest.java | 2 +- src/test/java/org/scijava/parse/ParseServiceTest.java | 2 +- src/test/java/org/scijava/plugin/PluginFinderTest.java | 2 +- src/test/java/org/scijava/plugin/PluginIndexTest.java | 2 +- src/test/java/org/scijava/plugin/PluginInfoTest.java | 2 +- src/test/java/org/scijava/plugin/SingletonServiceTest.java | 2 +- src/test/java/org/scijava/prefs/PrefServiceTest.java | 2 +- src/test/java/org/scijava/run/RunServiceTest.java | 2 +- .../java/org/scijava/script/AbstractScriptLanguageTest.java | 2 +- src/test/java/org/scijava/script/ScriptEngineTest.java | 2 +- src/test/java/org/scijava/script/ScriptFinderTest.java | 2 +- src/test/java/org/scijava/script/ScriptInfoTest.java | 2 +- src/test/java/org/scijava/script/ScriptServiceTest.java | 2 +- .../scijava/script/process/ParameterScriptProcessorTest.java | 2 +- src/test/java/org/scijava/service/ServiceIndexTest.java | 2 +- src/test/java/org/scijava/task/TaskEventTest.java | 2 +- src/test/java/org/scijava/task/TaskServiceTest.java | 2 +- src/test/java/org/scijava/test/AbstractSciJavaTest.java | 2 +- src/test/java/org/scijava/test/TestUtilsTest.java | 2 +- src/test/java/org/scijava/text/TextServiceTest.java | 2 +- src/test/java/org/scijava/thread/ThreadServiceTest.java | 2 +- src/test/java/org/scijava/ui/UIServiceTest.java | 2 +- src/test/java/org/scijava/util/AppUtilsTest.java | 2 +- src/test/java/org/scijava/util/ArrayUtilsTest.java | 2 +- src/test/java/org/scijava/util/BoolArrayTest.java | 2 +- src/test/java/org/scijava/util/ByteArrayTest.java | 2 +- src/test/java/org/scijava/util/CharArrayTest.java | 2 +- src/test/java/org/scijava/util/ClassUtilsTest.java | 2 +- src/test/java/org/scijava/util/ColorRGBTest.java | 2 +- src/test/java/org/scijava/util/ConversionUtilsTest.java | 2 +- src/test/java/org/scijava/util/DigestUtilsTest.java | 2 +- src/test/java/org/scijava/util/DoubleArrayTest.java | 2 +- src/test/java/org/scijava/util/FileUtilsTest.java | 2 +- src/test/java/org/scijava/util/FloatArrayTest.java | 2 +- src/test/java/org/scijava/util/GenericArrayTypesTest.java | 2 +- src/test/java/org/scijava/util/IntArrayTest.java | 2 +- src/test/java/org/scijava/util/LastRecentlyUsedTest.java | 2 +- src/test/java/org/scijava/util/LongArrayTest.java | 2 +- src/test/java/org/scijava/util/NumberUtilsTest.java | 2 +- src/test/java/org/scijava/util/ObjectArrayTest.java | 2 +- src/test/java/org/scijava/util/POMTest.java | 2 +- src/test/java/org/scijava/util/PrimitiveArrayTest.java | 2 +- src/test/java/org/scijava/util/ProcessUtilsTest.java | 2 +- src/test/java/org/scijava/util/PropertiesHelperTest.java | 2 +- src/test/java/org/scijava/util/ShortArrayTest.java | 2 +- src/test/java/org/scijava/util/StringUtilsTest.java | 2 +- src/test/java/org/scijava/util/TypesTest.java | 2 +- src/test/java/org/scijava/util/UnitUtilsTest.java | 2 +- src/test/java/org/scijava/util/VersionUtilsTest.java | 2 +- src/test/java/org/scijava/widget/WidgetStyleTest.java | 2 +- 757 files changed, 757 insertions(+), 757 deletions(-) diff --git a/src/it/apt-test/pom.xml b/src/it/apt-test/pom.xml index 0ce0ce63c..12f8b4d0a 100644 --- a/src/it/apt-test/pom.xml +++ b/src/it/apt-test/pom.xml @@ -3,7 +3,7 @@ #%L SciJava Common shared library for SciJava software. %% - Copyright (C) 2009 - 2024 SciJava developers. + Copyright (C) 2009 - 2025 SciJava developers. %% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: diff --git a/src/it/apt-test/setup.bsh b/src/it/apt-test/setup.bsh index fed9016f3..2f053786a 100644 --- a/src/it/apt-test/setup.bsh +++ b/src/it/apt-test/setup.bsh @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/it/apt-test/src/main/java/org/scijava/annotation/its/Annotated.java b/src/it/apt-test/src/main/java/org/scijava/annotation/its/Annotated.java index 86df895da..5301e1794 100644 --- a/src/it/apt-test/src/main/java/org/scijava/annotation/its/Annotated.java +++ b/src/it/apt-test/src/main/java/org/scijava/annotation/its/Annotated.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/it/apt-test/src/main/java/org/scijava/annotation/its/CustomAnnotation.java b/src/it/apt-test/src/main/java/org/scijava/annotation/its/CustomAnnotation.java index 451e17e42..4643aa288 100644 --- a/src/it/apt-test/src/main/java/org/scijava/annotation/its/CustomAnnotation.java +++ b/src/it/apt-test/src/main/java/org/scijava/annotation/its/CustomAnnotation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/it/apt-test/verify.bsh b/src/it/apt-test/verify.bsh index a91b6f012..bc6a12a90 100644 --- a/src/it/apt-test/verify.bsh +++ b/src/it/apt-test/verify.bsh @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/it/settings.xml b/src/it/settings.xml index 69b227865..02cd6280f 100644 --- a/src/it/settings.xml +++ b/src/it/settings.xml @@ -3,7 +3,7 @@ #%L SciJava Common shared library for SciJava software. %% - Copyright (C) 2009 - 2024 SciJava developers. + Copyright (C) 2009 - 2025 SciJava developers. %% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/AbstractBasicDetails.java b/src/main/java/org/scijava/AbstractBasicDetails.java index cea966d7b..f05f40249 100644 --- a/src/main/java/org/scijava/AbstractBasicDetails.java +++ b/src/main/java/org/scijava/AbstractBasicDetails.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/AbstractContextual.java b/src/main/java/org/scijava/AbstractContextual.java index 23a9076ba..0c76ae641 100644 --- a/src/main/java/org/scijava/AbstractContextual.java +++ b/src/main/java/org/scijava/AbstractContextual.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/AbstractGateway.java b/src/main/java/org/scijava/AbstractGateway.java index d6ee9b0fb..944c2dff0 100644 --- a/src/main/java/org/scijava/AbstractGateway.java +++ b/src/main/java/org/scijava/AbstractGateway.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/AbstractUIDetails.java b/src/main/java/org/scijava/AbstractUIDetails.java index 7fd19bfdd..3590c19e3 100644 --- a/src/main/java/org/scijava/AbstractUIDetails.java +++ b/src/main/java/org/scijava/AbstractUIDetails.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/BasicDetails.java b/src/main/java/org/scijava/BasicDetails.java index de28e93bd..d2288061b 100644 --- a/src/main/java/org/scijava/BasicDetails.java +++ b/src/main/java/org/scijava/BasicDetails.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Cancelable.java b/src/main/java/org/scijava/Cancelable.java index 4b2122560..0c36b0066 100644 --- a/src/main/java/org/scijava/Cancelable.java +++ b/src/main/java/org/scijava/Cancelable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Context.java b/src/main/java/org/scijava/Context.java index 561b53fc5..50014ad17 100644 --- a/src/main/java/org/scijava/Context.java +++ b/src/main/java/org/scijava/Context.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Contextual.java b/src/main/java/org/scijava/Contextual.java index 9b41674da..4d83ca900 100644 --- a/src/main/java/org/scijava/Contextual.java +++ b/src/main/java/org/scijava/Contextual.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Disposable.java b/src/main/java/org/scijava/Disposable.java index 7b3db0a86..f3ac3548b 100644 --- a/src/main/java/org/scijava/Disposable.java +++ b/src/main/java/org/scijava/Disposable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Gateway.java b/src/main/java/org/scijava/Gateway.java index fdb8a624d..9222f058c 100644 --- a/src/main/java/org/scijava/Gateway.java +++ b/src/main/java/org/scijava/Gateway.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Identifiable.java b/src/main/java/org/scijava/Identifiable.java index 5e1063ee9..a1be1c4e7 100644 --- a/src/main/java/org/scijava/Identifiable.java +++ b/src/main/java/org/scijava/Identifiable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Initializable.java b/src/main/java/org/scijava/Initializable.java index 972a192c9..bd7de998f 100644 --- a/src/main/java/org/scijava/Initializable.java +++ b/src/main/java/org/scijava/Initializable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Instantiable.java b/src/main/java/org/scijava/Instantiable.java index f5dbf14dd..7f1d82077 100644 --- a/src/main/java/org/scijava/Instantiable.java +++ b/src/main/java/org/scijava/Instantiable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/InstantiableException.java b/src/main/java/org/scijava/InstantiableException.java index 087f2321c..e2df38650 100644 --- a/src/main/java/org/scijava/InstantiableException.java +++ b/src/main/java/org/scijava/InstantiableException.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ItemIO.java b/src/main/java/org/scijava/ItemIO.java index afcfff5be..c4198b74b 100644 --- a/src/main/java/org/scijava/ItemIO.java +++ b/src/main/java/org/scijava/ItemIO.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ItemVisibility.java b/src/main/java/org/scijava/ItemVisibility.java index d1d025569..47b0e9276 100644 --- a/src/main/java/org/scijava/ItemVisibility.java +++ b/src/main/java/org/scijava/ItemVisibility.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Locatable.java b/src/main/java/org/scijava/Locatable.java index 1cba5940a..5184b2552 100644 --- a/src/main/java/org/scijava/Locatable.java +++ b/src/main/java/org/scijava/Locatable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/MenuEntry.java b/src/main/java/org/scijava/MenuEntry.java index 7cecc891c..d436963fc 100644 --- a/src/main/java/org/scijava/MenuEntry.java +++ b/src/main/java/org/scijava/MenuEntry.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/MenuPath.java b/src/main/java/org/scijava/MenuPath.java index c81406db5..941c4a860 100644 --- a/src/main/java/org/scijava/MenuPath.java +++ b/src/main/java/org/scijava/MenuPath.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Named.java b/src/main/java/org/scijava/Named.java index ce2a9c689..bdb669e16 100644 --- a/src/main/java/org/scijava/Named.java +++ b/src/main/java/org/scijava/Named.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/NoSuchServiceException.java b/src/main/java/org/scijava/NoSuchServiceException.java index 412ac0e67..4f25b47d3 100644 --- a/src/main/java/org/scijava/NoSuchServiceException.java +++ b/src/main/java/org/scijava/NoSuchServiceException.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/NullContextException.java b/src/main/java/org/scijava/NullContextException.java index 58f5862fb..32eca3f18 100644 --- a/src/main/java/org/scijava/NullContextException.java +++ b/src/main/java/org/scijava/NullContextException.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Optional.java b/src/main/java/org/scijava/Optional.java index 04d28e792..34b10025a 100644 --- a/src/main/java/org/scijava/Optional.java +++ b/src/main/java/org/scijava/Optional.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Prioritized.java b/src/main/java/org/scijava/Prioritized.java index 4031ab296..8ecc6c528 100644 --- a/src/main/java/org/scijava/Prioritized.java +++ b/src/main/java/org/scijava/Prioritized.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Priority.java b/src/main/java/org/scijava/Priority.java index 7b579848b..e2fbddfd0 100644 --- a/src/main/java/org/scijava/Priority.java +++ b/src/main/java/org/scijava/Priority.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/SciJava.java b/src/main/java/org/scijava/SciJava.java index a95841ce0..90a3be54c 100644 --- a/src/main/java/org/scijava/SciJava.java +++ b/src/main/java/org/scijava/SciJava.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Typed.java b/src/main/java/org/scijava/Typed.java index 93d9c6339..552d1fd00 100644 --- a/src/main/java/org/scijava/Typed.java +++ b/src/main/java/org/scijava/Typed.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/UIDetails.java b/src/main/java/org/scijava/UIDetails.java index c20e67efb..896c6bb18 100644 --- a/src/main/java/org/scijava/UIDetails.java +++ b/src/main/java/org/scijava/UIDetails.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Validated.java b/src/main/java/org/scijava/Validated.java index 9873e589b..4fabe278a 100644 --- a/src/main/java/org/scijava/Validated.java +++ b/src/main/java/org/scijava/Validated.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ValidityProblem.java b/src/main/java/org/scijava/ValidityProblem.java index 8efd392d4..b95d1e02b 100644 --- a/src/main/java/org/scijava/ValidityProblem.java +++ b/src/main/java/org/scijava/ValidityProblem.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/Versioned.java b/src/main/java/org/scijava/Versioned.java index c146f41ed..eb5c0cda5 100644 --- a/src/main/java/org/scijava/Versioned.java +++ b/src/main/java/org/scijava/Versioned.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/AbstractIndexWriter.java b/src/main/java/org/scijava/annotations/AbstractIndexWriter.java index 12f29e5fc..730739ca6 100644 --- a/src/main/java/org/scijava/annotations/AbstractIndexWriter.java +++ b/src/main/java/org/scijava/annotations/AbstractIndexWriter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/AnnotationCombiner.java b/src/main/java/org/scijava/annotations/AnnotationCombiner.java index 7588b762b..33338727a 100644 --- a/src/main/java/org/scijava/annotations/AnnotationCombiner.java +++ b/src/main/java/org/scijava/annotations/AnnotationCombiner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/AnnotationProcessor.java b/src/main/java/org/scijava/annotations/AnnotationProcessor.java index 8e4e1fc65..e9acebd7c 100644 --- a/src/main/java/org/scijava/annotations/AnnotationProcessor.java +++ b/src/main/java/org/scijava/annotations/AnnotationProcessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/ByteCodeAnalyzer.java b/src/main/java/org/scijava/annotations/ByteCodeAnalyzer.java index 10682ca6a..98ec12da7 100644 --- a/src/main/java/org/scijava/annotations/ByteCodeAnalyzer.java +++ b/src/main/java/org/scijava/annotations/ByteCodeAnalyzer.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/DirectoryIndexer.java b/src/main/java/org/scijava/annotations/DirectoryIndexer.java index ab0024069..1f52f9565 100644 --- a/src/main/java/org/scijava/annotations/DirectoryIndexer.java +++ b/src/main/java/org/scijava/annotations/DirectoryIndexer.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/EclipseHelper.java b/src/main/java/org/scijava/annotations/EclipseHelper.java index 0d4765e9e..07e690a01 100644 --- a/src/main/java/org/scijava/annotations/EclipseHelper.java +++ b/src/main/java/org/scijava/annotations/EclipseHelper.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/Index.java b/src/main/java/org/scijava/annotations/Index.java index a7a760df2..dd56ab83e 100644 --- a/src/main/java/org/scijava/annotations/Index.java +++ b/src/main/java/org/scijava/annotations/Index.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/IndexItem.java b/src/main/java/org/scijava/annotations/IndexItem.java index dcefa9f88..67aab711f 100644 --- a/src/main/java/org/scijava/annotations/IndexItem.java +++ b/src/main/java/org/scijava/annotations/IndexItem.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/IndexReader.java b/src/main/java/org/scijava/annotations/IndexReader.java index 74dd5c65d..894874238 100644 --- a/src/main/java/org/scijava/annotations/IndexReader.java +++ b/src/main/java/org/scijava/annotations/IndexReader.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/Indexable.java b/src/main/java/org/scijava/annotations/Indexable.java index f1c386bcc..deb8f7d65 100644 --- a/src/main/java/org/scijava/annotations/Indexable.java +++ b/src/main/java/org/scijava/annotations/Indexable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/annotations/legacy/LegacyReader.java b/src/main/java/org/scijava/annotations/legacy/LegacyReader.java index ce6619f24..5b3d0d129 100644 --- a/src/main/java/org/scijava/annotations/legacy/LegacyReader.java +++ b/src/main/java/org/scijava/annotations/legacy/LegacyReader.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/app/AbstractApp.java b/src/main/java/org/scijava/app/AbstractApp.java index 96b62626a..eaa37331d 100644 --- a/src/main/java/org/scijava/app/AbstractApp.java +++ b/src/main/java/org/scijava/app/AbstractApp.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/app/App.java b/src/main/java/org/scijava/app/App.java index a18f8366e..bf4bf0721 100644 --- a/src/main/java/org/scijava/app/App.java +++ b/src/main/java/org/scijava/app/App.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/app/AppService.java b/src/main/java/org/scijava/app/AppService.java index c6ec110b6..582860a36 100644 --- a/src/main/java/org/scijava/app/AppService.java +++ b/src/main/java/org/scijava/app/AppService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/app/DefaultAppService.java b/src/main/java/org/scijava/app/DefaultAppService.java index 2906b72bb..8a97162b6 100644 --- a/src/main/java/org/scijava/app/DefaultAppService.java +++ b/src/main/java/org/scijava/app/DefaultAppService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/app/DefaultStatusService.java b/src/main/java/org/scijava/app/DefaultStatusService.java index f93bbba71..38e3e555d 100644 --- a/src/main/java/org/scijava/app/DefaultStatusService.java +++ b/src/main/java/org/scijava/app/DefaultStatusService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/app/SciJavaApp.java b/src/main/java/org/scijava/app/SciJavaApp.java index 4af7d69c5..067184141 100644 --- a/src/main/java/org/scijava/app/SciJavaApp.java +++ b/src/main/java/org/scijava/app/SciJavaApp.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/app/StatusService.java b/src/main/java/org/scijava/app/StatusService.java index 3a28d4a52..7896b9b4a 100644 --- a/src/main/java/org/scijava/app/StatusService.java +++ b/src/main/java/org/scijava/app/StatusService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/app/event/StatusEvent.java b/src/main/java/org/scijava/app/event/StatusEvent.java index cabc032f8..d1c055557 100644 --- a/src/main/java/org/scijava/app/event/StatusEvent.java +++ b/src/main/java/org/scijava/app/event/StatusEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/cache/CacheService.java b/src/main/java/org/scijava/cache/CacheService.java index afc2a4a6e..aaa51c43d 100644 --- a/src/main/java/org/scijava/cache/CacheService.java +++ b/src/main/java/org/scijava/cache/CacheService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/cache/DefaultCacheService.java b/src/main/java/org/scijava/cache/DefaultCacheService.java index 4fddf6734..ffba4ebb4 100644 --- a/src/main/java/org/scijava/cache/DefaultCacheService.java +++ b/src/main/java/org/scijava/cache/DefaultCacheService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/Command.java b/src/main/java/org/scijava/command/Command.java index 456736f68..3e99f2d3f 100644 --- a/src/main/java/org/scijava/command/Command.java +++ b/src/main/java/org/scijava/command/Command.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/CommandInfo.java b/src/main/java/org/scijava/command/CommandInfo.java index 78913df7a..f0b2bd34c 100644 --- a/src/main/java/org/scijava/command/CommandInfo.java +++ b/src/main/java/org/scijava/command/CommandInfo.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/CommandModule.java b/src/main/java/org/scijava/command/CommandModule.java index 0d8201e18..bef02fbd5 100644 --- a/src/main/java/org/scijava/command/CommandModule.java +++ b/src/main/java/org/scijava/command/CommandModule.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/CommandModuleItem.java b/src/main/java/org/scijava/command/CommandModuleItem.java index ec30d678a..b9e602de5 100644 --- a/src/main/java/org/scijava/command/CommandModuleItem.java +++ b/src/main/java/org/scijava/command/CommandModuleItem.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/CommandService.java b/src/main/java/org/scijava/command/CommandService.java index 6d1495ebb..502113a69 100644 --- a/src/main/java/org/scijava/command/CommandService.java +++ b/src/main/java/org/scijava/command/CommandService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/ContextCommand.java b/src/main/java/org/scijava/command/ContextCommand.java index 3588dffac..ae9e3830e 100644 --- a/src/main/java/org/scijava/command/ContextCommand.java +++ b/src/main/java/org/scijava/command/ContextCommand.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/DefaultCommandService.java b/src/main/java/org/scijava/command/DefaultCommandService.java index 00275c0c1..f1d59a2b0 100644 --- a/src/main/java/org/scijava/command/DefaultCommandService.java +++ b/src/main/java/org/scijava/command/DefaultCommandService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/DynamicCommand.java b/src/main/java/org/scijava/command/DynamicCommand.java index 8fccd9f20..5d165192d 100644 --- a/src/main/java/org/scijava/command/DynamicCommand.java +++ b/src/main/java/org/scijava/command/DynamicCommand.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/DynamicCommandInfo.java b/src/main/java/org/scijava/command/DynamicCommandInfo.java index 9d85a1235..738521744 100644 --- a/src/main/java/org/scijava/command/DynamicCommandInfo.java +++ b/src/main/java/org/scijava/command/DynamicCommandInfo.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/Inputs.java b/src/main/java/org/scijava/command/Inputs.java index 18272bbbb..a97d282f2 100644 --- a/src/main/java/org/scijava/command/Inputs.java +++ b/src/main/java/org/scijava/command/Inputs.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/Interactive.java b/src/main/java/org/scijava/command/Interactive.java index b1f3f999d..6f4d93375 100644 --- a/src/main/java/org/scijava/command/Interactive.java +++ b/src/main/java/org/scijava/command/Interactive.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/InteractiveCommand.java b/src/main/java/org/scijava/command/InteractiveCommand.java index 49925091a..1edf9a4b3 100644 --- a/src/main/java/org/scijava/command/InteractiveCommand.java +++ b/src/main/java/org/scijava/command/InteractiveCommand.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/ModuleCommand.java b/src/main/java/org/scijava/command/ModuleCommand.java index ac5b780b7..2a2bb9469 100644 --- a/src/main/java/org/scijava/command/ModuleCommand.java +++ b/src/main/java/org/scijava/command/ModuleCommand.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/Previewable.java b/src/main/java/org/scijava/command/Previewable.java index da9308f5a..330d8472c 100644 --- a/src/main/java/org/scijava/command/Previewable.java +++ b/src/main/java/org/scijava/command/Previewable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/UnimplementedCommand.java b/src/main/java/org/scijava/command/UnimplementedCommand.java index eb8804716..763d324cf 100644 --- a/src/main/java/org/scijava/command/UnimplementedCommand.java +++ b/src/main/java/org/scijava/command/UnimplementedCommand.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/console/RunArgument.java b/src/main/java/org/scijava/command/console/RunArgument.java index 86ffa6df7..e5dac33f2 100644 --- a/src/main/java/org/scijava/command/console/RunArgument.java +++ b/src/main/java/org/scijava/command/console/RunArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/command/run/CommandCodeRunner.java b/src/main/java/org/scijava/command/run/CommandCodeRunner.java index 5b843323e..d823f05f9 100644 --- a/src/main/java/org/scijava/command/run/CommandCodeRunner.java +++ b/src/main/java/org/scijava/command/run/CommandCodeRunner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/AbstractConsoleArgument.java b/src/main/java/org/scijava/console/AbstractConsoleArgument.java index 811dabf8c..eff1cf185 100644 --- a/src/main/java/org/scijava/console/AbstractConsoleArgument.java +++ b/src/main/java/org/scijava/console/AbstractConsoleArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/ConsoleArgument.java b/src/main/java/org/scijava/console/ConsoleArgument.java index edfa4ea0c..b51e8a549 100644 --- a/src/main/java/org/scijava/console/ConsoleArgument.java +++ b/src/main/java/org/scijava/console/ConsoleArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/ConsoleService.java b/src/main/java/org/scijava/console/ConsoleService.java index 23c5b9a24..e869933ed 100644 --- a/src/main/java/org/scijava/console/ConsoleService.java +++ b/src/main/java/org/scijava/console/ConsoleService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/ConsoleUtils.java b/src/main/java/org/scijava/console/ConsoleUtils.java index 6314e737e..909aa3ea0 100644 --- a/src/main/java/org/scijava/console/ConsoleUtils.java +++ b/src/main/java/org/scijava/console/ConsoleUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/DefaultConsoleService.java b/src/main/java/org/scijava/console/DefaultConsoleService.java index 535deb088..c129e56d2 100644 --- a/src/main/java/org/scijava/console/DefaultConsoleService.java +++ b/src/main/java/org/scijava/console/DefaultConsoleService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/MultiOutputStream.java b/src/main/java/org/scijava/console/MultiOutputStream.java index 043e5b439..1cc9803e9 100644 --- a/src/main/java/org/scijava/console/MultiOutputStream.java +++ b/src/main/java/org/scijava/console/MultiOutputStream.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/MultiPrintStream.java b/src/main/java/org/scijava/console/MultiPrintStream.java index e1f2a11c2..a194dc24d 100644 --- a/src/main/java/org/scijava/console/MultiPrintStream.java +++ b/src/main/java/org/scijava/console/MultiPrintStream.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/OutputEvent.java b/src/main/java/org/scijava/console/OutputEvent.java index 762b7f249..dddd58e36 100644 --- a/src/main/java/org/scijava/console/OutputEvent.java +++ b/src/main/java/org/scijava/console/OutputEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/OutputListener.java b/src/main/java/org/scijava/console/OutputListener.java index 640a9dbc7..c86479e10 100644 --- a/src/main/java/org/scijava/console/OutputListener.java +++ b/src/main/java/org/scijava/console/OutputListener.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/console/SystemPropertyArgument.java b/src/main/java/org/scijava/console/SystemPropertyArgument.java index 40590ccd0..aa2f2ddfd 100644 --- a/src/main/java/org/scijava/console/SystemPropertyArgument.java +++ b/src/main/java/org/scijava/console/SystemPropertyArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/AbstractConvertService.java b/src/main/java/org/scijava/convert/AbstractConvertService.java index 0388e601c..18d995afd 100644 --- a/src/main/java/org/scijava/convert/AbstractConvertService.java +++ b/src/main/java/org/scijava/convert/AbstractConvertService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/AbstractConverter.java b/src/main/java/org/scijava/convert/AbstractConverter.java index c80d2fbef..a7f252b3c 100644 --- a/src/main/java/org/scijava/convert/AbstractConverter.java +++ b/src/main/java/org/scijava/convert/AbstractConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/AbstractDelegateConverter.java b/src/main/java/org/scijava/convert/AbstractDelegateConverter.java index 909c6f0da..f9b979947 100644 --- a/src/main/java/org/scijava/convert/AbstractDelegateConverter.java +++ b/src/main/java/org/scijava/convert/AbstractDelegateConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/ArrayConverters.java b/src/main/java/org/scijava/convert/ArrayConverters.java index ab9cb24a8..18d5f5916 100644 --- a/src/main/java/org/scijava/convert/ArrayConverters.java +++ b/src/main/java/org/scijava/convert/ArrayConverters.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/ArrayToStringConverter.java b/src/main/java/org/scijava/convert/ArrayToStringConverter.java index 1cf448747..d141d5454 100644 --- a/src/main/java/org/scijava/convert/ArrayToStringConverter.java +++ b/src/main/java/org/scijava/convert/ArrayToStringConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/CastingConverter.java b/src/main/java/org/scijava/convert/CastingConverter.java index 27915c40d..1e4e80ca6 100644 --- a/src/main/java/org/scijava/convert/CastingConverter.java +++ b/src/main/java/org/scijava/convert/CastingConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/ConversionRequest.java b/src/main/java/org/scijava/convert/ConversionRequest.java index 3486e9a5f..65ce220ba 100644 --- a/src/main/java/org/scijava/convert/ConversionRequest.java +++ b/src/main/java/org/scijava/convert/ConversionRequest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/ConvertService.java b/src/main/java/org/scijava/convert/ConvertService.java index 14e65bae2..84e56de9d 100644 --- a/src/main/java/org/scijava/convert/ConvertService.java +++ b/src/main/java/org/scijava/convert/ConvertService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/Converter.java b/src/main/java/org/scijava/convert/Converter.java index 3191be092..5b0544369 100644 --- a/src/main/java/org/scijava/convert/Converter.java +++ b/src/main/java/org/scijava/convert/Converter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/DefaultConvertService.java b/src/main/java/org/scijava/convert/DefaultConvertService.java index 434940368..d14e64dce 100644 --- a/src/main/java/org/scijava/convert/DefaultConvertService.java +++ b/src/main/java/org/scijava/convert/DefaultConvertService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/DefaultConverter.java b/src/main/java/org/scijava/convert/DefaultConverter.java index 15064c8d7..b9f53256d 100644 --- a/src/main/java/org/scijava/convert/DefaultConverter.java +++ b/src/main/java/org/scijava/convert/DefaultConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/FileListConverters.java b/src/main/java/org/scijava/convert/FileListConverters.java index 47a81053c..f4e8e86e7 100644 --- a/src/main/java/org/scijava/convert/FileListConverters.java +++ b/src/main/java/org/scijava/convert/FileListConverters.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/FileToPathConverter.java b/src/main/java/org/scijava/convert/FileToPathConverter.java index 7d091b9e0..9a6960566 100644 --- a/src/main/java/org/scijava/convert/FileToPathConverter.java +++ b/src/main/java/org/scijava/convert/FileToPathConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NullConverter.java b/src/main/java/org/scijava/convert/NullConverter.java index 9719d6afe..b43a5cecf 100644 --- a/src/main/java/org/scijava/convert/NullConverter.java +++ b/src/main/java/org/scijava/convert/NullConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberConverters.java b/src/main/java/org/scijava/convert/NumberConverters.java index 05aa71c7c..2f52ba40d 100644 --- a/src/main/java/org/scijava/convert/NumberConverters.java +++ b/src/main/java/org/scijava/convert/NumberConverters.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberToBigDecimalConverter.java b/src/main/java/org/scijava/convert/NumberToBigDecimalConverter.java index 889cf75e9..34b5a22a1 100644 --- a/src/main/java/org/scijava/convert/NumberToBigDecimalConverter.java +++ b/src/main/java/org/scijava/convert/NumberToBigDecimalConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberToBigIntegerConverter.java b/src/main/java/org/scijava/convert/NumberToBigIntegerConverter.java index 80196b63a..6877d4b6b 100644 --- a/src/main/java/org/scijava/convert/NumberToBigIntegerConverter.java +++ b/src/main/java/org/scijava/convert/NumberToBigIntegerConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberToDoubleConverter.java b/src/main/java/org/scijava/convert/NumberToDoubleConverter.java index 751badc6b..d32b0a751 100644 --- a/src/main/java/org/scijava/convert/NumberToDoubleConverter.java +++ b/src/main/java/org/scijava/convert/NumberToDoubleConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberToFloatConverter.java b/src/main/java/org/scijava/convert/NumberToFloatConverter.java index 19579a857..cc9a6b31f 100644 --- a/src/main/java/org/scijava/convert/NumberToFloatConverter.java +++ b/src/main/java/org/scijava/convert/NumberToFloatConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberToIntegerConverter.java b/src/main/java/org/scijava/convert/NumberToIntegerConverter.java index 149962f42..799ac9ac7 100644 --- a/src/main/java/org/scijava/convert/NumberToIntegerConverter.java +++ b/src/main/java/org/scijava/convert/NumberToIntegerConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberToLongConverter.java b/src/main/java/org/scijava/convert/NumberToLongConverter.java index 7f7eef462..34df15429 100644 --- a/src/main/java/org/scijava/convert/NumberToLongConverter.java +++ b/src/main/java/org/scijava/convert/NumberToLongConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberToNumberConverter.java b/src/main/java/org/scijava/convert/NumberToNumberConverter.java index d3b3102fe..4ad78680d 100644 --- a/src/main/java/org/scijava/convert/NumberToNumberConverter.java +++ b/src/main/java/org/scijava/convert/NumberToNumberConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/NumberToShortConverter.java b/src/main/java/org/scijava/convert/NumberToShortConverter.java index aed496f49..858fdd13b 100644 --- a/src/main/java/org/scijava/convert/NumberToShortConverter.java +++ b/src/main/java/org/scijava/convert/NumberToShortConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/PathToFileConverter.java b/src/main/java/org/scijava/convert/PathToFileConverter.java index 6c221f905..1a066296e 100644 --- a/src/main/java/org/scijava/convert/PathToFileConverter.java +++ b/src/main/java/org/scijava/convert/PathToFileConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/PrimitiveArrayUnwrapper.java b/src/main/java/org/scijava/convert/PrimitiveArrayUnwrapper.java index 514077e15..32b048a30 100644 --- a/src/main/java/org/scijava/convert/PrimitiveArrayUnwrapper.java +++ b/src/main/java/org/scijava/convert/PrimitiveArrayUnwrapper.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/PrimitiveArrayWrapper.java b/src/main/java/org/scijava/convert/PrimitiveArrayWrapper.java index dedcc8092..549527f4e 100644 --- a/src/main/java/org/scijava/convert/PrimitiveArrayWrapper.java +++ b/src/main/java/org/scijava/convert/PrimitiveArrayWrapper.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/StringToArrayConverter.java b/src/main/java/org/scijava/convert/StringToArrayConverter.java index 18e6a38d6..8b0996095 100644 --- a/src/main/java/org/scijava/convert/StringToArrayConverter.java +++ b/src/main/java/org/scijava/convert/StringToArrayConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/convert/StringToNumberConverter.java b/src/main/java/org/scijava/convert/StringToNumberConverter.java index 817c0c37a..f8f407a87 100644 --- a/src/main/java/org/scijava/convert/StringToNumberConverter.java +++ b/src/main/java/org/scijava/convert/StringToNumberConverter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/AbstractDisplay.java b/src/main/java/org/scijava/display/AbstractDisplay.java index 02a44cd6d..c1fbd2ee0 100644 --- a/src/main/java/org/scijava/display/AbstractDisplay.java +++ b/src/main/java/org/scijava/display/AbstractDisplay.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/ActiveDisplayPreprocessor.java b/src/main/java/org/scijava/display/ActiveDisplayPreprocessor.java index 488cc2249..fd5bc184e 100644 --- a/src/main/java/org/scijava/display/ActiveDisplayPreprocessor.java +++ b/src/main/java/org/scijava/display/ActiveDisplayPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/DefaultDisplay.java b/src/main/java/org/scijava/display/DefaultDisplay.java index b7058f5e9..e75317060 100644 --- a/src/main/java/org/scijava/display/DefaultDisplay.java +++ b/src/main/java/org/scijava/display/DefaultDisplay.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/DefaultDisplayService.java b/src/main/java/org/scijava/display/DefaultDisplayService.java index f91dddc14..b125937d4 100644 --- a/src/main/java/org/scijava/display/DefaultDisplayService.java +++ b/src/main/java/org/scijava/display/DefaultDisplayService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/DefaultTextDisplay.java b/src/main/java/org/scijava/display/DefaultTextDisplay.java index df16c01cc..ab6044b12 100644 --- a/src/main/java/org/scijava/display/DefaultTextDisplay.java +++ b/src/main/java/org/scijava/display/DefaultTextDisplay.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/Display.java b/src/main/java/org/scijava/display/Display.java index 77921d195..4886b3a1e 100644 --- a/src/main/java/org/scijava/display/Display.java +++ b/src/main/java/org/scijava/display/Display.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/DisplayPostprocessor.java b/src/main/java/org/scijava/display/DisplayPostprocessor.java index 9a69d7f8e..a97064ce5 100644 --- a/src/main/java/org/scijava/display/DisplayPostprocessor.java +++ b/src/main/java/org/scijava/display/DisplayPostprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/DisplayService.java b/src/main/java/org/scijava/display/DisplayService.java index 23acbf0e0..dc2654396 100644 --- a/src/main/java/org/scijava/display/DisplayService.java +++ b/src/main/java/org/scijava/display/DisplayService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/Displayable.java b/src/main/java/org/scijava/display/Displayable.java index ae875c217..4b38e060e 100644 --- a/src/main/java/org/scijava/display/Displayable.java +++ b/src/main/java/org/scijava/display/Displayable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/TextDisplay.java b/src/main/java/org/scijava/display/TextDisplay.java index 29eb39843..f6eddb44f 100644 --- a/src/main/java/org/scijava/display/TextDisplay.java +++ b/src/main/java/org/scijava/display/TextDisplay.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/DisplayActivatedEvent.java b/src/main/java/org/scijava/display/event/DisplayActivatedEvent.java index 0c6a12a07..7af76b8b4 100644 --- a/src/main/java/org/scijava/display/event/DisplayActivatedEvent.java +++ b/src/main/java/org/scijava/display/event/DisplayActivatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/DisplayCreatedEvent.java b/src/main/java/org/scijava/display/event/DisplayCreatedEvent.java index bd6f77560..eab8406e7 100644 --- a/src/main/java/org/scijava/display/event/DisplayCreatedEvent.java +++ b/src/main/java/org/scijava/display/event/DisplayCreatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/DisplayDeletedEvent.java b/src/main/java/org/scijava/display/event/DisplayDeletedEvent.java index c1420e4d5..aeda51f31 100644 --- a/src/main/java/org/scijava/display/event/DisplayDeletedEvent.java +++ b/src/main/java/org/scijava/display/event/DisplayDeletedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/DisplayEvent.java b/src/main/java/org/scijava/display/event/DisplayEvent.java index 95e90c7cb..22bd5ffeb 100644 --- a/src/main/java/org/scijava/display/event/DisplayEvent.java +++ b/src/main/java/org/scijava/display/event/DisplayEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/DisplayUpdatedEvent.java b/src/main/java/org/scijava/display/event/DisplayUpdatedEvent.java index 1be4cb353..d609a2391 100644 --- a/src/main/java/org/scijava/display/event/DisplayUpdatedEvent.java +++ b/src/main/java/org/scijava/display/event/DisplayUpdatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/InputEvent.java b/src/main/java/org/scijava/display/event/input/InputEvent.java index d515f9c0a..877529707 100644 --- a/src/main/java/org/scijava/display/event/input/InputEvent.java +++ b/src/main/java/org/scijava/display/event/input/InputEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/KyEvent.java b/src/main/java/org/scijava/display/event/input/KyEvent.java index ddc2f3046..3acf2bece 100644 --- a/src/main/java/org/scijava/display/event/input/KyEvent.java +++ b/src/main/java/org/scijava/display/event/input/KyEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/KyPressedEvent.java b/src/main/java/org/scijava/display/event/input/KyPressedEvent.java index 6cafacc77..2c812389b 100644 --- a/src/main/java/org/scijava/display/event/input/KyPressedEvent.java +++ b/src/main/java/org/scijava/display/event/input/KyPressedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/KyReleasedEvent.java b/src/main/java/org/scijava/display/event/input/KyReleasedEvent.java index acc1bdf9d..2ce597b48 100644 --- a/src/main/java/org/scijava/display/event/input/KyReleasedEvent.java +++ b/src/main/java/org/scijava/display/event/input/KyReleasedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/KyTypedEvent.java b/src/main/java/org/scijava/display/event/input/KyTypedEvent.java index 398fe027b..a345748ab 100644 --- a/src/main/java/org/scijava/display/event/input/KyTypedEvent.java +++ b/src/main/java/org/scijava/display/event/input/KyTypedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsButtonEvent.java b/src/main/java/org/scijava/display/event/input/MsButtonEvent.java index ed1d4eae4..2e728f3af 100644 --- a/src/main/java/org/scijava/display/event/input/MsButtonEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsButtonEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsClickedEvent.java b/src/main/java/org/scijava/display/event/input/MsClickedEvent.java index 62f9bd622..8962c1a80 100644 --- a/src/main/java/org/scijava/display/event/input/MsClickedEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsClickedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsDraggedEvent.java b/src/main/java/org/scijava/display/event/input/MsDraggedEvent.java index ec6595127..226453319 100644 --- a/src/main/java/org/scijava/display/event/input/MsDraggedEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsDraggedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsEnteredEvent.java b/src/main/java/org/scijava/display/event/input/MsEnteredEvent.java index de13c50ee..1ee9e2cf5 100644 --- a/src/main/java/org/scijava/display/event/input/MsEnteredEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsEnteredEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsEvent.java b/src/main/java/org/scijava/display/event/input/MsEvent.java index 3836bb65c..5e1d047f0 100644 --- a/src/main/java/org/scijava/display/event/input/MsEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsExitedEvent.java b/src/main/java/org/scijava/display/event/input/MsExitedEvent.java index 28584e4e1..f60eb58b2 100644 --- a/src/main/java/org/scijava/display/event/input/MsExitedEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsExitedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsMovedEvent.java b/src/main/java/org/scijava/display/event/input/MsMovedEvent.java index f8be96df2..ba737a960 100644 --- a/src/main/java/org/scijava/display/event/input/MsMovedEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsMovedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsPressedEvent.java b/src/main/java/org/scijava/display/event/input/MsPressedEvent.java index c45b5991d..19ca38bfd 100644 --- a/src/main/java/org/scijava/display/event/input/MsPressedEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsPressedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsReleasedEvent.java b/src/main/java/org/scijava/display/event/input/MsReleasedEvent.java index 2ad017f9c..219e62b73 100644 --- a/src/main/java/org/scijava/display/event/input/MsReleasedEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsReleasedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/input/MsWheelEvent.java b/src/main/java/org/scijava/display/event/input/MsWheelEvent.java index 0c723db58..8f0ec7c6b 100644 --- a/src/main/java/org/scijava/display/event/input/MsWheelEvent.java +++ b/src/main/java/org/scijava/display/event/input/MsWheelEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/window/WinActivatedEvent.java b/src/main/java/org/scijava/display/event/window/WinActivatedEvent.java index a51e7132b..380cc2185 100644 --- a/src/main/java/org/scijava/display/event/window/WinActivatedEvent.java +++ b/src/main/java/org/scijava/display/event/window/WinActivatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/window/WinClosedEvent.java b/src/main/java/org/scijava/display/event/window/WinClosedEvent.java index b54bae090..7e11f2581 100644 --- a/src/main/java/org/scijava/display/event/window/WinClosedEvent.java +++ b/src/main/java/org/scijava/display/event/window/WinClosedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/window/WinClosingEvent.java b/src/main/java/org/scijava/display/event/window/WinClosingEvent.java index 4bf578d83..f8573f746 100644 --- a/src/main/java/org/scijava/display/event/window/WinClosingEvent.java +++ b/src/main/java/org/scijava/display/event/window/WinClosingEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/window/WinDeactivatedEvent.java b/src/main/java/org/scijava/display/event/window/WinDeactivatedEvent.java index baceef2f0..c1f8f7d03 100644 --- a/src/main/java/org/scijava/display/event/window/WinDeactivatedEvent.java +++ b/src/main/java/org/scijava/display/event/window/WinDeactivatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/window/WinDeiconifiedEvent.java b/src/main/java/org/scijava/display/event/window/WinDeiconifiedEvent.java index 882058c7a..770c05f30 100644 --- a/src/main/java/org/scijava/display/event/window/WinDeiconifiedEvent.java +++ b/src/main/java/org/scijava/display/event/window/WinDeiconifiedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/window/WinEvent.java b/src/main/java/org/scijava/display/event/window/WinEvent.java index 75a4714ea..b691b0a71 100644 --- a/src/main/java/org/scijava/display/event/window/WinEvent.java +++ b/src/main/java/org/scijava/display/event/window/WinEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/window/WinIconifiedEvent.java b/src/main/java/org/scijava/display/event/window/WinIconifiedEvent.java index 731cae148..4486a5630 100644 --- a/src/main/java/org/scijava/display/event/window/WinIconifiedEvent.java +++ b/src/main/java/org/scijava/display/event/window/WinIconifiedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/display/event/window/WinOpenedEvent.java b/src/main/java/org/scijava/display/event/window/WinOpenedEvent.java index 4ac6abb44..e34298e6c 100644 --- a/src/main/java/org/scijava/display/event/window/WinOpenedEvent.java +++ b/src/main/java/org/scijava/display/event/window/WinOpenedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/download/DefaultDownloadService.java b/src/main/java/org/scijava/download/DefaultDownloadService.java index 6775b0bc0..da91dc3e8 100644 --- a/src/main/java/org/scijava/download/DefaultDownloadService.java +++ b/src/main/java/org/scijava/download/DefaultDownloadService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/download/DiskLocationCache.java b/src/main/java/org/scijava/download/DiskLocationCache.java index eb9f1f8a1..73471ebed 100644 --- a/src/main/java/org/scijava/download/DiskLocationCache.java +++ b/src/main/java/org/scijava/download/DiskLocationCache.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/download/Download.java b/src/main/java/org/scijava/download/Download.java index 313bc5840..56d00f71f 100644 --- a/src/main/java/org/scijava/download/Download.java +++ b/src/main/java/org/scijava/download/Download.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/download/DownloadService.java b/src/main/java/org/scijava/download/DownloadService.java index 7410aa1c5..abc4c8294 100644 --- a/src/main/java/org/scijava/download/DownloadService.java +++ b/src/main/java/org/scijava/download/DownloadService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/download/LocationCache.java b/src/main/java/org/scijava/download/LocationCache.java index 30da5a620..ee49eed26 100644 --- a/src/main/java/org/scijava/download/LocationCache.java +++ b/src/main/java/org/scijava/download/LocationCache.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/download/MultiWriteHandle.java b/src/main/java/org/scijava/download/MultiWriteHandle.java index b6a7c6e1d..4c7d5ef3a 100644 --- a/src/main/java/org/scijava/download/MultiWriteHandle.java +++ b/src/main/java/org/scijava/download/MultiWriteHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/ContextCreatedEvent.java b/src/main/java/org/scijava/event/ContextCreatedEvent.java index 8f6de90ee..2f43d2105 100644 --- a/src/main/java/org/scijava/event/ContextCreatedEvent.java +++ b/src/main/java/org/scijava/event/ContextCreatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/ContextDisposingEvent.java b/src/main/java/org/scijava/event/ContextDisposingEvent.java index 4f161ce33..472c6b03e 100644 --- a/src/main/java/org/scijava/event/ContextDisposingEvent.java +++ b/src/main/java/org/scijava/event/ContextDisposingEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/DefaultEventBus.java b/src/main/java/org/scijava/event/DefaultEventBus.java index 8d3f91745..72e269077 100644 --- a/src/main/java/org/scijava/event/DefaultEventBus.java +++ b/src/main/java/org/scijava/event/DefaultEventBus.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/DefaultEventHistory.java b/src/main/java/org/scijava/event/DefaultEventHistory.java index 0847b9b7f..c0d397cb1 100644 --- a/src/main/java/org/scijava/event/DefaultEventHistory.java +++ b/src/main/java/org/scijava/event/DefaultEventHistory.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/DefaultEventService.java b/src/main/java/org/scijava/event/DefaultEventService.java index 30194744d..d627ce668 100644 --- a/src/main/java/org/scijava/event/DefaultEventService.java +++ b/src/main/java/org/scijava/event/DefaultEventService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/EventDetails.java b/src/main/java/org/scijava/event/EventDetails.java index be2bd9494..794e3e3fa 100644 --- a/src/main/java/org/scijava/event/EventDetails.java +++ b/src/main/java/org/scijava/event/EventDetails.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/EventHandler.java b/src/main/java/org/scijava/event/EventHandler.java index 628e9a7a4..56283f452 100644 --- a/src/main/java/org/scijava/event/EventHandler.java +++ b/src/main/java/org/scijava/event/EventHandler.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/EventHistory.java b/src/main/java/org/scijava/event/EventHistory.java index f1b49e309..e54425120 100644 --- a/src/main/java/org/scijava/event/EventHistory.java +++ b/src/main/java/org/scijava/event/EventHistory.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/EventHistoryListener.java b/src/main/java/org/scijava/event/EventHistoryListener.java index a0da0e664..9beecf79f 100644 --- a/src/main/java/org/scijava/event/EventHistoryListener.java +++ b/src/main/java/org/scijava/event/EventHistoryListener.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/EventService.java b/src/main/java/org/scijava/event/EventService.java index 2a7f6d95b..00ef9d7f0 100644 --- a/src/main/java/org/scijava/event/EventService.java +++ b/src/main/java/org/scijava/event/EventService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/EventSubscriber.java b/src/main/java/org/scijava/event/EventSubscriber.java index 7bcef12d3..bb05a8f40 100644 --- a/src/main/java/org/scijava/event/EventSubscriber.java +++ b/src/main/java/org/scijava/event/EventSubscriber.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/event/SciJavaEvent.java b/src/main/java/org/scijava/event/SciJavaEvent.java index b4c8343d3..2fcc6876d 100644 --- a/src/main/java/org/scijava/event/SciJavaEvent.java +++ b/src/main/java/org/scijava/event/SciJavaEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/input/Accelerator.java b/src/main/java/org/scijava/input/Accelerator.java index ffa6ca9ae..c1296cfb6 100644 --- a/src/main/java/org/scijava/input/Accelerator.java +++ b/src/main/java/org/scijava/input/Accelerator.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/input/DefaultInputService.java b/src/main/java/org/scijava/input/DefaultInputService.java index 3f9f9b03b..2b3506c07 100644 --- a/src/main/java/org/scijava/input/DefaultInputService.java +++ b/src/main/java/org/scijava/input/DefaultInputService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/input/InputModifiers.java b/src/main/java/org/scijava/input/InputModifiers.java index dc1fd6095..21df50b23 100644 --- a/src/main/java/org/scijava/input/InputModifiers.java +++ b/src/main/java/org/scijava/input/InputModifiers.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/input/InputService.java b/src/main/java/org/scijava/input/InputService.java index 8bb2ea10a..a38c638bc 100644 --- a/src/main/java/org/scijava/input/InputService.java +++ b/src/main/java/org/scijava/input/InputService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/input/KeyCode.java b/src/main/java/org/scijava/input/KeyCode.java index c7207eeb3..2c2dc7444 100644 --- a/src/main/java/org/scijava/input/KeyCode.java +++ b/src/main/java/org/scijava/input/KeyCode.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/input/MouseCursor.java b/src/main/java/org/scijava/input/MouseCursor.java index 1ade50c90..8d6d55991 100644 --- a/src/main/java/org/scijava/input/MouseCursor.java +++ b/src/main/java/org/scijava/input/MouseCursor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/AbstractIOPlugin.java b/src/main/java/org/scijava/io/AbstractIOPlugin.java index 954e77258..7e7782572 100644 --- a/src/main/java/org/scijava/io/AbstractIOPlugin.java +++ b/src/main/java/org/scijava/io/AbstractIOPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/AbstractTypedIOService.java b/src/main/java/org/scijava/io/AbstractTypedIOService.java index 520441e43..28cd7b96f 100644 --- a/src/main/java/org/scijava/io/AbstractTypedIOService.java +++ b/src/main/java/org/scijava/io/AbstractTypedIOService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/ByteArrayByteBank.java b/src/main/java/org/scijava/io/ByteArrayByteBank.java index 196ba64c8..277f9abf2 100644 --- a/src/main/java/org/scijava/io/ByteArrayByteBank.java +++ b/src/main/java/org/scijava/io/ByteArrayByteBank.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/ByteBank.java b/src/main/java/org/scijava/io/ByteBank.java index 1bb062b54..fa6352140 100644 --- a/src/main/java/org/scijava/io/ByteBank.java +++ b/src/main/java/org/scijava/io/ByteBank.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/DefaultIOService.java b/src/main/java/org/scijava/io/DefaultIOService.java index a5199e76e..183dbcd07 100644 --- a/src/main/java/org/scijava/io/DefaultIOService.java +++ b/src/main/java/org/scijava/io/DefaultIOService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/DefaultRecentFileService.java b/src/main/java/org/scijava/io/DefaultRecentFileService.java index 299f3f387..1e7f0a85f 100644 --- a/src/main/java/org/scijava/io/DefaultRecentFileService.java +++ b/src/main/java/org/scijava/io/DefaultRecentFileService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/IOPlugin.java b/src/main/java/org/scijava/io/IOPlugin.java index 2c12ccd6a..ed42dee25 100644 --- a/src/main/java/org/scijava/io/IOPlugin.java +++ b/src/main/java/org/scijava/io/IOPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/IOService.java b/src/main/java/org/scijava/io/IOService.java index 26cd44836..d26c66ce9 100644 --- a/src/main/java/org/scijava/io/IOService.java +++ b/src/main/java/org/scijava/io/IOService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/RecentFileService.java b/src/main/java/org/scijava/io/RecentFileService.java index 7c549fe8b..38c6385a1 100644 --- a/src/main/java/org/scijava/io/RecentFileService.java +++ b/src/main/java/org/scijava/io/RecentFileService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/TypedIOService.java b/src/main/java/org/scijava/io/TypedIOService.java index 746311f6a..89fffd060 100644 --- a/src/main/java/org/scijava/io/TypedIOService.java +++ b/src/main/java/org/scijava/io/TypedIOService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/console/OpenArgument.java b/src/main/java/org/scijava/io/console/OpenArgument.java index efe0fe257..ab7aa259b 100644 --- a/src/main/java/org/scijava/io/console/OpenArgument.java +++ b/src/main/java/org/scijava/io/console/OpenArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/event/DataOpenedEvent.java b/src/main/java/org/scijava/io/event/DataOpenedEvent.java index a034e574f..b42d9fb0f 100644 --- a/src/main/java/org/scijava/io/event/DataOpenedEvent.java +++ b/src/main/java/org/scijava/io/event/DataOpenedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/event/DataSavedEvent.java b/src/main/java/org/scijava/io/event/DataSavedEvent.java index d2fb9e03e..74eaa8925 100644 --- a/src/main/java/org/scijava/io/event/DataSavedEvent.java +++ b/src/main/java/org/scijava/io/event/DataSavedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/event/IOEvent.java b/src/main/java/org/scijava/io/event/IOEvent.java index 593cdf721..e254fb0a8 100644 --- a/src/main/java/org/scijava/io/event/IOEvent.java +++ b/src/main/java/org/scijava/io/event/IOEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/AbstractDataHandle.java b/src/main/java/org/scijava/io/handle/AbstractDataHandle.java index dcafd62cd..9a8a57973 100644 --- a/src/main/java/org/scijava/io/handle/AbstractDataHandle.java +++ b/src/main/java/org/scijava/io/handle/AbstractDataHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/AbstractHigherOrderHandle.java b/src/main/java/org/scijava/io/handle/AbstractHigherOrderHandle.java index 853bc4098..a27fd185c 100644 --- a/src/main/java/org/scijava/io/handle/AbstractHigherOrderHandle.java +++ b/src/main/java/org/scijava/io/handle/AbstractHigherOrderHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/AbstractSeekableStreamHandle.java b/src/main/java/org/scijava/io/handle/AbstractSeekableStreamHandle.java index ac7318347..a28428328 100644 --- a/src/main/java/org/scijava/io/handle/AbstractSeekableStreamHandle.java +++ b/src/main/java/org/scijava/io/handle/AbstractSeekableStreamHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/AbstractStreamHandle.java b/src/main/java/org/scijava/io/handle/AbstractStreamHandle.java index 30af9f6a0..9660e9300 100644 --- a/src/main/java/org/scijava/io/handle/AbstractStreamHandle.java +++ b/src/main/java/org/scijava/io/handle/AbstractStreamHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/BytesHandle.java b/src/main/java/org/scijava/io/handle/BytesHandle.java index 4b0051372..b4cc82b4f 100644 --- a/src/main/java/org/scijava/io/handle/BytesHandle.java +++ b/src/main/java/org/scijava/io/handle/BytesHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/DataHandle.java b/src/main/java/org/scijava/io/handle/DataHandle.java index 61d413382..f5728f2cd 100644 --- a/src/main/java/org/scijava/io/handle/DataHandle.java +++ b/src/main/java/org/scijava/io/handle/DataHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/DataHandleInputStream.java b/src/main/java/org/scijava/io/handle/DataHandleInputStream.java index 7613b17be..e37ef5948 100644 --- a/src/main/java/org/scijava/io/handle/DataHandleInputStream.java +++ b/src/main/java/org/scijava/io/handle/DataHandleInputStream.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/DataHandleOutputStream.java b/src/main/java/org/scijava/io/handle/DataHandleOutputStream.java index 4e8259a8b..510a68e51 100644 --- a/src/main/java/org/scijava/io/handle/DataHandleOutputStream.java +++ b/src/main/java/org/scijava/io/handle/DataHandleOutputStream.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/DataHandleService.java b/src/main/java/org/scijava/io/handle/DataHandleService.java index e55cdfd3f..16782658f 100644 --- a/src/main/java/org/scijava/io/handle/DataHandleService.java +++ b/src/main/java/org/scijava/io/handle/DataHandleService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/DataHandles.java b/src/main/java/org/scijava/io/handle/DataHandles.java index a8976f3fa..abdcc0afb 100644 --- a/src/main/java/org/scijava/io/handle/DataHandles.java +++ b/src/main/java/org/scijava/io/handle/DataHandles.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/DefaultDataHandleService.java b/src/main/java/org/scijava/io/handle/DefaultDataHandleService.java index 66428855f..e820ca6ac 100644 --- a/src/main/java/org/scijava/io/handle/DefaultDataHandleService.java +++ b/src/main/java/org/scijava/io/handle/DefaultDataHandleService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/DummyHandle.java b/src/main/java/org/scijava/io/handle/DummyHandle.java index 61fe0bdf5..bb9cd70ac 100644 --- a/src/main/java/org/scijava/io/handle/DummyHandle.java +++ b/src/main/java/org/scijava/io/handle/DummyHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/FileHandle.java b/src/main/java/org/scijava/io/handle/FileHandle.java index 029c0c6b2..dbaedd134 100644 --- a/src/main/java/org/scijava/io/handle/FileHandle.java +++ b/src/main/java/org/scijava/io/handle/FileHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java b/src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java index 35841320b..af306b73b 100644 --- a/src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java +++ b/src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/ResettableStreamHandle.java b/src/main/java/org/scijava/io/handle/ResettableStreamHandle.java index 6a1022e9a..c202ad53d 100644 --- a/src/main/java/org/scijava/io/handle/ResettableStreamHandle.java +++ b/src/main/java/org/scijava/io/handle/ResettableStreamHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/SeekableStreamHandle.java b/src/main/java/org/scijava/io/handle/SeekableStreamHandle.java index fa4e1666d..bf517df16 100644 --- a/src/main/java/org/scijava/io/handle/SeekableStreamHandle.java +++ b/src/main/java/org/scijava/io/handle/SeekableStreamHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/StreamHandle.java b/src/main/java/org/scijava/io/handle/StreamHandle.java index c33eccdab..f134315cb 100644 --- a/src/main/java/org/scijava/io/handle/StreamHandle.java +++ b/src/main/java/org/scijava/io/handle/StreamHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/handle/WriteBufferDataHandle.java b/src/main/java/org/scijava/io/handle/WriteBufferDataHandle.java index 4f3a7d818..44c8b5064 100644 --- a/src/main/java/org/scijava/io/handle/WriteBufferDataHandle.java +++ b/src/main/java/org/scijava/io/handle/WriteBufferDataHandle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/AbstractLocation.java b/src/main/java/org/scijava/io/location/AbstractLocation.java index d93e29fa9..045d6fc37 100644 --- a/src/main/java/org/scijava/io/location/AbstractLocation.java +++ b/src/main/java/org/scijava/io/location/AbstractLocation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/AbstractLocationResolver.java b/src/main/java/org/scijava/io/location/AbstractLocationResolver.java index d05ad4c9b..675a4c775 100644 --- a/src/main/java/org/scijava/io/location/AbstractLocationResolver.java +++ b/src/main/java/org/scijava/io/location/AbstractLocationResolver.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/AbstractRemoteLocation.java b/src/main/java/org/scijava/io/location/AbstractRemoteLocation.java index 78e66e53b..2d211157f 100644 --- a/src/main/java/org/scijava/io/location/AbstractRemoteLocation.java +++ b/src/main/java/org/scijava/io/location/AbstractRemoteLocation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/BrowsableLocation.java b/src/main/java/org/scijava/io/location/BrowsableLocation.java index 68bbf0be3..234d2c88b 100644 --- a/src/main/java/org/scijava/io/location/BrowsableLocation.java +++ b/src/main/java/org/scijava/io/location/BrowsableLocation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/BytesLocation.java b/src/main/java/org/scijava/io/location/BytesLocation.java index 74bc91843..d16e83c69 100644 --- a/src/main/java/org/scijava/io/location/BytesLocation.java +++ b/src/main/java/org/scijava/io/location/BytesLocation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/DefaultLocationService.java b/src/main/java/org/scijava/io/location/DefaultLocationService.java index 46dd034ba..d4ea0845a 100644 --- a/src/main/java/org/scijava/io/location/DefaultLocationService.java +++ b/src/main/java/org/scijava/io/location/DefaultLocationService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/DummyLocation.java b/src/main/java/org/scijava/io/location/DummyLocation.java index 1235ff829..f1e2b4f64 100644 --- a/src/main/java/org/scijava/io/location/DummyLocation.java +++ b/src/main/java/org/scijava/io/location/DummyLocation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/FileLocation.java b/src/main/java/org/scijava/io/location/FileLocation.java index ef8b8950e..195389196 100644 --- a/src/main/java/org/scijava/io/location/FileLocation.java +++ b/src/main/java/org/scijava/io/location/FileLocation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/FileLocationResolver.java b/src/main/java/org/scijava/io/location/FileLocationResolver.java index 9c02c4a8f..67c57420c 100644 --- a/src/main/java/org/scijava/io/location/FileLocationResolver.java +++ b/src/main/java/org/scijava/io/location/FileLocationResolver.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/Location.java b/src/main/java/org/scijava/io/location/Location.java index efb45542f..1d2510c54 100644 --- a/src/main/java/org/scijava/io/location/Location.java +++ b/src/main/java/org/scijava/io/location/Location.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/LocationResolver.java b/src/main/java/org/scijava/io/location/LocationResolver.java index dac41d9bd..0f325a002 100644 --- a/src/main/java/org/scijava/io/location/LocationResolver.java +++ b/src/main/java/org/scijava/io/location/LocationResolver.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/LocationService.java b/src/main/java/org/scijava/io/location/LocationService.java index 08aa30759..1af4e1e26 100644 --- a/src/main/java/org/scijava/io/location/LocationService.java +++ b/src/main/java/org/scijava/io/location/LocationService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/RemoteLocation.java b/src/main/java/org/scijava/io/location/RemoteLocation.java index ce5760565..a39282b4f 100644 --- a/src/main/java/org/scijava/io/location/RemoteLocation.java +++ b/src/main/java/org/scijava/io/location/RemoteLocation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/URILocation.java b/src/main/java/org/scijava/io/location/URILocation.java index 3bc2789aa..0e5165a4a 100644 --- a/src/main/java/org/scijava/io/location/URILocation.java +++ b/src/main/java/org/scijava/io/location/URILocation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/location/URLLocation.java b/src/main/java/org/scijava/io/location/URLLocation.java index 37619be4f..73c4781f2 100644 --- a/src/main/java/org/scijava/io/location/URLLocation.java +++ b/src/main/java/org/scijava/io/location/URLLocation.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/nio/ByteBufferByteBank.java b/src/main/java/org/scijava/io/nio/ByteBufferByteBank.java index 92ccd5a1f..99588b672 100644 --- a/src/main/java/org/scijava/io/nio/ByteBufferByteBank.java +++ b/src/main/java/org/scijava/io/nio/ByteBufferByteBank.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/nio/DefaultNIOService.java b/src/main/java/org/scijava/io/nio/DefaultNIOService.java index 655580146..6e0ef72da 100644 --- a/src/main/java/org/scijava/io/nio/DefaultNIOService.java +++ b/src/main/java/org/scijava/io/nio/DefaultNIOService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/io/nio/NIOService.java b/src/main/java/org/scijava/io/nio/NIOService.java index 4bdb6be3e..ea5c6696c 100644 --- a/src/main/java/org/scijava/io/nio/NIOService.java +++ b/src/main/java/org/scijava/io/nio/NIOService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/AbstractLogService.java b/src/main/java/org/scijava/log/AbstractLogService.java index de30db3da..1227ea134 100644 --- a/src/main/java/org/scijava/log/AbstractLogService.java +++ b/src/main/java/org/scijava/log/AbstractLogService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/CallingClassUtils.java b/src/main/java/org/scijava/log/CallingClassUtils.java index c29516b91..34a52d894 100644 --- a/src/main/java/org/scijava/log/CallingClassUtils.java +++ b/src/main/java/org/scijava/log/CallingClassUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/DefaultLogger.java b/src/main/java/org/scijava/log/DefaultLogger.java index 0cf99f33e..9f148f647 100644 --- a/src/main/java/org/scijava/log/DefaultLogger.java +++ b/src/main/java/org/scijava/log/DefaultLogger.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/DefaultUncaughtExceptionHandler.java b/src/main/java/org/scijava/log/DefaultUncaughtExceptionHandler.java index e59cc2c93..1d3e9704e 100644 --- a/src/main/java/org/scijava/log/DefaultUncaughtExceptionHandler.java +++ b/src/main/java/org/scijava/log/DefaultUncaughtExceptionHandler.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/IgnoreAsCallingClass.java b/src/main/java/org/scijava/log/IgnoreAsCallingClass.java index 0b18fac9f..faa0da4d8 100644 --- a/src/main/java/org/scijava/log/IgnoreAsCallingClass.java +++ b/src/main/java/org/scijava/log/IgnoreAsCallingClass.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/LogLevel.java b/src/main/java/org/scijava/log/LogLevel.java index 0172ed524..cc36aba55 100644 --- a/src/main/java/org/scijava/log/LogLevel.java +++ b/src/main/java/org/scijava/log/LogLevel.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/LogListener.java b/src/main/java/org/scijava/log/LogListener.java index b2e8dad4b..fabbfa435 100644 --- a/src/main/java/org/scijava/log/LogListener.java +++ b/src/main/java/org/scijava/log/LogListener.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/LogMessage.java b/src/main/java/org/scijava/log/LogMessage.java index 4a621b261..fde5af3b9 100644 --- a/src/main/java/org/scijava/log/LogMessage.java +++ b/src/main/java/org/scijava/log/LogMessage.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/LogService.java b/src/main/java/org/scijava/log/LogService.java index 335abb8f6..7d7eac93f 100644 --- a/src/main/java/org/scijava/log/LogService.java +++ b/src/main/java/org/scijava/log/LogService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/LogSource.java b/src/main/java/org/scijava/log/LogSource.java index b44c48556..4338e3a8a 100644 --- a/src/main/java/org/scijava/log/LogSource.java +++ b/src/main/java/org/scijava/log/LogSource.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/Logged.java b/src/main/java/org/scijava/log/Logged.java index c12e4fe13..7f44f3f75 100644 --- a/src/main/java/org/scijava/log/Logged.java +++ b/src/main/java/org/scijava/log/Logged.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/Logger.java b/src/main/java/org/scijava/log/Logger.java index 0db237f70..8806a1dde 100644 --- a/src/main/java/org/scijava/log/Logger.java +++ b/src/main/java/org/scijava/log/Logger.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/log/StderrLogService.java b/src/main/java/org/scijava/log/StderrLogService.java index 9801bb746..184f11d52 100644 --- a/src/main/java/org/scijava/log/StderrLogService.java +++ b/src/main/java/org/scijava/log/StderrLogService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/main/DefaultMainService.java b/src/main/java/org/scijava/main/DefaultMainService.java index 79dea58cf..faffc2546 100644 --- a/src/main/java/org/scijava/main/DefaultMainService.java +++ b/src/main/java/org/scijava/main/DefaultMainService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/main/MainService.java b/src/main/java/org/scijava/main/MainService.java index d8b190de1..ac21af8f0 100644 --- a/src/main/java/org/scijava/main/MainService.java +++ b/src/main/java/org/scijava/main/MainService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/main/console/MainArgument.java b/src/main/java/org/scijava/main/console/MainArgument.java index 0125781da..f9139ff6c 100644 --- a/src/main/java/org/scijava/main/console/MainArgument.java +++ b/src/main/java/org/scijava/main/console/MainArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/main/run/MainCodeRunner.java b/src/main/java/org/scijava/main/run/MainCodeRunner.java index 6ff737b2b..627e8ece3 100644 --- a/src/main/java/org/scijava/main/run/MainCodeRunner.java +++ b/src/main/java/org/scijava/main/run/MainCodeRunner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/AbstractMenuCreator.java b/src/main/java/org/scijava/menu/AbstractMenuCreator.java index d28e3fa73..94dd1f596 100644 --- a/src/main/java/org/scijava/menu/AbstractMenuCreator.java +++ b/src/main/java/org/scijava/menu/AbstractMenuCreator.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/DefaultMenuService.java b/src/main/java/org/scijava/menu/DefaultMenuService.java index 73471d5c9..37863c869 100644 --- a/src/main/java/org/scijava/menu/DefaultMenuService.java +++ b/src/main/java/org/scijava/menu/DefaultMenuService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/MenuConstants.java b/src/main/java/org/scijava/menu/MenuConstants.java index 78f71535a..c68b5171c 100644 --- a/src/main/java/org/scijava/menu/MenuConstants.java +++ b/src/main/java/org/scijava/menu/MenuConstants.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/MenuCreator.java b/src/main/java/org/scijava/menu/MenuCreator.java index 20249f21b..571ea192e 100644 --- a/src/main/java/org/scijava/menu/MenuCreator.java +++ b/src/main/java/org/scijava/menu/MenuCreator.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/MenuService.java b/src/main/java/org/scijava/menu/MenuService.java index 1023a5fd6..8455284ac 100644 --- a/src/main/java/org/scijava/menu/MenuService.java +++ b/src/main/java/org/scijava/menu/MenuService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/ShadowMenu.java b/src/main/java/org/scijava/menu/ShadowMenu.java index f97ab4800..e0cecb326 100644 --- a/src/main/java/org/scijava/menu/ShadowMenu.java +++ b/src/main/java/org/scijava/menu/ShadowMenu.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/ShadowMenuIterator.java b/src/main/java/org/scijava/menu/ShadowMenuIterator.java index 4ac49edb9..45dfc836e 100644 --- a/src/main/java/org/scijava/menu/ShadowMenuIterator.java +++ b/src/main/java/org/scijava/menu/ShadowMenuIterator.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/event/MenuEvent.java b/src/main/java/org/scijava/menu/event/MenuEvent.java index c8ef4a79d..c1e81f70e 100644 --- a/src/main/java/org/scijava/menu/event/MenuEvent.java +++ b/src/main/java/org/scijava/menu/event/MenuEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/event/MenusAddedEvent.java b/src/main/java/org/scijava/menu/event/MenusAddedEvent.java index 299b7f68e..796bd039b 100644 --- a/src/main/java/org/scijava/menu/event/MenusAddedEvent.java +++ b/src/main/java/org/scijava/menu/event/MenusAddedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/event/MenusRemovedEvent.java b/src/main/java/org/scijava/menu/event/MenusRemovedEvent.java index 205c13229..fe156cde6 100644 --- a/src/main/java/org/scijava/menu/event/MenusRemovedEvent.java +++ b/src/main/java/org/scijava/menu/event/MenusRemovedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/menu/event/MenusUpdatedEvent.java b/src/main/java/org/scijava/menu/event/MenusUpdatedEvent.java index ea69e3833..01df28f33 100644 --- a/src/main/java/org/scijava/menu/event/MenusUpdatedEvent.java +++ b/src/main/java/org/scijava/menu/event/MenusUpdatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/AbstractModule.java b/src/main/java/org/scijava/module/AbstractModule.java index 4fd0aacf3..e6400f7cc 100644 --- a/src/main/java/org/scijava/module/AbstractModule.java +++ b/src/main/java/org/scijava/module/AbstractModule.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/AbstractModuleInfo.java b/src/main/java/org/scijava/module/AbstractModuleInfo.java index 29379b44e..78747cacb 100644 --- a/src/main/java/org/scijava/module/AbstractModuleInfo.java +++ b/src/main/java/org/scijava/module/AbstractModuleInfo.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/AbstractModuleItem.java b/src/main/java/org/scijava/module/AbstractModuleItem.java index f61cfcc54..ad9b863d2 100644 --- a/src/main/java/org/scijava/module/AbstractModuleItem.java +++ b/src/main/java/org/scijava/module/AbstractModuleItem.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/DefaultModuleService.java b/src/main/java/org/scijava/module/DefaultModuleService.java index e4461f236..b6d3fa025 100644 --- a/src/main/java/org/scijava/module/DefaultModuleService.java +++ b/src/main/java/org/scijava/module/DefaultModuleService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/DefaultMutableModule.java b/src/main/java/org/scijava/module/DefaultMutableModule.java index 768d6c663..2d483797a 100644 --- a/src/main/java/org/scijava/module/DefaultMutableModule.java +++ b/src/main/java/org/scijava/module/DefaultMutableModule.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/DefaultMutableModuleInfo.java b/src/main/java/org/scijava/module/DefaultMutableModuleInfo.java index 859fe0d9b..e41f52465 100644 --- a/src/main/java/org/scijava/module/DefaultMutableModuleInfo.java +++ b/src/main/java/org/scijava/module/DefaultMutableModuleInfo.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/DefaultMutableModuleItem.java b/src/main/java/org/scijava/module/DefaultMutableModuleItem.java index 3e3eb139c..956d245d6 100644 --- a/src/main/java/org/scijava/module/DefaultMutableModuleItem.java +++ b/src/main/java/org/scijava/module/DefaultMutableModuleItem.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/MethodCallException.java b/src/main/java/org/scijava/module/MethodCallException.java index eca6e5e5c..5dd89a0d6 100644 --- a/src/main/java/org/scijava/module/MethodCallException.java +++ b/src/main/java/org/scijava/module/MethodCallException.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/MethodRef.java b/src/main/java/org/scijava/module/MethodRef.java index 758f8d390..8dff15695 100644 --- a/src/main/java/org/scijava/module/MethodRef.java +++ b/src/main/java/org/scijava/module/MethodRef.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/Module.java b/src/main/java/org/scijava/module/Module.java index 16f555a48..a60bd7d3e 100644 --- a/src/main/java/org/scijava/module/Module.java +++ b/src/main/java/org/scijava/module/Module.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/ModuleCanceledException.java b/src/main/java/org/scijava/module/ModuleCanceledException.java index c39147745..cd8cb0cf4 100644 --- a/src/main/java/org/scijava/module/ModuleCanceledException.java +++ b/src/main/java/org/scijava/module/ModuleCanceledException.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/ModuleException.java b/src/main/java/org/scijava/module/ModuleException.java index 0b4339108..c178e6a39 100644 --- a/src/main/java/org/scijava/module/ModuleException.java +++ b/src/main/java/org/scijava/module/ModuleException.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/ModuleIndex.java b/src/main/java/org/scijava/module/ModuleIndex.java index 30f53e048..0b11c9f52 100644 --- a/src/main/java/org/scijava/module/ModuleIndex.java +++ b/src/main/java/org/scijava/module/ModuleIndex.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/ModuleInfo.java b/src/main/java/org/scijava/module/ModuleInfo.java index d95a56335..73e1a59a9 100644 --- a/src/main/java/org/scijava/module/ModuleInfo.java +++ b/src/main/java/org/scijava/module/ModuleInfo.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/ModuleItem.java b/src/main/java/org/scijava/module/ModuleItem.java index cec5cb5e2..0007ee040 100644 --- a/src/main/java/org/scijava/module/ModuleItem.java +++ b/src/main/java/org/scijava/module/ModuleItem.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/ModuleRunner.java b/src/main/java/org/scijava/module/ModuleRunner.java index 7de66702f..49879fe71 100644 --- a/src/main/java/org/scijava/module/ModuleRunner.java +++ b/src/main/java/org/scijava/module/ModuleRunner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/ModuleService.java b/src/main/java/org/scijava/module/ModuleService.java index ad1ae76d3..8b8ed2f51 100644 --- a/src/main/java/org/scijava/module/ModuleService.java +++ b/src/main/java/org/scijava/module/ModuleService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/MutableModule.java b/src/main/java/org/scijava/module/MutableModule.java index 487c98f00..87e839206 100644 --- a/src/main/java/org/scijava/module/MutableModule.java +++ b/src/main/java/org/scijava/module/MutableModule.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/MutableModuleInfo.java b/src/main/java/org/scijava/module/MutableModuleInfo.java index 7dd5bffdd..fd3cbbb2d 100644 --- a/src/main/java/org/scijava/module/MutableModuleInfo.java +++ b/src/main/java/org/scijava/module/MutableModuleInfo.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/MutableModuleItem.java b/src/main/java/org/scijava/module/MutableModuleItem.java index 73f952a7e..a3b4ccc09 100644 --- a/src/main/java/org/scijava/module/MutableModuleItem.java +++ b/src/main/java/org/scijava/module/MutableModuleItem.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleCanceledEvent.java b/src/main/java/org/scijava/module/event/ModuleCanceledEvent.java index 4ad43d60d..9016e323a 100644 --- a/src/main/java/org/scijava/module/event/ModuleCanceledEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleCanceledEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleErroredEvent.java b/src/main/java/org/scijava/module/event/ModuleErroredEvent.java index ce0fd6924..364772b38 100644 --- a/src/main/java/org/scijava/module/event/ModuleErroredEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleErroredEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleEvent.java b/src/main/java/org/scijava/module/event/ModuleEvent.java index d00c7ca09..96c3ddca3 100644 --- a/src/main/java/org/scijava/module/event/ModuleEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleExecutedEvent.java b/src/main/java/org/scijava/module/event/ModuleExecutedEvent.java index eecd5c063..2942ea56d 100644 --- a/src/main/java/org/scijava/module/event/ModuleExecutedEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleExecutedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleExecutingEvent.java b/src/main/java/org/scijava/module/event/ModuleExecutingEvent.java index 2cd97f867..f1fd53f5c 100644 --- a/src/main/java/org/scijava/module/event/ModuleExecutingEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleExecutingEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleExecutionEvent.java b/src/main/java/org/scijava/module/event/ModuleExecutionEvent.java index c19ba0535..940a9d8e0 100644 --- a/src/main/java/org/scijava/module/event/ModuleExecutionEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleExecutionEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleFinishedEvent.java b/src/main/java/org/scijava/module/event/ModuleFinishedEvent.java index 9bc5604b3..692be5b92 100644 --- a/src/main/java/org/scijava/module/event/ModuleFinishedEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleFinishedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModulePostprocessEvent.java b/src/main/java/org/scijava/module/event/ModulePostprocessEvent.java index f92330682..9d42be6ab 100644 --- a/src/main/java/org/scijava/module/event/ModulePostprocessEvent.java +++ b/src/main/java/org/scijava/module/event/ModulePostprocessEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModulePreprocessEvent.java b/src/main/java/org/scijava/module/event/ModulePreprocessEvent.java index 92e1ab81e..760c2c55f 100644 --- a/src/main/java/org/scijava/module/event/ModulePreprocessEvent.java +++ b/src/main/java/org/scijava/module/event/ModulePreprocessEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleProcessEvent.java b/src/main/java/org/scijava/module/event/ModuleProcessEvent.java index 3588bc103..b58046091 100644 --- a/src/main/java/org/scijava/module/event/ModuleProcessEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleProcessEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModuleStartedEvent.java b/src/main/java/org/scijava/module/event/ModuleStartedEvent.java index 5da7e5fe7..975c5e8af 100644 --- a/src/main/java/org/scijava/module/event/ModuleStartedEvent.java +++ b/src/main/java/org/scijava/module/event/ModuleStartedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModulesAddedEvent.java b/src/main/java/org/scijava/module/event/ModulesAddedEvent.java index b32385ae3..aa3b3877c 100644 --- a/src/main/java/org/scijava/module/event/ModulesAddedEvent.java +++ b/src/main/java/org/scijava/module/event/ModulesAddedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModulesListEvent.java b/src/main/java/org/scijava/module/event/ModulesListEvent.java index 5f6cca8c3..95b2c1c28 100644 --- a/src/main/java/org/scijava/module/event/ModulesListEvent.java +++ b/src/main/java/org/scijava/module/event/ModulesListEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModulesRemovedEvent.java b/src/main/java/org/scijava/module/event/ModulesRemovedEvent.java index f8a9a9780..f60959dbc 100644 --- a/src/main/java/org/scijava/module/event/ModulesRemovedEvent.java +++ b/src/main/java/org/scijava/module/event/ModulesRemovedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/event/ModulesUpdatedEvent.java b/src/main/java/org/scijava/module/event/ModulesUpdatedEvent.java index 075f1f826..a0a14f75d 100644 --- a/src/main/java/org/scijava/module/event/ModulesUpdatedEvent.java +++ b/src/main/java/org/scijava/module/event/ModulesUpdatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/AbstractPostprocessorPlugin.java b/src/main/java/org/scijava/module/process/AbstractPostprocessorPlugin.java index 575fec9b3..8ac5886d5 100644 --- a/src/main/java/org/scijava/module/process/AbstractPostprocessorPlugin.java +++ b/src/main/java/org/scijava/module/process/AbstractPostprocessorPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/AbstractPreprocessorPlugin.java b/src/main/java/org/scijava/module/process/AbstractPreprocessorPlugin.java index 53cbac997..4f5f625ca 100644 --- a/src/main/java/org/scijava/module/process/AbstractPreprocessorPlugin.java +++ b/src/main/java/org/scijava/module/process/AbstractPreprocessorPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/AbstractSingleInputPreprocessor.java b/src/main/java/org/scijava/module/process/AbstractSingleInputPreprocessor.java index 0e30c3935..b373722ee 100644 --- a/src/main/java/org/scijava/module/process/AbstractSingleInputPreprocessor.java +++ b/src/main/java/org/scijava/module/process/AbstractSingleInputPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/CheckInputsPreprocessor.java b/src/main/java/org/scijava/module/process/CheckInputsPreprocessor.java index 545261ffc..fff89a404 100644 --- a/src/main/java/org/scijava/module/process/CheckInputsPreprocessor.java +++ b/src/main/java/org/scijava/module/process/CheckInputsPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/DebugPostprocessor.java b/src/main/java/org/scijava/module/process/DebugPostprocessor.java index af8bd28c2..2760cea81 100644 --- a/src/main/java/org/scijava/module/process/DebugPostprocessor.java +++ b/src/main/java/org/scijava/module/process/DebugPostprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/DebugPreprocessor.java b/src/main/java/org/scijava/module/process/DebugPreprocessor.java index 8e33d1088..59db93a4e 100644 --- a/src/main/java/org/scijava/module/process/DebugPreprocessor.java +++ b/src/main/java/org/scijava/module/process/DebugPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/DefaultValuePreprocessor.java b/src/main/java/org/scijava/module/process/DefaultValuePreprocessor.java index 28c951188..b85d7ce60 100644 --- a/src/main/java/org/scijava/module/process/DefaultValuePreprocessor.java +++ b/src/main/java/org/scijava/module/process/DefaultValuePreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/GatewayPreprocessor.java b/src/main/java/org/scijava/module/process/GatewayPreprocessor.java index b59b8c8cf..c080e8100 100644 --- a/src/main/java/org/scijava/module/process/GatewayPreprocessor.java +++ b/src/main/java/org/scijava/module/process/GatewayPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/InitPreprocessor.java b/src/main/java/org/scijava/module/process/InitPreprocessor.java index 89c6af4d7..7cbe03d34 100644 --- a/src/main/java/org/scijava/module/process/InitPreprocessor.java +++ b/src/main/java/org/scijava/module/process/InitPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/LoadInputsPreprocessor.java b/src/main/java/org/scijava/module/process/LoadInputsPreprocessor.java index 228058fac..abf184e9f 100644 --- a/src/main/java/org/scijava/module/process/LoadInputsPreprocessor.java +++ b/src/main/java/org/scijava/module/process/LoadInputsPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/LoggerPreprocessor.java b/src/main/java/org/scijava/module/process/LoggerPreprocessor.java index 7f4b5531e..2be46df60 100644 --- a/src/main/java/org/scijava/module/process/LoggerPreprocessor.java +++ b/src/main/java/org/scijava/module/process/LoggerPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/ModulePostprocessor.java b/src/main/java/org/scijava/module/process/ModulePostprocessor.java index ee9a06864..528c6a815 100644 --- a/src/main/java/org/scijava/module/process/ModulePostprocessor.java +++ b/src/main/java/org/scijava/module/process/ModulePostprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/ModulePreprocessor.java b/src/main/java/org/scijava/module/process/ModulePreprocessor.java index a90e04b8f..a1b65e315 100644 --- a/src/main/java/org/scijava/module/process/ModulePreprocessor.java +++ b/src/main/java/org/scijava/module/process/ModulePreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/ModuleProcessor.java b/src/main/java/org/scijava/module/process/ModuleProcessor.java index 67284b0a1..696e06602 100644 --- a/src/main/java/org/scijava/module/process/ModuleProcessor.java +++ b/src/main/java/org/scijava/module/process/ModuleProcessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/PostprocessorPlugin.java b/src/main/java/org/scijava/module/process/PostprocessorPlugin.java index 21eccd05f..8c0dc970b 100644 --- a/src/main/java/org/scijava/module/process/PostprocessorPlugin.java +++ b/src/main/java/org/scijava/module/process/PostprocessorPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/PreprocessorPlugin.java b/src/main/java/org/scijava/module/process/PreprocessorPlugin.java index fb8765a20..2a13be6e0 100644 --- a/src/main/java/org/scijava/module/process/PreprocessorPlugin.java +++ b/src/main/java/org/scijava/module/process/PreprocessorPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/SaveInputsPreprocessor.java b/src/main/java/org/scijava/module/process/SaveInputsPreprocessor.java index c92e54bb8..0cabffa55 100644 --- a/src/main/java/org/scijava/module/process/SaveInputsPreprocessor.java +++ b/src/main/java/org/scijava/module/process/SaveInputsPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/ServicePreprocessor.java b/src/main/java/org/scijava/module/process/ServicePreprocessor.java index 75c66526e..c195ffa93 100644 --- a/src/main/java/org/scijava/module/process/ServicePreprocessor.java +++ b/src/main/java/org/scijava/module/process/ServicePreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/process/ValidityPreprocessor.java b/src/main/java/org/scijava/module/process/ValidityPreprocessor.java index 47c523036..78666b9bf 100644 --- a/src/main/java/org/scijava/module/process/ValidityPreprocessor.java +++ b/src/main/java/org/scijava/module/process/ValidityPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/module/run/ModuleCodeRunner.java b/src/main/java/org/scijava/module/run/ModuleCodeRunner.java index 15faa89ce..1e6ee836b 100644 --- a/src/main/java/org/scijava/module/run/ModuleCodeRunner.java +++ b/src/main/java/org/scijava/module/run/ModuleCodeRunner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/DefaultObjectService.java b/src/main/java/org/scijava/object/DefaultObjectService.java index 7efa98f4b..ccd8218a1 100644 --- a/src/main/java/org/scijava/object/DefaultObjectService.java +++ b/src/main/java/org/scijava/object/DefaultObjectService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/LazyObjects.java b/src/main/java/org/scijava/object/LazyObjects.java index 8d90f18b0..7a2ac555a 100644 --- a/src/main/java/org/scijava/object/LazyObjects.java +++ b/src/main/java/org/scijava/object/LazyObjects.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/NamedObjectIndex.java b/src/main/java/org/scijava/object/NamedObjectIndex.java index a37c1eff1..a05f326f1 100644 --- a/src/main/java/org/scijava/object/NamedObjectIndex.java +++ b/src/main/java/org/scijava/object/NamedObjectIndex.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/ObjectIndex.java b/src/main/java/org/scijava/object/ObjectIndex.java index 3bc0567b0..c8c9df2c5 100644 --- a/src/main/java/org/scijava/object/ObjectIndex.java +++ b/src/main/java/org/scijava/object/ObjectIndex.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/ObjectService.java b/src/main/java/org/scijava/object/ObjectService.java index 7fce98b07..478be8af1 100644 --- a/src/main/java/org/scijava/object/ObjectService.java +++ b/src/main/java/org/scijava/object/ObjectService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/SortedObjectIndex.java b/src/main/java/org/scijava/object/SortedObjectIndex.java index bb233bf26..0ffec7b19 100644 --- a/src/main/java/org/scijava/object/SortedObjectIndex.java +++ b/src/main/java/org/scijava/object/SortedObjectIndex.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/event/ListEvent.java b/src/main/java/org/scijava/object/event/ListEvent.java index 84f8026a8..d13533817 100644 --- a/src/main/java/org/scijava/object/event/ListEvent.java +++ b/src/main/java/org/scijava/object/event/ListEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/event/ObjectCreatedEvent.java b/src/main/java/org/scijava/object/event/ObjectCreatedEvent.java index 7e35c68e4..53ad97b26 100644 --- a/src/main/java/org/scijava/object/event/ObjectCreatedEvent.java +++ b/src/main/java/org/scijava/object/event/ObjectCreatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/event/ObjectDeletedEvent.java b/src/main/java/org/scijava/object/event/ObjectDeletedEvent.java index fc5e237b6..1825bbc87 100644 --- a/src/main/java/org/scijava/object/event/ObjectDeletedEvent.java +++ b/src/main/java/org/scijava/object/event/ObjectDeletedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/event/ObjectEvent.java b/src/main/java/org/scijava/object/event/ObjectEvent.java index 6730e23d1..e2b5abe73 100644 --- a/src/main/java/org/scijava/object/event/ObjectEvent.java +++ b/src/main/java/org/scijava/object/event/ObjectEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/event/ObjectModifiedEvent.java b/src/main/java/org/scijava/object/event/ObjectModifiedEvent.java index 33b1291d1..e87836338 100644 --- a/src/main/java/org/scijava/object/event/ObjectModifiedEvent.java +++ b/src/main/java/org/scijava/object/event/ObjectModifiedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/event/ObjectsAddedEvent.java b/src/main/java/org/scijava/object/event/ObjectsAddedEvent.java index 1ec22cb3a..7487ee5ed 100644 --- a/src/main/java/org/scijava/object/event/ObjectsAddedEvent.java +++ b/src/main/java/org/scijava/object/event/ObjectsAddedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/event/ObjectsListEvent.java b/src/main/java/org/scijava/object/event/ObjectsListEvent.java index d77e8f3cd..de8aaf9e2 100644 --- a/src/main/java/org/scijava/object/event/ObjectsListEvent.java +++ b/src/main/java/org/scijava/object/event/ObjectsListEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/object/event/ObjectsRemovedEvent.java b/src/main/java/org/scijava/object/event/ObjectsRemovedEvent.java index 938b55b8e..2bf0f49ff 100644 --- a/src/main/java/org/scijava/object/event/ObjectsRemovedEvent.java +++ b/src/main/java/org/scijava/object/event/ObjectsRemovedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/options/DefaultOptionsService.java b/src/main/java/org/scijava/options/DefaultOptionsService.java index 03379d9d8..a7239d833 100644 --- a/src/main/java/org/scijava/options/DefaultOptionsService.java +++ b/src/main/java/org/scijava/options/DefaultOptionsService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/options/OptionsPlugin.java b/src/main/java/org/scijava/options/OptionsPlugin.java index c86b0f34d..815c640e9 100644 --- a/src/main/java/org/scijava/options/OptionsPlugin.java +++ b/src/main/java/org/scijava/options/OptionsPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/options/OptionsService.java b/src/main/java/org/scijava/options/OptionsService.java index 69353a5eb..fcb68ed08 100644 --- a/src/main/java/org/scijava/options/OptionsService.java +++ b/src/main/java/org/scijava/options/OptionsService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/options/event/OptionsEvent.java b/src/main/java/org/scijava/options/event/OptionsEvent.java index 42e5cd1b7..20cc74f48 100644 --- a/src/main/java/org/scijava/options/event/OptionsEvent.java +++ b/src/main/java/org/scijava/options/event/OptionsEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/parse/DefaultParseService.java b/src/main/java/org/scijava/parse/DefaultParseService.java index b8d46f0f8..b686d558b 100644 --- a/src/main/java/org/scijava/parse/DefaultParseService.java +++ b/src/main/java/org/scijava/parse/DefaultParseService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/parse/Item.java b/src/main/java/org/scijava/parse/Item.java index 3ef55bcf4..4cba11748 100644 --- a/src/main/java/org/scijava/parse/Item.java +++ b/src/main/java/org/scijava/parse/Item.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/parse/Items.java b/src/main/java/org/scijava/parse/Items.java index 1b9ac7dd1..49dbaf9ad 100644 --- a/src/main/java/org/scijava/parse/Items.java +++ b/src/main/java/org/scijava/parse/Items.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/parse/ParseService.java b/src/main/java/org/scijava/parse/ParseService.java index 19a705bcf..ba20fb813 100644 --- a/src/main/java/org/scijava/parse/ParseService.java +++ b/src/main/java/org/scijava/parse/ParseService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/AbstractPlatform.java b/src/main/java/org/scijava/platform/AbstractPlatform.java index 73710dfc2..f20f49b14 100644 --- a/src/main/java/org/scijava/platform/AbstractPlatform.java +++ b/src/main/java/org/scijava/platform/AbstractPlatform.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/AppEventService.java b/src/main/java/org/scijava/platform/AppEventService.java index b10605b52..16b191878 100644 --- a/src/main/java/org/scijava/platform/AppEventService.java +++ b/src/main/java/org/scijava/platform/AppEventService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/DefaultAppEventService.java b/src/main/java/org/scijava/platform/DefaultAppEventService.java index 55b276774..bd0c34424 100644 --- a/src/main/java/org/scijava/platform/DefaultAppEventService.java +++ b/src/main/java/org/scijava/platform/DefaultAppEventService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/DefaultPlatform.java b/src/main/java/org/scijava/platform/DefaultPlatform.java index fbd7e67f0..f9d971b58 100644 --- a/src/main/java/org/scijava/platform/DefaultPlatform.java +++ b/src/main/java/org/scijava/platform/DefaultPlatform.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/DefaultPlatformService.java b/src/main/java/org/scijava/platform/DefaultPlatformService.java index 5804a11a4..e5effaaf1 100644 --- a/src/main/java/org/scijava/platform/DefaultPlatformService.java +++ b/src/main/java/org/scijava/platform/DefaultPlatformService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/Platform.java b/src/main/java/org/scijava/platform/Platform.java index 948024f61..96e0e6743 100644 --- a/src/main/java/org/scijava/platform/Platform.java +++ b/src/main/java/org/scijava/platform/Platform.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/PlatformService.java b/src/main/java/org/scijava/platform/PlatformService.java index c8e796e7f..68e07fe9f 100644 --- a/src/main/java/org/scijava/platform/PlatformService.java +++ b/src/main/java/org/scijava/platform/PlatformService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppAboutEvent.java b/src/main/java/org/scijava/platform/event/AppAboutEvent.java index b266a20bb..251d253a7 100644 --- a/src/main/java/org/scijava/platform/event/AppAboutEvent.java +++ b/src/main/java/org/scijava/platform/event/AppAboutEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppFocusEvent.java b/src/main/java/org/scijava/platform/event/AppFocusEvent.java index 4f65243fd..8d1278a2f 100644 --- a/src/main/java/org/scijava/platform/event/AppFocusEvent.java +++ b/src/main/java/org/scijava/platform/event/AppFocusEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppMenusCreatedEvent.java b/src/main/java/org/scijava/platform/event/AppMenusCreatedEvent.java index 94244046e..23b119891 100644 --- a/src/main/java/org/scijava/platform/event/AppMenusCreatedEvent.java +++ b/src/main/java/org/scijava/platform/event/AppMenusCreatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppOpenFilesEvent.java b/src/main/java/org/scijava/platform/event/AppOpenFilesEvent.java index 6a51cf9da..0a5d85fa7 100644 --- a/src/main/java/org/scijava/platform/event/AppOpenFilesEvent.java +++ b/src/main/java/org/scijava/platform/event/AppOpenFilesEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppPreferencesEvent.java b/src/main/java/org/scijava/platform/event/AppPreferencesEvent.java index 650200905..c5221df29 100644 --- a/src/main/java/org/scijava/platform/event/AppPreferencesEvent.java +++ b/src/main/java/org/scijava/platform/event/AppPreferencesEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppPrintEvent.java b/src/main/java/org/scijava/platform/event/AppPrintEvent.java index 7325f24cc..0c764a718 100644 --- a/src/main/java/org/scijava/platform/event/AppPrintEvent.java +++ b/src/main/java/org/scijava/platform/event/AppPrintEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppQuitEvent.java b/src/main/java/org/scijava/platform/event/AppQuitEvent.java index 002192a48..c3198e627 100644 --- a/src/main/java/org/scijava/platform/event/AppQuitEvent.java +++ b/src/main/java/org/scijava/platform/event/AppQuitEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppReOpenEvent.java b/src/main/java/org/scijava/platform/event/AppReOpenEvent.java index f5657e7b2..47a252476 100644 --- a/src/main/java/org/scijava/platform/event/AppReOpenEvent.java +++ b/src/main/java/org/scijava/platform/event/AppReOpenEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppScreenSleepEvent.java b/src/main/java/org/scijava/platform/event/AppScreenSleepEvent.java index 678e2e839..c78337b1a 100644 --- a/src/main/java/org/scijava/platform/event/AppScreenSleepEvent.java +++ b/src/main/java/org/scijava/platform/event/AppScreenSleepEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppSleepEvent.java b/src/main/java/org/scijava/platform/event/AppSleepEvent.java index c8e102725..eb3b09762 100644 --- a/src/main/java/org/scijava/platform/event/AppSleepEvent.java +++ b/src/main/java/org/scijava/platform/event/AppSleepEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppSystemSleepEvent.java b/src/main/java/org/scijava/platform/event/AppSystemSleepEvent.java index 5fe8a7286..8e29b17a3 100644 --- a/src/main/java/org/scijava/platform/event/AppSystemSleepEvent.java +++ b/src/main/java/org/scijava/platform/event/AppSystemSleepEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppUserSessionEvent.java b/src/main/java/org/scijava/platform/event/AppUserSessionEvent.java index bd99e0c74..b5d608118 100644 --- a/src/main/java/org/scijava/platform/event/AppUserSessionEvent.java +++ b/src/main/java/org/scijava/platform/event/AppUserSessionEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/AppVisibleEvent.java b/src/main/java/org/scijava/platform/event/AppVisibleEvent.java index 45a9fb4e2..8a029561d 100644 --- a/src/main/java/org/scijava/platform/event/AppVisibleEvent.java +++ b/src/main/java/org/scijava/platform/event/AppVisibleEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/platform/event/ApplicationEvent.java b/src/main/java/org/scijava/platform/event/ApplicationEvent.java index 0038af03f..4856c0748 100644 --- a/src/main/java/org/scijava/platform/event/ApplicationEvent.java +++ b/src/main/java/org/scijava/platform/event/ApplicationEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractHandlerPlugin.java b/src/main/java/org/scijava/plugin/AbstractHandlerPlugin.java index b0e475b68..995bde741 100644 --- a/src/main/java/org/scijava/plugin/AbstractHandlerPlugin.java +++ b/src/main/java/org/scijava/plugin/AbstractHandlerPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractHandlerService.java b/src/main/java/org/scijava/plugin/AbstractHandlerService.java index f2562e9ae..af501d619 100644 --- a/src/main/java/org/scijava/plugin/AbstractHandlerService.java +++ b/src/main/java/org/scijava/plugin/AbstractHandlerService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractPTService.java b/src/main/java/org/scijava/plugin/AbstractPTService.java index 5170d256e..e84ad8c07 100644 --- a/src/main/java/org/scijava/plugin/AbstractPTService.java +++ b/src/main/java/org/scijava/plugin/AbstractPTService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractRichPlugin.java b/src/main/java/org/scijava/plugin/AbstractRichPlugin.java index 5f804afa7..73c37cb3f 100644 --- a/src/main/java/org/scijava/plugin/AbstractRichPlugin.java +++ b/src/main/java/org/scijava/plugin/AbstractRichPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractSingletonService.java b/src/main/java/org/scijava/plugin/AbstractSingletonService.java index fe51559aa..497528dc8 100644 --- a/src/main/java/org/scijava/plugin/AbstractSingletonService.java +++ b/src/main/java/org/scijava/plugin/AbstractSingletonService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractTypedPlugin.java b/src/main/java/org/scijava/plugin/AbstractTypedPlugin.java index 40929cf32..46dc75ead 100644 --- a/src/main/java/org/scijava/plugin/AbstractTypedPlugin.java +++ b/src/main/java/org/scijava/plugin/AbstractTypedPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractTypedService.java b/src/main/java/org/scijava/plugin/AbstractTypedService.java index 67fe4a669..9929517f2 100644 --- a/src/main/java/org/scijava/plugin/AbstractTypedService.java +++ b/src/main/java/org/scijava/plugin/AbstractTypedService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractWrapperPlugin.java b/src/main/java/org/scijava/plugin/AbstractWrapperPlugin.java index 525fd50c3..9f0281c74 100644 --- a/src/main/java/org/scijava/plugin/AbstractWrapperPlugin.java +++ b/src/main/java/org/scijava/plugin/AbstractWrapperPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/AbstractWrapperService.java b/src/main/java/org/scijava/plugin/AbstractWrapperService.java index c05cb94ad..b60bca1ae 100644 --- a/src/main/java/org/scijava/plugin/AbstractWrapperService.java +++ b/src/main/java/org/scijava/plugin/AbstractWrapperService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/Attr.java b/src/main/java/org/scijava/plugin/Attr.java index 4287edcc0..717550439 100644 --- a/src/main/java/org/scijava/plugin/Attr.java +++ b/src/main/java/org/scijava/plugin/Attr.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/DefaultPluginFinder.java b/src/main/java/org/scijava/plugin/DefaultPluginFinder.java index 0b16c9d58..e2eb4949c 100644 --- a/src/main/java/org/scijava/plugin/DefaultPluginFinder.java +++ b/src/main/java/org/scijava/plugin/DefaultPluginFinder.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/DefaultPluginService.java b/src/main/java/org/scijava/plugin/DefaultPluginService.java index c904ffb73..8193d8d5e 100644 --- a/src/main/java/org/scijava/plugin/DefaultPluginService.java +++ b/src/main/java/org/scijava/plugin/DefaultPluginService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/HandlerPlugin.java b/src/main/java/org/scijava/plugin/HandlerPlugin.java index f2fe8aaf8..33f179bfb 100644 --- a/src/main/java/org/scijava/plugin/HandlerPlugin.java +++ b/src/main/java/org/scijava/plugin/HandlerPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/HandlerService.java b/src/main/java/org/scijava/plugin/HandlerService.java index 168f977d1..65a3374b8 100644 --- a/src/main/java/org/scijava/plugin/HandlerService.java +++ b/src/main/java/org/scijava/plugin/HandlerService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/HasPluginInfo.java b/src/main/java/org/scijava/plugin/HasPluginInfo.java index 3f6cfaf1e..ee65fb550 100644 --- a/src/main/java/org/scijava/plugin/HasPluginInfo.java +++ b/src/main/java/org/scijava/plugin/HasPluginInfo.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/Menu.java b/src/main/java/org/scijava/plugin/Menu.java index d25e7fc0a..a0b504779 100644 --- a/src/main/java/org/scijava/plugin/Menu.java +++ b/src/main/java/org/scijava/plugin/Menu.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/PTService.java b/src/main/java/org/scijava/plugin/PTService.java index 191c8064a..8157261cf 100644 --- a/src/main/java/org/scijava/plugin/PTService.java +++ b/src/main/java/org/scijava/plugin/PTService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/Parameter.java b/src/main/java/org/scijava/plugin/Parameter.java index 1ed64c82d..c21d89fbc 100644 --- a/src/main/java/org/scijava/plugin/Parameter.java +++ b/src/main/java/org/scijava/plugin/Parameter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/Plugin.java b/src/main/java/org/scijava/plugin/Plugin.java index 5a8fbc5cb..5e64f9411 100644 --- a/src/main/java/org/scijava/plugin/Plugin.java +++ b/src/main/java/org/scijava/plugin/Plugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/PluginFinder.java b/src/main/java/org/scijava/plugin/PluginFinder.java index 450af2428..3539c7861 100644 --- a/src/main/java/org/scijava/plugin/PluginFinder.java +++ b/src/main/java/org/scijava/plugin/PluginFinder.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/PluginIndex.java b/src/main/java/org/scijava/plugin/PluginIndex.java index b1ae59bd4..73153bcb9 100644 --- a/src/main/java/org/scijava/plugin/PluginIndex.java +++ b/src/main/java/org/scijava/plugin/PluginIndex.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/PluginInfo.java b/src/main/java/org/scijava/plugin/PluginInfo.java index dc127f074..8e4a4ce85 100644 --- a/src/main/java/org/scijava/plugin/PluginInfo.java +++ b/src/main/java/org/scijava/plugin/PluginInfo.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/PluginService.java b/src/main/java/org/scijava/plugin/PluginService.java index e85bf76db..dc579969a 100644 --- a/src/main/java/org/scijava/plugin/PluginService.java +++ b/src/main/java/org/scijava/plugin/PluginService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/RichPlugin.java b/src/main/java/org/scijava/plugin/RichPlugin.java index 8f5eb862b..aa5c1d546 100644 --- a/src/main/java/org/scijava/plugin/RichPlugin.java +++ b/src/main/java/org/scijava/plugin/RichPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/SciJavaPlugin.java b/src/main/java/org/scijava/plugin/SciJavaPlugin.java index b7bc4c919..4bef823d5 100644 --- a/src/main/java/org/scijava/plugin/SciJavaPlugin.java +++ b/src/main/java/org/scijava/plugin/SciJavaPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/SingletonPlugin.java b/src/main/java/org/scijava/plugin/SingletonPlugin.java index 79de0e2e0..87e3afba9 100644 --- a/src/main/java/org/scijava/plugin/SingletonPlugin.java +++ b/src/main/java/org/scijava/plugin/SingletonPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/SingletonService.java b/src/main/java/org/scijava/plugin/SingletonService.java index 3ba80f8ca..9171d8f8d 100644 --- a/src/main/java/org/scijava/plugin/SingletonService.java +++ b/src/main/java/org/scijava/plugin/SingletonService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/SortablePlugin.java b/src/main/java/org/scijava/plugin/SortablePlugin.java index 257afa423..5b29d8a12 100644 --- a/src/main/java/org/scijava/plugin/SortablePlugin.java +++ b/src/main/java/org/scijava/plugin/SortablePlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/TypedPlugin.java b/src/main/java/org/scijava/plugin/TypedPlugin.java index a3f6033ca..c6d04b019 100644 --- a/src/main/java/org/scijava/plugin/TypedPlugin.java +++ b/src/main/java/org/scijava/plugin/TypedPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/TypedService.java b/src/main/java/org/scijava/plugin/TypedService.java index 868144629..a49b329bb 100644 --- a/src/main/java/org/scijava/plugin/TypedService.java +++ b/src/main/java/org/scijava/plugin/TypedService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/WrapperPlugin.java b/src/main/java/org/scijava/plugin/WrapperPlugin.java index 2cf9a517c..62efbea8c 100644 --- a/src/main/java/org/scijava/plugin/WrapperPlugin.java +++ b/src/main/java/org/scijava/plugin/WrapperPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/WrapperService.java b/src/main/java/org/scijava/plugin/WrapperService.java index 3225df43b..593a4f797 100644 --- a/src/main/java/org/scijava/plugin/WrapperService.java +++ b/src/main/java/org/scijava/plugin/WrapperService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/event/PluginsAddedEvent.java b/src/main/java/org/scijava/plugin/event/PluginsAddedEvent.java index 6a1fe60fe..0caad3bfb 100644 --- a/src/main/java/org/scijava/plugin/event/PluginsAddedEvent.java +++ b/src/main/java/org/scijava/plugin/event/PluginsAddedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/event/PluginsListEvent.java b/src/main/java/org/scijava/plugin/event/PluginsListEvent.java index 0f28602fc..edaf3dbb1 100644 --- a/src/main/java/org/scijava/plugin/event/PluginsListEvent.java +++ b/src/main/java/org/scijava/plugin/event/PluginsListEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/plugin/event/PluginsRemovedEvent.java b/src/main/java/org/scijava/plugin/event/PluginsRemovedEvent.java index 978a4e2de..1709f484c 100644 --- a/src/main/java/org/scijava/plugin/event/PluginsRemovedEvent.java +++ b/src/main/java/org/scijava/plugin/event/PluginsRemovedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/prefs/AbstractPrefService.java b/src/main/java/org/scijava/prefs/AbstractPrefService.java index 7c1b98cba..1bf55eb1a 100644 --- a/src/main/java/org/scijava/prefs/AbstractPrefService.java +++ b/src/main/java/org/scijava/prefs/AbstractPrefService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/prefs/DefaultPrefService.java b/src/main/java/org/scijava/prefs/DefaultPrefService.java index f174db6c0..78efeae4a 100644 --- a/src/main/java/org/scijava/prefs/DefaultPrefService.java +++ b/src/main/java/org/scijava/prefs/DefaultPrefService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/prefs/PrefService.java b/src/main/java/org/scijava/prefs/PrefService.java index 30c91aa6e..d2e285d0d 100644 --- a/src/main/java/org/scijava/prefs/PrefService.java +++ b/src/main/java/org/scijava/prefs/PrefService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/run/AbstractCodeRunner.java b/src/main/java/org/scijava/run/AbstractCodeRunner.java index 5d02b3634..e60bc4f64 100644 --- a/src/main/java/org/scijava/run/AbstractCodeRunner.java +++ b/src/main/java/org/scijava/run/AbstractCodeRunner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/run/CodeRunner.java b/src/main/java/org/scijava/run/CodeRunner.java index d1def7ea2..9bef19655 100644 --- a/src/main/java/org/scijava/run/CodeRunner.java +++ b/src/main/java/org/scijava/run/CodeRunner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/run/DefaultRunService.java b/src/main/java/org/scijava/run/DefaultRunService.java index 883f52e10..ef8bee6e3 100644 --- a/src/main/java/org/scijava/run/DefaultRunService.java +++ b/src/main/java/org/scijava/run/DefaultRunService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/run/RunService.java b/src/main/java/org/scijava/run/RunService.java index 3fd6cb61e..0c030b383 100644 --- a/src/main/java/org/scijava/run/RunService.java +++ b/src/main/java/org/scijava/run/RunService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/run/console/RunArgument.java b/src/main/java/org/scijava/run/console/RunArgument.java index 373da220d..ce84a31cf 100644 --- a/src/main/java/org/scijava/run/console/RunArgument.java +++ b/src/main/java/org/scijava/run/console/RunArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AbstractAutoCompleter.java b/src/main/java/org/scijava/script/AbstractAutoCompleter.java index effad4d7f..b5b784448 100644 --- a/src/main/java/org/scijava/script/AbstractAutoCompleter.java +++ b/src/main/java/org/scijava/script/AbstractAutoCompleter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AbstractScriptContext.java b/src/main/java/org/scijava/script/AbstractScriptContext.java index bc2290a23..30ccac002 100644 --- a/src/main/java/org/scijava/script/AbstractScriptContext.java +++ b/src/main/java/org/scijava/script/AbstractScriptContext.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AbstractScriptEngine.java b/src/main/java/org/scijava/script/AbstractScriptEngine.java index b62aa5c2f..6875cd203 100644 --- a/src/main/java/org/scijava/script/AbstractScriptEngine.java +++ b/src/main/java/org/scijava/script/AbstractScriptEngine.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AbstractScriptHeader.java b/src/main/java/org/scijava/script/AbstractScriptHeader.java index 03306775e..131ebe7bb 100644 --- a/src/main/java/org/scijava/script/AbstractScriptHeader.java +++ b/src/main/java/org/scijava/script/AbstractScriptHeader.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AbstractScriptLanguage.java b/src/main/java/org/scijava/script/AbstractScriptLanguage.java index f99cba338..1aa04fbba 100644 --- a/src/main/java/org/scijava/script/AbstractScriptLanguage.java +++ b/src/main/java/org/scijava/script/AbstractScriptLanguage.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AdaptedScriptEngine.java b/src/main/java/org/scijava/script/AdaptedScriptEngine.java index 3144c16af..3c7acd8ef 100644 --- a/src/main/java/org/scijava/script/AdaptedScriptEngine.java +++ b/src/main/java/org/scijava/script/AdaptedScriptEngine.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AdaptedScriptLanguage.java b/src/main/java/org/scijava/script/AdaptedScriptLanguage.java index 084256755..449068235 100644 --- a/src/main/java/org/scijava/script/AdaptedScriptLanguage.java +++ b/src/main/java/org/scijava/script/AdaptedScriptLanguage.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AutoCompleter.java b/src/main/java/org/scijava/script/AutoCompleter.java index 190dddd80..632e7498b 100644 --- a/src/main/java/org/scijava/script/AutoCompleter.java +++ b/src/main/java/org/scijava/script/AutoCompleter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/AutoCompletionResult.java b/src/main/java/org/scijava/script/AutoCompletionResult.java index 5d65a3f36..d3eecd426 100644 --- a/src/main/java/org/scijava/script/AutoCompletionResult.java +++ b/src/main/java/org/scijava/script/AutoCompletionResult.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/CodeGenerator.java b/src/main/java/org/scijava/script/CodeGenerator.java index ae578fb40..fa2e6d624 100644 --- a/src/main/java/org/scijava/script/CodeGenerator.java +++ b/src/main/java/org/scijava/script/CodeGenerator.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/CodeGeneratorJava.java b/src/main/java/org/scijava/script/CodeGeneratorJava.java index 69a038be1..61135865c 100644 --- a/src/main/java/org/scijava/script/CodeGeneratorJava.java +++ b/src/main/java/org/scijava/script/CodeGeneratorJava.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/DefaultAutoCompleter.java b/src/main/java/org/scijava/script/DefaultAutoCompleter.java index 18ebb0dcb..ef3890a16 100644 --- a/src/main/java/org/scijava/script/DefaultAutoCompleter.java +++ b/src/main/java/org/scijava/script/DefaultAutoCompleter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/DefaultScriptHeaderService.java b/src/main/java/org/scijava/script/DefaultScriptHeaderService.java index fd34edbd6..3593d98da 100644 --- a/src/main/java/org/scijava/script/DefaultScriptHeaderService.java +++ b/src/main/java/org/scijava/script/DefaultScriptHeaderService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/DefaultScriptInterpreter.java b/src/main/java/org/scijava/script/DefaultScriptInterpreter.java index 664ccc300..b0e569824 100644 --- a/src/main/java/org/scijava/script/DefaultScriptInterpreter.java +++ b/src/main/java/org/scijava/script/DefaultScriptInterpreter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/DefaultScriptService.java b/src/main/java/org/scijava/script/DefaultScriptService.java index f8bd5e952..ba308b947 100644 --- a/src/main/java/org/scijava/script/DefaultScriptService.java +++ b/src/main/java/org/scijava/script/DefaultScriptService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/InvocationObject.java b/src/main/java/org/scijava/script/InvocationObject.java index 1e768a057..6ec2e5260 100644 --- a/src/main/java/org/scijava/script/InvocationObject.java +++ b/src/main/java/org/scijava/script/InvocationObject.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ParameterObject.java b/src/main/java/org/scijava/script/ParameterObject.java index df2374beb..f6d2ada7d 100644 --- a/src/main/java/org/scijava/script/ParameterObject.java +++ b/src/main/java/org/scijava/script/ParameterObject.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptCLI.java b/src/main/java/org/scijava/script/ScriptCLI.java index db53036a3..f04d344b5 100644 --- a/src/main/java/org/scijava/script/ScriptCLI.java +++ b/src/main/java/org/scijava/script/ScriptCLI.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptFinder.java b/src/main/java/org/scijava/script/ScriptFinder.java index 55aad7ed5..27a7aa7b7 100644 --- a/src/main/java/org/scijava/script/ScriptFinder.java +++ b/src/main/java/org/scijava/script/ScriptFinder.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptHeader.java b/src/main/java/org/scijava/script/ScriptHeader.java index fbaff7497..c1a3d3269 100644 --- a/src/main/java/org/scijava/script/ScriptHeader.java +++ b/src/main/java/org/scijava/script/ScriptHeader.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptHeaderService.java b/src/main/java/org/scijava/script/ScriptHeaderService.java index c1e167ade..c697d90f2 100644 --- a/src/main/java/org/scijava/script/ScriptHeaderService.java +++ b/src/main/java/org/scijava/script/ScriptHeaderService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptInfo.java b/src/main/java/org/scijava/script/ScriptInfo.java index f643e0a54..a6c00d5c6 100644 --- a/src/main/java/org/scijava/script/ScriptInfo.java +++ b/src/main/java/org/scijava/script/ScriptInfo.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptInterpreter.java b/src/main/java/org/scijava/script/ScriptInterpreter.java index 491847136..8faebc3c3 100644 --- a/src/main/java/org/scijava/script/ScriptInterpreter.java +++ b/src/main/java/org/scijava/script/ScriptInterpreter.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptLanguage.java b/src/main/java/org/scijava/script/ScriptLanguage.java index f841f32c1..4a5446292 100644 --- a/src/main/java/org/scijava/script/ScriptLanguage.java +++ b/src/main/java/org/scijava/script/ScriptLanguage.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptLanguageIndex.java b/src/main/java/org/scijava/script/ScriptLanguageIndex.java index fe138cd28..ddab0a36e 100644 --- a/src/main/java/org/scijava/script/ScriptLanguageIndex.java +++ b/src/main/java/org/scijava/script/ScriptLanguageIndex.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptModule.java b/src/main/java/org/scijava/script/ScriptModule.java index dedf744f4..b686b52a9 100644 --- a/src/main/java/org/scijava/script/ScriptModule.java +++ b/src/main/java/org/scijava/script/ScriptModule.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptREPL.java b/src/main/java/org/scijava/script/ScriptREPL.java index 2a93a92c1..9c1b838dd 100644 --- a/src/main/java/org/scijava/script/ScriptREPL.java +++ b/src/main/java/org/scijava/script/ScriptREPL.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/ScriptService.java b/src/main/java/org/scijava/script/ScriptService.java index c1a61044d..6d1d5f5b5 100644 --- a/src/main/java/org/scijava/script/ScriptService.java +++ b/src/main/java/org/scijava/script/ScriptService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/console/RunScriptArgument.java b/src/main/java/org/scijava/script/console/RunScriptArgument.java index b78065ee2..df7335169 100644 --- a/src/main/java/org/scijava/script/console/RunScriptArgument.java +++ b/src/main/java/org/scijava/script/console/RunScriptArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/io/ScriptIOPlugin.java b/src/main/java/org/scijava/script/io/ScriptIOPlugin.java index b6b30209f..dec94b517 100644 --- a/src/main/java/org/scijava/script/io/ScriptIOPlugin.java +++ b/src/main/java/org/scijava/script/io/ScriptIOPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/process/DefaultScriptProcessorService.java b/src/main/java/org/scijava/script/process/DefaultScriptProcessorService.java index ded8f418d..99fd73812 100644 --- a/src/main/java/org/scijava/script/process/DefaultScriptProcessorService.java +++ b/src/main/java/org/scijava/script/process/DefaultScriptProcessorService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/process/DirectiveScriptProcessor.java b/src/main/java/org/scijava/script/process/DirectiveScriptProcessor.java index 4dfa5ff38..4b1fe8c34 100644 --- a/src/main/java/org/scijava/script/process/DirectiveScriptProcessor.java +++ b/src/main/java/org/scijava/script/process/DirectiveScriptProcessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java b/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java index 2e0dfd703..d3988e9ef 100644 --- a/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java +++ b/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/process/ScriptCallback.java b/src/main/java/org/scijava/script/process/ScriptCallback.java index 445dd157e..eaedad35c 100644 --- a/src/main/java/org/scijava/script/process/ScriptCallback.java +++ b/src/main/java/org/scijava/script/process/ScriptCallback.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/process/ScriptDirectiveScriptProcessor.java b/src/main/java/org/scijava/script/process/ScriptDirectiveScriptProcessor.java index fffc58568..40b905ede 100644 --- a/src/main/java/org/scijava/script/process/ScriptDirectiveScriptProcessor.java +++ b/src/main/java/org/scijava/script/process/ScriptDirectiveScriptProcessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/process/ScriptProcessor.java b/src/main/java/org/scijava/script/process/ScriptProcessor.java index 415f51826..edeec681b 100644 --- a/src/main/java/org/scijava/script/process/ScriptProcessor.java +++ b/src/main/java/org/scijava/script/process/ScriptProcessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/process/ScriptProcessorService.java b/src/main/java/org/scijava/script/process/ScriptProcessorService.java index 811ab47d4..a73b4ebb7 100644 --- a/src/main/java/org/scijava/script/process/ScriptProcessorService.java +++ b/src/main/java/org/scijava/script/process/ScriptProcessorService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/process/ShebangScriptProcessor.java b/src/main/java/org/scijava/script/process/ShebangScriptProcessor.java index f7edef985..6e3991590 100644 --- a/src/main/java/org/scijava/script/process/ShebangScriptProcessor.java +++ b/src/main/java/org/scijava/script/process/ShebangScriptProcessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/script/run/ScriptCodeRunner.java b/src/main/java/org/scijava/script/run/ScriptCodeRunner.java index 8d4a4a61c..d016431ee 100644 --- a/src/main/java/org/scijava/script/run/ScriptCodeRunner.java +++ b/src/main/java/org/scijava/script/run/ScriptCodeRunner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/service/AbstractService.java b/src/main/java/org/scijava/service/AbstractService.java index 841c8c468..ce04e97e7 100644 --- a/src/main/java/org/scijava/service/AbstractService.java +++ b/src/main/java/org/scijava/service/AbstractService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/service/SciJavaService.java b/src/main/java/org/scijava/service/SciJavaService.java index 869ce3269..eb311bd80 100644 --- a/src/main/java/org/scijava/service/SciJavaService.java +++ b/src/main/java/org/scijava/service/SciJavaService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/service/Service.java b/src/main/java/org/scijava/service/Service.java index 392a6dc08..13f2c1081 100644 --- a/src/main/java/org/scijava/service/Service.java +++ b/src/main/java/org/scijava/service/Service.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/service/ServiceHelper.java b/src/main/java/org/scijava/service/ServiceHelper.java index d7ad8003e..3b06233ca 100644 --- a/src/main/java/org/scijava/service/ServiceHelper.java +++ b/src/main/java/org/scijava/service/ServiceHelper.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/service/ServiceIndex.java b/src/main/java/org/scijava/service/ServiceIndex.java index 962952d3e..f926883a0 100644 --- a/src/main/java/org/scijava/service/ServiceIndex.java +++ b/src/main/java/org/scijava/service/ServiceIndex.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/service/event/ServicesLoadedEvent.java b/src/main/java/org/scijava/service/event/ServicesLoadedEvent.java index 2b9e9a119..fe0109129 100644 --- a/src/main/java/org/scijava/service/event/ServicesLoadedEvent.java +++ b/src/main/java/org/scijava/service/event/ServicesLoadedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/startup/DefaultStartupService.java b/src/main/java/org/scijava/startup/DefaultStartupService.java index 356437eb4..8131b6bc2 100644 --- a/src/main/java/org/scijava/startup/DefaultStartupService.java +++ b/src/main/java/org/scijava/startup/DefaultStartupService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/startup/StartupService.java b/src/main/java/org/scijava/startup/StartupService.java index 6a47f97d1..35e747b39 100644 --- a/src/main/java/org/scijava/startup/StartupService.java +++ b/src/main/java/org/scijava/startup/StartupService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/task/DefaultTask.java b/src/main/java/org/scijava/task/DefaultTask.java index a275c3505..048f7b773 100644 --- a/src/main/java/org/scijava/task/DefaultTask.java +++ b/src/main/java/org/scijava/task/DefaultTask.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/task/DefaultTaskService.java b/src/main/java/org/scijava/task/DefaultTaskService.java index 5ad770f25..147fd0eec 100644 --- a/src/main/java/org/scijava/task/DefaultTaskService.java +++ b/src/main/java/org/scijava/task/DefaultTaskService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/task/Task.java b/src/main/java/org/scijava/task/Task.java index a91cdcf6b..1e8004e53 100644 --- a/src/main/java/org/scijava/task/Task.java +++ b/src/main/java/org/scijava/task/Task.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/task/TaskService.java b/src/main/java/org/scijava/task/TaskService.java index 5bf0cb2f8..dfe5c0ffd 100644 --- a/src/main/java/org/scijava/task/TaskService.java +++ b/src/main/java/org/scijava/task/TaskService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/task/event/TaskEvent.java b/src/main/java/org/scijava/task/event/TaskEvent.java index 4173c3bc5..83a5d662c 100644 --- a/src/main/java/org/scijava/task/event/TaskEvent.java +++ b/src/main/java/org/scijava/task/event/TaskEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/test/TestUtils.java b/src/main/java/org/scijava/test/TestUtils.java index 692b4fd25..c375f6994 100644 --- a/src/main/java/org/scijava/test/TestUtils.java +++ b/src/main/java/org/scijava/test/TestUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/text/AbstractTextFormat.java b/src/main/java/org/scijava/text/AbstractTextFormat.java index 3bb2edc9e..766cb0874 100644 --- a/src/main/java/org/scijava/text/AbstractTextFormat.java +++ b/src/main/java/org/scijava/text/AbstractTextFormat.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/text/DefaultTextService.java b/src/main/java/org/scijava/text/DefaultTextService.java index a81ed7c0e..211fd25f2 100644 --- a/src/main/java/org/scijava/text/DefaultTextService.java +++ b/src/main/java/org/scijava/text/DefaultTextService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/text/TextFormat.java b/src/main/java/org/scijava/text/TextFormat.java index 05ec572c7..2ef04da75 100644 --- a/src/main/java/org/scijava/text/TextFormat.java +++ b/src/main/java/org/scijava/text/TextFormat.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/text/TextService.java b/src/main/java/org/scijava/text/TextService.java index 75bae744a..5149b2a38 100644 --- a/src/main/java/org/scijava/text/TextService.java +++ b/src/main/java/org/scijava/text/TextService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/text/io/DefaultTextIOService.java b/src/main/java/org/scijava/text/io/DefaultTextIOService.java index d27ec4657..21937f384 100644 --- a/src/main/java/org/scijava/text/io/DefaultTextIOService.java +++ b/src/main/java/org/scijava/text/io/DefaultTextIOService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/text/io/TextIOPlugin.java b/src/main/java/org/scijava/text/io/TextIOPlugin.java index 16e9ba34f..3e3d20efd 100644 --- a/src/main/java/org/scijava/text/io/TextIOPlugin.java +++ b/src/main/java/org/scijava/text/io/TextIOPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/text/io/TextIOService.java b/src/main/java/org/scijava/text/io/TextIOService.java index a218aec0f..ed48ab424 100644 --- a/src/main/java/org/scijava/text/io/TextIOService.java +++ b/src/main/java/org/scijava/text/io/TextIOService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/thread/DefaultThreadService.java b/src/main/java/org/scijava/thread/DefaultThreadService.java index 6f48f9e34..f34c38a6a 100644 --- a/src/main/java/org/scijava/thread/DefaultThreadService.java +++ b/src/main/java/org/scijava/thread/DefaultThreadService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/thread/ThreadService.java b/src/main/java/org/scijava/thread/ThreadService.java index aeec0d1ba..b809a9a4b 100644 --- a/src/main/java/org/scijava/thread/ThreadService.java +++ b/src/main/java/org/scijava/thread/ThreadService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/AbstractTool.java b/src/main/java/org/scijava/tool/AbstractTool.java index 4ec4bd878..e83ada645 100644 --- a/src/main/java/org/scijava/tool/AbstractTool.java +++ b/src/main/java/org/scijava/tool/AbstractTool.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/CustomDrawnTool.java b/src/main/java/org/scijava/tool/CustomDrawnTool.java index 10aafc9db..4222b14b0 100644 --- a/src/main/java/org/scijava/tool/CustomDrawnTool.java +++ b/src/main/java/org/scijava/tool/CustomDrawnTool.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/DefaultToolService.java b/src/main/java/org/scijava/tool/DefaultToolService.java index e59976a8f..d7d653399 100644 --- a/src/main/java/org/scijava/tool/DefaultToolService.java +++ b/src/main/java/org/scijava/tool/DefaultToolService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/DummyTool.java b/src/main/java/org/scijava/tool/DummyTool.java index 6dc220279..c2e858e00 100644 --- a/src/main/java/org/scijava/tool/DummyTool.java +++ b/src/main/java/org/scijava/tool/DummyTool.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/IconDrawer.java b/src/main/java/org/scijava/tool/IconDrawer.java index 2493b7880..ff4b83a40 100644 --- a/src/main/java/org/scijava/tool/IconDrawer.java +++ b/src/main/java/org/scijava/tool/IconDrawer.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/IconService.java b/src/main/java/org/scijava/tool/IconService.java index 0d6349818..02be9b223 100644 --- a/src/main/java/org/scijava/tool/IconService.java +++ b/src/main/java/org/scijava/tool/IconService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/Tool.java b/src/main/java/org/scijava/tool/Tool.java index 31adad6d6..c2a0d00f0 100644 --- a/src/main/java/org/scijava/tool/Tool.java +++ b/src/main/java/org/scijava/tool/Tool.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/ToolService.java b/src/main/java/org/scijava/tool/ToolService.java index 8fe2855f9..020a3e891 100644 --- a/src/main/java/org/scijava/tool/ToolService.java +++ b/src/main/java/org/scijava/tool/ToolService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/event/ToolActivatedEvent.java b/src/main/java/org/scijava/tool/event/ToolActivatedEvent.java index e2eabdf0d..6df9190ef 100644 --- a/src/main/java/org/scijava/tool/event/ToolActivatedEvent.java +++ b/src/main/java/org/scijava/tool/event/ToolActivatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/event/ToolDeactivatedEvent.java b/src/main/java/org/scijava/tool/event/ToolDeactivatedEvent.java index 5b668aa23..78569c9ea 100644 --- a/src/main/java/org/scijava/tool/event/ToolDeactivatedEvent.java +++ b/src/main/java/org/scijava/tool/event/ToolDeactivatedEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/tool/event/ToolEvent.java b/src/main/java/org/scijava/tool/event/ToolEvent.java index 553fd83e1..85aed4d60 100644 --- a/src/main/java/org/scijava/tool/event/ToolEvent.java +++ b/src/main/java/org/scijava/tool/event/ToolEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/ARGBPlane.java b/src/main/java/org/scijava/ui/ARGBPlane.java index b30d9df8f..ff21f7bd7 100644 --- a/src/main/java/org/scijava/ui/ARGBPlane.java +++ b/src/main/java/org/scijava/ui/ARGBPlane.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/AbstractInputHarvesterPlugin.java b/src/main/java/org/scijava/ui/AbstractInputHarvesterPlugin.java index b29383470..a31e09d59 100644 --- a/src/main/java/org/scijava/ui/AbstractInputHarvesterPlugin.java +++ b/src/main/java/org/scijava/ui/AbstractInputHarvesterPlugin.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/AbstractUIInputWidget.java b/src/main/java/org/scijava/ui/AbstractUIInputWidget.java index 606864da0..32d324ef1 100644 --- a/src/main/java/org/scijava/ui/AbstractUIInputWidget.java +++ b/src/main/java/org/scijava/ui/AbstractUIInputWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/AbstractUserInterface.java b/src/main/java/org/scijava/ui/AbstractUserInterface.java index a3894158b..d1b91e527 100644 --- a/src/main/java/org/scijava/ui/AbstractUserInterface.java +++ b/src/main/java/org/scijava/ui/AbstractUserInterface.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/ApplicationFrame.java b/src/main/java/org/scijava/ui/ApplicationFrame.java index 98a2ce24d..57fc6083f 100644 --- a/src/main/java/org/scijava/ui/ApplicationFrame.java +++ b/src/main/java/org/scijava/ui/ApplicationFrame.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/Arrangeable.java b/src/main/java/org/scijava/ui/Arrangeable.java index 19c8cd3a3..2385868c5 100644 --- a/src/main/java/org/scijava/ui/Arrangeable.java +++ b/src/main/java/org/scijava/ui/Arrangeable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/CloseConfirmable.java b/src/main/java/org/scijava/ui/CloseConfirmable.java index 729a15ed5..331f50861 100644 --- a/src/main/java/org/scijava/ui/CloseConfirmable.java +++ b/src/main/java/org/scijava/ui/CloseConfirmable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/DefaultUIService.java b/src/main/java/org/scijava/ui/DefaultUIService.java index ff5663f91..5d4d7299d 100644 --- a/src/main/java/org/scijava/ui/DefaultUIService.java +++ b/src/main/java/org/scijava/ui/DefaultUIService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/Desktop.java b/src/main/java/org/scijava/ui/Desktop.java index e851e6634..11aa766f4 100644 --- a/src/main/java/org/scijava/ui/Desktop.java +++ b/src/main/java/org/scijava/ui/Desktop.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/DialogPrompt.java b/src/main/java/org/scijava/ui/DialogPrompt.java index 7a14960e2..fc59a3c05 100644 --- a/src/main/java/org/scijava/ui/DialogPrompt.java +++ b/src/main/java/org/scijava/ui/DialogPrompt.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/FileListPreprocessor.java b/src/main/java/org/scijava/ui/FileListPreprocessor.java index 1f3227731..c18810629 100644 --- a/src/main/java/org/scijava/ui/FileListPreprocessor.java +++ b/src/main/java/org/scijava/ui/FileListPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/FilePreprocessor.java b/src/main/java/org/scijava/ui/FilePreprocessor.java index 2076665ec..909e84c06 100644 --- a/src/main/java/org/scijava/ui/FilePreprocessor.java +++ b/src/main/java/org/scijava/ui/FilePreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/StatusBar.java b/src/main/java/org/scijava/ui/StatusBar.java index 1d2c39232..19ad8acb8 100644 --- a/src/main/java/org/scijava/ui/StatusBar.java +++ b/src/main/java/org/scijava/ui/StatusBar.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/SystemClipboard.java b/src/main/java/org/scijava/ui/SystemClipboard.java index 1a362d55e..d897285e7 100644 --- a/src/main/java/org/scijava/ui/SystemClipboard.java +++ b/src/main/java/org/scijava/ui/SystemClipboard.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/ToolBar.java b/src/main/java/org/scijava/ui/ToolBar.java index c7e4de97b..b14ceb0fa 100644 --- a/src/main/java/org/scijava/ui/ToolBar.java +++ b/src/main/java/org/scijava/ui/ToolBar.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/UIPreprocessor.java b/src/main/java/org/scijava/ui/UIPreprocessor.java index eb7780a4f..36fd91147 100644 --- a/src/main/java/org/scijava/ui/UIPreprocessor.java +++ b/src/main/java/org/scijava/ui/UIPreprocessor.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/UIService.java b/src/main/java/org/scijava/ui/UIService.java index 0f3958698..84f4b23ef 100644 --- a/src/main/java/org/scijava/ui/UIService.java +++ b/src/main/java/org/scijava/ui/UIService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/UserInterface.java b/src/main/java/org/scijava/ui/UserInterface.java index f4c6d0c70..5133008eb 100644 --- a/src/main/java/org/scijava/ui/UserInterface.java +++ b/src/main/java/org/scijava/ui/UserInterface.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/console/AbstractConsolePane.java b/src/main/java/org/scijava/ui/console/AbstractConsolePane.java index b9de2570f..abe9177e7 100644 --- a/src/main/java/org/scijava/ui/console/AbstractConsolePane.java +++ b/src/main/java/org/scijava/ui/console/AbstractConsolePane.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/console/ConsolePane.java b/src/main/java/org/scijava/ui/console/ConsolePane.java index 3db7788d4..c2214bd61 100644 --- a/src/main/java/org/scijava/ui/console/ConsolePane.java +++ b/src/main/java/org/scijava/ui/console/ConsolePane.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/console/HeadlessArgument.java b/src/main/java/org/scijava/ui/console/HeadlessArgument.java index 601b3d3ed..ab4eea39e 100644 --- a/src/main/java/org/scijava/ui/console/HeadlessArgument.java +++ b/src/main/java/org/scijava/ui/console/HeadlessArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/console/ShowUIArgument.java b/src/main/java/org/scijava/ui/console/ShowUIArgument.java index 3c4cd4a7a..b07e618e9 100644 --- a/src/main/java/org/scijava/ui/console/ShowUIArgument.java +++ b/src/main/java/org/scijava/ui/console/ShowUIArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/console/UIArgument.java b/src/main/java/org/scijava/ui/console/UIArgument.java index 40ee7986f..1622d1e0d 100644 --- a/src/main/java/org/scijava/ui/console/UIArgument.java +++ b/src/main/java/org/scijava/ui/console/UIArgument.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropData.java b/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropData.java index dfc445dca..fe0b3da6a 100644 --- a/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropData.java +++ b/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropData.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropHandler.java b/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropHandler.java index 53b24aae6..cb25e57ce 100644 --- a/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropHandler.java +++ b/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropHandler.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropData.java b/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropData.java index fc7f00803..1c278a394 100644 --- a/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropData.java +++ b/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropData.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropService.java b/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropService.java index 5a15efe09..e18db980b 100644 --- a/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropService.java +++ b/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/DragAndDropData.java b/src/main/java/org/scijava/ui/dnd/DragAndDropData.java index 8cc4e082f..4dd73dbd0 100644 --- a/src/main/java/org/scijava/ui/dnd/DragAndDropData.java +++ b/src/main/java/org/scijava/ui/dnd/DragAndDropData.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/DragAndDropHandler.java b/src/main/java/org/scijava/ui/dnd/DragAndDropHandler.java index 0377f1f03..1b793784c 100644 --- a/src/main/java/org/scijava/ui/dnd/DragAndDropHandler.java +++ b/src/main/java/org/scijava/ui/dnd/DragAndDropHandler.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/DragAndDropService.java b/src/main/java/org/scijava/ui/dnd/DragAndDropService.java index 2319a5c41..f1de3ddb9 100644 --- a/src/main/java/org/scijava/ui/dnd/DragAndDropService.java +++ b/src/main/java/org/scijava/ui/dnd/DragAndDropService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/FileDragAndDropHandler.java b/src/main/java/org/scijava/ui/dnd/FileDragAndDropHandler.java index 336c94e20..62684957f 100644 --- a/src/main/java/org/scijava/ui/dnd/FileDragAndDropHandler.java +++ b/src/main/java/org/scijava/ui/dnd/FileDragAndDropHandler.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/ListDragAndDropHandler.java b/src/main/java/org/scijava/ui/dnd/ListDragAndDropHandler.java index 42c2490c4..64febfa13 100644 --- a/src/main/java/org/scijava/ui/dnd/ListDragAndDropHandler.java +++ b/src/main/java/org/scijava/ui/dnd/ListDragAndDropHandler.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/MIMEType.java b/src/main/java/org/scijava/ui/dnd/MIMEType.java index db21cac88..4d7f01307 100644 --- a/src/main/java/org/scijava/ui/dnd/MIMEType.java +++ b/src/main/java/org/scijava/ui/dnd/MIMEType.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/ScriptFileDragAndDropHandler.java b/src/main/java/org/scijava/ui/dnd/ScriptFileDragAndDropHandler.java index a5e0cb5b6..5298fc946 100644 --- a/src/main/java/org/scijava/ui/dnd/ScriptFileDragAndDropHandler.java +++ b/src/main/java/org/scijava/ui/dnd/ScriptFileDragAndDropHandler.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/event/DragAndDropEvent.java b/src/main/java/org/scijava/ui/dnd/event/DragAndDropEvent.java index aa8f3c624..83b15db9e 100644 --- a/src/main/java/org/scijava/ui/dnd/event/DragAndDropEvent.java +++ b/src/main/java/org/scijava/ui/dnd/event/DragAndDropEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/event/DragEnterEvent.java b/src/main/java/org/scijava/ui/dnd/event/DragEnterEvent.java index b221fdadc..5c93dff04 100644 --- a/src/main/java/org/scijava/ui/dnd/event/DragEnterEvent.java +++ b/src/main/java/org/scijava/ui/dnd/event/DragEnterEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/event/DragExitEvent.java b/src/main/java/org/scijava/ui/dnd/event/DragExitEvent.java index 268b9b0c9..0576666e8 100644 --- a/src/main/java/org/scijava/ui/dnd/event/DragExitEvent.java +++ b/src/main/java/org/scijava/ui/dnd/event/DragExitEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/event/DragOverEvent.java b/src/main/java/org/scijava/ui/dnd/event/DragOverEvent.java index fd93d52eb..df28afbb5 100644 --- a/src/main/java/org/scijava/ui/dnd/event/DragOverEvent.java +++ b/src/main/java/org/scijava/ui/dnd/event/DragOverEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/dnd/event/DropEvent.java b/src/main/java/org/scijava/ui/dnd/event/DropEvent.java index a4a6ac4fe..d1000d5d3 100644 --- a/src/main/java/org/scijava/ui/dnd/event/DropEvent.java +++ b/src/main/java/org/scijava/ui/dnd/event/DropEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/event/UIEvent.java b/src/main/java/org/scijava/ui/event/UIEvent.java index 92f876cd3..8a0892f1a 100644 --- a/src/main/java/org/scijava/ui/event/UIEvent.java +++ b/src/main/java/org/scijava/ui/event/UIEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/event/UIShownEvent.java b/src/main/java/org/scijava/ui/event/UIShownEvent.java index c5e1fb2e3..957efb500 100644 --- a/src/main/java/org/scijava/ui/event/UIShownEvent.java +++ b/src/main/java/org/scijava/ui/event/UIShownEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/headless/HeadlessDisplayViewer.java b/src/main/java/org/scijava/ui/headless/HeadlessDisplayViewer.java index 2dfa036da..af6b6c902 100644 --- a/src/main/java/org/scijava/ui/headless/HeadlessDisplayViewer.java +++ b/src/main/java/org/scijava/ui/headless/HeadlessDisplayViewer.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/headless/HeadlessUI.java b/src/main/java/org/scijava/ui/headless/HeadlessUI.java index 63cb32d5c..654b42e7f 100644 --- a/src/main/java/org/scijava/ui/headless/HeadlessUI.java +++ b/src/main/java/org/scijava/ui/headless/HeadlessUI.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/headlessUI/HeadlessUI.java b/src/main/java/org/scijava/ui/headlessUI/HeadlessUI.java index d3f48f2fc..3c55c9cd2 100644 --- a/src/main/java/org/scijava/ui/headlessUI/HeadlessUI.java +++ b/src/main/java/org/scijava/ui/headlessUI/HeadlessUI.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/viewer/AbstractDisplayViewer.java b/src/main/java/org/scijava/ui/viewer/AbstractDisplayViewer.java index e705cbbb7..3bda15d67 100644 --- a/src/main/java/org/scijava/ui/viewer/AbstractDisplayViewer.java +++ b/src/main/java/org/scijava/ui/viewer/AbstractDisplayViewer.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/viewer/DisplayPanel.java b/src/main/java/org/scijava/ui/viewer/DisplayPanel.java index c51213d04..691b42687 100644 --- a/src/main/java/org/scijava/ui/viewer/DisplayPanel.java +++ b/src/main/java/org/scijava/ui/viewer/DisplayPanel.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/viewer/DisplayViewer.java b/src/main/java/org/scijava/ui/viewer/DisplayViewer.java index de99dfc95..eb439e8f6 100644 --- a/src/main/java/org/scijava/ui/viewer/DisplayViewer.java +++ b/src/main/java/org/scijava/ui/viewer/DisplayViewer.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/viewer/DisplayWindow.java b/src/main/java/org/scijava/ui/viewer/DisplayWindow.java index 2a45a3427..14654e681 100644 --- a/src/main/java/org/scijava/ui/viewer/DisplayWindow.java +++ b/src/main/java/org/scijava/ui/viewer/DisplayWindow.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/viewer/text/AbstractTextDisplayViewer.java b/src/main/java/org/scijava/ui/viewer/text/AbstractTextDisplayViewer.java index a737da1f5..b53271ee6 100644 --- a/src/main/java/org/scijava/ui/viewer/text/AbstractTextDisplayViewer.java +++ b/src/main/java/org/scijava/ui/viewer/text/AbstractTextDisplayViewer.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/viewer/text/TextDisplayPanel.java b/src/main/java/org/scijava/ui/viewer/text/TextDisplayPanel.java index 9ca4ae5be..cd53bdc2d 100644 --- a/src/main/java/org/scijava/ui/viewer/text/TextDisplayPanel.java +++ b/src/main/java/org/scijava/ui/viewer/text/TextDisplayPanel.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/ui/viewer/text/TextDisplayViewer.java b/src/main/java/org/scijava/ui/viewer/text/TextDisplayViewer.java index fe8343711..8799c7ec7 100644 --- a/src/main/java/org/scijava/ui/viewer/text/TextDisplayViewer.java +++ b/src/main/java/org/scijava/ui/viewer/text/TextDisplayViewer.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/AbstractPrimitiveArray.java b/src/main/java/org/scijava/util/AbstractPrimitiveArray.java index 6c1a720b2..def8f4eb9 100644 --- a/src/main/java/org/scijava/util/AbstractPrimitiveArray.java +++ b/src/main/java/org/scijava/util/AbstractPrimitiveArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/AppUtils.java b/src/main/java/org/scijava/util/AppUtils.java index 4dd310c6a..b65cce633 100644 --- a/src/main/java/org/scijava/util/AppUtils.java +++ b/src/main/java/org/scijava/util/AppUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ArrayUtils.java b/src/main/java/org/scijava/util/ArrayUtils.java index db6efcdbf..f2059c2c7 100644 --- a/src/main/java/org/scijava/util/ArrayUtils.java +++ b/src/main/java/org/scijava/util/ArrayUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/BoolArray.java b/src/main/java/org/scijava/util/BoolArray.java index 3ea2bee18..32ff8e8b4 100644 --- a/src/main/java/org/scijava/util/BoolArray.java +++ b/src/main/java/org/scijava/util/BoolArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ByteArray.java b/src/main/java/org/scijava/util/ByteArray.java index f5eda9f65..4d7a72d28 100644 --- a/src/main/java/org/scijava/util/ByteArray.java +++ b/src/main/java/org/scijava/util/ByteArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Bytes.java b/src/main/java/org/scijava/util/Bytes.java index 759383d73..45f8c70af 100644 --- a/src/main/java/org/scijava/util/Bytes.java +++ b/src/main/java/org/scijava/util/Bytes.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/CharArray.java b/src/main/java/org/scijava/util/CharArray.java index cdfa1de15..099db97ec 100644 --- a/src/main/java/org/scijava/util/CharArray.java +++ b/src/main/java/org/scijava/util/CharArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/CheckSezpoz.java b/src/main/java/org/scijava/util/CheckSezpoz.java index 235db46fd..fa9be7491 100644 --- a/src/main/java/org/scijava/util/CheckSezpoz.java +++ b/src/main/java/org/scijava/util/CheckSezpoz.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ClassUtils.java b/src/main/java/org/scijava/util/ClassUtils.java index 8569b4bd6..09961183e 100644 --- a/src/main/java/org/scijava/util/ClassUtils.java +++ b/src/main/java/org/scijava/util/ClassUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ColorRGB.java b/src/main/java/org/scijava/util/ColorRGB.java index cfc211e04..305fbbbe0 100644 --- a/src/main/java/org/scijava/util/ColorRGB.java +++ b/src/main/java/org/scijava/util/ColorRGB.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ColorRGBA.java b/src/main/java/org/scijava/util/ColorRGBA.java index e78221623..4bab90ddc 100644 --- a/src/main/java/org/scijava/util/ColorRGBA.java +++ b/src/main/java/org/scijava/util/ColorRGBA.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Colors.java b/src/main/java/org/scijava/util/Colors.java index 2f616b838..60fa3dc8c 100644 --- a/src/main/java/org/scijava/util/Colors.java +++ b/src/main/java/org/scijava/util/Colors.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/CombineAnnotations.java b/src/main/java/org/scijava/util/CombineAnnotations.java index dddf6046d..11ed3f879 100644 --- a/src/main/java/org/scijava/util/CombineAnnotations.java +++ b/src/main/java/org/scijava/util/CombineAnnotations.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Combiner.java b/src/main/java/org/scijava/util/Combiner.java index 7b107d0fb..ce758eed0 100644 --- a/src/main/java/org/scijava/util/Combiner.java +++ b/src/main/java/org/scijava/util/Combiner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ConversionUtils.java b/src/main/java/org/scijava/util/ConversionUtils.java index 7a01ba31f..b902d2335 100644 --- a/src/main/java/org/scijava/util/ConversionUtils.java +++ b/src/main/java/org/scijava/util/ConversionUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/DebugUtils.java b/src/main/java/org/scijava/util/DebugUtils.java index 78f84c6fa..e7ce7cb53 100644 --- a/src/main/java/org/scijava/util/DebugUtils.java +++ b/src/main/java/org/scijava/util/DebugUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/DefaultTreeNode.java b/src/main/java/org/scijava/util/DefaultTreeNode.java index e16bf02e5..8c9290a78 100644 --- a/src/main/java/org/scijava/util/DefaultTreeNode.java +++ b/src/main/java/org/scijava/util/DefaultTreeNode.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/DigestUtils.java b/src/main/java/org/scijava/util/DigestUtils.java index c63b035fb..172f54a9a 100644 --- a/src/main/java/org/scijava/util/DigestUtils.java +++ b/src/main/java/org/scijava/util/DigestUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/DoubleArray.java b/src/main/java/org/scijava/util/DoubleArray.java index 71aaaece8..a75b9b266 100644 --- a/src/main/java/org/scijava/util/DoubleArray.java +++ b/src/main/java/org/scijava/util/DoubleArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/FileUtils.java b/src/main/java/org/scijava/util/FileUtils.java index f98e76f69..a233d7fd5 100644 --- a/src/main/java/org/scijava/util/FileUtils.java +++ b/src/main/java/org/scijava/util/FileUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/FloatArray.java b/src/main/java/org/scijava/util/FloatArray.java index 3c3bd00ce..1911dcd7a 100644 --- a/src/main/java/org/scijava/util/FloatArray.java +++ b/src/main/java/org/scijava/util/FloatArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/GenericUtils.java b/src/main/java/org/scijava/util/GenericUtils.java index d470580e3..f73fc78f6 100644 --- a/src/main/java/org/scijava/util/GenericUtils.java +++ b/src/main/java/org/scijava/util/GenericUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/IntArray.java b/src/main/java/org/scijava/util/IntArray.java index 32f2f027d..4916ca205 100644 --- a/src/main/java/org/scijava/util/IntArray.java +++ b/src/main/java/org/scijava/util/IntArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/IntCoords.java b/src/main/java/org/scijava/util/IntCoords.java index 23d3bc238..8110aa996 100644 --- a/src/main/java/org/scijava/util/IntCoords.java +++ b/src/main/java/org/scijava/util/IntCoords.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/IntRect.java b/src/main/java/org/scijava/util/IntRect.java index 4c224be75..be12b1035 100644 --- a/src/main/java/org/scijava/util/IntRect.java +++ b/src/main/java/org/scijava/util/IntRect.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/IteratorPlus.java b/src/main/java/org/scijava/util/IteratorPlus.java index da2c28dad..5a28e023d 100644 --- a/src/main/java/org/scijava/util/IteratorPlus.java +++ b/src/main/java/org/scijava/util/IteratorPlus.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/LastRecentlyUsed.java b/src/main/java/org/scijava/util/LastRecentlyUsed.java index 0714ce49c..83afb110f 100644 --- a/src/main/java/org/scijava/util/LastRecentlyUsed.java +++ b/src/main/java/org/scijava/util/LastRecentlyUsed.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/LineOutputStream.java b/src/main/java/org/scijava/util/LineOutputStream.java index c3d95997d..2f4ad2d19 100644 --- a/src/main/java/org/scijava/util/LineOutputStream.java +++ b/src/main/java/org/scijava/util/LineOutputStream.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ListUtils.java b/src/main/java/org/scijava/util/ListUtils.java index 79c857461..e423fa616 100644 --- a/src/main/java/org/scijava/util/ListUtils.java +++ b/src/main/java/org/scijava/util/ListUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/LongArray.java b/src/main/java/org/scijava/util/LongArray.java index ee9a4a453..351580338 100644 --- a/src/main/java/org/scijava/util/LongArray.java +++ b/src/main/java/org/scijava/util/LongArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Manifest.java b/src/main/java/org/scijava/util/Manifest.java index e5f7fab67..6e4cd5dd3 100644 --- a/src/main/java/org/scijava/util/Manifest.java +++ b/src/main/java/org/scijava/util/Manifest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/MersenneTwisterFast.java b/src/main/java/org/scijava/util/MersenneTwisterFast.java index 089299ee0..9bad0ab73 100644 --- a/src/main/java/org/scijava/util/MersenneTwisterFast.java +++ b/src/main/java/org/scijava/util/MersenneTwisterFast.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/MetaInfCombiner.java b/src/main/java/org/scijava/util/MetaInfCombiner.java index 4cb22cb05..63582c0cc 100644 --- a/src/main/java/org/scijava/util/MetaInfCombiner.java +++ b/src/main/java/org/scijava/util/MetaInfCombiner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/MirrorWebsite.java b/src/main/java/org/scijava/util/MirrorWebsite.java index 4bd72155a..ec807ab8e 100644 --- a/src/main/java/org/scijava/util/MirrorWebsite.java +++ b/src/main/java/org/scijava/util/MirrorWebsite.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/MiscUtils.java b/src/main/java/org/scijava/util/MiscUtils.java index 667e7560a..4476e9a4b 100644 --- a/src/main/java/org/scijava/util/MiscUtils.java +++ b/src/main/java/org/scijava/util/MiscUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/NumberUtils.java b/src/main/java/org/scijava/util/NumberUtils.java index 77137ecbe..11a228345 100644 --- a/src/main/java/org/scijava/util/NumberUtils.java +++ b/src/main/java/org/scijava/util/NumberUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ObjectArray.java b/src/main/java/org/scijava/util/ObjectArray.java index 486313d8c..aa12acc08 100644 --- a/src/main/java/org/scijava/util/ObjectArray.java +++ b/src/main/java/org/scijava/util/ObjectArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/POM.java b/src/main/java/org/scijava/util/POM.java index afd4771a0..54c0434ab 100644 --- a/src/main/java/org/scijava/util/POM.java +++ b/src/main/java/org/scijava/util/POM.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/PlatformUtils.java b/src/main/java/org/scijava/util/PlatformUtils.java index 8e67ec1a3..215759cac 100644 --- a/src/main/java/org/scijava/util/PlatformUtils.java +++ b/src/main/java/org/scijava/util/PlatformUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Prefs.java b/src/main/java/org/scijava/util/Prefs.java index 4044f6762..72f63bac7 100644 --- a/src/main/java/org/scijava/util/Prefs.java +++ b/src/main/java/org/scijava/util/Prefs.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/PrimitiveArray.java b/src/main/java/org/scijava/util/PrimitiveArray.java index 35a6c7498..51ac3f30a 100644 --- a/src/main/java/org/scijava/util/PrimitiveArray.java +++ b/src/main/java/org/scijava/util/PrimitiveArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ProcessUtils.java b/src/main/java/org/scijava/util/ProcessUtils.java index 9f97a24d0..3b23b3c1c 100644 --- a/src/main/java/org/scijava/util/ProcessUtils.java +++ b/src/main/java/org/scijava/util/ProcessUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/PropertiesHelper.java b/src/main/java/org/scijava/util/PropertiesHelper.java index f56189d8c..bfbac09e2 100644 --- a/src/main/java/org/scijava/util/PropertiesHelper.java +++ b/src/main/java/org/scijava/util/PropertiesHelper.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Query.java b/src/main/java/org/scijava/util/Query.java index 39914f518..008b84efa 100644 --- a/src/main/java/org/scijava/util/Query.java +++ b/src/main/java/org/scijava/util/Query.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ReadInto.java b/src/main/java/org/scijava/util/ReadInto.java index 3aafebae3..559b87304 100644 --- a/src/main/java/org/scijava/util/ReadInto.java +++ b/src/main/java/org/scijava/util/ReadInto.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/RealCoords.java b/src/main/java/org/scijava/util/RealCoords.java index 7b49819fe..97e61e00c 100644 --- a/src/main/java/org/scijava/util/RealCoords.java +++ b/src/main/java/org/scijava/util/RealCoords.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/RealRect.java b/src/main/java/org/scijava/util/RealRect.java index b149ba1d5..4f355cd73 100644 --- a/src/main/java/org/scijava/util/RealRect.java +++ b/src/main/java/org/scijava/util/RealRect.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ReflectException.java b/src/main/java/org/scijava/util/ReflectException.java index aa3e18849..3402b78f9 100644 --- a/src/main/java/org/scijava/util/ReflectException.java +++ b/src/main/java/org/scijava/util/ReflectException.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ReflectedUniverse.java b/src/main/java/org/scijava/util/ReflectedUniverse.java index 54ce3cd65..fd7aa908a 100644 --- a/src/main/java/org/scijava/util/ReflectedUniverse.java +++ b/src/main/java/org/scijava/util/ReflectedUniverse.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ServiceCombiner.java b/src/main/java/org/scijava/util/ServiceCombiner.java index 2a069ef5c..ea9bd034c 100644 --- a/src/main/java/org/scijava/util/ServiceCombiner.java +++ b/src/main/java/org/scijava/util/ServiceCombiner.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/ShortArray.java b/src/main/java/org/scijava/util/ShortArray.java index 1f903b532..354d31031 100644 --- a/src/main/java/org/scijava/util/ShortArray.java +++ b/src/main/java/org/scijava/util/ShortArray.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Sizable.java b/src/main/java/org/scijava/util/Sizable.java index 9c9d34a7a..a1a8d82eb 100644 --- a/src/main/java/org/scijava/util/Sizable.java +++ b/src/main/java/org/scijava/util/Sizable.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/SizableArrayList.java b/src/main/java/org/scijava/util/SizableArrayList.java index 89fa00b66..11eb6bdc0 100644 --- a/src/main/java/org/scijava/util/SizableArrayList.java +++ b/src/main/java/org/scijava/util/SizableArrayList.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/StringMaker.java b/src/main/java/org/scijava/util/StringMaker.java index 3b2d1839c..809b1a5c9 100644 --- a/src/main/java/org/scijava/util/StringMaker.java +++ b/src/main/java/org/scijava/util/StringMaker.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/StringUtils.java b/src/main/java/org/scijava/util/StringUtils.java index 5d72f80bd..90b2e9756 100644 --- a/src/main/java/org/scijava/util/StringUtils.java +++ b/src/main/java/org/scijava/util/StringUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Timing.java b/src/main/java/org/scijava/util/Timing.java index aec5a6d1e..8a4dcfe39 100644 --- a/src/main/java/org/scijava/util/Timing.java +++ b/src/main/java/org/scijava/util/Timing.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/TreeNode.java b/src/main/java/org/scijava/util/TreeNode.java index a827556f9..20af64acc 100644 --- a/src/main/java/org/scijava/util/TreeNode.java +++ b/src/main/java/org/scijava/util/TreeNode.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/TunePlayer.java b/src/main/java/org/scijava/util/TunePlayer.java index d14fd40b4..a36fa353d 100644 --- a/src/main/java/org/scijava/util/TunePlayer.java +++ b/src/main/java/org/scijava/util/TunePlayer.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/Types.java b/src/main/java/org/scijava/util/Types.java index d112b2114..a75ef8311 100644 --- a/src/main/java/org/scijava/util/Types.java +++ b/src/main/java/org/scijava/util/Types.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/UnitUtils.java b/src/main/java/org/scijava/util/UnitUtils.java index d93471c25..445f16046 100644 --- a/src/main/java/org/scijava/util/UnitUtils.java +++ b/src/main/java/org/scijava/util/UnitUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/VersionUtils.java b/src/main/java/org/scijava/util/VersionUtils.java index b5306c1de..ea012b9a1 100644 --- a/src/main/java/org/scijava/util/VersionUtils.java +++ b/src/main/java/org/scijava/util/VersionUtils.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/util/XML.java b/src/main/java/org/scijava/util/XML.java index 732b0ee0c..5a3f0a049 100644 --- a/src/main/java/org/scijava/util/XML.java +++ b/src/main/java/org/scijava/util/XML.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/welcome/DefaultWelcomeService.java b/src/main/java/org/scijava/welcome/DefaultWelcomeService.java index 817fc44f1..b9af9fd48 100644 --- a/src/main/java/org/scijava/welcome/DefaultWelcomeService.java +++ b/src/main/java/org/scijava/welcome/DefaultWelcomeService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/welcome/WelcomeService.java b/src/main/java/org/scijava/welcome/WelcomeService.java index a2819123f..ac690f3bc 100644 --- a/src/main/java/org/scijava/welcome/WelcomeService.java +++ b/src/main/java/org/scijava/welcome/WelcomeService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/welcome/event/WelcomeEvent.java b/src/main/java/org/scijava/welcome/event/WelcomeEvent.java index f6f046b81..2f38dc848 100644 --- a/src/main/java/org/scijava/welcome/event/WelcomeEvent.java +++ b/src/main/java/org/scijava/welcome/event/WelcomeEvent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/AbstractInputHarvester.java b/src/main/java/org/scijava/widget/AbstractInputHarvester.java index d1515bd17..1eaea1045 100644 --- a/src/main/java/org/scijava/widget/AbstractInputHarvester.java +++ b/src/main/java/org/scijava/widget/AbstractInputHarvester.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/AbstractInputPanel.java b/src/main/java/org/scijava/widget/AbstractInputPanel.java index e2accd1af..5b6637b19 100644 --- a/src/main/java/org/scijava/widget/AbstractInputPanel.java +++ b/src/main/java/org/scijava/widget/AbstractInputPanel.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/AbstractInputWidget.java b/src/main/java/org/scijava/widget/AbstractInputWidget.java index 420fb43ae..bedf6d594 100644 --- a/src/main/java/org/scijava/widget/AbstractInputWidget.java +++ b/src/main/java/org/scijava/widget/AbstractInputWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/Button.java b/src/main/java/org/scijava/widget/Button.java index 174c30d2c..0768762a2 100644 --- a/src/main/java/org/scijava/widget/Button.java +++ b/src/main/java/org/scijava/widget/Button.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/ButtonWidget.java b/src/main/java/org/scijava/widget/ButtonWidget.java index 8b43645a4..a56b33065 100644 --- a/src/main/java/org/scijava/widget/ButtonWidget.java +++ b/src/main/java/org/scijava/widget/ButtonWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/ChoiceWidget.java b/src/main/java/org/scijava/widget/ChoiceWidget.java index 202a6e346..25ff52afe 100644 --- a/src/main/java/org/scijava/widget/ChoiceWidget.java +++ b/src/main/java/org/scijava/widget/ChoiceWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/ColorWidget.java b/src/main/java/org/scijava/widget/ColorWidget.java index fdbe7a7f5..427f64922 100644 --- a/src/main/java/org/scijava/widget/ColorWidget.java +++ b/src/main/java/org/scijava/widget/ColorWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/DateWidget.java b/src/main/java/org/scijava/widget/DateWidget.java index 5a849f966..4cc60c0b5 100644 --- a/src/main/java/org/scijava/widget/DateWidget.java +++ b/src/main/java/org/scijava/widget/DateWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/DefaultWidgetModel.java b/src/main/java/org/scijava/widget/DefaultWidgetModel.java index b1ed1cd47..7bea4bc8c 100644 --- a/src/main/java/org/scijava/widget/DefaultWidgetModel.java +++ b/src/main/java/org/scijava/widget/DefaultWidgetModel.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/DefaultWidgetService.java b/src/main/java/org/scijava/widget/DefaultWidgetService.java index 380746ad7..6f35b2efa 100644 --- a/src/main/java/org/scijava/widget/DefaultWidgetService.java +++ b/src/main/java/org/scijava/widget/DefaultWidgetService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/FileListWidget.java b/src/main/java/org/scijava/widget/FileListWidget.java index 87401b27f..fc310519b 100644 --- a/src/main/java/org/scijava/widget/FileListWidget.java +++ b/src/main/java/org/scijava/widget/FileListWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/FileWidget.java b/src/main/java/org/scijava/widget/FileWidget.java index e72d41c37..5567cb967 100644 --- a/src/main/java/org/scijava/widget/FileWidget.java +++ b/src/main/java/org/scijava/widget/FileWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/InputHarvester.java b/src/main/java/org/scijava/widget/InputHarvester.java index 30735f457..fe27f5480 100644 --- a/src/main/java/org/scijava/widget/InputHarvester.java +++ b/src/main/java/org/scijava/widget/InputHarvester.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/InputPanel.java b/src/main/java/org/scijava/widget/InputPanel.java index 6e1396e0f..f937027bc 100644 --- a/src/main/java/org/scijava/widget/InputPanel.java +++ b/src/main/java/org/scijava/widget/InputPanel.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/InputWidget.java b/src/main/java/org/scijava/widget/InputWidget.java index 6499314bc..221c3770b 100644 --- a/src/main/java/org/scijava/widget/InputWidget.java +++ b/src/main/java/org/scijava/widget/InputWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/MessageWidget.java b/src/main/java/org/scijava/widget/MessageWidget.java index f096f4116..20347c3b2 100644 --- a/src/main/java/org/scijava/widget/MessageWidget.java +++ b/src/main/java/org/scijava/widget/MessageWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/NumberWidget.java b/src/main/java/org/scijava/widget/NumberWidget.java index 67d4c1030..79bfa46cd 100644 --- a/src/main/java/org/scijava/widget/NumberWidget.java +++ b/src/main/java/org/scijava/widget/NumberWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/ObjectWidget.java b/src/main/java/org/scijava/widget/ObjectWidget.java index 5c8b2ed81..27c9560c6 100644 --- a/src/main/java/org/scijava/widget/ObjectWidget.java +++ b/src/main/java/org/scijava/widget/ObjectWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/TextWidget.java b/src/main/java/org/scijava/widget/TextWidget.java index 4f555d8c1..716750d69 100644 --- a/src/main/java/org/scijava/widget/TextWidget.java +++ b/src/main/java/org/scijava/widget/TextWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/ToggleWidget.java b/src/main/java/org/scijava/widget/ToggleWidget.java index 336e75cd1..8a56a9662 100644 --- a/src/main/java/org/scijava/widget/ToggleWidget.java +++ b/src/main/java/org/scijava/widget/ToggleWidget.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/UIComponent.java b/src/main/java/org/scijava/widget/UIComponent.java index 20dd35301..2b7f56e0a 100644 --- a/src/main/java/org/scijava/widget/UIComponent.java +++ b/src/main/java/org/scijava/widget/UIComponent.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/WidgetModel.java b/src/main/java/org/scijava/widget/WidgetModel.java index 9f0f1b634..a2ee20dcd 100644 --- a/src/main/java/org/scijava/widget/WidgetModel.java +++ b/src/main/java/org/scijava/widget/WidgetModel.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/WidgetService.java b/src/main/java/org/scijava/widget/WidgetService.java index 047657acb..01857a29c 100644 --- a/src/main/java/org/scijava/widget/WidgetService.java +++ b/src/main/java/org/scijava/widget/WidgetService.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/main/java/org/scijava/widget/WidgetStyle.java b/src/main/java/org/scijava/widget/WidgetStyle.java index d9c186b0c..65491717d 100644 --- a/src/main/java/org/scijava/widget/WidgetStyle.java +++ b/src/main/java/org/scijava/widget/WidgetStyle.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/ContextCreationTest.java b/src/test/java/org/scijava/ContextCreationTest.java index 614e4a019..9b5769ef3 100644 --- a/src/test/java/org/scijava/ContextCreationTest.java +++ b/src/test/java/org/scijava/ContextCreationTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/ContextDisposalTest.java b/src/test/java/org/scijava/ContextDisposalTest.java index e3834d3a2..4f66ab6f9 100644 --- a/src/test/java/org/scijava/ContextDisposalTest.java +++ b/src/test/java/org/scijava/ContextDisposalTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/ContextInjectionTest.java b/src/test/java/org/scijava/ContextInjectionTest.java index b5f948041..df3c46ece 100644 --- a/src/test/java/org/scijava/ContextInjectionTest.java +++ b/src/test/java/org/scijava/ContextInjectionTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/SciJavaTest.java b/src/test/java/org/scijava/SciJavaTest.java index 1279f8861..9daf637c6 100644 --- a/src/test/java/org/scijava/SciJavaTest.java +++ b/src/test/java/org/scijava/SciJavaTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/AnnotatedA.java b/src/test/java/org/scijava/annotations/AnnotatedA.java index 799eea92f..4c9977496 100644 --- a/src/test/java/org/scijava/annotations/AnnotatedA.java +++ b/src/test/java/org/scijava/annotations/AnnotatedA.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/AnnotatedB.java b/src/test/java/org/scijava/annotations/AnnotatedB.java index a14106e1d..46ccb442c 100644 --- a/src/test/java/org/scijava/annotations/AnnotatedB.java +++ b/src/test/java/org/scijava/annotations/AnnotatedB.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/AnnotatedC.java b/src/test/java/org/scijava/annotations/AnnotatedC.java index 589a49e5f..777b949f4 100644 --- a/src/test/java/org/scijava/annotations/AnnotatedC.java +++ b/src/test/java/org/scijava/annotations/AnnotatedC.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/AnnotatedD.java b/src/test/java/org/scijava/annotations/AnnotatedD.java index f6e23eac6..d898df6d7 100644 --- a/src/test/java/org/scijava/annotations/AnnotatedD.java +++ b/src/test/java/org/scijava/annotations/AnnotatedD.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/AnnotatedInnerClass.java b/src/test/java/org/scijava/annotations/AnnotatedInnerClass.java index 6f46d5864..96ed33157 100644 --- a/src/test/java/org/scijava/annotations/AnnotatedInnerClass.java +++ b/src/test/java/org/scijava/annotations/AnnotatedInnerClass.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/Complex.java b/src/test/java/org/scijava/annotations/Complex.java index b0c7d879e..f7cb7e0ec 100644 --- a/src/test/java/org/scijava/annotations/Complex.java +++ b/src/test/java/org/scijava/annotations/Complex.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/DirectoryIndexerTest.java b/src/test/java/org/scijava/annotations/DirectoryIndexerTest.java index 81a96747d..8a6d243e4 100644 --- a/src/test/java/org/scijava/annotations/DirectoryIndexerTest.java +++ b/src/test/java/org/scijava/annotations/DirectoryIndexerTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/EclipseHelperTest.java b/src/test/java/org/scijava/annotations/EclipseHelperTest.java index 24daca561..6bd63ace5 100644 --- a/src/test/java/org/scijava/annotations/EclipseHelperTest.java +++ b/src/test/java/org/scijava/annotations/EclipseHelperTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/Fruit.java b/src/test/java/org/scijava/annotations/Fruit.java index cf484cb20..9ffb333cd 100644 --- a/src/test/java/org/scijava/annotations/Fruit.java +++ b/src/test/java/org/scijava/annotations/Fruit.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/LegacyTest.java b/src/test/java/org/scijava/annotations/LegacyTest.java index a9aaf12a8..6bf5d5d13 100644 --- a/src/test/java/org/scijava/annotations/LegacyTest.java +++ b/src/test/java/org/scijava/annotations/LegacyTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/annotations/Simple.java b/src/test/java/org/scijava/annotations/Simple.java index 193803c00..90b426367 100644 --- a/src/test/java/org/scijava/annotations/Simple.java +++ b/src/test/java/org/scijava/annotations/Simple.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/app/StatusServiceTest.java b/src/test/java/org/scijava/app/StatusServiceTest.java index 1e2eed9d3..1209d4049 100644 --- a/src/test/java/org/scijava/app/StatusServiceTest.java +++ b/src/test/java/org/scijava/app/StatusServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/command/CommandArrayConverterTest.java b/src/test/java/org/scijava/command/CommandArrayConverterTest.java index b2a34200e..8531a3dfa 100644 --- a/src/test/java/org/scijava/command/CommandArrayConverterTest.java +++ b/src/test/java/org/scijava/command/CommandArrayConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/command/CommandInfoTest.java b/src/test/java/org/scijava/command/CommandInfoTest.java index 492945766..6f1cf1128 100644 --- a/src/test/java/org/scijava/command/CommandInfoTest.java +++ b/src/test/java/org/scijava/command/CommandInfoTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/command/CommandModuleTest.java b/src/test/java/org/scijava/command/CommandModuleTest.java index cfa70fe45..9fb32074f 100644 --- a/src/test/java/org/scijava/command/CommandModuleTest.java +++ b/src/test/java/org/scijava/command/CommandModuleTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/command/CommandServiceTest.java b/src/test/java/org/scijava/command/CommandServiceTest.java index fb1fda971..ef34da9a4 100644 --- a/src/test/java/org/scijava/command/CommandServiceTest.java +++ b/src/test/java/org/scijava/command/CommandServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/command/InputsTest.java b/src/test/java/org/scijava/command/InputsTest.java index db55f9c3e..3cdc8c35b 100644 --- a/src/test/java/org/scijava/command/InputsTest.java +++ b/src/test/java/org/scijava/command/InputsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/command/InvalidCommandTest.java b/src/test/java/org/scijava/command/InvalidCommandTest.java index 2687d056a..e3f64b268 100644 --- a/src/test/java/org/scijava/command/InvalidCommandTest.java +++ b/src/test/java/org/scijava/command/InvalidCommandTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/command/run/CommandCodeRunnerTest.java b/src/test/java/org/scijava/command/run/CommandCodeRunnerTest.java index 6e488c1f7..466df6426 100644 --- a/src/test/java/org/scijava/command/run/CommandCodeRunnerTest.java +++ b/src/test/java/org/scijava/command/run/CommandCodeRunnerTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/console/ConsoleServiceTest.java b/src/test/java/org/scijava/console/ConsoleServiceTest.java index cb4728630..8a2760e85 100644 --- a/src/test/java/org/scijava/console/ConsoleServiceTest.java +++ b/src/test/java/org/scijava/console/ConsoleServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/console/SystemPropertyArgumentTest.java b/src/test/java/org/scijava/console/SystemPropertyArgumentTest.java index b073e504c..a45c7823e 100644 --- a/src/test/java/org/scijava/console/SystemPropertyArgumentTest.java +++ b/src/test/java/org/scijava/console/SystemPropertyArgumentTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/AbstractNumberConverterTests.java b/src/test/java/org/scijava/convert/AbstractNumberConverterTests.java index 7b899bd4f..8e7aac26b 100644 --- a/src/test/java/org/scijava/convert/AbstractNumberConverterTests.java +++ b/src/test/java/org/scijava/convert/AbstractNumberConverterTests.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ArrayToStringConverterTest.java b/src/test/java/org/scijava/convert/ArrayToStringConverterTest.java index a1a1bb10a..0d1f7ef28 100644 --- a/src/test/java/org/scijava/convert/ArrayToStringConverterTest.java +++ b/src/test/java/org/scijava/convert/ArrayToStringConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/BigIntegerToBigDecimalConverterTest.java b/src/test/java/org/scijava/convert/BigIntegerToBigDecimalConverterTest.java index 0535224eb..228ff9e3b 100644 --- a/src/test/java/org/scijava/convert/BigIntegerToBigDecimalConverterTest.java +++ b/src/test/java/org/scijava/convert/BigIntegerToBigDecimalConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ByteToBigDecimalConverterTest.java b/src/test/java/org/scijava/convert/ByteToBigDecimalConverterTest.java index d63cb3743..638b0caf0 100644 --- a/src/test/java/org/scijava/convert/ByteToBigDecimalConverterTest.java +++ b/src/test/java/org/scijava/convert/ByteToBigDecimalConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ByteToBigIntegerConverterTest.java b/src/test/java/org/scijava/convert/ByteToBigIntegerConverterTest.java index e179deff1..381b2f5ac 100644 --- a/src/test/java/org/scijava/convert/ByteToBigIntegerConverterTest.java +++ b/src/test/java/org/scijava/convert/ByteToBigIntegerConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ByteToDoubleConverterTest.java b/src/test/java/org/scijava/convert/ByteToDoubleConverterTest.java index 472e42702..43d2c62ef 100644 --- a/src/test/java/org/scijava/convert/ByteToDoubleConverterTest.java +++ b/src/test/java/org/scijava/convert/ByteToDoubleConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ByteToFloatConverterTest.java b/src/test/java/org/scijava/convert/ByteToFloatConverterTest.java index 7674190ca..286f358a5 100644 --- a/src/test/java/org/scijava/convert/ByteToFloatConverterTest.java +++ b/src/test/java/org/scijava/convert/ByteToFloatConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ByteToIntegerConverterTest.java b/src/test/java/org/scijava/convert/ByteToIntegerConverterTest.java index 1d1747098..f4607db21 100644 --- a/src/test/java/org/scijava/convert/ByteToIntegerConverterTest.java +++ b/src/test/java/org/scijava/convert/ByteToIntegerConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ByteToLongConverterTest.java b/src/test/java/org/scijava/convert/ByteToLongConverterTest.java index 53f552f1c..38ffd40aa 100644 --- a/src/test/java/org/scijava/convert/ByteToLongConverterTest.java +++ b/src/test/java/org/scijava/convert/ByteToLongConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ByteToShortConverterTest.java b/src/test/java/org/scijava/convert/ByteToShortConverterTest.java index b2fd5281b..c1e542e12 100644 --- a/src/test/java/org/scijava/convert/ByteToShortConverterTest.java +++ b/src/test/java/org/scijava/convert/ByteToShortConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ConvertServiceTest.java b/src/test/java/org/scijava/convert/ConvertServiceTest.java index 96dbe1bdf..80fe29337 100644 --- a/src/test/java/org/scijava/convert/ConvertServiceTest.java +++ b/src/test/java/org/scijava/convert/ConvertServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ConverterTest.java b/src/test/java/org/scijava/convert/ConverterTest.java index ddb0f6c9f..cf9564346 100644 --- a/src/test/java/org/scijava/convert/ConverterTest.java +++ b/src/test/java/org/scijava/convert/ConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/DefaultConverterTest.java b/src/test/java/org/scijava/convert/DefaultConverterTest.java index b1c810d83..af04d34ad 100644 --- a/src/test/java/org/scijava/convert/DefaultConverterTest.java +++ b/src/test/java/org/scijava/convert/DefaultConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/DelegateConverterTest.java b/src/test/java/org/scijava/convert/DelegateConverterTest.java index b506e9e2d..ec1f4187c 100644 --- a/src/test/java/org/scijava/convert/DelegateConverterTest.java +++ b/src/test/java/org/scijava/convert/DelegateConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/DoubleToBigDecimalConverterTest.java b/src/test/java/org/scijava/convert/DoubleToBigDecimalConverterTest.java index aa85644ab..ff6714dba 100644 --- a/src/test/java/org/scijava/convert/DoubleToBigDecimalConverterTest.java +++ b/src/test/java/org/scijava/convert/DoubleToBigDecimalConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/FileListConverterTest.java b/src/test/java/org/scijava/convert/FileListConverterTest.java index 71afaa2dc..f5b40b2e4 100644 --- a/src/test/java/org/scijava/convert/FileListConverterTest.java +++ b/src/test/java/org/scijava/convert/FileListConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/FileToPathConversionTest.java b/src/test/java/org/scijava/convert/FileToPathConversionTest.java index ef8829e07..7fd087514 100644 --- a/src/test/java/org/scijava/convert/FileToPathConversionTest.java +++ b/src/test/java/org/scijava/convert/FileToPathConversionTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/FloatToBigDecimalConverterTest.java b/src/test/java/org/scijava/convert/FloatToBigDecimalConverterTest.java index 546a649c0..7d49b6878 100644 --- a/src/test/java/org/scijava/convert/FloatToBigDecimalConverterTest.java +++ b/src/test/java/org/scijava/convert/FloatToBigDecimalConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/FloatToDoubleConverterTest.java b/src/test/java/org/scijava/convert/FloatToDoubleConverterTest.java index 5aaf070cc..45c5c4dfb 100644 --- a/src/test/java/org/scijava/convert/FloatToDoubleConverterTest.java +++ b/src/test/java/org/scijava/convert/FloatToDoubleConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/IntegerToBigDecimalConverterTest.java b/src/test/java/org/scijava/convert/IntegerToBigDecimalConverterTest.java index 48d54b3d6..4c375dcb8 100644 --- a/src/test/java/org/scijava/convert/IntegerToBigDecimalConverterTest.java +++ b/src/test/java/org/scijava/convert/IntegerToBigDecimalConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/IntegerToBigIntegerConverterTest.java b/src/test/java/org/scijava/convert/IntegerToBigIntegerConverterTest.java index e1430131c..79c89bcb1 100644 --- a/src/test/java/org/scijava/convert/IntegerToBigIntegerConverterTest.java +++ b/src/test/java/org/scijava/convert/IntegerToBigIntegerConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/IntegerToDoubleConverterTest.java b/src/test/java/org/scijava/convert/IntegerToDoubleConverterTest.java index 3581c5c48..0e1106536 100644 --- a/src/test/java/org/scijava/convert/IntegerToDoubleConverterTest.java +++ b/src/test/java/org/scijava/convert/IntegerToDoubleConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/IntegerToLongConverterTest.java b/src/test/java/org/scijava/convert/IntegerToLongConverterTest.java index 5aa0f3b9c..5611b7f26 100644 --- a/src/test/java/org/scijava/convert/IntegerToLongConverterTest.java +++ b/src/test/java/org/scijava/convert/IntegerToLongConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/LongToBigDecimalConverterTest.java b/src/test/java/org/scijava/convert/LongToBigDecimalConverterTest.java index 56e6da876..436730ee2 100644 --- a/src/test/java/org/scijava/convert/LongToBigDecimalConverterTest.java +++ b/src/test/java/org/scijava/convert/LongToBigDecimalConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/LongToBigIntegerConverterTest.java b/src/test/java/org/scijava/convert/LongToBigIntegerConverterTest.java index 57527734a..ec8a1c3ca 100644 --- a/src/test/java/org/scijava/convert/LongToBigIntegerConverterTest.java +++ b/src/test/java/org/scijava/convert/LongToBigIntegerConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ShortToBigDecimalConverterTest.java b/src/test/java/org/scijava/convert/ShortToBigDecimalConverterTest.java index fd65d1a31..642008214 100644 --- a/src/test/java/org/scijava/convert/ShortToBigDecimalConverterTest.java +++ b/src/test/java/org/scijava/convert/ShortToBigDecimalConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ShortToBigIntegerConverterTest.java b/src/test/java/org/scijava/convert/ShortToBigIntegerConverterTest.java index 7ff413922..bb39f8c50 100644 --- a/src/test/java/org/scijava/convert/ShortToBigIntegerConverterTest.java +++ b/src/test/java/org/scijava/convert/ShortToBigIntegerConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ShortToDoubleConverterTest.java b/src/test/java/org/scijava/convert/ShortToDoubleConverterTest.java index 0a71d5092..336001970 100644 --- a/src/test/java/org/scijava/convert/ShortToDoubleConverterTest.java +++ b/src/test/java/org/scijava/convert/ShortToDoubleConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ShortToFloatConverterTest.java b/src/test/java/org/scijava/convert/ShortToFloatConverterTest.java index cc93bd4c3..d893478ca 100644 --- a/src/test/java/org/scijava/convert/ShortToFloatConverterTest.java +++ b/src/test/java/org/scijava/convert/ShortToFloatConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ShortToIntegerConverterTest.java b/src/test/java/org/scijava/convert/ShortToIntegerConverterTest.java index 11c514c59..df9c62daf 100644 --- a/src/test/java/org/scijava/convert/ShortToIntegerConverterTest.java +++ b/src/test/java/org/scijava/convert/ShortToIntegerConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/ShortToLongConverterTest.java b/src/test/java/org/scijava/convert/ShortToLongConverterTest.java index f396697fd..a5803241a 100644 --- a/src/test/java/org/scijava/convert/ShortToLongConverterTest.java +++ b/src/test/java/org/scijava/convert/ShortToLongConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/StringToArrayConverterTest.java b/src/test/java/org/scijava/convert/StringToArrayConverterTest.java index 35b45f19b..c68ddd568 100644 --- a/src/test/java/org/scijava/convert/StringToArrayConverterTest.java +++ b/src/test/java/org/scijava/convert/StringToArrayConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/convert/StringToNumberConverterTest.java b/src/test/java/org/scijava/convert/StringToNumberConverterTest.java index 779850213..34ed9d260 100644 --- a/src/test/java/org/scijava/convert/StringToNumberConverterTest.java +++ b/src/test/java/org/scijava/convert/StringToNumberConverterTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/display/DisplayTest.java b/src/test/java/org/scijava/display/DisplayTest.java index 07cf2967f..3d6f65de2 100644 --- a/src/test/java/org/scijava/display/DisplayTest.java +++ b/src/test/java/org/scijava/display/DisplayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/download/DownloadServiceTest.java b/src/test/java/org/scijava/download/DownloadServiceTest.java index 390f06f68..a9bb2a421 100644 --- a/src/test/java/org/scijava/download/DownloadServiceTest.java +++ b/src/test/java/org/scijava/download/DownloadServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/event/EventServiceTest.java b/src/test/java/org/scijava/event/EventServiceTest.java index 2d0215f41..de8c2b028 100644 --- a/src/test/java/org/scijava/event/EventServiceTest.java +++ b/src/test/java/org/scijava/event/EventServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/ByteArrayByteBankTest.java b/src/test/java/org/scijava/io/ByteArrayByteBankTest.java index 1f184071a..e57db1f3e 100644 --- a/src/test/java/org/scijava/io/ByteArrayByteBankTest.java +++ b/src/test/java/org/scijava/io/ByteArrayByteBankTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/ByteBankTest.java b/src/test/java/org/scijava/io/ByteBankTest.java index fdc00f86c..fd1ff0b6a 100644 --- a/src/test/java/org/scijava/io/ByteBankTest.java +++ b/src/test/java/org/scijava/io/ByteBankTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/IOServiceTest.java b/src/test/java/org/scijava/io/IOServiceTest.java index ecfed72ad..bae4be289 100644 --- a/src/test/java/org/scijava/io/IOServiceTest.java +++ b/src/test/java/org/scijava/io/IOServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/TypedIOServiceTest.java b/src/test/java/org/scijava/io/TypedIOServiceTest.java index 734924839..d59cb9014 100644 --- a/src/test/java/org/scijava/io/TypedIOServiceTest.java +++ b/src/test/java/org/scijava/io/TypedIOServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/event/DataEventTest.java b/src/test/java/org/scijava/io/event/DataEventTest.java index 5a56f2fcd..0c4e8e7ea 100644 --- a/src/test/java/org/scijava/io/event/DataEventTest.java +++ b/src/test/java/org/scijava/io/event/DataEventTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/handle/BytesHandleTest.java b/src/test/java/org/scijava/io/handle/BytesHandleTest.java index 4b2d05db0..a996b4fa2 100644 --- a/src/test/java/org/scijava/io/handle/BytesHandleTest.java +++ b/src/test/java/org/scijava/io/handle/BytesHandleTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/handle/DataHandleEdgeCaseTests.java b/src/test/java/org/scijava/io/handle/DataHandleEdgeCaseTests.java index deba27821..bac3ee2f2 100644 --- a/src/test/java/org/scijava/io/handle/DataHandleEdgeCaseTests.java +++ b/src/test/java/org/scijava/io/handle/DataHandleEdgeCaseTests.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/handle/DataHandleTest.java b/src/test/java/org/scijava/io/handle/DataHandleTest.java index b12a7592b..8e84c4087 100644 --- a/src/test/java/org/scijava/io/handle/DataHandleTest.java +++ b/src/test/java/org/scijava/io/handle/DataHandleTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/handle/DataHandlesTest.java b/src/test/java/org/scijava/io/handle/DataHandlesTest.java index 09ff0e012..5e0a95359 100644 --- a/src/test/java/org/scijava/io/handle/DataHandlesTest.java +++ b/src/test/java/org/scijava/io/handle/DataHandlesTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/handle/FileHandleTest.java b/src/test/java/org/scijava/io/handle/FileHandleTest.java index 551769c30..6caa0c7e3 100644 --- a/src/test/java/org/scijava/io/handle/FileHandleTest.java +++ b/src/test/java/org/scijava/io/handle/FileHandleTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/handle/ReadBufferDataHandleMockTest.java b/src/test/java/org/scijava/io/handle/ReadBufferDataHandleMockTest.java index 20a637f3e..3337d4a82 100644 --- a/src/test/java/org/scijava/io/handle/ReadBufferDataHandleMockTest.java +++ b/src/test/java/org/scijava/io/handle/ReadBufferDataHandleMockTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/handle/ReadBufferDataHandleTest.java b/src/test/java/org/scijava/io/handle/ReadBufferDataHandleTest.java index 8196c9128..5e0fce0df 100644 --- a/src/test/java/org/scijava/io/handle/ReadBufferDataHandleTest.java +++ b/src/test/java/org/scijava/io/handle/ReadBufferDataHandleTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/handle/WriteBufferDataHandleTest.java b/src/test/java/org/scijava/io/handle/WriteBufferDataHandleTest.java index 813a5ab46..dd0c158f4 100644 --- a/src/test/java/org/scijava/io/handle/WriteBufferDataHandleTest.java +++ b/src/test/java/org/scijava/io/handle/WriteBufferDataHandleTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/location/BytesLocationTest.java b/src/test/java/org/scijava/io/location/BytesLocationTest.java index 1217c23ff..4dbcd46a4 100644 --- a/src/test/java/org/scijava/io/location/BytesLocationTest.java +++ b/src/test/java/org/scijava/io/location/BytesLocationTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/location/FileLocationResolverTest.java b/src/test/java/org/scijava/io/location/FileLocationResolverTest.java index 62ec48db0..0b71e739f 100644 --- a/src/test/java/org/scijava/io/location/FileLocationResolverTest.java +++ b/src/test/java/org/scijava/io/location/FileLocationResolverTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/location/FileLocationTest.java b/src/test/java/org/scijava/io/location/FileLocationTest.java index 3ce55ea53..b9d189f0f 100644 --- a/src/test/java/org/scijava/io/location/FileLocationTest.java +++ b/src/test/java/org/scijava/io/location/FileLocationTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/location/LocationServiceTest.java b/src/test/java/org/scijava/io/location/LocationServiceTest.java index fb917a694..5889dae32 100644 --- a/src/test/java/org/scijava/io/location/LocationServiceTest.java +++ b/src/test/java/org/scijava/io/location/LocationServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/location/URILocationTest.java b/src/test/java/org/scijava/io/location/URILocationTest.java index 9df45d181..49ff094ab 100644 --- a/src/test/java/org/scijava/io/location/URILocationTest.java +++ b/src/test/java/org/scijava/io/location/URILocationTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/location/URLLocationTest.java b/src/test/java/org/scijava/io/location/URLLocationTest.java index 0075c79dd..f053a1fab 100644 --- a/src/test/java/org/scijava/io/location/URLLocationTest.java +++ b/src/test/java/org/scijava/io/location/URLLocationTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/io/nio/ByteBufferByteBankTest.java b/src/test/java/org/scijava/io/nio/ByteBufferByteBankTest.java index 8685dc322..76fdf7e21 100644 --- a/src/test/java/org/scijava/io/nio/ByteBufferByteBankTest.java +++ b/src/test/java/org/scijava/io/nio/ByteBufferByteBankTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/log/CallingClassUtilsTest.java b/src/test/java/org/scijava/log/CallingClassUtilsTest.java index a88c970a1..8817580ee 100644 --- a/src/test/java/org/scijava/log/CallingClassUtilsTest.java +++ b/src/test/java/org/scijava/log/CallingClassUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/log/DefaultLoggerTest.java b/src/test/java/org/scijava/log/DefaultLoggerTest.java index 14cc55b77..5c2f29805 100644 --- a/src/test/java/org/scijava/log/DefaultLoggerTest.java +++ b/src/test/java/org/scijava/log/DefaultLoggerTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/log/LogMessageTest.java b/src/test/java/org/scijava/log/LogMessageTest.java index f08f6ec18..0699ddc37 100644 --- a/src/test/java/org/scijava/log/LogMessageTest.java +++ b/src/test/java/org/scijava/log/LogMessageTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/log/LogServiceTest.java b/src/test/java/org/scijava/log/LogServiceTest.java index 2d3d3b46f..78a128073 100644 --- a/src/test/java/org/scijava/log/LogServiceTest.java +++ b/src/test/java/org/scijava/log/LogServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/log/LogSourceTest.java b/src/test/java/org/scijava/log/LogSourceTest.java index c5dda19d7..e6d7883a7 100644 --- a/src/test/java/org/scijava/log/LogSourceTest.java +++ b/src/test/java/org/scijava/log/LogSourceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/log/StderrLogServiceTest.java b/src/test/java/org/scijava/log/StderrLogServiceTest.java index 95429dd25..42db64727 100644 --- a/src/test/java/org/scijava/log/StderrLogServiceTest.java +++ b/src/test/java/org/scijava/log/StderrLogServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/log/TestLogListener.java b/src/test/java/org/scijava/log/TestLogListener.java index e7f2bce82..94ed38813 100644 --- a/src/test/java/org/scijava/log/TestLogListener.java +++ b/src/test/java/org/scijava/log/TestLogListener.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/main/MainServiceTest.java b/src/test/java/org/scijava/main/MainServiceTest.java index b5d09ac31..e87501a7b 100644 --- a/src/test/java/org/scijava/main/MainServiceTest.java +++ b/src/test/java/org/scijava/main/MainServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/main/run/MainCodeRunnerTest.java b/src/test/java/org/scijava/main/run/MainCodeRunnerTest.java index ea049cf18..20c0997fe 100644 --- a/src/test/java/org/scijava/main/run/MainCodeRunnerTest.java +++ b/src/test/java/org/scijava/main/run/MainCodeRunnerTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/menu/MenuServiceTest.java b/src/test/java/org/scijava/menu/MenuServiceTest.java index aad47bb73..a3b2f203f 100644 --- a/src/test/java/org/scijava/menu/MenuServiceTest.java +++ b/src/test/java/org/scijava/menu/MenuServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/menu/ShadowMenuTest.java b/src/test/java/org/scijava/menu/ShadowMenuTest.java index 2c9660b2d..5eb75a2cb 100644 --- a/src/test/java/org/scijava/menu/ShadowMenuTest.java +++ b/src/test/java/org/scijava/menu/ShadowMenuTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/module/ModuleServiceTest.java b/src/test/java/org/scijava/module/ModuleServiceTest.java index e8844f086..cdaf44a84 100644 --- a/src/test/java/org/scijava/module/ModuleServiceTest.java +++ b/src/test/java/org/scijava/module/ModuleServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/module/event/ModuleErroredEventTest.java b/src/test/java/org/scijava/module/event/ModuleErroredEventTest.java index 4524254df..def867107 100644 --- a/src/test/java/org/scijava/module/event/ModuleErroredEventTest.java +++ b/src/test/java/org/scijava/module/event/ModuleErroredEventTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/module/process/LoggerPreprocessorTest.java b/src/test/java/org/scijava/module/process/LoggerPreprocessorTest.java index 16e5e7e6d..7698f30b9 100644 --- a/src/test/java/org/scijava/module/process/LoggerPreprocessorTest.java +++ b/src/test/java/org/scijava/module/process/LoggerPreprocessorTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/module/run/ModuleCodeRunnerTest.java b/src/test/java/org/scijava/module/run/ModuleCodeRunnerTest.java index 9a2dcc0c4..719ed815f 100644 --- a/src/test/java/org/scijava/module/run/ModuleCodeRunnerTest.java +++ b/src/test/java/org/scijava/module/run/ModuleCodeRunnerTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/object/NamedObjectIndexTest.java b/src/test/java/org/scijava/object/NamedObjectIndexTest.java index 4a76b6962..7ceef8e27 100644 --- a/src/test/java/org/scijava/object/NamedObjectIndexTest.java +++ b/src/test/java/org/scijava/object/NamedObjectIndexTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/object/ObjectIndexTest.java b/src/test/java/org/scijava/object/ObjectIndexTest.java index 62c2e4071..95f0c9dc8 100644 --- a/src/test/java/org/scijava/object/ObjectIndexTest.java +++ b/src/test/java/org/scijava/object/ObjectIndexTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/object/ObjectServiceTest.java b/src/test/java/org/scijava/object/ObjectServiceTest.java index bdb18ce5d..c8f27051e 100644 --- a/src/test/java/org/scijava/object/ObjectServiceTest.java +++ b/src/test/java/org/scijava/object/ObjectServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/object/SortedObjectIndexTest.java b/src/test/java/org/scijava/object/SortedObjectIndexTest.java index ad5e0e14c..3a3c31e97 100644 --- a/src/test/java/org/scijava/object/SortedObjectIndexTest.java +++ b/src/test/java/org/scijava/object/SortedObjectIndexTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/options/OptionsTest.java b/src/test/java/org/scijava/options/OptionsTest.java index 78b4e182a..da1b4a51a 100644 --- a/src/test/java/org/scijava/options/OptionsTest.java +++ b/src/test/java/org/scijava/options/OptionsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/parse/ParseServiceTest.java b/src/test/java/org/scijava/parse/ParseServiceTest.java index 5a7cdb164..ffe1ee60d 100644 --- a/src/test/java/org/scijava/parse/ParseServiceTest.java +++ b/src/test/java/org/scijava/parse/ParseServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/plugin/PluginFinderTest.java b/src/test/java/org/scijava/plugin/PluginFinderTest.java index a5562f3bb..7c83b3b57 100644 --- a/src/test/java/org/scijava/plugin/PluginFinderTest.java +++ b/src/test/java/org/scijava/plugin/PluginFinderTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/plugin/PluginIndexTest.java b/src/test/java/org/scijava/plugin/PluginIndexTest.java index 7453aba96..76a076493 100644 --- a/src/test/java/org/scijava/plugin/PluginIndexTest.java +++ b/src/test/java/org/scijava/plugin/PluginIndexTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/plugin/PluginInfoTest.java b/src/test/java/org/scijava/plugin/PluginInfoTest.java index eb8507f43..ae9098a0d 100644 --- a/src/test/java/org/scijava/plugin/PluginInfoTest.java +++ b/src/test/java/org/scijava/plugin/PluginInfoTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/plugin/SingletonServiceTest.java b/src/test/java/org/scijava/plugin/SingletonServiceTest.java index 18242910f..1ef3e82de 100644 --- a/src/test/java/org/scijava/plugin/SingletonServiceTest.java +++ b/src/test/java/org/scijava/plugin/SingletonServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/prefs/PrefServiceTest.java b/src/test/java/org/scijava/prefs/PrefServiceTest.java index 63249b4e5..7a8535ed0 100644 --- a/src/test/java/org/scijava/prefs/PrefServiceTest.java +++ b/src/test/java/org/scijava/prefs/PrefServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/run/RunServiceTest.java b/src/test/java/org/scijava/run/RunServiceTest.java index ae3506c8c..71e2213d9 100644 --- a/src/test/java/org/scijava/run/RunServiceTest.java +++ b/src/test/java/org/scijava/run/RunServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/script/AbstractScriptLanguageTest.java b/src/test/java/org/scijava/script/AbstractScriptLanguageTest.java index 192232351..8ad3ef941 100644 --- a/src/test/java/org/scijava/script/AbstractScriptLanguageTest.java +++ b/src/test/java/org/scijava/script/AbstractScriptLanguageTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/script/ScriptEngineTest.java b/src/test/java/org/scijava/script/ScriptEngineTest.java index 3df84bf5a..f8fac4dc9 100644 --- a/src/test/java/org/scijava/script/ScriptEngineTest.java +++ b/src/test/java/org/scijava/script/ScriptEngineTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/script/ScriptFinderTest.java b/src/test/java/org/scijava/script/ScriptFinderTest.java index dce377a2d..74fdc4583 100644 --- a/src/test/java/org/scijava/script/ScriptFinderTest.java +++ b/src/test/java/org/scijava/script/ScriptFinderTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/script/ScriptInfoTest.java b/src/test/java/org/scijava/script/ScriptInfoTest.java index 47951dd75..eb53d3d2d 100644 --- a/src/test/java/org/scijava/script/ScriptInfoTest.java +++ b/src/test/java/org/scijava/script/ScriptInfoTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/script/ScriptServiceTest.java b/src/test/java/org/scijava/script/ScriptServiceTest.java index 1cf9ae9ff..404550f5d 100644 --- a/src/test/java/org/scijava/script/ScriptServiceTest.java +++ b/src/test/java/org/scijava/script/ScriptServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/script/process/ParameterScriptProcessorTest.java b/src/test/java/org/scijava/script/process/ParameterScriptProcessorTest.java index 578cfe617..8e9c5b653 100644 --- a/src/test/java/org/scijava/script/process/ParameterScriptProcessorTest.java +++ b/src/test/java/org/scijava/script/process/ParameterScriptProcessorTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/service/ServiceIndexTest.java b/src/test/java/org/scijava/service/ServiceIndexTest.java index 2629c8195..ea3f6cc8c 100644 --- a/src/test/java/org/scijava/service/ServiceIndexTest.java +++ b/src/test/java/org/scijava/service/ServiceIndexTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/task/TaskEventTest.java b/src/test/java/org/scijava/task/TaskEventTest.java index eb939fbf0..82d98f85f 100644 --- a/src/test/java/org/scijava/task/TaskEventTest.java +++ b/src/test/java/org/scijava/task/TaskEventTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/task/TaskServiceTest.java b/src/test/java/org/scijava/task/TaskServiceTest.java index a8c99505f..00b320b0a 100644 --- a/src/test/java/org/scijava/task/TaskServiceTest.java +++ b/src/test/java/org/scijava/task/TaskServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/test/AbstractSciJavaTest.java b/src/test/java/org/scijava/test/AbstractSciJavaTest.java index 5f8dab9a0..3b859e001 100644 --- a/src/test/java/org/scijava/test/AbstractSciJavaTest.java +++ b/src/test/java/org/scijava/test/AbstractSciJavaTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/test/TestUtilsTest.java b/src/test/java/org/scijava/test/TestUtilsTest.java index 3bba34708..69beb2bd2 100644 --- a/src/test/java/org/scijava/test/TestUtilsTest.java +++ b/src/test/java/org/scijava/test/TestUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/text/TextServiceTest.java b/src/test/java/org/scijava/text/TextServiceTest.java index e969da2aa..fd16a40f3 100644 --- a/src/test/java/org/scijava/text/TextServiceTest.java +++ b/src/test/java/org/scijava/text/TextServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/thread/ThreadServiceTest.java b/src/test/java/org/scijava/thread/ThreadServiceTest.java index 83e5dd336..29ce7b4dd 100644 --- a/src/test/java/org/scijava/thread/ThreadServiceTest.java +++ b/src/test/java/org/scijava/thread/ThreadServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/ui/UIServiceTest.java b/src/test/java/org/scijava/ui/UIServiceTest.java index 7a53b6e58..9aba1641c 100644 --- a/src/test/java/org/scijava/ui/UIServiceTest.java +++ b/src/test/java/org/scijava/ui/UIServiceTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/AppUtilsTest.java b/src/test/java/org/scijava/util/AppUtilsTest.java index 2bce17e08..a67e4b758 100644 --- a/src/test/java/org/scijava/util/AppUtilsTest.java +++ b/src/test/java/org/scijava/util/AppUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/ArrayUtilsTest.java b/src/test/java/org/scijava/util/ArrayUtilsTest.java index 15e953adc..2ce778bb9 100644 --- a/src/test/java/org/scijava/util/ArrayUtilsTest.java +++ b/src/test/java/org/scijava/util/ArrayUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/BoolArrayTest.java b/src/test/java/org/scijava/util/BoolArrayTest.java index 2da00516f..9b8239e68 100644 --- a/src/test/java/org/scijava/util/BoolArrayTest.java +++ b/src/test/java/org/scijava/util/BoolArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/ByteArrayTest.java b/src/test/java/org/scijava/util/ByteArrayTest.java index ab862f915..0e8108951 100644 --- a/src/test/java/org/scijava/util/ByteArrayTest.java +++ b/src/test/java/org/scijava/util/ByteArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/CharArrayTest.java b/src/test/java/org/scijava/util/CharArrayTest.java index 9aa855f27..9d4403e75 100644 --- a/src/test/java/org/scijava/util/CharArrayTest.java +++ b/src/test/java/org/scijava/util/CharArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/ClassUtilsTest.java b/src/test/java/org/scijava/util/ClassUtilsTest.java index 0e8e022f1..1e3f809d4 100644 --- a/src/test/java/org/scijava/util/ClassUtilsTest.java +++ b/src/test/java/org/scijava/util/ClassUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/ColorRGBTest.java b/src/test/java/org/scijava/util/ColorRGBTest.java index d09e01721..8f5225b58 100644 --- a/src/test/java/org/scijava/util/ColorRGBTest.java +++ b/src/test/java/org/scijava/util/ColorRGBTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/ConversionUtilsTest.java b/src/test/java/org/scijava/util/ConversionUtilsTest.java index 3daac3f50..f19b7f8e4 100644 --- a/src/test/java/org/scijava/util/ConversionUtilsTest.java +++ b/src/test/java/org/scijava/util/ConversionUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/DigestUtilsTest.java b/src/test/java/org/scijava/util/DigestUtilsTest.java index 0b1e15f24..c9b37378b 100644 --- a/src/test/java/org/scijava/util/DigestUtilsTest.java +++ b/src/test/java/org/scijava/util/DigestUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/DoubleArrayTest.java b/src/test/java/org/scijava/util/DoubleArrayTest.java index 6d382c09c..385b8ee31 100644 --- a/src/test/java/org/scijava/util/DoubleArrayTest.java +++ b/src/test/java/org/scijava/util/DoubleArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/FileUtilsTest.java b/src/test/java/org/scijava/util/FileUtilsTest.java index dd240f593..0bbc6645e 100644 --- a/src/test/java/org/scijava/util/FileUtilsTest.java +++ b/src/test/java/org/scijava/util/FileUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/FloatArrayTest.java b/src/test/java/org/scijava/util/FloatArrayTest.java index a76c12349..9a8516ac9 100644 --- a/src/test/java/org/scijava/util/FloatArrayTest.java +++ b/src/test/java/org/scijava/util/FloatArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/GenericArrayTypesTest.java b/src/test/java/org/scijava/util/GenericArrayTypesTest.java index fee6a2504..5c6e06e9d 100644 --- a/src/test/java/org/scijava/util/GenericArrayTypesTest.java +++ b/src/test/java/org/scijava/util/GenericArrayTypesTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/IntArrayTest.java b/src/test/java/org/scijava/util/IntArrayTest.java index 7536716d3..b28b46390 100644 --- a/src/test/java/org/scijava/util/IntArrayTest.java +++ b/src/test/java/org/scijava/util/IntArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/LastRecentlyUsedTest.java b/src/test/java/org/scijava/util/LastRecentlyUsedTest.java index 8eeb5c5db..10d11e427 100644 --- a/src/test/java/org/scijava/util/LastRecentlyUsedTest.java +++ b/src/test/java/org/scijava/util/LastRecentlyUsedTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/LongArrayTest.java b/src/test/java/org/scijava/util/LongArrayTest.java index a18997343..c0a384b7a 100644 --- a/src/test/java/org/scijava/util/LongArrayTest.java +++ b/src/test/java/org/scijava/util/LongArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/NumberUtilsTest.java b/src/test/java/org/scijava/util/NumberUtilsTest.java index 5ce6b3780..28cef6cea 100644 --- a/src/test/java/org/scijava/util/NumberUtilsTest.java +++ b/src/test/java/org/scijava/util/NumberUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/ObjectArrayTest.java b/src/test/java/org/scijava/util/ObjectArrayTest.java index 1c96cec41..8bcdf73ee 100644 --- a/src/test/java/org/scijava/util/ObjectArrayTest.java +++ b/src/test/java/org/scijava/util/ObjectArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/POMTest.java b/src/test/java/org/scijava/util/POMTest.java index 86a800515..2ca1ea072 100644 --- a/src/test/java/org/scijava/util/POMTest.java +++ b/src/test/java/org/scijava/util/POMTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/PrimitiveArrayTest.java b/src/test/java/org/scijava/util/PrimitiveArrayTest.java index 0fde7de05..64a74492b 100644 --- a/src/test/java/org/scijava/util/PrimitiveArrayTest.java +++ b/src/test/java/org/scijava/util/PrimitiveArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/ProcessUtilsTest.java b/src/test/java/org/scijava/util/ProcessUtilsTest.java index dc529b96b..ce3346a2c 100644 --- a/src/test/java/org/scijava/util/ProcessUtilsTest.java +++ b/src/test/java/org/scijava/util/ProcessUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/PropertiesHelperTest.java b/src/test/java/org/scijava/util/PropertiesHelperTest.java index 35202c9f5..3e3cc57fb 100644 --- a/src/test/java/org/scijava/util/PropertiesHelperTest.java +++ b/src/test/java/org/scijava/util/PropertiesHelperTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/ShortArrayTest.java b/src/test/java/org/scijava/util/ShortArrayTest.java index 3626aa063..005718285 100644 --- a/src/test/java/org/scijava/util/ShortArrayTest.java +++ b/src/test/java/org/scijava/util/ShortArrayTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/StringUtilsTest.java b/src/test/java/org/scijava/util/StringUtilsTest.java index 86555e910..95b0cd431 100644 --- a/src/test/java/org/scijava/util/StringUtilsTest.java +++ b/src/test/java/org/scijava/util/StringUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/TypesTest.java b/src/test/java/org/scijava/util/TypesTest.java index 3ffa1edea..d3529cb0c 100644 --- a/src/test/java/org/scijava/util/TypesTest.java +++ b/src/test/java/org/scijava/util/TypesTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/UnitUtilsTest.java b/src/test/java/org/scijava/util/UnitUtilsTest.java index 96f54eae7..e253a0319 100644 --- a/src/test/java/org/scijava/util/UnitUtilsTest.java +++ b/src/test/java/org/scijava/util/UnitUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/util/VersionUtilsTest.java b/src/test/java/org/scijava/util/VersionUtilsTest.java index 35554427b..f56be8426 100644 --- a/src/test/java/org/scijava/util/VersionUtilsTest.java +++ b/src/test/java/org/scijava/util/VersionUtilsTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff --git a/src/test/java/org/scijava/widget/WidgetStyleTest.java b/src/test/java/org/scijava/widget/WidgetStyleTest.java index 2391ecb8a..0043dba69 100644 --- a/src/test/java/org/scijava/widget/WidgetStyleTest.java +++ b/src/test/java/org/scijava/widget/WidgetStyleTest.java @@ -2,7 +2,7 @@ * #%L * SciJava Common shared library for SciJava software. * %% - * Copyright (C) 2009 - 2024 SciJava developers. + * Copyright (C) 2009 - 2025 SciJava developers. * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: From 321668723c01e551f2e56204d5fb6fbe83d6d77e Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 12 May 2025 16:33:10 -0500 Subject: [PATCH 370/383] POM: update parent to pom-scijava 40.0.0 --- LICENSE.txt | 2 +- pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/LICENSE.txt b/LICENSE.txt index e37abf5e1..142f26652 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,4 +1,4 @@ -Copyright (c) 2009 - 2024, SciJava developers. +Copyright (c) 2009 - 2025, SciJava developers. All rights reserved. Redistribution and use in source and binary forms, with or without modification, diff --git a/pom.xml b/pom.xml index 4e188fa32..58b55bf01 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.scijava pom-scijava - 37.0.0 + 40.0.0 From 8f8a277df6b6d14fa42b9cc451dbe2cf266c4e53 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Mon, 12 May 2025 16:42:53 -0500 Subject: [PATCH 371/383] Bump to next development cycle Signed-off-by: Curtis Rueden --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 58b55bf01..7462349d6 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.99.1-SNAPSHOT + 2.99.2-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From 29255db02499ebc6b70c1066562b48696beb2913 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 27 May 2025 19:49:02 -0500 Subject: [PATCH 372/383] Be less noisy about overlapping script languages We really only need to know about these things in debug mode. --- src/main/java/org/scijava/script/ScriptLanguageIndex.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/scijava/script/ScriptLanguageIndex.java b/src/main/java/org/scijava/script/ScriptLanguageIndex.java index ddab0a36e..f3680e18b 100644 --- a/src/main/java/org/scijava/script/ScriptLanguageIndex.java +++ b/src/main/java/org/scijava/script/ScriptLanguageIndex.java @@ -146,8 +146,8 @@ private boolean put(final String type, final Map map, // Conflicting value; behavior depends on mode. if (gently) { // Do not overwrite the previous value. - if (log != null && log.isWarn()) { - log.warn(overwriteMessage(false, type, key, value, existing)); + if (log != null && log.isDebug()) { + log.debug(overwriteMessage(false, type, key, value, existing)); } return false; } From c720bf0ef6b67ec2d54758a7162f7b2e41fa0c41 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 27 May 2025 22:11:29 -0500 Subject: [PATCH 373/383] Bump to next development cycle Signed-off-by: Curtis Rueden --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 7462349d6..7270aa62e 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.99.2-SNAPSHOT + 2.99.3-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO. From 6679961e0d6a900e22e86b096b634f478529a2b2 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 23 Sep 2025 16:05:50 -0500 Subject: [PATCH 374/383] Slightly improve the scary missing object message Instead of "A ___ is required but none exists", we now use the slightly less scary "A(n) ___ is required but none is available." --- .../org/scijava/widget/AbstractInputHarvester.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/scijava/widget/AbstractInputHarvester.java b/src/main/java/org/scijava/widget/AbstractInputHarvester.java index 1eaea1045..5b9e59ec5 100644 --- a/src/main/java/org/scijava/widget/AbstractInputHarvester.java +++ b/src/main/java/org/scijava/widget/AbstractInputHarvester.java @@ -30,6 +30,7 @@ package org.scijava.widget; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collection; import java.util.List; import java.util.Set; @@ -120,8 +121,15 @@ private WidgetModel addInput(final InputPanel inputPanel, } if (item.isRequired()) { - throw new ModuleException("A " + type.getSimpleName() + - " is required but none exist."); + final List vowelSoundPrefixes = Arrays.asList( + "a", "e", "i", "o", "u", "honor", "honour", "hour", "xml" + ); + final String typeName = type.getSimpleName(); + final String article = vowelSoundPrefixes.stream().anyMatch( + prefix -> typeName.toLowerCase().startsWith(prefix) + ) ? "An" : "A"; + throw new ModuleException(article + " " + typeName + + " is required but none is available."); } // item is not required; we can skip it From dbf2a7aab578c0b6ff37a2a5827e4021ba2be1c1 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 4 Nov 2025 12:53:39 -0600 Subject: [PATCH 375/383] Make KeyCode hex codes consistently low-case --- src/main/java/org/scijava/input/KeyCode.java | 148 +++++++++---------- 1 file changed, 74 insertions(+), 74 deletions(-) diff --git a/src/main/java/org/scijava/input/KeyCode.java b/src/main/java/org/scijava/input/KeyCode.java index 2c2dc7444..234353ca3 100644 --- a/src/main/java/org/scijava/input/KeyCode.java +++ b/src/main/java/org/scijava/input/KeyCode.java @@ -52,7 +52,7 @@ public enum KeyCode { CANCEL(0x03), /** Clear. */ - CLEAR(0x0C), + CLEAR(0x0c), /** Shift (left or right). */ SHIFT(0x10), @@ -70,7 +70,7 @@ public enum KeyCode { CAPS_LOCK(0x14), /** Escape. */ - ESCAPE(0x1B), + ESCAPE(0x1b), /** Space (' '). */ SPACE(0x20), @@ -100,16 +100,16 @@ public enum KeyCode { DOWN(0x28), /** Comma (','). */ - COMMA(0x2C), + COMMA(0x2c), /** Minus ('-'). */ - MINUS(0x2D), + MINUS(0x2d), /** Period ('.'). */ - PERIOD(0x2E), + PERIOD(0x2e), /** Forward slash ('/'). */ - SLASH(0x2F), + SLASH(0x2f), /** Zero ('0', non-numpad). */ NUM0(0x30), @@ -142,10 +142,10 @@ public enum KeyCode { NUM9(0x39), /** Semicolon (';'). */ - SEMICOLON(0x3B), + SEMICOLON(0x3b), /** Equals ('='). */ - EQUALS(0x3D), + EQUALS(0x3d), /** The letter A. */ A(0x41), @@ -175,22 +175,22 @@ public enum KeyCode { I(0x49), /** The letter J. */ - J(0x4A), + J(0x4a), /** The letter K. */ - K(0x4B), + K(0x4b), /** The letter L. */ - L(0x4C), + L(0x4c), /** The letter M. */ - M(0x4D), + M(0x4d), /** The letter N. */ - N(0x4E), + N(0x4e), /** The letter O. */ - O(0x4F), + O(0x4f), /** The letter P. */ P(0x50), @@ -223,16 +223,16 @@ public enum KeyCode { Y(0x59), /** The letter Z. */ - Z(0x5A), + Z(0x5a), /** Left bracket ('['). */ - OPEN_BRACKET(0x5B), + OPEN_BRACKET(0x5b), /** Backslash ('\\'). */ - BACK_SLASH(0x5C), + BACK_SLASH(0x5c), /** Right bracket (']'). */ - CLOSE_BRACKET(0x5D), + CLOSE_BRACKET(0x5d), /** Zero ('0') on numeric keypad. */ NUMPAD_0(0x60), @@ -265,24 +265,24 @@ public enum KeyCode { NUMPAD_9(0x69), /** Asterisk ('*') on numeric keypad. */ - NUMPAD_ASTERISK(0x6A), + NUMPAD_ASTERISK(0x6a), /** Plus ('+') on numeric keypad. */ - NUMPAD_PLUS(0x6B), + NUMPAD_PLUS(0x6b), - NUMPAD_SEPARATOR(0x6C), + NUMPAD_SEPARATOR(0x6c), /** Minus ('-') on numeric keypad. */ - NUMPAD_MINUS(0x6D), + NUMPAD_MINUS(0x6d), /** Period ('.') on numeric keypad. */ - NUMPAD_PERIOD(0x6E), + NUMPAD_PERIOD(0x6e), /** Slash ('/') on numeric keypad. */ - NUMPAD_SLASH(0x6F), + NUMPAD_SLASH(0x6f), /** Delete (non-numpad). */ - DELETE(0x7F), + DELETE(0x7f), /** Num Lock. */ NUM_LOCK(0x90), @@ -321,76 +321,76 @@ public enum KeyCode { F10(0x79), /** F11. */ - F11(0x7A), + F11(0x7a), /** F12. */ - F12(0x7B), + F12(0x7b), /** F13. */ - F13(0xF000), + F13(0xf000), /** F14. */ - F14(0xF001), + F14(0xf001), /** F15. */ - F15(0xF002), + F15(0xf002), /** F16. */ - F16(0xF003), + F16(0xf003), /** F17. */ - F17(0xF004), + F17(0xf004), /** F18 */ - F18(0xF005), + F18(0xf005), /** F19. */ - F19(0xF006), + F19(0xf006), /** F20. */ - F20(0xF007), + F20(0xf007), /** F21. */ - F21(0xF008), + F21(0xf008), /** F22. */ - F22(0xF009), + F22(0xf009), /** F23. */ - F23(0xF00A), + F23(0xf00a), /** F24. */ - F24(0xF00B), + F24(0xf00b), /** Print Screen. */ - PRINTSCREEN(0x9A), + PRINTSCREEN(0x9a), /** Insert. */ - INSERT(0x9B), + INSERT(0x9b), /** Help. */ - HELP(0x9C), + HELP(0x9c), /** Meta. */ - META(0x9D), + META(0x9d), /** Backquote ('`'). */ - BACK_QUOTE(0xC0), + BACK_QUOTE(0xc0), /** Single quote ('\''). */ - QUOTE(0xDE), + QUOTE(0xde), /** Up arrow on numeric keypad. */ - KP_UP(0xE0), + KP_UP(0xe0), /** Down arrow on numeric keypad. */ - KP_DOWN(0xE1), + KP_DOWN(0xe1), /** Left arrow on numeric keypad. */ - KP_LEFT(0xE2), + KP_LEFT(0xe2), /** Right arrow on numeric keypad. */ - KP_RIGHT(0xE3), + KP_RIGHT(0xe3), /** TODO. */ DEAD_GRAVE(0x80), @@ -492,51 +492,51 @@ public enum KeyCode { PLUS(0x0209), /** Right parenthesis (')'). */ - RIGHT_PARENTHESIS(0x020A), + RIGHT_PARENTHESIS(0x020a), /** Underscore ('_'). */ - UNDERSCORE(0x020B), + UNDERSCORE(0x020b), /** Windows key (both left and right). */ - WINDOWS(0x020C), + WINDOWS(0x020c), /** Windows Context Menu key. */ - CONTEXT_MENU(0x020D), + CONTEXT_MENU(0x020d), FINAL(0x0018), /** Convert function key. */ - CONVERT(0x001C), + CONVERT(0x001c), /** Don't Convert function key. */ - NONCONVERT(0x001D), + NONCONVERT(0x001d), /** Accept or Commit function key. */ - ACCEPT(0x001E), + ACCEPT(0x001e), - MODECHANGE(0x001F), + MODECHANGE(0x001f), KANA(0x0015), KANJI(0x0019), /** Alphanumeric function key. */ - ALPHANUMERIC(0x00F0), + ALPHANUMERIC(0x00f0), /** Katakana function key. */ - KATAKANA(0x00F1), + KATAKANA(0x00f1), /** Hiragana function key. */ - HIRAGANA(0x00F2), + HIRAGANA(0x00f2), /** Full-Width Characters function key. */ - FULL_WIDTH(0x00F3), + FULL_WIDTH(0x00f3), /** Half-Width Characters function key. */ - HALF_WIDTH(0x00F4), + HALF_WIDTH(0x00f4), /** Roman Characters function key. */ - ROMAN_CHARACTERS(0x00F5), + ROMAN_CHARACTERS(0x00f5), /** All Candidates function key. */ ALL_CANDIDATES(0x0100), @@ -563,37 +563,37 @@ public enum KeyCode { INPUT_METHOD_ON_OFF(0x0107), /** Cut (Sun keyboard). */ - CUT(0xFFD1), + CUT(0xffd1), /** Copy (Sun keyboard). */ - COPY(0xFFCD), + COPY(0xffcd), /** Paste (Sun keyboard). */ - PASTE(0xFFCF), + PASTE(0xffcf), /** Undo (Sun keyboard). */ - UNDO(0xFFCB), + UNDO(0xffcb), /** Again (Sun keyboard). */ - AGAIN(0xFFC9), + AGAIN(0xffc9), /** Find (Sun keyboard). */ - FIND(0xFFD0), + FIND(0xffd0), /** Props (Sun keyboard). */ - PROPS(0xFFCA), + PROPS(0xffca), /** Stop (Sun keyboard). */ - STOP(0xFFC8), + STOP(0xffc8), /** Compose function key. */ - COMPOSE(0xFF20), + COMPOSE(0xff20), /** AltGraph function key. */ - ALT_GRAPH(0xFF7E), + ALT_GRAPH(0xff7e), /** Begin key. */ - BEGIN(0xFF58), + BEGIN(0xff58), /** Unknown code. */ UNDEFINED(0x0); From a012ce1027f0aab78f464c759b5eed2c04b73283 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 4 Nov 2025 12:53:58 -0600 Subject: [PATCH 376/383] Add KeyCode.get(char) method Previously, passing a char to KeyCode would call KeyCode.get(int), which does not do what one might expect. For example, calling KeyCode.get('a') would convert the 'a' character to integer/ASCII code 97, which corresponds to KeyCode.NUMPAD_0! This commit introduces a function that behaves as one would expect KeyCode.get(char) to behave: mapping the actual character value to the key code constant associated with it. So now, KeyCode.get('a') returns KeyCode.A as one might expect. Unfortunately, not all codes have clean character values, and not all characters map unambiguously to key codes; e.g.: * Both 'a' and 'A' map to KeyCode.A * '0' maps to KeyCode.NUM0, not KeyCode.NUMPAD_0 * '/' maps to KeyCode.SLASH, not KeyCode.NUMPAD_SLASH But it's still a big step forward in abiding by PoLA. --- src/main/java/org/scijava/input/KeyCode.java | 81 +++++++++++++++++ .../java/org/scijava/input/KeyCodeTest.java | 89 +++++++++++++++++++ 2 files changed, 170 insertions(+) create mode 100644 src/test/java/org/scijava/input/KeyCodeTest.java diff --git a/src/main/java/org/scijava/input/KeyCode.java b/src/main/java/org/scijava/input/KeyCode.java index 234353ca3..0a6d20e0c 100644 --- a/src/main/java/org/scijava/input/KeyCode.java +++ b/src/main/java/org/scijava/input/KeyCode.java @@ -632,6 +632,87 @@ public static KeyCode get(final int code) { return keyCode; } + /** + * Gets the KeyCode corresponding to the given character, + * or {@link #UNDEFINED} if no such code. + */ + public static KeyCode get(final char c) { + switch (c) { + case '\n': case '\r': return ENTER; + case '\b': return BACK_SPACE; + case '\t': return TAB; + case 0x1b: return ESCAPE; + case ' ': return SPACE; + case ',': return COMMA; + case '-': return MINUS; + case '.': return PERIOD; + case '/': return SLASH; + case '0': return NUM0; + case '1': return NUM1; + case '2': return NUM2; + case '3': return NUM3; + case '4': return NUM4; + case '5': return NUM5; + case '6': return NUM6; + case '7': return NUM7; + case '8': return NUM8; + case '9': return NUM9; + case ';': return SEMICOLON; + case '=': return EQUALS; + case 'a': case 'A': return A; + case 'b': case 'B': return B; + case 'c': case 'C': return C; + case 'd': case 'D': return D; + case 'e': case 'E': return E; + case 'f': case 'F': return F; + case 'g': case 'G': return G; + case 'h': case 'H': return H; + case 'i': case 'I': return I; + case 'j': case 'J': return J; + case 'k': case 'K': return K; + case 'l': case 'L': return L; + case 'm': case 'M': return M; + case 'n': case 'N': return N; + case 'o': case 'O': return O; + case 'p': case 'P': return P; + case 'q': case 'Q': return Q; + case 'r': case 'R': return R; + case 's': case 'S': return S; + case 't': case 'T': return T; + case 'u': case 'U': return U; + case 'v': case 'V': return V; + case 'w': case 'W': return W; + case 'x': case 'X': return X; + case 'y': case 'Y': return Y; + case 'z': case 'Z': return Z; + case '[': return OPEN_BRACKET; + case '\\': return BACK_SLASH; + case ']': return CLOSE_BRACKET; + case '`': return BACK_QUOTE; + case '\'': return QUOTE; + case '&': return AMPERSAND; + case '*': return ASTERISK; + case '"': return QUOTEDBL; + case '<': return LESS; + case '>': return GREATER; + case '{': return BRACELEFT; + case '}': return BRACERIGHT; + case '@': return AT; + case ':': return COLON; + case '^': return CIRCUMFLEX; + case '$': return DOLLAR; + case '€': return EURO_SIGN; + case '!': return EXCLAMATION_MARK; + case 161: return INVERTED_EXCLAMATION_MARK; + case '(': return LEFT_PARENTHESIS; + case '#': return NUMBER_SIGN; + case '+': return PLUS; + case ')': return RIGHT_PARENTHESIS; + case '_': return UNDERSCORE; + } + return UNDEFINED; + } + /** * Gets the KeyCode with the given name, or {@link #UNDEFINED} if no such * code. diff --git a/src/test/java/org/scijava/input/KeyCodeTest.java b/src/test/java/org/scijava/input/KeyCodeTest.java new file mode 100644 index 000000000..3b08ed552 --- /dev/null +++ b/src/test/java/org/scijava/input/KeyCodeTest.java @@ -0,0 +1,89 @@ +/* + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2025 SciJava developers. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ + +package org.scijava.input; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertSame; + +import org.junit.Test; +import org.scijava.plugin.PluginInfo; + +/** + * Tests {@link KeyCode}. + * + * @author Curtis Rueden + */ +public class KeyCodeTest { + + @Test + public void testGetInt() { + assertEquals(KeyCode.ENTER, KeyCode.get(0x0a)); + assertEquals(KeyCode.PLUS, KeyCode.get(0x0209)); + assertEquals(KeyCode.NUM0, KeyCode.get(0x30)); + assertEquals(KeyCode.NUMPAD_0, KeyCode.get(0x60)); + assertEquals(KeyCode.A, KeyCode.get(0x41)); + assertEquals(KeyCode.Z, KeyCode.get(0x5a)); + + assertEquals(KeyCode.UNDEFINED, KeyCode.get(0xaaaa)); + assertEquals(KeyCode.UNDEFINED, KeyCode.get(0xffff)); + } + + @Test + public void testGetChar() { + assertEquals(KeyCode.ENTER, KeyCode.get('\n')); + assertEquals(KeyCode.ENTER, KeyCode.get('\r')); + assertEquals(KeyCode.PLUS, KeyCode.get('+')); + assertEquals(KeyCode.NUM0, KeyCode.get('0')); + assertEquals(KeyCode.A, KeyCode.get('a')); + assertEquals(KeyCode.A, KeyCode.get('A')); + assertEquals(KeyCode.Z, KeyCode.get('z')); + assertEquals(KeyCode.Z, KeyCode.get('Z')); + + assertEquals(KeyCode.UNDEFINED, KeyCode.get('\0')); + + // The following should maybe be considered a bug. + assertEquals(KeyCode.UNDEFINED, KeyCode.get('|')); + } + + @Test + public void testGetString() { + assertEquals(KeyCode.PLUS, KeyCode.get("PLUS")); + assertEquals(KeyCode.NUM0, KeyCode.get("NUM0")); + assertEquals(KeyCode.NUMPAD_0, KeyCode.get("NUMPAD_0")); + assertEquals(KeyCode.A, KeyCode.get("A")); + assertEquals(KeyCode.Z, KeyCode.get("Z")); + + assertEquals(KeyCode.UNDEFINED, KeyCode.get("UNDEFINED")); + assertEquals(KeyCode.UNDEFINED, KeyCode.get("")); + assertEquals(KeyCode.UNDEFINED, KeyCode.get("aa")); + assertEquals(KeyCode.UNDEFINED, KeyCode.get("asdf")); + } +} From b6df2fcb96e520d2b10e6f271acb735e36f0636f Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 4 Nov 2025 13:19:10 -0600 Subject: [PATCH 377/383] Let KeyCode.get(String) fall back to get(char) This makes KeyCode.get(String) behave less surprisingly: e.g., KeyCode.get("a") now returns KeyCode.A instead of KeyCode.UNDEFINED. --- src/main/java/org/scijava/input/KeyCode.java | 6 ++++-- src/test/java/org/scijava/input/KeyCodeTest.java | 5 +++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/scijava/input/KeyCode.java b/src/main/java/org/scijava/input/KeyCode.java index 0a6d20e0c..0e0ec35e1 100644 --- a/src/main/java/org/scijava/input/KeyCode.java +++ b/src/main/java/org/scijava/input/KeyCode.java @@ -719,8 +719,10 @@ public static KeyCode get(final char c) { */ public static KeyCode get(final String name) { final KeyCode keyCode = NAMES.get(name); - if (keyCode == null) return UNDEFINED; - return keyCode; + if (keyCode != null) return keyCode; + // Not a code name, but maybe a direct character value? + if (name.length() == 1) return KeyCode.get(name.charAt(0)); + return UNDEFINED; } } diff --git a/src/test/java/org/scijava/input/KeyCodeTest.java b/src/test/java/org/scijava/input/KeyCodeTest.java index 3b08ed552..fec7f8b9e 100644 --- a/src/test/java/org/scijava/input/KeyCodeTest.java +++ b/src/test/java/org/scijava/input/KeyCodeTest.java @@ -81,6 +81,11 @@ public void testGetString() { assertEquals(KeyCode.A, KeyCode.get("A")); assertEquals(KeyCode.Z, KeyCode.get("Z")); + // The next ones should fall back to get(char). + assertEquals(KeyCode.NUM0, KeyCode.get("0")); + assertEquals(KeyCode.A, KeyCode.get("a")); + assertEquals(KeyCode.Z, KeyCode.get("z")); + assertEquals(KeyCode.UNDEFINED, KeyCode.get("UNDEFINED")); assertEquals(KeyCode.UNDEFINED, KeyCode.get("")); assertEquals(KeyCode.UNDEFINED, KeyCode.get("aa")); From e0441ccab57fb32d2f1ea8416a22653400eca97f Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 4 Nov 2025 13:55:05 -0600 Subject: [PATCH 378/383] KeyCode: remove unneeded imports --- src/test/java/org/scijava/input/KeyCodeTest.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/test/java/org/scijava/input/KeyCodeTest.java b/src/test/java/org/scijava/input/KeyCodeTest.java index fec7f8b9e..6370089b5 100644 --- a/src/test/java/org/scijava/input/KeyCodeTest.java +++ b/src/test/java/org/scijava/input/KeyCodeTest.java @@ -30,11 +30,8 @@ package org.scijava.input; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertSame; import org.junit.Test; -import org.scijava.plugin.PluginInfo; /** * Tests {@link KeyCode}. From 0788f72831368c8fab59dedf29d72631c053901b Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Tue, 4 Nov 2025 13:55:48 -0600 Subject: [PATCH 379/383] Add unit tests for Accelerator class --- .../org/scijava/input/AcceleratorTest.java | 82 +++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 src/test/java/org/scijava/input/AcceleratorTest.java diff --git a/src/test/java/org/scijava/input/AcceleratorTest.java b/src/test/java/org/scijava/input/AcceleratorTest.java new file mode 100644 index 000000000..3270287df --- /dev/null +++ b/src/test/java/org/scijava/input/AcceleratorTest.java @@ -0,0 +1,82 @@ +/* + * #%L + * SciJava Common shared library for SciJava software. + * %% + * Copyright (C) 2009 - 2025 SciJava developers. + * %% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * #L% + */ + +package org.scijava.input; + +import org.junit.Test; +import org.scijava.util.PlatformUtils; + +import static org.junit.Assert.*; + +/** + * Tests {@link Accelerator}. + * + * @author Curtis Rueden + */ +public class AcceleratorTest { + + /** Tests {@link Accelerator#create}. */ + @Test + public void testCreate() { + assertAccelerator("*", KeyCode.ASTERISK, false, false, false, false, false); + assertAccelerator("0", KeyCode.NUM0, false, false, false, false, false); + assertAccelerator("NUMPAD_0", KeyCode.NUMPAD_0, false, false, false, false, false); + assertAccelerator("+", KeyCode.PLUS, false, false, false, false, false); + assertAccelerator("shift minus", KeyCode.MINUS, false, false, false, false, true); + assertAccelerator("ctrl shift +", KeyCode.PLUS, false, false, true, false, true); + assertAccelerator("meta /", KeyCode.SLASH, false, false, false, true, false); + assertAccelerator("alt altGr ctrl meta shift a", KeyCode.A, true, true, true, true, true); + + // Test caret shortcut symbol. + final boolean macos = PlatformUtils.isMac(); + assertAccelerator("^Z", KeyCode.Z, false, false, !macos, macos, false); + } + + private void assertAccelerator(String shortcut, + KeyCode keyCode, + final boolean alt, + final boolean altGr, + final boolean ctrl, + final boolean meta, + final boolean shift) + { + Accelerator acc = Accelerator.create(shortcut); + assertEquals(acc.getKeyCode(), keyCode); + InputModifiers mods = acc.getModifiers(); + assertNotNull(mods); + assertEquals(alt, mods.isAltDown()); + assertEquals(altGr, mods.isAltGrDown()); + assertEquals(ctrl, mods.isCtrlDown()); + assertEquals(meta, mods.isMetaDown()); + assertEquals(shift, mods.isShiftDown()); + assertFalse(mods.isLeftButtonDown()); + assertFalse(mods.isMiddleButtonDown()); + assertFalse(mods.isRightButtonDown()); + } +} From 2b73a8a713f050ce7309122a3d76a2a501e6537c Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 12 Nov 2025 12:30:36 -0600 Subject: [PATCH 380/383] Emit debug messages if Platform#open(URL) fails --- .../java/org/scijava/platform/DefaultPlatform.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/main/java/org/scijava/platform/DefaultPlatform.java b/src/main/java/org/scijava/platform/DefaultPlatform.java index f9d971b58..96e18fded 100644 --- a/src/main/java/org/scijava/platform/DefaultPlatform.java +++ b/src/main/java/org/scijava/platform/DefaultPlatform.java @@ -33,6 +33,8 @@ import java.net.URL; import org.scijava.Priority; +import org.scijava.log.LogService; +import org.scijava.plugin.Parameter; import org.scijava.plugin.Plugin; /** @@ -44,6 +46,9 @@ @Plugin(type = Platform.class, name = "Default", priority = Priority.VERY_LOW) public class DefaultPlatform extends AbstractPlatform { + @Parameter(required = false) + private LogService log; + // -- PlatformHandler methods -- /** @@ -66,9 +71,14 @@ public void open(final URL url) throws IOException { try { final int exitCode = getPlatformService().exec(browser, url.toString()); if (exitCode == 0) return; + else if (log != null) { + log.debug("Command '" + browser + + "' failed with exit code " + exitCode); + } } catch (final IOException e) { // browser executable was invalid; try the next one + if (log != null) log.debug("Command '" + browser + "' failed", e); } } throw new IOException("Could not open " + url); From b15c606cb12b74f400578951c7d3bd198125b848 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 26 Nov 2025 10:24:47 -0600 Subject: [PATCH 381/383] POM: update parent to pom-scijava 43.0.0 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 7270aa62e..f97d074a9 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.scijava pom-scijava - 40.0.0 + 43.0.0 From f5fa73e154e8b0d5fcd07c4fee85dbe4d116ecb3 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 26 Nov 2025 10:29:47 -0600 Subject: [PATCH 382/383] CI: update to current best practices --- .github/build.sh | 2 +- .github/setup.sh | 2 +- .github/workflows/build.yml | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/build.sh b/.github/build.sh index 7da42622b..523abeb87 100755 --- a/.github/build.sh +++ b/.github/build.sh @@ -1,3 +1,3 @@ #!/bin/sh -curl -fsLO https://raw.githubusercontent.com/scijava/scijava-scripts/master/ci-build.sh +curl -fsLO https://raw.githubusercontent.com/scijava/scijava-scripts/main/ci-build.sh sh ci-build.sh diff --git a/.github/setup.sh b/.github/setup.sh index d06d5a746..0ebca586f 100755 --- a/.github/setup.sh +++ b/.github/setup.sh @@ -1,5 +1,5 @@ #!/bin/sh -curl -fsLO https://raw.githubusercontent.com/scijava/scijava-scripts/master/ci-setup-github-actions.sh +curl -fsLO https://raw.githubusercontent.com/scijava/scijava-scripts/main/ci-setup-github-actions.sh sh ci-setup-github-actions.sh # Let the Linux build handle artifact deployment. diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 64b606407..a57c0df0b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -19,9 +19,9 @@ jobs: os: [ubuntu-latest, windows-latest, macos-latest] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Set up Java - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: java-version: '8' distribution: 'zulu' @@ -37,6 +37,6 @@ jobs: GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} MAVEN_USER: ${{ secrets.MAVEN_USER }} MAVEN_PASS: ${{ secrets.MAVEN_PASS }} - OSSRH_USER: ${{ secrets.OSSRH_USER }} - OSSRH_PASS: ${{ secrets.OSSRH_PASS }} + CENTRAL_USER: ${{ secrets.CENTRAL_USER }} + CENTRAL_PASS: ${{ secrets.CENTRAL_PASS }} SIGNING_ASC: ${{ secrets.SIGNING_ASC }} From 89b7a8e76eea0997c31bddbdc83a52cf72678e79 Mon Sep 17 00:00:00 2001 From: Curtis Rueden Date: Wed, 26 Nov 2025 10:32:05 -0600 Subject: [PATCH 383/383] Bump to next development cycle Signed-off-by: Curtis Rueden --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index f97d074a9..59020e2a3 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ scijava-common - 2.99.3-SNAPSHOT + 2.99.4-SNAPSHOT SciJava Common SciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO.