nextDouble(true, true) [0.0, 1.0]
+
+ Expression Interval
+ nextDouble(false, false) (0.0, 1.0)
+ nextDouble(true, false) [0.0, 1.0)
+ nextDouble(false, true) (0.0, 1.0]
+ nextDouble(true, true) [0.0, 1.0]
This version preserves all possible random values in the double range.
@@ -1153,12 +1143,12 @@ public final float nextFloat()
/** Returns a float in the range from 0.0f to 1.0f, possibly inclusive of 0.0f and 1.0f themselves. Thus:
-
- Expression Interval
- nextFloat(false, false) (0.0f, 1.0f)
- nextFloat(true, false) [0.0f, 1.0f)
- nextFloat(false, true) (0.0f, 1.0f]
- nextFloat(true, true) [0.0f, 1.0f]
+
+ Expression Interval
+ nextFloat(false, false) (0.0f, 1.0f)
+ nextFloat(true, false) [0.0f, 1.0f)
+ nextFloat(false, true) (0.0f, 1.0f]
+ nextFloat(true, true) [0.0f, 1.0f]
This version preserves all possible random values in the float range.
@@ -1179,7 +1169,7 @@ public double nextFloat(boolean includeZero, boolean includeOne)
/** Returns an integer drawn uniformly from 0 to n-1. Suffice it to say,
- n must be > 0, or an IllegalArgumentException is raised. */
+ n must be > 0, or an IllegalArgumentException is raised. */
public final int nextInt(final int n)
{
if (n<=0)
diff --git a/src/main/java/org/scijava/util/Timing.java b/src/main/java/org/scijava/util/Timing.java
index a4390222c..15641e7dd 100644
--- a/src/main/java/org/scijava/util/Timing.java
+++ b/src/main/java/org/scijava/util/Timing.java
@@ -50,20 +50,21 @@
*
* Use this class as following:
*
- *
- * private static Timing timing = new Timing();
- * ...
- * private void oneOperation() {
- * final long t1 = System.nanoTime();
- * ...
- * timing.add(System.nanoTime() - t1, "Operation #1");
- * }
- * ...
- * private void atEnd() {
- * ...
- * timing.report("Operations");
+ *
+ *
+ * private static Timing timing = new Timing();
+ * ...
+ * private void oneOperation() {
+ * final long t1 = System.nanoTime();
+ * ...
+ * timing.add(System.nanoTime() - t1, "Operation #1");
+ * }
+ * ...
+ * private void atEnd() {
+ * ...
+ * timing.report("Operations");
* }
- *
+ *
*
* @author Johannes Schindelin
*/
From 7cb92b90e5e8c0455a730ba40d124b867049f95c Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Fri, 5 May 2017 14:13:36 -0500
Subject: [PATCH 003/754] StringUtilsTest: add missing license header
---
.../org/scijava/util/StringUtilsTest.java | 30 +++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/src/test/java/org/scijava/util/StringUtilsTest.java b/src/test/java/org/scijava/util/StringUtilsTest.java
index 908b59eca..395b23db2 100644
--- a/src/test/java/org/scijava/util/StringUtilsTest.java
+++ b/src/test/java/org/scijava/util/StringUtilsTest.java
@@ -1,3 +1,33 @@
+/*-
+ * #%L
+ * SciJava Common 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.util;
From 60ef945e2c310e4e6c88807eed8ce2e01ea48aba Mon Sep 17 00:00:00 2001
From: Leon Yang
Date: Fri, 14 Oct 2016 22:30:01 -0500
Subject: [PATCH 004/754] Make Module support Initializable
It might be easier for the delegate class inside the module to implement
this interface than to specify the initializer inside the Plugin
annotation, especially because annotation could not be partially
overridden. Now the Initializable interface has higher priority than the
initializer annotation, and at most one of them will be called when a
module is initialized.
Closes #249.
Signed-off-by: Curtis Rueden
---
.../java/org/scijava/module/AbstractModule.java | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)
diff --git a/src/main/java/org/scijava/module/AbstractModule.java b/src/main/java/org/scijava/module/AbstractModule.java
index 2b63ba440..e50a162e7 100644
--- a/src/main/java/org/scijava/module/AbstractModule.java
+++ b/src/main/java/org/scijava/module/AbstractModule.java
@@ -35,6 +35,8 @@
import java.util.HashSet;
import java.util.Map;
+import org.scijava.Initializable;
+
/**
* Abstract superclass of {@link Module} implementations.
*
@@ -76,11 +78,16 @@ public void cancel() {
public void initialize() throws MethodCallException {
// execute global module initializer
final Object delegateObject = getDelegateObject();
- if (initializerRef == null) {
- final String initializer = getInfo().getInitializer();
- initializerRef = new MethodRef(delegateObject.getClass(), initializer);
+ if (delegateObject instanceof Initializable) {
+ ((Initializable) delegateObject).initialize();
+ }
+ else {
+ if (initializerRef == null) {
+ final String initializer = getInfo().getInitializer();
+ initializerRef = new MethodRef(delegateObject.getClass(), initializer);
+ }
+ initializerRef.execute(delegateObject);
}
- initializerRef.execute(delegateObject);
// execute individual module item initializers
for (final ModuleItem> item : getInfo().inputs()) {
From dbcdc4f97d4cdbb2316b02f500feb83d9e46ade5 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Fri, 5 May 2017 14:27:15 -0500
Subject: [PATCH 005/754] CommandModuleTest: test Initializable Command
This verifies that the initialize() method of a Command implementing
the Initializable interface is called during module preprocessing.
---
.../scijava/command/CommandModuleTest.java | 33 +++++++++++++++++++
1 file changed, 33 insertions(+)
diff --git a/src/test/java/org/scijava/command/CommandModuleTest.java b/src/test/java/org/scijava/command/CommandModuleTest.java
index 1021d537c..76ee6bba7 100644
--- a/src/test/java/org/scijava/command/CommandModuleTest.java
+++ b/src/test/java/org/scijava/command/CommandModuleTest.java
@@ -42,6 +42,7 @@
import org.junit.Test;
import org.scijava.Cancelable;
import org.scijava.Context;
+import org.scijava.Initializable;
import org.scijava.ItemIO;
import org.scijava.Priority;
import org.scijava.log.LogService;
@@ -127,6 +128,22 @@ public void testCommandInjection() throws InterruptedException,
assertTrue((boolean) module.getOutput("success"));
}
+ @Test
+ public void testInitializable() throws InterruptedException,
+ ExecutionException
+ {
+ final Context context = new Context(CommandService.class);
+ final CommandService commandService = context.service(CommandService.class);
+
+ final CommandModule preprocessedModule = //
+ commandService.run(InitializableCommand.class, true).get();
+ assertEquals(42, preprocessedModule.getOutput("output"));
+
+ final CommandModule plainModule = //
+ commandService.run(InitializableCommand.class, false).get();
+ assertEquals(7, plainModule.getOutput("output"));
+ }
+
// -- Helper classes --
/** A command which implements {@link Cancelable}. */
@@ -267,4 +284,20 @@ public void run() {
}
}
+ @Plugin(type = Command.class)
+ public static class InitializableCommand implements Command, Initializable {
+ private int magicNumber = 7;
+
+ @Parameter(type = ItemIO.OUTPUT)
+ private int output;
+
+ @Override
+ public void initialize() {
+ magicNumber = 42;
+ }
+ @Override
+ public void run() {
+ output = magicNumber;
+ }
+ }
}
From 743deaf4b47f2429f653f4d9cec6b8762a51614c Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Fri, 5 May 2017 14:41:03 -0500
Subject: [PATCH 006/754] Remove unused imports
---
src/main/java/org/scijava/parse/DefaultParseService.java | 1 -
src/test/java/org/scijava/command/CommandInfoTest.java | 1 -
2 files changed, 2 deletions(-)
diff --git a/src/main/java/org/scijava/parse/DefaultParseService.java b/src/main/java/org/scijava/parse/DefaultParseService.java
index 97ff4eb37..457a19ac9 100644
--- a/src/main/java/org/scijava/parse/DefaultParseService.java
+++ b/src/main/java/org/scijava/parse/DefaultParseService.java
@@ -36,7 +36,6 @@
import java.util.List;
import java.util.Map;
-import org.scijava.parse.Variable;
import org.scijava.parse.eval.DefaultEvaluator;
import org.scijava.plugin.Plugin;
import org.scijava.service.AbstractService;
diff --git a/src/test/java/org/scijava/command/CommandInfoTest.java b/src/test/java/org/scijava/command/CommandInfoTest.java
index 7704f5378..35579a804 100644
--- a/src/test/java/org/scijava/command/CommandInfoTest.java
+++ b/src/test/java/org/scijava/command/CommandInfoTest.java
@@ -47,7 +47,6 @@
import org.scijava.command.CommandInfoTest.CommandWithEnumParam.Choice;
import org.scijava.module.ModuleItem;
import org.scijava.plugin.Parameter;
-import org.scijava.plugin.Plugin;
/**
* Tests {@link CommandInfo}.
From d90c3679a0c2daceaacd31d4fa409b766d65861a Mon Sep 17 00:00:00 2001
From: Hadrien Mary
Date: Mon, 17 Apr 2017 23:18:10 -0400
Subject: [PATCH 007/754] Add autocompletion framework
The default autocompletion works by inspecting attributes/methods of an object.
Signed-off-by: Curtis Rueden
---
.../scijava/script/AbstractAutoCompleter.java | 149 ++++++++++++++++++
.../org/scijava/script/AutoCompleter.java | 50 ++++++
.../scijava/script/AutoCompletionResult.java | 40 +++++
.../scijava/script/DefaultAutoCompleter.java | 44 ++++++
.../org/scijava/script/ScriptLanguage.java | 10 ++
5 files changed, 293 insertions(+)
create mode 100644 src/main/java/org/scijava/script/AbstractAutoCompleter.java
create mode 100644 src/main/java/org/scijava/script/AutoCompleter.java
create mode 100644 src/main/java/org/scijava/script/AutoCompletionResult.java
create mode 100644 src/main/java/org/scijava/script/DefaultAutoCompleter.java
diff --git a/src/main/java/org/scijava/script/AbstractAutoCompleter.java b/src/main/java/org/scijava/script/AbstractAutoCompleter.java
new file mode 100644
index 000000000..545f4d5a5
--- /dev/null
+++ b/src/main/java/org/scijava/script/AbstractAutoCompleter.java
@@ -0,0 +1,149 @@
+/*
+ * #%L
+ * SciJava Common 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.script;
+
+import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+import java.util.stream.Collectors;
+
+import javax.script.Bindings;
+import javax.script.ScriptContext;
+import javax.script.ScriptEngine;
+
+/**
+ * Abstract base class for {@link AutoCompleter} implementations.
+ *
+ * @author Hadrien Mary
+ */
+public abstract class AbstractAutoCompleter implements AutoCompleter {
+
+ @SuppressWarnings("unused")
+ private ScriptLanguage scriptLanguage;
+
+ public AbstractAutoCompleter(final ScriptLanguage scriptLanguage) {
+ this.scriptLanguage = scriptLanguage;
+ }
+
+ @Override
+ public AutoCompletionResult autocomplete(final String code, final int index,
+ final ScriptEngine engine)
+ {
+
+ final List matches = new ArrayList<>();
+ final int startIndex = 0;
+
+ if (code.endsWith(".")) {
+ // Autocompletion with all the attributes of the object
+ matches.addAll(engineAttributesCompleter(code, index, engine));
+
+ }
+ else if (code.contains(".")) {
+ final List codeList = Arrays.asList(code.split("\\."));
+ final String objectString = codeList.get(codeList.size() - 2);
+ final String fieldBeginWith = codeList.get(codeList.size() - 1);
+ matches.addAll(engineAttributesCompleter(objectString + ".",
+ fieldBeginWith, index, engine));
+
+ }
+ else {
+ // Autocompletion with variables in the engine scope
+ matches.addAll(engineVariablesCompleter(code, index, engine));
+ }
+
+ // Remove duplicates
+ matches.stream().distinct().collect(Collectors.toList());
+
+ // Sort alphabetically, ignoring case
+ Collections.sort(matches, new Comparator() {
+
+ @Override
+ public int compare(final Object o1, final Object o2) {
+ final String s1 = (String) o1;
+ final String s2 = (String) o2;
+ return s1.toLowerCase().compareTo(s2.toLowerCase());
+ }
+ });
+
+ // Return results. For now we ignore index and startIndex.
+ return new AutoCompletionResult(matches, startIndex);
+ }
+
+ private List engineVariablesCompleter(final String code,
+ @SuppressWarnings("unused") final int index, final ScriptEngine engine)
+ {
+ final List matches = new ArrayList<>();
+
+ final Bindings bindings = engine.getBindings(ScriptContext.ENGINE_SCOPE);
+
+ for (final String key : bindings.keySet()) {
+ if (key.toLowerCase().startsWith(code.toLowerCase())) {
+ matches.add(key);
+ }
+ }
+ return matches;
+
+ }
+
+ private List engineAttributesCompleter(final String objectString,
+ final int index, final ScriptEngine engine)
+ {
+ return engineAttributesCompleter(objectString, "", index, engine);
+ }
+
+ private List engineAttributesCompleter(final String objectString,
+ final String fieldBeginWith, @SuppressWarnings("unused") final int index,
+ final ScriptEngine engine)
+ {
+ final List matches = new ArrayList<>();
+
+ final Bindings bindings = engine.getBindings(ScriptContext.ENGINE_SCOPE);
+
+ for (final String key : bindings.keySet()) {
+ if (objectString.endsWith(key + ".")) {
+ final Object obj = bindings.get(key);
+ for (final Field field : obj.getClass().getDeclaredFields()) {
+ if (field.getName().toLowerCase().startsWith(fieldBeginWith
+ .toLowerCase()))
+ {
+ matches.add(objectString + field.getName());
+ }
+ }
+ }
+ }
+
+ return matches;
+ }
+}
diff --git a/src/main/java/org/scijava/script/AutoCompleter.java b/src/main/java/org/scijava/script/AutoCompleter.java
new file mode 100644
index 000000000..55590081e
--- /dev/null
+++ b/src/main/java/org/scijava/script/AutoCompleter.java
@@ -0,0 +1,50 @@
+/*
+ * #%L
+ * SciJava Common 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.script;
+
+import javax.script.ScriptEngine;
+
+/**
+ * Helper for generating autocomplete suggestions for code fragments.
+ *
+ * @author Hadrien Mary
+ */
+public interface AutoCompleter {
+
+ default AutoCompletionResult autocomplete(final String code,
+ final ScriptEngine engine)
+ {
+ return autocomplete(code, 0, engine);
+ }
+
+ AutoCompletionResult autocomplete(String code, int startIndex,
+ ScriptEngine engine);
+}
diff --git a/src/main/java/org/scijava/script/AutoCompletionResult.java b/src/main/java/org/scijava/script/AutoCompletionResult.java
new file mode 100644
index 000000000..6ea4dbcc3
--- /dev/null
+++ b/src/main/java/org/scijava/script/AutoCompletionResult.java
@@ -0,0 +1,40 @@
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package org.scijava.script;
+
+import java.util.List;
+
+/**
+ * Data structure housing suggestions given by {@link AutoCompleter} helpers.
+ *
+ * @author Hadrien Mary
+ */
+public class AutoCompletionResult {
+
+ private List matches;
+ private int startIndex;
+
+ public AutoCompletionResult(final List matches) {
+ this(matches, 0);
+ }
+
+ public AutoCompletionResult(final List matches,
+ final int startIndex)
+ {
+ this.matches = matches;
+ this.startIndex = startIndex;
+ }
+
+ public int getStartIndex() {
+ return startIndex;
+ }
+
+ public List getMatches() {
+ return matches;
+ }
+
+}
diff --git a/src/main/java/org/scijava/script/DefaultAutoCompleter.java b/src/main/java/org/scijava/script/DefaultAutoCompleter.java
new file mode 100644
index 000000000..9d2681d79
--- /dev/null
+++ b/src/main/java/org/scijava/script/DefaultAutoCompleter.java
@@ -0,0 +1,44 @@
+/*
+ * #%L
+ * SciJava Common 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.script;
+
+/**
+ * Default implementation of {@link AutoCompleter}.
+ *
+ * @author Hadrien Mary
+ */
+public class DefaultAutoCompleter extends AbstractAutoCompleter {
+
+ public DefaultAutoCompleter(final ScriptLanguage scriptLanguage) {
+ super(scriptLanguage);
+ }
+}
diff --git a/src/main/java/org/scijava/script/ScriptLanguage.java b/src/main/java/org/scijava/script/ScriptLanguage.java
index 14cf95866..2cdb474e1 100644
--- a/src/main/java/org/scijava/script/ScriptLanguage.java
+++ b/src/main/java/org/scijava/script/ScriptLanguage.java
@@ -65,6 +65,8 @@
*
*
* @author Johannes Schindelin
+ * @author Curtis Rueden
+ * @author Hadrien Mary
*/
public interface ScriptLanguage extends ScriptEngineFactory, RichPlugin,
SingletonPlugin
@@ -86,6 +88,14 @@ default Object decode(final Object object) {
return object;
}
+ /**
+ * Gets a helper object capable of generating autocomplete suggestions for a
+ * code fragment.
+ */
+ default AutoCompleter getAutoCompleter() {
+ return new DefaultAutoCompleter(this);
+ }
+
// -- ScriptEngineFactory methods --
@Override
From b24bd0d1f01b9dd0019f49f3d5326489bf354e99 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Fri, 5 May 2017 15:02:58 -0500
Subject: [PATCH 008/754] ScriptEngineTest: dispose contexts properly
---
.../org/scijava/script/ScriptEngineTest.java | 23 +++++++++++++++----
1 file changed, 19 insertions(+), 4 deletions(-)
diff --git a/src/test/java/org/scijava/script/ScriptEngineTest.java b/src/test/java/org/scijava/script/ScriptEngineTest.java
index bce9fe6f2..c21150c05 100644
--- a/src/test/java/org/scijava/script/ScriptEngineTest.java
+++ b/src/test/java/org/scijava/script/ScriptEngineTest.java
@@ -46,6 +46,8 @@
import javax.script.ScriptEngine;
import javax.script.ScriptException;
+import org.junit.After;
+import org.junit.Before;
import org.junit.Test;
import org.scijava.Context;
import org.scijava.plugin.Plugin;
@@ -54,13 +56,28 @@
* Basic tests for the {@link ScriptService}.
*
* @author Johannes Schindelin
+ * @author Curtis Rueden
*/
public class ScriptEngineTest {
+ private Context context;
+ private ScriptService scriptService;
+
+ @Before
+ public void setUp() {
+ context = new Context(ScriptService.class);
+ scriptService = context.getService(ScriptService.class);
+ }
+
+ @After
+ public void tearDown() {
+ context.dispose();
+ context = null;
+ scriptService = null;
+ }
+
@Test
public void testRot13() throws Exception {
- final Context context = new Context(ScriptService.class);
- final ScriptService scriptService = context.getService(ScriptService.class);
final ScriptLanguage hello = scriptService.getLanguageByName("Hello");
assertNotNull(hello);
final ScriptLanguage rot13 = scriptService.getLanguageByName("Rot13");
@@ -70,8 +87,6 @@ public void testRot13() throws Exception {
@Test
public void testScriptModuleValue() throws Exception {
- final Context context = new Context(ScriptService.class);
- final ScriptService scriptService = context.getService(ScriptService.class);
final ScriptModule module =
scriptService.run("test.rot13", ScriptModule.class.getName(), false,
(Map) null).get();
From 4e30352e3a3f9b3993fa2bb1ddd4a9aaac02ddc5 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Fri, 5 May 2017 15:05:09 -0500
Subject: [PATCH 009/754] Autocomplete public fields only
---
src/main/java/org/scijava/script/AbstractAutoCompleter.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/main/java/org/scijava/script/AbstractAutoCompleter.java b/src/main/java/org/scijava/script/AbstractAutoCompleter.java
index 545f4d5a5..4f21f77ad 100644
--- a/src/main/java/org/scijava/script/AbstractAutoCompleter.java
+++ b/src/main/java/org/scijava/script/AbstractAutoCompleter.java
@@ -134,7 +134,8 @@ private List engineAttributesCompleter(final String objectString,
for (final String key : bindings.keySet()) {
if (objectString.endsWith(key + ".")) {
final Object obj = bindings.get(key);
- for (final Field field : obj.getClass().getDeclaredFields()) {
+ // check for public field completions
+ for (final Field field : obj.getClass().getFields()) {
if (field.getName().toLowerCase().startsWith(fieldBeginWith
.toLowerCase()))
{
From 5e05056f5ff55d59e66b33583228cacdacce8962 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Fri, 5 May 2017 15:06:38 -0500
Subject: [PATCH 010/754] Refactor variable name to be more general
It's not just a field name prefix -- it could be a prefix for something
else.
---
.../org/scijava/script/AbstractAutoCompleter.java | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/src/main/java/org/scijava/script/AbstractAutoCompleter.java b/src/main/java/org/scijava/script/AbstractAutoCompleter.java
index 4f21f77ad..96db1ddf0 100644
--- a/src/main/java/org/scijava/script/AbstractAutoCompleter.java
+++ b/src/main/java/org/scijava/script/AbstractAutoCompleter.java
@@ -73,9 +73,9 @@ public AutoCompletionResult autocomplete(final String code, final int index,
else if (code.contains(".")) {
final List codeList = Arrays.asList(code.split("\\."));
final String objectString = codeList.get(codeList.size() - 2);
- final String fieldBeginWith = codeList.get(codeList.size() - 1);
+ final String prefix = codeList.get(codeList.size() - 1);
matches.addAll(engineAttributesCompleter(objectString + ".",
- fieldBeginWith, index, engine));
+ prefix, index, engine));
}
else {
@@ -124,10 +124,11 @@ private List engineAttributesCompleter(final String objectString,
}
private List engineAttributesCompleter(final String objectString,
- final String fieldBeginWith, @SuppressWarnings("unused") final int index,
+ final String prefix, @SuppressWarnings("unused") final int index,
final ScriptEngine engine)
{
final List matches = new ArrayList<>();
+ final String lPrefix = prefix.toLowerCase();
final Bindings bindings = engine.getBindings(ScriptContext.ENGINE_SCOPE);
@@ -136,9 +137,7 @@ private List engineAttributesCompleter(final String objectString,
final Object obj = bindings.get(key);
// check for public field completions
for (final Field field : obj.getClass().getFields()) {
- if (field.getName().toLowerCase().startsWith(fieldBeginWith
- .toLowerCase()))
- {
+ if (field.getName().toLowerCase().startsWith(lPrefix)) {
matches.add(objectString + field.getName());
}
}
From 2ecfbef18a330cce6160c5131fb4447f8b896d37 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Fri, 5 May 2017 15:07:50 -0500
Subject: [PATCH 011/754] Autocomplete public methods, too
---
.../java/org/scijava/script/AbstractAutoCompleter.java | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/src/main/java/org/scijava/script/AbstractAutoCompleter.java b/src/main/java/org/scijava/script/AbstractAutoCompleter.java
index 96db1ddf0..b69bfca70 100644
--- a/src/main/java/org/scijava/script/AbstractAutoCompleter.java
+++ b/src/main/java/org/scijava/script/AbstractAutoCompleter.java
@@ -32,6 +32,7 @@
package org.scijava.script;
import java.lang.reflect.Field;
+import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
@@ -141,6 +142,12 @@ private List engineAttributesCompleter(final String objectString,
matches.add(objectString + field.getName());
}
}
+ // check for public method completions
+ for (final Method method : obj.getClass().getMethods()) {
+ if (method.getName().toLowerCase().startsWith(lPrefix)) {
+ matches.add(objectString + method.getName() + "(");
+ }
+ }
}
}
From cbe709755ce3053d592869e92bd2f811ea34f698 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Fri, 5 May 2017 20:46:33 -0500
Subject: [PATCH 012/754] AbstractAutoCompleter: fix duplicate removal logic
---
.../java/org/scijava/script/AbstractAutoCompleter.java | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/main/java/org/scijava/script/AbstractAutoCompleter.java b/src/main/java/org/scijava/script/AbstractAutoCompleter.java
index b69bfca70..5155ba784 100644
--- a/src/main/java/org/scijava/script/AbstractAutoCompleter.java
+++ b/src/main/java/org/scijava/script/AbstractAutoCompleter.java
@@ -85,10 +85,11 @@ else if (code.contains(".")) {
}
// Remove duplicates
- matches.stream().distinct().collect(Collectors.toList());
+ final List unique = //
+ matches.stream().distinct().collect(Collectors.toList());
// Sort alphabetically, ignoring case
- Collections.sort(matches, new Comparator() {
+ Collections.sort(unique, new Comparator() {
@Override
public int compare(final Object o1, final Object o2) {
@@ -99,7 +100,7 @@ public int compare(final Object o1, final Object o2) {
});
// Return results. For now we ignore index and startIndex.
- return new AutoCompletionResult(matches, startIndex);
+ return new AutoCompletionResult(unique, startIndex);
}
private List engineVariablesCompleter(final String code,
From 514797099c95ce763a3edd9a0dc3761388863f44 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Fri, 5 May 2017 20:46:53 -0500
Subject: [PATCH 013/754] ScriptEngineTest: test the AutoCompleter logic
---
.../org/scijava/script/ScriptEngineTest.java | 29 +++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/src/test/java/org/scijava/script/ScriptEngineTest.java b/src/test/java/org/scijava/script/ScriptEngineTest.java
index c21150c05..1f75dcfa6 100644
--- a/src/test/java/org/scijava/script/ScriptEngineTest.java
+++ b/src/test/java/org/scijava/script/ScriptEngineTest.java
@@ -97,6 +97,35 @@ public void testScriptModuleValue() throws Exception {
assertEquals(context, info.context());
}
+ @Test
+ public void testAutoCompleter() {
+ final ScriptLanguage hello = scriptService.getLanguageByName("Hello");
+ final ScriptEngine engine = hello.getScriptEngine();
+ final AutoCompleter ac = hello.getAutoCompleter();
+
+ // test all matches
+ engine.put("thing", new Object());
+ final AutoCompletionResult result = ac.autocomplete("thing.", engine);
+ assertEquals(0, result.getStartIndex());
+ final List matches = result.getMatches();
+ final List expected = Arrays.asList("thing.equals(",
+ "thing.getClass(", "thing.hashCode(", "thing.notify(", "thing.notifyAll(",
+ "thing.toString(", "thing.wait(");
+ assertEquals(matches, expected);
+
+ // test prefix
+ engine.put("hello", "world");
+ final AutoCompletionResult cWords = ac.autocomplete("hello.c", engine);
+ assertEquals(0, cWords.getStartIndex());
+ final List cMatches = cWords.getMatches();
+ final List cExpected = Arrays.asList("hello.CASE_INSENSITIVE_ORDER",
+ "hello.charAt(", "hello.chars(", "hello.codePointAt(",
+ "hello.codePointBefore(", "hello.codePointCount(", "hello.codePoints(",
+ "hello.compareTo(", "hello.compareToIgnoreCase(", "hello.concat(",
+ "hello.contains(", "hello.contentEquals(", "hello.copyValueOf(");
+ assertEquals(cMatches, cExpected);
+ }
+
@Plugin(type = ScriptLanguage.class)
public static class Rot13 extends AbstractScriptLanguage {
From 49c055b05f5d46340eeade887744ab72bbba7525 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Wed, 17 May 2017 08:08:25 -0500
Subject: [PATCH 014/754] Fix author tags
---
src/main/java/org/scijava/event/ContextDisposingEvent.java | 2 +-
src/test/java/org/scijava/util/ProcessUtilsTest.java | 6 +-----
2 files changed, 2 insertions(+), 6 deletions(-)
diff --git a/src/main/java/org/scijava/event/ContextDisposingEvent.java b/src/main/java/org/scijava/event/ContextDisposingEvent.java
index 0dc1aaf34..bbe3fba40 100644
--- a/src/main/java/org/scijava/event/ContextDisposingEvent.java
+++ b/src/main/java/org/scijava/event/ContextDisposingEvent.java
@@ -34,6 +34,6 @@
/**
* Event to be published just before disposing a context.
*
- * @author Johannes Schindein
+ * @author Johannes Schindelin
*/
public class ContextDisposingEvent extends SciJavaEvent { }
diff --git a/src/test/java/org/scijava/util/ProcessUtilsTest.java b/src/test/java/org/scijava/util/ProcessUtilsTest.java
index c2a4ae0b2..227703ca9 100644
--- a/src/test/java/org/scijava/util/ProcessUtilsTest.java
+++ b/src/test/java/org/scijava/util/ProcessUtilsTest.java
@@ -71,11 +71,7 @@ private void assumePOSIX() {
assumeTrue(PlatformUtils.isPOSIX());
}
- /**
- * A class executing a 'sleep' call, to be interrupted.
- *
- * @author Johannes Schindelin
- */
+ /** A class executing a 'sleep' call, to be interrupted. */
private static class SleepThread extends Thread {
private int seconds;
private Throwable result;
From 96ae9bed1c67b3832a8ac47aed3db6ffe037b2a7 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Wed, 17 May 2017 09:13:01 -0500
Subject: [PATCH 015/754] Add missing contributors
All of these folks wrote code which ended up here in SJC.
---
pom.xml | 43 ++++++++++++++++++++++++++++++++++++++-----
1 file changed, 38 insertions(+), 5 deletions(-)
diff --git a/pom.xml b/pom.xml
index fd1a7ddea..c04cd8bcc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -55,16 +55,15 @@
http://imagej.net/User:Schindelin
dscho
+
+ Chris Allan
+ callan
+
Barry DeZonia
http://imagej.net/User:Bdezonia
bdezonia
-
- Lee Kamentsky
- http://imagej.net/User:Leek
- LeeKamentsky
-
Christian Dietz
http://imagej.net/User:Dietzc
@@ -80,15 +79,49 @@
http://imagej.net/User:Gab1one
gab1one
+
+ Aivar Grislis
+ http://imagej.net/User:Grislis
+ grislis
+
Jonathan Hale
Squareys
+
+ Grant Harris
+ http://imagej.net/User:Harris
+ tnargsirrah
+
+
+ Lee Kamentsky
+ http://imagej.net/User:Leek
+ LeeKamentsky
+
+
+ Rick Lentz
+ http://imagej.net/User:Lentz
+
+
+ Melissa Linkert
+ http://imagej.net/User:Linkert
+ melissalinkert
+
Kevin Mader
http://imagej.net/User:Ksmader
kmader
+
+ Hadrien Mary
+ http://imagej.net/User:Hadim
+ hadim
+
+
+ Alison Walter
+ http://imagej.net/User:Awalter2
+ awalter17
+
Jay Warrick
jaywarrick
From 418de99580412c34ab8afc0d50e637c9a6f7ef58 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Thu, 18 May 2017 10:31:19 -0500
Subject: [PATCH 016/754] ThreadService: improve thread safety
We now use double-checked locking for initialization. Otherwise,
conceivably, two threads could trigger simultaneous creation of
competing ExecutorServices.
And we also synchronize the disposal, so that the ExecutorService
cannot possibly be created after dispose() is called.
---
.../org/scijava/thread/DefaultThreadService.java | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/src/main/java/org/scijava/thread/DefaultThreadService.java b/src/main/java/org/scijava/thread/DefaultThreadService.java
index 945a6fe43..1de7899fe 100644
--- a/src/main/java/org/scijava/thread/DefaultThreadService.java
+++ b/src/main/java/org/scijava/thread/DefaultThreadService.java
@@ -141,9 +141,12 @@ public ThreadContext getThreadContext(final Thread thread) {
// -- Disposable methods --
@Override
- public void dispose() {
+ public synchronized void dispose() {
disposed = true;
- if (executor != null) executor.shutdown();
+ if (executor != null) {
+ executor.shutdown();
+ executor = null;
+ }
}
// -- ThreadFactory methods --
@@ -157,12 +160,15 @@ public Thread newThread(final Runnable r) {
// -- Helper methods --
private ExecutorService executor() {
- if (executor == null) {
- executor = Executors.newCachedThreadPool(this);
- }
+ if (executor == null) initExecutor();
return executor;
}
+ private synchronized void initExecutor() {
+ if (executor != null) return;
+ executor = Executors.newCachedThreadPool(this);
+ }
+
private Runnable wrap(final Runnable r) {
final Thread parent = Thread.currentThread();
return new Runnable() {
From 35ee2f494f9869bed55883181986a9af696b267c Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Thu, 18 May 2017 10:32:10 -0500
Subject: [PATCH 017/754] ThreadService: clarify javadoc
---
src/main/java/org/scijava/thread/ThreadService.java | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/main/java/org/scijava/thread/ThreadService.java b/src/main/java/org/scijava/thread/ThreadService.java
index 7be845d97..bbc03acfd 100644
--- a/src/main/java/org/scijava/thread/ThreadService.java
+++ b/src/main/java/org/scijava/thread/ThreadService.java
@@ -112,7 +112,7 @@ public enum ThreadContext {
/**
* Gets whether the current thread is a dispatch thread for use with
- * {@link #invoke} and {@link #queue}.
+ * {@link #invoke(Runnable)} and {@link #queue(Runnable)}.
*
* In the case of AWT-based applications (e.g., Java on the desktop), this is
* typically the AWT Event Dispatch Thread (EDT). However, ultimately the
@@ -141,7 +141,8 @@ void invoke(Runnable code) throws InterruptedException,
InvocationTargetException;
/**
- * Queues the given code for later execution in a special dispatch thread.
+ * Queues the given code for later execution in a special dispatch thread,
+ * returning immediately.
*
* In the case of AWT-based applications (e.g., Java on the desktop), this is
* typically the AWT Event Dispatch Thread (EDT). However, ultimately the
From ec4f6e0336148bd10f0fd3538d9b1cac216a9f82 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Thu, 18 May 2017 10:50:00 -0500
Subject: [PATCH 018/754] ThreadService: add ability to queue jobs flexibly
Previously, you could only queue a job to the special dispatch thread
(typically the EDT). But in some scenarios, the EDT is exactly the wrong
one to use. This commit adds the capability to queue jobs to any
arbitrarily named queue. Essentially, each ID corresponds to a different
single thread processing its jobs one at a time.
This commit is dedicated to Hadrien Mary.
---
.../scijava/thread/DefaultThreadService.java | 30 +++++++++++++++++++
.../org/scijava/thread/ThreadService.java | 25 ++++++++++++++++
2 files changed, 55 insertions(+)
diff --git a/src/main/java/org/scijava/thread/DefaultThreadService.java b/src/main/java/org/scijava/thread/DefaultThreadService.java
index 1de7899fe..88f36f893 100644
--- a/src/main/java/org/scijava/thread/DefaultThreadService.java
+++ b/src/main/java/org/scijava/thread/DefaultThreadService.java
@@ -33,6 +33,8 @@
import java.awt.EventQueue;
import java.lang.reflect.InvocationTargetException;
+import java.util.HashMap;
+import java.util.Map;
import java.util.WeakHashMap;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
@@ -65,6 +67,9 @@ public final class DefaultThreadService extends AbstractService implements
private ExecutorService executor;
+ /** Mapping from ID to single-thread {@link ExecutorService} queue. */
+ private Map queues;
+
private int nextThread = 0;
private boolean disposed;
@@ -117,6 +122,16 @@ public void queue(final Runnable code) {
EventQueue.invokeLater(wrap(code));
}
+ @Override
+ public Future> queue(final String id, final Runnable code) {
+ return executor(id).submit(wrap(code));
+ }
+
+ @Override
+ public Future queue(final String id, final Callable code) {
+ return executor(id).submit(wrap(code));
+ }
+
@Override
public Thread getParent(final Thread thread) {
return parents.get(thread != null ? thread : Thread.currentThread());
@@ -147,6 +162,11 @@ public synchronized void dispose() {
executor.shutdown();
executor = null;
}
+ if (queues != null) {
+ for (final ExecutorService queue : queues.values()) {
+ queue.shutdown();
+ }
+ }
}
// -- ThreadFactory methods --
@@ -164,6 +184,16 @@ private ExecutorService executor() {
return executor;
}
+ private synchronized ExecutorService executor(final String id) {
+ if (disposed) return null;
+ if (queues == null) queues = new HashMap<>();
+ if (!queues.containsKey(id)) {
+ final ExecutorService queue = Executors.newSingleThreadExecutor();
+ queues.put(id, queue);
+ }
+ return queues.get(id);
+ }
+
private synchronized void initExecutor() {
if (executor != null) return;
executor = Executors.newCachedThreadPool(this);
diff --git a/src/main/java/org/scijava/thread/ThreadService.java b/src/main/java/org/scijava/thread/ThreadService.java
index bbc03acfd..9ae680fc2 100644
--- a/src/main/java/org/scijava/thread/ThreadService.java
+++ b/src/main/java/org/scijava/thread/ThreadService.java
@@ -153,6 +153,31 @@ void invoke(Runnable code) throws InterruptedException,
*/
void queue(Runnable code);
+ /**
+ * Queues the given code for later execution in a dispatch thread associated
+ * with the specified ID, returning immediately.
+ *
+ * @param id The ID designating which dispatch thread will execute the code.
+ * @param code The code to execute.
+ * @return A {@link Future} whose {@link Future#get()} method blocks until the
+ * queued code has completed executing and returns {@code null}.
+ * @see ExecutorService#submit(Runnable)
+ */
+ Future> queue(String id, Runnable code);
+
+ /**
+ * Queues the given code for later execution in a dispatch thread associated
+ * with the specified ID, returning immediately.
+ *
+ * @param id The ID designating which dispatch thread will execute the code.
+ * @param code The code to execute.
+ * @return A {@link Future} whose {@link Future#get()} method blocks until the
+ * queued code has completed executing and returns the result of the
+ * execution.
+ * @see ExecutorService#submit(Callable)
+ */
+ Future queue(String id, Callable code);
+
/**
* Returns the thread that called the specified thread.
*
From 02b59b0398e408c18a3025b365e7bbc1c698ea72 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Thu, 18 May 2017 11:40:12 -0500
Subject: [PATCH 019/754] POM: bump the minor version
The ThreadService has new API.
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index c04cd8bcc..d3e2e0eab 100644
--- a/pom.xml
+++ b/pom.xml
@@ -10,7 +10,7 @@
scijava-common
- 2.62.2-SNAPSHOT
+ 2.63.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 6fa4c8e68d89c42c89ef3ed10fa70740903ddd62 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Thu, 18 May 2017 21:15:57 -0500
Subject: [PATCH 020/754] ThreadService: give job queue threads better names
Now the thread names use the same convention as ThreadService#run,
but instead of thread number suffixes, the suffix is the ID given.
---
.../org/scijava/thread/DefaultThreadService.java | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/src/main/java/org/scijava/thread/DefaultThreadService.java b/src/main/java/org/scijava/thread/DefaultThreadService.java
index 88f36f893..f16ec6beb 100644
--- a/src/main/java/org/scijava/thread/DefaultThreadService.java
+++ b/src/main/java/org/scijava/thread/DefaultThreadService.java
@@ -40,6 +40,7 @@
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
+import java.util.concurrent.ThreadFactory;
import org.scijava.log.LogService;
import org.scijava.plugin.Parameter;
@@ -188,7 +189,16 @@ private synchronized ExecutorService executor(final String id) {
if (disposed) return null;
if (queues == null) queues = new HashMap<>();
if (!queues.containsKey(id)) {
- final ExecutorService queue = Executors.newSingleThreadExecutor();
+ final ThreadFactory factory = new ThreadFactory() {
+
+ @Override
+ public Thread newThread(final Runnable r) {
+ final String threadName = contextThreadPrefix() + id;
+ return new Thread(r, threadName);
+ }
+
+ };
+ final ExecutorService queue = Executors.newSingleThreadExecutor(factory);
queues.put(id, queue);
}
return queues.get(id);
From 0856f790d987b2c88861f78263b8f7175f65b441 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Wed, 17 May 2017 10:28:39 -0500
Subject: [PATCH 021/754] Deprecate CodeGenerator classes
---
src/main/java/org/scijava/script/CodeGenerator.java | 2 ++
src/main/java/org/scijava/script/CodeGeneratorJava.java | 2 ++
src/main/java/org/scijava/script/InvocationObject.java | 2 ++
src/main/java/org/scijava/script/ParameterObject.java | 2 ++
4 files changed, 8 insertions(+)
diff --git a/src/main/java/org/scijava/script/CodeGenerator.java b/src/main/java/org/scijava/script/CodeGenerator.java
index d79c7f6c4..12591841a 100644
--- a/src/main/java/org/scijava/script/CodeGenerator.java
+++ b/src/main/java/org/scijava/script/CodeGenerator.java
@@ -35,7 +35,9 @@
* Code Generator Interface
*
* @author Grant Harris
+ * @deprecated To be removed in SciJava Common 3.0.0.
*/
+@Deprecated
public interface CodeGenerator {
/** Adds delimiter character between arguments (typically a ','). */
diff --git a/src/main/java/org/scijava/script/CodeGeneratorJava.java b/src/main/java/org/scijava/script/CodeGeneratorJava.java
index 750aa55b3..1dba40118 100644
--- a/src/main/java/org/scijava/script/CodeGeneratorJava.java
+++ b/src/main/java/org/scijava/script/CodeGeneratorJava.java
@@ -35,7 +35,9 @@
* {@link CodeGenerator} for Java.
*
* @author Grant Harris
+ * @deprecated To be removed in SciJava Common 3.0.0.
*/
+@Deprecated
public class CodeGeneratorJava implements CodeGenerator {
static final String lsep = System.getProperty("line.separator");
diff --git a/src/main/java/org/scijava/script/InvocationObject.java b/src/main/java/org/scijava/script/InvocationObject.java
index 4ace6b083..639c33833 100644
--- a/src/main/java/org/scijava/script/InvocationObject.java
+++ b/src/main/java/org/scijava/script/InvocationObject.java
@@ -38,7 +38,9 @@
* the parameters that were passed to it.
*
* @author Grant Harris
+ * @deprecated To be removed in SciJava Common 3.0.0.
*/
+@Deprecated
public class InvocationObject {
public String moduleCalled;
diff --git a/src/main/java/org/scijava/script/ParameterObject.java b/src/main/java/org/scijava/script/ParameterObject.java
index 7f02b1d39..5073e147c 100644
--- a/src/main/java/org/scijava/script/ParameterObject.java
+++ b/src/main/java/org/scijava/script/ParameterObject.java
@@ -35,7 +35,9 @@
* Holds a parameter, its type and value, for a recorded macro.
*
* @author Grant Harris
+ * @deprecated To be removed in SciJava Common 3.0.0.
*/
+@Deprecated
public class ParameterObject {
public ParameterObject(final String param, final Class> type,
From 8c84c5660eadd1ec7539bcc0848590effefed47b Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Wed, 17 May 2017 10:32:41 -0500
Subject: [PATCH 022/754] Move internal class into DefaultScriptInterpreter
---
.../script/DefaultScriptInterpreter.java | 110 +++++++++++++
src/main/java/org/scijava/script/History.java | 145 ------------------
2 files changed, 110 insertions(+), 145 deletions(-)
delete mode 100644 src/main/java/org/scijava/script/History.java
diff --git a/src/main/java/org/scijava/script/DefaultScriptInterpreter.java b/src/main/java/org/scijava/script/DefaultScriptInterpreter.java
index 543ea506a..4a2599713 100644
--- a/src/main/java/org/scijava/script/DefaultScriptInterpreter.java
+++ b/src/main/java/org/scijava/script/DefaultScriptInterpreter.java
@@ -42,6 +42,7 @@
import org.scijava.log.LogService;
import org.scijava.plugin.Parameter;
import org.scijava.prefs.PrefService;
+import org.scijava.util.LastRecentlyUsed;
/**
* The default implementation of a {@link ScriptInterpreter}.
@@ -363,4 +364,113 @@ private static T callMethod(final Object object, final String methodName,
return null;
}
+ // -- Helper classes --
+
+ /** Container for a script language's interpreter history. */
+ private static class History {
+
+ @SuppressWarnings("unused")
+ protected static final long serialVersionUID = 2L;
+
+ private static final String PREFIX = "History.";
+ private final int MAX_ENTRIES = 1000;
+
+ private final PrefService prefs;
+ private final String name;
+ private final LastRecentlyUsed entries =
+ new LastRecentlyUsed<>(MAX_ENTRIES);
+ private String currentCommand = "";
+ private int position = -1;
+
+ /**
+ * Constructs a history object for a given scripting language.
+ *
+ * @param name the name of the scripting language
+ */
+ public History(final PrefService prefs, final String name) {
+ this.prefs = prefs;
+ this.name = name;
+ }
+
+ /**
+ * Read back a persisted history.
+ */
+ public void read() {
+ entries.clear();
+ for (final String item : prefs.getIterable(getClass(), PREFIX + name)) {
+ entries.addToEnd(item);
+ }
+ }
+
+ /**
+ * Persist the history.
+ *
+ * @see PrefService
+ */
+ public void write() {
+ prefs.putIterable(getClass(), entries, PREFIX + name);
+ }
+
+ /**
+ * Adds the most recently issued command.
+ *
+ * @param command the most recent command to add to the history
+ */
+ public void add(final String command) {
+ entries.add(command);
+ position = -1;
+ currentCommand = "";
+ }
+
+ public boolean replace(final String command) {
+ if (position < 0) {
+ currentCommand = command;
+ return false;
+ }
+ return entries.replace(position, command);
+ }
+
+ /**
+ * Navigates to the next (more recent) command.
+ *
+ * This method wraps around, i.e. it returns {@code null} when there is no
+ * more-recent command in the history.
+ *
+ *
+ * @return the next command
+ */
+ public String next() {
+ position = entries.next(position);
+ return position < 0 ? currentCommand : entries.get(position);
+ }
+
+ /**
+ * Navigates to the previous (i.e less recent) command.
+ *
+ * This method wraps around, i.e. it returns {@code null} when there is no
+ * less-recent command in the history.
+ *
+ *
+ * @return the previous command
+ */
+ public String previous() {
+ position = entries.previous(position);
+ return position < 0 ? currentCommand : entries.get(position);
+ }
+
+ @Override
+ public String toString() {
+ final StringBuilder builder = new StringBuilder();
+ int pos = -1;
+ for (;;) {
+ pos = entries.previous(pos);
+ if (pos < 0) break;
+ if (builder.length() > 0) builder.append(" -> ");
+ if (this.position == pos) builder.append("[");
+ builder.append(entries.get(pos));
+ if (this.position == pos) builder.append("]");
+ }
+ return builder.toString();
+ }
+ }
}
diff --git a/src/main/java/org/scijava/script/History.java b/src/main/java/org/scijava/script/History.java
deleted file mode 100644
index 648a466c9..000000000
--- a/src/main/java/org/scijava/script/History.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * #%L
- * SciJava Common 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.script;
-
-import org.scijava.prefs.PrefService;
-import org.scijava.util.LastRecentlyUsed;
-
-/**
- * Container for a script language's interpreter history.
- *
- * @author Johannes Schindelin
- */
-class History {
-
- protected static final long serialVersionUID = 1L;
-
- private static final String PREFIX = "History.";
- private final int MAX_ENTRIES = 1000;
-
- private final PrefService prefs;
- private final String name;
- private final LastRecentlyUsed entries = new LastRecentlyUsed<>(MAX_ENTRIES);
- private String currentCommand = "";
- private int position = -1;
-
- /**
- * Constructs a history object for a given scripting language.
- *
- * @param name the name of the scripting language
- */
- public History(final PrefService prefs, final String name) {
- this.prefs = prefs;
- this.name = name;
- }
-
- /**
- * Read back a persisted history.
- */
- public void read() {
- entries.clear();
- for (final String item : prefs.getIterable(getClass(), PREFIX + name)) {
- entries.addToEnd(item);
- }
- }
-
- /**
- * Persist the history.
- *
- * @see PrefService
- */
- public void write() {
- prefs.putIterable(getClass(), entries, PREFIX + name);
- }
-
- /**
- * Adds the most recently issued command.
- *
- * @param command the most recent command to add to the history
- */
- public void add(final String command) {
- entries.add(command);
- position = -1;
- currentCommand = "";
- }
-
- public boolean replace(final String command) {
- if (position < 0) {
- currentCommand = command;
- return false;
- }
- return entries.replace(position, command);
- }
-
- /**
- * Navigates to the next (more recent) command.
- *
- * This method wraps around, i.e. it returns {@code null} when there is no
- * more-recent command in the history.
- *
- *
- * @return the next command
- */
- public String next() {
- position = entries.next(position);
- return position < 0 ? currentCommand : entries.get(position);
- }
-
- /**
- * Navigates to the previous (i.e less recent) command.
- *
- * This method wraps around, i.e. it returns {@code null} when there is no
- * less-recent command in the history.
- *
- *
- * @return the previous command
- */
- public String previous() {
- position = entries.previous(position);
- return position < 0 ? currentCommand : entries.get(position);
- }
-
- @Override
- public String toString() {
- final StringBuilder builder = new StringBuilder();
- int pos = -1;
- for (;;) {
- pos = entries.previous(pos);
- if (pos < 0) break;
- if (builder.length() > 0) builder.append(" -> ");
- if (this.position == pos) builder.append("[");
- builder.append(entries.get(pos));
- if (this.position == pos) builder.append("]");
- }
- return builder.toString();
- }
-}
From 2faeac5d4380196fd0545b83b443254f3ccb12c5 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Wed, 17 May 2017 10:33:42 -0500
Subject: [PATCH 023/754] Add missing license headers
---
.../scijava/script/AbstractAutoCompleter.java | 4 +--
.../scijava/script/AutoCompletionResult.java | 33 ++++++++++++++++---
2 files changed, 31 insertions(+), 6 deletions(-)
diff --git a/src/main/java/org/scijava/script/AbstractAutoCompleter.java b/src/main/java/org/scijava/script/AbstractAutoCompleter.java
index 5155ba784..05956001a 100644
--- a/src/main/java/org/scijava/script/AbstractAutoCompleter.java
+++ b/src/main/java/org/scijava/script/AbstractAutoCompleter.java
@@ -8,13 +8,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/script/AutoCompletionResult.java b/src/main/java/org/scijava/script/AutoCompletionResult.java
index 6ea4dbcc3..ec48da96c 100644
--- a/src/main/java/org/scijava/script/AutoCompletionResult.java
+++ b/src/main/java/org/scijava/script/AutoCompletionResult.java
@@ -1,7 +1,32 @@
-/*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
+/*-
+ * #%L
+ * SciJava Common 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.script;
From 55518586f39d9b58d2686bd8064b51c9d5f492da Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Thu, 18 May 2017 23:03:28 -0500
Subject: [PATCH 024/754] ScriptInfo: fix big bug in the return value logic
The actual return value never got assigned to the implicit "result"
output, because addReturnValue called addItem to add "result" as an
output, which then mistakenly disabled the appendReturnValue flag.
That flag should only be disabled when an _explicit_ output exists.
---
src/main/java/org/scijava/script/ScriptInfo.java | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/main/java/org/scijava/script/ScriptInfo.java b/src/main/java/org/scijava/script/ScriptInfo.java
index d22e3902a..1b3d7f62e 100644
--- a/src/main/java/org/scijava/script/ScriptInfo.java
+++ b/src/main/java/org/scijava/script/ScriptInfo.java
@@ -432,7 +432,7 @@ private void parseParam(final String param,
varName = tokens[1];
}
final Class> type = scriptService.lookupClass(typeName);
- addItem(varName, type, attrs);
+ addItem(varName, type, attrs, true);
if (ScriptModule.RETURN_VALUE.equals(varName)) {
// NB: The return value variable is declared as an explicit OUTPUT.
@@ -460,11 +460,11 @@ private void checkValid(final boolean valid, final String param)
private void addReturnValue() {
final HashMap attrs = new HashMap<>();
attrs.put("type", "OUTPUT");
- addItem(ScriptModule.RETURN_VALUE, Object.class, attrs);
+ addItem(ScriptModule.RETURN_VALUE, Object.class, attrs, false);
}
private void addItem(final String name, final Class type,
- final Map attrs)
+ final Map attrs, final boolean explicit)
{
final DefaultMutableModuleItem item =
new DefaultMutableModuleItem<>(this, name, type);
@@ -477,7 +477,7 @@ private void addItem(final String name, final Class type,
registerOutput(item);
// NB: Only append the return value as an extra
// output when no explicit outputs are declared.
- appendReturnValue = false;
+ if (explicit) appendReturnValue = false;
}
}
From 059e6993df31deb0270ea81185894861da98ec08 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Fri, 19 May 2017 19:02:02 -0500
Subject: [PATCH 025/754] 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 d3e2e0eab..08815add8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -10,7 +10,7 @@
scijava-common
- 2.63.0-SNAPSHOT
+ 2.63.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 15e232db8dd82cb0b7a81faad30805638bb1ac62 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Tue, 23 May 2017 07:18:17 -0500
Subject: [PATCH 026/754] PTService: fix javadoc
The examples given are all from SciJava Common, not ImageJ.
---
src/main/java/org/scijava/plugin/PTService.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/main/java/org/scijava/plugin/PTService.java b/src/main/java/org/scijava/plugin/PTService.java
index b131a8600..36a128498 100644
--- a/src/main/java/org/scijava/plugin/PTService.java
+++ b/src/main/java/org/scijava/plugin/PTService.java
@@ -40,7 +40,7 @@
*
* There are many kinds of services, but most of them share one common
* characteristic: they provide API specific to a particular type of plugin. A
- * few examples from ImageJ:
+ * few examples:
*
*
* The {@link org.scijava.command.CommandService} works with
From ed9cb477312cb9bee4c2ba5bc9ca5d4c25817ca8 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Mon, 22 May 2017 13:52:09 -0500
Subject: [PATCH 027/754] Move ScriptModule#getLanguage() into ScriptInfo
For a given script, which language to use is a constant. It should
be part of the script _metadata_, not the script module _instance_.
---
pom.xml | 2 +-
.../java/org/scijava/script/ScriptInfo.java | 19 ++++++++++
.../java/org/scijava/script/ScriptModule.java | 37 ++++++++-----------
3 files changed, 35 insertions(+), 23 deletions(-)
diff --git a/pom.xml b/pom.xml
index 08815add8..9a0b01354 100644
--- a/pom.xml
+++ b/pom.xml
@@ -10,7 +10,7 @@
scijava-common
- 2.63.1-SNAPSHOT
+ 2.64.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/ScriptInfo.java b/src/main/java/org/scijava/script/ScriptInfo.java
index 1b3d7f62e..c3668767e 100644
--- a/src/main/java/org/scijava/script/ScriptInfo.java
+++ b/src/main/java/org/scijava/script/ScriptInfo.java
@@ -101,6 +101,9 @@ public class ScriptInfo extends AbstractModuleInfo implements Contextual {
/** True iff the return value should be appended as an output. */
private boolean appendReturnValue;
+ /** Script language in which the script should be executed. */
+ private ScriptLanguage scriptLanguage;
+
/**
* Creates a script metadata object which describes the given script file.
*
@@ -224,6 +227,22 @@ public BufferedReader getReader() {
return new BufferedReader(new StringReader(script), PARAM_CHAR_MAX);
}
+ /** Gets the scripting language of the script. */
+ public ScriptLanguage getLanguage() {
+ if (scriptLanguage == null) {
+ // infer the language from the script path's extension
+ final String scriptPath = getPath();
+ final String extension = FileUtils.getExtension(scriptPath);
+ scriptLanguage = scriptService.getLanguageByExtension(extension);
+ }
+ return scriptLanguage;
+ }
+
+ /** Overrides the script language to use when executing the script. */
+ public void setLanguage(final ScriptLanguage scriptLanguage) {
+ this.scriptLanguage = scriptLanguage;
+ }
+
/**
* Parses the script's input and output parameters from the script header.
*
diff --git a/src/main/java/org/scijava/script/ScriptModule.java b/src/main/java/org/scijava/script/ScriptModule.java
index 92cf3ced9..d00b7ab5e 100644
--- a/src/main/java/org/scijava/script/ScriptModule.java
+++ b/src/main/java/org/scijava/script/ScriptModule.java
@@ -50,7 +50,6 @@
import org.scijava.module.Module;
import org.scijava.module.ModuleItem;
import org.scijava.plugin.Parameter;
-import org.scijava.util.FileUtils;
/**
* A {@link Module} which executes a script.
@@ -76,9 +75,6 @@ public class ScriptModule extends AbstractModule implements Contextual {
@Parameter
private LogService log;
- /** Script language in which the script should be executed. */
- private ScriptLanguage scriptLanguage;
-
/** Script engine with which the script should be executed. */
private ScriptEngine scriptEngine;
@@ -96,22 +92,6 @@ public ScriptModule(final ScriptInfo info) {
// -- ScriptModule methods --
- /** Gets the scripting language of the script. */
- public ScriptLanguage getLanguage() {
- if (scriptLanguage == null) {
- // infer the language from the script path's extension
- final String path = getInfo().getPath();
- final String extension = FileUtils.getExtension(path);
- scriptLanguage = scriptService.getLanguageByExtension(extension);
- }
- return scriptLanguage;
- }
-
- /** Overrides the script language to use when executing the script. */
- public void setLanguage(final ScriptLanguage scriptLanguage) {
- this.scriptLanguage = scriptLanguage;
- }
-
/** Sets the writer used to record the standard output stream. */
public void setOutputWriter(final Writer output) {
this.output = output;
@@ -125,7 +105,7 @@ public void setErrorWriter(final Writer error) {
/** Gets the script engine used to execute the script. */
public ScriptEngine getEngine() {
if (scriptEngine == null) {
- scriptEngine = getLanguage().getScriptEngine();
+ scriptEngine = getInfo().getLanguage().getScriptEngine();
}
return scriptEngine;
}
@@ -185,7 +165,7 @@ public void run() {
}
// populate output values
- final ScriptLanguage language = getLanguage();
+ final ScriptLanguage language = getInfo().getLanguage();
for (final ModuleItem> item : getInfo().outputs()) {
final String name = item.getName();
final Object value;
@@ -230,4 +210,17 @@ public void setContext(final Context context) {
context.inject(this);
}
+ // -- Deprecated methods --
+
+ /** @deprecated Use {@link ScriptInfo#getLanguage()} instead. */
+ @Deprecated
+ public ScriptLanguage getLanguage() {
+ return getInfo().getLanguage();
+ }
+
+ /** @deprecated Use {@link ScriptInfo#setLanguage(ScriptLanguage)} instead. */
+ @Deprecated
+ public void setLanguage(final ScriptLanguage scriptLanguage) {
+ getInfo().setLanguage(scriptLanguage);
+ }
}
From e467c5d30435c5614974afabd2fc0819aac6b09d Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Mon, 22 May 2017 13:53:06 -0500
Subject: [PATCH 028/754] ScriptInfo: add fallback code for null url & path
Now, the URL and (psuedo-)path can both be null. If that happens,
the getURL() and getPath() methods will both return null. And the
ScriptLanguage will be detected as the highest priority plugin
available (typically Groovy, but depends on runtime classpath).
---
.../java/org/scijava/script/ScriptInfo.java | 18 ++++++++++++++----
1 file changed, 14 insertions(+), 4 deletions(-)
diff --git a/src/main/java/org/scijava/script/ScriptInfo.java b/src/main/java/org/scijava/script/ScriptInfo.java
index c3668767e..768a9ee23 100644
--- a/src/main/java/org/scijava/script/ScriptInfo.java
+++ b/src/main/java/org/scijava/script/ScriptInfo.java
@@ -232,8 +232,16 @@ public ScriptLanguage getLanguage() {
if (scriptLanguage == null) {
// infer the language from the script path's extension
final String scriptPath = getPath();
- final String extension = FileUtils.getExtension(scriptPath);
- scriptLanguage = scriptService.getLanguageByExtension(extension);
+ if (scriptPath != null) {
+ // use language associated with the script path extension
+ final String extension = FileUtils.getExtension(scriptPath);
+ scriptLanguage = scriptService.getLanguageByExtension(extension);
+ }
+ else {
+ // use the highest priority language
+ final List langs = scriptService.getLanguages();
+ if (langs != null && !langs.isEmpty()) scriptLanguage = langs.get(0);
+ }
}
return scriptLanguage;
}
@@ -371,7 +379,7 @@ public void setContext(final Context context) {
@Override
public String getIdentifier() {
- return "script:" + path;
+ return "script:" + (path == null ? "" : path);
}
// -- Locatable methods --
@@ -403,6 +411,7 @@ public String getVersion() {
private URL url(final URL u, final String p) {
if (u != null) return u;
+ if (p == null) return null;
try {
return new File(p).toURI().toURL();
}
@@ -413,7 +422,8 @@ private URL url(final URL u, final String p) {
}
private String path(final URL u, final String p) {
- return p == null ? u.getPath() : p;
+ if (p != null) return p;
+ return u == null ? null : u.getPath();
}
private void parseParam(final String param) throws ScriptException {
From bebaf6b179ae77402bfd2d6212d5407511901a9f Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Mon, 22 May 2017 15:18:24 -0500
Subject: [PATCH 029/754] ScriptInfo: relocate isReturnValueAppended method
See: https://imagej.net/Coding_style#Ordering_of_code_blocks
---
src/main/java/org/scijava/script/ScriptInfo.java | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/src/main/java/org/scijava/script/ScriptInfo.java b/src/main/java/org/scijava/script/ScriptInfo.java
index 768a9ee23..b5f4ccdbc 100644
--- a/src/main/java/org/scijava/script/ScriptInfo.java
+++ b/src/main/java/org/scijava/script/ScriptInfo.java
@@ -251,6 +251,13 @@ public void setLanguage(final ScriptLanguage scriptLanguage) {
this.scriptLanguage = scriptLanguage;
}
+ /** Gets whether the return value is appended as an additional output. */
+ public boolean isReturnValueAppended() {
+ return appendReturnValue;
+ }
+
+ // -- AbstractModuleInfo methods --
+
/**
* Parses the script's input and output parameters from the script header.
*
@@ -335,11 +342,6 @@ public void parseParameters() {
}
}
- /** Gets whether the return value is appended as an additional output. */
- public boolean isReturnValueAppended() {
- return appendReturnValue;
- }
-
// -- ModuleInfo methods --
@Override
From 012b00d4fe92587973e304c264081a7749b93c31 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Mon, 22 May 2017 15:19:04 -0500
Subject: [PATCH 030/754] ScriptInfo: add setter for appendReturnValue
This matches the getter isReturnValueAppended. It will
be useful when we externalize the parameter parsing logic.
---
src/main/java/org/scijava/script/ScriptInfo.java | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/main/java/org/scijava/script/ScriptInfo.java b/src/main/java/org/scijava/script/ScriptInfo.java
index b5f4ccdbc..1e36139c2 100644
--- a/src/main/java/org/scijava/script/ScriptInfo.java
+++ b/src/main/java/org/scijava/script/ScriptInfo.java
@@ -256,6 +256,11 @@ public boolean isReturnValueAppended() {
return appendReturnValue;
}
+ /** Gets whether the return value is appended as an additional output. */
+ public void setReturnValueAppended(final boolean appendReturnValue) {
+ this.appendReturnValue = appendReturnValue;
+ }
+
// -- AbstractModuleInfo methods --
/**
From 27423a8874f5d2d4c55ec7bf28cb7228c5ca2ea9 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Mon, 22 May 2017 15:20:41 -0500
Subject: [PATCH 031/754] ScriptInfo: widen visibility of parameter methods
We will need to be able to manipulate a ScriptInfo's inputs and outputs
from external code, as part of the parameter parsing externalization.
---
.../java/org/scijava/script/ScriptInfo.java | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/src/main/java/org/scijava/script/ScriptInfo.java b/src/main/java/org/scijava/script/ScriptInfo.java
index 1e36139c2..844f6d912 100644
--- a/src/main/java/org/scijava/script/ScriptInfo.java
+++ b/src/main/java/org/scijava/script/ScriptInfo.java
@@ -60,6 +60,7 @@
import org.scijava.module.AbstractModuleInfo;
import org.scijava.module.DefaultMutableModuleItem;
import org.scijava.module.ModuleException;
+import org.scijava.module.ModuleItem;
import org.scijava.parse.ParseService;
import org.scijava.plugin.Parameter;
import org.scijava.util.DigestUtils;
@@ -347,6 +348,24 @@ public void parseParameters() {
}
}
+ // NB: Widened visibility from AbstractModuleInfo.
+ @Override
+ public void clearParameters() {
+ super.clearParameters();
+ }
+
+ // NB: Widened visibility from AbstractModuleInfo.
+ @Override
+ public void registerInput(final ModuleItem> input) {
+ super.registerInput(input);
+ }
+
+ // NB: Widened visibility from AbstractModuleInfo.
+ @Override
+ public void registerOutput(final ModuleItem> output) {
+ super.registerOutput(output);
+ }
+
// -- ModuleInfo methods --
@Override
From bcb24546ac3aba8db49801141f70b778f8ec6425 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Mon, 22 May 2017 13:27:19 -0500
Subject: [PATCH 032/754] Add service and plugin type to process scripts
This will be useful for implementing script processing directives in
an extensible way. Here is one example, for dependency declaration:
#@repository('https://maven.imagej.net/content/groups/public')
#@dependency('net.imagej:imagej:2.0.0-rc-60')
And here is another, for defining the intended script language:
#!clojure
We will also migrate the script parameter syntax to this scheme:
#@input String name
#@input int age
#@output String greeting
Or with the familiar sloppy shorthand:
#@String name
#@int age
#@output String greeting
See #265
See https://github.com/hadim/scijava-jupyter-kernel/issues/51#issuecomment-301816226
---
.../scijava/script/DefaultScriptService.java | 1 +
.../DefaultScriptProcessorService.java | 49 ++++++++++
.../script/process/ScriptProcessor.java | 54 +++++++++++
.../process/ScriptProcessorService.java | 93 +++++++++++++++++++
.../java/org/scijava/ContextCreationTest.java | 1 +
5 files changed, 198 insertions(+)
create mode 100644 src/main/java/org/scijava/script/process/DefaultScriptProcessorService.java
create mode 100644 src/main/java/org/scijava/script/process/ScriptProcessor.java
create mode 100644 src/main/java/org/scijava/script/process/ScriptProcessorService.java
diff --git a/src/main/java/org/scijava/script/DefaultScriptService.java b/src/main/java/org/scijava/script/DefaultScriptService.java
index 41ec47dab..9480cf863 100644
--- a/src/main/java/org/scijava/script/DefaultScriptService.java
+++ b/src/main/java/org/scijava/script/DefaultScriptService.java
@@ -62,6 +62,7 @@
import org.scijava.plugin.Plugin;
import org.scijava.plugin.PluginService;
import org.scijava.plugin.SciJavaPlugin;
+import org.scijava.script.process.ScriptProcessorService;
import org.scijava.service.Service;
import org.scijava.util.ClassUtils;
import org.scijava.util.ColorRGB;
diff --git a/src/main/java/org/scijava/script/process/DefaultScriptProcessorService.java b/src/main/java/org/scijava/script/process/DefaultScriptProcessorService.java
new file mode 100644
index 000000000..3cbce02e3
--- /dev/null
+++ b/src/main/java/org/scijava/script/process/DefaultScriptProcessorService.java
@@ -0,0 +1,49 @@
+/*
+ * #%L
+ * SciJava Common 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.script.process;
+
+import org.scijava.plugin.AbstractSingletonService;
+import org.scijava.plugin.Plugin;
+import org.scijava.service.Service;
+
+/**
+ * Default implementation of {@link ScriptProcessorService}.
+ *
+ * @author Curtis Rueden
+ */
+@Plugin(type = Service.class)
+public class DefaultScriptProcessorService extends
+ AbstractSingletonService implements
+ ScriptProcessorService
+{
+ // NB: No implementation needed.
+}
diff --git a/src/main/java/org/scijava/script/process/ScriptProcessor.java b/src/main/java/org/scijava/script/process/ScriptProcessor.java
new file mode 100644
index 000000000..3d412d074
--- /dev/null
+++ b/src/main/java/org/scijava/script/process/ScriptProcessor.java
@@ -0,0 +1,54 @@
+/*
+ * #%L
+ * SciJava Common 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.script.process;
+
+import org.scijava.plugin.SingletonPlugin;
+import org.scijava.script.ScriptInfo;
+
+/**
+ * A script processor defines some sort of processing that primes a particular
+ * script for execution.
+ *
+ * Typically, these plugins look for special directives in the script itself
+ * beginning with distinctive character sequences like {@code #@}, and then
+ * perform some action in response.
+ *
+ *
+ * @author Curtis Rueden
+ */
+public interface ScriptProcessor extends SingletonPlugin {
+
+ void begin(ScriptInfo info);
+ void process(String line);
+ default void end() {}
+
+}
diff --git a/src/main/java/org/scijava/script/process/ScriptProcessorService.java b/src/main/java/org/scijava/script/process/ScriptProcessorService.java
new file mode 100644
index 000000000..2f1d431cf
--- /dev/null
+++ b/src/main/java/org/scijava/script/process/ScriptProcessorService.java
@@ -0,0 +1,93 @@
+/*
+ * #%L
+ * SciJava Common 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.script.process;
+
+import java.io.BufferedReader;
+import java.io.FileReader;
+import java.io.IOException;
+import java.util.List;
+import java.util.stream.Collectors;
+
+import org.scijava.plugin.PTService;
+import org.scijava.script.ScriptInfo;
+import org.scijava.service.SciJavaService;
+
+/**
+ * Interface for service that processes scripts. This service discovers
+ * available {@link ScriptProcessor} plugins, and provides convenience methods
+ * to interact with them.
+ *
+ * @author Curtis Rueden
+ */
+public interface ScriptProcessorService extends
+ PTService, SciJavaService
+{
+
+ /**
+ * Invokes all {@link ScriptProcessor} plugins on the given script, line by
+ * line in sequence.
+ */
+ default void process(final ScriptInfo info) throws IOException {
+ final List processors = getPlugins().stream().map(
+ p -> pluginService().createInstance(p)).collect(Collectors.toList());
+
+ BufferedReader reader = info.getReader();
+ if (reader == null) {
+ reader = new BufferedReader(new FileReader(info.getPath()));
+ }
+
+ for (final ScriptProcessor p : processors) {
+ p.begin(info);
+ }
+
+ try (final BufferedReader in = reader) {
+ while (true) {
+ final String line = in.readLine();
+ if (line == null) break;
+ for (final ScriptProcessor p : processors) {
+ p.process(line);
+ }
+ }
+ }
+
+ for (final ScriptProcessor p : processors) {
+ p.end();
+ }
+ }
+
+ // -- PTService methods --
+
+ @Override
+ default Class getPluginType() {
+ return ScriptProcessor.class;
+ }
+}
diff --git a/src/test/java/org/scijava/ContextCreationTest.java b/src/test/java/org/scijava/ContextCreationTest.java
index 8de76276e..5dc0ed1b4 100644
--- a/src/test/java/org/scijava/ContextCreationTest.java
+++ b/src/test/java/org/scijava/ContextCreationTest.java
@@ -109,6 +109,7 @@ public void testFull() {
org.scijava.prefs.DefaultPrefService.class,
org.scijava.run.DefaultRunService.class,
org.scijava.script.DefaultScriptHeaderService.class,
+ org.scijava.script.process.DefaultScriptProcessorService.class,
org.scijava.text.DefaultTextService.class,
org.scijava.thread.DefaultThreadService.class,
org.scijava.tool.DefaultToolService.class,
From 50d4997c3bae8a437a6aa691bcfc8c01c4093a78 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Mon, 22 May 2017 15:21:56 -0500
Subject: [PATCH 033/754] Externalize the script parameter parsing logic
It now lives in a new ParameterScriptProcessor.
For the moment, script processing is triggered internally by the
ScriptInfo's parseParameters method, which is a bit hacky.
---
.../scijava/script/DefaultScriptService.java | 3 +
.../java/org/scijava/script/ScriptInfo.java | 241 +--------------
.../process/ParameterScriptProcessor.java | 286 ++++++++++++++++++
3 files changed, 300 insertions(+), 230 deletions(-)
create mode 100644 src/main/java/org/scijava/script/process/ParameterScriptProcessor.java
diff --git a/src/main/java/org/scijava/script/DefaultScriptService.java b/src/main/java/org/scijava/script/DefaultScriptService.java
index 9480cf863..f63eb7938 100644
--- a/src/main/java/org/scijava/script/DefaultScriptService.java
+++ b/src/main/java/org/scijava/script/DefaultScriptService.java
@@ -91,6 +91,9 @@ public class DefaultScriptService extends
@Parameter
private AppService appService;
+ @Parameter
+ private ScriptProcessorService scriptProcessorService;
+
@Parameter
private ParseService parser;
diff --git a/src/main/java/org/scijava/script/ScriptInfo.java b/src/main/java/org/scijava/script/ScriptInfo.java
index 844f6d912..fb3859b2b 100644
--- a/src/main/java/org/scijava/script/ScriptInfo.java
+++ b/src/main/java/org/scijava/script/ScriptInfo.java
@@ -33,7 +33,6 @@
import java.io.BufferedReader;
import java.io.File;
-import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
@@ -41,37 +40,24 @@
import java.net.MalformedURLException;
import java.net.URL;
import java.text.SimpleDateFormat;
-import java.util.ArrayList;
import java.util.Date;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
-
-import javax.script.ScriptException;
import org.scijava.Context;
import org.scijava.Contextual;
-import org.scijava.ItemIO;
-import org.scijava.ItemVisibility;
import org.scijava.NullContextException;
-import org.scijava.command.Command;
-import org.scijava.convert.ConvertService;
import org.scijava.log.LogService;
import org.scijava.module.AbstractModuleInfo;
-import org.scijava.module.DefaultMutableModuleItem;
import org.scijava.module.ModuleException;
import org.scijava.module.ModuleItem;
-import org.scijava.parse.ParseService;
import org.scijava.plugin.Parameter;
+import org.scijava.script.process.ParameterScriptProcessor;
+import org.scijava.script.process.ScriptProcessorService;
import org.scijava.util.DigestUtils;
import org.scijava.util.FileUtils;
/**
* Metadata about a script.
- *
- * This class is responsible for parsing the script for parameters. See
- * {@link #parseParameters()} for details.
- *
*
* @author Curtis Rueden
* @author Johannes Schindelin
@@ -94,10 +80,7 @@ public class ScriptInfo extends AbstractModuleInfo implements Contextual {
private ScriptService scriptService;
@Parameter
- private ParseService parser;
-
- @Parameter
- private ConvertService convertService;
+ private ScriptProcessorService scriptProcessorService;
/** True iff the return value should be appended as an output. */
private boolean appendReturnValue;
@@ -265,86 +248,21 @@ public void setReturnValueAppended(final boolean appendReturnValue) {
// -- AbstractModuleInfo methods --
/**
- * Parses the script's input and output parameters from the script header.
- *
- * This method is called automatically the first time any parameter accessor
- * method is called ({@link #getInput}, {@link #getOutput}, {@link #inputs()},
- * {@link #outputs()}, etc.). Subsequent calls will reparse the parameters.
- *
- * SciJava's scripting framework supports specifying @{@link Parameter}-style
- * inputs and outputs in a preamble. The format is a simplified version of the
- * Java @{@link Parameter} annotation syntax. The following syntaxes are
- * supported:
- *
- *
- * {@code // @ }
- * {@code // @(=, ..., =) }
- *
- * {@code // @ }
- * {@code // @(=, ..., =)
- * }
- *
- *
- * Where:
- *
- *
- * {@code //} = the comment style of the scripting language, so that the
- * parameter line is ignored by the script engine itself.
- * {@code } = one of {@code INPUT}, {@code OUTPUT}, or
- * {@code BOTH}.
- * {@code } = the name of the input or output variable.
- * {@code } = the Java {@link Class} of the variable.
- * {@code } = an attribute key.
- * {@code } = an attribute value.
- *
- *
- * See the @{@link Parameter} annotation for a list of valid attributes.
- *
- *
- * Here are a few examples:
- *
- *
- * {@code // @Dataset dataset}
- * {@code // @double(type=OUTPUT) result}
- * {@code // @BOTH ImageDisplay display}
- * {@code // @INPUT(persist=false, visibility=INVISIBLE) boolean verbose}
- *
- *
- *
- * Parameters will be parsed and filled just like @{@link Parameter}-annotated
- * fields in {@link Command}s.
- *
+ * Performs script processing. In particular, parses the script parameters.
+ *
+ * @see ParameterScriptProcessor
+ * @see ScriptProcessorService#process
*/
// NB: Widened visibility from AbstractModuleInfo.
@Override
public void parseParameters() {
clearParameters();
- appendReturnValue = true;
-
- try (final BufferedReader in = script == null ? //
- new BufferedReader(new FileReader(getPath())) : getReader()) //
- {
- while (true) {
- final String line = in.readLine();
- if (line == null) break;
-
- // NB: Scan for lines containing an '@' with no prior alphameric
- // characters. This assumes that only non-alphanumeric characters can
- // be used as comment line markers.
- if (line.matches("^[^\\w]*@.*")) {
- final int at = line.indexOf('@');
- parseParam(line.substring(at + 1));
- }
- else if (line.matches(".*\\w.*")) break;
- }
-
- if (appendReturnValue) addReturnValue();
+ try {
+ scriptProcessorService.process(this);
}
catch (final IOException exc) {
- log.error("Error reading script: " + path, exc);
- }
- catch (final ScriptException exc) {
- log.error("Invalid parameter syntax for script: " + path, exc);
+ // TODO: Consider a better error handling approach.
+ throw new RuntimeException(exc);
}
}
@@ -452,143 +370,6 @@ private String path(final URL u, final String p) {
return u == null ? null : u.getPath();
}
- private void parseParam(final String param) throws ScriptException {
- final int lParen = param.indexOf("(");
- final int rParen = param.lastIndexOf(")");
- if (rParen < lParen) {
- throw new ScriptException("Invalid parameter: " + param);
- }
- if (lParen < 0) parseParam(param, parseAttrs("()"));
- else {
- final String cutParam =
- param.substring(0, lParen) + param.substring(rParen + 1);
- final String attrs = param.substring(lParen + 1, rParen);
- parseParam(cutParam, parseAttrs(attrs));
- }
- }
-
- private void parseParam(final String param,
- final Map attrs) throws ScriptException
- {
- final String[] tokens = param.trim().split("[ \t\n]+");
- checkValid(tokens.length >= 1, param);
- final String typeName, varName;
- if (isIOType(tokens[0])) {
- // assume syntax:
- checkValid(tokens.length >= 3, param);
- attrs.put("type", tokens[0]);
- typeName = tokens[1];
- varName = tokens[2];
- }
- else {
- // assume syntax:
- checkValid(tokens.length >= 2, param);
- typeName = tokens[0];
- varName = tokens[1];
- }
- final Class> type = scriptService.lookupClass(typeName);
- addItem(varName, type, attrs, true);
-
- if (ScriptModule.RETURN_VALUE.equals(varName)) {
- // NB: The return value variable is declared as an explicit OUTPUT.
- // So we should not append the return value as an extra output.
- appendReturnValue = false;
- }
- }
-
- /** Parses a comma-delimited list of {@code key=value} pairs into a map. */
- private Map parseAttrs(final String attrs) {
- return parser.parse(attrs, false).asMap();
- }
-
- private boolean isIOType(final String token) {
- return convertService.convert(token, ItemIO.class) != null;
- }
-
- private void checkValid(final boolean valid, final String param)
- throws ScriptException
- {
- if (!valid) throw new ScriptException("Invalid parameter: " + param);
- }
-
- /** Adds an output for the value returned by the script itself. */
- private void addReturnValue() {
- final HashMap attrs = new HashMap<>();
- attrs.put("type", "OUTPUT");
- addItem(ScriptModule.RETURN_VALUE, Object.class, attrs, false);
- }
-
- private void addItem(final String name, final Class type,
- final Map attrs, final boolean explicit)
- {
- final DefaultMutableModuleItem item =
- new DefaultMutableModuleItem<>(this, name, type);
- for (final String key : attrs.keySet()) {
- final Object value = attrs.get(key);
- assignAttribute(item, key, value);
- }
- if (item.isInput()) registerInput(item);
- if (item.isOutput()) {
- registerOutput(item);
- // NB: Only append the return value as an extra
- // output when no explicit outputs are declared.
- if (explicit) appendReturnValue = false;
- }
- }
-
- private void assignAttribute(final DefaultMutableModuleItem item,
- final String k, final Object v)
- {
- // CTR: There must be an easier way to do this.
- // Just compile the thing using javac? Or parse via javascript, maybe?
- if (is(k, "callback")) item.setCallback(as(v, String.class));
- else if (is(k, "choices")) item.setChoices(asList(v, item.getType()));
- else if (is(k, "columns")) item.setColumnCount(as(v, int.class));
- else if (is(k, "description")) item.setDescription(as(v, String.class));
- else if (is(k, "initializer")) item.setInitializer(as(v, String.class));
- else if (is(k, "validater")) item.setValidater(as(v, String.class));
- else if (is(k, "type")) item.setIOType(as(v, ItemIO.class));
- else if (is(k, "label")) item.setLabel(as(v, String.class));
- 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, "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));
- else if (is(k, "softMax")) item.setSoftMaximum(as(v, item.getType()));
- else if (is(k, "softMin")) item.setSoftMinimum(as(v, item.getType()));
- else if (is(k, "stepSize")) item.setStepSize(as(v, double.class));
- else if (is(k, "style")) item.setWidgetStyle(as(v, String.class));
- else if (is(k, "visibility")) item.setVisibility(as(v, ItemVisibility.class));
- else if (is(k, "value")) item.setDefaultValue(as(v, item.getType()));
- else item.set(k, v.toString());
- }
-
- /** Super terse comparison helper method. */
- private boolean is(final String key, final String desired) {
- return desired.equalsIgnoreCase(key);
- }
-
- /** Super terse conversion helper method. */
- private T as(final Object v, final Class type) {
- final T converted = convertService.convert(v, type);
- if (converted != null) return converted;
- // NB: Attempt to convert via string.
- // This is useful in cases where a weird type of object came back
- // (e.g., org.scijava.parse.eval.Unresolved), but which happens to have a
- // nice string representation which ultimately is expressible as the type.
- return convertService.convert(v.toString(), type);
- }
-
- private List asList(final Object v, final Class type) {
- final ArrayList result = new ArrayList<>();
- final List> list = as(v, List.class);
- for (final Object item : list) {
- result.add(as(item, type));
- }
- return result;
- }
-
/**
* Read entire contents of a Reader and return as String.
*
diff --git a/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java b/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java
new file mode 100644
index 000000000..9652e3f77
--- /dev/null
+++ b/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java
@@ -0,0 +1,286 @@
+/*
+ * #%L
+ * SciJava Common 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.script.process;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.script.ScriptException;
+
+import org.scijava.ItemIO;
+import org.scijava.ItemVisibility;
+import org.scijava.command.Command;
+import org.scijava.convert.ConvertService;
+import org.scijava.log.LogService;
+import org.scijava.module.DefaultMutableModuleItem;
+import org.scijava.parse.ParseService;
+import org.scijava.plugin.Parameter;
+import org.scijava.plugin.Plugin;
+import org.scijava.script.ScriptInfo;
+import org.scijava.script.ScriptModule;
+import org.scijava.script.ScriptService;
+
+/**
+ * A {@link ScriptProcessor} which parses the script's input and output
+ * parameters from the script header.
+ *
+ * SciJava's scripting framework supports specifying @{@link Parameter}-style
+ * inputs and outputs in a preamble. The format is a simplified version of the
+ * Java @{@link Parameter} annotation syntax. The following syntaxes are
+ * supported:
+ *
+ *
+ * {@code // @ }
+ * {@code // @(=, ..., =) }
+ *
+ * {@code // @ }
+ * {@code // @(=, ..., =)
+ * }
+ *
+ *
+ * Where:
+ *
+ *
+ * {@code //} = the comment style of the scripting language, so that the
+ * parameter line is ignored by the script engine itself.
+ * {@code } = one of {@code INPUT}, {@code OUTPUT}, or {@code BOTH}.
+ *
+ * {@code } = the name of the input or output variable.
+ * {@code } = the Java {@link Class} of the variable.
+ * {@code } = an attribute key.
+ * {@code } = an attribute value.
+ *
+ *
+ * See the @{@link Parameter} annotation for a list of valid attributes.
+ *
+ *
+ * Here are a few examples:
+ *
+ *
+ * {@code // @Dataset dataset}
+ * {@code // @double(type=OUTPUT) result}
+ * {@code // @BOTH ImageDisplay display}
+ * {@code // @INPUT(persist=false, visibility=INVISIBLE) boolean verbose}
+ *
+ *
+ *
+ * Parameters will be parsed and filled just like @{@link Parameter}-annotated
+ * fields in {@link Command}s.
+ *
+ *
+ * @author Curtis Rueden
+ */
+@Plugin(type = ScriptProcessor.class)
+public class ParameterScriptProcessor implements ScriptProcessor {
+
+ @Parameter
+ private ScriptService scriptService;
+
+ @Parameter
+ private ConvertService convertService;
+
+ @Parameter
+ private ParseService parser;
+
+ @Parameter
+ private LogService log;
+
+ private ScriptInfo info;
+ private boolean header = true;
+
+ // -- ScriptProcessor methods --
+
+ @Override
+ public void begin(final ScriptInfo scriptInfo) {
+ info = scriptInfo;
+ info.setReturnValueAppended(true);
+ }
+
+ @Override
+ public void process(final String line) {
+ if (header) {
+ // 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]*@.*")) {
+ final int at = line.indexOf('@');
+ parseParam(line.substring(at + 1));
+ }
+ else if (line.matches(".*\\w.*")) header = false;
+ }
+ }
+
+ @Override
+ public void end() {
+ if (info.isReturnValueAppended()) {
+ // add an output for the value returned by the script itself
+ final HashMap attrs = new HashMap<>();
+ attrs.put("type", "OUTPUT");
+ addItem(ScriptModule.RETURN_VALUE, Object.class, attrs, false);
+ }
+ }
+
+ // -- Helper methods --
+
+ private void parseParam(final String param) {
+ final int lParen = param.indexOf("(");
+ final int rParen = param.lastIndexOf(")");
+ if (rParen < lParen) { warnInvalid(param); return; }
+ if (lParen < 0) parseParam(param, parseAttrs("()"));
+ else {
+ final String cutParam =
+ param.substring(0, lParen) + param.substring(rParen + 1);
+ final String attrs = param.substring(lParen + 1, rParen);
+ parseParam(cutParam, parseAttrs(attrs));
+ }
+ }
+
+ private void parseParam(final String param, final Map attrs) {
+ final String[] tokens = param.trim().split("[ \t\n]+");
+ if (tokens.length < 1) { warnInvalid(param); return; }
+ final String typeName, varName;
+ if (isIOType(tokens[0])) {
+ // assume syntax:
+ if (tokens.length < 3) { warnInvalid(param); return; }
+ attrs.put("type", tokens[0]);
+ typeName = tokens[1];
+ varName = tokens[2];
+ }
+ else {
+ // assume syntax:
+ if (tokens.length < 2) { warnInvalid(param); return; }
+ typeName = tokens[0];
+ varName = tokens[1];
+ }
+ try {
+ final Class> type = scriptService.lookupClass(typeName);
+ addItem(varName, type, attrs, true);
+ }
+ catch (final ScriptException exc) {
+ log.warn("Invalid class: " + typeName, exc);
+ return;
+ }
+
+ if (ScriptModule.RETURN_VALUE.equals(varName)) {
+ // NB: The return value variable is declared as an explicit parameter.
+ // So we should not append the return value as an extra output.
+ info.setReturnValueAppended(false);
+ }
+ }
+
+ /** Parses a comma-delimited list of {@code key=value} pairs into a map. */
+ private Map parseAttrs(final String attrs) {
+ return parser.parse(attrs, false).asMap();
+ }
+
+ private boolean isIOType(final String token) {
+ return convertService.convert(token, ItemIO.class) != null;
+ }
+
+ private void warnInvalid(final String param) {
+ log.warn("Ignoring invalid parameter: " + param);
+ }
+
+ private void addItem(final String name, final Class type,
+ final Map attrs, final boolean explicit)
+ {
+ final DefaultMutableModuleItem item =
+ new DefaultMutableModuleItem<>(info, name, type);
+ for (final String key : attrs.keySet()) {
+ final Object value = attrs.get(key);
+ assignAttribute(item, key, value);
+ }
+ if (item.isInput()) info.registerInput(item);
+ if (item.isOutput()) {
+ info.registerOutput(item);
+ // NB: Only append the return value as an extra
+ // output when no explicit outputs are declared.
+ if (explicit) info.setReturnValueAppended(false);
+ }
+ }
+
+ private void assignAttribute(final DefaultMutableModuleItem item,
+ final String k, final Object v)
+ {
+ // CTR: There must be an easier way to do this.
+ // Just compile the thing using javac? Or parse via javascript, maybe?
+ if (is(k, "callback")) item.setCallback(as(v, String.class));
+ else if (is(k, "choices")) item.setChoices(asList(v, item.getType()));
+ else if (is(k, "columns")) item.setColumnCount(as(v, int.class));
+ else if (is(k, "description")) item.setDescription(as(v, String.class));
+ else if (is(k, "initializer")) item.setInitializer(as(v, String.class));
+ else if (is(k, "validater")) item.setValidater(as(v, String.class));
+ else if (is(k, "type")) item.setIOType(as(v, ItemIO.class));
+ else if (is(k, "label")) item.setLabel(as(v, String.class));
+ 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, "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));
+ else if (is(k, "softMax")) item.setSoftMaximum(as(v, item.getType()));
+ else if (is(k, "softMin")) item.setSoftMinimum(as(v, item.getType()));
+ else if (is(k, "stepSize")) item.setStepSize(as(v, double.class));
+ else if (is(k, "style")) item.setWidgetStyle(as(v, String.class));
+ else if (is(k, "visibility")) item.setVisibility(as(v, ItemVisibility.class));
+ else if (is(k, "value")) item.setDefaultValue(as(v, item.getType()));
+ else item.set(k, v.toString());
+ }
+
+ /** Super terse comparison helper method. */
+ private boolean is(final String key, final String desired) {
+ return desired.equalsIgnoreCase(key);
+ }
+
+ /** Super terse conversion helper method. */
+ private T as(final Object v, final Class type) {
+ final T converted = convertService.convert(v, type);
+ if (converted != null) return converted;
+ // NB: Attempt to convert via string.
+ // This is useful in cases where a weird type of object came back
+ // (e.g., org.scijava.parse.eval.Unresolved), but which happens to have a
+ // nice string representation which ultimately is expressible as the type.
+ return convertService.convert(v.toString(), type);
+ }
+
+ private List asList(final Object v, final Class type) {
+ final ArrayList result = new ArrayList<>();
+ final List> list = as(v, List.class);
+ for (final Object item : list) {
+ result.add(as(item, type));
+ }
+ return result;
+ }
+
+}
From 347b484a79f4d080ab224cd2c89dd14e0cd04bdf Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Tue, 23 May 2017 19:04:39 -0500
Subject: [PATCH 034/754] Add script processor for shebang syntax
This lets a script declare its own intended language.
See:
https://github.com/hadim/scijava-jupyter-kernel/issues/51#issuecomment-301816226
---
.../process/ShebangScriptProcessor.java | 78 +++++++++++++++++++
1 file changed, 78 insertions(+)
create mode 100644 src/main/java/org/scijava/script/process/ShebangScriptProcessor.java
diff --git a/src/main/java/org/scijava/script/process/ShebangScriptProcessor.java b/src/main/java/org/scijava/script/process/ShebangScriptProcessor.java
new file mode 100644
index 000000000..63dc09db3
--- /dev/null
+++ b/src/main/java/org/scijava/script/process/ShebangScriptProcessor.java
@@ -0,0 +1,78 @@
+/*
+ * #%L
+ * SciJava Common 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.script.process;
+
+import org.scijava.log.LogService;
+import org.scijava.plugin.Parameter;
+import org.scijava.plugin.Plugin;
+import org.scijava.script.ScriptInfo;
+import org.scijava.script.ScriptLanguage;
+import org.scijava.script.ScriptService;
+
+/**
+ * A {@link ScriptProcessor} which looks for a {@code #!} at the beginning of a
+ * script, and set the language accordingly.
+ *
+ * @author Curtis Rueden
+ */
+@Plugin(type = ScriptProcessor.class)
+public class ShebangScriptProcessor implements ScriptProcessor {
+
+ @Parameter
+ private ScriptService scriptService;
+
+ @Parameter
+ private LogService log;
+
+ private ScriptInfo info;
+ private boolean first = true;
+
+ // -- ScriptProcessor methods --
+
+ @Override
+ public void begin(final ScriptInfo scriptInfo) {
+ info = scriptInfo;
+ }
+
+ @Override
+ public void process(final String line) {
+ if (!first) return;
+ if (line.startsWith("#!")) {
+ // shebang!
+ final String langName = line.substring(2);
+ final ScriptLanguage lang = scriptService.getLanguageByName(langName);
+ if (lang != null) info.setLanguage(lang);
+ else log.warn("Unknown script language: " + langName);
+ }
+ first = false;
+ }
+}
\ No newline at end of file
From 1541cf1075c6ec826e4e95ca447e6d005f257cae Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Tue, 23 May 2017 20:44:33 -0500
Subject: [PATCH 035/754] Parse a new style of parameter syntax
See:
https://github.com/scijava/scijava-common/pull/265#issuecomment-302124612
---
.../process/ParameterScriptProcessor.java | 44 +++++++++++--------
.../org/scijava/script/ScriptInfoTest.java | 36 ++++++++++++++-
2 files changed, 61 insertions(+), 19 deletions(-)
diff --git a/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java b/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java
index 9652e3f77..c65e713c0 100644
--- a/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java
+++ b/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java
@@ -61,25 +61,24 @@
* supported:
*
*
- * {@code // @ }
- * {@code // @(=, ..., =) }
- *
- * {@code // @ }
- * {@code // @(=, ..., =)
+ * {@code #@ }
+ * {@code #@(=, ..., =) }
+ * {@code #@ }
+ * {@code #@(=, ..., =)
* }
*
*
* Where:
*
*
- * {@code //} = the comment style of the scripting language, so that the
+ * {@code #@} - signals a special script processing instruction, so that the
* parameter line is ignored by the script engine itself.
- * {@code } = one of {@code INPUT}, {@code OUTPUT}, or {@code BOTH}.
+ * {@code } - one of {@code INPUT}, {@code OUTPUT}, or {@code BOTH}.
*
- * {@code } = the name of the input or output variable.
- * {@code } = the Java {@link Class} of the variable.
- * {@code } = an attribute key.
- * {@code } = an attribute value.
+ * {@code } - the name of the input or output variable.
+ * {@code } - the Java {@link Class} of the variable.
+ * {@code } - an attribute key.
+ * {@code } - an attribute value.
*
*
* See the @{@link Parameter} annotation for a list of valid attributes.
@@ -88,10 +87,10 @@
* Here are a few examples:
*
*
- * {@code // @Dataset dataset}
- * {@code // @double(type=OUTPUT) result}
- * {@code // @BOTH ImageDisplay display}
- * {@code // @INPUT(persist=false, visibility=INVISIBLE) boolean verbose}
+ * {@code #@Dataset dataset}
+ * {@code #@double(type=OUTPUT) result}
+ * {@code #@BOTH ImageDisplay display}
+ * {@code #@INPUT(persist=false, visibility=INVISIBLE) boolean verbose}
*
*
*
@@ -129,6 +128,14 @@ public void begin(final ScriptInfo scriptInfo) {
@Override
public void process(final String line) {
+ // parse new-style parameters starting with @# anywhere in the script.
+ if (line.matches("^#@.*")) {
+ final int at = line.indexOf('@');
+ parseParam(line.substring(at + 1));
+ return;
+ }
+
+ // parse old-style parameters in the initial script header
if (header) {
// NB: Check if line contains an '@' with no prior alphameric
// characters. This assumes that only non-alphanumeric characters can
@@ -170,10 +177,11 @@ private void parseParam(final String param, final Map attrs) {
final String[] tokens = param.trim().split("[ \t\n]+");
if (tokens.length < 1) { warnInvalid(param); return; }
final String typeName, varName;
- if (isIOType(tokens[0])) {
+ final String maybeIOType = tokens[0].toUpperCase();
+ if (isIOType(maybeIOType)) {
// assume syntax:
if (tokens.length < 3) { warnInvalid(param); return; }
- attrs.put("type", tokens[0]);
+ attrs.put("type", maybeIOType);
typeName = tokens[1];
varName = tokens[2];
}
@@ -205,7 +213,7 @@ private Map parseAttrs(final String attrs) {
}
private boolean isIOType(final String token) {
- return convertService.convert(token, ItemIO.class) != null;
+ return convertService.convert(token.toUpperCase(), ItemIO.class) != null;
}
private void warnInvalid(final String param) {
diff --git a/src/test/java/org/scijava/script/ScriptInfoTest.java b/src/test/java/org/scijava/script/ScriptInfoTest.java
index 8d022f748..7e99b439e 100644
--- a/src/test/java/org/scijava/script/ScriptInfoTest.java
+++ b/src/test/java/org/scijava/script/ScriptInfoTest.java
@@ -87,6 +87,41 @@ public static void tearDown() {
// -- Tests --
+ /** Tests whether new-style parameter syntax are parsed correctly. */
+ @Test
+ public void testNewStyle() throws Exception {
+ final String script = "" + //
+ "##########\n" + //
+ "# Inputs #\n" + //
+ "##########\n" + //
+ "#@input int stuff\n" + //
+ "#@input int things\n" + //
+ "\n" + //
+ "###########\n" + //
+ "# Credits #\n" + //
+ "###########\n" + //
+ "Brought to you by:\n" + //
+ "person@example.com\n" + //
+ "\n" + //
+ "###########\n" + //
+ "# Outputs #\n" + //
+ "###########\n" + //
+ "#@output String blackHoles\n" +
+ "#@output String revelations\n" +
+ "\n" + //
+ "THE END!\n";
+ final ScriptModule scriptModule =
+ scriptService.run("newStyle.bsizes", script, true).get();
+
+ final Object output = scriptModule.getReturnValue();
+
+ if (output == null) fail("null result");
+ else if (!(output instanceof Integer)) {
+ fail("result is a " + output.getClass().getName());
+ }
+ else assertEquals(4, ((Integer) output).intValue());
+ }
+
/**
* Tests that the return value is appended as an extra output when no
* explicit outputs were declared.
@@ -122,7 +157,6 @@ public void testReturnValueExcluded() throws Exception {
assertFalse(outputs.containsKey(ScriptModule.RETURN_VALUE));
}
-
/**
* Ensures parameters are parsed correctly from scripts, even in the presence
* of noise like e-mail addresses.
From e57683baf15a106f65ce68c197adc55f1cecd07d Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Wed, 24 May 2017 07:35:19 -0500
Subject: [PATCH 036/754] Add a callback mechanism for script execution
The intended use case is for ScriptProcessor plugins to use it when they
need to do something every time (or deferred until the first time) a
script executes. Initially, this will be useful for dependency grabbing.
---
.../java/org/scijava/script/ScriptInfo.java | 17 ++++++
.../java/org/scijava/script/ScriptModule.java | 8 ++-
.../script/process/ScriptCallback.java | 52 +++++++++++++++++++
3 files changed, 76 insertions(+), 1 deletion(-)
create mode 100644 src/main/java/org/scijava/script/process/ScriptCallback.java
diff --git a/src/main/java/org/scijava/script/ScriptInfo.java b/src/main/java/org/scijava/script/ScriptInfo.java
index fb3859b2b..954a6594e 100644
--- a/src/main/java/org/scijava/script/ScriptInfo.java
+++ b/src/main/java/org/scijava/script/ScriptInfo.java
@@ -40,6 +40,7 @@
import java.net.MalformedURLException;
import java.net.URL;
import java.text.SimpleDateFormat;
+import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -52,6 +53,7 @@
import org.scijava.module.ModuleItem;
import org.scijava.plugin.Parameter;
import org.scijava.script.process.ParameterScriptProcessor;
+import org.scijava.script.process.ScriptCallback;
import org.scijava.script.process.ScriptProcessorService;
import org.scijava.util.DigestUtils;
import org.scijava.util.FileUtils;
@@ -88,6 +90,9 @@ public class ScriptInfo extends AbstractModuleInfo implements Contextual {
/** Script language in which the script should be executed. */
private ScriptLanguage scriptLanguage;
+ /** Routines to be invoked prior to script execution. */
+ private ArrayList callbacks;
+
/**
* Creates a script metadata object which describes the given script file.
*
@@ -245,6 +250,18 @@ public void setReturnValueAppended(final boolean appendReturnValue) {
this.appendReturnValue = appendReturnValue;
}
+ /**
+ * Gets the list of routines which should be invoked each time the script is
+ * about to execute.
+ *
+ * @return Reference to the mutable list of {@link Runnable} objects which the
+ * {@link ScriptModule} will run prior to executing the script itself.
+ */
+ public List callbacks() {
+ if (callbacks == null) callbacks = new ArrayList<>();
+ return callbacks;
+ }
+
// -- AbstractModuleInfo methods --
/**
diff --git a/src/main/java/org/scijava/script/ScriptModule.java b/src/main/java/org/scijava/script/ScriptModule.java
index d00b7ab5e..80a5d928a 100644
--- a/src/main/java/org/scijava/script/ScriptModule.java
+++ b/src/main/java/org/scijava/script/ScriptModule.java
@@ -50,6 +50,7 @@
import org.scijava.module.Module;
import org.scijava.module.ModuleItem;
import org.scijava.plugin.Parameter;
+import org.scijava.script.process.ScriptCallback;
/**
* A {@link Module} which executes a script.
@@ -149,9 +150,14 @@ public void run() {
engine.put(name, getInput(name));
}
- // execute script!
returnValue = null;
try {
+ // invoke the callbacks
+ for (final ScriptCallback c : getInfo().callbacks()) {
+ c.invoke(this);
+ }
+
+ // execute script!
final Reader reader = getInfo().getReader();
if (reader == null) returnValue = engine.eval(new FileReader(path));
else returnValue = engine.eval(reader);
diff --git a/src/main/java/org/scijava/script/process/ScriptCallback.java b/src/main/java/org/scijava/script/process/ScriptCallback.java
new file mode 100644
index 000000000..fa6f8f0ed
--- /dev/null
+++ b/src/main/java/org/scijava/script/process/ScriptCallback.java
@@ -0,0 +1,52 @@
+/*
+ * #%L
+ * SciJava Common 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.script.process;
+
+import javax.script.ScriptException;
+
+import org.scijava.script.ScriptModule;
+
+/**
+ * A routine which will be invoked just prior to script execution.
+ *
+ * @author Curtis Rueden
+ */
+public interface ScriptCallback {
+
+ /**
+ * Invokes the callback routine.
+ *
+ * @param module The {@link ScriptModule} instance which will
+ * execute the script.
+ */
+ void invoke(final ScriptModule module) throws ScriptException;
+}
From 3f89bd015244b2078bf06b8198f14673a5f40d77 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Wed, 24 May 2017 09:55:29 -0500
Subject: [PATCH 037/754] Allow script processors to modify the script
In particular, we want the #@ processing directives to disappear from
the executed version of the script, since they are invalid syntax for
many of the script languages.
This change gives ScriptProcessor plugins the flexibility to modify each
line of the script however they choose, although our initial use case
here will simply blank out lines which have been handled.
What processors should not do is change the number of lines; we want the
line numbers in error messages to match those of the original script.
---
.../java/org/scijava/script/ScriptInfo.java | 15 +++++-
.../java/org/scijava/script/ScriptModule.java | 6 +--
.../process/ParameterScriptProcessor.java | 49 ++++++++++---------
.../script/process/ScriptProcessor.java | 2 +-
.../process/ScriptProcessorService.java | 12 +++--
.../process/ShebangScriptProcessor.java | 8 +--
6 files changed, 57 insertions(+), 35 deletions(-)
diff --git a/src/main/java/org/scijava/script/ScriptInfo.java b/src/main/java/org/scijava/script/ScriptInfo.java
index 954a6594e..bee3b1c06 100644
--- a/src/main/java/org/scijava/script/ScriptInfo.java
+++ b/src/main/java/org/scijava/script/ScriptInfo.java
@@ -84,6 +84,9 @@ public class ScriptInfo extends AbstractModuleInfo implements Contextual {
@Parameter
private ScriptProcessorService scriptProcessorService;
+ /** Final version of the script, after script processing. */
+ private String processedScript;
+
/** True iff the return value should be appended as an output. */
private boolean appendReturnValue;
@@ -216,6 +219,16 @@ public BufferedReader getReader() {
return new BufferedReader(new StringReader(script), PARAM_CHAR_MAX);
}
+ /**
+ * Gets the script contents after script processing.
+ *
+ * @return The processed script.
+ * @see ScriptProcessorService#process
+ */
+ public String getProcessedScript() {
+ return processedScript;
+ }
+
/** Gets the scripting language of the script. */
public ScriptLanguage getLanguage() {
if (scriptLanguage == null) {
@@ -275,7 +288,7 @@ public List callbacks() {
public void parseParameters() {
clearParameters();
try {
- scriptProcessorService.process(this);
+ processedScript = scriptProcessorService.process(this);
}
catch (final IOException exc) {
// TODO: Consider a better error handling approach.
diff --git a/src/main/java/org/scijava/script/ScriptModule.java b/src/main/java/org/scijava/script/ScriptModule.java
index 80a5d928a..5ed0f39a6 100644
--- a/src/main/java/org/scijava/script/ScriptModule.java
+++ b/src/main/java/org/scijava/script/ScriptModule.java
@@ -31,10 +31,8 @@
package org.scijava.script;
-import java.io.FileReader;
import java.io.IOException;
import java.io.PrintWriter;
-import java.io.Reader;
import java.io.Writer;
import javax.script.ScriptContext;
@@ -158,9 +156,7 @@ public void run() {
}
// execute script!
- final Reader reader = getInfo().getReader();
- if (reader == null) returnValue = engine.eval(new FileReader(path));
- else returnValue = engine.eval(reader);
+ returnValue = engine.eval(getInfo().getProcessedScript());
}
catch (Throwable e) {
while (e instanceof ScriptException && e.getCause() != null) {
diff --git a/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java b/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java
index c65e713c0..d7c50d2b0 100644
--- a/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java
+++ b/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java
@@ -127,12 +127,11 @@ public void begin(final ScriptInfo scriptInfo) {
}
@Override
- public void process(final String line) {
+ public String process(final String line) {
// parse new-style parameters starting with @# anywhere in the script.
if (line.matches("^#@.*")) {
final int at = line.indexOf('@');
- parseParam(line.substring(at + 1));
- return;
+ return process(line, line.substring(at + 1));
}
// parse old-style parameters in the initial script header
@@ -142,10 +141,12 @@ public void process(final String line) {
// be used as comment line markers.
if (line.matches("^[^\\w]*@.*")) {
final int at = line.indexOf('@');
- parseParam(line.substring(at + 1));
+ return process(line, line.substring(at + 1));
}
else if (line.matches(".*\\w.*")) header = false;
}
+
+ return line;
}
@Override
@@ -160,34 +161,40 @@ public void end() {
// -- Helper methods --
- private void parseParam(final String param) {
+ private String process(final String line, final String param) {
+ if (parseParam(param)) return "";
+ log.warn("Ignoring invalid parameter: " + param);
+ return line;
+ }
+
+ private boolean parseParam(final String param) {
final int lParen = param.indexOf("(");
final int rParen = param.lastIndexOf(")");
- if (rParen < lParen) { warnInvalid(param); return; }
- if (lParen < 0) parseParam(param, parseAttrs("()"));
- else {
- final String cutParam =
- param.substring(0, lParen) + param.substring(rParen + 1);
- final String attrs = param.substring(lParen + 1, rParen);
- parseParam(cutParam, parseAttrs(attrs));
- }
+ if (rParen < lParen) return false;
+ if (lParen < 0) return parseParam(param, parseAttrs("()"));
+ final String cutParam =
+ param.substring(0, lParen) + param.substring(rParen + 1);
+ final String attrs = param.substring(lParen + 1, rParen);
+ return parseParam(cutParam, parseAttrs(attrs));
}
- private void parseParam(final String param, final Map attrs) {
+ private boolean parseParam(final String param,
+ final Map attrs)
+ {
final String[] tokens = param.trim().split("[ \t\n]+");
- if (tokens.length < 1) { warnInvalid(param); return; }
+ if (tokens.length < 1) return false;
final String typeName, varName;
final String maybeIOType = tokens[0].toUpperCase();
if (isIOType(maybeIOType)) {
// assume syntax:
- if (tokens.length < 3) { warnInvalid(param); return; }
+ if (tokens.length < 3) return false;
attrs.put("type", maybeIOType);
typeName = tokens[1];
varName = tokens[2];
}
else {
// assume syntax:
- if (tokens.length < 2) { warnInvalid(param); return; }
+ if (tokens.length < 2) return false;
typeName = tokens[0];
varName = tokens[1];
}
@@ -197,7 +204,7 @@ private void parseParam(final String param, final Map attrs) {
}
catch (final ScriptException exc) {
log.warn("Invalid class: " + typeName, exc);
- return;
+ return false;
}
if (ScriptModule.RETURN_VALUE.equals(varName)) {
@@ -205,6 +212,8 @@ private void parseParam(final String param, final Map attrs) {
// So we should not append the return value as an extra output.
info.setReturnValueAppended(false);
}
+
+ return true;
}
/** Parses a comma-delimited list of {@code key=value} pairs into a map. */
@@ -216,10 +225,6 @@ private boolean isIOType(final String token) {
return convertService.convert(token.toUpperCase(), ItemIO.class) != null;
}
- private void warnInvalid(final String param) {
- log.warn("Ignoring invalid parameter: " + param);
- }
-
private void addItem(final String name, final Class type,
final Map attrs, final boolean explicit)
{
diff --git a/src/main/java/org/scijava/script/process/ScriptProcessor.java b/src/main/java/org/scijava/script/process/ScriptProcessor.java
index 3d412d074..e89ca7150 100644
--- a/src/main/java/org/scijava/script/process/ScriptProcessor.java
+++ b/src/main/java/org/scijava/script/process/ScriptProcessor.java
@@ -48,7 +48,7 @@
public interface ScriptProcessor extends SingletonPlugin {
void begin(ScriptInfo info);
- void process(String line);
+ String process(String line);
default void end() {}
}
diff --git a/src/main/java/org/scijava/script/process/ScriptProcessorService.java b/src/main/java/org/scijava/script/process/ScriptProcessorService.java
index 2f1d431cf..202071f62 100644
--- a/src/main/java/org/scijava/script/process/ScriptProcessorService.java
+++ b/src/main/java/org/scijava/script/process/ScriptProcessorService.java
@@ -56,7 +56,7 @@ public interface ScriptProcessorService extends
* Invokes all {@link ScriptProcessor} plugins on the given script, line by
* line in sequence.
*/
- default void process(final ScriptInfo info) throws IOException {
+ default String process(final ScriptInfo info) throws IOException {
final List processors = getPlugins().stream().map(
p -> pluginService().createInstance(p)).collect(Collectors.toList());
@@ -69,19 +69,25 @@ default void process(final ScriptInfo info) throws IOException {
p.begin(info);
}
+ final StringBuilder sb = new StringBuilder();
+
try (final BufferedReader in = reader) {
while (true) {
- final String line = in.readLine();
+ String line = in.readLine();
if (line == null) break;
for (final ScriptProcessor p : processors) {
- p.process(line);
+ line = p.process(line);
}
+ sb.append(line);
+ sb.append("\n");
}
}
for (final ScriptProcessor p : processors) {
p.end();
}
+
+ return sb.toString();
}
// -- PTService methods --
diff --git a/src/main/java/org/scijava/script/process/ShebangScriptProcessor.java b/src/main/java/org/scijava/script/process/ShebangScriptProcessor.java
index 63dc09db3..f1b75d546 100644
--- a/src/main/java/org/scijava/script/process/ShebangScriptProcessor.java
+++ b/src/main/java/org/scijava/script/process/ShebangScriptProcessor.java
@@ -64,15 +64,17 @@ public void begin(final ScriptInfo scriptInfo) {
}
@Override
- public void process(final String line) {
- if (!first) return;
+ public String process(final String line) {
+ if (!first) return line;
+ first = false;
if (line.startsWith("#!")) {
// shebang!
final String langName = line.substring(2);
final ScriptLanguage lang = scriptService.getLanguageByName(langName);
if (lang != null) info.setLanguage(lang);
else log.warn("Unknown script language: " + langName);
+ return "";
}
- first = false;
+ return line;
}
}
\ No newline at end of file
From e5e496d297b9a3d7e32a772dd1cda03a3663edf0 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Wed, 24 May 2017 10:09:40 -0500
Subject: [PATCH 038/754] ScriptInfoTest: test script modification
---
src/test/java/org/scijava/script/ScriptInfoTest.java | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/test/java/org/scijava/script/ScriptInfoTest.java b/src/test/java/org/scijava/script/ScriptInfoTest.java
index 7e99b439e..a5b0e6029 100644
--- a/src/test/java/org/scijava/script/ScriptInfoTest.java
+++ b/src/test/java/org/scijava/script/ScriptInfoTest.java
@@ -113,6 +113,10 @@ public void testNewStyle() throws Exception {
final ScriptModule scriptModule =
scriptService.run("newStyle.bsizes", script, true).get();
+ final String expectedProcessed = script.replaceAll("#@.*", "");
+ final String actualProcessed = scriptModule.getInfo().getProcessedScript();
+ assertEquals(expectedProcessed, actualProcessed);
+
final Object output = scriptModule.getReturnValue();
if (output == null) fail("null result");
From 8896894ea52465c77d8816a321c4aa1e5e634b19 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Wed, 24 May 2017 12:56:53 -0500
Subject: [PATCH 039/754] 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 9a0b01354..3700d7ab0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -10,7 +10,7 @@
scijava-common
- 2.64.0-SNAPSHOT
+ 2.64.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 cc99b9ba3f2e8bb556055ac808b8f4a7500d5132 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Fri, 2 Jun 2017 21:05:44 -0500
Subject: [PATCH 040/754] POM: fix Chris Allan ID
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 3700d7ab0..e0beb5f14 100644
--- a/pom.xml
+++ b/pom.xml
@@ -57,7 +57,7 @@
Chris Allan
- callan
+ chris-allan
Barry DeZonia
From 7f9bcccd4b55cf1eb1765639ab5cbbfcb92e18e1 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Mon, 12 Jun 2017 12:42:02 -0500
Subject: [PATCH 041/754] Parameter: deprecate columns() method
---
src/main/java/org/scijava/plugin/Parameter.java | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/src/main/java/org/scijava/plugin/Parameter.java b/src/main/java/org/scijava/plugin/Parameter.java
index c8591c48a..21edaa358 100644
--- a/src/main/java/org/scijava/plugin/Parameter.java
+++ b/src/main/java/org/scijava/plugin/Parameter.java
@@ -158,12 +158,6 @@
/** Defines the step size to use (numeric parameters only). */
String stepSize() default "";
- /**
- * Defines the width of the input field in characters (text field parameters
- * only).
- */
- int columns() default 6;
-
/** Defines the list of possible values (multiple choice text fields only). */
String[] choices() default {};
@@ -173,4 +167,7 @@
*/
Attr[] attrs() default {};
+ /** @deprecated Replaced by {@link #style()}. */
+ @Deprecated
+ int columns() default 6;
}
From 75382b65c9517814332541d1c9b9ac5dde17f9b9 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Mon, 19 Jun 2017 15:30:54 +0200
Subject: [PATCH 042/754] PrefService: never let key or value be null
The Java Preferences API hates nulls:
public void put(String key, String value) {
if (key==null || value==null)
throw new NullPointerException();
...
---
src/main/java/org/scijava/prefs/DefaultPrefService.java | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/main/java/org/scijava/prefs/DefaultPrefService.java b/src/main/java/org/scijava/prefs/DefaultPrefService.java
index 288d2f2dc..d03423e55 100644
--- a/src/main/java/org/scijava/prefs/DefaultPrefService.java
+++ b/src/main/java/org/scijava/prefs/DefaultPrefService.java
@@ -653,6 +653,7 @@ private String safeName(final String name) {
*
*/
private String makeSafe(final String s, final int max) {
+ if (s == null) return ""; // Java Preferences API hates nulls.
final int len = s.length();
if (len < max) return s;
return "..." + s.substring(len - max + 3, len);
From 526b7163b9ae7442c74cfe184be7eae2798bb2ad Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Wed, 14 Dec 2016 02:50:36 +0100
Subject: [PATCH 043/754] AbstractLogService: fix typo in javadoc
---
src/main/java/org/scijava/log/AbstractLogService.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/main/java/org/scijava/log/AbstractLogService.java b/src/main/java/org/scijava/log/AbstractLogService.java
index 69eddd8c0..748cac6a2 100644
--- a/src/main/java/org/scijava/log/AbstractLogService.java
+++ b/src/main/java/org/scijava/log/AbstractLogService.java
@@ -38,7 +38,7 @@
import org.scijava.service.AbstractService;
/**
- * Base class for {@link LogService} implementationst.
+ * Base class for {@link LogService} implementations.
*
* @author Johannes Schindelin
*/
From 294f37c5500437701a4e4a7dcc1eb9e16c0b5355 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Wed, 14 Dec 2016 02:53:18 +0100
Subject: [PATCH 044/754] AbstractLogService: fix incorrect comment
The default level went back and forth between INFO
and WARN a couple of times, but it is currently INFO.
---
src/main/java/org/scijava/log/AbstractLogService.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/main/java/org/scijava/log/AbstractLogService.java b/src/main/java/org/scijava/log/AbstractLogService.java
index 748cac6a2..037975724 100644
--- a/src/main/java/org/scijava/log/AbstractLogService.java
+++ b/src/main/java/org/scijava/log/AbstractLogService.java
@@ -78,7 +78,7 @@ public AbstractLogService() {
if (level >= 0) setLevel(level);
if (getLevel() == 0) {
- // use the default, which is WARN unless the DEBUG env. variable is set
+ // use the default, which is INFO unless the DEBUG env. variable is set
setLevel(System.getenv("DEBUG") == null ? INFO : DEBUG);
}
From 8138f114485ab4bd3743abfdb3d9c86f981d39ad Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Tue, 13 Dec 2016 16:59:05 +0100
Subject: [PATCH 045/754] AbstractLogService: refactor duplicate code
---
.../java/org/scijava/log/AbstractLogService.java | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/src/main/java/org/scijava/log/AbstractLogService.java b/src/main/java/org/scijava/log/AbstractLogService.java
index 037975724..44f9fea29 100644
--- a/src/main/java/org/scijava/log/AbstractLogService.java
+++ b/src/main/java/org/scijava/log/AbstractLogService.java
@@ -46,7 +46,7 @@ public abstract class AbstractLogService extends AbstractService implements
LogService
{
- private int currentLevel = System.getenv("DEBUG") == null ? INFO : DEBUG;
+ private int currentLevel = levelFromEnvironment();
private final Map classAndPackageLevels =
new HashMap<>();
@@ -77,10 +77,8 @@ public AbstractLogService() {
final int level = level(logProp);
if (level >= 0) setLevel(level);
- if (getLevel() == 0) {
- // use the default, which is INFO unless the DEBUG env. variable is set
- setLevel(System.getenv("DEBUG") == null ? INFO : DEBUG);
- }
+ if (getLevel() == 0)
+ setLevel(levelFromEnvironment());
// populate custom class- and package-specific log level properties
final String logLevelPrefix = LOG_LEVEL_PROPERTY + ":";
@@ -297,4 +295,9 @@ private String parentPackage(final String classOrPackageName) {
return classOrPackageName.substring(0, dot);
}
+ private int levelFromEnvironment() {
+ // use the default, which is INFO unless the DEBUG env. variable is set
+ return System.getenv("DEBUG") == null ? INFO : DEBUG;
+ }
+
}
From 7cccfac373d7f34fc5288ccaeccf0f3030ee2fe7 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Thu, 22 Jun 2017 17:35:05 +0200
Subject: [PATCH 046/754] AnnotationProcessor: it works with Java 7 & 8, too
The SupportedSourceVersion indicates the _newest_ release of Java
supported by the processor. SciJava supports Java 8 and earlier.
---
.../java/org/scijava/annotations/AnnotationProcessor.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/main/java/org/scijava/annotations/AnnotationProcessor.java b/src/main/java/org/scijava/annotations/AnnotationProcessor.java
index 0f96bab4f..472f57335 100644
--- a/src/main/java/org/scijava/annotations/AnnotationProcessor.java
+++ b/src/main/java/org/scijava/annotations/AnnotationProcessor.java
@@ -70,11 +70,11 @@
import org.scijava.annotations.AbstractIndexWriter.StreamFactory;
/**
- * The annotation processor for use with Java 6 and above.
+ * The annotation processor for use with Java 8 and earlier.
*
* @author Johannes Schindelin
*/
-@SupportedSourceVersion(SourceVersion.RELEASE_6)
+@SupportedSourceVersion(SourceVersion.RELEASE_8)
@SupportedAnnotationTypes("*")
public class AnnotationProcessor extends AbstractProcessor {
From 596813c198d3f6eb77efac458a4d3dd71cfcfaf6 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Sun, 3 Jul 2016 10:34:04 -0500
Subject: [PATCH 047/754] Do runtime type checking in Typed.supports method
There are situations where we cannot solely rely on the compiler.
For example, with DataHandle plugins, the generic parameter L is
heterogeneous, so we need to actually check the type of the data.
I tried to make this the default implementation of the Typed interface
itself, but ran into problems with calling super.supports in downstream
classes; apparently, you cannot directly reference default interface
methods by writing e.g. Typed.super.supports(...)? Strange.
---
.../java/org/scijava/plugin/AbstractTypedPlugin.java | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/src/main/java/org/scijava/plugin/AbstractTypedPlugin.java b/src/main/java/org/scijava/plugin/AbstractTypedPlugin.java
index e8b3ff338..ac29ee129 100644
--- a/src/main/java/org/scijava/plugin/AbstractTypedPlugin.java
+++ b/src/main/java/org/scijava/plugin/AbstractTypedPlugin.java
@@ -43,5 +43,15 @@
public abstract class AbstractTypedPlugin extends AbstractRichPlugin
implements TypedPlugin
{
- // NB: No implementation needed.
+ // -- Typed methods --
+
+ @Override
+ public boolean supports(final D data) {
+ // NB: Even though the compiler will often guarantee that only data
+ // of type T is provided here, we still need the runtime check
+ // for cases where the exact type is not known to compiler --
+ // e.g., if the object was manufactured by reflection.
+ return getType().isInstance(data);
+ }
+
}
From 28700f4676fda5d8a676ae2bc2c8bee31b0698e0 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Fri, 1 Jul 2016 23:27:43 -0500
Subject: [PATCH 048/754] Add NIOService for working with NIO classes
Migrated from the NIOService of SCIFIO, which was previously
adapted from the NIOByteBufferProvider class of Bio-Formats.
---
.../org/scijava/io/nio/DefaultNIOService.java | 119 ++++++++++++++++++
.../java/org/scijava/io/nio/NIOService.java | 73 +++++++++++
.../java/org/scijava/ContextCreationTest.java | 1 +
3 files changed, 193 insertions(+)
create mode 100644 src/main/java/org/scijava/io/nio/DefaultNIOService.java
create mode 100644 src/main/java/org/scijava/io/nio/NIOService.java
diff --git a/src/main/java/org/scijava/io/nio/DefaultNIOService.java b/src/main/java/org/scijava/io/nio/DefaultNIOService.java
new file mode 100644
index 000000000..9a631daf6
--- /dev/null
+++ b/src/main/java/org/scijava/io/nio/DefaultNIOService.java
@@ -0,0 +1,119 @@
+/*
+ * #%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.
+ * %%
+ * 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.nio;
+
+import java.io.IOException;
+import java.nio.ByteBuffer;
+import java.nio.channels.FileChannel;
+import java.nio.channels.FileChannel.MapMode;
+
+import org.scijava.log.LogService;
+import org.scijava.plugin.Parameter;
+import org.scijava.plugin.Plugin;
+import org.scijava.service.AbstractService;
+import org.scijava.service.Service;
+
+/**
+ * Default service for working with the {@link java.nio} package, particularly
+ * NIO {@link ByteBuffer} objects.
+ *
+ * @author Chris Allan
+ * @author Curtis Rueden
+ */
+@Plugin(type = Service.class)
+public class DefaultNIOService extends AbstractService implements NIOService {
+
+ // -- Fields --
+
+ @Parameter
+ private LogService log;
+
+ /** Whether or not we are to use memory mapped I/O. */
+ private final boolean useMappedByteBuffer = Boolean.parseBoolean(System
+ .getProperty("mappedBuffers"));
+
+ // -- NIOService API methods --
+
+ @Override
+ public ByteBuffer allocate(final FileChannel channel, final MapMode mapMode,
+ final long bufferStartPosition, final int newSize) throws IOException
+ {
+ log.debug("NIO: allocate: mapped=" + useMappedByteBuffer + ", start=" +
+ bufferStartPosition + ", size=" + newSize);
+ if (useMappedByteBuffer) {
+ return allocateMappedByteBuffer(channel, mapMode, bufferStartPosition,
+ newSize);
+ }
+ return allocateDirect(channel, bufferStartPosition, newSize);
+ }
+
+ // -- Helper methods --
+
+ /**
+ * Allocates memory and copies the desired file data into it.
+ *
+ * @param channel File channel to allocate or map byte buffers from.
+ * @param bufferStartPosition The absolute position of the start of the
+ * buffer.
+ * @param newSize The buffer size.
+ * @return A newly allocated NIO byte buffer.
+ * @throws IOException If there is an issue aligning or allocating the buffer.
+ */
+ private ByteBuffer allocateDirect(final FileChannel channel,
+ final long bufferStartPosition, final int newSize) throws IOException
+ {
+ final ByteBuffer buffer = ByteBuffer.allocate(newSize);
+ channel.read(buffer, bufferStartPosition);
+ return buffer;
+ }
+
+ /**
+ * Memory maps the desired file data into memory.
+ *
+ * @param channel File channel to allocate or map byte buffers from.
+ * @param mapMode The map mode. Required but only used if memory mapped I/O is
+ * to occur.
+ * @param bufferStartPosition The absolute position of the start of the
+ * buffer.
+ * @param newSize The buffer size.
+ * @return A newly mapped NIO byte buffer.
+ * @throws IOException If there is an issue mapping, aligning or allocating
+ * the buffer.
+ */
+ private ByteBuffer allocateMappedByteBuffer(final FileChannel channel,
+ final MapMode mapMode, final long bufferStartPosition, final int newSize)
+ throws IOException
+ {
+ return channel.map(mapMode, bufferStartPosition, newSize);
+ }
+
+}
diff --git a/src/main/java/org/scijava/io/nio/NIOService.java b/src/main/java/org/scijava/io/nio/NIOService.java
new file mode 100644
index 000000000..0c6865045
--- /dev/null
+++ b/src/main/java/org/scijava/io/nio/NIOService.java
@@ -0,0 +1,73 @@
+/*
+ * #%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.
+ * %%
+ * 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.nio;
+
+import java.io.IOException;
+import java.nio.ByteBuffer;
+import java.nio.channels.FileChannel;
+import java.nio.channels.FileChannel.MapMode;
+
+import org.scijava.service.SciJavaService;
+
+/**
+ * Interface for services that work with the {@link java.nio} package,
+ * particularly NIO {@link ByteBuffer} objects.
+ *
+ * @author Chris Allan
+ * @author Curtis Rueden
+ */
+public interface NIOService extends SciJavaService {
+
+ /**
+ * Allocates or maps the desired file data into memory.
+ *
+ * This method provides a facade to byte buffer allocation that enables
+ * FileChannel.map() usage on platforms where it's unlikely to
+ * give us problems and heap allocation where it is.
+ *
+ *
+ * @param channel File channel to allocate or map byte buffers from.
+ * @param mapMode The map mode. Required but only used if memory mapped I/O is
+ * to occur.
+ * @param bufferStartPosition The absolute position of the start of the
+ * 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"
+ * @throws IOException If there is an issue mapping, aligning or allocating
+ * the buffer.
+ */
+ ByteBuffer allocate(FileChannel channel, MapMode mapMode,
+ long bufferStartPosition, int newSize) throws IOException;
+
+}
diff --git a/src/test/java/org/scijava/ContextCreationTest.java b/src/test/java/org/scijava/ContextCreationTest.java
index 5dc0ed1b4..449fcc26f 100644
--- a/src/test/java/org/scijava/ContextCreationTest.java
+++ b/src/test/java/org/scijava/ContextCreationTest.java
@@ -98,6 +98,7 @@ public void testFull() {
org.scijava.io.DefaultDataHandleService.class,
org.scijava.io.DefaultIOService.class,
org.scijava.io.DefaultRecentFileService.class,
+ org.scijava.io.nio.DefaultNIOService.class,
org.scijava.main.DefaultMainService.class,
org.scijava.menu.DefaultMenuService.class,
org.scijava.module.DefaultModuleService.class,
From ac6a54ae9a00a379fd3539dba130fc8da844d24f Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Fri, 7 Jul 2017 15:18:13 -0500
Subject: [PATCH 049/754] Reorganize the org.scijava.io classes
This moves Location stuff to org.scijava.io.location,
and DataHandle stuff to org.scijava.io.handle.
It breaks backwards compatibility, but the Location API was not being
used by any SJC-based systems yet. We make the change now to minimize
future damage.
---
src/main/java/org/scijava/io/IOService.java | 2 --
.../org/scijava/io/{ => handle}/AbstractDataHandle.java | 3 ++-
src/main/java/org/scijava/io/{ => handle}/DataHandle.java | 3 ++-
.../org/scijava/io/{ => handle}/DataHandleInputStream.java | 4 +++-
.../scijava/io/{ => handle}/DataHandleOutputStream.java | 4 +++-
.../org/scijava/io/{ => handle}/DataHandleService.java | 4 +++-
.../scijava/io/{ => handle}/DefaultDataHandleService.java | 3 ++-
src/main/java/org/scijava/io/{ => handle}/FileHandle.java | 3 ++-
.../org/scijava/io/{ => location}/AbstractLocation.java | 2 +-
.../java/org/scijava/io/{ => location}/BytesLocation.java | 2 +-
.../java/org/scijava/io/{ => location}/FileLocation.java | 2 +-
src/main/java/org/scijava/io/{ => location}/Location.java | 4 +++-
.../java/org/scijava/io/{ => location}/URILocation.java | 2 +-
.../java/org/scijava/io/{ => location}/URLLocation.java | 2 +-
src/test/java/org/scijava/ContextCreationTest.java | 2 +-
.../java/org/scijava/io/{ => handle}/DataHandleTest.java | 5 ++++-
.../java/org/scijava/io/{ => handle}/FileHandleTest.java | 7 ++++++-
.../org/scijava/io/{ => location}/BytesLocationTest.java | 3 ++-
.../org/scijava/io/{ => location}/FileLocationTest.java | 3 ++-
.../org/scijava/io/{ => location}/URILocationTest.java | 3 ++-
.../org/scijava/io/{ => location}/URLLocationTest.java | 3 ++-
21 files changed, 44 insertions(+), 22 deletions(-)
rename src/main/java/org/scijava/io/{ => handle}/AbstractDataHandle.java (96%)
rename src/main/java/org/scijava/io/{ => handle}/DataHandle.java (99%)
rename src/main/java/org/scijava/io/{ => handle}/DataHandleInputStream.java (97%)
rename src/main/java/org/scijava/io/{ => handle}/DataHandleOutputStream.java (97%)
rename src/main/java/org/scijava/io/{ => handle}/DataHandleService.java (95%)
rename src/main/java/org/scijava/io/{ => handle}/DefaultDataHandleService.java (96%)
rename src/main/java/org/scijava/io/{ => handle}/FileHandle.java (98%)
rename src/main/java/org/scijava/io/{ => location}/AbstractLocation.java (98%)
rename src/main/java/org/scijava/io/{ => location}/BytesLocation.java (98%)
rename src/main/java/org/scijava/io/{ => location}/FileLocation.java (98%)
rename src/main/java/org/scijava/io/{ => location}/Location.java (96%)
rename src/main/java/org/scijava/io/{ => location}/URILocation.java (99%)
rename src/main/java/org/scijava/io/{ => location}/URLLocation.java (98%)
rename src/test/java/org/scijava/io/{ => handle}/DataHandleTest.java (97%)
rename src/test/java/org/scijava/io/{ => handle}/FileHandleTest.java (91%)
rename src/test/java/org/scijava/io/{ => location}/BytesLocationTest.java (97%)
rename src/test/java/org/scijava/io/{ => location}/FileLocationTest.java (96%)
rename src/test/java/org/scijava/io/{ => location}/URILocationTest.java (96%)
rename src/test/java/org/scijava/io/{ => location}/URLLocationTest.java (96%)
diff --git a/src/main/java/org/scijava/io/IOService.java b/src/main/java/org/scijava/io/IOService.java
index a4f284680..3774de692 100644
--- a/src/main/java/org/scijava/io/IOService.java
+++ b/src/main/java/org/scijava/io/IOService.java
@@ -40,8 +40,6 @@
* Interface for high-level data I/O: opening and saving data.
*
* @author Curtis Rueden
- * @see DataHandleService
- * @see Location
*/
public interface IOService extends HandlerService>,
SciJavaService
diff --git a/src/main/java/org/scijava/io/AbstractDataHandle.java b/src/main/java/org/scijava/io/handle/AbstractDataHandle.java
similarity index 96%
rename from src/main/java/org/scijava/io/AbstractDataHandle.java
rename to src/main/java/org/scijava/io/handle/AbstractDataHandle.java
index 7a30a6d3b..b072df9ad 100644
--- a/src/main/java/org/scijava/io/AbstractDataHandle.java
+++ b/src/main/java/org/scijava/io/handle/AbstractDataHandle.java
@@ -29,10 +29,11 @@
* #L%
*/
-package org.scijava.io;
+package org.scijava.io.handle;
import java.nio.ByteOrder;
+import org.scijava.io.location.Location;
import org.scijava.plugin.AbstractWrapperPlugin;
/**
diff --git a/src/main/java/org/scijava/io/DataHandle.java b/src/main/java/org/scijava/io/handle/DataHandle.java
similarity index 99%
rename from src/main/java/org/scijava/io/DataHandle.java
rename to src/main/java/org/scijava/io/handle/DataHandle.java
index f058d9241..9f6d1e3dc 100644
--- a/src/main/java/org/scijava/io/DataHandle.java
+++ b/src/main/java/org/scijava/io/handle/DataHandle.java
@@ -29,7 +29,7 @@
* #L%
*/
-package org.scijava.io;
+package org.scijava.io.handle;
import java.io.Closeable;
import java.io.DataInput;
@@ -39,6 +39,7 @@
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
+import org.scijava.io.location.Location;
import org.scijava.plugin.WrapperPlugin;
/**
diff --git a/src/main/java/org/scijava/io/DataHandleInputStream.java b/src/main/java/org/scijava/io/handle/DataHandleInputStream.java
similarity index 97%
rename from src/main/java/org/scijava/io/DataHandleInputStream.java
rename to src/main/java/org/scijava/io/handle/DataHandleInputStream.java
index 6b2e21e4a..2a215c69a 100644
--- a/src/main/java/org/scijava/io/DataHandleInputStream.java
+++ b/src/main/java/org/scijava/io/handle/DataHandleInputStream.java
@@ -29,11 +29,13 @@
* #L%
*/
-package org.scijava.io;
+package org.scijava.io.handle;
import java.io.IOException;
import java.io.InputStream;
+import org.scijava.io.location.Location;
+
/**
* {@link InputStream} backed by a {@link DataHandle}.
*
diff --git a/src/main/java/org/scijava/io/DataHandleOutputStream.java b/src/main/java/org/scijava/io/handle/DataHandleOutputStream.java
similarity index 97%
rename from src/main/java/org/scijava/io/DataHandleOutputStream.java
rename to src/main/java/org/scijava/io/handle/DataHandleOutputStream.java
index 6f876694d..c2320281f 100644
--- a/src/main/java/org/scijava/io/DataHandleOutputStream.java
+++ b/src/main/java/org/scijava/io/handle/DataHandleOutputStream.java
@@ -29,11 +29,13 @@
* #L%
*/
-package org.scijava.io;
+package org.scijava.io.handle;
import java.io.IOException;
import java.io.OutputStream;
+import org.scijava.io.location.Location;
+
/**
* {@link OutputStream} backed by a {@link DataHandle}.
*
diff --git a/src/main/java/org/scijava/io/DataHandleService.java b/src/main/java/org/scijava/io/handle/DataHandleService.java
similarity index 95%
rename from src/main/java/org/scijava/io/DataHandleService.java
rename to src/main/java/org/scijava/io/handle/DataHandleService.java
index 723461870..5ed20cfc0 100644
--- a/src/main/java/org/scijava/io/DataHandleService.java
+++ b/src/main/java/org/scijava/io/handle/DataHandleService.java
@@ -29,8 +29,10 @@
* #L%
*/
-package org.scijava.io;
+package org.scijava.io.handle;
+import org.scijava.io.IOService;
+import org.scijava.io.location.Location;
import org.scijava.plugin.WrapperService;
import org.scijava.service.SciJavaService;
diff --git a/src/main/java/org/scijava/io/DefaultDataHandleService.java b/src/main/java/org/scijava/io/handle/DefaultDataHandleService.java
similarity index 96%
rename from src/main/java/org/scijava/io/DefaultDataHandleService.java
rename to src/main/java/org/scijava/io/handle/DefaultDataHandleService.java
index dc98ce28f..02123344a 100644
--- a/src/main/java/org/scijava/io/DefaultDataHandleService.java
+++ b/src/main/java/org/scijava/io/handle/DefaultDataHandleService.java
@@ -29,8 +29,9 @@
* #L%
*/
-package org.scijava.io;
+package org.scijava.io.handle;
+import org.scijava.io.location.Location;
import org.scijava.plugin.AbstractWrapperService;
import org.scijava.plugin.Plugin;
import org.scijava.service.Service;
diff --git a/src/main/java/org/scijava/io/FileHandle.java b/src/main/java/org/scijava/io/handle/FileHandle.java
similarity index 98%
rename from src/main/java/org/scijava/io/FileHandle.java
rename to src/main/java/org/scijava/io/handle/FileHandle.java
index f3ac1f422..8d60a27ee 100644
--- a/src/main/java/org/scijava/io/FileHandle.java
+++ b/src/main/java/org/scijava/io/handle/FileHandle.java
@@ -29,11 +29,12 @@
* #L%
*/
-package org.scijava.io;
+package org.scijava.io.handle;
import java.io.IOException;
import java.io.RandomAccessFile;
+import org.scijava.io.location.FileLocation;
import org.scijava.plugin.Plugin;
/**
diff --git a/src/main/java/org/scijava/io/AbstractLocation.java b/src/main/java/org/scijava/io/location/AbstractLocation.java
similarity index 98%
rename from src/main/java/org/scijava/io/AbstractLocation.java
rename to src/main/java/org/scijava/io/location/AbstractLocation.java
index 8937d3847..89d1402e3 100644
--- a/src/main/java/org/scijava/io/AbstractLocation.java
+++ b/src/main/java/org/scijava/io/location/AbstractLocation.java
@@ -29,7 +29,7 @@
* #L%
*/
-package org.scijava.io;
+package org.scijava.io.location;
/**
* Abstract base class for {@link Location} implementations.
diff --git a/src/main/java/org/scijava/io/BytesLocation.java b/src/main/java/org/scijava/io/location/BytesLocation.java
similarity index 98%
rename from src/main/java/org/scijava/io/BytesLocation.java
rename to src/main/java/org/scijava/io/location/BytesLocation.java
index 8070dc225..dc41fbade 100644
--- a/src/main/java/org/scijava/io/BytesLocation.java
+++ b/src/main/java/org/scijava/io/location/BytesLocation.java
@@ -29,7 +29,7 @@
* #L%
*/
-package org.scijava.io;
+package org.scijava.io.location;
import java.nio.ByteBuffer;
diff --git a/src/main/java/org/scijava/io/FileLocation.java b/src/main/java/org/scijava/io/location/FileLocation.java
similarity index 98%
rename from src/main/java/org/scijava/io/FileLocation.java
rename to src/main/java/org/scijava/io/location/FileLocation.java
index 3d93ee12c..31a331bd8 100644
--- a/src/main/java/org/scijava/io/FileLocation.java
+++ b/src/main/java/org/scijava/io/location/FileLocation.java
@@ -29,7 +29,7 @@
* #L%
*/
-package org.scijava.io;
+package org.scijava.io.location;
import java.io.File;
import java.net.URI;
diff --git a/src/main/java/org/scijava/io/Location.java b/src/main/java/org/scijava/io/location/Location.java
similarity index 96%
rename from src/main/java/org/scijava/io/Location.java
rename to src/main/java/org/scijava/io/location/Location.java
index 34b79f63b..ec2e7c363 100644
--- a/src/main/java/org/scijava/io/Location.java
+++ b/src/main/java/org/scijava/io/location/Location.java
@@ -29,10 +29,12 @@
* #L%
*/
-package org.scijava.io;
+package org.scijava.io.location;
import java.net.URI;
+import org.scijava.io.handle.DataHandle;
+
/**
* A location is a data descriptor, such as a file on disk, a remote
* URL, or a database connection.
diff --git a/src/main/java/org/scijava/io/URILocation.java b/src/main/java/org/scijava/io/location/URILocation.java
similarity index 99%
rename from src/main/java/org/scijava/io/URILocation.java
rename to src/main/java/org/scijava/io/location/URILocation.java
index 819fb2282..1c4045955 100644
--- a/src/main/java/org/scijava/io/URILocation.java
+++ b/src/main/java/org/scijava/io/location/URILocation.java
@@ -29,7 +29,7 @@
* #L%
*/
-package org.scijava.io;
+package org.scijava.io.location;
import java.io.UnsupportedEncodingException;
import java.net.URI;
diff --git a/src/main/java/org/scijava/io/URLLocation.java b/src/main/java/org/scijava/io/location/URLLocation.java
similarity index 98%
rename from src/main/java/org/scijava/io/URLLocation.java
rename to src/main/java/org/scijava/io/location/URLLocation.java
index 1b7490894..24789ff14 100644
--- a/src/main/java/org/scijava/io/URLLocation.java
+++ b/src/main/java/org/scijava/io/location/URLLocation.java
@@ -29,7 +29,7 @@
* #L%
*/
-package org.scijava.io;
+package org.scijava.io.location;
import java.net.URI;
import java.net.URISyntaxException;
diff --git a/src/test/java/org/scijava/ContextCreationTest.java b/src/test/java/org/scijava/ContextCreationTest.java
index 449fcc26f..6f364ddfc 100644
--- a/src/test/java/org/scijava/ContextCreationTest.java
+++ b/src/test/java/org/scijava/ContextCreationTest.java
@@ -95,9 +95,9 @@ public void testFull() {
org.scijava.display.DefaultDisplayService.class,
org.scijava.event.DefaultEventHistory.class,
org.scijava.input.DefaultInputService.class,
- org.scijava.io.DefaultDataHandleService.class,
org.scijava.io.DefaultIOService.class,
org.scijava.io.DefaultRecentFileService.class,
+ org.scijava.io.handle.DefaultDataHandleService.class,
org.scijava.io.nio.DefaultNIOService.class,
org.scijava.main.DefaultMainService.class,
org.scijava.menu.DefaultMenuService.class,
diff --git a/src/test/java/org/scijava/io/DataHandleTest.java b/src/test/java/org/scijava/io/handle/DataHandleTest.java
similarity index 97%
rename from src/test/java/org/scijava/io/DataHandleTest.java
rename to src/test/java/org/scijava/io/handle/DataHandleTest.java
index 185f47881..c91b7c4ea 100644
--- a/src/test/java/org/scijava/io/DataHandleTest.java
+++ b/src/test/java/org/scijava/io/handle/DataHandleTest.java
@@ -29,7 +29,7 @@
* #L%
*/
-package org.scijava.io;
+package org.scijava.io.handle;
import static org.junit.Assert.assertEquals;
@@ -41,6 +41,9 @@
import org.junit.Test;
import org.scijava.Context;
+import org.scijava.io.handle.DataHandle;
+import org.scijava.io.handle.DataHandleService;
+import org.scijava.io.location.Location;
import org.scijava.util.Bytes;
/**
diff --git a/src/test/java/org/scijava/io/FileHandleTest.java b/src/test/java/org/scijava/io/handle/FileHandleTest.java
similarity index 91%
rename from src/test/java/org/scijava/io/FileHandleTest.java
rename to src/test/java/org/scijava/io/handle/FileHandleTest.java
index ed8effa58..fd754a673 100644
--- a/src/test/java/org/scijava/io/FileHandleTest.java
+++ b/src/test/java/org/scijava/io/handle/FileHandleTest.java
@@ -29,12 +29,17 @@
* #L%
*/
-package org.scijava.io;
+package org.scijava.io.handle;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
+import org.scijava.io.handle.DataHandle;
+import org.scijava.io.handle.FileHandle;
+import org.scijava.io.location.FileLocation;
+import org.scijava.io.location.Location;
+
/**
* Tests {@link FileHandle}.
*
diff --git a/src/test/java/org/scijava/io/BytesLocationTest.java b/src/test/java/org/scijava/io/location/BytesLocationTest.java
similarity index 97%
rename from src/test/java/org/scijava/io/BytesLocationTest.java
rename to src/test/java/org/scijava/io/location/BytesLocationTest.java
index 014dff813..b406e76eb 100644
--- a/src/test/java/org/scijava/io/BytesLocationTest.java
+++ b/src/test/java/org/scijava/io/location/BytesLocationTest.java
@@ -29,12 +29,13 @@
* #L%
*/
-package org.scijava.io;
+package org.scijava.io.location;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertSame;
import org.junit.Test;
+import org.scijava.io.location.BytesLocation;
/**
* Tests {@link BytesLocation}.
diff --git a/src/test/java/org/scijava/io/FileLocationTest.java b/src/test/java/org/scijava/io/location/FileLocationTest.java
similarity index 96%
rename from src/test/java/org/scijava/io/FileLocationTest.java
rename to src/test/java/org/scijava/io/location/FileLocationTest.java
index 60b95e1b0..1c68568f6 100644
--- a/src/test/java/org/scijava/io/FileLocationTest.java
+++ b/src/test/java/org/scijava/io/location/FileLocationTest.java
@@ -29,13 +29,14 @@
* #L%
*/
-package org.scijava.io;
+package org.scijava.io.location;
import static org.junit.Assert.assertEquals;
import java.io.File;
import org.junit.Test;
+import org.scijava.io.location.FileLocation;
/**
* Tests {@link FileLocation}.
diff --git a/src/test/java/org/scijava/io/URILocationTest.java b/src/test/java/org/scijava/io/location/URILocationTest.java
similarity index 96%
rename from src/test/java/org/scijava/io/URILocationTest.java
rename to src/test/java/org/scijava/io/location/URILocationTest.java
index 866837b04..251242f3e 100644
--- a/src/test/java/org/scijava/io/URILocationTest.java
+++ b/src/test/java/org/scijava/io/location/URILocationTest.java
@@ -29,7 +29,7 @@
* #L%
*/
-package org.scijava.io;
+package org.scijava.io.location;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertSame;
@@ -39,6 +39,7 @@
import java.util.Map;
import org.junit.Test;
+import org.scijava.io.location.URILocation;
/**
* Tests {@link URILocation}.
diff --git a/src/test/java/org/scijava/io/URLLocationTest.java b/src/test/java/org/scijava/io/location/URLLocationTest.java
similarity index 96%
rename from src/test/java/org/scijava/io/URLLocationTest.java
rename to src/test/java/org/scijava/io/location/URLLocationTest.java
index 0fde7d087..191102fe4 100644
--- a/src/test/java/org/scijava/io/URLLocationTest.java
+++ b/src/test/java/org/scijava/io/location/URLLocationTest.java
@@ -29,7 +29,7 @@
* #L%
*/
-package org.scijava.io;
+package org.scijava.io.location;
import static org.junit.Assert.assertSame;
@@ -37,6 +37,7 @@
import java.net.URL;
import org.junit.Test;
+import org.scijava.io.location.URLLocation;
/**
* Tests {@link URLLocation}.
From 195438da5fa9ce4c2da7283925af3473f9ff555e Mon Sep 17 00:00:00 2001
From: Gabriel Einsdorf
Date: Tue, 14 Mar 2017 13:48:43 +0100
Subject: [PATCH 050/754] Location: tweak javadoc
Clarify that locations can be read and/or write.
---
src/main/java/org/scijava/io/location/Location.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/main/java/org/scijava/io/location/Location.java b/src/main/java/org/scijava/io/location/Location.java
index ec2e7c363..7dc000855 100644
--- a/src/main/java/org/scijava/io/location/Location.java
+++ b/src/main/java/org/scijava/io/location/Location.java
@@ -44,7 +44,7 @@
* resource identifier ({@link URI}), a location identifies where
* the data resides, without necessarily specifying how to access that
* data. The {@link DataHandle} interface defines a plugin that knows how to
- * provide a stream of bytes for a particular kind of location.
+ * read and/or write bytes for a particular kind of location.
*
*
* @author Curtis Rueden
From b87dd694c31ca4a779de731d7cc2034bb2fc4071 Mon Sep 17 00:00:00 2001
From: Gabriel Einsdorf
Date: Tue, 14 Mar 2017 17:04:12 +0100
Subject: [PATCH 051/754] Location: add getName() method
The name returned is meant as an analogue to a file name
and might be used for meta-data purposes.
Signed-off-by: Curtis Rueden
---
src/main/java/org/scijava/io/location/Location.java | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/src/main/java/org/scijava/io/location/Location.java b/src/main/java/org/scijava/io/location/Location.java
index 7dc000855..da96a1f98 100644
--- a/src/main/java/org/scijava/io/location/Location.java
+++ b/src/main/java/org/scijava/io/location/Location.java
@@ -48,6 +48,7 @@
*
*
* @author Curtis Rueden
+ * @author Gabriel Einsdorf
*/
public interface Location {
@@ -59,4 +60,13 @@ default URI getURI() {
return null;
}
+ /**
+ * Gets the name of the object addressed by this location, or an empty string
+ * if it has no name.
+ */
+ default String getName() {
+ final URI uri = getURI();
+ return uri == null ? "" : uri.toString();
+ }
+
}
From 64aa6873fb38b3e994c0e901d659f89ddb07e87b Mon Sep 17 00:00:00 2001
From: Gabriel Einsdorf
Date: Wed, 15 Mar 2017 15:22:30 +0100
Subject: [PATCH 052/754] AbstractLocation: add hashCode() and equals()
Locations need to be properly distinguishable. This change makes it
feasible to put Location objects into a HashMap and to compare them
using the equals() method.
---
.../scijava/io/location/AbstractLocation.java | 21 ++++++++++++++++++-
1 file changed, 20 insertions(+), 1 deletion(-)
diff --git a/src/main/java/org/scijava/io/location/AbstractLocation.java b/src/main/java/org/scijava/io/location/AbstractLocation.java
index 89d1402e3..2d9d238e2 100644
--- a/src/main/java/org/scijava/io/location/AbstractLocation.java
+++ b/src/main/java/org/scijava/io/location/AbstractLocation.java
@@ -31,11 +31,30 @@
package org.scijava.io.location;
+import java.util.Objects;
+
/**
* Abstract base class for {@link Location} implementations.
*
* @author Curtis Rueden
*/
public abstract class AbstractLocation implements Location {
- // NB: No implementation needed.
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((getURI() == null) ? 0 : getURI().hashCode());
+ return result;
+ }
+
+ @Override
+ public boolean equals(final Object obj) {
+ if (obj == this) return true;
+ if (obj == null) return false;
+ if (getClass() != obj.getClass()) return false;
+ final Location other = (Location) obj;
+ return Objects.equals(getURI(), other.getURI());
+ }
+
}
From fd5bf70618eed48fce1cf0fc780e98921f2d86fa Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Sun, 3 Jul 2016 11:10:10 -0500
Subject: [PATCH 053/754] DataHandle: update some javadoc
We avoid the term "pointer" (especially "file pointer").
DataHandle plugins are more general than just files.
---
.../java/org/scijava/io/handle/DataHandle.java | 14 ++++++--------
1 file changed, 6 insertions(+), 8 deletions(-)
diff --git a/src/main/java/org/scijava/io/handle/DataHandle.java b/src/main/java/org/scijava/io/handle/DataHandle.java
index 9f6d1e3dc..768b2801e 100644
--- a/src/main/java/org/scijava/io/handle/DataHandle.java
+++ b/src/main/java/org/scijava/io/handle/DataHandle.java
@@ -126,8 +126,8 @@ default int read(final ByteBuffer buf, final int len) throws IOException {
}
/**
- * Sets the stream pointer offset, measured from the beginning of the stream,
- * at which the next read or write occurs.
+ * Sets the stream offset, measured from the beginning of the stream, at which
+ * the next read or write occurs.
*/
void seek(long pos) throws IOException;
@@ -203,9 +203,8 @@ default String findString(final String... terminators) throws IOException {
* Reads or skips a string ending with one of the given terminating
* substrings.
*
- * @param saveString Whether to collect the string from the current file
- * pointer to the terminating bytes, and return it. If false, returns
- * null.
+ * @param saveString Whether to collect the string from the current offset to
+ * the terminating bytes, and return it. If false, returns null.
* @param terminators The strings for which to search.
* @throws IOException If saveString flag is set and the maximum search length
* (512 MB) is exceeded.
@@ -239,9 +238,8 @@ default String findString(final int blockSize, final String... terminators)
* Reads or skips a string ending with one of the given terminating
* substrings, using the specified block size for buffering.
*
- * @param saveString Whether to collect the string from the current file
- * pointer to the terminating bytes, and return it. If false, returns
- * null.
+ * @param saveString Whether to collect the string from the current offset
+ * to the terminating bytes, and return it. If false, returns null.
* @param blockSize The block size to use when reading bytes in chunks.
* @param terminators The strings for which to search.
* @throws IOException If saveString flag is set and the maximum search length
From c134f4afe31deed764fd5d6d22982f3034b1cd66 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Fri, 1 Jul 2016 23:04:28 -0500
Subject: [PATCH 054/754] DataHandle: provide some default implementations
---
.../org/scijava/io/handle/DataHandle.java | 102 +++++++++++++++++-
1 file changed, 101 insertions(+), 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 768b2801e..3fae84f1b 100644
--- a/src/main/java/org/scijava/io/handle/DataHandle.java
+++ b/src/main/java/org/scijava/io/handle/DataHandle.java
@@ -331,7 +331,9 @@ default String findString(final boolean saveString, final int blockSize,
* @return the next byte of data, or -1 if the end of the stream is reached.
* @throws IOException - if an I/O error occurs.
*/
- int read() throws IOException;
+ default int read() throws IOException {
+ return offset() < length() ? readByte() & 0xff : -1;
+ }
/**
* Reads up to b.length bytes of data from the stream into an array of bytes.
@@ -369,4 +371,102 @@ default long skip(final long n) throws IOException {
return num;
}
+ // -- DataInput methods --
+
+ @Override
+ default boolean readBoolean() throws IOException {
+ return readByte() != 0;
+ }
+
+ @Override
+ default void readFully(final byte[] b) throws IOException {
+ readFully(b, 0, b.length);
+ }
+
+ @Override
+ default int readUnsignedByte() throws IOException {
+ return readByte() & 0xff;
+ }
+
+ @Override
+ default int readUnsignedShort() throws IOException {
+ return readShort() & 0xffff;
+ }
+
+ @Override
+ default String readLine() throws IOException {
+ // NB: Code adapted from java.io.RandomAccessFile.readLine().
+
+ final StringBuffer input = new StringBuffer();
+ int c = -1;
+ boolean eol = false;
+
+ while (!eol) {
+ switch (c = read()) {
+ case -1:
+ case '\n':
+ eol = true;
+ break;
+ case '\r':
+ eol = true;
+ long cur = offset();
+ if (read() != '\n') seek(cur);
+ break;
+ default:
+ input.append((char)c);
+ break;
+ }
+ }
+
+ if (c == -1 && input.length() == 0) {
+ return null;
+ }
+ return input.toString();
+ }
+
+ @Override
+ default String readUTF() throws IOException {
+ final int length = readUnsignedShort();
+ final byte[] b = new byte[length];
+ read(b);
+ return new String(b, "UTF-8");
+ }
+
+ @Override
+ default int skipBytes(final int n) throws IOException {
+ final int skipped = (int) Math.min(n, length() - offset());
+ if (skipped < 0) return 0;
+ seek(offset() + skipped);
+ return skipped;
+ }
+
+ // -- DataOutput methods --
+
+ @Override
+ default void write(final byte[] b) throws IOException {
+ write(b, 0, b.length);
+ }
+
+ @Override
+ default void writeBoolean(final boolean v) throws IOException {
+ write(v ? 1 : 0);
+ }
+
+ @Override
+ default void writeByte(final int v) throws IOException {
+ write(v);
+ }
+
+ @Override
+ default void writeBytes(final String s) throws IOException {
+ write(s.getBytes("UTF-8"));
+ }
+
+ @Override
+ default void writeUTF(final String str) throws IOException {
+ final byte[] b = str.getBytes("UTF-8");
+ writeShort(b.length);
+ write(b);
+ }
+
}
From 05a0d2bed4a7dfe4804403a136f5a20a0a16659c Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Fri, 1 Jul 2016 23:12:43 -0500
Subject: [PATCH 055/754] DataHandle: add a mutator for the length
In SCIFIO and Bio-Formats, this was a feature of the AbstractNIOHandle.
But there is no reason to limit it to NIO-flavored handles only.
---
src/main/java/org/scijava/io/handle/DataHandle.java | 8 ++++++++
src/main/java/org/scijava/io/handle/FileHandle.java | 5 +++++
2 files changed, 13 insertions(+)
diff --git a/src/main/java/org/scijava/io/handle/DataHandle.java b/src/main/java/org/scijava/io/handle/DataHandle.java
index 3fae84f1b..adb88b394 100644
--- a/src/main/java/org/scijava/io/handle/DataHandle.java
+++ b/src/main/java/org/scijava/io/handle/DataHandle.java
@@ -66,6 +66,14 @@ public interface DataHandle extends WrapperPlugin,
/** Returns the length of the stream. */
long length() throws IOException;
+ /**
+ * Sets the new length of the handle.
+ *
+ * @param length New length.
+ * @throws IOException If there is an error changing the handle's length.
+ */
+ void setLength(long length) throws IOException;
+
/**
* Returns the current order of the stream.
*
diff --git a/src/main/java/org/scijava/io/handle/FileHandle.java b/src/main/java/org/scijava/io/handle/FileHandle.java
index 8d60a27ee..944e384d5 100644
--- a/src/main/java/org/scijava/io/handle/FileHandle.java
+++ b/src/main/java/org/scijava/io/handle/FileHandle.java
@@ -83,6 +83,11 @@ public long length() throws IOException {
return raf().length();
}
+ @Override
+ public void setLength(final long length) throws IOException {
+ raf().setLength(length);
+ }
+
@Override
public int read() throws IOException {
return raf().read();
From efec596db50a5715326082bd654dca745f17b2ed Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Fri, 1 Jul 2016 23:15:24 -0500
Subject: [PATCH 056/754] DataHandle: add ensureWritable method
In SCIFIO and Bio-Formats, this was present as the method
AbstractNIOHandle#validateLength.
But there is no reason to limit it to NIO-flavored handles only.
We use the name ensureWritable for clarity, and for symmetry
with a future ensureReadable method.
---
.../org/scijava/io/handle/DataHandle.java | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/src/main/java/org/scijava/io/handle/DataHandle.java b/src/main/java/org/scijava/io/handle/DataHandle.java
index adb88b394..3f52f1705 100644
--- a/src/main/java/org/scijava/io/handle/DataHandle.java
+++ b/src/main/java/org/scijava/io/handle/DataHandle.java
@@ -74,6 +74,25 @@ public interface DataHandle extends WrapperPlugin,
*/
void setLength(long length) throws IOException;
+ /**
+ * Ensures that the handle has the correct length to be written to and extends
+ * it as required.
+ *
+ * @param count Number of bytes to write.
+ * @return {@code true} if the handle's length was sufficient, or
+ * {@code false} if the handle's length required an extension.
+ * @throws IOException If something goes wrong with the check, or there is an
+ * error changing the handle's length.
+ */
+ default boolean ensureWritable(final long count) throws IOException {
+ final long minLength = offset() + count;
+ if (length() < minLength) {
+ setLength(minLength);
+ return false;
+ }
+ return true;
+ }
+
/**
* Returns the current order of the stream.
*
From e36a8fa44ae4ad3be080b4e1e4a02fd657ab4382 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Fri, 16 Jun 2017 20:56:55 -0500
Subject: [PATCH 057/754] DataHandle: add available and ensureReadable
---
.../org/scijava/io/handle/DataHandle.java | 27 +++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/src/main/java/org/scijava/io/handle/DataHandle.java b/src/main/java/org/scijava/io/handle/DataHandle.java
index 3f52f1705..efdb804ae 100644
--- a/src/main/java/org/scijava/io/handle/DataHandle.java
+++ b/src/main/java/org/scijava/io/handle/DataHandle.java
@@ -34,6 +34,7 @@
import java.io.Closeable;
import java.io.DataInput;
import java.io.DataOutput;
+import java.io.EOFException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.nio.ByteBuffer;
@@ -74,6 +75,32 @@ public interface DataHandle extends WrapperPlugin,
*/
void setLength(long length) throws IOException;
+ /**
+ * Verifies that the handle has sufficient bytes available to read, returning
+ * the actual number of bytes which will be possible to read, which might
+ * be less than the requested value.
+ *
+ * @param count Number of bytes to read.
+ * @return The actual number of bytes available to be read.
+ * @throws IOException If something goes wrong with the check.
+ */
+ default long available(final long count) throws IOException {
+ final long remain = length() - offset();
+ return remain < count ? remain : count;
+ }
+
+ /**
+ * Ensures that the handle has sufficient bytes available to read.
+ *
+ * @param count Number of bytes to read.
+ * @see #available(long)
+ * @throws EOFException If there are insufficient bytes available.
+ * @throws IOException If something goes wrong with the check.
+ */
+ default void ensureReadable(final long count) throws IOException {
+ if (available(count) < count) throw new EOFException();
+ }
+
/**
* Ensures that the handle has the correct length to be written to and extends
* it as required.
From 6c87eb06d5417e91c3eef92540c39f54318a17ae Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Fri, 16 Jun 2017 15:49:50 -0500
Subject: [PATCH 058/754] DataHandle: add more default method impls
---
.../org/scijava/io/handle/DataHandle.java | 93 +++++++++++++++++++
1 file changed, 93 insertions(+)
diff --git a/src/main/java/org/scijava/io/handle/DataHandle.java b/src/main/java/org/scijava/io/handle/DataHandle.java
index efdb804ae..52d27fe35 100644
--- a/src/main/java/org/scijava/io/handle/DataHandle.java
+++ b/src/main/java/org/scijava/io/handle/DataHandle.java
@@ -442,11 +442,68 @@ default int readUnsignedByte() throws IOException {
return readByte() & 0xff;
}
+ @Override
+ default short readShort() throws IOException {
+ final int ch1 = read();
+ final int ch2 = read();
+ if ((ch1 | ch2) < 0) throw new EOFException();
+ return (short) ((ch1 << 8) + (ch2 << 0));
+ }
+
@Override
default int readUnsignedShort() throws IOException {
return readShort() & 0xffff;
}
+ @Override
+ default char readChar() throws IOException {
+ return (char) readShort();
+ }
+
+ @Override
+ default int readInt() throws IOException {
+ int ch1 = read();
+ int ch2 = read();
+ int ch3 = read();
+ int ch4 = read();
+ if ((ch1 | ch2 | ch3 | ch4) < 0) throw new EOFException();
+ return ((ch1 << 24) + (ch2 << 16) + (ch3 << 8) + (ch4 << 0));
+ }
+
+ @Override
+ default long readLong() throws IOException {
+ int ch1 = read();
+ int ch2 = read();
+ int ch3 = read();
+ int ch4 = read();
+ int ch5 = read();
+ int ch6 = read();
+ int ch7 = read();
+ int ch8 = read();
+ if ((ch1 | ch2 | ch3 | ch4 | ch5 | ch6 | ch7 | ch8) < 0) {
+ throw new EOFException();
+ }
+ // TODO: Double check this inconsistent code.
+ return ((long) ch1 << 56) + //
+ ((long) (ch2 & 255) << 48) + //
+ ((long) (ch3 & 255) << 40) + //
+ ((long) (ch4 & 255) << 32) + //
+ ((long) (ch5 & 255) << 24) + //
+ ((ch6 & 255) << 16) + //
+ ((ch7 & 255) << 8) + //
+ ((ch8 & 255) << 0);
+ }
+
+ @Override
+ default float readFloat() throws IOException {
+ return Float.intBitsToFloat(readInt());
+ }
+
+ @Override
+ default double readDouble() throws IOException {
+ return Double.longBitsToDouble(readLong());
+ }
+
@Override
default String readLine() throws IOException {
// NB: Code adapted from java.io.RandomAccessFile.readLine().
@@ -511,6 +568,42 @@ default void writeByte(final int v) throws IOException {
write(v);
}
+ @Override
+ default void writeChar(final int v) throws IOException {
+ write((v >>> 8) & 0xFF);
+ write((v >>> 0) & 0xFF);
+ }
+
+ @Override
+ default void writeInt(final int v) throws IOException {
+ write((v >>> 24) & 0xFF);
+ write((v >>> 16) & 0xFF);
+ write((v >>> 8) & 0xFF);
+ write((v >>> 0) & 0xFF);
+ }
+
+ @Override
+ default void writeLong(final long v) throws IOException {
+ 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));
+ }
+
+ @Override
+ default void writeFloat(final float v) throws IOException {
+ writeInt(Float.floatToIntBits(v));
+ }
+
+ @Override
+ default void writeDouble(final double v) throws IOException {
+ writeLong(Double.doubleToLongBits(v));
+ }
+
@Override
default void writeBytes(final String s) throws IOException {
write(s.getBytes("UTF-8"));
From fc853ff1acb6f15b7348ec9aaa503c44fb955dcb Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Fri, 16 Jun 2017 15:51:10 -0500
Subject: [PATCH 059/754] DataHandle: improve class javadoc
---
src/main/java/org/scijava/io/handle/DataHandle.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/main/java/org/scijava/io/handle/DataHandle.java b/src/main/java/org/scijava/io/handle/DataHandle.java
index 52d27fe35..ae0143c26 100644
--- a/src/main/java/org/scijava/io/handle/DataHandle.java
+++ b/src/main/java/org/scijava/io/handle/DataHandle.java
@@ -44,8 +44,8 @@
import org.scijava.plugin.WrapperPlugin;
/**
- * A data handle is a plugin which provides access to bytes in a data
- * stream (e.g., files or arrays), identified by a {@link Location}.
+ * A data handle is a plugin which provides both streaming and random
+ * access to bytes at a {@link Location} (e.g., files or arrays).
*
* @author Curtis Rueden
* @see DataHandleInputStream
From b948c95431cdd15ecd2dcf31db357d83ac749442 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Fri, 16 Jun 2017 15:51:54 -0500
Subject: [PATCH 060/754] DataHandle: tweak getOrder() javadoc
---
src/main/java/org/scijava/io/handle/DataHandle.java | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/src/main/java/org/scijava/io/handle/DataHandle.java b/src/main/java/org/scijava/io/handle/DataHandle.java
index ae0143c26..e6809d90f 100644
--- a/src/main/java/org/scijava/io/handle/DataHandle.java
+++ b/src/main/java/org/scijava/io/handle/DataHandle.java
@@ -120,11 +120,7 @@ default boolean ensureWritable(final long count) throws IOException {
return true;
}
- /**
- * Returns the current order of the stream.
- *
- * @return See above.
- */
+ /** Returns the byte order of the stream. */
ByteOrder getOrder();
/** Gets the endianness of the stream. */
From 9dabafa5be25ca92922378478e48998eeacb18f5 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Fri, 16 Jun 2017 15:53:41 -0500
Subject: [PATCH 061/754] DataHandle: relocate the seek method
It is the mutator which goes with offset(), so should be adjacent to it.
---
src/main/java/org/scijava/io/handle/DataHandle.java | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/main/java/org/scijava/io/handle/DataHandle.java b/src/main/java/org/scijava/io/handle/DataHandle.java
index e6809d90f..545580da0 100644
--- a/src/main/java/org/scijava/io/handle/DataHandle.java
+++ b/src/main/java/org/scijava/io/handle/DataHandle.java
@@ -64,6 +64,12 @@ public interface DataHandle extends WrapperPlugin,
/** Returns the current offset in the stream. */
long offset() throws IOException;
+ /**
+ * Sets the stream offset, measured from the beginning of the stream, at which
+ * the next read or write occurs.
+ */
+ void seek(long pos) throws IOException;
+
/** Returns the length of the stream. */
long length() throws IOException;
@@ -175,12 +181,6 @@ default int read(final ByteBuffer buf, final int len) throws IOException {
return n;
}
- /**
- * Sets the stream offset, measured from the beginning of the stream, at which
- * the next read or write occurs.
- */
- void seek(long pos) throws IOException;
-
/**
* Writes up to {@code buf.remaining()} bytes of data from the given
* {@link ByteBuffer} to the stream.
From 90f2d418f76d1b6dcaa87d967f8cc5ffb4ad3604 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Fri, 16 Jun 2017 15:55:07 -0500
Subject: [PATCH 062/754] DataHandle: relocate the isLittleEndian() method
It belongs immediately before the (to be renamed) setOrder(boolean).
---
src/main/java/org/scijava/io/handle/DataHandle.java | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/main/java/org/scijava/io/handle/DataHandle.java b/src/main/java/org/scijava/io/handle/DataHandle.java
index 545580da0..779923800 100644
--- a/src/main/java/org/scijava/io/handle/DataHandle.java
+++ b/src/main/java/org/scijava/io/handle/DataHandle.java
@@ -129,11 +129,6 @@ default boolean ensureWritable(final long count) throws IOException {
/** Returns the byte order of the stream. */
ByteOrder getOrder();
- /** Gets the endianness of the stream. */
- default boolean isLittleEndian() {
- return getOrder() == ByteOrder.LITTLE_ENDIAN;
- }
-
/**
* Sets the byte order of the stream.
*
@@ -141,6 +136,11 @@ default boolean isLittleEndian() {
*/
void setOrder(ByteOrder order);
+ /** Gets the endianness of the stream. */
+ default boolean isLittleEndian() {
+ return getOrder() == ByteOrder.LITTLE_ENDIAN;
+ }
+
/** Sets the endianness of the stream. */
default void setOrder(final boolean little) {
setOrder(little ? ByteOrder.LITTLE_ENDIAN : ByteOrder.BIG_ENDIAN);
From d6a4271687c02d2d2132d9f2097b0a8400fe3606 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Fri, 16 Jun 2017 15:56:23 -0500
Subject: [PATCH 063/754] DataHandle: fix up the endianness API
Now we have both isLittleEndian() and isBigEndian() accessors,
and the setOrder(boolean) method is now setLittleEndian(boolean).
---
.../org/scijava/io/handle/DataHandle.java | 25 ++++++++++++++++---
1 file changed, 22 insertions(+), 3 deletions(-)
diff --git a/src/main/java/org/scijava/io/handle/DataHandle.java b/src/main/java/org/scijava/io/handle/DataHandle.java
index 779923800..dd87f5a67 100644
--- a/src/main/java/org/scijava/io/handle/DataHandle.java
+++ b/src/main/java/org/scijava/io/handle/DataHandle.java
@@ -136,13 +136,32 @@ default boolean ensureWritable(final long count) throws IOException {
*/
void setOrder(ByteOrder order);
- /** Gets the endianness of the stream. */
+ /**
+ * Returns true iff the stream's order is {@link ByteOrder#BIG_ENDIAN}.
+ *
+ * @see #getOrder()
+ */
+ default boolean isBigEndian() {
+ return getOrder() == ByteOrder.BIG_ENDIAN;
+ }
+
+ /**
+ * Returns true iff the stream's order is {@link ByteOrder#LITTLE_ENDIAN}.
+ *
+ * @see #getOrder()
+ */
default boolean isLittleEndian() {
return getOrder() == ByteOrder.LITTLE_ENDIAN;
}
- /** Sets the endianness of the stream. */
- default void setOrder(final boolean little) {
+ /**
+ * Sets the endianness of the stream.
+ *
+ * @param little If true, sets the order to {@link ByteOrder#LITTLE_ENDIAN};
+ * otherwise, sets the order to {@link ByteOrder#BIG_ENDIAN}.
+ * @see #setOrder(ByteOrder)
+ */
+ default void setLittleEndian(final boolean little) {
setOrder(little ? ByteOrder.LITTLE_ENDIAN : ByteOrder.BIG_ENDIAN);
}
From aa6f96237927bec4ba678c016ca423e7c6332712 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Fri, 16 Jun 2017 16:07:13 -0500
Subject: [PATCH 064/754] DataHandle: tweak comment
---
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 dd87f5a67..52c8c1971 100644
--- a/src/main/java/org/scijava/io/handle/DataHandle.java
+++ b/src/main/java/org/scijava/io/handle/DataHandle.java
@@ -521,7 +521,7 @@ default double readDouble() throws IOException {
@Override
default String readLine() throws IOException {
- // NB: Code adapted from java.io.RandomAccessFile.readLine().
+ // NB: Adapted from java.io.RandomAccessFile.readLine().
final StringBuffer input = new StringBuffer();
int c = -1;
From b2e9316cfb7e7ebf7cec2e124dffb6cf8f2a9668 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Fri, 16 Jun 2017 16:07:43 -0500
Subject: [PATCH 065/754] DataHandle: tweak readString, skip and skipBytes
They can lean on the available(long) method.
---
.../org/scijava/io/handle/DataHandle.java | 25 +++++++++----------
1 file changed, 12 insertions(+), 13 deletions(-)
diff --git a/src/main/java/org/scijava/io/handle/DataHandle.java b/src/main/java/org/scijava/io/handle/DataHandle.java
index 52c8c1971..81a217a49 100644
--- a/src/main/java/org/scijava/io/handle/DataHandle.java
+++ b/src/main/java/org/scijava/io/handle/DataHandle.java
@@ -234,10 +234,9 @@ default String readCString() throws IOException {
}
/** Reads a string of up to length n. */
- default String readString(int n) throws IOException {
- final long avail = length() - offset();
- if (n > avail) n = (int) avail;
- final byte[] b = new byte[n];
+ default String readString(final int n) throws IOException {
+ final int r = (int) available(n);
+ final byte[] b = new byte[r];
readFully(b);
return new String(b, getEncoding());
}
@@ -433,11 +432,10 @@ default int read(byte[] b) throws IOException {
* @throws IOException - if an I/O error occurs.
*/
default long skip(final long n) throws IOException {
- if (n < 0) return 0;
- final long remain = length() - offset();
- final long num = n < remain ? n : remain;
- seek(offset() + num);
- return num;
+ final long skip = available(n);
+ if (skip <= 0) return 0;
+ seek(offset() + skip);
+ return skip;
}
// -- DataInput methods --
@@ -560,10 +558,11 @@ default String readUTF() throws IOException {
@Override
default int skipBytes(final int n) throws IOException {
- final int skipped = (int) Math.min(n, length() - offset());
- if (skipped < 0) return 0;
- seek(offset() + skipped);
- return skipped;
+ // NB: Cast here is safe since the value of n bounds the result to an int.
+ final int skip = (int) available(n);
+ if (skip < 0) return 0;
+ seek(offset() + skip);
+ return skip;
}
// -- DataOutput methods --
From 6f2994fd7fa4c00ac5a3166708cede1a1d3d5e6a Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Fri, 16 Jun 2017 16:10:02 -0500
Subject: [PATCH 066/754] DataHandle: relocate DataInput methods
Now they match their declared order in DataInput.
---
.../org/scijava/io/handle/DataHandle.java | 26 +++++++++----------
1 file changed, 13 insertions(+), 13 deletions(-)
diff --git a/src/main/java/org/scijava/io/handle/DataHandle.java b/src/main/java/org/scijava/io/handle/DataHandle.java
index 81a217a49..6cf3147da 100644
--- a/src/main/java/org/scijava/io/handle/DataHandle.java
+++ b/src/main/java/org/scijava/io/handle/DataHandle.java
@@ -441,13 +441,22 @@ default long skip(final long n) throws IOException {
// -- DataInput methods --
@Override
- default boolean readBoolean() throws IOException {
- return readByte() != 0;
+ default void readFully(final byte[] b) throws IOException {
+ readFully(b, 0, b.length);
}
@Override
- default void readFully(final byte[] b) throws IOException {
- readFully(b, 0, b.length);
+ default int skipBytes(final int n) throws IOException {
+ // NB: Cast here is safe since the value of n bounds the result to an int.
+ final int skip = (int) available(n);
+ if (skip < 0) return 0;
+ seek(offset() + skip);
+ return skip;
+ }
+
+ @Override
+ default boolean readBoolean() throws IOException {
+ return readByte() != 0;
}
@Override
@@ -556,15 +565,6 @@ default String readUTF() throws IOException {
return new String(b, "UTF-8");
}
- @Override
- default int skipBytes(final int n) throws IOException {
- // NB: Cast here is safe since the value of n bounds the result to an int.
- final int skip = (int) available(n);
- if (skip < 0) return 0;
- seek(offset() + skip);
- return skip;
- }
-
// -- DataOutput methods --
@Override
From daa914594be635b6d176dd6e412aa53d1e6b17bb Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Fri, 16 Jun 2017 16:12:48 -0500
Subject: [PATCH 067/754] DataHandle: add readFully(byte[], int, int) impl
---
.../java/org/scijava/io/handle/DataHandle.java | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/src/main/java/org/scijava/io/handle/DataHandle.java b/src/main/java/org/scijava/io/handle/DataHandle.java
index 6cf3147da..9b697b90d 100644
--- a/src/main/java/org/scijava/io/handle/DataHandle.java
+++ b/src/main/java/org/scijava/io/handle/DataHandle.java
@@ -33,6 +33,7 @@
import java.io.Closeable;
import java.io.DataInput;
+import java.io.DataInputStream;
import java.io.DataOutput;
import java.io.EOFException;
import java.io.IOException;
@@ -445,6 +446,20 @@ default void readFully(final byte[] b) throws IOException {
readFully(b, 0, b.length);
}
+ @Override
+ default void readFully(final byte[] b, final int off, final int len)
+ throws IOException
+ {
+ // NB: Adapted from java.io.DataInputStream.readFully(byte[], int, int).
+ if (len < 0) throw new IndexOutOfBoundsException();
+ int n = 0;
+ while (n < len) {
+ int count = read(b, off + n, len - n);
+ if (count < 0) throw new EOFException();
+ n += count;
+ }
+ }
+
@Override
default int skipBytes(final int n) throws IOException {
// NB: Cast here is safe since the value of n bounds the result to an int.
From 2e11aff8993812cb94e450c35d00bfbdcc1eb207 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Fri, 16 Jun 2017 16:29:38 -0500
Subject: [PATCH 068/754] DataHandle: improve readUTF implementation
Better to lean on the Java standard library here.
---
src/main/java/org/scijava/io/handle/DataHandle.java | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/src/main/java/org/scijava/io/handle/DataHandle.java b/src/main/java/org/scijava/io/handle/DataHandle.java
index 9b697b90d..0fea60ecc 100644
--- a/src/main/java/org/scijava/io/handle/DataHandle.java
+++ b/src/main/java/org/scijava/io/handle/DataHandle.java
@@ -574,10 +574,7 @@ default String readLine() throws IOException {
@Override
default String readUTF() throws IOException {
- final int length = readUnsignedShort();
- final byte[] b = new byte[length];
- read(b);
- return new String(b, "UTF-8");
+ return DataInputStream.readUTF(this);
}
// -- DataOutput methods --
From 21881a9f13b62199803ec670b03bb7bc0e73ab1a Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Fri, 16 Jun 2017 16:31:11 -0500
Subject: [PATCH 069/754] DataHandle: add more default DataOutput methods
---
.../java/org/scijava/io/handle/DataHandle.java | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/src/main/java/org/scijava/io/handle/DataHandle.java b/src/main/java/org/scijava/io/handle/DataHandle.java
index 0fea60ecc..c5d0e86cb 100644
--- a/src/main/java/org/scijava/io/handle/DataHandle.java
+++ b/src/main/java/org/scijava/io/handle/DataHandle.java
@@ -594,6 +594,12 @@ default void writeByte(final int v) throws IOException {
write(v);
}
+ @Override
+ default void writeShort(final int v) throws IOException {
+ write((v >>> 8) & 0xFF);
+ write((v >>> 0) & 0xFF);
+ }
+
@Override
default void writeChar(final int v) throws IOException {
write((v >>> 8) & 0xFF);
@@ -635,6 +641,16 @@ default void writeBytes(final String s) throws IOException {
write(s.getBytes("UTF-8"));
}
+ @Override
+ 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);
+ }
+ }
+
@Override
default void writeUTF(final String str) throws IOException {
final byte[] b = str.getBytes("UTF-8");
From 02b18b9fd303995c59ccd9579b0091c7c760d5ac Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Fri, 16 Jun 2017 16:48:38 -0500
Subject: [PATCH 070/754] Add a utility class which knows how to write UTF
The whole thing exists only to work around the fact that
DataOutputStream.writeUTF(String, DataOutput), which is the method we
really need, has package-protected access. This utility class grabs that
method via reflection, makes it accessible, and caches the reference.
---
.../org/scijava/io/handle/DataHandles.java | 110 ++++++++++++++++++
1 file changed, 110 insertions(+)
create mode 100644 src/main/java/org/scijava/io/handle/DataHandles.java
diff --git a/src/main/java/org/scijava/io/handle/DataHandles.java b/src/main/java/org/scijava/io/handle/DataHandles.java
new file mode 100644
index 000000000..47be40ebc
--- /dev/null
+++ b/src/main/java/org/scijava/io/handle/DataHandles.java
@@ -0,0 +1,110 @@
+/*
+ * #%L
+ * SciJava Common 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.DataOutput;
+import java.io.DataOutputStream;
+import java.io.IOException;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
+/**
+ * Utility methods for working with {@link DataHandle}s.
+ *
+ * @author Curtis Rueden
+ */
+public final class DataHandles {
+
+ private static Method utfMethod;
+
+ private DataHandles() {
+ // Prevent instantiation of utility class.
+ }
+
+ /**
+ * Writes a string to the specified DataOutput using modified UTF-8 encoding
+ * in a machine-independent manner.
+ *
+ * First, two bytes are written to out as if by the {@code writeShort} method
+ * giving the number of bytes to follow. This value is the number of bytes
+ * actually written out, not the length of the string. Following the length,
+ * each character of the string is output, in sequence, using the modified
+ * UTF-8 encoding for the character. If no exception is thrown, the counter
+ * {@code written} is incremented by the total number of bytes written to the
+ * output stream. This will be at least two plus the length of {@code str},
+ * and at most two plus thrice the length of {@code str}.
+ *
+ *
+ * @param str a string to be written.
+ * @param out destination to write to
+ * @return The number of bytes written out.
+ * @throws IOException if an I/O error occurs.
+ */
+ public static int writeUTF(final String str, final DataOutput out)
+ throws IOException
+ {
+ // HACK: Strangely, DataOutputStream.writeUTF(String, DataOutput)
+ // has package-private access. We work around it via reflection.
+ try {
+ return (Integer) utfMethod().invoke(null, str, out);
+ }
+ catch (final IllegalAccessException | IllegalArgumentException
+ | InvocationTargetException exc)
+ {
+ throw new IllegalStateException(
+ "Cannot invoke DataOutputStream.writeUTF(String, DataOutput)", exc);
+ }
+ }
+
+ // -- Helper methods --
+
+ /** Gets the {@link #utfMethod} field, initializing if needed. */
+ private static Method utfMethod() {
+ if (utfMethod == null) initUTFMethod();
+ return utfMethod;
+ }
+
+ /** Initializes the {@link #utfMethod} field. */
+ private static synchronized void initUTFMethod() {
+ if (utfMethod != null) return;
+ try {
+ final Method m = DataOutputStream.class.getDeclaredMethod("writeUTF",
+ String.class, DataOutput.class);
+ m.setAccessible(true);
+ utfMethod = m;
+ }
+ catch (final NoSuchMethodException | SecurityException exc) {
+ throw new IllegalStateException(
+ "No usable DataOutputStream.writeUTF(String, DataOutput)", exc);
+ }
+ }
+}
From e702e9195d878477eae011f70fdaff708ecf125c Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Fri, 16 Jun 2017 16:52:35 -0500
Subject: [PATCH 071/754] DataHandle: simplify writeUTF method
Now it leans on the Java standard library (indirectly).
---
src/main/java/org/scijava/io/handle/DataHandle.java | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/src/main/java/org/scijava/io/handle/DataHandle.java b/src/main/java/org/scijava/io/handle/DataHandle.java
index c5d0e86cb..7f7f39f03 100644
--- a/src/main/java/org/scijava/io/handle/DataHandle.java
+++ b/src/main/java/org/scijava/io/handle/DataHandle.java
@@ -653,9 +653,7 @@ default void writeChars(final String s) throws IOException {
@Override
default void writeUTF(final String str) throws IOException {
- final byte[] b = str.getBytes("UTF-8");
- writeShort(b.length);
- write(b);
+ DataHandles.writeUTF(str, this);
}
}
From 5b1d44f591b232a8c8560de344af9fbd088f2c04 Mon Sep 17 00:00:00 2001
From: Gabriel Einsdorf
Date: Tue, 14 Mar 2017 14:33:27 +0100
Subject: [PATCH 072/754] DataHandle: improve javadoc
---
.../org/scijava/io/handle/DataHandle.java | 41 ++++++++++++++-----
1 file changed, 30 insertions(+), 11 deletions(-)
diff --git a/src/main/java/org/scijava/io/handle/DataHandle.java b/src/main/java/org/scijava/io/handle/DataHandle.java
index 7f7f39f03..7aa5fe255 100644
--- a/src/main/java/org/scijava/io/handle/DataHandle.java
+++ b/src/main/java/org/scijava/io/handle/DataHandle.java
@@ -71,7 +71,7 @@ public interface DataHandle extends WrapperPlugin,
*/
void seek(long pos) throws IOException;
- /** Returns the length of the stream. */
+ /** Returns the length of the data in bytes. */
long length() throws IOException;
/**
@@ -83,12 +83,31 @@ public interface DataHandle extends WrapperPlugin,
void setLength(long length) throws IOException;
/**
- * Verifies that the handle has sufficient bytes available to read, returning
- * the actual number of bytes which will be possible to read, which might
- * be less than the requested value.
+ * Gets the number of bytes which can be safely read from, or written to, the
+ * data handle, bounded by the specified number of bytes.
+ *
+ * In the case of reading, attempting to read the returned number of bytes is
+ * guaranteed not to throw {@link EOFException}. However, be aware that the
+ * following methods might still process fewer bytes than indicated
+ * by this method:
+ *
+ *
+ * {@link #read(ByteBuffer)}
+ * {@link #read(ByteBuffer, int)}
+ * {@link #read(byte[])}
+ * {@link #read(byte[], int, int)}
+ * {@link #skip(long)}
+ * {@link #skipBytes(int)}
+ *
+ *
+ * In the case of writing, attempting to write the returned number of bytes is
+ * guaranteed not to expand the length of the handle; i.e., the write will
+ * only overwrite bytes already within the handle's bounds.
+ *
*
- * @param count Number of bytes to read.
- * @return The actual number of bytes available to be read.
+ * @param count Desired number of bytes to read/write.
+ * @return The actual number of bytes which could be safely read/written,
+ * which might be less than the requested value.
* @throws IOException If something goes wrong with the check.
*/
default long available(final long count) throws IOException {
@@ -109,8 +128,8 @@ default void ensureReadable(final long count) throws IOException {
}
/**
- * Ensures that the handle has the correct length to be written to and extends
- * it as required.
+ * Ensures that the handle has the correct length to be written to, and
+ * extends it as required.
*
* @param count Number of bytes to write.
* @return {@code true} if the handle's length was sufficient, or
@@ -202,7 +221,7 @@ default int read(final ByteBuffer buf, final int len) throws IOException {
}
/**
- * Writes up to {@code buf.remaining()} bytes of data from the given
+ * Writes {@code buf.remaining()} bytes of data from the given
* {@link ByteBuffer} to the stream.
*/
default void write(final ByteBuffer buf) throws IOException {
@@ -210,7 +229,8 @@ default void write(final ByteBuffer buf) throws IOException {
}
/**
- * Writes up to len bytes of data from the given ByteBuffer to the stream.
+ * Writes {@code len} bytes of data from the given {@link ByteBuffer} to the
+ * stream.
*/
default void write(final ByteBuffer buf, final int len)
throws IOException
@@ -227,7 +247,6 @@ default void write(final ByteBuffer buf, final int len)
}
}
-
/** Reads a string of arbitrary length, terminated by a null char. */
default String readCString() throws IOException {
final String line = findString("\0");
From 795295b64a09c647a24363b2144a4a2c72061948 Mon Sep 17 00:00:00 2001
From: Gabriel Einsdorf
Date: Mon, 20 Mar 2017 15:53:50 +0100
Subject: [PATCH 073/754] DataHandle: add writeLine(String) method
This is analogous to readLine().
---
src/main/java/org/scijava/io/handle/DataHandle.java | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/src/main/java/org/scijava/io/handle/DataHandle.java b/src/main/java/org/scijava/io/handle/DataHandle.java
index 7aa5fe255..f71b3df28 100644
--- a/src/main/java/org/scijava/io/handle/DataHandle.java
+++ b/src/main/java/org/scijava/io/handle/DataHandle.java
@@ -411,6 +411,17 @@ default String findString(final boolean saveString, final int blockSize,
return saveString ? out.toString() : null;
}
+ /**
+ * Writes the provided string, followed by a newline character.
+ *
+ * @param string The string to write.
+ * @throws IOException If an I/O error occurs.
+ */
+ default void writeLine(final String string) throws IOException {
+ writeBytes(string);
+ writeBytes("\n");
+ }
+
// -- InputStream look-alikes --
/**
From d978412359ffabb27d8989e797b77bae0e565637 Mon Sep 17 00:00:00 2001
From: Gabriel Einsdorf
Date: Fri, 7 Jul 2017 14:15:48 +0200
Subject: [PATCH 074/754] DataHandle: improve javadoc
---
.../org/scijava/io/handle/DataHandle.java | 40 +++++++++----------
1 file changed, 20 insertions(+), 20 deletions(-)
diff --git a/src/main/java/org/scijava/io/handle/DataHandle.java b/src/main/java/org/scijava/io/handle/DataHandle.java
index f71b3df28..9f2afe5ba 100644
--- a/src/main/java/org/scijava/io/handle/DataHandle.java
+++ b/src/main/java/org/scijava/io/handle/DataHandle.java
@@ -83,7 +83,7 @@ public interface DataHandle extends WrapperPlugin,
void setLength(long length) throws IOException;
/**
- * Gets the number of bytes which can be safely read from, or written to, the
+ * Gets the number of bytes which can be read from, or written to, the
* data handle, bounded by the specified number of bytes.
*
* In the case of reading, attempting to read the returned number of bytes is
@@ -104,9 +104,9 @@ public interface DataHandle extends WrapperPlugin,
* guaranteed not to expand the length of the handle; i.e., the write will
* only overwrite bytes already within the handle's bounds.
*
- *
+ *
* @param count Desired number of bytes to read/write.
- * @return The actual number of bytes which could be safely read/written,
+ * @return The actual number of bytes which could be read/written,
* which might be less than the requested value.
* @throws IOException If something goes wrong with the check.
*/
@@ -151,14 +151,14 @@ default boolean ensureWritable(final long count) throws IOException {
/**
* Sets the byte order of the stream.
- *
+ *
* @param order Order to set.
*/
void setOrder(ByteOrder order);
/**
* Returns true iff the stream's order is {@link ByteOrder#BIG_ENDIAN}.
- *
+ *
* @see #getOrder()
*/
default boolean isBigEndian() {
@@ -167,7 +167,7 @@ default boolean isBigEndian() {
/**
* Returns true iff the stream's order is {@link ByteOrder#LITTLE_ENDIAN}.
- *
+ *
* @see #getOrder()
*/
default boolean isLittleEndian() {
@@ -176,7 +176,7 @@ default boolean isLittleEndian() {
/**
* Sets the endianness of the stream.
- *
+ *
* @param little If true, sets the order to {@link ByteOrder#LITTLE_ENDIAN};
* otherwise, sets the order to {@link ByteOrder#BIG_ENDIAN}.
* @see #setOrder(ByteOrder)
@@ -290,7 +290,7 @@ default String findString(final String... terminators) throws IOException {
/**
* Reads or skips a string ending with one of the given terminating
* substrings.
- *
+ *
* @param saveString Whether to collect the string from the current offset to
* the terminating bytes, and return it. If false, returns null.
* @param terminators The strings for which to search.
@@ -309,7 +309,7 @@ default String findString(final boolean saveString,
/**
* Reads a string ending with one of the given terminating substrings, using
* the specified block size for buffering.
- *
+ *
* @param blockSize The block size to use when reading bytes in chunks.
* @param terminators The strings for which to search.
* @return The string from the initial position through the end of the
@@ -325,9 +325,9 @@ default String findString(final int blockSize, final String... terminators)
/**
* Reads or skips a string ending with one of the given terminating
* substrings, using the specified block size for buffering.
- *
- * @param saveString Whether to collect the string from the current offset
- * to the terminating bytes, and return it. If false, returns null.
+ *
+ * @param saveString Whether to collect the string from the current offset to
+ * the terminating bytes, and return it. If false, returns null.
* @param blockSize The block size to use when reading bytes in chunks.
* @param terminators The strings for which to search.
* @throws IOException If saveString flag is set and the maximum search length
@@ -354,8 +354,8 @@ default String findString(final boolean saveString, final int blockSize,
}
@SuppressWarnings("resource")
- final InputStreamReader in =
- new InputStreamReader(new DataHandleInputStream<>(this), getEncoding());
+ final InputStreamReader in = new InputStreamReader(
+ new DataHandleInputStream<>(this), getEncoding());
final char[] buf = new char[blockSize];
long loc = 0;
while (loc < maxLen && offset() < length() - 1) {
@@ -426,7 +426,7 @@ default void writeLine(final String string) throws IOException {
/**
* Reads the next byte of data from the stream.
- *
+ *
* @return the next byte of data, or -1 if the end of the stream is reached.
* @throws IOException - if an I/O error occurs.
*/
@@ -436,7 +436,7 @@ default int read() throws IOException {
/**
* Reads up to b.length bytes of data from the stream into an array of bytes.
- *
+ *
* @return the total number of bytes read into the buffer.
*/
default int read(byte[] b) throws IOException {
@@ -445,7 +445,7 @@ default int read(byte[] b) throws IOException {
/**
* Reads up to len bytes of data from the stream into an array of bytes.
- *
+ *
* @return the total number of bytes read into the buffer.
*/
int read(byte[] b, int off, int len) throws IOException;
@@ -457,7 +457,7 @@ default int read(byte[] b) throws IOException {
* of a number of conditions; reaching end of file before {@code n} bytes have
* been skipped is only one possibility. The actual number of bytes skipped is
* returned. If {@code n} is negative, no bytes are skipped.
- *
+ *
* @param n - the number of bytes to be skipped.
* @return the actual number of bytes skipped.
* @throws IOException - if an I/O error occurs.
@@ -591,7 +591,7 @@ default String readLine() throws IOException {
if (read() != '\n') seek(cur);
break;
default:
- input.append((char)c);
+ input.append((char) c);
break;
}
}
@@ -674,7 +674,7 @@ default void writeBytes(final String s) throws IOException {
@Override
default void writeChars(final String s) throws IOException {
final int len = s.length();
- for (int i = 0 ; i < len ; i++) {
+ for (int i = 0; i < len; i++) {
final int v = s.charAt(i);
write((v >>> 8) & 0xFF);
write((v >>> 0) & 0xFF);
From 4251229c24d4f7e05c7be011c5d318b656800383 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Fri, 7 Jul 2017 15:41:28 -0500
Subject: [PATCH 075/754] DataHandle: make some minor style tweaks
---
src/main/java/org/scijava/io/handle/DataHandle.java | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/main/java/org/scijava/io/handle/DataHandle.java b/src/main/java/org/scijava/io/handle/DataHandle.java
index 9f2afe5ba..e184a5232 100644
--- a/src/main/java/org/scijava/io/handle/DataHandle.java
+++ b/src/main/java/org/scijava/io/handle/DataHandle.java
@@ -439,12 +439,13 @@ default int read() throws IOException {
*
* @return the total number of bytes read into the buffer.
*/
- default int read(byte[] b) throws IOException {
+ default int read(final byte[] b) throws IOException {
return read(b, 0, b.length);
}
/**
- * Reads up to len bytes of data from the stream into an array of bytes.
+ * Reads up to {@code len} bytes of data from the stream into an array of
+ * bytes.
*
* @return the total number of bytes read into the buffer.
*/
From 8b065baff3a41c919f6a862f5cef602c12fa06ba Mon Sep 17 00:00:00 2001
From: Gabriel Einsdorf
Date: Wed, 5 Jul 2017 17:08:08 +0200
Subject: [PATCH 076/754] DataHandle: remove built-in references to java.nio
The java.nio package is not available on all JVMs, so
its use must be optional on top of the base API layer.
---
.../scijava/io/handle/AbstractDataHandle.java | 2 -
.../org/scijava/io/handle/DataHandle.java | 64 ++-----------------
.../org/scijava/io/handle/DataHandleTest.java | 9 +--
3 files changed, 5 insertions(+), 70 deletions(-)
diff --git a/src/main/java/org/scijava/io/handle/AbstractDataHandle.java b/src/main/java/org/scijava/io/handle/AbstractDataHandle.java
index b072df9ad..ac0e4b7a8 100644
--- a/src/main/java/org/scijava/io/handle/AbstractDataHandle.java
+++ b/src/main/java/org/scijava/io/handle/AbstractDataHandle.java
@@ -31,8 +31,6 @@
package org.scijava.io.handle;
-import java.nio.ByteOrder;
-
import org.scijava.io.location.Location;
import org.scijava.plugin.AbstractWrapperPlugin;
diff --git a/src/main/java/org/scijava/io/handle/DataHandle.java b/src/main/java/org/scijava/io/handle/DataHandle.java
index e184a5232..4c3b845d8 100644
--- a/src/main/java/org/scijava/io/handle/DataHandle.java
+++ b/src/main/java/org/scijava/io/handle/DataHandle.java
@@ -38,8 +38,6 @@
import java.io.EOFException;
import java.io.IOException;
import java.io.InputStreamReader;
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
import org.scijava.io.location.Location;
import org.scijava.plugin.WrapperPlugin;
@@ -56,6 +54,10 @@ public interface DataHandle extends WrapperPlugin,
DataInput, DataOutput, Closeable
{
+ public enum ByteOrder {
+ LITTLE_ENDIAN, BIG_ENDIAN
+ }
+
/** Default block size to use when searching through the stream. */
int DEFAULT_BLOCK_SIZE = 256 * 1024; // 256 KB
@@ -92,8 +94,6 @@ public interface DataHandle extends WrapperPlugin,
* by this method:
*
*
- * {@link #read(ByteBuffer)}
- * {@link #read(ByteBuffer, int)}
* {@link #read(byte[])}
* {@link #read(byte[], int, int)}
* {@link #skip(long)}
@@ -191,62 +191,6 @@ default void setLittleEndian(final boolean little) {
/** Sets the native encoding of the stream. */
void setEncoding(String encoding);
- /**
- * Reads up to {@code buf.remaining()} bytes of data from the stream into a
- * {@link ByteBuffer}.
- */
- default int read(final ByteBuffer buf) throws IOException {
- return read(buf, buf.remaining());
- }
-
- /**
- * Reads up to {@code len} bytes of data from the stream into a
- * {@link ByteBuffer}.
- *
- * @return the total number of bytes read into the buffer.
- */
- default int read(final ByteBuffer buf, final int len) throws IOException {
- final int n;
- if (buf.hasArray()) {
- // read directly into the array
- n = read(buf.array(), buf.arrayOffset(), len);
- }
- else {
- // read into a temporary array, then copy
- final byte[] b = new byte[len];
- n = read(b);
- buf.put(b, 0, n);
- }
- return n;
- }
-
- /**
- * Writes {@code buf.remaining()} bytes of data from the given
- * {@link ByteBuffer} to the stream.
- */
- default void write(final ByteBuffer buf) throws IOException {
- write(buf, buf.remaining());
- }
-
- /**
- * Writes {@code len} bytes of data from the given {@link ByteBuffer} to the
- * stream.
- */
- default void write(final ByteBuffer buf, final int len)
- throws IOException
- {
- if (buf.hasArray()) {
- // write directly from the buffer's array
- write(buf.array(), buf.arrayOffset(), len);
- }
- else {
- // copy into a temporary array, then write
- final byte[] b = new byte[len];
- buf.get(b);
- write(b);
- }
- }
-
/** Reads a string of arbitrary length, terminated by a null char. */
default String readCString() throws IOException {
final String line = findString("\0");
diff --git a/src/test/java/org/scijava/io/handle/DataHandleTest.java b/src/test/java/org/scijava/io/handle/DataHandleTest.java
index c91b7c4ea..5a3069940 100644
--- a/src/test/java/org/scijava/io/handle/DataHandleTest.java
+++ b/src/test/java/org/scijava/io/handle/DataHandleTest.java
@@ -35,13 +35,12 @@
import java.io.IOException;
import java.io.OutputStream;
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
import java.util.Arrays;
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;
@@ -113,12 +112,6 @@ protected void checkReads(final DataHandle handle)
handle.seek(1);
assertBytesMatch(1, handle.read(buf), buf);
- // test read(ByteBuffer)
- Arrays.fill(buf, (byte) 0);
- final ByteBuffer byteBuffer = ByteBuffer.wrap(buf);
- handle.seek(2);
- assertBytesMatch(2, handle.read(byteBuffer), byteBuffer.array());
-
// test readByte()
handle.seek(0);
for (int i = 0; i < BYTES.length; i++) {
From a4edc83a2aceaa3d50b8758a9574c1738a9c004d Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Fri, 7 Jul 2017 14:29:25 -0500
Subject: [PATCH 077/754] DataHandle: add missing final keywords
---
src/main/java/org/scijava/io/handle/DataHandle.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/main/java/org/scijava/io/handle/DataHandle.java b/src/main/java/org/scijava/io/handle/DataHandle.java
index 4c3b845d8..8652adab5 100644
--- a/src/main/java/org/scijava/io/handle/DataHandle.java
+++ b/src/main/java/org/scijava/io/handle/DataHandle.java
@@ -429,7 +429,7 @@ default void readFully(final byte[] b, final int off, final int len)
if (len < 0) throw new IndexOutOfBoundsException();
int n = 0;
while (n < len) {
- int count = read(b, off + n, len - n);
+ final int count = read(b, off + n, len - n);
if (count < 0) throw new EOFException();
n += count;
}
@@ -532,7 +532,7 @@ default String readLine() throws IOException {
break;
case '\r':
eol = true;
- long cur = offset();
+ final long cur = offset();
if (read() != '\n') seek(cur);
break;
default:
From 82ccbdbb01f7acc5a7b5e939cc72263588fd5d71 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Fri, 7 Jul 2017 14:29:32 -0500
Subject: [PATCH 078/754] DataHandle: remove end-of-class blank line
---
src/main/java/org/scijava/io/handle/DataHandle.java | 1 -
1 file changed, 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 8652adab5..e9531f9e2 100644
--- a/src/main/java/org/scijava/io/handle/DataHandle.java
+++ b/src/main/java/org/scijava/io/handle/DataHandle.java
@@ -630,5 +630,4 @@ default void writeChars(final String s) throws IOException {
default void writeUTF(final String str) throws IOException {
DataHandles.writeUTF(str, this);
}
-
}
From 9c0a1da3c56e96b9531bd10d867814c5a8f1c714 Mon Sep 17 00:00:00 2001
From: Gabriel Einsdorf
Date: Wed, 5 Jul 2017 17:09:02 +0200
Subject: [PATCH 079/754] DataHandle: make reads & writes respect endianness
---
.../org/scijava/io/handle/DataHandle.java | 158 +++++++++++++-----
1 file changed, 115 insertions(+), 43 deletions(-)
diff --git a/src/main/java/org/scijava/io/handle/DataHandle.java b/src/main/java/org/scijava/io/handle/DataHandle.java
index e9531f9e2..591f2ae4d 100644
--- a/src/main/java/org/scijava/io/handle/DataHandle.java
+++ b/src/main/java/org/scijava/io/handle/DataHandle.java
@@ -456,10 +456,18 @@ default int readUnsignedByte() throws IOException {
@Override
default short readShort() throws IOException {
- final int ch1 = read();
- final int ch2 = read();
- if ((ch1 | ch2) < 0) throw new EOFException();
- return (short) ((ch1 << 8) + (ch2 << 0));
+ 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));
}
@Override
@@ -474,36 +482,68 @@ default char readChar() throws IOException {
@Override
default int readInt() throws IOException {
- int ch1 = read();
- int ch2 = read();
- int ch3 = read();
- int ch4 = read();
- if ((ch1 | ch2 | ch3 | ch4) < 0) throw new EOFException();
- return ((ch1 << 24) + (ch2 << 16) + (ch3 << 8) + (ch4 << 0));
+ 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));
}
@Override
default long readLong() throws IOException {
- int ch1 = read();
- int ch2 = read();
- int ch3 = read();
- int ch4 = read();
- int ch5 = read();
- int ch6 = read();
- int ch7 = read();
- int ch8 = read();
- if ((ch1 | ch2 | ch3 | ch4 | ch5 | ch6 | ch7 | ch8) < 0) {
+ 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) {
throw new EOFException();
}
// TODO: Double check this inconsistent code.
- return ((long) ch1 << 56) + //
- ((long) (ch2 & 255) << 48) + //
- ((long) (ch3 & 255) << 40) + //
- ((long) (ch4 & 255) << 32) + //
- ((long) (ch5 & 255) << 24) + //
- ((ch6 & 255) << 16) + //
- ((ch7 & 255) << 8) + //
- ((ch8 & 255) << 0);
+ 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);
}
@Override
@@ -571,34 +611,66 @@ default void writeByte(final int v) throws IOException {
@Override
default void writeShort(final int v) throws IOException {
- write((v >>> 8) & 0xFF);
- write((v >>> 0) & 0xFF);
+ if (isBigEndian()) {
+ write((v >>> 8) & 0xFF);
+ write((v >>> 0) & 0xFF);
+ }
+ else {
+ write((v >>> 0) & 0xFF);
+ write((v >>> 8) & 0xFF);
+ }
}
@Override
default void writeChar(final int v) throws IOException {
- write((v >>> 8) & 0xFF);
- write((v >>> 0) & 0xFF);
+ if (isBigEndian()) {
+ write((v >>> 8) & 0xFF);
+ write((v >>> 0) & 0xFF);
+ }
+ else {
+ write((v >>> 0) & 0xFF);
+ write((v >>> 8) & 0xFF);
+ }
}
@Override
default void writeInt(final int v) throws IOException {
- write((v >>> 24) & 0xFF);
- write((v >>> 16) & 0xFF);
- write((v >>> 8) & 0xFF);
- write((v >>> 0) & 0xFF);
+ 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);
+ }
}
@Override
default void writeLong(final long v) throws IOException {
- 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));
+ 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));
+ }
}
@Override
From 1b1c6628226fa5cb59bb8ba4dccf830523f48d3e Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Fri, 1 Jul 2016 22:33:32 -0500
Subject: [PATCH 080/754] FileHandle: fix double-checked locking
---
src/main/java/org/scijava/io/handle/FileHandle.java | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/main/java/org/scijava/io/handle/FileHandle.java b/src/main/java/org/scijava/io/handle/FileHandle.java
index 944e384d5..e64739fa8 100644
--- a/src/main/java/org/scijava/io/handle/FileHandle.java
+++ b/src/main/java/org/scijava/io/handle/FileHandle.java
@@ -285,6 +285,7 @@ private RandomAccessFile raf() throws IOException {
}
private synchronized void initRAF() throws IOException {
+ if (raf != null) return;
raf = new RandomAccessFile(get().getFile(), getMode());
}
From f9191404639d515ed50e9bc374c04804f4b288f1 Mon Sep 17 00:00:00 2001
From: Gabriel Einsdorf
Date: Tue, 14 Mar 2017 15:49:44 +0100
Subject: [PATCH 081/754] FileHandle: Add constructor accepting an URI
---
src/main/java/org/scijava/io/location/FileLocation.java | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/main/java/org/scijava/io/location/FileLocation.java b/src/main/java/org/scijava/io/location/FileLocation.java
index 31a331bd8..447b23a6e 100644
--- a/src/main/java/org/scijava/io/location/FileLocation.java
+++ b/src/main/java/org/scijava/io/location/FileLocation.java
@@ -51,6 +51,10 @@ public FileLocation(final String path) {
this(new File(path));
}
+ public FileLocation(final URI path) {
+ this(new File(path));
+ }
+
// -- FileLocation methods --
/** Gets the associated {@link File}. */
From 8176c921a9ead88a1d2859f88ff3ef7a825db9c8 Mon Sep 17 00:00:00 2001
From: Gabriel Einsdorf
Date: Tue, 14 Mar 2017 17:08:15 +0100
Subject: [PATCH 082/754] FileHandle: implement getName()
---
src/main/java/org/scijava/io/location/FileLocation.java | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/main/java/org/scijava/io/location/FileLocation.java b/src/main/java/org/scijava/io/location/FileLocation.java
index 447b23a6e..5092167ec 100644
--- a/src/main/java/org/scijava/io/location/FileLocation.java
+++ b/src/main/java/org/scijava/io/location/FileLocation.java
@@ -69,4 +69,9 @@ public URI getURI() {
return getFile().toURI();
}
+ @Override
+ public String getName() {
+ return file.getName();
+ }
+
}
From a66f1ed05adade05f26c98dbe5dd9efc3a6edbf4 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Tue, 5 Jul 2016 17:43:39 -0500
Subject: [PATCH 083/754] Add DummyLocation and DummyHandle
---
.../org/scijava/io/handle/DummyHandle.java | 126 ++++++++++++++++++
.../scijava/io/location/DummyLocation.java | 43 ++++++
2 files changed, 169 insertions(+)
create mode 100644 src/main/java/org/scijava/io/handle/DummyHandle.java
create mode 100644 src/main/java/org/scijava/io/location/DummyLocation.java
diff --git a/src/main/java/org/scijava/io/handle/DummyHandle.java b/src/main/java/org/scijava/io/handle/DummyHandle.java
new file mode 100644
index 000000000..5b072723a
--- /dev/null
+++ b/src/main/java/org/scijava/io/handle/DummyHandle.java
@@ -0,0 +1,126 @@
+/*
+ * #%L
+ * SciJava Common 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.util.Arrays;
+
+import org.scijava.io.location.DummyLocation;
+import org.scijava.plugin.Plugin;
+
+/**
+ * A {@link DataHandle} which reads all zeroes, and writes no actual data.
+ *
+ * @author Curtis Rueden
+ */
+@Plugin(type = DataHandle.class)
+public class DummyHandle extends AbstractDataHandle {
+
+ // -- Fields --
+
+ private long offset;
+ private long length;
+
+ // -- DataHandle methods --
+
+ @Override
+ public long offset() throws IOException {
+ return offset;
+ }
+
+ @Override
+ public void seek(final long pos) throws IOException {
+ if (pos > length()) setLength(pos);
+ offset = pos;
+ }
+
+ @Override
+ public long length() throws IOException {
+ return length;
+ }
+
+ @Override
+ public void setLength(final long length) throws IOException {
+ this.length = length;
+ }
+
+ // -- DataInput methods --
+
+ @Override
+ public byte readByte() throws IOException {
+ final long r = available(1);
+ if (r <= 0) return -1;
+ offset++;
+ return 0;
+ }
+
+ @Override
+ public int read(final byte[] b, final int off, final int len)
+ throws IOException
+ {
+ final int r = (int) available(len);
+ offset += r;
+ Arrays.fill(b, off, off + r, (byte) 0);
+ return r;
+ }
+
+ // -- DataOutput methods --
+
+ @Override
+ public void write(final int v) throws IOException {
+ ensureWritable(1);
+ offset++;
+ }
+
+ @Override
+ public void write(final byte[] b, final int off, final int len)
+ throws IOException
+ {
+ ensureWritable(len);
+ offset += len;
+ }
+
+ // -- Closeable methods --
+
+ @Override
+ public void close() {
+ // NB: No action needed.
+ }
+
+ // -- Typed methods --
+
+ @Override
+ public Class getType() {
+ return DummyLocation.class;
+ }
+
+}
diff --git a/src/main/java/org/scijava/io/location/DummyLocation.java b/src/main/java/org/scijava/io/location/DummyLocation.java
new file mode 100644
index 000000000..d2db80c9b
--- /dev/null
+++ b/src/main/java/org/scijava/io/location/DummyLocation.java
@@ -0,0 +1,43 @@
+/*
+ * #%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.
+ * %%
+ * 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.location;
+
+import org.scijava.io.location.AbstractLocation;
+
+/**
+ * {@link Location} backed by nothing whatsoever.
+ *
+ * @author Curtis Rueden
+ */
+public class DummyLocation extends AbstractLocation {
+ // NB: No implementation needed.
+}
From e78194a16d971c8a00a96a5f1fd7b530d362c292 Mon Sep 17 00:00:00 2001
From: Gabriel Einsdorf
Date: Tue, 14 Mar 2017 18:45:57 +0100
Subject: [PATCH 084/754] Add ByteBank: generic self-growing byte stores
Provides two implementations:
- ByteArrayByteBank: backed by org.scijava.util.ByteArray
- ByteBufferByteBank: backed by java.nio.ByteBuffer
Signed-off-by: Curtis Rueden
---
.../org/scijava/io/ByteArrayByteBank.java | 143 +++++++++++++++
src/main/java/org/scijava/io/ByteBank.java | 163 ++++++++++++++++++
.../scijava/io/nio/ByteBufferByteBank.java | 163 ++++++++++++++++++
3 files changed, 469 insertions(+)
create mode 100644 src/main/java/org/scijava/io/ByteArrayByteBank.java
create mode 100644 src/main/java/org/scijava/io/ByteBank.java
create mode 100644 src/main/java/org/scijava/io/nio/ByteBufferByteBank.java
diff --git a/src/main/java/org/scijava/io/ByteArrayByteBank.java b/src/main/java/org/scijava/io/ByteArrayByteBank.java
new file mode 100644
index 000000000..f65e8deef
--- /dev/null
+++ b/src/main/java/org/scijava/io/ByteArrayByteBank.java
@@ -0,0 +1,143 @@
+/*
+ * #%L
+ * SciJava Common 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;
+
+import org.scijava.util.ByteArray;
+
+/**
+ * {@link ByteBank} implementation backed by a {@link ByteArray}. Self-growing
+ * up to a maximum capacity of {@link Integer#MAX_VALUE}
+ *
+ * @author Gabriel Einsdorf
+ */
+public class ByteArrayByteBank implements ByteBank {
+
+ private final ByteArray buffer;
+ private long maxBufferedPos = -1;
+
+ /**
+ * Creates a {@link ByteArrayByteBank}
+ */
+ public ByteArrayByteBank() {
+ buffer = new ByteArray();
+ }
+
+ /**
+ * Creates a {@link ByteArrayByteBank} with the specified initial capacity
+ *
+ * @param initialCapacity the initial capacity of this {@link ByteBank}
+ */
+ public ByteArrayByteBank(final int initialCapacity) {
+ buffer = new ByteArray(initialCapacity);
+ }
+
+ /**
+ * Creates a {@link ByteArrayByteBank} that wraps the specified
+ * {@link ByteArray}.
+ *
+ * @param bytes the {@link ByteArray} to wrap
+ */
+ public ByteArrayByteBank(final ByteArray bytes) {
+ buffer = bytes;
+ bytes.size();
+ }
+
+ /**
+ * Creates a {@link ByteArrayByteBank} that wraps the provided byte array
+ *
+ * @param bytes the bytes to wrap
+ */
+ public ByteArrayByteBank(final byte[] bytes) {
+ buffer = new ByteArray(bytes);
+ maxBufferedPos = bytes.length;
+ }
+
+ @Override
+ public long getMaxBufferSize() {
+ return Integer.MAX_VALUE;
+ }
+
+ @Override
+ public void setBytes(final long startpos, final byte[] bytes,
+ final int offset, final int length)
+ {
+ // ensure we have space
+ checkWritePos(startpos, startpos + length);
+ final int neededCapacity = (int) (Math.max(maxBufferedPos, 0) + length);
+ buffer.ensureCapacity(neededCapacity);
+
+ // copy the data
+ System.arraycopy(bytes, offset, buffer.getArray(), (int) startpos, length);
+ buffer.setSize(neededCapacity);
+ updateMaxPos(startpos + length);
+ }
+
+ @Override
+ public void setByte(final long pos, final byte b) {
+ checkWritePos(pos, pos);
+ buffer.setValue((int) pos, b);
+ updateMaxPos(pos);
+ }
+
+ private void updateMaxPos(final long pos) {
+ maxBufferedPos = pos > maxBufferedPos ? pos : maxBufferedPos;
+ }
+
+ @Override
+ public void clear() {
+ buffer.clear();
+ maxBufferedPos = 0;
+ }
+
+ @Override
+ public byte getByte(final long pos) {
+ checkReadPos(pos, pos);
+ // the buffer might contain bytes with negative value
+ // we need to flip the sign to positive to satisfy the method contract
+ return buffer.getValue((int) pos);
+ }
+
+ @Override
+ public int getBytes(final long startPos, final byte[] b, final int offset,
+ final int length)
+ {
+ checkReadPos(startPos, startPos + length);
+ final int readLength = (int) Math.min(getMaxPos() - startPos, length);
+ System.arraycopy(buffer.getArray(), (int) startPos, b, offset, readLength);
+ return readLength;
+ }
+
+ @Override
+ public long getMaxPos() {
+ return maxBufferedPos;
+ }
+}
diff --git a/src/main/java/org/scijava/io/ByteBank.java b/src/main/java/org/scijava/io/ByteBank.java
new file mode 100644
index 000000000..bf4748a13
--- /dev/null
+++ b/src/main/java/org/scijava/io/ByteBank.java
@@ -0,0 +1,163 @@
+/*
+ * #%L
+ * SciJava Common 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;
+
+/**
+ * A {@link ByteBank} is a self-growing buffer over arbitrary bytes.
+ *
+ * @author Gabriel Einsdorf
+ */
+public interface ByteBank {
+
+ /**
+ * @param pos the position to read from
+ * @return the byte at the given position
+ */
+ public byte getByte(long pos);
+
+ /**
+ * @param startPos the position in the buffer to start reading from
+ * @param bytes the byte array to read into
+ * @return the number of bytes read
+ */
+ default int getBytes(long startPos, byte[] bytes) {
+ return getBytes(startPos, bytes, 0, bytes.length);
+ }
+
+ /**
+ * @param startPos the position in the buffer to start reading from
+ * @param bytes the byte array to read into
+ * @param offset the offset in the bytes array
+ * @param length the number of elements to read into the bytes array
+ * @return number of bytes read
+ */
+ int getBytes(long startPos, byte[] bytes, int offset, int length);
+
+ /**
+ * Sets the bytes starting form the given position to the values form the
+ * provided array.
+ *
+ * @param startPos the position in the buffer to start writing from
+ * @param bytes the byte array to write
+ * @param offset the offset in the bytes array
+ * @param length the number of bytes to read
+ */
+ void setBytes(long startPos, byte[] bytes, int offset, int length);
+
+ /**
+ * Appends the given bytes to the buffer
+ *
+ * @param bytes the array containing the bytes to append to the buffer
+ * @param length the number of elements to append from the bytes array
+ */
+ default void appendBytes(byte[] bytes, int length) {
+ setBytes(getMaxPos() + 1, bytes, 0, length);
+ }
+
+ /**
+ * Check if we can read from the specified range
+ *
+ * @param start the start position of the range
+ * @param end the end position of the range
+ */
+ default void checkReadPos(final long start, final long end) {
+ basicRangeCheck(start, end);
+ if (start > getMaxPos()) {
+ throw new IndexOutOfBoundsException("Requested position: " + start +
+ " is larger than the maximally buffered postion: " + getMaxPos());
+ }
+ }
+
+ /**
+ * Check if we can write to the specified range
+ *
+ * @param start the start position of the range
+ * @param end the end position of the range
+ * @throws IndexOutOfBoundsException if
+ */
+ default void checkWritePos(final long start, final long end) {
+ if (start > getMaxPos() + 1) { // we can't have holes in the buffer
+ throw new IndexOutOfBoundsException("Requested start position: " + start +
+ " would leave a hole in the buffer, largest legal position is: " +
+ getMaxPos() + 1);
+ }
+ if (end < start) {
+ throw new IllegalArgumentException(
+ "Invalid range, end is smaller than start!");
+ }
+ if (end > getMaxBufferSize()) {
+ throw new IndexOutOfBoundsException("Requested postion " + end +
+ " is larger than the maximal buffer size: " + getMaxPos());
+ }
+ }
+
+ /**
+ * Ensures that the requested range satisfies basic sanity criteria.
+ *
+ * @param start the start of the range
+ * @param end the end of the range
+ */
+ default void basicRangeCheck(final long start, final long end) {
+ if (start > getMaxPos()) {
+ throw new IndexOutOfBoundsException("Requested postion " + start +
+ " is larger than the maximal buffer size: " + getMaxPos());
+ }
+ if (end < start) {
+ throw new IllegalArgumentException(
+ "Invalid range, end is smaller than start!");
+ }
+ }
+
+ /**
+ * Clears the buffer
+ */
+ void clear();
+
+ /**
+ * @return the position of the last byte in this ByteBank
+ */
+ long getMaxPos();
+
+ /**
+ * Sets the byte at the given position
+ *
+ * @param pos the position
+ * @param b the value to set
+ */
+ void setByte(long pos, byte b);
+
+ /**
+ * @return the maximal size of the buffer
+ */
+ long getMaxBufferSize();
+
+}
diff --git a/src/main/java/org/scijava/io/nio/ByteBufferByteBank.java b/src/main/java/org/scijava/io/nio/ByteBufferByteBank.java
new file mode 100644
index 000000000..25fda9bbe
--- /dev/null
+++ b/src/main/java/org/scijava/io/nio/ByteBufferByteBank.java
@@ -0,0 +1,163 @@
+/*
+ * #%L
+ * SciJava Common 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.nio;
+
+import java.nio.ByteBuffer;
+import java.util.function.Function;
+
+import org.scijava.io.ByteBank;
+
+/**
+ * A {@link ByteBank} backed by a {@link ByteBuffer}. Self-growing up to a
+ * maximal capacity of {@link Integer#MAX_VALUE}
+ *
+ * @author Gabriel Einsdorf
+ */
+public class ByteBufferByteBank implements ByteBank {
+
+ private static final int DEFAULT_CAPACITY = 10_000;
+
+ private ByteBuffer buffer;
+
+ private int maxBufferedPos = -1;
+
+ private Function provider;
+
+ public ByteBufferByteBank() {
+ provider = ByteBuffer::allocate;
+ buffer = provider.apply(DEFAULT_CAPACITY);
+ }
+
+ public ByteBufferByteBank(final Function provider) {
+ this.provider = provider;
+ buffer = provider.apply(DEFAULT_CAPACITY);
+ }
+
+ public ByteBufferByteBank(final Function provider,
+ final int initialCapacity)
+ {
+ this.provider = provider;
+ buffer = provider.apply(initialCapacity);
+ }
+
+ public ByteBufferByteBank(final int initialCapacity) {
+ provider = ByteBuffer::allocate;
+ buffer = provider.apply(initialCapacity);
+ }
+
+ @Override
+ public long getMaxBufferSize() {
+ return Integer.MAX_VALUE;
+ }
+
+ @Override
+ public void setBytes(final long startpos, final byte[] bytes,
+ final int offset, final int length)
+ {
+ // ensure we have space
+ checkWritePos(startpos, startpos + length);
+ final int neededCapacity = Math.max(maxBufferedPos, 0) + length;
+ ensureCapacity(neededCapacity);
+
+ // copy the data
+ buffer.position((int) startpos);
+ buffer.put(bytes, offset, length);
+
+ // update the maxpos
+ updateMaxPos(startpos + length);
+ }
+
+ @Override
+ public void setByte(final long pos, final byte b) {
+ checkWritePos(pos, pos);
+ buffer.put((int) pos, b);
+ updateMaxPos(pos);
+ }
+
+ private void updateMaxPos(final long pos) {
+ maxBufferedPos = (int) (pos > maxBufferedPos ? pos : maxBufferedPos);
+ }
+
+ @Override
+ public void clear() {
+ buffer.clear();
+ maxBufferedPos = 0;
+ }
+
+ @Override
+ public byte getByte(final long pos) {
+ checkReadPos(pos, pos);
+ // the buffer might contain bytes with negative value
+ // we need to flip the sign to positive to satisfy the contract of this
+ // method
+ return buffer.get((int) pos);
+ }
+
+ @Override
+ public int getBytes(final long startPos, final byte[] b, final int offset,
+ final int length)
+ {
+ checkReadPos(startPos, startPos + length);
+ buffer.position((int) startPos);
+ buffer.get(b, offset, length);
+
+ return length;
+ }
+
+ @Override
+ public long getMaxPos() {
+ return maxBufferedPos;
+ }
+
+ private void ensureCapacity(final int minCapacity) {
+ final int oldCapacity = buffer.capacity();
+ if (minCapacity <= oldCapacity) return; // no need to grow
+
+ // grow the array by up to 50% (plus a small constant)
+ final int growth = Math.min(oldCapacity / 2 + 16, Integer.MAX_VALUE);
+ final int newCapacity;
+ if (growth > Integer.MAX_VALUE - oldCapacity) {
+ // growth would push array over the maximum array size
+ newCapacity = Integer.MAX_VALUE;
+ }
+ else newCapacity = oldCapacity + growth;
+ // ensure the array grows by at least the requested minimum capacity
+ final int newLength = Math.max(minCapacity, newCapacity);
+
+ // copy the data into a new array
+ buffer.position(0);
+ final ByteBuffer newBuffer = ByteBuffer.allocate(newLength);
+ newBuffer.order(buffer.order());
+ newBuffer.put(buffer);
+ buffer = newBuffer;
+ }
+}
From 85f202b1418aea2c39d4cdb95ad3eccf3af07278 Mon Sep 17 00:00:00 2001
From: Gabriel Einsdorf
Date: Wed, 15 Mar 2017 19:45:16 +0100
Subject: [PATCH 085/754] BytesLocation: add hashCode() and equals()
---
.../java/org/scijava/io/location/BytesLocation.java | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/src/main/java/org/scijava/io/location/BytesLocation.java b/src/main/java/org/scijava/io/location/BytesLocation.java
index dc41fbade..85e253f9f 100644
--- a/src/main/java/org/scijava/io/location/BytesLocation.java
+++ b/src/main/java/org/scijava/io/location/BytesLocation.java
@@ -61,4 +61,15 @@ public ByteBuffer getByteBuffer() {
return bytes;
}
+ // -- Object methods --
+
+ @Override
+ public int hashCode() {
+ return System.identityHashCode(this);
+ }
+
+ @Override
+ public boolean equals(final Object obj) {
+ return obj == this;
+ }
}
From 1951551cb67e51925f522a4aa8b8e3c3bceb1556 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Fri, 7 Jul 2017 17:04:23 -0500
Subject: [PATCH 086/754] BytesLocation: fix comment
---
src/main/java/org/scijava/io/location/BytesLocation.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/main/java/org/scijava/io/location/BytesLocation.java b/src/main/java/org/scijava/io/location/BytesLocation.java
index 85e253f9f..bb2f37c97 100644
--- a/src/main/java/org/scijava/io/location/BytesLocation.java
+++ b/src/main/java/org/scijava/io/location/BytesLocation.java
@@ -54,7 +54,7 @@ public BytesLocation(final byte[] bytes, final int offset, final int length) {
this(ByteBuffer.wrap(bytes, offset, length));
}
- // -- ByteArrayLocation methods --
+ // -- BytesLocation methods --
/** Gets the associated {@link ByteBuffer}. */
public ByteBuffer getByteBuffer() {
From b459699b6a50fda609e57eb30d6e3fa3e2fa1752 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Fri, 7 Jul 2017 17:05:33 -0500
Subject: [PATCH 087/754] BytesLocation: use ByteBank for backing bytes
This is more flexible than ByteBuffer, since ByteBank is resizable.
---
.../scijava/io/location/BytesLocation.java | 56 ++++++++++++++++---
.../io/location/BytesLocationTest.java | 26 +++++----
2 files changed, 63 insertions(+), 19 deletions(-)
diff --git a/src/main/java/org/scijava/io/location/BytesLocation.java b/src/main/java/org/scijava/io/location/BytesLocation.java
index bb2f37c97..2fbb03928 100644
--- a/src/main/java/org/scijava/io/location/BytesLocation.java
+++ b/src/main/java/org/scijava/io/location/BytesLocation.java
@@ -31,33 +31,71 @@
package org.scijava.io.location;
-import java.nio.ByteBuffer;
+import org.scijava.io.ByteArrayByteBank;
+import org.scijava.io.ByteBank;
+import org.scijava.util.ByteArray;
/**
- * {@link Location} backed by a {@link ByteBuffer}.
+ * {@link Location} backed by a {@link ByteBank}.
*
* @author Curtis Rueden
+ * @author Gabriel Einsdorf
*/
public class BytesLocation extends AbstractLocation {
- private final ByteBuffer bytes;
+ private final ByteBank bytes;
- public BytesLocation(final ByteBuffer bytes) {
+ /**
+ * Creates a {@link BytesLocation} backed by the specified
+ * {@link ByteBank}.
+ *
+ * @param bytes the {@link ByteBank} that will back this {@link Location}
+ */
+ public BytesLocation(final ByteBank bytes) {
this.bytes = bytes;
}
+ /**
+ * Creates a {@link BytesLocation} backed by a {@link ByteArrayByteBank}
+ * with the specified initial capacity.
+ */
+ public BytesLocation(final int initialCapacity) {
+ this.bytes = new ByteArrayByteBank(initialCapacity);
+ }
+
+ /**
+ * Creates a {@link BytesLocation} backed by a {@link ByteArrayByteBank}
+ * that wraps the specified {@link ByteArray}.
+ */
+ public BytesLocation(final ByteArray bytes) {
+ this.bytes = new ByteArrayByteBank(bytes);
+ }
+
+ /**
+ * Creates a {@link BytesLocation} backed by a {@link ByteArrayByteBank}
+ * which wraps the specified array.
+ *
+ * @param bytes the array to wrap
+ */
public BytesLocation(final byte[] bytes) {
- this(ByteBuffer.wrap(bytes));
+ this.bytes = new ByteArrayByteBank(bytes);
}
- public BytesLocation(final byte[] bytes, final int offset, final int length) {
- this(ByteBuffer.wrap(bytes, offset, length));
+ /**
+ * Creates a {@link BytesLocation} backed by a {@link ByteArrayByteBank} with
+ * the specified initial capacity.
+ */
+ public BytesLocation(final byte[] bytes, final int offset,
+ final int length)
+ {
+ this.bytes = new ByteArrayByteBank(length);
+ this.bytes.setBytes(0l, bytes, offset, length);
}
// -- BytesLocation methods --
- /** Gets the associated {@link ByteBuffer}. */
- public ByteBuffer getByteBuffer() {
+ /** Gets the backing {@link ByteBank}. */
+ public ByteBank getByteBank() {
return bytes;
}
diff --git a/src/test/java/org/scijava/io/location/BytesLocationTest.java b/src/test/java/org/scijava/io/location/BytesLocationTest.java
index b406e76eb..d35e9559e 100644
--- a/src/test/java/org/scijava/io/location/BytesLocationTest.java
+++ b/src/test/java/org/scijava/io/location/BytesLocationTest.java
@@ -31,11 +31,10 @@
package org.scijava.io.location;
+import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertSame;
import org.junit.Test;
-import org.scijava.io.location.BytesLocation;
/**
* Tests {@link BytesLocation}.
@@ -47,22 +46,29 @@ public class BytesLocationTest {
/** Tests {@link BytesLocation#BytesLocation(byte[])}. */
@Test
public void testBytes() {
- final byte[] digits = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9};
+ final byte[] digits = { 3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9 };
final BytesLocation loc = new BytesLocation(digits);
- assertSame(digits, loc.getByteBuffer().array());
- assertEquals(0, loc.getByteBuffer().position());
- assertEquals(digits.length, loc.getByteBuffer().remaining());
+
+ final byte[] testDigits = new byte[digits.length];
+ loc.getByteBank().getBytes(0, testDigits);
+ assertEquals(digits.length, loc.getByteBank().getMaxPos());
+ assertArrayEquals(digits, testDigits);
}
/** Tests {@link BytesLocation#BytesLocation(byte[], int, int)}. */
@Test
public void testBytesOffsetLength() {
- final byte[] digits = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9};
+ final byte[] digits = { 3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9 };
final int offset = 3, length = 5;
final BytesLocation loc = new BytesLocation(digits, offset, length);
- assertSame(digits, loc.getByteBuffer().array());
- assertEquals(offset, loc.getByteBuffer().position());
- assertEquals(length, loc.getByteBuffer().remaining());
+
+ final byte[] testDigits = new byte[digits.length];
+ loc.getByteBank().getBytes(0, testDigits);
+ assertEquals(length, loc.getByteBank().getMaxPos());
+
+ final byte[] expectedDigits = new byte[digits.length];
+ System.arraycopy(digits, offset, expectedDigits, 0, length);
+ assertArrayEquals(expectedDigits, testDigits);
}
}
From 433849cf543f4800896ba22993cefc763c683f83 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Fri, 1 Jul 2016 23:17:54 -0500
Subject: [PATCH 088/754] Add BytesHandle for working with BytesLocations
---
.../org/scijava/io/handle/BytesHandle.java | 160 ++++++++++++++++++
1 file changed, 160 insertions(+)
create mode 100644 src/main/java/org/scijava/io/handle/BytesHandle.java
diff --git a/src/main/java/org/scijava/io/handle/BytesHandle.java b/src/main/java/org/scijava/io/handle/BytesHandle.java
new file mode 100644
index 000000000..a375008bd
--- /dev/null
+++ b/src/main/java/org/scijava/io/handle/BytesHandle.java
@@ -0,0 +1,160 @@
+/*
+ * #%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.
+ * %%
+ * 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 org.scijava.io.ByteBank;
+import org.scijava.io.location.BytesLocation;
+import org.scijava.plugin.Plugin;
+
+/**
+ * {@link DataHandle} for a {@link BytesLocation}.
+ *
+ * @author Curtis Rueden
+ * @author Melissa Linkert
+ * @author Gabriel Einsdorf
+ */
+@Plugin(type = DataHandle.class)
+public class BytesHandle extends AbstractDataHandle {
+
+ private long offset = 0;
+
+ // -- DataHandle methods --
+
+ @Override
+ public long offset() {
+ return offset;
+ }
+
+ @Override
+ public long length() {
+ return bytes().getMaxPos();
+ }
+
+ @Override
+ public void setLength(final long length) throws IOException {
+ // check if new length is legal
+ bytes().basicRangeCheck(0, length);
+ // TODO update the maxLength?
+ }
+
+ @Override
+ public int read(final byte[] b, final int off, int len) throws IOException {
+ if (offset + len > length()) {
+ len = (int) (length() - offset);
+ }
+ bytes().getBytes(offset, b, off, len);
+ offset += len;
+ return len;
+ }
+
+ @Override
+ public void seek(final long pos) throws IOException {
+ if (pos > length()) setLength(pos);
+ offset = pos;
+ }
+
+ // -- DataInput methods --
+
+ @Override
+ public byte readByte() throws IOException {
+ ensureReadable(1);
+ try {
+ // we need to convert the bytes into the range 0-255
+ return bytes().getByte(offset++);
+ }
+ catch (final Exception e) {
+ throw eofException(e);
+ }
+ }
+
+ @Override
+ public void readFully(final byte[] b, final int off, final int len)
+ throws IOException
+ {
+ ensureReadable(len);
+ try {
+ bytes().getBytes(offset, b, off, len);
+ offset += len;
+ }
+ catch (final Exception e) {
+ throw eofException(e);
+ }
+ }
+
+ // -- DataOutput methods --
+
+ @Override
+ public void write(final byte[] b, final int off, final int len)
+ throws IOException
+ {
+ ensureWritable(len);
+ bytes().setBytes(offset, b, off, len);
+ offset += len;
+ }
+
+ @Override
+ public void write(final int b) throws IOException {
+ ensureWritable(1);
+ bytes().setByte(offset, (byte) b);
+ offset++;
+ }
+
+ // -- Closeable methods --
+
+ @Override
+ public void close() {
+ // NB: No action needed.
+ }
+
+ // -- Typed methods --
+
+ @Override
+ public Class getType() {
+ return BytesLocation.class;
+ }
+
+ // -- Helper methods --
+
+ private ByteBank bytes() {
+ return get().getByteBank();
+ }
+
+ private EOFException eofException(final Throwable cause) {
+ final EOFException eof = new EOFException();
+ eof.initCause(cause);
+ return eof;
+ }
+
+}
From 11df0fdea901afd0d4b6c502d2007703a255b37b Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Sun, 3 Jul 2016 10:13:47 -0500
Subject: [PATCH 089/754] Add unit tests for BytesHandle
---
.../org/scijava/io/handle/BytesHandle.java | 6 +-
.../scijava/io/location/BytesLocation.java | 4 +-
.../scijava/io/handle/BytesHandleTest.java | 59 +++++++++++++++++++
3 files changed, 64 insertions(+), 5 deletions(-)
create mode 100644 src/test/java/org/scijava/io/handle/BytesHandleTest.java
diff --git a/src/main/java/org/scijava/io/handle/BytesHandle.java b/src/main/java/org/scijava/io/handle/BytesHandle.java
index a375008bd..0b65ded64 100644
--- a/src/main/java/org/scijava/io/handle/BytesHandle.java
+++ b/src/main/java/org/scijava/io/handle/BytesHandle.java
@@ -8,13 +8,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
@@ -40,7 +40,7 @@
/**
* {@link DataHandle} for a {@link BytesLocation}.
- *
+ *
* @author Curtis Rueden
* @author Melissa Linkert
* @author Gabriel Einsdorf
diff --git a/src/main/java/org/scijava/io/location/BytesLocation.java b/src/main/java/org/scijava/io/location/BytesLocation.java
index 2fbb03928..aecf8edb6 100644
--- a/src/main/java/org/scijava/io/location/BytesLocation.java
+++ b/src/main/java/org/scijava/io/location/BytesLocation.java
@@ -8,13 +8,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/io/handle/BytesHandleTest.java b/src/test/java/org/scijava/io/handle/BytesHandleTest.java
new file mode 100644
index 000000000..3fafa0d6c
--- /dev/null
+++ b/src/test/java/org/scijava/io/handle/BytesHandleTest.java
@@ -0,0 +1,59 @@
+/*
+ * #%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.
+ * %%
+ * 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.ByteArrayOutputStream;
+import java.io.IOException;
+
+import org.scijava.io.location.BytesLocation;
+import org.scijava.io.location.Location;
+
+/**
+ * Tests {@link BytesHandle}.
+ *
+ * @author Curtis Rueden
+ */
+public class BytesHandleTest extends DataHandleTest {
+
+ @Override
+ public Class extends DataHandle>> getExpectedHandleType() {
+ return BytesHandle.class;
+ }
+
+ @Override
+ public Location createLocation() throws IOException {
+ final ByteArrayOutputStream out = new ByteArrayOutputStream();
+ populateData(out);
+ return new BytesLocation(out.toByteArray());
+ }
+
+}
From 966c71cc1b757fd320b89ce0cc68c6813e2feaf2 Mon Sep 17 00:00:00 2001
From: Gabriel Einsdorf
Date: Tue, 14 Mar 2017 14:50:53 +0100
Subject: [PATCH 090/754] Add support for read-only and write-only handles
Signed-off-by: Curtis Rueden
---
src/main/java/org/scijava/io/ByteBank.java | 6 ++++++
.../java/org/scijava/io/handle/BytesHandle.java | 10 ++++++++++
.../java/org/scijava/io/handle/DataHandle.java | 16 +++++++++++++---
.../java/org/scijava/io/handle/DummyHandle.java | 10 ++++++++++
.../java/org/scijava/io/handle/FileHandle.java | 10 ++++++++++
.../org/scijava/io/nio/ByteBufferByteBank.java | 11 +++++++++++
6 files changed, 60 insertions(+), 3 deletions(-)
diff --git a/src/main/java/org/scijava/io/ByteBank.java b/src/main/java/org/scijava/io/ByteBank.java
index bf4748a13..c5a567f60 100644
--- a/src/main/java/org/scijava/io/ByteBank.java
+++ b/src/main/java/org/scijava/io/ByteBank.java
@@ -160,4 +160,10 @@ default void basicRangeCheck(final long start, final long end) {
*/
long getMaxBufferSize();
+ /**
+ * @return True iff the buffer is read-only.
+ */
+ default boolean isReadOnly() {
+ return false;
+ }
}
diff --git a/src/main/java/org/scijava/io/handle/BytesHandle.java b/src/main/java/org/scijava/io/handle/BytesHandle.java
index 0b65ded64..813a99944 100644
--- a/src/main/java/org/scijava/io/handle/BytesHandle.java
+++ b/src/main/java/org/scijava/io/handle/BytesHandle.java
@@ -85,6 +85,16 @@ public void seek(final long pos) throws IOException {
offset = pos;
}
+ @Override
+ public boolean isReadable() {
+ return true;
+ }
+
+ @Override
+ public boolean isWritable() {
+ return !bytes().isReadOnly();
+ }
+
// -- DataInput methods --
@Override
diff --git a/src/main/java/org/scijava/io/handle/DataHandle.java b/src/main/java/org/scijava/io/handle/DataHandle.java
index 591f2ae4d..78e9ed376 100644
--- a/src/main/java/org/scijava/io/handle/DataHandle.java
+++ b/src/main/java/org/scijava/io/handle/DataHandle.java
@@ -115,15 +115,23 @@ default long available(final long count) throws IOException {
return remain < count ? remain : count;
}
+ /** Gets whether reading from this handle is supported. */
+ boolean isReadable();
+
+ /** Gets whether writing to this handle is supported. */
+ boolean isWritable();
+
/**
* Ensures that the handle has sufficient bytes available to read.
*
* @param count Number of bytes to read.
* @see #available(long)
* @throws EOFException If there are insufficient bytes available.
- * @throws IOException If something goes wrong with the check.
+ * @throws IOException If the handle is write-only, or something goes wrong
+ * with the check.
*/
default void ensureReadable(final long count) throws IOException {
+ if (!isReadable()) throw new IOException("This handle is write-only.");
if (available(count) < count) throw new EOFException();
}
@@ -134,10 +142,12 @@ default void ensureReadable(final long count) throws IOException {
* @param count Number of bytes to write.
* @return {@code true} if the handle's length was sufficient, or
* {@code false} if the handle's length required an extension.
- * @throws IOException If something goes wrong with the check, or there is an
- * error changing the handle's length.
+ * @throws IOException If the handle is read-only, or something goes wrong
+ * with the check, or there is an error changing the handle's
+ * length.
*/
default boolean ensureWritable(final long count) throws IOException {
+ if (!isWritable()) throw new IOException("This handle is read-only.");
final long minLength = offset() + count;
if (length() < minLength) {
setLength(minLength);
diff --git a/src/main/java/org/scijava/io/handle/DummyHandle.java b/src/main/java/org/scijava/io/handle/DummyHandle.java
index 5b072723a..1578a6b8c 100644
--- a/src/main/java/org/scijava/io/handle/DummyHandle.java
+++ b/src/main/java/org/scijava/io/handle/DummyHandle.java
@@ -73,6 +73,16 @@ public void setLength(final long length) throws IOException {
this.length = length;
}
+ @Override
+ public boolean isReadable() {
+ return true;
+ }
+
+ @Override
+ public boolean isWritable() {
+ return true;
+ }
+
// -- DataInput 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 e64739fa8..5541c064c 100644
--- a/src/main/java/org/scijava/io/handle/FileHandle.java
+++ b/src/main/java/org/scijava/io/handle/FileHandle.java
@@ -88,6 +88,16 @@ public void setLength(final long length) throws IOException {
raf().setLength(length);
}
+ @Override
+ public boolean isReadable() {
+ return getMode().contains("r");
+ }
+
+ @Override
+ public boolean isWritable() {
+ return getMode().contains("w");
+ }
+
@Override
public int read() throws IOException {
return raf().read();
diff --git a/src/main/java/org/scijava/io/nio/ByteBufferByteBank.java b/src/main/java/org/scijava/io/nio/ByteBufferByteBank.java
index 25fda9bbe..0c2f84cff 100644
--- a/src/main/java/org/scijava/io/nio/ByteBufferByteBank.java
+++ b/src/main/java/org/scijava/io/nio/ByteBufferByteBank.java
@@ -138,6 +138,17 @@ public long getMaxPos() {
return maxBufferedPos;
}
+ @Override
+ public boolean isReadOnly() {
+ // NB: Some ByteBuffers are read-only. But there is no API to check it.
+ // Therefore, we make a "best effort" guess based on known read-only types.
+ // Since these read-only types are not public, we compare class names rather
+ // than checking for type equality or using instanceof.
+ final String className = buffer.getClass().getName();
+ return className.equals("java.nio.HeapByteBufferR") ||
+ className.equals("java.nio.DirectByteBufferR");
+ }
+
private void ensureCapacity(final int minCapacity) {
final int oldCapacity = buffer.capacity();
if (minCapacity <= oldCapacity) return; // no need to grow
From 969cf3a85d076439e58e6946ad0cedd71242a4f6 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Mon, 10 Jul 2017 14:58:26 -0500
Subject: [PATCH 091/754] ByteBufferByteBank: test support for read-only
---
.../io/nio/ByteBufferByteBankTest.java | 75 +++++++++++++++++++
1 file changed, 75 insertions(+)
create mode 100644 src/test/java/org/scijava/io/nio/ByteBufferByteBankTest.java
diff --git a/src/test/java/org/scijava/io/nio/ByteBufferByteBankTest.java b/src/test/java/org/scijava/io/nio/ByteBufferByteBankTest.java
new file mode 100644
index 000000000..382110314
--- /dev/null
+++ b/src/test/java/org/scijava/io/nio/ByteBufferByteBankTest.java
@@ -0,0 +1,75 @@
+/*
+ * #%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.
+ * %%
+ * 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.nio;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import java.nio.ByteBuffer;
+
+import org.junit.Test;
+
+/**
+ * Tests {@link ByteBufferByteBank}.
+ *
+ * @author Curtis Rueden
+ */
+public class ByteBufferByteBankTest {
+
+ @Test
+ public void testReadOnlyDefault() {
+ final ByteBufferByteBank bank = new ByteBufferByteBank();
+ assertFalse(bank.isReadOnly());
+ }
+
+ @Test
+ public void testReadOnlyAllocate() {
+ final ByteBufferByteBank bank = new ByteBufferByteBank(
+ ByteBuffer::allocate);
+ assertFalse(bank.isReadOnly());
+
+ final ByteBufferByteBank readOnlyBank = new ByteBufferByteBank(
+ capacity -> ByteBuffer.allocate(capacity).asReadOnlyBuffer());
+ assertTrue(readOnlyBank.isReadOnly());
+ }
+
+ @Test
+ public void testReadOnlyAllocateDirect() {
+ final ByteBufferByteBank bank = new ByteBufferByteBank(
+ ByteBuffer::allocateDirect);
+ assertFalse(bank.isReadOnly());
+
+ final ByteBufferByteBank readOnlyBank = new ByteBufferByteBank(
+ capacity -> ByteBuffer.allocateDirect(capacity).asReadOnlyBuffer());
+ assertTrue(readOnlyBank.isReadOnly());
+ }
+}
From 6c7aab83cdaeacdca9128df6d9f6b60a68f6d250 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Tue, 11 Jul 2017 12:13:20 -0500
Subject: [PATCH 092/754] Location: improve javadoc of getName() method
---
src/main/java/org/scijava/io/location/Location.java | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/src/main/java/org/scijava/io/location/Location.java b/src/main/java/org/scijava/io/location/Location.java
index da96a1f98..db9dc146d 100644
--- a/src/main/java/org/scijava/io/location/Location.java
+++ b/src/main/java/org/scijava/io/location/Location.java
@@ -61,8 +61,13 @@ default URI getURI() {
}
/**
- * Gets the name of the object addressed by this location, or an empty string
- * if it has no name.
+ * Gets a (typically short) name expressing this location. This string is not
+ * intended to unambiguously identify the location, but rather act as a
+ * friendly, human-readable name. The precise behavior will depend on the
+ * implementation, but as an example, a file-based location could return the
+ * name of the associated file without its full path.
+ *
+ * @return The name, or an empty string if no name is available.
*/
default String getName() {
final URI uri = getURI();
From 27657aea13b30ee836c19eafd0d8e0d6ea1e5fd1 Mon Sep 17 00:00:00 2001
From: Gabriel Einsdorf
Date: Thu, 2 Mar 2017 10:05:52 +0100
Subject: [PATCH 093/754] Add RemoteLocation interface and abstract class
A RemoteLocation is not located on the current machine. We need the
ability to set a connection timeout for such locations, to prevent them
from halting the whole program.
---
.../io/location/AbstractRemoteLocation.java | 57 +++++++++++++++++++
.../scijava/io/location/RemoteLocation.java | 55 ++++++++++++++++++
2 files changed, 112 insertions(+)
create mode 100644 src/main/java/org/scijava/io/location/AbstractRemoteLocation.java
create mode 100644 src/main/java/org/scijava/io/location/RemoteLocation.java
diff --git a/src/main/java/org/scijava/io/location/AbstractRemoteLocation.java b/src/main/java/org/scijava/io/location/AbstractRemoteLocation.java
new file mode 100644
index 000000000..4aeba9d6b
--- /dev/null
+++ b/src/main/java/org/scijava/io/location/AbstractRemoteLocation.java
@@ -0,0 +1,57 @@
+/*
+ * #%L
+ * SciJava Common 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.location;
+
+/**
+ * Abstract base class for {@link RemoteLocation} implementations.
+ *
+ * @author Gabriel Einsdorf
+ */
+public abstract class AbstractRemoteLocation extends AbstractLocation implements
+ RemoteLocation
+{
+
+ /**
+ * The {@link RemoteLocation}s timeout in milliseconds.
+ */
+ private long timeout = 15_000l;
+
+ @Override
+ public long getTimeout() {
+ return timeout;
+ }
+
+ @Override
+ public void setTimeout(final long timeout) {
+ this.timeout = timeout;
+ }
+}
diff --git a/src/main/java/org/scijava/io/location/RemoteLocation.java b/src/main/java/org/scijava/io/location/RemoteLocation.java
new file mode 100644
index 000000000..ed5d43617
--- /dev/null
+++ b/src/main/java/org/scijava/io/location/RemoteLocation.java
@@ -0,0 +1,55 @@
+/*
+ * #%L
+ * SciJava Common 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.location;
+
+/**
+ * A {@link Location} which resides on a remote machine.
+ *
+ * @author Gabriel Einsdorf
+ */
+public interface RemoteLocation extends Location {
+
+ /**
+ * Sets the connection timeout for this location.
+ *
+ * @param timeout The timeout in milliseconds.
+ */
+ void setTimeout(long timeout);
+
+ /**
+ * Gets the connection timeout for this location.
+ *
+ * @return The connection timeout in milliseconds.
+ */
+ long getTimeout();
+
+}
From 09a59bc55371eb194cad76c542aa66e549a0e53c Mon Sep 17 00:00:00 2001
From: Gabriel Einsdorf
Date: Tue, 18 Jul 2017 12:26:47 +0200
Subject: [PATCH 094/754] Add tests for ByteBank and fix uncovered Bugs
---
.../org/scijava/io/ByteArrayByteBank.java | 12 +-
.../scijava/io/nio/ByteBufferByteBank.java | 11 +-
.../org/scijava/io/ByteArrayByteBankTest.java | 46 ++++++
.../java/org/scijava/io/ByteBankTest.java | 149 ++++++++++++++++++
.../io/location/BytesLocationTest.java | 2 +-
.../io/nio/ByteBufferByteBankTest.java | 28 +++-
6 files changed, 240 insertions(+), 8 deletions(-)
create mode 100644 src/test/java/org/scijava/io/ByteArrayByteBankTest.java
create mode 100644 src/test/java/org/scijava/io/ByteBankTest.java
diff --git a/src/main/java/org/scijava/io/ByteArrayByteBank.java b/src/main/java/org/scijava/io/ByteArrayByteBank.java
index f65e8deef..252500cb1 100644
--- a/src/main/java/org/scijava/io/ByteArrayByteBank.java
+++ b/src/main/java/org/scijava/io/ByteArrayByteBank.java
@@ -68,7 +68,7 @@ public ByteArrayByteBank(final int initialCapacity) {
*/
public ByteArrayByteBank(final ByteArray bytes) {
buffer = bytes;
- bytes.size();
+ maxBufferedPos = bytes.size();
}
/**
@@ -98,12 +98,17 @@ public void setBytes(final long startpos, final byte[] bytes,
// copy the data
System.arraycopy(bytes, offset, buffer.getArray(), (int) startpos, length);
buffer.setSize(neededCapacity);
- updateMaxPos(startpos + length);
+ updateMaxPos(startpos + length - 1);
}
@Override
public void setByte(final long pos, final byte b) {
checkWritePos(pos, pos);
+ buffer.ensureCapacity((int) pos);
+ // NB: update the size of the underlying buffer before appending to it
+ if (pos == buffer.size()) {
+ buffer.setSize((int) (pos + 1));
+ }
buffer.setValue((int) pos, b);
updateMaxPos(pos);
}
@@ -131,7 +136,8 @@ public int getBytes(final long startPos, final byte[] b, final int offset,
final int length)
{
checkReadPos(startPos, startPos + length);
- final int readLength = (int) Math.min(getMaxPos() - startPos, length);
+ // ensure we don't try to read data which is not in the buffer
+ final int readLength = (int) Math.min(getMaxPos() - startPos + 1, length);
System.arraycopy(buffer.getArray(), (int) startPos, b, offset, readLength);
return readLength;
}
diff --git a/src/main/java/org/scijava/io/nio/ByteBufferByteBank.java b/src/main/java/org/scijava/io/nio/ByteBufferByteBank.java
index 0c2f84cff..8245aa663 100644
--- a/src/main/java/org/scijava/io/nio/ByteBufferByteBank.java
+++ b/src/main/java/org/scijava/io/nio/ByteBufferByteBank.java
@@ -93,12 +93,15 @@ public void setBytes(final long startpos, final byte[] bytes,
buffer.put(bytes, offset, length);
// update the maxpos
- updateMaxPos(startpos + length);
+ updateMaxPos(startpos + length - 1);
}
@Override
public void setByte(final long pos, final byte b) {
checkWritePos(pos, pos);
+ if (pos == buffer.capacity()) {
+ ensureCapacity((int) pos + 1);
+ }
buffer.put((int) pos, b);
updateMaxPos(pos);
}
@@ -127,10 +130,12 @@ public int getBytes(final long startPos, final byte[] b, final int offset,
final int length)
{
checkReadPos(startPos, startPos + length);
+ // ensure we don't try to read data which is not in the buffer
+ final int readLength = (int) Math.min(getMaxPos() - startPos + 1, length);
buffer.position((int) startPos);
- buffer.get(b, offset, length);
+ buffer.get(b, offset, readLength);
- return length;
+ return readLength;
}
@Override
diff --git a/src/test/java/org/scijava/io/ByteArrayByteBankTest.java b/src/test/java/org/scijava/io/ByteArrayByteBankTest.java
new file mode 100644
index 000000000..483f4c260
--- /dev/null
+++ b/src/test/java/org/scijava/io/ByteArrayByteBankTest.java
@@ -0,0 +1,46 @@
+/*
+ * #%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.
+ * %%
+ * 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;
+
+/**
+ * Tests {@link ByteArrayByteBank}
+ *
+ * @author Gabriel Einsdorf
+ * @see ByteBankTest
+ */
+public class ByteArrayByteBankTest extends ByteBankTest {
+
+ @Override
+ public ByteBank createByteBank() {
+ return new ByteArrayByteBank();
+ }
+}
diff --git a/src/test/java/org/scijava/io/ByteBankTest.java b/src/test/java/org/scijava/io/ByteBankTest.java
new file mode 100644
index 000000000..219306c1a
--- /dev/null
+++ b/src/test/java/org/scijava/io/ByteBankTest.java
@@ -0,0 +1,149 @@
+/*
+ * #%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.
+ * %%
+ * 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 static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * Abstract superclass for testing {@link ByteBank} implementations.
+ *
+ * @author Gabriel Einsdorf
+ */
+public abstract class ByteBankTest {
+
+ private static byte[] testBytes = { 0, -1, 2, -3, 4, 120, -128, 127, 32, 42 };
+ private ByteBank bank;
+
+ /**
+ * @return the ByteBank implementation to test
+ */
+ public abstract ByteBank createByteBank();
+
+ @Before
+ public void setup() {
+ bank = createByteBank();
+ }
+
+ @Test
+ public void testSetGetBytesArray() {
+ // read in full array
+ bank.setBytes(0l, testBytes.clone(), 0, testBytes.length);
+
+ // read out full array
+ assertEqualRead(testBytes.length, 0);
+ assertEqualRead(testBytes.length - 4, 2);
+ }
+
+ @Test
+ public void testSetGetBytesPartialArray() {
+ // read in the partial array
+ bank.setBytes(0l, testBytes, 0, testBytes.length - 4);
+
+ // read out the partial array
+ assertEqualRead(testBytes.length - 4, 0);
+ assertEqualRead(testBytes.length - 4, 2);
+ }
+
+ @Test
+ public void testSetGetByte() {
+ final int numElements = 200_000;
+ for (int i = 0; i < numElements; i++) {
+ bank.setByte(i, (byte) i);
+ }
+
+ for (int i = 0; i < numElements; i++) {
+ assertEquals((byte) i, bank.getByte(i));
+ }
+ }
+
+ @Test
+ public void testClear() {
+ bank.setBytes(0, testBytes, 0, testBytes.length);
+ assertEquals(testBytes.length - 1, bank.getMaxPos());
+
+ bank.clear();
+ assertEquals(0, bank.getMaxPos());
+ }
+
+ @Test
+ public void testAppendBytes() {
+ // simple append
+ bank.appendBytes(testBytes, testBytes.length);
+ assertEqualRead(testBytes.length, 0);
+
+ // append to buffer that already contains data
+ bank.clear();
+ bank.setByte(0l, (byte) 42);
+ bank.setByte(1l, (byte) 43);
+ bank.appendBytes(testBytes, testBytes.length);
+
+ final byte[] expected = new byte[testBytes.length + 2];
+ expected[0] = 42;
+ expected[1] = 43;
+ System.arraycopy(testBytes, 0, expected, 2, testBytes.length);
+
+ final byte[] actuals = new byte[expected.length];
+ bank.getBytes(0, actuals);
+
+ assertArrayEquals(expected, actuals);
+ }
+
+ /**
+ * Asserts that {@link #bank} contains the same bytes as {@link #testBytes},
+ * allows to specify an offset.
+ *
+ * @param length how many bytes (starting from the offset) of
+ * {@link #testBytes} are tested, this allows to test partial reads.
+ * @param offset the offset position
+ */
+ private void assertEqualRead(final int length, final int offset) {
+ // read from offset up to the length of the given array
+ final byte[] bytes = new byte[length];
+ final int read = bank.getBytes(offset, bytes);
+
+ final byte[] expected = new byte[length];
+ System.arraycopy(testBytes, offset, expected, 0, read);
+ assertArrayEquals(expected, bytes);
+
+ // read from offset to offset
+ final byte[] offsetBytes = new byte[testBytes.length];
+ final int readOffset = bank.getBytes(offset, offsetBytes, offset, length);
+
+ final byte[] offsetExpected = new byte[testBytes.length];
+ System.arraycopy(testBytes, offset, offsetExpected, offset, readOffset);
+ assertArrayEquals(expected, bytes);
+ }
+}
diff --git a/src/test/java/org/scijava/io/location/BytesLocationTest.java b/src/test/java/org/scijava/io/location/BytesLocationTest.java
index d35e9559e..b88eb36cd 100644
--- a/src/test/java/org/scijava/io/location/BytesLocationTest.java
+++ b/src/test/java/org/scijava/io/location/BytesLocationTest.java
@@ -64,7 +64,7 @@ public void testBytesOffsetLength() {
final byte[] testDigits = new byte[digits.length];
loc.getByteBank().getBytes(0, testDigits);
- assertEquals(length, loc.getByteBank().getMaxPos());
+ assertEquals(length - 1, loc.getByteBank().getMaxPos());
final byte[] expectedDigits = new byte[digits.length];
System.arraycopy(digits, offset, expectedDigits, 0, length);
diff --git a/src/test/java/org/scijava/io/nio/ByteBufferByteBankTest.java b/src/test/java/org/scijava/io/nio/ByteBufferByteBankTest.java
index 382110314..3efb7ca7f 100644
--- a/src/test/java/org/scijava/io/nio/ByteBufferByteBankTest.java
+++ b/src/test/java/org/scijava/io/nio/ByteBufferByteBankTest.java
@@ -35,15 +35,41 @@
import static org.junit.Assert.assertTrue;
import java.nio.ByteBuffer;
+import java.util.function.Function;
import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameter;
+import org.junit.runners.Parameterized.Parameters;
+import org.scijava.io.ByteBank;
+import org.scijava.io.ByteBankTest;
/**
* Tests {@link ByteBufferByteBank}.
*
* @author Curtis Rueden
+ * @author Gabriel Einsdorf
+ * @see ByteBankTest
*/
-public class ByteBufferByteBankTest {
+@RunWith(Parameterized.class)
+public class ByteBufferByteBankTest extends ByteBankTest {
+
+ @Parameter
+ public Function supplier;
+
+ @Parameters
+ public static Object[] params() {
+ final Function alloc = ByteBuffer::allocate;
+ final Function allocDirect =
+ ByteBuffer::allocateDirect;
+ return new Function[] { alloc, allocDirect };
+ }
+
+ @Override
+ public ByteBank createByteBank() {
+ return new ByteBufferByteBank(supplier);
+ }
@Test
public void testReadOnlyDefault() {
From 66af2f6716b9816173d0e7ce246db13999f9661d Mon Sep 17 00:00:00 2001
From: Gabriel Einsdorf
Date: Tue, 18 Jul 2017 12:32:19 +0200
Subject: [PATCH 095/754] ByteBank: add appendBytes method with offset
---
src/main/java/org/scijava/io/ByteBank.java | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/src/main/java/org/scijava/io/ByteBank.java b/src/main/java/org/scijava/io/ByteBank.java
index c5a567f60..e97b15bfe 100644
--- a/src/main/java/org/scijava/io/ByteBank.java
+++ b/src/main/java/org/scijava/io/ByteBank.java
@@ -80,7 +80,18 @@ default int getBytes(long startPos, byte[] bytes) {
* @param length the number of elements to append from the bytes array
*/
default void appendBytes(byte[] bytes, int length) {
- setBytes(getMaxPos() + 1, bytes, 0, length);
+ appendBytes(bytes, 0, length);
+ }
+
+ /**
+ * Appends the given bytes to the buffer
+ *
+ * @param bytes the array containing the bytes to append to the buffer
+ * @param offset the offset in the bytes array
+ * @param length the number of elements to append from the bytes array
+ */
+ default void appendBytes(byte[] bytes, int offset, int length) {
+ setBytes(getMaxPos() + 1, bytes, offset, length);
}
/**
From 133142ad79862847482807533a06c48b927f9cb3 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Thu, 20 Jul 2017 12:41:35 -0500
Subject: [PATCH 096/754] Typed: do runtime type checking in default method
See 596813c198d3f6eb77efac458a4d3dd71cfcfaf6.
---
src/main/java/org/scijava/Typed.java | 14 +++++++++-----
.../org/scijava/plugin/AbstractTypedPlugin.java | 9 +++------
2 files changed, 12 insertions(+), 11 deletions(-)
diff --git a/src/main/java/org/scijava/Typed.java b/src/main/java/org/scijava/Typed.java
index e76d0fc93..e650fc98e 100644
--- a/src/main/java/org/scijava/Typed.java
+++ b/src/main/java/org/scijava/Typed.java
@@ -42,13 +42,17 @@ public interface Typed {
/**
* Gets whether this object is compatible with the given data object.
*
- * By default, this method will return {@code true} always, since the type is
- * known to be compatible. But individual implementations may have other
- * requirements beyond class assignability.
+ * By default, this method will return {@code true} iff the data is assignable
+ * to the associated type given by {@link #getType()}. But individual
+ * implementations may have other requirements beyond class assignability.
*
*/
- default boolean supports(@SuppressWarnings("unused") T data) {
- return true;
+ default boolean supports(final T data) {
+ // NB: Even though the compiler will often guarantee that only data
+ // of type T is provided here, we still need the runtime check
+ // for cases where the exact type is not known to compiler --
+ // e.g., if the object was manufactured by reflection.
+ return getType().isInstance(data);
}
/** Gets the type associated with the object. */
diff --git a/src/main/java/org/scijava/plugin/AbstractTypedPlugin.java b/src/main/java/org/scijava/plugin/AbstractTypedPlugin.java
index ac29ee129..75fe7a7c5 100644
--- a/src/main/java/org/scijava/plugin/AbstractTypedPlugin.java
+++ b/src/main/java/org/scijava/plugin/AbstractTypedPlugin.java
@@ -47,11 +47,8 @@ public abstract class AbstractTypedPlugin extends AbstractRichPlugin
@Override
public boolean supports(final D data) {
- // NB: Even though the compiler will often guarantee that only data
- // of type T is provided here, we still need the runtime check
- // for cases where the exact type is not known to compiler --
- // e.g., if the object was manufactured by reflection.
- return getType().isInstance(data);
+ // NB: Overridden just for backwards compatibility, so that
+ // downstream classes which call super.supports continue to work.
+ return TypedPlugin.super.supports(data);
}
-
}
From fde1871750adefcb52acde15761299115a348b66 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Thu, 20 Jul 2017 12:57:22 -0500
Subject: [PATCH 097/754] Make input widgets call the right supports method
We want them to call InputWidget.supports(WidgetModel),
not AbstractTypedPlugin.supports(WidgetModel).
Hooray for multiple inheritance!
Closes #283.
---
src/main/java/org/scijava/widget/AbstractInputWidget.java | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/src/main/java/org/scijava/widget/AbstractInputWidget.java b/src/main/java/org/scijava/widget/AbstractInputWidget.java
index 0a95225ac..321dd2a1a 100644
--- a/src/main/java/org/scijava/widget/AbstractInputWidget.java
+++ b/src/main/java/org/scijava/widget/AbstractInputWidget.java
@@ -67,4 +67,11 @@ public void set(final WidgetModel model) {
public WidgetModel get() {
return widgetModel;
}
+
+ // -- Typed methods --
+
+ @Override
+ public boolean supports(final WidgetModel data) {
+ return InputWidget.super.supports(data);
+ }
}
From 72a7e372328d8d6f98d7b059794d7471a17add2d Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Thu, 20 Jul 2017 13:09:46 -0500
Subject: [PATCH 098/754] Update copyright and license headers
University of Konstanz and KNIME GmbH have contributed significant
amounts of code to SciJava Common, and are joint copyright holders.
---
LICENSE.txt | 5 +++--
pom.xml | 5 +++--
src/it/apt-test/pom.xml | 5 +++--
src/it/apt-test/setup.bsh | 5 +++--
.../java/org/scijava/annotation/its/Annotated.java | 5 +++--
.../org/scijava/annotation/its/CustomAnnotation.java | 5 +++--
src/it/apt-test/verify.bsh | 5 +++--
src/it/settings.xml | 5 +++--
src/main/java/org/scijava/AbstractBasicDetails.java | 5 +++--
src/main/java/org/scijava/AbstractContextual.java | 5 +++--
src/main/java/org/scijava/AbstractGateway.java | 5 +++--
src/main/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 +++--
src/main/java/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 +++--
src/main/java/org/scijava/NoSuchServiceException.java | 5 +++--
src/main/java/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 +++--
src/main/java/org/scijava/ValidityProblem.java | 5 +++--
src/main/java/org/scijava/Versioned.java | 5 +++--
.../org/scijava/annotations/AbstractIndexWriter.java | 5 +++--
.../org/scijava/annotations/AnnotationCombiner.java | 5 +++--
.../org/scijava/annotations/AnnotationProcessor.java | 5 +++--
.../org/scijava/annotations/ByteCodeAnalyzer.java | 5 +++--
.../org/scijava/annotations/DirectoryIndexer.java | 5 +++--
.../java/org/scijava/annotations/EclipseHelper.java | 5 +++--
src/main/java/org/scijava/annotations/Index.java | 5 +++--
src/main/java/org/scijava/annotations/IndexItem.java | 5 +++--
.../java/org/scijava/annotations/IndexReader.java | 5 +++--
src/main/java/org/scijava/annotations/Indexable.java | 5 +++--
.../org/scijava/annotations/legacy/LegacyReader.java | 5 +++--
src/main/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 +++--
src/main/java/org/scijava/app/DefaultAppService.java | 5 +++--
.../java/org/scijava/app/DefaultStatusService.java | 5 +++--
src/main/java/org/scijava/app/SciJavaApp.java | 5 +++--
src/main/java/org/scijava/app/StatusService.java | 5 +++--
src/main/java/org/scijava/app/event/StatusEvent.java | 5 +++--
src/main/java/org/scijava/cache/CacheService.java | 5 +++--
.../java/org/scijava/cache/DefaultCacheService.java | 5 +++--
src/main/java/org/scijava/command/Command.java | 5 +++--
src/main/java/org/scijava/command/CommandInfo.java | 5 +++--
src/main/java/org/scijava/command/CommandModule.java | 5 +++--
.../java/org/scijava/command/CommandModuleItem.java | 5 +++--
src/main/java/org/scijava/command/CommandService.java | 5 +++--
src/main/java/org/scijava/command/ContextCommand.java | 5 +++--
.../org/scijava/command/DefaultCommandService.java | 5 +++--
src/main/java/org/scijava/command/DynamicCommand.java | 5 +++--
.../java/org/scijava/command/DynamicCommandInfo.java | 5 +++--
src/main/java/org/scijava/command/Interactive.java | 5 +++--
.../java/org/scijava/command/InteractiveCommand.java | 5 +++--
src/main/java/org/scijava/command/ModuleCommand.java | 5 +++--
src/main/java/org/scijava/command/Previewable.java | 5 +++--
.../org/scijava/command/UnimplementedCommand.java | 5 +++--
.../java/org/scijava/command/console/RunArgument.java | 5 +++--
.../org/scijava/command/run/CommandCodeRunner.java | 5 +++--
.../org/scijava/console/AbstractConsoleArgument.java | 5 +++--
.../java/org/scijava/console/ConsoleArgument.java | 5 +++--
src/main/java/org/scijava/console/ConsoleService.java | 5 +++--
src/main/java/org/scijava/console/ConsoleUtils.java | 5 +++--
.../org/scijava/console/DefaultConsoleService.java | 5 +++--
.../java/org/scijava/console/MultiOutputStream.java | 5 +++--
.../java/org/scijava/console/MultiPrintStream.java | 5 +++--
src/main/java/org/scijava/console/OutputEvent.java | 5 +++--
src/main/java/org/scijava/console/OutputListener.java | 5 +++--
.../org/scijava/console/SystemPropertyArgument.java | 5 +++--
.../org/scijava/convert/AbstractConvertService.java | 5 +++--
.../java/org/scijava/convert/AbstractConverter.java | 5 +++--
.../java/org/scijava/convert/ArrayConverters.java | 5 +++--
.../java/org/scijava/convert/CastingConverter.java | 5 +++--
.../java/org/scijava/convert/ConversionRequest.java | 5 +++--
src/main/java/org/scijava/convert/ConvertService.java | 5 +++--
src/main/java/org/scijava/convert/Converter.java | 5 +++--
.../org/scijava/convert/DefaultConvertService.java | 5 +++--
.../java/org/scijava/convert/DefaultConverter.java | 5 +++--
src/main/java/org/scijava/convert/NullConverter.java | 5 +++--
.../java/org/scijava/convert/NumberConverters.java | 5 +++--
.../scijava/convert/NumberToBigDecimalConverter.java | 5 +++--
.../scijava/convert/NumberToBigIntegerConverter.java | 5 +++--
.../org/scijava/convert/NumberToDoubleConverter.java | 5 +++--
.../org/scijava/convert/NumberToFloatConverter.java | 5 +++--
.../org/scijava/convert/NumberToIntegerConverter.java | 5 +++--
.../org/scijava/convert/NumberToLongConverter.java | 5 +++--
.../org/scijava/convert/NumberToNumberConverter.java | 5 +++--
.../org/scijava/convert/NumberToShortConverter.java | 5 +++--
.../org/scijava/convert/PrimitiveArrayUnwrapper.java | 5 +++--
.../org/scijava/convert/PrimitiveArrayWrapper.java | 5 +++--
.../java/org/scijava/display/AbstractDisplay.java | 5 +++--
.../scijava/display/ActiveDisplayPreprocessor.java | 5 +++--
src/main/java/org/scijava/display/DefaultDisplay.java | 5 +++--
.../org/scijava/display/DefaultDisplayService.java | 5 +++--
.../java/org/scijava/display/DefaultTextDisplay.java | 5 +++--
src/main/java/org/scijava/display/Display.java | 5 +++--
.../org/scijava/display/DisplayPostprocessor.java | 5 +++--
src/main/java/org/scijava/display/DisplayService.java | 5 +++--
src/main/java/org/scijava/display/Displayable.java | 5 +++--
src/main/java/org/scijava/display/TextDisplay.java | 5 +++--
.../scijava/display/event/DisplayActivatedEvent.java | 5 +++--
.../scijava/display/event/DisplayCreatedEvent.java | 5 +++--
.../scijava/display/event/DisplayDeletedEvent.java | 5 +++--
.../java/org/scijava/display/event/DisplayEvent.java | 5 +++--
.../scijava/display/event/DisplayUpdatedEvent.java | 5 +++--
.../org/scijava/display/event/input/InputEvent.java | 5 +++--
.../java/org/scijava/display/event/input/KyEvent.java | 5 +++--
.../scijava/display/event/input/KyPressedEvent.java | 5 +++--
.../scijava/display/event/input/KyReleasedEvent.java | 5 +++--
.../org/scijava/display/event/input/KyTypedEvent.java | 5 +++--
.../scijava/display/event/input/MsButtonEvent.java | 5 +++--
.../scijava/display/event/input/MsClickedEvent.java | 5 +++--
.../scijava/display/event/input/MsDraggedEvent.java | 5 +++--
.../scijava/display/event/input/MsEnteredEvent.java | 5 +++--
.../java/org/scijava/display/event/input/MsEvent.java | 5 +++--
.../scijava/display/event/input/MsExitedEvent.java | 5 +++--
.../org/scijava/display/event/input/MsMovedEvent.java | 5 +++--
.../scijava/display/event/input/MsPressedEvent.java | 5 +++--
.../scijava/display/event/input/MsReleasedEvent.java | 5 +++--
.../org/scijava/display/event/input/MsWheelEvent.java | 5 +++--
.../display/event/window/WinActivatedEvent.java | 5 +++--
.../scijava/display/event/window/WinClosedEvent.java | 5 +++--
.../scijava/display/event/window/WinClosingEvent.java | 5 +++--
.../display/event/window/WinDeactivatedEvent.java | 5 +++--
.../display/event/window/WinDeiconifiedEvent.java | 5 +++--
.../org/scijava/display/event/window/WinEvent.java | 5 +++--
.../display/event/window/WinIconifiedEvent.java | 5 +++--
.../scijava/display/event/window/WinOpenedEvent.java | 5 +++--
.../java/org/scijava/event/ContextDisposingEvent.java | 5 +++--
src/main/java/org/scijava/event/DefaultEventBus.java | 5 +++--
.../java/org/scijava/event/DefaultEventHistory.java | 5 +++--
.../java/org/scijava/event/DefaultEventService.java | 5 +++--
src/main/java/org/scijava/event/EventDetails.java | 5 +++--
src/main/java/org/scijava/event/EventHandler.java | 5 +++--
src/main/java/org/scijava/event/EventHistory.java | 5 +++--
.../java/org/scijava/event/EventHistoryListener.java | 5 +++--
src/main/java/org/scijava/event/EventService.java | 5 +++--
src/main/java/org/scijava/event/EventSubscriber.java | 5 +++--
src/main/java/org/scijava/event/SciJavaEvent.java | 5 +++--
src/main/java/org/scijava/input/Accelerator.java | 5 +++--
.../java/org/scijava/input/DefaultInputService.java | 5 +++--
src/main/java/org/scijava/input/InputModifiers.java | 5 +++--
src/main/java/org/scijava/input/InputService.java | 5 +++--
src/main/java/org/scijava/input/KeyCode.java | 5 +++--
src/main/java/org/scijava/input/MouseCursor.java | 5 +++--
src/main/java/org/scijava/io/AbstractIOPlugin.java | 5 +++--
src/main/java/org/scijava/io/ByteArrayByteBank.java | 9 +++++----
src/main/java/org/scijava/io/ByteBank.java | 9 +++++----
src/main/java/org/scijava/io/DefaultIOService.java | 5 +++--
.../java/org/scijava/io/DefaultRecentFileService.java | 5 +++--
src/main/java/org/scijava/io/IOPlugin.java | 5 +++--
src/main/java/org/scijava/io/IOService.java | 5 +++--
src/main/java/org/scijava/io/RecentFileService.java | 5 +++--
.../java/org/scijava/io/console/OpenArgument.java | 5 +++--
.../java/org/scijava/io/event/DataOpenedEvent.java | 5 +++--
.../java/org/scijava/io/event/DataSavedEvent.java | 5 +++--
src/main/java/org/scijava/io/event/IOEvent.java | 5 +++--
.../org/scijava/io/handle/AbstractDataHandle.java | 5 +++--
src/main/java/org/scijava/io/handle/BytesHandle.java | 11 ++++++-----
src/main/java/org/scijava/io/handle/DataHandle.java | 5 +++--
.../org/scijava/io/handle/DataHandleInputStream.java | 5 +++--
.../org/scijava/io/handle/DataHandleOutputStream.java | 5 +++--
.../java/org/scijava/io/handle/DataHandleService.java | 5 +++--
src/main/java/org/scijava/io/handle/DataHandles.java | 5 +++--
.../scijava/io/handle/DefaultDataHandleService.java | 5 +++--
src/main/java/org/scijava/io/handle/DummyHandle.java | 9 +++++----
src/main/java/org/scijava/io/handle/FileHandle.java | 5 +++--
.../org/scijava/io/location/AbstractLocation.java | 5 +++--
.../scijava/io/location/AbstractRemoteLocation.java | 9 +++++----
.../java/org/scijava/io/location/BytesLocation.java | 9 +++++----
.../java/org/scijava/io/location/DummyLocation.java | 11 ++++++-----
.../java/org/scijava/io/location/FileLocation.java | 5 +++--
src/main/java/org/scijava/io/location/Location.java | 5 +++--
.../java/org/scijava/io/location/RemoteLocation.java | 5 +++--
.../java/org/scijava/io/location/URILocation.java | 5 +++--
.../java/org/scijava/io/location/URLLocation.java | 5 +++--
.../java/org/scijava/io/nio/ByteBufferByteBank.java | 9 +++++----
.../java/org/scijava/io/nio/DefaultNIOService.java | 7 ++++---
src/main/java/org/scijava/io/nio/NIOService.java | 7 ++++---
src/main/java/org/scijava/log/AbstractLogService.java | 5 +++--
.../scijava/log/DefaultUncaughtExceptionHandler.java | 5 +++--
src/main/java/org/scijava/log/LogService.java | 5 +++--
src/main/java/org/scijava/log/Logged.java | 5 +++--
src/main/java/org/scijava/log/StderrLogService.java | 5 +++--
.../java/org/scijava/main/DefaultMainService.java | 5 +++--
src/main/java/org/scijava/main/MainService.java | 5 +++--
.../java/org/scijava/main/console/MainArgument.java | 5 +++--
.../java/org/scijava/main/run/MainCodeRunner.java | 5 +++--
.../java/org/scijava/menu/AbstractMenuCreator.java | 5 +++--
.../java/org/scijava/menu/DefaultMenuService.java | 5 +++--
src/main/java/org/scijava/menu/MenuConstants.java | 5 +++--
src/main/java/org/scijava/menu/MenuCreator.java | 5 +++--
src/main/java/org/scijava/menu/MenuService.java | 5 +++--
src/main/java/org/scijava/menu/ShadowMenu.java | 5 +++--
.../java/org/scijava/menu/ShadowMenuIterator.java | 5 +++--
src/main/java/org/scijava/menu/event/MenuEvent.java | 5 +++--
.../java/org/scijava/menu/event/MenusAddedEvent.java | 5 +++--
.../org/scijava/menu/event/MenusRemovedEvent.java | 5 +++--
.../org/scijava/menu/event/MenusUpdatedEvent.java | 5 +++--
src/main/java/org/scijava/module/AbstractModule.java | 5 +++--
.../java/org/scijava/module/AbstractModuleInfo.java | 5 +++--
.../java/org/scijava/module/AbstractModuleItem.java | 5 +++--
.../java/org/scijava/module/DefaultModuleService.java | 5 +++--
.../java/org/scijava/module/DefaultMutableModule.java | 5 +++--
.../org/scijava/module/DefaultMutableModuleInfo.java | 5 +++--
.../org/scijava/module/DefaultMutableModuleItem.java | 5 +++--
.../java/org/scijava/module/MethodCallException.java | 5 +++--
src/main/java/org/scijava/module/MethodRef.java | 5 +++--
src/main/java/org/scijava/module/Module.java | 5 +++--
.../org/scijava/module/ModuleCanceledException.java | 5 +++--
src/main/java/org/scijava/module/ModuleException.java | 5 +++--
src/main/java/org/scijava/module/ModuleIndex.java | 5 +++--
src/main/java/org/scijava/module/ModuleInfo.java | 5 +++--
src/main/java/org/scijava/module/ModuleItem.java | 5 +++--
src/main/java/org/scijava/module/ModuleRunner.java | 5 +++--
src/main/java/org/scijava/module/ModuleService.java | 5 +++--
src/main/java/org/scijava/module/MutableModule.java | 5 +++--
.../java/org/scijava/module/MutableModuleInfo.java | 5 +++--
.../java/org/scijava/module/MutableModuleItem.java | 5 +++--
.../org/scijava/module/event/ModuleCanceledEvent.java | 5 +++--
.../java/org/scijava/module/event/ModuleEvent.java | 5 +++--
.../org/scijava/module/event/ModuleExecutedEvent.java | 5 +++--
.../scijava/module/event/ModuleExecutingEvent.java | 5 +++--
.../scijava/module/event/ModuleExecutionEvent.java | 5 +++--
.../org/scijava/module/event/ModuleFinishedEvent.java | 5 +++--
.../scijava/module/event/ModulePostprocessEvent.java | 5 +++--
.../scijava/module/event/ModulePreprocessEvent.java | 5 +++--
.../org/scijava/module/event/ModuleProcessEvent.java | 5 +++--
.../org/scijava/module/event/ModuleStartedEvent.java | 5 +++--
.../org/scijava/module/event/ModulesAddedEvent.java | 5 +++--
.../org/scijava/module/event/ModulesListEvent.java | 5 +++--
.../org/scijava/module/event/ModulesRemovedEvent.java | 5 +++--
.../org/scijava/module/event/ModulesUpdatedEvent.java | 5 +++--
.../module/process/AbstractPostprocessorPlugin.java | 5 +++--
.../module/process/AbstractPreprocessorPlugin.java | 5 +++--
.../process/AbstractSingleInputPreprocessor.java | 5 +++--
.../module/process/CheckInputsPreprocessor.java | 5 +++--
.../scijava/module/process/DebugPostprocessor.java | 5 +++--
.../org/scijava/module/process/DebugPreprocessor.java | 5 +++--
.../module/process/DefaultValuePreprocessor.java | 5 +++--
.../scijava/module/process/GatewayPreprocessor.java | 5 +++--
.../org/scijava/module/process/InitPreprocessor.java | 5 +++--
.../module/process/LoadInputsPreprocessor.java | 5 +++--
.../scijava/module/process/ModulePostprocessor.java | 5 +++--
.../scijava/module/process/ModulePreprocessor.java | 5 +++--
.../org/scijava/module/process/ModuleProcessor.java | 5 +++--
.../scijava/module/process/PostprocessorPlugin.java | 5 +++--
.../scijava/module/process/PreprocessorPlugin.java | 5 +++--
.../module/process/SaveInputsPreprocessor.java | 5 +++--
.../scijava/module/process/ServicePreprocessor.java | 5 +++--
.../scijava/module/process/ValidityPreprocessor.java | 5 +++--
.../java/org/scijava/module/run/ModuleCodeRunner.java | 5 +++--
.../java/org/scijava/object/DefaultObjectService.java | 5 +++--
src/main/java/org/scijava/object/LazyObjects.java | 5 +++--
src/main/java/org/scijava/object/ObjectIndex.java | 5 +++--
src/main/java/org/scijava/object/ObjectService.java | 5 +++--
.../java/org/scijava/object/SortedObjectIndex.java | 5 +++--
src/main/java/org/scijava/object/event/ListEvent.java | 5 +++--
.../org/scijava/object/event/ObjectCreatedEvent.java | 5 +++--
.../org/scijava/object/event/ObjectDeletedEvent.java | 5 +++--
.../java/org/scijava/object/event/ObjectEvent.java | 5 +++--
.../org/scijava/object/event/ObjectModifiedEvent.java | 5 +++--
.../org/scijava/object/event/ObjectsAddedEvent.java | 5 +++--
.../org/scijava/object/event/ObjectsListEvent.java | 5 +++--
.../org/scijava/object/event/ObjectsRemovedEvent.java | 5 +++--
.../org/scijava/options/DefaultOptionsService.java | 5 +++--
src/main/java/org/scijava/options/OptionsPlugin.java | 5 +++--
src/main/java/org/scijava/options/OptionsService.java | 5 +++--
.../java/org/scijava/options/event/OptionsEvent.java | 5 +++--
.../java/org/scijava/parse/DefaultParseService.java | 5 +++--
src/main/java/org/scijava/parse/Item.java | 5 +++--
src/main/java/org/scijava/parse/Items.java | 5 +++--
src/main/java/org/scijava/parse/ParseService.java | 5 +++--
.../java/org/scijava/platform/AbstractPlatform.java | 5 +++--
.../java/org/scijava/platform/AppEventService.java | 5 +++--
.../org/scijava/platform/DefaultAppEventService.java | 5 +++--
.../java/org/scijava/platform/DefaultPlatform.java | 5 +++--
.../org/scijava/platform/DefaultPlatformService.java | 5 +++--
src/main/java/org/scijava/platform/Platform.java | 5 +++--
.../java/org/scijava/platform/PlatformService.java | 5 +++--
.../org/scijava/platform/event/AppAboutEvent.java | 5 +++--
.../org/scijava/platform/event/AppFocusEvent.java | 5 +++--
.../scijava/platform/event/AppMenusCreatedEvent.java | 5 +++--
.../org/scijava/platform/event/AppOpenFilesEvent.java | 5 +++--
.../scijava/platform/event/AppPreferencesEvent.java | 5 +++--
.../org/scijava/platform/event/AppPrintEvent.java | 5 +++--
.../java/org/scijava/platform/event/AppQuitEvent.java | 5 +++--
.../org/scijava/platform/event/AppReOpenEvent.java | 5 +++--
.../scijava/platform/event/AppScreenSleepEvent.java | 5 +++--
.../org/scijava/platform/event/AppSleepEvent.java | 5 +++--
.../scijava/platform/event/AppSystemSleepEvent.java | 5 +++--
.../scijava/platform/event/AppUserSessionEvent.java | 5 +++--
.../org/scijava/platform/event/AppVisibleEvent.java | 5 +++--
.../org/scijava/platform/event/ApplicationEvent.java | 5 +++--
.../org/scijava/plugin/AbstractHandlerPlugin.java | 5 +++--
.../org/scijava/plugin/AbstractHandlerService.java | 5 +++--
.../java/org/scijava/plugin/AbstractPTService.java | 5 +++--
.../java/org/scijava/plugin/AbstractRichPlugin.java | 5 +++--
.../org/scijava/plugin/AbstractSingletonService.java | 5 +++--
.../java/org/scijava/plugin/AbstractTypedPlugin.java | 5 +++--
.../java/org/scijava/plugin/AbstractTypedService.java | 5 +++--
.../org/scijava/plugin/AbstractWrapperPlugin.java | 5 +++--
.../org/scijava/plugin/AbstractWrapperService.java | 5 +++--
src/main/java/org/scijava/plugin/Attr.java | 5 +++--
.../java/org/scijava/plugin/DefaultPluginFinder.java | 5 +++--
.../java/org/scijava/plugin/DefaultPluginService.java | 5 +++--
src/main/java/org/scijava/plugin/HandlerPlugin.java | 5 +++--
src/main/java/org/scijava/plugin/HandlerService.java | 5 +++--
src/main/java/org/scijava/plugin/HasPluginInfo.java | 5 +++--
src/main/java/org/scijava/plugin/Menu.java | 5 +++--
src/main/java/org/scijava/plugin/PTService.java | 5 +++--
src/main/java/org/scijava/plugin/Parameter.java | 5 +++--
src/main/java/org/scijava/plugin/Plugin.java | 5 +++--
src/main/java/org/scijava/plugin/PluginFinder.java | 5 +++--
src/main/java/org/scijava/plugin/PluginIndex.java | 5 +++--
src/main/java/org/scijava/plugin/PluginInfo.java | 5 +++--
src/main/java/org/scijava/plugin/PluginService.java | 5 +++--
src/main/java/org/scijava/plugin/RichPlugin.java | 5 +++--
src/main/java/org/scijava/plugin/SciJavaPlugin.java | 5 +++--
src/main/java/org/scijava/plugin/SingletonPlugin.java | 5 +++--
.../java/org/scijava/plugin/SingletonService.java | 5 +++--
src/main/java/org/scijava/plugin/SortablePlugin.java | 5 +++--
src/main/java/org/scijava/plugin/TypedPlugin.java | 5 +++--
src/main/java/org/scijava/plugin/TypedService.java | 5 +++--
src/main/java/org/scijava/plugin/WrapperPlugin.java | 5 +++--
src/main/java/org/scijava/plugin/WrapperService.java | 5 +++--
.../org/scijava/plugin/event/PluginsAddedEvent.java | 5 +++--
.../org/scijava/plugin/event/PluginsListEvent.java | 5 +++--
.../org/scijava/plugin/event/PluginsRemovedEvent.java | 5 +++--
.../java/org/scijava/prefs/AbstractPrefService.java | 5 +++--
.../java/org/scijava/prefs/DefaultPrefService.java | 5 +++--
src/main/java/org/scijava/prefs/PrefService.java | 5 +++--
src/main/java/org/scijava/run/AbstractCodeRunner.java | 5 +++--
src/main/java/org/scijava/run/CodeRunner.java | 5 +++--
src/main/java/org/scijava/run/DefaultRunService.java | 5 +++--
src/main/java/org/scijava/run/RunService.java | 5 +++--
.../java/org/scijava/run/console/RunArgument.java | 5 +++--
.../org/scijava/script/AbstractAutoCompleter.java | 5 +++--
.../org/scijava/script/AbstractScriptContext.java | 5 +++--
.../java/org/scijava/script/AbstractScriptEngine.java | 5 +++--
.../java/org/scijava/script/AbstractScriptHeader.java | 5 +++--
.../org/scijava/script/AbstractScriptLanguage.java | 5 +++--
.../java/org/scijava/script/AdaptedScriptEngine.java | 5 +++--
.../org/scijava/script/AdaptedScriptLanguage.java | 5 +++--
src/main/java/org/scijava/script/AutoCompleter.java | 5 +++--
.../java/org/scijava/script/AutoCompletionResult.java | 5 +++--
src/main/java/org/scijava/script/CodeGenerator.java | 5 +++--
.../java/org/scijava/script/CodeGeneratorJava.java | 5 +++--
.../java/org/scijava/script/DefaultAutoCompleter.java | 5 +++--
.../scijava/script/DefaultScriptHeaderService.java | 5 +++--
.../org/scijava/script/DefaultScriptInterpreter.java | 5 +++--
.../java/org/scijava/script/DefaultScriptService.java | 5 +++--
.../java/org/scijava/script/InvocationObject.java | 5 +++--
src/main/java/org/scijava/script/ParameterObject.java | 5 +++--
src/main/java/org/scijava/script/ScriptFinder.java | 5 +++--
src/main/java/org/scijava/script/ScriptHeader.java | 5 +++--
.../java/org/scijava/script/ScriptHeaderService.java | 5 +++--
src/main/java/org/scijava/script/ScriptInfo.java | 5 +++--
.../java/org/scijava/script/ScriptInterpreter.java | 5 +++--
src/main/java/org/scijava/script/ScriptLanguage.java | 5 +++--
.../java/org/scijava/script/ScriptLanguageIndex.java | 5 +++--
src/main/java/org/scijava/script/ScriptModule.java | 5 +++--
src/main/java/org/scijava/script/ScriptREPL.java | 5 +++--
src/main/java/org/scijava/script/ScriptService.java | 5 +++--
.../org/scijava/script/console/RunScriptArgument.java | 5 +++--
.../java/org/scijava/script/io/ScriptIOPlugin.java | 5 +++--
.../script/process/DefaultScriptProcessorService.java | 5 +++--
.../script/process/ParameterScriptProcessor.java | 5 +++--
.../org/scijava/script/process/ScriptCallback.java | 5 +++--
.../org/scijava/script/process/ScriptProcessor.java | 5 +++--
.../script/process/ScriptProcessorService.java | 5 +++--
.../script/process/ShebangScriptProcessor.java | 7 ++++---
.../java/org/scijava/script/run/ScriptCodeRunner.java | 5 +++--
.../java/org/scijava/service/AbstractService.java | 5 +++--
src/main/java/org/scijava/service/SciJavaService.java | 5 +++--
src/main/java/org/scijava/service/Service.java | 5 +++--
src/main/java/org/scijava/service/ServiceHelper.java | 5 +++--
src/main/java/org/scijava/service/ServiceIndex.java | 5 +++--
.../scijava/service/event/ServicesLoadedEvent.java | 5 +++--
src/main/java/org/scijava/test/TestUtils.java | 5 +++--
.../java/org/scijava/text/AbstractTextFormat.java | 5 +++--
.../java/org/scijava/text/DefaultTextService.java | 5 +++--
src/main/java/org/scijava/text/TextFormat.java | 5 +++--
src/main/java/org/scijava/text/TextService.java | 5 +++--
src/main/java/org/scijava/text/io/TextIOPlugin.java | 5 +++--
.../java/org/scijava/thread/DefaultThreadService.java | 5 +++--
src/main/java/org/scijava/thread/ThreadService.java | 5 +++--
src/main/java/org/scijava/tool/AbstractTool.java | 5 +++--
src/main/java/org/scijava/tool/CustomDrawnTool.java | 5 +++--
.../java/org/scijava/tool/DefaultToolService.java | 5 +++--
src/main/java/org/scijava/tool/DummyTool.java | 5 +++--
src/main/java/org/scijava/tool/IconDrawer.java | 5 +++--
src/main/java/org/scijava/tool/IconService.java | 5 +++--
src/main/java/org/scijava/tool/Tool.java | 5 +++--
src/main/java/org/scijava/tool/ToolService.java | 5 +++--
.../org/scijava/tool/event/ToolActivatedEvent.java | 5 +++--
.../org/scijava/tool/event/ToolDeactivatedEvent.java | 5 +++--
src/main/java/org/scijava/tool/event/ToolEvent.java | 5 +++--
src/main/java/org/scijava/ui/ARGBPlane.java | 5 +++--
.../org/scijava/ui/AbstractInputHarvesterPlugin.java | 5 +++--
.../java/org/scijava/ui/AbstractUIInputWidget.java | 5 +++--
.../java/org/scijava/ui/AbstractUserInterface.java | 5 +++--
src/main/java/org/scijava/ui/ApplicationFrame.java | 5 +++--
src/main/java/org/scijava/ui/Arrangeable.java | 5 +++--
src/main/java/org/scijava/ui/CloseConfirmable.java | 5 +++--
src/main/java/org/scijava/ui/DefaultUIService.java | 5 +++--
src/main/java/org/scijava/ui/Desktop.java | 5 +++--
src/main/java/org/scijava/ui/DialogPrompt.java | 5 +++--
src/main/java/org/scijava/ui/FilePreprocessor.java | 5 +++--
src/main/java/org/scijava/ui/StatusBar.java | 5 +++--
src/main/java/org/scijava/ui/SystemClipboard.java | 5 +++--
src/main/java/org/scijava/ui/ToolBar.java | 5 +++--
src/main/java/org/scijava/ui/UIPreprocessor.java | 5 +++--
src/main/java/org/scijava/ui/UIService.java | 5 +++--
src/main/java/org/scijava/ui/UserInterface.java | 5 +++--
.../org/scijava/ui/console/AbstractConsolePane.java | 5 +++--
src/main/java/org/scijava/ui/console/ConsolePane.java | 5 +++--
.../java/org/scijava/ui/console/HeadlessArgument.java | 5 +++--
.../java/org/scijava/ui/console/ShowUIArgument.java | 5 +++--
src/main/java/org/scijava/ui/console/UIArgument.java | 5 +++--
.../org/scijava/ui/dnd/AbstractDragAndDropData.java | 5 +++--
.../scijava/ui/dnd/AbstractDragAndDropHandler.java | 5 +++--
.../org/scijava/ui/dnd/DefaultDragAndDropData.java | 5 +++--
.../org/scijava/ui/dnd/DefaultDragAndDropService.java | 5 +++--
src/main/java/org/scijava/ui/dnd/DragAndDropData.java | 5 +++--
.../java/org/scijava/ui/dnd/DragAndDropHandler.java | 5 +++--
.../java/org/scijava/ui/dnd/DragAndDropService.java | 5 +++--
.../org/scijava/ui/dnd/FileDragAndDropHandler.java | 5 +++--
.../org/scijava/ui/dnd/ListDragAndDropHandler.java | 5 +++--
src/main/java/org/scijava/ui/dnd/MIMEType.java | 5 +++--
.../scijava/ui/dnd/ScriptFileDragAndDropHandler.java | 5 +++--
.../org/scijava/ui/dnd/event/DragAndDropEvent.java | 5 +++--
.../java/org/scijava/ui/dnd/event/DragEnterEvent.java | 5 +++--
.../java/org/scijava/ui/dnd/event/DragExitEvent.java | 5 +++--
.../java/org/scijava/ui/dnd/event/DragOverEvent.java | 5 +++--
src/main/java/org/scijava/ui/dnd/event/DropEvent.java | 5 +++--
src/main/java/org/scijava/ui/event/UIEvent.java | 5 +++--
src/main/java/org/scijava/ui/event/UIShownEvent.java | 5 +++--
.../scijava/ui/headless/HeadlessDisplayViewer.java | 5 +++--
src/main/java/org/scijava/ui/headless/HeadlessUI.java | 5 +++--
.../java/org/scijava/ui/headlessUI/HeadlessUI.java | 5 +++--
.../org/scijava/ui/viewer/AbstractDisplayViewer.java | 5 +++--
src/main/java/org/scijava/ui/viewer/DisplayPanel.java | 5 +++--
.../java/org/scijava/ui/viewer/DisplayViewer.java | 5 +++--
.../java/org/scijava/ui/viewer/DisplayWindow.java | 5 +++--
.../ui/viewer/text/AbstractTextDisplayViewer.java | 5 +++--
.../org/scijava/ui/viewer/text/TextDisplayPanel.java | 5 +++--
.../org/scijava/ui/viewer/text/TextDisplayViewer.java | 5 +++--
.../java/org/scijava/util/AbstractPrimitiveArray.java | 5 +++--
src/main/java/org/scijava/util/AppUtils.java | 5 +++--
src/main/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 +++--
src/main/java/org/scijava/util/CheckSezpoz.java | 5 +++--
src/main/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 +++--
.../java/org/scijava/util/CombineAnnotations.java | 5 +++--
src/main/java/org/scijava/util/Combiner.java | 5 +++--
src/main/java/org/scijava/util/ConversionUtils.java | 5 +++--
src/main/java/org/scijava/util/DebugUtils.java | 5 +++--
src/main/java/org/scijava/util/DigestUtils.java | 5 +++--
src/main/java/org/scijava/util/DoubleArray.java | 5 +++--
src/main/java/org/scijava/util/FileUtils.java | 5 +++--
src/main/java/org/scijava/util/FloatArray.java | 5 +++--
src/main/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 +++--
src/main/java/org/scijava/util/IteratorPlus.java | 5 +++--
src/main/java/org/scijava/util/LastRecentlyUsed.java | 5 +++--
src/main/java/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 +++--
.../java/org/scijava/util/MersenneTwisterFast.java | 5 +++--
src/main/java/org/scijava/util/MetaInfCombiner.java | 5 +++--
src/main/java/org/scijava/util/MirrorWebsite.java | 5 +++--
src/main/java/org/scijava/util/MiscUtils.java | 5 +++--
src/main/java/org/scijava/util/NumberUtils.java | 5 +++--
src/main/java/org/scijava/util/ObjectArray.java | 5 +++--
src/main/java/org/scijava/util/POM.java | 5 +++--
src/main/java/org/scijava/util/PlatformUtils.java | 5 +++--
src/main/java/org/scijava/util/Prefs.java | 5 +++--
src/main/java/org/scijava/util/PrimitiveArray.java | 5 +++--
src/main/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 +++--
src/main/java/org/scijava/util/RealCoords.java | 5 +++--
src/main/java/org/scijava/util/RealRect.java | 5 +++--
src/main/java/org/scijava/util/ReflectException.java | 5 +++--
src/main/java/org/scijava/util/ReflectedUniverse.java | 5 +++--
src/main/java/org/scijava/util/ServiceCombiner.java | 5 +++--
src/main/java/org/scijava/util/ShortArray.java | 5 +++--
src/main/java/org/scijava/util/Sizable.java | 5 +++--
src/main/java/org/scijava/util/SizableArrayList.java | 5 +++--
src/main/java/org/scijava/util/StringMaker.java | 5 +++--
src/main/java/org/scijava/util/StringUtils.java | 5 +++--
src/main/java/org/scijava/util/Timing.java | 5 +++--
src/main/java/org/scijava/util/TunePlayer.java | 5 +++--
src/main/java/org/scijava/util/UnitUtils.java | 5 +++--
src/main/java/org/scijava/util/VersionUtils.java | 5 +++--
src/main/java/org/scijava/util/XML.java | 5 +++--
.../org/scijava/welcome/DefaultWelcomeService.java | 5 +++--
src/main/java/org/scijava/welcome/WelcomeService.java | 5 +++--
.../java/org/scijava/welcome/event/WelcomeEvent.java | 5 +++--
.../org/scijava/widget/AbstractInputHarvester.java | 5 +++--
.../java/org/scijava/widget/AbstractInputPanel.java | 5 +++--
.../java/org/scijava/widget/AbstractInputWidget.java | 5 +++--
src/main/java/org/scijava/widget/Button.java | 5 +++--
src/main/java/org/scijava/widget/ButtonWidget.java | 5 +++--
src/main/java/org/scijava/widget/ChoiceWidget.java | 5 +++--
src/main/java/org/scijava/widget/ColorWidget.java | 5 +++--
src/main/java/org/scijava/widget/DateWidget.java | 5 +++--
.../java/org/scijava/widget/DefaultWidgetModel.java | 5 +++--
.../java/org/scijava/widget/DefaultWidgetService.java | 5 +++--
src/main/java/org/scijava/widget/FileWidget.java | 5 +++--
src/main/java/org/scijava/widget/InputHarvester.java | 5 +++--
src/main/java/org/scijava/widget/InputPanel.java | 5 +++--
src/main/java/org/scijava/widget/InputWidget.java | 5 +++--
src/main/java/org/scijava/widget/MessageWidget.java | 5 +++--
src/main/java/org/scijava/widget/NumberWidget.java | 5 +++--
src/main/java/org/scijava/widget/ObjectWidget.java | 5 +++--
src/main/java/org/scijava/widget/TextWidget.java | 5 +++--
src/main/java/org/scijava/widget/ToggleWidget.java | 5 +++--
src/main/java/org/scijava/widget/UIComponent.java | 5 +++--
src/main/java/org/scijava/widget/WidgetModel.java | 5 +++--
src/main/java/org/scijava/widget/WidgetService.java | 5 +++--
src/test/java/org/scijava/ContextCreationTest.java | 5 +++--
src/test/java/org/scijava/ContextInjectionTest.java | 5 +++--
src/test/java/org/scijava/annotations/AnnotatedA.java | 5 +++--
src/test/java/org/scijava/annotations/AnnotatedB.java | 5 +++--
src/test/java/org/scijava/annotations/AnnotatedC.java | 5 +++--
src/test/java/org/scijava/annotations/AnnotatedD.java | 5 +++--
.../org/scijava/annotations/AnnotatedInnerClass.java | 5 +++--
src/test/java/org/scijava/annotations/Complex.java | 5 +++--
.../org/scijava/annotations/DirectoryIndexerTest.java | 5 +++--
.../org/scijava/annotations/EclipseHelperTest.java | 5 +++--
src/test/java/org/scijava/annotations/Fruit.java | 5 +++--
src/test/java/org/scijava/annotations/LegacyTest.java | 5 +++--
src/test/java/org/scijava/annotations/Simple.java | 5 +++--
src/test/java/org/scijava/app/StatusServiceTest.java | 5 +++--
.../java/org/scijava/command/CommandInfoTest.java | 5 +++--
.../java/org/scijava/command/CommandModuleTest.java | 5 +++--
.../java/org/scijava/command/CommandServiceTest.java | 5 +++--
.../java/org/scijava/command/InvalidCommandTest.java | 5 +++--
.../scijava/command/run/CommandCodeRunnerTest.java | 5 +++--
.../java/org/scijava/console/ConsoleServiceTest.java | 5 +++--
.../scijava/console/SystemPropertyArgumentTest.java | 5 +++--
.../scijava/convert/AbstractNumberConverterTests.java | 5 +++--
.../convert/BigIntegerToBigDecimalConverterTest.java | 5 +++--
.../convert/ByteToBigDecimalConverterTest.java | 5 +++--
.../convert/ByteToBigIntegerConverterTest.java | 5 +++--
.../scijava/convert/ByteToDoubleConverterTest.java | 5 +++--
.../org/scijava/convert/ByteToFloatConverterTest.java | 5 +++--
.../scijava/convert/ByteToIntegerConverterTest.java | 5 +++--
.../org/scijava/convert/ByteToLongConverterTest.java | 5 +++--
.../org/scijava/convert/ByteToShortConverterTest.java | 5 +++--
.../java/org/scijava/convert/ConvertServiceTest.java | 5 +++--
src/test/java/org/scijava/convert/ConverterTest.java | 5 +++--
.../convert/DoubleToBigDecimalConverterTest.java | 5 +++--
.../convert/FloatToBigDecimalConverterTest.java | 5 +++--
.../scijava/convert/FloatToDoubleConverterTest.java | 5 +++--
.../convert/IntegerToBigDecimalConverterTest.java | 5 +++--
.../convert/IntegerToBigIntegerConverterTest.java | 5 +++--
.../scijava/convert/IntegerToDoubleConverterTest.java | 5 +++--
.../scijava/convert/IntegerToLongConverterTest.java | 5 +++--
.../convert/LongToBigDecimalConverterTest.java | 5 +++--
.../convert/LongToBigIntegerConverterTest.java | 5 +++--
.../convert/ShortToBigDecimalConverterTest.java | 5 +++--
.../convert/ShortToBigIntegerConverterTest.java | 5 +++--
.../scijava/convert/ShortToDoubleConverterTest.java | 5 +++--
.../scijava/convert/ShortToFloatConverterTest.java | 5 +++--
.../scijava/convert/ShortToIntegerConverterTest.java | 5 +++--
.../org/scijava/convert/ShortToLongConverterTest.java | 5 +++--
src/test/java/org/scijava/display/DisplayTest.java | 5 +++--
src/test/java/org/scijava/event/EventServiceTest.java | 5 +++--
.../java/org/scijava/io/ByteArrayByteBankTest.java | 11 ++++++-----
src/test/java/org/scijava/io/ByteBankTest.java | 11 ++++++-----
.../java/org/scijava/io/handle/BytesHandleTest.java | 7 ++++---
.../java/org/scijava/io/handle/DataHandleTest.java | 5 +++--
.../java/org/scijava/io/handle/FileHandleTest.java | 5 +++--
.../org/scijava/io/location/BytesLocationTest.java | 5 +++--
.../org/scijava/io/location/FileLocationTest.java | 5 +++--
.../java/org/scijava/io/location/URILocationTest.java | 5 +++--
.../java/org/scijava/io/location/URLLocationTest.java | 5 +++--
.../org/scijava/io/nio/ByteBufferByteBankTest.java | 11 ++++++-----
src/test/java/org/scijava/log/LogServiceTest.java | 5 +++--
src/test/java/org/scijava/main/MainServiceTest.java | 5 +++--
.../java/org/scijava/main/run/MainCodeRunnerTest.java | 5 +++--
src/test/java/org/scijava/menu/MenuServiceTest.java | 5 +++--
src/test/java/org/scijava/menu/ShadowMenuTest.java | 5 +++--
.../java/org/scijava/module/ModuleServiceTest.java | 5 +++--
.../org/scijava/module/run/ModuleCodeRunnerTest.java | 5 +++--
src/test/java/org/scijava/object/ObjectIndexTest.java | 5 +++--
.../org/scijava/object/SortedObjectIndexTest.java | 5 +++--
src/test/java/org/scijava/options/OptionsTest.java | 5 +++--
src/test/java/org/scijava/parse/ParseServiceTest.java | 5 +++--
.../java/org/scijava/plugin/PluginFinderTest.java | 5 +++--
src/test/java/org/scijava/plugin/PluginIndexTest.java | 5 +++--
src/test/java/org/scijava/plugin/PluginInfoTest.java | 5 +++--
src/test/java/org/scijava/prefs/PrefServiceTest.java | 5 +++--
src/test/java/org/scijava/run/RunServiceTest.java | 5 +++--
.../scijava/script/AbstractScriptLanguageTest.java | 5 +++--
.../java/org/scijava/script/ScriptEngineTest.java | 5 +++--
.../java/org/scijava/script/ScriptFinderTest.java | 5 +++--
src/test/java/org/scijava/script/ScriptInfoTest.java | 5 +++--
.../java/org/scijava/script/ScriptServiceTest.java | 5 +++--
.../java/org/scijava/service/ServiceIndexTest.java | 5 +++--
.../java/org/scijava/test/AbstractSciJavaTest.java | 5 +++--
src/test/java/org/scijava/test/TestUtilsTest.java | 5 +++--
.../java/org/scijava/thread/ThreadServiceTest.java | 5 +++--
src/test/java/org/scijava/ui/UIServiceTest.java | 5 +++--
src/test/java/org/scijava/util/AppUtilsTest.java | 5 +++--
src/test/java/org/scijava/util/ArrayUtilsTest.java | 5 +++--
src/test/java/org/scijava/util/BoolArrayTest.java | 5 +++--
src/test/java/org/scijava/util/ByteArrayTest.java | 5 +++--
src/test/java/org/scijava/util/CharArrayTest.java | 5 +++--
src/test/java/org/scijava/util/ClassUtilsTest.java | 5 +++--
src/test/java/org/scijava/util/ColorRGBTest.java | 5 +++--
.../java/org/scijava/util/ConversionUtilsTest.java | 5 +++--
src/test/java/org/scijava/util/DigestUtilsTest.java | 5 +++--
src/test/java/org/scijava/util/DoubleArrayTest.java | 5 +++--
src/test/java/org/scijava/util/FileUtilsTest.java | 5 +++--
src/test/java/org/scijava/util/FloatArrayTest.java | 5 +++--
src/test/java/org/scijava/util/GenericUtilsTest.java | 5 +++--
src/test/java/org/scijava/util/IntArrayTest.java | 5 +++--
.../java/org/scijava/util/LastRecentlyUsedTest.java | 5 +++--
src/test/java/org/scijava/util/LongArrayTest.java | 5 +++--
src/test/java/org/scijava/util/ObjectArrayTest.java | 5 +++--
src/test/java/org/scijava/util/POMTest.java | 5 +++--
.../java/org/scijava/util/PrimitiveArrayTest.java | 5 +++--
src/test/java/org/scijava/util/ProcessUtilsTest.java | 5 +++--
src/test/java/org/scijava/util/ShortArrayTest.java | 5 +++--
src/test/java/org/scijava/util/StringUtilsTest.java | 5 +++--
src/test/java/org/scijava/util/UnitUtilsTest.java | 5 +++--
656 files changed, 1999 insertions(+), 1343 deletions(-)
diff --git a/LICENSE.txt b/LICENSE.txt
index aaa28e8b4..82d98ebc1 100644
--- a/LICENSE.txt
+++ b/LICENSE.txt
@@ -1,6 +1,7 @@
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.
+Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck
+Institute of Molecular Cell Biology and Genetics, University of
+Konstanz, and KNIME GmbH.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
diff --git a/pom.xml b/pom.xml
index e0beb5f14..34dab8406 100644
--- a/pom.xml
+++ b/pom.xml
@@ -159,8 +159,9 @@
bsd_2
SciJava Common shared library for SciJava software.
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.
+Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck
+Institute of Molecular Cell Biology and Genetics, University of
+Konstanz, and KNIME GmbH.
diff --git a/src/it/apt-test/pom.xml b/src/it/apt-test/pom.xml
index fba517e29..1647ef3ed 100644
--- a/src/it/apt-test/pom.xml
+++ b/src/it/apt-test/pom.xml
@@ -4,8 +4,9 @@
SciJava Common 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.
+ 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:
diff --git a/src/it/apt-test/setup.bsh b/src/it/apt-test/setup.bsh
index 86549ce6d..563bf2b67 100644
--- a/src/it/apt-test/setup.bsh
+++ b/src/it/apt-test/setup.bsh
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
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 466bd78c3..aeb8b9cd5 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
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
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 a21cd5344..1ef8c4510 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
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/it/apt-test/verify.bsh b/src/it/apt-test/verify.bsh
index edc3dfab2..84696a531 100644
--- a/src/it/apt-test/verify.bsh
+++ b/src/it/apt-test/verify.bsh
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/it/settings.xml b/src/it/settings.xml
index d4ee30ac3..f7dc233e8 100644
--- a/src/it/settings.xml
+++ b/src/it/settings.xml
@@ -4,8 +4,9 @@
SciJava Common 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.
+ 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:
diff --git a/src/main/java/org/scijava/AbstractBasicDetails.java b/src/main/java/org/scijava/AbstractBasicDetails.java
index df0bcba15..a956f0b48 100644
--- a/src/main/java/org/scijava/AbstractBasicDetails.java
+++ b/src/main/java/org/scijava/AbstractBasicDetails.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/AbstractContextual.java b/src/main/java/org/scijava/AbstractContextual.java
index 768ce4986..d11fb2c6f 100644
--- a/src/main/java/org/scijava/AbstractContextual.java
+++ b/src/main/java/org/scijava/AbstractContextual.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/AbstractGateway.java b/src/main/java/org/scijava/AbstractGateway.java
index a4980d63d..8b686230a 100644
--- a/src/main/java/org/scijava/AbstractGateway.java
+++ b/src/main/java/org/scijava/AbstractGateway.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/AbstractUIDetails.java b/src/main/java/org/scijava/AbstractUIDetails.java
index 2c81d5f31..3cb0f0fca 100644
--- a/src/main/java/org/scijava/AbstractUIDetails.java
+++ b/src/main/java/org/scijava/AbstractUIDetails.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/BasicDetails.java b/src/main/java/org/scijava/BasicDetails.java
index 4dd50a1a9..98884ff15 100644
--- a/src/main/java/org/scijava/BasicDetails.java
+++ b/src/main/java/org/scijava/BasicDetails.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/Cancelable.java b/src/main/java/org/scijava/Cancelable.java
index 030ba023a..fd8aae923 100644
--- a/src/main/java/org/scijava/Cancelable.java
+++ b/src/main/java/org/scijava/Cancelable.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/Context.java b/src/main/java/org/scijava/Context.java
index e74971f46..a240ff78e 100644
--- a/src/main/java/org/scijava/Context.java
+++ b/src/main/java/org/scijava/Context.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/Contextual.java b/src/main/java/org/scijava/Contextual.java
index 9821c0dd7..682abfefe 100644
--- a/src/main/java/org/scijava/Contextual.java
+++ b/src/main/java/org/scijava/Contextual.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/Disposable.java b/src/main/java/org/scijava/Disposable.java
index 0a86dfbce..9ec7aeec2 100644
--- a/src/main/java/org/scijava/Disposable.java
+++ b/src/main/java/org/scijava/Disposable.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/Gateway.java b/src/main/java/org/scijava/Gateway.java
index e74b7188e..2b5633aa9 100644
--- a/src/main/java/org/scijava/Gateway.java
+++ b/src/main/java/org/scijava/Gateway.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/Identifiable.java b/src/main/java/org/scijava/Identifiable.java
index 116ee2775..0d88f23a4 100644
--- a/src/main/java/org/scijava/Identifiable.java
+++ b/src/main/java/org/scijava/Identifiable.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/Initializable.java b/src/main/java/org/scijava/Initializable.java
index ce331d0df..c29b5fb0b 100644
--- a/src/main/java/org/scijava/Initializable.java
+++ b/src/main/java/org/scijava/Initializable.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/Instantiable.java b/src/main/java/org/scijava/Instantiable.java
index 041ffa413..d67cf1298 100644
--- a/src/main/java/org/scijava/Instantiable.java
+++ b/src/main/java/org/scijava/Instantiable.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/InstantiableException.java b/src/main/java/org/scijava/InstantiableException.java
index 1af1cef0c..7b1f55900 100644
--- a/src/main/java/org/scijava/InstantiableException.java
+++ b/src/main/java/org/scijava/InstantiableException.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/ItemIO.java b/src/main/java/org/scijava/ItemIO.java
index 96b7b49da..febcc8629 100644
--- a/src/main/java/org/scijava/ItemIO.java
+++ b/src/main/java/org/scijava/ItemIO.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/ItemVisibility.java b/src/main/java/org/scijava/ItemVisibility.java
index db5e7db88..da4e594d4 100644
--- a/src/main/java/org/scijava/ItemVisibility.java
+++ b/src/main/java/org/scijava/ItemVisibility.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/Locatable.java b/src/main/java/org/scijava/Locatable.java
index aff02fe28..a10968865 100644
--- a/src/main/java/org/scijava/Locatable.java
+++ b/src/main/java/org/scijava/Locatable.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/MenuEntry.java b/src/main/java/org/scijava/MenuEntry.java
index f2fc2b8f1..e29db087b 100644
--- a/src/main/java/org/scijava/MenuEntry.java
+++ b/src/main/java/org/scijava/MenuEntry.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/MenuPath.java b/src/main/java/org/scijava/MenuPath.java
index 1771a7e8b..1f102a42c 100644
--- a/src/main/java/org/scijava/MenuPath.java
+++ b/src/main/java/org/scijava/MenuPath.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/Named.java b/src/main/java/org/scijava/Named.java
index 654fce4ab..f97542944 100644
--- a/src/main/java/org/scijava/Named.java
+++ b/src/main/java/org/scijava/Named.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/NoSuchServiceException.java b/src/main/java/org/scijava/NoSuchServiceException.java
index b291f021d..bf2bc79f6 100644
--- a/src/main/java/org/scijava/NoSuchServiceException.java
+++ b/src/main/java/org/scijava/NoSuchServiceException.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/NullContextException.java b/src/main/java/org/scijava/NullContextException.java
index ce05a776b..c0509c937 100644
--- a/src/main/java/org/scijava/NullContextException.java
+++ b/src/main/java/org/scijava/NullContextException.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/Optional.java b/src/main/java/org/scijava/Optional.java
index 1dddc3441..c96fc8892 100644
--- a/src/main/java/org/scijava/Optional.java
+++ b/src/main/java/org/scijava/Optional.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/Prioritized.java b/src/main/java/org/scijava/Prioritized.java
index 416ae93f6..13f6f600c 100644
--- a/src/main/java/org/scijava/Prioritized.java
+++ b/src/main/java/org/scijava/Prioritized.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/Priority.java b/src/main/java/org/scijava/Priority.java
index 019ae17bf..74a44cc20 100644
--- a/src/main/java/org/scijava/Priority.java
+++ b/src/main/java/org/scijava/Priority.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/SciJava.java b/src/main/java/org/scijava/SciJava.java
index 927cbb224..ebf387171 100644
--- a/src/main/java/org/scijava/SciJava.java
+++ b/src/main/java/org/scijava/SciJava.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/Typed.java b/src/main/java/org/scijava/Typed.java
index e650fc98e..a5e28f0df 100644
--- a/src/main/java/org/scijava/Typed.java
+++ b/src/main/java/org/scijava/Typed.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/UIDetails.java b/src/main/java/org/scijava/UIDetails.java
index 3545d6ce8..998742226 100644
--- a/src/main/java/org/scijava/UIDetails.java
+++ b/src/main/java/org/scijava/UIDetails.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/Validated.java b/src/main/java/org/scijava/Validated.java
index 7b006ffed..efa4acf93 100644
--- a/src/main/java/org/scijava/Validated.java
+++ b/src/main/java/org/scijava/Validated.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/ValidityProblem.java b/src/main/java/org/scijava/ValidityProblem.java
index ea8b3b121..10e8bf159 100644
--- a/src/main/java/org/scijava/ValidityProblem.java
+++ b/src/main/java/org/scijava/ValidityProblem.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/Versioned.java b/src/main/java/org/scijava/Versioned.java
index 233510e35..36aabaea6 100644
--- a/src/main/java/org/scijava/Versioned.java
+++ b/src/main/java/org/scijava/Versioned.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/annotations/AbstractIndexWriter.java b/src/main/java/org/scijava/annotations/AbstractIndexWriter.java
index 0f8a06221..c87d1da55 100644
--- a/src/main/java/org/scijava/annotations/AbstractIndexWriter.java
+++ b/src/main/java/org/scijava/annotations/AbstractIndexWriter.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/annotations/AnnotationCombiner.java b/src/main/java/org/scijava/annotations/AnnotationCombiner.java
index a4f02935f..4d399d8ea 100644
--- a/src/main/java/org/scijava/annotations/AnnotationCombiner.java
+++ b/src/main/java/org/scijava/annotations/AnnotationCombiner.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/annotations/AnnotationProcessor.java b/src/main/java/org/scijava/annotations/AnnotationProcessor.java
index 472f57335..4a7907a1b 100644
--- a/src/main/java/org/scijava/annotations/AnnotationProcessor.java
+++ b/src/main/java/org/scijava/annotations/AnnotationProcessor.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/annotations/ByteCodeAnalyzer.java b/src/main/java/org/scijava/annotations/ByteCodeAnalyzer.java
index 933ce8197..7ef216860 100644
--- a/src/main/java/org/scijava/annotations/ByteCodeAnalyzer.java
+++ b/src/main/java/org/scijava/annotations/ByteCodeAnalyzer.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/annotations/DirectoryIndexer.java b/src/main/java/org/scijava/annotations/DirectoryIndexer.java
index b292d9831..145252203 100644
--- a/src/main/java/org/scijava/annotations/DirectoryIndexer.java
+++ b/src/main/java/org/scijava/annotations/DirectoryIndexer.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/annotations/EclipseHelper.java b/src/main/java/org/scijava/annotations/EclipseHelper.java
index 80cad4334..053103e8c 100644
--- a/src/main/java/org/scijava/annotations/EclipseHelper.java
+++ b/src/main/java/org/scijava/annotations/EclipseHelper.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/annotations/Index.java b/src/main/java/org/scijava/annotations/Index.java
index 84ae391d1..23348cd80 100644
--- a/src/main/java/org/scijava/annotations/Index.java
+++ b/src/main/java/org/scijava/annotations/Index.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/annotations/IndexItem.java b/src/main/java/org/scijava/annotations/IndexItem.java
index 31d849867..b047e8075 100644
--- a/src/main/java/org/scijava/annotations/IndexItem.java
+++ b/src/main/java/org/scijava/annotations/IndexItem.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/annotations/IndexReader.java b/src/main/java/org/scijava/annotations/IndexReader.java
index ef8a2a576..d716978ae 100644
--- a/src/main/java/org/scijava/annotations/IndexReader.java
+++ b/src/main/java/org/scijava/annotations/IndexReader.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/annotations/Indexable.java b/src/main/java/org/scijava/annotations/Indexable.java
index 69e26bcc1..2916d0a78 100644
--- a/src/main/java/org/scijava/annotations/Indexable.java
+++ b/src/main/java/org/scijava/annotations/Indexable.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/annotations/legacy/LegacyReader.java b/src/main/java/org/scijava/annotations/legacy/LegacyReader.java
index acf3c3d29..11d0929aa 100644
--- a/src/main/java/org/scijava/annotations/legacy/LegacyReader.java
+++ b/src/main/java/org/scijava/annotations/legacy/LegacyReader.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/app/AbstractApp.java b/src/main/java/org/scijava/app/AbstractApp.java
index 6a79a67ff..14003cc24 100644
--- a/src/main/java/org/scijava/app/AbstractApp.java
+++ b/src/main/java/org/scijava/app/AbstractApp.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/app/App.java b/src/main/java/org/scijava/app/App.java
index 5f5c4979d..641c12778 100644
--- a/src/main/java/org/scijava/app/App.java
+++ b/src/main/java/org/scijava/app/App.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/app/AppService.java b/src/main/java/org/scijava/app/AppService.java
index 884b0aea5..34c3dc4b9 100644
--- a/src/main/java/org/scijava/app/AppService.java
+++ b/src/main/java/org/scijava/app/AppService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/app/DefaultAppService.java b/src/main/java/org/scijava/app/DefaultAppService.java
index 52bb33ca4..918501003 100644
--- a/src/main/java/org/scijava/app/DefaultAppService.java
+++ b/src/main/java/org/scijava/app/DefaultAppService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/app/DefaultStatusService.java b/src/main/java/org/scijava/app/DefaultStatusService.java
index 43a5e58b0..a58987ed2 100644
--- a/src/main/java/org/scijava/app/DefaultStatusService.java
+++ b/src/main/java/org/scijava/app/DefaultStatusService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/app/SciJavaApp.java b/src/main/java/org/scijava/app/SciJavaApp.java
index ef758592f..51da39f7a 100644
--- a/src/main/java/org/scijava/app/SciJavaApp.java
+++ b/src/main/java/org/scijava/app/SciJavaApp.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/app/StatusService.java b/src/main/java/org/scijava/app/StatusService.java
index 67cccf86d..c0f20dd08 100644
--- a/src/main/java/org/scijava/app/StatusService.java
+++ b/src/main/java/org/scijava/app/StatusService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/app/event/StatusEvent.java b/src/main/java/org/scijava/app/event/StatusEvent.java
index d8a3005e2..1866e18a6 100644
--- a/src/main/java/org/scijava/app/event/StatusEvent.java
+++ b/src/main/java/org/scijava/app/event/StatusEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/cache/CacheService.java b/src/main/java/org/scijava/cache/CacheService.java
index c0ab8850b..24c592a0f 100644
--- a/src/main/java/org/scijava/cache/CacheService.java
+++ b/src/main/java/org/scijava/cache/CacheService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/cache/DefaultCacheService.java b/src/main/java/org/scijava/cache/DefaultCacheService.java
index 87bcc909a..c5f952499 100644
--- a/src/main/java/org/scijava/cache/DefaultCacheService.java
+++ b/src/main/java/org/scijava/cache/DefaultCacheService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/command/Command.java b/src/main/java/org/scijava/command/Command.java
index 19f5f1de4..1843cf1be 100644
--- a/src/main/java/org/scijava/command/Command.java
+++ b/src/main/java/org/scijava/command/Command.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/command/CommandInfo.java b/src/main/java/org/scijava/command/CommandInfo.java
index 222237422..9dcdc710b 100644
--- a/src/main/java/org/scijava/command/CommandInfo.java
+++ b/src/main/java/org/scijava/command/CommandInfo.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/command/CommandModule.java b/src/main/java/org/scijava/command/CommandModule.java
index 6542022b6..b675c59a5 100644
--- a/src/main/java/org/scijava/command/CommandModule.java
+++ b/src/main/java/org/scijava/command/CommandModule.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/command/CommandModuleItem.java b/src/main/java/org/scijava/command/CommandModuleItem.java
index 10c0c7b78..01bc4d1af 100644
--- a/src/main/java/org/scijava/command/CommandModuleItem.java
+++ b/src/main/java/org/scijava/command/CommandModuleItem.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/command/CommandService.java b/src/main/java/org/scijava/command/CommandService.java
index 7a4feb704..589da8fe8 100644
--- a/src/main/java/org/scijava/command/CommandService.java
+++ b/src/main/java/org/scijava/command/CommandService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/command/ContextCommand.java b/src/main/java/org/scijava/command/ContextCommand.java
index 3ce3ec96d..2754d4f7f 100644
--- a/src/main/java/org/scijava/command/ContextCommand.java
+++ b/src/main/java/org/scijava/command/ContextCommand.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/command/DefaultCommandService.java b/src/main/java/org/scijava/command/DefaultCommandService.java
index 2e344365a..d35905b6b 100644
--- a/src/main/java/org/scijava/command/DefaultCommandService.java
+++ b/src/main/java/org/scijava/command/DefaultCommandService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/command/DynamicCommand.java b/src/main/java/org/scijava/command/DynamicCommand.java
index aa81671c0..ae88e949a 100644
--- a/src/main/java/org/scijava/command/DynamicCommand.java
+++ b/src/main/java/org/scijava/command/DynamicCommand.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/command/DynamicCommandInfo.java b/src/main/java/org/scijava/command/DynamicCommandInfo.java
index b47e64d91..a45f4b1ac 100644
--- a/src/main/java/org/scijava/command/DynamicCommandInfo.java
+++ b/src/main/java/org/scijava/command/DynamicCommandInfo.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/command/Interactive.java b/src/main/java/org/scijava/command/Interactive.java
index bb41ca906..74ad4cfee 100644
--- a/src/main/java/org/scijava/command/Interactive.java
+++ b/src/main/java/org/scijava/command/Interactive.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/command/InteractiveCommand.java b/src/main/java/org/scijava/command/InteractiveCommand.java
index 920ad4047..117485838 100644
--- a/src/main/java/org/scijava/command/InteractiveCommand.java
+++ b/src/main/java/org/scijava/command/InteractiveCommand.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/command/ModuleCommand.java b/src/main/java/org/scijava/command/ModuleCommand.java
index 14bdb641a..4abc0fee1 100644
--- a/src/main/java/org/scijava/command/ModuleCommand.java
+++ b/src/main/java/org/scijava/command/ModuleCommand.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/command/Previewable.java b/src/main/java/org/scijava/command/Previewable.java
index 6d062edf4..8ee57832d 100644
--- a/src/main/java/org/scijava/command/Previewable.java
+++ b/src/main/java/org/scijava/command/Previewable.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/command/UnimplementedCommand.java b/src/main/java/org/scijava/command/UnimplementedCommand.java
index 8bc9448f5..74530bcec 100644
--- a/src/main/java/org/scijava/command/UnimplementedCommand.java
+++ b/src/main/java/org/scijava/command/UnimplementedCommand.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/command/console/RunArgument.java b/src/main/java/org/scijava/command/console/RunArgument.java
index c2a8ce8bb..a6673e243 100644
--- a/src/main/java/org/scijava/command/console/RunArgument.java
+++ b/src/main/java/org/scijava/command/console/RunArgument.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/command/run/CommandCodeRunner.java b/src/main/java/org/scijava/command/run/CommandCodeRunner.java
index f0ecfcb9b..25024e0da 100644
--- a/src/main/java/org/scijava/command/run/CommandCodeRunner.java
+++ b/src/main/java/org/scijava/command/run/CommandCodeRunner.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/console/AbstractConsoleArgument.java b/src/main/java/org/scijava/console/AbstractConsoleArgument.java
index 4711e5d18..cde13bf0d 100644
--- a/src/main/java/org/scijava/console/AbstractConsoleArgument.java
+++ b/src/main/java/org/scijava/console/AbstractConsoleArgument.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/console/ConsoleArgument.java b/src/main/java/org/scijava/console/ConsoleArgument.java
index 49bd88590..4e645ced5 100644
--- a/src/main/java/org/scijava/console/ConsoleArgument.java
+++ b/src/main/java/org/scijava/console/ConsoleArgument.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/console/ConsoleService.java b/src/main/java/org/scijava/console/ConsoleService.java
index 7e9a9be58..52c6ec14a 100644
--- a/src/main/java/org/scijava/console/ConsoleService.java
+++ b/src/main/java/org/scijava/console/ConsoleService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/console/ConsoleUtils.java b/src/main/java/org/scijava/console/ConsoleUtils.java
index 47c712b62..6b366a860 100644
--- a/src/main/java/org/scijava/console/ConsoleUtils.java
+++ b/src/main/java/org/scijava/console/ConsoleUtils.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/console/DefaultConsoleService.java b/src/main/java/org/scijava/console/DefaultConsoleService.java
index 99b9867b0..3ff2c2f89 100644
--- a/src/main/java/org/scijava/console/DefaultConsoleService.java
+++ b/src/main/java/org/scijava/console/DefaultConsoleService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/console/MultiOutputStream.java b/src/main/java/org/scijava/console/MultiOutputStream.java
index 855947bdf..ab1197ce5 100644
--- a/src/main/java/org/scijava/console/MultiOutputStream.java
+++ b/src/main/java/org/scijava/console/MultiOutputStream.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/console/MultiPrintStream.java b/src/main/java/org/scijava/console/MultiPrintStream.java
index 72fae4aea..659f52b9f 100644
--- a/src/main/java/org/scijava/console/MultiPrintStream.java
+++ b/src/main/java/org/scijava/console/MultiPrintStream.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/console/OutputEvent.java b/src/main/java/org/scijava/console/OutputEvent.java
index d3bc2c5e7..663d51de7 100644
--- a/src/main/java/org/scijava/console/OutputEvent.java
+++ b/src/main/java/org/scijava/console/OutputEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/console/OutputListener.java b/src/main/java/org/scijava/console/OutputListener.java
index 1641542f0..f3657c1ca 100644
--- a/src/main/java/org/scijava/console/OutputListener.java
+++ b/src/main/java/org/scijava/console/OutputListener.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/console/SystemPropertyArgument.java b/src/main/java/org/scijava/console/SystemPropertyArgument.java
index ef812d1ef..c174d5aec 100644
--- a/src/main/java/org/scijava/console/SystemPropertyArgument.java
+++ b/src/main/java/org/scijava/console/SystemPropertyArgument.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/convert/AbstractConvertService.java b/src/main/java/org/scijava/convert/AbstractConvertService.java
index 3938415f3..b15c52de0 100644
--- a/src/main/java/org/scijava/convert/AbstractConvertService.java
+++ b/src/main/java/org/scijava/convert/AbstractConvertService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/convert/AbstractConverter.java b/src/main/java/org/scijava/convert/AbstractConverter.java
index 080788ae8..3b1a299c5 100644
--- a/src/main/java/org/scijava/convert/AbstractConverter.java
+++ b/src/main/java/org/scijava/convert/AbstractConverter.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/convert/ArrayConverters.java b/src/main/java/org/scijava/convert/ArrayConverters.java
index 9837b58a0..803486705 100644
--- a/src/main/java/org/scijava/convert/ArrayConverters.java
+++ b/src/main/java/org/scijava/convert/ArrayConverters.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/convert/CastingConverter.java b/src/main/java/org/scijava/convert/CastingConverter.java
index a611d67f2..ba71f9d6b 100644
--- a/src/main/java/org/scijava/convert/CastingConverter.java
+++ b/src/main/java/org/scijava/convert/CastingConverter.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/convert/ConversionRequest.java b/src/main/java/org/scijava/convert/ConversionRequest.java
index 14c1ae26f..961351b0b 100644
--- a/src/main/java/org/scijava/convert/ConversionRequest.java
+++ b/src/main/java/org/scijava/convert/ConversionRequest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/convert/ConvertService.java b/src/main/java/org/scijava/convert/ConvertService.java
index 39d950e1e..49bf952ee 100644
--- a/src/main/java/org/scijava/convert/ConvertService.java
+++ b/src/main/java/org/scijava/convert/ConvertService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/convert/Converter.java b/src/main/java/org/scijava/convert/Converter.java
index f918d4ee0..195fa4b07 100644
--- a/src/main/java/org/scijava/convert/Converter.java
+++ b/src/main/java/org/scijava/convert/Converter.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/convert/DefaultConvertService.java b/src/main/java/org/scijava/convert/DefaultConvertService.java
index 71c2d47ec..2176e0398 100644
--- a/src/main/java/org/scijava/convert/DefaultConvertService.java
+++ b/src/main/java/org/scijava/convert/DefaultConvertService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/convert/DefaultConverter.java b/src/main/java/org/scijava/convert/DefaultConverter.java
index b3f091258..c95c01ea8 100644
--- a/src/main/java/org/scijava/convert/DefaultConverter.java
+++ b/src/main/java/org/scijava/convert/DefaultConverter.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/convert/NullConverter.java b/src/main/java/org/scijava/convert/NullConverter.java
index 5eb02c50a..a1f4c3ced 100644
--- a/src/main/java/org/scijava/convert/NullConverter.java
+++ b/src/main/java/org/scijava/convert/NullConverter.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/convert/NumberConverters.java b/src/main/java/org/scijava/convert/NumberConverters.java
index 98f636b60..e7827463f 100644
--- a/src/main/java/org/scijava/convert/NumberConverters.java
+++ b/src/main/java/org/scijava/convert/NumberConverters.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/convert/NumberToBigDecimalConverter.java b/src/main/java/org/scijava/convert/NumberToBigDecimalConverter.java
index e55b2db61..74f4fecb1 100644
--- a/src/main/java/org/scijava/convert/NumberToBigDecimalConverter.java
+++ b/src/main/java/org/scijava/convert/NumberToBigDecimalConverter.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/convert/NumberToBigIntegerConverter.java b/src/main/java/org/scijava/convert/NumberToBigIntegerConverter.java
index 5080cb153..daf688867 100644
--- a/src/main/java/org/scijava/convert/NumberToBigIntegerConverter.java
+++ b/src/main/java/org/scijava/convert/NumberToBigIntegerConverter.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/convert/NumberToDoubleConverter.java b/src/main/java/org/scijava/convert/NumberToDoubleConverter.java
index cbc2e9f24..49bd310aa 100644
--- a/src/main/java/org/scijava/convert/NumberToDoubleConverter.java
+++ b/src/main/java/org/scijava/convert/NumberToDoubleConverter.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/convert/NumberToFloatConverter.java b/src/main/java/org/scijava/convert/NumberToFloatConverter.java
index 8da2cf802..dacd8496c 100644
--- a/src/main/java/org/scijava/convert/NumberToFloatConverter.java
+++ b/src/main/java/org/scijava/convert/NumberToFloatConverter.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/convert/NumberToIntegerConverter.java b/src/main/java/org/scijava/convert/NumberToIntegerConverter.java
index ab230327c..5d43e22a1 100644
--- a/src/main/java/org/scijava/convert/NumberToIntegerConverter.java
+++ b/src/main/java/org/scijava/convert/NumberToIntegerConverter.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/convert/NumberToLongConverter.java b/src/main/java/org/scijava/convert/NumberToLongConverter.java
index ed8846725..e22864ed6 100644
--- a/src/main/java/org/scijava/convert/NumberToLongConverter.java
+++ b/src/main/java/org/scijava/convert/NumberToLongConverter.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/convert/NumberToNumberConverter.java b/src/main/java/org/scijava/convert/NumberToNumberConverter.java
index a47ff573a..e74049a25 100644
--- a/src/main/java/org/scijava/convert/NumberToNumberConverter.java
+++ b/src/main/java/org/scijava/convert/NumberToNumberConverter.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/convert/NumberToShortConverter.java b/src/main/java/org/scijava/convert/NumberToShortConverter.java
index 9c6a83448..1714eeae0 100644
--- a/src/main/java/org/scijava/convert/NumberToShortConverter.java
+++ b/src/main/java/org/scijava/convert/NumberToShortConverter.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/convert/PrimitiveArrayUnwrapper.java b/src/main/java/org/scijava/convert/PrimitiveArrayUnwrapper.java
index c0a564c05..d407fcb99 100644
--- a/src/main/java/org/scijava/convert/PrimitiveArrayUnwrapper.java
+++ b/src/main/java/org/scijava/convert/PrimitiveArrayUnwrapper.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/convert/PrimitiveArrayWrapper.java b/src/main/java/org/scijava/convert/PrimitiveArrayWrapper.java
index ab31f5359..46a07a4ed 100644
--- a/src/main/java/org/scijava/convert/PrimitiveArrayWrapper.java
+++ b/src/main/java/org/scijava/convert/PrimitiveArrayWrapper.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/display/AbstractDisplay.java b/src/main/java/org/scijava/display/AbstractDisplay.java
index e9156d608..f4eff12aa 100644
--- a/src/main/java/org/scijava/display/AbstractDisplay.java
+++ b/src/main/java/org/scijava/display/AbstractDisplay.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/display/ActiveDisplayPreprocessor.java b/src/main/java/org/scijava/display/ActiveDisplayPreprocessor.java
index 5406ba4ec..49793247b 100644
--- a/src/main/java/org/scijava/display/ActiveDisplayPreprocessor.java
+++ b/src/main/java/org/scijava/display/ActiveDisplayPreprocessor.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/display/DefaultDisplay.java b/src/main/java/org/scijava/display/DefaultDisplay.java
index a891da42c..210108cb4 100644
--- a/src/main/java/org/scijava/display/DefaultDisplay.java
+++ b/src/main/java/org/scijava/display/DefaultDisplay.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/display/DefaultDisplayService.java b/src/main/java/org/scijava/display/DefaultDisplayService.java
index e383301fe..a8e0e6ade 100644
--- a/src/main/java/org/scijava/display/DefaultDisplayService.java
+++ b/src/main/java/org/scijava/display/DefaultDisplayService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/display/DefaultTextDisplay.java b/src/main/java/org/scijava/display/DefaultTextDisplay.java
index acf37864e..b2249003b 100644
--- a/src/main/java/org/scijava/display/DefaultTextDisplay.java
+++ b/src/main/java/org/scijava/display/DefaultTextDisplay.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/display/Display.java b/src/main/java/org/scijava/display/Display.java
index 810350a13..e51c819bf 100644
--- a/src/main/java/org/scijava/display/Display.java
+++ b/src/main/java/org/scijava/display/Display.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/display/DisplayPostprocessor.java b/src/main/java/org/scijava/display/DisplayPostprocessor.java
index bee7ccb7a..c48bad430 100644
--- a/src/main/java/org/scijava/display/DisplayPostprocessor.java
+++ b/src/main/java/org/scijava/display/DisplayPostprocessor.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/display/DisplayService.java b/src/main/java/org/scijava/display/DisplayService.java
index 2f50512c4..204b72608 100644
--- a/src/main/java/org/scijava/display/DisplayService.java
+++ b/src/main/java/org/scijava/display/DisplayService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/display/Displayable.java b/src/main/java/org/scijava/display/Displayable.java
index 6236703b8..c57d69244 100644
--- a/src/main/java/org/scijava/display/Displayable.java
+++ b/src/main/java/org/scijava/display/Displayable.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/display/TextDisplay.java b/src/main/java/org/scijava/display/TextDisplay.java
index 600e4a729..46be07e94 100644
--- a/src/main/java/org/scijava/display/TextDisplay.java
+++ b/src/main/java/org/scijava/display/TextDisplay.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/display/event/DisplayActivatedEvent.java b/src/main/java/org/scijava/display/event/DisplayActivatedEvent.java
index 89ab73888..4edf3e210 100644
--- a/src/main/java/org/scijava/display/event/DisplayActivatedEvent.java
+++ b/src/main/java/org/scijava/display/event/DisplayActivatedEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/display/event/DisplayCreatedEvent.java b/src/main/java/org/scijava/display/event/DisplayCreatedEvent.java
index f7a632a17..56202566b 100644
--- a/src/main/java/org/scijava/display/event/DisplayCreatedEvent.java
+++ b/src/main/java/org/scijava/display/event/DisplayCreatedEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/display/event/DisplayDeletedEvent.java b/src/main/java/org/scijava/display/event/DisplayDeletedEvent.java
index 978ff2296..30a461d51 100644
--- a/src/main/java/org/scijava/display/event/DisplayDeletedEvent.java
+++ b/src/main/java/org/scijava/display/event/DisplayDeletedEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/display/event/DisplayEvent.java b/src/main/java/org/scijava/display/event/DisplayEvent.java
index a533eaf74..a604634fd 100644
--- a/src/main/java/org/scijava/display/event/DisplayEvent.java
+++ b/src/main/java/org/scijava/display/event/DisplayEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/display/event/DisplayUpdatedEvent.java b/src/main/java/org/scijava/display/event/DisplayUpdatedEvent.java
index 2df034dc3..dbac42c23 100644
--- a/src/main/java/org/scijava/display/event/DisplayUpdatedEvent.java
+++ b/src/main/java/org/scijava/display/event/DisplayUpdatedEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
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 fab6bcc83..8ef95d6a1 100644
--- a/src/main/java/org/scijava/display/event/input/InputEvent.java
+++ b/src/main/java/org/scijava/display/event/input/InputEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
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 a019dc780..93f8741f6 100644
--- a/src/main/java/org/scijava/display/event/input/KyEvent.java
+++ b/src/main/java/org/scijava/display/event/input/KyEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
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 089dd17e2..d86783a0c 100644
--- a/src/main/java/org/scijava/display/event/input/KyPressedEvent.java
+++ b/src/main/java/org/scijava/display/event/input/KyPressedEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
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 128e10b50..81f003f47 100644
--- a/src/main/java/org/scijava/display/event/input/KyReleasedEvent.java
+++ b/src/main/java/org/scijava/display/event/input/KyReleasedEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
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 e3071db3b..52354fc5a 100644
--- a/src/main/java/org/scijava/display/event/input/KyTypedEvent.java
+++ b/src/main/java/org/scijava/display/event/input/KyTypedEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
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 d6ca4f712..737edb758 100644
--- a/src/main/java/org/scijava/display/event/input/MsButtonEvent.java
+++ b/src/main/java/org/scijava/display/event/input/MsButtonEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
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 6110f6330..206cdea81 100644
--- a/src/main/java/org/scijava/display/event/input/MsClickedEvent.java
+++ b/src/main/java/org/scijava/display/event/input/MsClickedEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
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 765c73e73..a1d73920f 100644
--- a/src/main/java/org/scijava/display/event/input/MsDraggedEvent.java
+++ b/src/main/java/org/scijava/display/event/input/MsDraggedEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
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 2bbe67f53..c68ca8fce 100644
--- a/src/main/java/org/scijava/display/event/input/MsEnteredEvent.java
+++ b/src/main/java/org/scijava/display/event/input/MsEnteredEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
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 7b4238bdb..ffc1cd08c 100644
--- a/src/main/java/org/scijava/display/event/input/MsEvent.java
+++ b/src/main/java/org/scijava/display/event/input/MsEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
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 8f1a9864f..b0ea0b037 100644
--- a/src/main/java/org/scijava/display/event/input/MsExitedEvent.java
+++ b/src/main/java/org/scijava/display/event/input/MsExitedEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
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 f702b1927..e0d7045a8 100644
--- a/src/main/java/org/scijava/display/event/input/MsMovedEvent.java
+++ b/src/main/java/org/scijava/display/event/input/MsMovedEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
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 ba6f9d7ab..4c3e3fd99 100644
--- a/src/main/java/org/scijava/display/event/input/MsPressedEvent.java
+++ b/src/main/java/org/scijava/display/event/input/MsPressedEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
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 0efacbe71..7fdbc15f8 100644
--- a/src/main/java/org/scijava/display/event/input/MsReleasedEvent.java
+++ b/src/main/java/org/scijava/display/event/input/MsReleasedEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
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 73f93a14f..c0da07dc4 100644
--- a/src/main/java/org/scijava/display/event/input/MsWheelEvent.java
+++ b/src/main/java/org/scijava/display/event/input/MsWheelEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
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 a63bae0d0..e070b45a4 100644
--- a/src/main/java/org/scijava/display/event/window/WinActivatedEvent.java
+++ b/src/main/java/org/scijava/display/event/window/WinActivatedEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
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 8638eb469..11bb065a3 100644
--- a/src/main/java/org/scijava/display/event/window/WinClosedEvent.java
+++ b/src/main/java/org/scijava/display/event/window/WinClosedEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
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 331f82b72..51b9e6402 100644
--- a/src/main/java/org/scijava/display/event/window/WinClosingEvent.java
+++ b/src/main/java/org/scijava/display/event/window/WinClosingEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
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 fbb144fe4..d3f994aef 100644
--- a/src/main/java/org/scijava/display/event/window/WinDeactivatedEvent.java
+++ b/src/main/java/org/scijava/display/event/window/WinDeactivatedEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
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 12a830f82..68a182f04 100644
--- a/src/main/java/org/scijava/display/event/window/WinDeiconifiedEvent.java
+++ b/src/main/java/org/scijava/display/event/window/WinDeiconifiedEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
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 ad9ad56ab..6eda6b191 100644
--- a/src/main/java/org/scijava/display/event/window/WinEvent.java
+++ b/src/main/java/org/scijava/display/event/window/WinEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
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 8cede75c9..910acbadc 100644
--- a/src/main/java/org/scijava/display/event/window/WinIconifiedEvent.java
+++ b/src/main/java/org/scijava/display/event/window/WinIconifiedEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
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 c2ffa1794..1b4bd8b09 100644
--- a/src/main/java/org/scijava/display/event/window/WinOpenedEvent.java
+++ b/src/main/java/org/scijava/display/event/window/WinOpenedEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/event/ContextDisposingEvent.java b/src/main/java/org/scijava/event/ContextDisposingEvent.java
index bbe3fba40..26b9b7bcf 100644
--- a/src/main/java/org/scijava/event/ContextDisposingEvent.java
+++ b/src/main/java/org/scijava/event/ContextDisposingEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/event/DefaultEventBus.java b/src/main/java/org/scijava/event/DefaultEventBus.java
index 4ebb70883..7d262054c 100644
--- a/src/main/java/org/scijava/event/DefaultEventBus.java
+++ b/src/main/java/org/scijava/event/DefaultEventBus.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/event/DefaultEventHistory.java b/src/main/java/org/scijava/event/DefaultEventHistory.java
index 4b468cd09..7835f5087 100644
--- a/src/main/java/org/scijava/event/DefaultEventHistory.java
+++ b/src/main/java/org/scijava/event/DefaultEventHistory.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/event/DefaultEventService.java b/src/main/java/org/scijava/event/DefaultEventService.java
index f7e924b46..9de3dc332 100644
--- a/src/main/java/org/scijava/event/DefaultEventService.java
+++ b/src/main/java/org/scijava/event/DefaultEventService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/event/EventDetails.java b/src/main/java/org/scijava/event/EventDetails.java
index 3336f4da9..94db61dcd 100644
--- a/src/main/java/org/scijava/event/EventDetails.java
+++ b/src/main/java/org/scijava/event/EventDetails.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/event/EventHandler.java b/src/main/java/org/scijava/event/EventHandler.java
index fc549034e..386713bc6 100644
--- a/src/main/java/org/scijava/event/EventHandler.java
+++ b/src/main/java/org/scijava/event/EventHandler.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/event/EventHistory.java b/src/main/java/org/scijava/event/EventHistory.java
index 706ac59f3..6d0dbc100 100644
--- a/src/main/java/org/scijava/event/EventHistory.java
+++ b/src/main/java/org/scijava/event/EventHistory.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/event/EventHistoryListener.java b/src/main/java/org/scijava/event/EventHistoryListener.java
index a5426bb76..b74804836 100644
--- a/src/main/java/org/scijava/event/EventHistoryListener.java
+++ b/src/main/java/org/scijava/event/EventHistoryListener.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/event/EventService.java b/src/main/java/org/scijava/event/EventService.java
index efe3b1179..4d046e5a7 100644
--- a/src/main/java/org/scijava/event/EventService.java
+++ b/src/main/java/org/scijava/event/EventService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/event/EventSubscriber.java b/src/main/java/org/scijava/event/EventSubscriber.java
index 79c328cf6..1233b0913 100644
--- a/src/main/java/org/scijava/event/EventSubscriber.java
+++ b/src/main/java/org/scijava/event/EventSubscriber.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/event/SciJavaEvent.java b/src/main/java/org/scijava/event/SciJavaEvent.java
index e644763e8..f61edc56b 100644
--- a/src/main/java/org/scijava/event/SciJavaEvent.java
+++ b/src/main/java/org/scijava/event/SciJavaEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/input/Accelerator.java b/src/main/java/org/scijava/input/Accelerator.java
index c3976e9b8..5ac542926 100644
--- a/src/main/java/org/scijava/input/Accelerator.java
+++ b/src/main/java/org/scijava/input/Accelerator.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/input/DefaultInputService.java b/src/main/java/org/scijava/input/DefaultInputService.java
index 5c485330c..32317193e 100644
--- a/src/main/java/org/scijava/input/DefaultInputService.java
+++ b/src/main/java/org/scijava/input/DefaultInputService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/input/InputModifiers.java b/src/main/java/org/scijava/input/InputModifiers.java
index 91fce4bc5..b6a8567e6 100644
--- a/src/main/java/org/scijava/input/InputModifiers.java
+++ b/src/main/java/org/scijava/input/InputModifiers.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/input/InputService.java b/src/main/java/org/scijava/input/InputService.java
index 215256789..a3541422d 100644
--- a/src/main/java/org/scijava/input/InputService.java
+++ b/src/main/java/org/scijava/input/InputService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/input/KeyCode.java b/src/main/java/org/scijava/input/KeyCode.java
index e70e63222..430f97f0c 100644
--- a/src/main/java/org/scijava/input/KeyCode.java
+++ b/src/main/java/org/scijava/input/KeyCode.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/input/MouseCursor.java b/src/main/java/org/scijava/input/MouseCursor.java
index cc87247e6..833298a89 100644
--- a/src/main/java/org/scijava/input/MouseCursor.java
+++ b/src/main/java/org/scijava/input/MouseCursor.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/io/AbstractIOPlugin.java b/src/main/java/org/scijava/io/AbstractIOPlugin.java
index 1574e109c..6053405d8 100644
--- a/src/main/java/org/scijava/io/AbstractIOPlugin.java
+++ b/src/main/java/org/scijava/io/AbstractIOPlugin.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/io/ByteArrayByteBank.java b/src/main/java/org/scijava/io/ByteArrayByteBank.java
index 252500cb1..172b2d933 100644
--- a/src/main/java/org/scijava/io/ByteArrayByteBank.java
+++ b/src/main/java/org/scijava/io/ByteArrayByteBank.java
@@ -3,18 +3,19 @@
* SciJava Common 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.
+ * 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
diff --git a/src/main/java/org/scijava/io/ByteBank.java b/src/main/java/org/scijava/io/ByteBank.java
index e97b15bfe..5c5551ecb 100644
--- a/src/main/java/org/scijava/io/ByteBank.java
+++ b/src/main/java/org/scijava/io/ByteBank.java
@@ -3,18 +3,19 @@
* SciJava Common 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.
+ * 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
diff --git a/src/main/java/org/scijava/io/DefaultIOService.java b/src/main/java/org/scijava/io/DefaultIOService.java
index 2e6cdc63b..70ac00020 100644
--- a/src/main/java/org/scijava/io/DefaultIOService.java
+++ b/src/main/java/org/scijava/io/DefaultIOService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/io/DefaultRecentFileService.java b/src/main/java/org/scijava/io/DefaultRecentFileService.java
index 62506bb26..8bda3c537 100644
--- a/src/main/java/org/scijava/io/DefaultRecentFileService.java
+++ b/src/main/java/org/scijava/io/DefaultRecentFileService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/io/IOPlugin.java b/src/main/java/org/scijava/io/IOPlugin.java
index 7de3cc315..42781e9a6 100644
--- a/src/main/java/org/scijava/io/IOPlugin.java
+++ b/src/main/java/org/scijava/io/IOPlugin.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/io/IOService.java b/src/main/java/org/scijava/io/IOService.java
index 3774de692..3858229a9 100644
--- a/src/main/java/org/scijava/io/IOService.java
+++ b/src/main/java/org/scijava/io/IOService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/io/RecentFileService.java b/src/main/java/org/scijava/io/RecentFileService.java
index 6eb0e68cd..e7ab47cae 100644
--- a/src/main/java/org/scijava/io/RecentFileService.java
+++ b/src/main/java/org/scijava/io/RecentFileService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/io/console/OpenArgument.java b/src/main/java/org/scijava/io/console/OpenArgument.java
index 6f0c7947e..23180281a 100644
--- a/src/main/java/org/scijava/io/console/OpenArgument.java
+++ b/src/main/java/org/scijava/io/console/OpenArgument.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/io/event/DataOpenedEvent.java b/src/main/java/org/scijava/io/event/DataOpenedEvent.java
index 08df4c44e..08ac7c0ef 100644
--- a/src/main/java/org/scijava/io/event/DataOpenedEvent.java
+++ b/src/main/java/org/scijava/io/event/DataOpenedEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/io/event/DataSavedEvent.java b/src/main/java/org/scijava/io/event/DataSavedEvent.java
index 73e21c01a..45691849f 100644
--- a/src/main/java/org/scijava/io/event/DataSavedEvent.java
+++ b/src/main/java/org/scijava/io/event/DataSavedEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/io/event/IOEvent.java b/src/main/java/org/scijava/io/event/IOEvent.java
index 83bb16f7b..2c21cd076 100644
--- a/src/main/java/org/scijava/io/event/IOEvent.java
+++ b/src/main/java/org/scijava/io/event/IOEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/io/handle/AbstractDataHandle.java b/src/main/java/org/scijava/io/handle/AbstractDataHandle.java
index ac0e4b7a8..2d2258ab2 100644
--- a/src/main/java/org/scijava/io/handle/AbstractDataHandle.java
+++ b/src/main/java/org/scijava/io/handle/AbstractDataHandle.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/io/handle/BytesHandle.java b/src/main/java/org/scijava/io/handle/BytesHandle.java
index 813a99944..56d62a92e 100644
--- a/src/main/java/org/scijava/io/handle/BytesHandle.java
+++ b/src/main/java/org/scijava/io/handle/BytesHandle.java
@@ -2,19 +2,20 @@
* #%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 - 2017 Board of Regents of the University 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
diff --git a/src/main/java/org/scijava/io/handle/DataHandle.java b/src/main/java/org/scijava/io/handle/DataHandle.java
index 78e9ed376..f02b18c17 100644
--- a/src/main/java/org/scijava/io/handle/DataHandle.java
+++ b/src/main/java/org/scijava/io/handle/DataHandle.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/io/handle/DataHandleInputStream.java b/src/main/java/org/scijava/io/handle/DataHandleInputStream.java
index 2a215c69a..d96cfed49 100644
--- a/src/main/java/org/scijava/io/handle/DataHandleInputStream.java
+++ b/src/main/java/org/scijava/io/handle/DataHandleInputStream.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/io/handle/DataHandleOutputStream.java b/src/main/java/org/scijava/io/handle/DataHandleOutputStream.java
index c2320281f..8291985ba 100644
--- a/src/main/java/org/scijava/io/handle/DataHandleOutputStream.java
+++ b/src/main/java/org/scijava/io/handle/DataHandleOutputStream.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/io/handle/DataHandleService.java b/src/main/java/org/scijava/io/handle/DataHandleService.java
index 5ed20cfc0..97175e4d9 100644
--- a/src/main/java/org/scijava/io/handle/DataHandleService.java
+++ b/src/main/java/org/scijava/io/handle/DataHandleService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/io/handle/DataHandles.java b/src/main/java/org/scijava/io/handle/DataHandles.java
index 47be40ebc..f3c598ce8 100644
--- a/src/main/java/org/scijava/io/handle/DataHandles.java
+++ b/src/main/java/org/scijava/io/handle/DataHandles.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/io/handle/DefaultDataHandleService.java b/src/main/java/org/scijava/io/handle/DefaultDataHandleService.java
index 02123344a..b2bf44b98 100644
--- a/src/main/java/org/scijava/io/handle/DefaultDataHandleService.java
+++ b/src/main/java/org/scijava/io/handle/DefaultDataHandleService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/io/handle/DummyHandle.java b/src/main/java/org/scijava/io/handle/DummyHandle.java
index 1578a6b8c..bfbcf3a2f 100644
--- a/src/main/java/org/scijava/io/handle/DummyHandle.java
+++ b/src/main/java/org/scijava/io/handle/DummyHandle.java
@@ -3,18 +3,19 @@
* SciJava Common 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.
+ * 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
diff --git a/src/main/java/org/scijava/io/handle/FileHandle.java b/src/main/java/org/scijava/io/handle/FileHandle.java
index 5541c064c..5db88ba18 100644
--- a/src/main/java/org/scijava/io/handle/FileHandle.java
+++ b/src/main/java/org/scijava/io/handle/FileHandle.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/io/location/AbstractLocation.java b/src/main/java/org/scijava/io/location/AbstractLocation.java
index 2d9d238e2..3d614d162 100644
--- a/src/main/java/org/scijava/io/location/AbstractLocation.java
+++ b/src/main/java/org/scijava/io/location/AbstractLocation.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/io/location/AbstractRemoteLocation.java b/src/main/java/org/scijava/io/location/AbstractRemoteLocation.java
index 4aeba9d6b..5a5873ed3 100644
--- a/src/main/java/org/scijava/io/location/AbstractRemoteLocation.java
+++ b/src/main/java/org/scijava/io/location/AbstractRemoteLocation.java
@@ -3,18 +3,19 @@
* SciJava Common 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.
+ * 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
diff --git a/src/main/java/org/scijava/io/location/BytesLocation.java b/src/main/java/org/scijava/io/location/BytesLocation.java
index aecf8edb6..49c1b07cd 100644
--- a/src/main/java/org/scijava/io/location/BytesLocation.java
+++ b/src/main/java/org/scijava/io/location/BytesLocation.java
@@ -3,18 +3,19 @@
* SciJava Common 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.
+ * 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
diff --git a/src/main/java/org/scijava/io/location/DummyLocation.java b/src/main/java/org/scijava/io/location/DummyLocation.java
index d2db80c9b..2601d3132 100644
--- a/src/main/java/org/scijava/io/location/DummyLocation.java
+++ b/src/main/java/org/scijava/io/location/DummyLocation.java
@@ -2,19 +2,20 @@
* #%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 - 2017 Board of Regents of the University 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
diff --git a/src/main/java/org/scijava/io/location/FileLocation.java b/src/main/java/org/scijava/io/location/FileLocation.java
index 5092167ec..aa9a383df 100644
--- a/src/main/java/org/scijava/io/location/FileLocation.java
+++ b/src/main/java/org/scijava/io/location/FileLocation.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/io/location/Location.java b/src/main/java/org/scijava/io/location/Location.java
index db9dc146d..ad42bf3cb 100644
--- a/src/main/java/org/scijava/io/location/Location.java
+++ b/src/main/java/org/scijava/io/location/Location.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/io/location/RemoteLocation.java b/src/main/java/org/scijava/io/location/RemoteLocation.java
index ed5d43617..94cc2155b 100644
--- a/src/main/java/org/scijava/io/location/RemoteLocation.java
+++ b/src/main/java/org/scijava/io/location/RemoteLocation.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/io/location/URILocation.java b/src/main/java/org/scijava/io/location/URILocation.java
index 1c4045955..8ea6531cc 100644
--- a/src/main/java/org/scijava/io/location/URILocation.java
+++ b/src/main/java/org/scijava/io/location/URILocation.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/io/location/URLLocation.java b/src/main/java/org/scijava/io/location/URLLocation.java
index 24789ff14..14b96a4b0 100644
--- a/src/main/java/org/scijava/io/location/URLLocation.java
+++ b/src/main/java/org/scijava/io/location/URLLocation.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/io/nio/ByteBufferByteBank.java b/src/main/java/org/scijava/io/nio/ByteBufferByteBank.java
index 8245aa663..80a84459c 100644
--- a/src/main/java/org/scijava/io/nio/ByteBufferByteBank.java
+++ b/src/main/java/org/scijava/io/nio/ByteBufferByteBank.java
@@ -3,18 +3,19 @@
* SciJava Common 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.
+ * 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
diff --git a/src/main/java/org/scijava/io/nio/DefaultNIOService.java b/src/main/java/org/scijava/io/nio/DefaultNIOService.java
index 9a631daf6..29785ec49 100644
--- a/src/main/java/org/scijava/io/nio/DefaultNIOService.java
+++ b/src/main/java/org/scijava/io/nio/DefaultNIOService.java
@@ -2,9 +2,10 @@
* #%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 - 2017 Board of Regents of the University 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:
diff --git a/src/main/java/org/scijava/io/nio/NIOService.java b/src/main/java/org/scijava/io/nio/NIOService.java
index 0c6865045..1d67b0a66 100644
--- a/src/main/java/org/scijava/io/nio/NIOService.java
+++ b/src/main/java/org/scijava/io/nio/NIOService.java
@@ -2,9 +2,10 @@
* #%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 - 2017 Board of Regents of the University 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:
diff --git a/src/main/java/org/scijava/log/AbstractLogService.java b/src/main/java/org/scijava/log/AbstractLogService.java
index 44f9fea29..ff2545be0 100644
--- a/src/main/java/org/scijava/log/AbstractLogService.java
+++ b/src/main/java/org/scijava/log/AbstractLogService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/log/DefaultUncaughtExceptionHandler.java b/src/main/java/org/scijava/log/DefaultUncaughtExceptionHandler.java
index ab28a4515..8130547f2 100644
--- a/src/main/java/org/scijava/log/DefaultUncaughtExceptionHandler.java
+++ b/src/main/java/org/scijava/log/DefaultUncaughtExceptionHandler.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/log/LogService.java b/src/main/java/org/scijava/log/LogService.java
index c86563871..bae7381e3 100644
--- a/src/main/java/org/scijava/log/LogService.java
+++ b/src/main/java/org/scijava/log/LogService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/log/Logged.java b/src/main/java/org/scijava/log/Logged.java
index cb73be8c5..ee9db5e02 100644
--- a/src/main/java/org/scijava/log/Logged.java
+++ b/src/main/java/org/scijava/log/Logged.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/log/StderrLogService.java b/src/main/java/org/scijava/log/StderrLogService.java
index f79baab50..53e8e913b 100644
--- a/src/main/java/org/scijava/log/StderrLogService.java
+++ b/src/main/java/org/scijava/log/StderrLogService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/main/DefaultMainService.java b/src/main/java/org/scijava/main/DefaultMainService.java
index f8fcfc99d..48af811df 100644
--- a/src/main/java/org/scijava/main/DefaultMainService.java
+++ b/src/main/java/org/scijava/main/DefaultMainService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/main/MainService.java b/src/main/java/org/scijava/main/MainService.java
index d865ec95c..c4a4ac2d0 100644
--- a/src/main/java/org/scijava/main/MainService.java
+++ b/src/main/java/org/scijava/main/MainService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/main/console/MainArgument.java b/src/main/java/org/scijava/main/console/MainArgument.java
index d33c64121..793fdce2c 100644
--- a/src/main/java/org/scijava/main/console/MainArgument.java
+++ b/src/main/java/org/scijava/main/console/MainArgument.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/main/run/MainCodeRunner.java b/src/main/java/org/scijava/main/run/MainCodeRunner.java
index 153d5303d..8a359cd49 100644
--- a/src/main/java/org/scijava/main/run/MainCodeRunner.java
+++ b/src/main/java/org/scijava/main/run/MainCodeRunner.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/menu/AbstractMenuCreator.java b/src/main/java/org/scijava/menu/AbstractMenuCreator.java
index d3835cdca..b88dd28db 100644
--- a/src/main/java/org/scijava/menu/AbstractMenuCreator.java
+++ b/src/main/java/org/scijava/menu/AbstractMenuCreator.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/menu/DefaultMenuService.java b/src/main/java/org/scijava/menu/DefaultMenuService.java
index 99e6c8c9e..e231a8819 100644
--- a/src/main/java/org/scijava/menu/DefaultMenuService.java
+++ b/src/main/java/org/scijava/menu/DefaultMenuService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/menu/MenuConstants.java b/src/main/java/org/scijava/menu/MenuConstants.java
index 6ee40aa5f..680b52f86 100644
--- a/src/main/java/org/scijava/menu/MenuConstants.java
+++ b/src/main/java/org/scijava/menu/MenuConstants.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/menu/MenuCreator.java b/src/main/java/org/scijava/menu/MenuCreator.java
index 84691ad71..ebda18708 100644
--- a/src/main/java/org/scijava/menu/MenuCreator.java
+++ b/src/main/java/org/scijava/menu/MenuCreator.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/menu/MenuService.java b/src/main/java/org/scijava/menu/MenuService.java
index b0b611c13..02747467d 100644
--- a/src/main/java/org/scijava/menu/MenuService.java
+++ b/src/main/java/org/scijava/menu/MenuService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/menu/ShadowMenu.java b/src/main/java/org/scijava/menu/ShadowMenu.java
index 529ba1f81..35613098e 100644
--- a/src/main/java/org/scijava/menu/ShadowMenu.java
+++ b/src/main/java/org/scijava/menu/ShadowMenu.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/menu/ShadowMenuIterator.java b/src/main/java/org/scijava/menu/ShadowMenuIterator.java
index bb1784cba..e4ae4883c 100644
--- a/src/main/java/org/scijava/menu/ShadowMenuIterator.java
+++ b/src/main/java/org/scijava/menu/ShadowMenuIterator.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/menu/event/MenuEvent.java b/src/main/java/org/scijava/menu/event/MenuEvent.java
index e3220196f..220a8389f 100644
--- a/src/main/java/org/scijava/menu/event/MenuEvent.java
+++ b/src/main/java/org/scijava/menu/event/MenuEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/menu/event/MenusAddedEvent.java b/src/main/java/org/scijava/menu/event/MenusAddedEvent.java
index c22b02cf6..7474e77a1 100644
--- a/src/main/java/org/scijava/menu/event/MenusAddedEvent.java
+++ b/src/main/java/org/scijava/menu/event/MenusAddedEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/menu/event/MenusRemovedEvent.java b/src/main/java/org/scijava/menu/event/MenusRemovedEvent.java
index b1a1ac583..c8fb8c1df 100644
--- a/src/main/java/org/scijava/menu/event/MenusRemovedEvent.java
+++ b/src/main/java/org/scijava/menu/event/MenusRemovedEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/menu/event/MenusUpdatedEvent.java b/src/main/java/org/scijava/menu/event/MenusUpdatedEvent.java
index c7063001f..75ac1d5a0 100644
--- a/src/main/java/org/scijava/menu/event/MenusUpdatedEvent.java
+++ b/src/main/java/org/scijava/menu/event/MenusUpdatedEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/AbstractModule.java b/src/main/java/org/scijava/module/AbstractModule.java
index e50a162e7..ca13bf3db 100644
--- a/src/main/java/org/scijava/module/AbstractModule.java
+++ b/src/main/java/org/scijava/module/AbstractModule.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/AbstractModuleInfo.java b/src/main/java/org/scijava/module/AbstractModuleInfo.java
index ffd48cf37..87d792c96 100644
--- a/src/main/java/org/scijava/module/AbstractModuleInfo.java
+++ b/src/main/java/org/scijava/module/AbstractModuleInfo.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/AbstractModuleItem.java b/src/main/java/org/scijava/module/AbstractModuleItem.java
index e7ce1f0d2..c58024cda 100644
--- a/src/main/java/org/scijava/module/AbstractModuleItem.java
+++ b/src/main/java/org/scijava/module/AbstractModuleItem.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/DefaultModuleService.java b/src/main/java/org/scijava/module/DefaultModuleService.java
index f7a7f7a46..ec3c1e0dd 100644
--- a/src/main/java/org/scijava/module/DefaultModuleService.java
+++ b/src/main/java/org/scijava/module/DefaultModuleService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/DefaultMutableModule.java b/src/main/java/org/scijava/module/DefaultMutableModule.java
index c368a602c..c1cc84d16 100644
--- a/src/main/java/org/scijava/module/DefaultMutableModule.java
+++ b/src/main/java/org/scijava/module/DefaultMutableModule.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/DefaultMutableModuleInfo.java b/src/main/java/org/scijava/module/DefaultMutableModuleInfo.java
index ff6a07fb1..6654c616d 100644
--- a/src/main/java/org/scijava/module/DefaultMutableModuleInfo.java
+++ b/src/main/java/org/scijava/module/DefaultMutableModuleInfo.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/DefaultMutableModuleItem.java b/src/main/java/org/scijava/module/DefaultMutableModuleItem.java
index 363388587..afa563749 100644
--- a/src/main/java/org/scijava/module/DefaultMutableModuleItem.java
+++ b/src/main/java/org/scijava/module/DefaultMutableModuleItem.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/MethodCallException.java b/src/main/java/org/scijava/module/MethodCallException.java
index 25058c382..970958312 100644
--- a/src/main/java/org/scijava/module/MethodCallException.java
+++ b/src/main/java/org/scijava/module/MethodCallException.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/MethodRef.java b/src/main/java/org/scijava/module/MethodRef.java
index 35d44b0dd..acfa908b4 100644
--- a/src/main/java/org/scijava/module/MethodRef.java
+++ b/src/main/java/org/scijava/module/MethodRef.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/Module.java b/src/main/java/org/scijava/module/Module.java
index 3cb81187e..567602335 100644
--- a/src/main/java/org/scijava/module/Module.java
+++ b/src/main/java/org/scijava/module/Module.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/ModuleCanceledException.java b/src/main/java/org/scijava/module/ModuleCanceledException.java
index 1eb8c6b8f..82ae29ef9 100644
--- a/src/main/java/org/scijava/module/ModuleCanceledException.java
+++ b/src/main/java/org/scijava/module/ModuleCanceledException.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/ModuleException.java b/src/main/java/org/scijava/module/ModuleException.java
index 01d8612f8..2355db95b 100644
--- a/src/main/java/org/scijava/module/ModuleException.java
+++ b/src/main/java/org/scijava/module/ModuleException.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/ModuleIndex.java b/src/main/java/org/scijava/module/ModuleIndex.java
index b4a8e146d..83da593d6 100644
--- a/src/main/java/org/scijava/module/ModuleIndex.java
+++ b/src/main/java/org/scijava/module/ModuleIndex.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/ModuleInfo.java b/src/main/java/org/scijava/module/ModuleInfo.java
index f6972555d..3a454338d 100644
--- a/src/main/java/org/scijava/module/ModuleInfo.java
+++ b/src/main/java/org/scijava/module/ModuleInfo.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/ModuleItem.java b/src/main/java/org/scijava/module/ModuleItem.java
index 6def93c65..5b6b43fdb 100644
--- a/src/main/java/org/scijava/module/ModuleItem.java
+++ b/src/main/java/org/scijava/module/ModuleItem.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/ModuleRunner.java b/src/main/java/org/scijava/module/ModuleRunner.java
index a3a1253b6..d95e123f0 100644
--- a/src/main/java/org/scijava/module/ModuleRunner.java
+++ b/src/main/java/org/scijava/module/ModuleRunner.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/ModuleService.java b/src/main/java/org/scijava/module/ModuleService.java
index 165d83ffe..9267c0070 100644
--- a/src/main/java/org/scijava/module/ModuleService.java
+++ b/src/main/java/org/scijava/module/ModuleService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/MutableModule.java b/src/main/java/org/scijava/module/MutableModule.java
index 63771f2ca..83d746362 100644
--- a/src/main/java/org/scijava/module/MutableModule.java
+++ b/src/main/java/org/scijava/module/MutableModule.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/MutableModuleInfo.java b/src/main/java/org/scijava/module/MutableModuleInfo.java
index b4b6d3ca1..aec08d912 100644
--- a/src/main/java/org/scijava/module/MutableModuleInfo.java
+++ b/src/main/java/org/scijava/module/MutableModuleInfo.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/MutableModuleItem.java b/src/main/java/org/scijava/module/MutableModuleItem.java
index c546fb8ef..4c2f132fd 100644
--- a/src/main/java/org/scijava/module/MutableModuleItem.java
+++ b/src/main/java/org/scijava/module/MutableModuleItem.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/event/ModuleCanceledEvent.java b/src/main/java/org/scijava/module/event/ModuleCanceledEvent.java
index e6955c597..80bf49ba9 100644
--- a/src/main/java/org/scijava/module/event/ModuleCanceledEvent.java
+++ b/src/main/java/org/scijava/module/event/ModuleCanceledEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/event/ModuleEvent.java b/src/main/java/org/scijava/module/event/ModuleEvent.java
index f17936668..4303c40d4 100644
--- a/src/main/java/org/scijava/module/event/ModuleEvent.java
+++ b/src/main/java/org/scijava/module/event/ModuleEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/event/ModuleExecutedEvent.java b/src/main/java/org/scijava/module/event/ModuleExecutedEvent.java
index 095ee07b6..58dc9e41c 100644
--- a/src/main/java/org/scijava/module/event/ModuleExecutedEvent.java
+++ b/src/main/java/org/scijava/module/event/ModuleExecutedEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/event/ModuleExecutingEvent.java b/src/main/java/org/scijava/module/event/ModuleExecutingEvent.java
index e24bd4f4f..9589e788a 100644
--- a/src/main/java/org/scijava/module/event/ModuleExecutingEvent.java
+++ b/src/main/java/org/scijava/module/event/ModuleExecutingEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/event/ModuleExecutionEvent.java b/src/main/java/org/scijava/module/event/ModuleExecutionEvent.java
index 1dcc35616..5c5ed02ef 100644
--- a/src/main/java/org/scijava/module/event/ModuleExecutionEvent.java
+++ b/src/main/java/org/scijava/module/event/ModuleExecutionEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/event/ModuleFinishedEvent.java b/src/main/java/org/scijava/module/event/ModuleFinishedEvent.java
index 294cd8637..5ab4b856f 100644
--- a/src/main/java/org/scijava/module/event/ModuleFinishedEvent.java
+++ b/src/main/java/org/scijava/module/event/ModuleFinishedEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/event/ModulePostprocessEvent.java b/src/main/java/org/scijava/module/event/ModulePostprocessEvent.java
index 95b2379a1..98a0b2a27 100644
--- a/src/main/java/org/scijava/module/event/ModulePostprocessEvent.java
+++ b/src/main/java/org/scijava/module/event/ModulePostprocessEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/event/ModulePreprocessEvent.java b/src/main/java/org/scijava/module/event/ModulePreprocessEvent.java
index b81f1ffa1..ab8ef93ea 100644
--- a/src/main/java/org/scijava/module/event/ModulePreprocessEvent.java
+++ b/src/main/java/org/scijava/module/event/ModulePreprocessEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/event/ModuleProcessEvent.java b/src/main/java/org/scijava/module/event/ModuleProcessEvent.java
index 55305f2af..4f42cc3d3 100644
--- a/src/main/java/org/scijava/module/event/ModuleProcessEvent.java
+++ b/src/main/java/org/scijava/module/event/ModuleProcessEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/event/ModuleStartedEvent.java b/src/main/java/org/scijava/module/event/ModuleStartedEvent.java
index 7a5df739f..52647be4e 100644
--- a/src/main/java/org/scijava/module/event/ModuleStartedEvent.java
+++ b/src/main/java/org/scijava/module/event/ModuleStartedEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/event/ModulesAddedEvent.java b/src/main/java/org/scijava/module/event/ModulesAddedEvent.java
index d695e8d27..8fa1c18de 100644
--- a/src/main/java/org/scijava/module/event/ModulesAddedEvent.java
+++ b/src/main/java/org/scijava/module/event/ModulesAddedEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/event/ModulesListEvent.java b/src/main/java/org/scijava/module/event/ModulesListEvent.java
index 2bd2b150d..140ee62c0 100644
--- a/src/main/java/org/scijava/module/event/ModulesListEvent.java
+++ b/src/main/java/org/scijava/module/event/ModulesListEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/event/ModulesRemovedEvent.java b/src/main/java/org/scijava/module/event/ModulesRemovedEvent.java
index cc9038d05..f37774673 100644
--- a/src/main/java/org/scijava/module/event/ModulesRemovedEvent.java
+++ b/src/main/java/org/scijava/module/event/ModulesRemovedEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/event/ModulesUpdatedEvent.java b/src/main/java/org/scijava/module/event/ModulesUpdatedEvent.java
index 3278acceb..067cad90f 100644
--- a/src/main/java/org/scijava/module/event/ModulesUpdatedEvent.java
+++ b/src/main/java/org/scijava/module/event/ModulesUpdatedEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/process/AbstractPostprocessorPlugin.java b/src/main/java/org/scijava/module/process/AbstractPostprocessorPlugin.java
index cc33882a2..7f6231b28 100644
--- a/src/main/java/org/scijava/module/process/AbstractPostprocessorPlugin.java
+++ b/src/main/java/org/scijava/module/process/AbstractPostprocessorPlugin.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/process/AbstractPreprocessorPlugin.java b/src/main/java/org/scijava/module/process/AbstractPreprocessorPlugin.java
index a0f3e4ab1..b1c049a80 100644
--- a/src/main/java/org/scijava/module/process/AbstractPreprocessorPlugin.java
+++ b/src/main/java/org/scijava/module/process/AbstractPreprocessorPlugin.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/process/AbstractSingleInputPreprocessor.java b/src/main/java/org/scijava/module/process/AbstractSingleInputPreprocessor.java
index a6f69dc0d..91abbb0a9 100644
--- a/src/main/java/org/scijava/module/process/AbstractSingleInputPreprocessor.java
+++ b/src/main/java/org/scijava/module/process/AbstractSingleInputPreprocessor.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/process/CheckInputsPreprocessor.java b/src/main/java/org/scijava/module/process/CheckInputsPreprocessor.java
index 117a1e7fe..c07a0644c 100644
--- a/src/main/java/org/scijava/module/process/CheckInputsPreprocessor.java
+++ b/src/main/java/org/scijava/module/process/CheckInputsPreprocessor.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/process/DebugPostprocessor.java b/src/main/java/org/scijava/module/process/DebugPostprocessor.java
index 368702df6..bbac93103 100644
--- a/src/main/java/org/scijava/module/process/DebugPostprocessor.java
+++ b/src/main/java/org/scijava/module/process/DebugPostprocessor.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/process/DebugPreprocessor.java b/src/main/java/org/scijava/module/process/DebugPreprocessor.java
index 43f4498ac..3fc40644b 100644
--- a/src/main/java/org/scijava/module/process/DebugPreprocessor.java
+++ b/src/main/java/org/scijava/module/process/DebugPreprocessor.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/process/DefaultValuePreprocessor.java b/src/main/java/org/scijava/module/process/DefaultValuePreprocessor.java
index 6d1cecf01..d9100b87d 100644
--- a/src/main/java/org/scijava/module/process/DefaultValuePreprocessor.java
+++ b/src/main/java/org/scijava/module/process/DefaultValuePreprocessor.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/process/GatewayPreprocessor.java b/src/main/java/org/scijava/module/process/GatewayPreprocessor.java
index 3cc9d45ac..98d439e30 100644
--- a/src/main/java/org/scijava/module/process/GatewayPreprocessor.java
+++ b/src/main/java/org/scijava/module/process/GatewayPreprocessor.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/process/InitPreprocessor.java b/src/main/java/org/scijava/module/process/InitPreprocessor.java
index a853ba785..ec12b65c0 100644
--- a/src/main/java/org/scijava/module/process/InitPreprocessor.java
+++ b/src/main/java/org/scijava/module/process/InitPreprocessor.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/process/LoadInputsPreprocessor.java b/src/main/java/org/scijava/module/process/LoadInputsPreprocessor.java
index 426be0bed..c9d1632b9 100644
--- a/src/main/java/org/scijava/module/process/LoadInputsPreprocessor.java
+++ b/src/main/java/org/scijava/module/process/LoadInputsPreprocessor.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/process/ModulePostprocessor.java b/src/main/java/org/scijava/module/process/ModulePostprocessor.java
index 7f991b220..9f3d29ae4 100644
--- a/src/main/java/org/scijava/module/process/ModulePostprocessor.java
+++ b/src/main/java/org/scijava/module/process/ModulePostprocessor.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/process/ModulePreprocessor.java b/src/main/java/org/scijava/module/process/ModulePreprocessor.java
index 7f7df3348..e40a7b21c 100644
--- a/src/main/java/org/scijava/module/process/ModulePreprocessor.java
+++ b/src/main/java/org/scijava/module/process/ModulePreprocessor.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/process/ModuleProcessor.java b/src/main/java/org/scijava/module/process/ModuleProcessor.java
index 5bda98f14..01daf5446 100644
--- a/src/main/java/org/scijava/module/process/ModuleProcessor.java
+++ b/src/main/java/org/scijava/module/process/ModuleProcessor.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/process/PostprocessorPlugin.java b/src/main/java/org/scijava/module/process/PostprocessorPlugin.java
index e86f1b471..e8f346b8b 100644
--- a/src/main/java/org/scijava/module/process/PostprocessorPlugin.java
+++ b/src/main/java/org/scijava/module/process/PostprocessorPlugin.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/process/PreprocessorPlugin.java b/src/main/java/org/scijava/module/process/PreprocessorPlugin.java
index 8ab370ef5..b7081968d 100644
--- a/src/main/java/org/scijava/module/process/PreprocessorPlugin.java
+++ b/src/main/java/org/scijava/module/process/PreprocessorPlugin.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/process/SaveInputsPreprocessor.java b/src/main/java/org/scijava/module/process/SaveInputsPreprocessor.java
index 0784574c1..9d202b55c 100644
--- a/src/main/java/org/scijava/module/process/SaveInputsPreprocessor.java
+++ b/src/main/java/org/scijava/module/process/SaveInputsPreprocessor.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/process/ServicePreprocessor.java b/src/main/java/org/scijava/module/process/ServicePreprocessor.java
index d268eb8b2..0e8943887 100644
--- a/src/main/java/org/scijava/module/process/ServicePreprocessor.java
+++ b/src/main/java/org/scijava/module/process/ServicePreprocessor.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/process/ValidityPreprocessor.java b/src/main/java/org/scijava/module/process/ValidityPreprocessor.java
index 2ccb94e36..a72db98b9 100644
--- a/src/main/java/org/scijava/module/process/ValidityPreprocessor.java
+++ b/src/main/java/org/scijava/module/process/ValidityPreprocessor.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/module/run/ModuleCodeRunner.java b/src/main/java/org/scijava/module/run/ModuleCodeRunner.java
index 3f4fc437f..e34b1b800 100644
--- a/src/main/java/org/scijava/module/run/ModuleCodeRunner.java
+++ b/src/main/java/org/scijava/module/run/ModuleCodeRunner.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/object/DefaultObjectService.java b/src/main/java/org/scijava/object/DefaultObjectService.java
index 7567a4630..46f162ab0 100644
--- a/src/main/java/org/scijava/object/DefaultObjectService.java
+++ b/src/main/java/org/scijava/object/DefaultObjectService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/object/LazyObjects.java b/src/main/java/org/scijava/object/LazyObjects.java
index 715ef0887..39037e700 100644
--- a/src/main/java/org/scijava/object/LazyObjects.java
+++ b/src/main/java/org/scijava/object/LazyObjects.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/object/ObjectIndex.java b/src/main/java/org/scijava/object/ObjectIndex.java
index f172e3822..04c174cb5 100644
--- a/src/main/java/org/scijava/object/ObjectIndex.java
+++ b/src/main/java/org/scijava/object/ObjectIndex.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/object/ObjectService.java b/src/main/java/org/scijava/object/ObjectService.java
index 5b8833a85..e24922b21 100644
--- a/src/main/java/org/scijava/object/ObjectService.java
+++ b/src/main/java/org/scijava/object/ObjectService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/object/SortedObjectIndex.java b/src/main/java/org/scijava/object/SortedObjectIndex.java
index ab5de4579..690ff025d 100644
--- a/src/main/java/org/scijava/object/SortedObjectIndex.java
+++ b/src/main/java/org/scijava/object/SortedObjectIndex.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/object/event/ListEvent.java b/src/main/java/org/scijava/object/event/ListEvent.java
index 20043b4fa..ee97f715a 100644
--- a/src/main/java/org/scijava/object/event/ListEvent.java
+++ b/src/main/java/org/scijava/object/event/ListEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/object/event/ObjectCreatedEvent.java b/src/main/java/org/scijava/object/event/ObjectCreatedEvent.java
index a2f823b7e..6d7ea3c52 100644
--- a/src/main/java/org/scijava/object/event/ObjectCreatedEvent.java
+++ b/src/main/java/org/scijava/object/event/ObjectCreatedEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/object/event/ObjectDeletedEvent.java b/src/main/java/org/scijava/object/event/ObjectDeletedEvent.java
index 7e96da519..1cda244d8 100644
--- a/src/main/java/org/scijava/object/event/ObjectDeletedEvent.java
+++ b/src/main/java/org/scijava/object/event/ObjectDeletedEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/object/event/ObjectEvent.java b/src/main/java/org/scijava/object/event/ObjectEvent.java
index f4265bad5..5b4d8e68a 100644
--- a/src/main/java/org/scijava/object/event/ObjectEvent.java
+++ b/src/main/java/org/scijava/object/event/ObjectEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/object/event/ObjectModifiedEvent.java b/src/main/java/org/scijava/object/event/ObjectModifiedEvent.java
index 03cb59af2..44b289518 100644
--- a/src/main/java/org/scijava/object/event/ObjectModifiedEvent.java
+++ b/src/main/java/org/scijava/object/event/ObjectModifiedEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/object/event/ObjectsAddedEvent.java b/src/main/java/org/scijava/object/event/ObjectsAddedEvent.java
index 990622fc4..a924dcf5c 100644
--- a/src/main/java/org/scijava/object/event/ObjectsAddedEvent.java
+++ b/src/main/java/org/scijava/object/event/ObjectsAddedEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/object/event/ObjectsListEvent.java b/src/main/java/org/scijava/object/event/ObjectsListEvent.java
index 86eee883e..699cc48b0 100644
--- a/src/main/java/org/scijava/object/event/ObjectsListEvent.java
+++ b/src/main/java/org/scijava/object/event/ObjectsListEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/object/event/ObjectsRemovedEvent.java b/src/main/java/org/scijava/object/event/ObjectsRemovedEvent.java
index 47df9da30..20b505c6a 100644
--- a/src/main/java/org/scijava/object/event/ObjectsRemovedEvent.java
+++ b/src/main/java/org/scijava/object/event/ObjectsRemovedEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/options/DefaultOptionsService.java b/src/main/java/org/scijava/options/DefaultOptionsService.java
index 5d1b9fc9f..706eb0579 100644
--- a/src/main/java/org/scijava/options/DefaultOptionsService.java
+++ b/src/main/java/org/scijava/options/DefaultOptionsService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/options/OptionsPlugin.java b/src/main/java/org/scijava/options/OptionsPlugin.java
index 0c432e835..c217a5c14 100644
--- a/src/main/java/org/scijava/options/OptionsPlugin.java
+++ b/src/main/java/org/scijava/options/OptionsPlugin.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/options/OptionsService.java b/src/main/java/org/scijava/options/OptionsService.java
index 84a7ee761..199478d05 100644
--- a/src/main/java/org/scijava/options/OptionsService.java
+++ b/src/main/java/org/scijava/options/OptionsService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/options/event/OptionsEvent.java b/src/main/java/org/scijava/options/event/OptionsEvent.java
index b01199d23..6e2712b02 100644
--- a/src/main/java/org/scijava/options/event/OptionsEvent.java
+++ b/src/main/java/org/scijava/options/event/OptionsEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/parse/DefaultParseService.java b/src/main/java/org/scijava/parse/DefaultParseService.java
index 457a19ac9..3e5f5384e 100644
--- a/src/main/java/org/scijava/parse/DefaultParseService.java
+++ b/src/main/java/org/scijava/parse/DefaultParseService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/parse/Item.java b/src/main/java/org/scijava/parse/Item.java
index e58f0fec9..c08d40764 100644
--- a/src/main/java/org/scijava/parse/Item.java
+++ b/src/main/java/org/scijava/parse/Item.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/parse/Items.java b/src/main/java/org/scijava/parse/Items.java
index 687ef817d..a1a47320c 100644
--- a/src/main/java/org/scijava/parse/Items.java
+++ b/src/main/java/org/scijava/parse/Items.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/parse/ParseService.java b/src/main/java/org/scijava/parse/ParseService.java
index 68cc81156..870893e6f 100644
--- a/src/main/java/org/scijava/parse/ParseService.java
+++ b/src/main/java/org/scijava/parse/ParseService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/platform/AbstractPlatform.java b/src/main/java/org/scijava/platform/AbstractPlatform.java
index 4364fa93d..e0437cd04 100644
--- a/src/main/java/org/scijava/platform/AbstractPlatform.java
+++ b/src/main/java/org/scijava/platform/AbstractPlatform.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/platform/AppEventService.java b/src/main/java/org/scijava/platform/AppEventService.java
index aa030cd95..12dad7a43 100644
--- a/src/main/java/org/scijava/platform/AppEventService.java
+++ b/src/main/java/org/scijava/platform/AppEventService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/platform/DefaultAppEventService.java b/src/main/java/org/scijava/platform/DefaultAppEventService.java
index 807b8d871..50a4f74a6 100644
--- a/src/main/java/org/scijava/platform/DefaultAppEventService.java
+++ b/src/main/java/org/scijava/platform/DefaultAppEventService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/platform/DefaultPlatform.java b/src/main/java/org/scijava/platform/DefaultPlatform.java
index 630672060..7be138eb7 100644
--- a/src/main/java/org/scijava/platform/DefaultPlatform.java
+++ b/src/main/java/org/scijava/platform/DefaultPlatform.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/platform/DefaultPlatformService.java b/src/main/java/org/scijava/platform/DefaultPlatformService.java
index 9b6b11047..b0ded7629 100644
--- a/src/main/java/org/scijava/platform/DefaultPlatformService.java
+++ b/src/main/java/org/scijava/platform/DefaultPlatformService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/platform/Platform.java b/src/main/java/org/scijava/platform/Platform.java
index 1b19de6fa..840e03c46 100644
--- a/src/main/java/org/scijava/platform/Platform.java
+++ b/src/main/java/org/scijava/platform/Platform.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/platform/PlatformService.java b/src/main/java/org/scijava/platform/PlatformService.java
index 65282f726..53f56d85d 100644
--- a/src/main/java/org/scijava/platform/PlatformService.java
+++ b/src/main/java/org/scijava/platform/PlatformService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/platform/event/AppAboutEvent.java b/src/main/java/org/scijava/platform/event/AppAboutEvent.java
index 19f58943a..7bc964bdb 100644
--- a/src/main/java/org/scijava/platform/event/AppAboutEvent.java
+++ b/src/main/java/org/scijava/platform/event/AppAboutEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/platform/event/AppFocusEvent.java b/src/main/java/org/scijava/platform/event/AppFocusEvent.java
index 4e2cac09f..a4364de88 100644
--- a/src/main/java/org/scijava/platform/event/AppFocusEvent.java
+++ b/src/main/java/org/scijava/platform/event/AppFocusEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/platform/event/AppMenusCreatedEvent.java b/src/main/java/org/scijava/platform/event/AppMenusCreatedEvent.java
index cc29c24c4..72b90558b 100644
--- a/src/main/java/org/scijava/platform/event/AppMenusCreatedEvent.java
+++ b/src/main/java/org/scijava/platform/event/AppMenusCreatedEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/platform/event/AppOpenFilesEvent.java b/src/main/java/org/scijava/platform/event/AppOpenFilesEvent.java
index b4d81c1e3..bc6e98bc4 100644
--- a/src/main/java/org/scijava/platform/event/AppOpenFilesEvent.java
+++ b/src/main/java/org/scijava/platform/event/AppOpenFilesEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/platform/event/AppPreferencesEvent.java b/src/main/java/org/scijava/platform/event/AppPreferencesEvent.java
index 71bc04fd0..494372e96 100644
--- a/src/main/java/org/scijava/platform/event/AppPreferencesEvent.java
+++ b/src/main/java/org/scijava/platform/event/AppPreferencesEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/platform/event/AppPrintEvent.java b/src/main/java/org/scijava/platform/event/AppPrintEvent.java
index da6acd058..b89404a7d 100644
--- a/src/main/java/org/scijava/platform/event/AppPrintEvent.java
+++ b/src/main/java/org/scijava/platform/event/AppPrintEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/platform/event/AppQuitEvent.java b/src/main/java/org/scijava/platform/event/AppQuitEvent.java
index dee21cabd..6f8f3ff08 100644
--- a/src/main/java/org/scijava/platform/event/AppQuitEvent.java
+++ b/src/main/java/org/scijava/platform/event/AppQuitEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/platform/event/AppReOpenEvent.java b/src/main/java/org/scijava/platform/event/AppReOpenEvent.java
index 6e0f9a291..db1fe918b 100644
--- a/src/main/java/org/scijava/platform/event/AppReOpenEvent.java
+++ b/src/main/java/org/scijava/platform/event/AppReOpenEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/platform/event/AppScreenSleepEvent.java b/src/main/java/org/scijava/platform/event/AppScreenSleepEvent.java
index 4c0a273b5..4396d87d7 100644
--- a/src/main/java/org/scijava/platform/event/AppScreenSleepEvent.java
+++ b/src/main/java/org/scijava/platform/event/AppScreenSleepEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/platform/event/AppSleepEvent.java b/src/main/java/org/scijava/platform/event/AppSleepEvent.java
index 7c9d6de2b..a8545571b 100644
--- a/src/main/java/org/scijava/platform/event/AppSleepEvent.java
+++ b/src/main/java/org/scijava/platform/event/AppSleepEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/platform/event/AppSystemSleepEvent.java b/src/main/java/org/scijava/platform/event/AppSystemSleepEvent.java
index d0a1386d3..81c23b321 100644
--- a/src/main/java/org/scijava/platform/event/AppSystemSleepEvent.java
+++ b/src/main/java/org/scijava/platform/event/AppSystemSleepEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/platform/event/AppUserSessionEvent.java b/src/main/java/org/scijava/platform/event/AppUserSessionEvent.java
index 60c9e6825..8adcbb90d 100644
--- a/src/main/java/org/scijava/platform/event/AppUserSessionEvent.java
+++ b/src/main/java/org/scijava/platform/event/AppUserSessionEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/platform/event/AppVisibleEvent.java b/src/main/java/org/scijava/platform/event/AppVisibleEvent.java
index 133d763c8..88d6d71fb 100644
--- a/src/main/java/org/scijava/platform/event/AppVisibleEvent.java
+++ b/src/main/java/org/scijava/platform/event/AppVisibleEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/platform/event/ApplicationEvent.java b/src/main/java/org/scijava/platform/event/ApplicationEvent.java
index 365fc1d11..0114a3231 100644
--- a/src/main/java/org/scijava/platform/event/ApplicationEvent.java
+++ b/src/main/java/org/scijava/platform/event/ApplicationEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/plugin/AbstractHandlerPlugin.java b/src/main/java/org/scijava/plugin/AbstractHandlerPlugin.java
index ebbd663df..358baa2f5 100644
--- a/src/main/java/org/scijava/plugin/AbstractHandlerPlugin.java
+++ b/src/main/java/org/scijava/plugin/AbstractHandlerPlugin.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/plugin/AbstractHandlerService.java b/src/main/java/org/scijava/plugin/AbstractHandlerService.java
index 0e18aca5a..a0bd36719 100644
--- a/src/main/java/org/scijava/plugin/AbstractHandlerService.java
+++ b/src/main/java/org/scijava/plugin/AbstractHandlerService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/plugin/AbstractPTService.java b/src/main/java/org/scijava/plugin/AbstractPTService.java
index 07c44d43f..03145e616 100644
--- a/src/main/java/org/scijava/plugin/AbstractPTService.java
+++ b/src/main/java/org/scijava/plugin/AbstractPTService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/plugin/AbstractRichPlugin.java b/src/main/java/org/scijava/plugin/AbstractRichPlugin.java
index 3aa264d28..c1f4460ea 100644
--- a/src/main/java/org/scijava/plugin/AbstractRichPlugin.java
+++ b/src/main/java/org/scijava/plugin/AbstractRichPlugin.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/plugin/AbstractSingletonService.java b/src/main/java/org/scijava/plugin/AbstractSingletonService.java
index 65fdf2a13..b5791f769 100644
--- a/src/main/java/org/scijava/plugin/AbstractSingletonService.java
+++ b/src/main/java/org/scijava/plugin/AbstractSingletonService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/plugin/AbstractTypedPlugin.java b/src/main/java/org/scijava/plugin/AbstractTypedPlugin.java
index 75fe7a7c5..52b82ef2c 100644
--- a/src/main/java/org/scijava/plugin/AbstractTypedPlugin.java
+++ b/src/main/java/org/scijava/plugin/AbstractTypedPlugin.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/plugin/AbstractTypedService.java b/src/main/java/org/scijava/plugin/AbstractTypedService.java
index 4e5fc5029..7c71dfd51 100644
--- a/src/main/java/org/scijava/plugin/AbstractTypedService.java
+++ b/src/main/java/org/scijava/plugin/AbstractTypedService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/plugin/AbstractWrapperPlugin.java b/src/main/java/org/scijava/plugin/AbstractWrapperPlugin.java
index dae79f675..ca7cfafad 100644
--- a/src/main/java/org/scijava/plugin/AbstractWrapperPlugin.java
+++ b/src/main/java/org/scijava/plugin/AbstractWrapperPlugin.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/plugin/AbstractWrapperService.java b/src/main/java/org/scijava/plugin/AbstractWrapperService.java
index 2e4b933d9..4795a5810 100644
--- a/src/main/java/org/scijava/plugin/AbstractWrapperService.java
+++ b/src/main/java/org/scijava/plugin/AbstractWrapperService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/plugin/Attr.java b/src/main/java/org/scijava/plugin/Attr.java
index 5c8f262e4..08aac65da 100644
--- a/src/main/java/org/scijava/plugin/Attr.java
+++ b/src/main/java/org/scijava/plugin/Attr.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/plugin/DefaultPluginFinder.java b/src/main/java/org/scijava/plugin/DefaultPluginFinder.java
index e258bff85..3081cd34e 100644
--- a/src/main/java/org/scijava/plugin/DefaultPluginFinder.java
+++ b/src/main/java/org/scijava/plugin/DefaultPluginFinder.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/plugin/DefaultPluginService.java b/src/main/java/org/scijava/plugin/DefaultPluginService.java
index 16c94a132..dc61d9ab7 100644
--- a/src/main/java/org/scijava/plugin/DefaultPluginService.java
+++ b/src/main/java/org/scijava/plugin/DefaultPluginService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/plugin/HandlerPlugin.java b/src/main/java/org/scijava/plugin/HandlerPlugin.java
index 1c0700565..9dfe36a7a 100644
--- a/src/main/java/org/scijava/plugin/HandlerPlugin.java
+++ b/src/main/java/org/scijava/plugin/HandlerPlugin.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/plugin/HandlerService.java b/src/main/java/org/scijava/plugin/HandlerService.java
index 21724b2a1..21eaf4e80 100644
--- a/src/main/java/org/scijava/plugin/HandlerService.java
+++ b/src/main/java/org/scijava/plugin/HandlerService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/plugin/HasPluginInfo.java b/src/main/java/org/scijava/plugin/HasPluginInfo.java
index 804a325d9..4e359bd91 100644
--- a/src/main/java/org/scijava/plugin/HasPluginInfo.java
+++ b/src/main/java/org/scijava/plugin/HasPluginInfo.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/plugin/Menu.java b/src/main/java/org/scijava/plugin/Menu.java
index 63a3285ba..9b031c836 100644
--- a/src/main/java/org/scijava/plugin/Menu.java
+++ b/src/main/java/org/scijava/plugin/Menu.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/plugin/PTService.java b/src/main/java/org/scijava/plugin/PTService.java
index 36a128498..990535a43 100644
--- a/src/main/java/org/scijava/plugin/PTService.java
+++ b/src/main/java/org/scijava/plugin/PTService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/plugin/Parameter.java b/src/main/java/org/scijava/plugin/Parameter.java
index 21edaa358..d2f84472b 100644
--- a/src/main/java/org/scijava/plugin/Parameter.java
+++ b/src/main/java/org/scijava/plugin/Parameter.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/plugin/Plugin.java b/src/main/java/org/scijava/plugin/Plugin.java
index 3a3223574..88598721f 100644
--- a/src/main/java/org/scijava/plugin/Plugin.java
+++ b/src/main/java/org/scijava/plugin/Plugin.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/plugin/PluginFinder.java b/src/main/java/org/scijava/plugin/PluginFinder.java
index ab261521b..59310b635 100644
--- a/src/main/java/org/scijava/plugin/PluginFinder.java
+++ b/src/main/java/org/scijava/plugin/PluginFinder.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/plugin/PluginIndex.java b/src/main/java/org/scijava/plugin/PluginIndex.java
index bba5410be..78866bbe8 100644
--- a/src/main/java/org/scijava/plugin/PluginIndex.java
+++ b/src/main/java/org/scijava/plugin/PluginIndex.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/plugin/PluginInfo.java b/src/main/java/org/scijava/plugin/PluginInfo.java
index d9ad9141a..ad6ef747c 100644
--- a/src/main/java/org/scijava/plugin/PluginInfo.java
+++ b/src/main/java/org/scijava/plugin/PluginInfo.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/plugin/PluginService.java b/src/main/java/org/scijava/plugin/PluginService.java
index f68c4db65..c7154f5a5 100644
--- a/src/main/java/org/scijava/plugin/PluginService.java
+++ b/src/main/java/org/scijava/plugin/PluginService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/plugin/RichPlugin.java b/src/main/java/org/scijava/plugin/RichPlugin.java
index ce7ced233..33ab3e9f4 100644
--- a/src/main/java/org/scijava/plugin/RichPlugin.java
+++ b/src/main/java/org/scijava/plugin/RichPlugin.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/plugin/SciJavaPlugin.java b/src/main/java/org/scijava/plugin/SciJavaPlugin.java
index 65da01d77..cfcda7d6a 100644
--- a/src/main/java/org/scijava/plugin/SciJavaPlugin.java
+++ b/src/main/java/org/scijava/plugin/SciJavaPlugin.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/plugin/SingletonPlugin.java b/src/main/java/org/scijava/plugin/SingletonPlugin.java
index 84f0f41b0..8be6a7b9a 100644
--- a/src/main/java/org/scijava/plugin/SingletonPlugin.java
+++ b/src/main/java/org/scijava/plugin/SingletonPlugin.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/plugin/SingletonService.java b/src/main/java/org/scijava/plugin/SingletonService.java
index bf22ba95c..8784d34b2 100644
--- a/src/main/java/org/scijava/plugin/SingletonService.java
+++ b/src/main/java/org/scijava/plugin/SingletonService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/plugin/SortablePlugin.java b/src/main/java/org/scijava/plugin/SortablePlugin.java
index 0ba87ea57..e031af5bb 100644
--- a/src/main/java/org/scijava/plugin/SortablePlugin.java
+++ b/src/main/java/org/scijava/plugin/SortablePlugin.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/plugin/TypedPlugin.java b/src/main/java/org/scijava/plugin/TypedPlugin.java
index 806f04016..2e451c992 100644
--- a/src/main/java/org/scijava/plugin/TypedPlugin.java
+++ b/src/main/java/org/scijava/plugin/TypedPlugin.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/plugin/TypedService.java b/src/main/java/org/scijava/plugin/TypedService.java
index f8cb8e887..11c5a1b0b 100644
--- a/src/main/java/org/scijava/plugin/TypedService.java
+++ b/src/main/java/org/scijava/plugin/TypedService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/plugin/WrapperPlugin.java b/src/main/java/org/scijava/plugin/WrapperPlugin.java
index 9ed8c969d..06ad76eaa 100644
--- a/src/main/java/org/scijava/plugin/WrapperPlugin.java
+++ b/src/main/java/org/scijava/plugin/WrapperPlugin.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/plugin/WrapperService.java b/src/main/java/org/scijava/plugin/WrapperService.java
index 98dc1dc68..6e4483e02 100644
--- a/src/main/java/org/scijava/plugin/WrapperService.java
+++ b/src/main/java/org/scijava/plugin/WrapperService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/plugin/event/PluginsAddedEvent.java b/src/main/java/org/scijava/plugin/event/PluginsAddedEvent.java
index d15e620b3..ed19ddcf5 100644
--- a/src/main/java/org/scijava/plugin/event/PluginsAddedEvent.java
+++ b/src/main/java/org/scijava/plugin/event/PluginsAddedEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/plugin/event/PluginsListEvent.java b/src/main/java/org/scijava/plugin/event/PluginsListEvent.java
index 8e78e58b7..3fd7a5d32 100644
--- a/src/main/java/org/scijava/plugin/event/PluginsListEvent.java
+++ b/src/main/java/org/scijava/plugin/event/PluginsListEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/plugin/event/PluginsRemovedEvent.java b/src/main/java/org/scijava/plugin/event/PluginsRemovedEvent.java
index a5dd1deb0..d4636239a 100644
--- a/src/main/java/org/scijava/plugin/event/PluginsRemovedEvent.java
+++ b/src/main/java/org/scijava/plugin/event/PluginsRemovedEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/prefs/AbstractPrefService.java b/src/main/java/org/scijava/prefs/AbstractPrefService.java
index 401632185..350fe27b1 100644
--- a/src/main/java/org/scijava/prefs/AbstractPrefService.java
+++ b/src/main/java/org/scijava/prefs/AbstractPrefService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/prefs/DefaultPrefService.java b/src/main/java/org/scijava/prefs/DefaultPrefService.java
index d03423e55..225a909ef 100644
--- a/src/main/java/org/scijava/prefs/DefaultPrefService.java
+++ b/src/main/java/org/scijava/prefs/DefaultPrefService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/prefs/PrefService.java b/src/main/java/org/scijava/prefs/PrefService.java
index 3e9c2429b..79de5cd4c 100644
--- a/src/main/java/org/scijava/prefs/PrefService.java
+++ b/src/main/java/org/scijava/prefs/PrefService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/run/AbstractCodeRunner.java b/src/main/java/org/scijava/run/AbstractCodeRunner.java
index b1382ec8d..8bacf6a95 100644
--- a/src/main/java/org/scijava/run/AbstractCodeRunner.java
+++ b/src/main/java/org/scijava/run/AbstractCodeRunner.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/run/CodeRunner.java b/src/main/java/org/scijava/run/CodeRunner.java
index c8124ee67..56fe2954b 100644
--- a/src/main/java/org/scijava/run/CodeRunner.java
+++ b/src/main/java/org/scijava/run/CodeRunner.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/run/DefaultRunService.java b/src/main/java/org/scijava/run/DefaultRunService.java
index 67366a0e0..b8aee1b27 100644
--- a/src/main/java/org/scijava/run/DefaultRunService.java
+++ b/src/main/java/org/scijava/run/DefaultRunService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/run/RunService.java b/src/main/java/org/scijava/run/RunService.java
index 7b287413c..ab6ca65be 100644
--- a/src/main/java/org/scijava/run/RunService.java
+++ b/src/main/java/org/scijava/run/RunService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/run/console/RunArgument.java b/src/main/java/org/scijava/run/console/RunArgument.java
index 5e2d5673d..ffb036613 100644
--- a/src/main/java/org/scijava/run/console/RunArgument.java
+++ b/src/main/java/org/scijava/run/console/RunArgument.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/script/AbstractAutoCompleter.java b/src/main/java/org/scijava/script/AbstractAutoCompleter.java
index 05956001a..981653d9c 100644
--- a/src/main/java/org/scijava/script/AbstractAutoCompleter.java
+++ b/src/main/java/org/scijava/script/AbstractAutoCompleter.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/script/AbstractScriptContext.java b/src/main/java/org/scijava/script/AbstractScriptContext.java
index 46b475f0e..7b8409a03 100644
--- a/src/main/java/org/scijava/script/AbstractScriptContext.java
+++ b/src/main/java/org/scijava/script/AbstractScriptContext.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/script/AbstractScriptEngine.java b/src/main/java/org/scijava/script/AbstractScriptEngine.java
index ab6ab7de7..cdbb2252d 100644
--- a/src/main/java/org/scijava/script/AbstractScriptEngine.java
+++ b/src/main/java/org/scijava/script/AbstractScriptEngine.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/script/AbstractScriptHeader.java b/src/main/java/org/scijava/script/AbstractScriptHeader.java
index 1f5c6f9e1..819d79c8d 100644
--- a/src/main/java/org/scijava/script/AbstractScriptHeader.java
+++ b/src/main/java/org/scijava/script/AbstractScriptHeader.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/script/AbstractScriptLanguage.java b/src/main/java/org/scijava/script/AbstractScriptLanguage.java
index 5f52e9ac7..cd29ceb33 100644
--- a/src/main/java/org/scijava/script/AbstractScriptLanguage.java
+++ b/src/main/java/org/scijava/script/AbstractScriptLanguage.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/script/AdaptedScriptEngine.java b/src/main/java/org/scijava/script/AdaptedScriptEngine.java
index 97bd240ee..e69de8bf3 100644
--- a/src/main/java/org/scijava/script/AdaptedScriptEngine.java
+++ b/src/main/java/org/scijava/script/AdaptedScriptEngine.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/script/AdaptedScriptLanguage.java b/src/main/java/org/scijava/script/AdaptedScriptLanguage.java
index f0344cdb9..8ab47cfb4 100644
--- a/src/main/java/org/scijava/script/AdaptedScriptLanguage.java
+++ b/src/main/java/org/scijava/script/AdaptedScriptLanguage.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/script/AutoCompleter.java b/src/main/java/org/scijava/script/AutoCompleter.java
index 55590081e..220e78589 100644
--- a/src/main/java/org/scijava/script/AutoCompleter.java
+++ b/src/main/java/org/scijava/script/AutoCompleter.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/script/AutoCompletionResult.java b/src/main/java/org/scijava/script/AutoCompletionResult.java
index ec48da96c..e3f777d36 100644
--- a/src/main/java/org/scijava/script/AutoCompletionResult.java
+++ b/src/main/java/org/scijava/script/AutoCompletionResult.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/script/CodeGenerator.java b/src/main/java/org/scijava/script/CodeGenerator.java
index 12591841a..b8a0e9266 100644
--- a/src/main/java/org/scijava/script/CodeGenerator.java
+++ b/src/main/java/org/scijava/script/CodeGenerator.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/script/CodeGeneratorJava.java b/src/main/java/org/scijava/script/CodeGeneratorJava.java
index 1dba40118..8c2db2675 100644
--- a/src/main/java/org/scijava/script/CodeGeneratorJava.java
+++ b/src/main/java/org/scijava/script/CodeGeneratorJava.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/script/DefaultAutoCompleter.java b/src/main/java/org/scijava/script/DefaultAutoCompleter.java
index 9d2681d79..f20e3ee25 100644
--- a/src/main/java/org/scijava/script/DefaultAutoCompleter.java
+++ b/src/main/java/org/scijava/script/DefaultAutoCompleter.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/script/DefaultScriptHeaderService.java b/src/main/java/org/scijava/script/DefaultScriptHeaderService.java
index 9281fd122..4d2ac2050 100644
--- a/src/main/java/org/scijava/script/DefaultScriptHeaderService.java
+++ b/src/main/java/org/scijava/script/DefaultScriptHeaderService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/script/DefaultScriptInterpreter.java b/src/main/java/org/scijava/script/DefaultScriptInterpreter.java
index 4a2599713..f6610d7f9 100644
--- a/src/main/java/org/scijava/script/DefaultScriptInterpreter.java
+++ b/src/main/java/org/scijava/script/DefaultScriptInterpreter.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/script/DefaultScriptService.java b/src/main/java/org/scijava/script/DefaultScriptService.java
index f63eb7938..b7535b8b3 100644
--- a/src/main/java/org/scijava/script/DefaultScriptService.java
+++ b/src/main/java/org/scijava/script/DefaultScriptService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/script/InvocationObject.java b/src/main/java/org/scijava/script/InvocationObject.java
index 639c33833..85886a494 100644
--- a/src/main/java/org/scijava/script/InvocationObject.java
+++ b/src/main/java/org/scijava/script/InvocationObject.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/script/ParameterObject.java b/src/main/java/org/scijava/script/ParameterObject.java
index 5073e147c..8f6f68af5 100644
--- a/src/main/java/org/scijava/script/ParameterObject.java
+++ b/src/main/java/org/scijava/script/ParameterObject.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/script/ScriptFinder.java b/src/main/java/org/scijava/script/ScriptFinder.java
index d51709bbc..0422b2aca 100644
--- a/src/main/java/org/scijava/script/ScriptFinder.java
+++ b/src/main/java/org/scijava/script/ScriptFinder.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/script/ScriptHeader.java b/src/main/java/org/scijava/script/ScriptHeader.java
index 3e61a9fd9..3872e1e3f 100644
--- a/src/main/java/org/scijava/script/ScriptHeader.java
+++ b/src/main/java/org/scijava/script/ScriptHeader.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/script/ScriptHeaderService.java b/src/main/java/org/scijava/script/ScriptHeaderService.java
index 1adb82576..25d8b08c5 100644
--- a/src/main/java/org/scijava/script/ScriptHeaderService.java
+++ b/src/main/java/org/scijava/script/ScriptHeaderService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/script/ScriptInfo.java b/src/main/java/org/scijava/script/ScriptInfo.java
index bee3b1c06..bc165fa5b 100644
--- a/src/main/java/org/scijava/script/ScriptInfo.java
+++ b/src/main/java/org/scijava/script/ScriptInfo.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/script/ScriptInterpreter.java b/src/main/java/org/scijava/script/ScriptInterpreter.java
index 9c08ebcf5..782bb0d71 100644
--- a/src/main/java/org/scijava/script/ScriptInterpreter.java
+++ b/src/main/java/org/scijava/script/ScriptInterpreter.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/script/ScriptLanguage.java b/src/main/java/org/scijava/script/ScriptLanguage.java
index 2cdb474e1..ff6f81d11 100644
--- a/src/main/java/org/scijava/script/ScriptLanguage.java
+++ b/src/main/java/org/scijava/script/ScriptLanguage.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/script/ScriptLanguageIndex.java b/src/main/java/org/scijava/script/ScriptLanguageIndex.java
index f032b8356..755f43bbd 100644
--- a/src/main/java/org/scijava/script/ScriptLanguageIndex.java
+++ b/src/main/java/org/scijava/script/ScriptLanguageIndex.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/script/ScriptModule.java b/src/main/java/org/scijava/script/ScriptModule.java
index 5ed0f39a6..3766c56c6 100644
--- a/src/main/java/org/scijava/script/ScriptModule.java
+++ b/src/main/java/org/scijava/script/ScriptModule.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/script/ScriptREPL.java b/src/main/java/org/scijava/script/ScriptREPL.java
index 7ff8c1a07..6c5ac208c 100644
--- a/src/main/java/org/scijava/script/ScriptREPL.java
+++ b/src/main/java/org/scijava/script/ScriptREPL.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/script/ScriptService.java b/src/main/java/org/scijava/script/ScriptService.java
index 4a5f10fb8..a8c4209c4 100644
--- a/src/main/java/org/scijava/script/ScriptService.java
+++ b/src/main/java/org/scijava/script/ScriptService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/script/console/RunScriptArgument.java b/src/main/java/org/scijava/script/console/RunScriptArgument.java
index 4b9ad3ba6..f8b99c3b9 100644
--- a/src/main/java/org/scijava/script/console/RunScriptArgument.java
+++ b/src/main/java/org/scijava/script/console/RunScriptArgument.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/script/io/ScriptIOPlugin.java b/src/main/java/org/scijava/script/io/ScriptIOPlugin.java
index 14810c80a..d85817af8 100644
--- a/src/main/java/org/scijava/script/io/ScriptIOPlugin.java
+++ b/src/main/java/org/scijava/script/io/ScriptIOPlugin.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/script/process/DefaultScriptProcessorService.java b/src/main/java/org/scijava/script/process/DefaultScriptProcessorService.java
index 3cbce02e3..0e9f2d998 100644
--- a/src/main/java/org/scijava/script/process/DefaultScriptProcessorService.java
+++ b/src/main/java/org/scijava/script/process/DefaultScriptProcessorService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java b/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java
index d7c50d2b0..f38b5e45b 100644
--- a/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java
+++ b/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/script/process/ScriptCallback.java b/src/main/java/org/scijava/script/process/ScriptCallback.java
index fa6f8f0ed..5d060704f 100644
--- a/src/main/java/org/scijava/script/process/ScriptCallback.java
+++ b/src/main/java/org/scijava/script/process/ScriptCallback.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/script/process/ScriptProcessor.java b/src/main/java/org/scijava/script/process/ScriptProcessor.java
index e89ca7150..ba1143eb7 100644
--- a/src/main/java/org/scijava/script/process/ScriptProcessor.java
+++ b/src/main/java/org/scijava/script/process/ScriptProcessor.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/script/process/ScriptProcessorService.java b/src/main/java/org/scijava/script/process/ScriptProcessorService.java
index 202071f62..2f7598bf1 100644
--- a/src/main/java/org/scijava/script/process/ScriptProcessorService.java
+++ b/src/main/java/org/scijava/script/process/ScriptProcessorService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/script/process/ShebangScriptProcessor.java b/src/main/java/org/scijava/script/process/ShebangScriptProcessor.java
index f1b75d546..1d93df16b 100644
--- a/src/main/java/org/scijava/script/process/ShebangScriptProcessor.java
+++ b/src/main/java/org/scijava/script/process/ShebangScriptProcessor.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
@@ -77,4 +78,4 @@ public String process(final String line) {
}
return line;
}
-}
\ No newline at end of file
+}
diff --git a/src/main/java/org/scijava/script/run/ScriptCodeRunner.java b/src/main/java/org/scijava/script/run/ScriptCodeRunner.java
index b56d24831..02df88c75 100644
--- a/src/main/java/org/scijava/script/run/ScriptCodeRunner.java
+++ b/src/main/java/org/scijava/script/run/ScriptCodeRunner.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/service/AbstractService.java b/src/main/java/org/scijava/service/AbstractService.java
index dab8524d7..0a5e7c631 100644
--- a/src/main/java/org/scijava/service/AbstractService.java
+++ b/src/main/java/org/scijava/service/AbstractService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/service/SciJavaService.java b/src/main/java/org/scijava/service/SciJavaService.java
index eaa461ba0..5887eec55 100644
--- a/src/main/java/org/scijava/service/SciJavaService.java
+++ b/src/main/java/org/scijava/service/SciJavaService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/service/Service.java b/src/main/java/org/scijava/service/Service.java
index a8e2d6827..3260f6205 100644
--- a/src/main/java/org/scijava/service/Service.java
+++ b/src/main/java/org/scijava/service/Service.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/service/ServiceHelper.java b/src/main/java/org/scijava/service/ServiceHelper.java
index 1a684c034..22e9503a7 100644
--- a/src/main/java/org/scijava/service/ServiceHelper.java
+++ b/src/main/java/org/scijava/service/ServiceHelper.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/service/ServiceIndex.java b/src/main/java/org/scijava/service/ServiceIndex.java
index 23f48642e..e512c2a0f 100644
--- a/src/main/java/org/scijava/service/ServiceIndex.java
+++ b/src/main/java/org/scijava/service/ServiceIndex.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/service/event/ServicesLoadedEvent.java b/src/main/java/org/scijava/service/event/ServicesLoadedEvent.java
index 93f8588fd..8c06ba6d0 100644
--- a/src/main/java/org/scijava/service/event/ServicesLoadedEvent.java
+++ b/src/main/java/org/scijava/service/event/ServicesLoadedEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/test/TestUtils.java b/src/main/java/org/scijava/test/TestUtils.java
index fd7e48eee..f32fd2fda 100644
--- a/src/main/java/org/scijava/test/TestUtils.java
+++ b/src/main/java/org/scijava/test/TestUtils.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/text/AbstractTextFormat.java b/src/main/java/org/scijava/text/AbstractTextFormat.java
index 032dae0af..c02394f10 100644
--- a/src/main/java/org/scijava/text/AbstractTextFormat.java
+++ b/src/main/java/org/scijava/text/AbstractTextFormat.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/text/DefaultTextService.java b/src/main/java/org/scijava/text/DefaultTextService.java
index 80e23acbc..34ef2479a 100644
--- a/src/main/java/org/scijava/text/DefaultTextService.java
+++ b/src/main/java/org/scijava/text/DefaultTextService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/text/TextFormat.java b/src/main/java/org/scijava/text/TextFormat.java
index 3aa6122c8..6e483d3b1 100644
--- a/src/main/java/org/scijava/text/TextFormat.java
+++ b/src/main/java/org/scijava/text/TextFormat.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/text/TextService.java b/src/main/java/org/scijava/text/TextService.java
index 3d16e46e3..16b18d1c6 100644
--- a/src/main/java/org/scijava/text/TextService.java
+++ b/src/main/java/org/scijava/text/TextService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/text/io/TextIOPlugin.java b/src/main/java/org/scijava/text/io/TextIOPlugin.java
index 5311ba524..f894343ce 100644
--- a/src/main/java/org/scijava/text/io/TextIOPlugin.java
+++ b/src/main/java/org/scijava/text/io/TextIOPlugin.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/thread/DefaultThreadService.java b/src/main/java/org/scijava/thread/DefaultThreadService.java
index f16ec6beb..34dac1f10 100644
--- a/src/main/java/org/scijava/thread/DefaultThreadService.java
+++ b/src/main/java/org/scijava/thread/DefaultThreadService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/thread/ThreadService.java b/src/main/java/org/scijava/thread/ThreadService.java
index 9ae680fc2..e33011885 100644
--- a/src/main/java/org/scijava/thread/ThreadService.java
+++ b/src/main/java/org/scijava/thread/ThreadService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/tool/AbstractTool.java b/src/main/java/org/scijava/tool/AbstractTool.java
index b28ddd785..f233701ba 100644
--- a/src/main/java/org/scijava/tool/AbstractTool.java
+++ b/src/main/java/org/scijava/tool/AbstractTool.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/tool/CustomDrawnTool.java b/src/main/java/org/scijava/tool/CustomDrawnTool.java
index 1bd46df11..3b9c6cd32 100644
--- a/src/main/java/org/scijava/tool/CustomDrawnTool.java
+++ b/src/main/java/org/scijava/tool/CustomDrawnTool.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/tool/DefaultToolService.java b/src/main/java/org/scijava/tool/DefaultToolService.java
index 47e1c89a7..cb714e30f 100644
--- a/src/main/java/org/scijava/tool/DefaultToolService.java
+++ b/src/main/java/org/scijava/tool/DefaultToolService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/tool/DummyTool.java b/src/main/java/org/scijava/tool/DummyTool.java
index 208f8b497..508c35b16 100644
--- a/src/main/java/org/scijava/tool/DummyTool.java
+++ b/src/main/java/org/scijava/tool/DummyTool.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/tool/IconDrawer.java b/src/main/java/org/scijava/tool/IconDrawer.java
index ab95d0f8d..6e2c26d27 100644
--- a/src/main/java/org/scijava/tool/IconDrawer.java
+++ b/src/main/java/org/scijava/tool/IconDrawer.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/tool/IconService.java b/src/main/java/org/scijava/tool/IconService.java
index ecb572f53..48b5b2ae8 100644
--- a/src/main/java/org/scijava/tool/IconService.java
+++ b/src/main/java/org/scijava/tool/IconService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/tool/Tool.java b/src/main/java/org/scijava/tool/Tool.java
index 43267f76a..8e32d696b 100644
--- a/src/main/java/org/scijava/tool/Tool.java
+++ b/src/main/java/org/scijava/tool/Tool.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/tool/ToolService.java b/src/main/java/org/scijava/tool/ToolService.java
index 4dca68db9..29065b2f7 100644
--- a/src/main/java/org/scijava/tool/ToolService.java
+++ b/src/main/java/org/scijava/tool/ToolService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/tool/event/ToolActivatedEvent.java b/src/main/java/org/scijava/tool/event/ToolActivatedEvent.java
index 55fb9e038..70df3662f 100644
--- a/src/main/java/org/scijava/tool/event/ToolActivatedEvent.java
+++ b/src/main/java/org/scijava/tool/event/ToolActivatedEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/tool/event/ToolDeactivatedEvent.java b/src/main/java/org/scijava/tool/event/ToolDeactivatedEvent.java
index 62a895a5c..9eab6bd6c 100644
--- a/src/main/java/org/scijava/tool/event/ToolDeactivatedEvent.java
+++ b/src/main/java/org/scijava/tool/event/ToolDeactivatedEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/tool/event/ToolEvent.java b/src/main/java/org/scijava/tool/event/ToolEvent.java
index 0062595c6..1ea60d802 100644
--- a/src/main/java/org/scijava/tool/event/ToolEvent.java
+++ b/src/main/java/org/scijava/tool/event/ToolEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/ui/ARGBPlane.java b/src/main/java/org/scijava/ui/ARGBPlane.java
index 370c4668e..0b6681e37 100644
--- a/src/main/java/org/scijava/ui/ARGBPlane.java
+++ b/src/main/java/org/scijava/ui/ARGBPlane.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/ui/AbstractInputHarvesterPlugin.java b/src/main/java/org/scijava/ui/AbstractInputHarvesterPlugin.java
index f7c566aed..6b078bdb5 100644
--- a/src/main/java/org/scijava/ui/AbstractInputHarvesterPlugin.java
+++ b/src/main/java/org/scijava/ui/AbstractInputHarvesterPlugin.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/ui/AbstractUIInputWidget.java b/src/main/java/org/scijava/ui/AbstractUIInputWidget.java
index c76edb136..96505d1ff 100644
--- a/src/main/java/org/scijava/ui/AbstractUIInputWidget.java
+++ b/src/main/java/org/scijava/ui/AbstractUIInputWidget.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/ui/AbstractUserInterface.java b/src/main/java/org/scijava/ui/AbstractUserInterface.java
index b625f5d0f..f7f5e8a7b 100644
--- a/src/main/java/org/scijava/ui/AbstractUserInterface.java
+++ b/src/main/java/org/scijava/ui/AbstractUserInterface.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/ui/ApplicationFrame.java b/src/main/java/org/scijava/ui/ApplicationFrame.java
index 761bd52ef..ddbde1e27 100644
--- a/src/main/java/org/scijava/ui/ApplicationFrame.java
+++ b/src/main/java/org/scijava/ui/ApplicationFrame.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/ui/Arrangeable.java b/src/main/java/org/scijava/ui/Arrangeable.java
index 9a3649fab..49f2b6d64 100644
--- a/src/main/java/org/scijava/ui/Arrangeable.java
+++ b/src/main/java/org/scijava/ui/Arrangeable.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/ui/CloseConfirmable.java b/src/main/java/org/scijava/ui/CloseConfirmable.java
index c1e7f905e..fb81cb57d 100644
--- a/src/main/java/org/scijava/ui/CloseConfirmable.java
+++ b/src/main/java/org/scijava/ui/CloseConfirmable.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/ui/DefaultUIService.java b/src/main/java/org/scijava/ui/DefaultUIService.java
index 8b88490ca..687d59dd1 100644
--- a/src/main/java/org/scijava/ui/DefaultUIService.java
+++ b/src/main/java/org/scijava/ui/DefaultUIService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/ui/Desktop.java b/src/main/java/org/scijava/ui/Desktop.java
index e2fd8df81..710d440c4 100644
--- a/src/main/java/org/scijava/ui/Desktop.java
+++ b/src/main/java/org/scijava/ui/Desktop.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/ui/DialogPrompt.java b/src/main/java/org/scijava/ui/DialogPrompt.java
index 97b921a15..d0e0ec607 100644
--- a/src/main/java/org/scijava/ui/DialogPrompt.java
+++ b/src/main/java/org/scijava/ui/DialogPrompt.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/ui/FilePreprocessor.java b/src/main/java/org/scijava/ui/FilePreprocessor.java
index bed279e2b..2bb916e29 100644
--- a/src/main/java/org/scijava/ui/FilePreprocessor.java
+++ b/src/main/java/org/scijava/ui/FilePreprocessor.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/ui/StatusBar.java b/src/main/java/org/scijava/ui/StatusBar.java
index 4d4a20f11..ea09442f9 100644
--- a/src/main/java/org/scijava/ui/StatusBar.java
+++ b/src/main/java/org/scijava/ui/StatusBar.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/ui/SystemClipboard.java b/src/main/java/org/scijava/ui/SystemClipboard.java
index ca9f8d925..4bbd7e490 100644
--- a/src/main/java/org/scijava/ui/SystemClipboard.java
+++ b/src/main/java/org/scijava/ui/SystemClipboard.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/ui/ToolBar.java b/src/main/java/org/scijava/ui/ToolBar.java
index d63910601..f4ef6f875 100644
--- a/src/main/java/org/scijava/ui/ToolBar.java
+++ b/src/main/java/org/scijava/ui/ToolBar.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/ui/UIPreprocessor.java b/src/main/java/org/scijava/ui/UIPreprocessor.java
index 2449bb517..c9ec13caf 100644
--- a/src/main/java/org/scijava/ui/UIPreprocessor.java
+++ b/src/main/java/org/scijava/ui/UIPreprocessor.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/ui/UIService.java b/src/main/java/org/scijava/ui/UIService.java
index 1c6a2d15e..c23006b0e 100644
--- a/src/main/java/org/scijava/ui/UIService.java
+++ b/src/main/java/org/scijava/ui/UIService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/ui/UserInterface.java b/src/main/java/org/scijava/ui/UserInterface.java
index d041fabc9..84fd2210b 100644
--- a/src/main/java/org/scijava/ui/UserInterface.java
+++ b/src/main/java/org/scijava/ui/UserInterface.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/ui/console/AbstractConsolePane.java b/src/main/java/org/scijava/ui/console/AbstractConsolePane.java
index da45ed875..bc029ea35 100644
--- a/src/main/java/org/scijava/ui/console/AbstractConsolePane.java
+++ b/src/main/java/org/scijava/ui/console/AbstractConsolePane.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/ui/console/ConsolePane.java b/src/main/java/org/scijava/ui/console/ConsolePane.java
index ab6866f4b..7f373bf10 100644
--- a/src/main/java/org/scijava/ui/console/ConsolePane.java
+++ b/src/main/java/org/scijava/ui/console/ConsolePane.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/ui/console/HeadlessArgument.java b/src/main/java/org/scijava/ui/console/HeadlessArgument.java
index 2272eb14b..012fa2fe0 100644
--- a/src/main/java/org/scijava/ui/console/HeadlessArgument.java
+++ b/src/main/java/org/scijava/ui/console/HeadlessArgument.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/ui/console/ShowUIArgument.java b/src/main/java/org/scijava/ui/console/ShowUIArgument.java
index 9294b94f7..206899067 100644
--- a/src/main/java/org/scijava/ui/console/ShowUIArgument.java
+++ b/src/main/java/org/scijava/ui/console/ShowUIArgument.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/ui/console/UIArgument.java b/src/main/java/org/scijava/ui/console/UIArgument.java
index 29345595d..adb428492 100644
--- a/src/main/java/org/scijava/ui/console/UIArgument.java
+++ b/src/main/java/org/scijava/ui/console/UIArgument.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropData.java b/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropData.java
index 9a1939671..643bcbfba 100644
--- a/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropData.java
+++ b/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropData.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropHandler.java b/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropHandler.java
index da0213cca..15f675082 100644
--- a/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropHandler.java
+++ b/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropHandler.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropData.java b/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropData.java
index 1886ddcdf..8a0012b07 100644
--- a/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropData.java
+++ b/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropData.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropService.java b/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropService.java
index 19d875485..0c7355dd7 100644
--- a/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropService.java
+++ b/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/ui/dnd/DragAndDropData.java b/src/main/java/org/scijava/ui/dnd/DragAndDropData.java
index 9195070f0..cbad90cde 100644
--- a/src/main/java/org/scijava/ui/dnd/DragAndDropData.java
+++ b/src/main/java/org/scijava/ui/dnd/DragAndDropData.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/ui/dnd/DragAndDropHandler.java b/src/main/java/org/scijava/ui/dnd/DragAndDropHandler.java
index 3ca4e88bb..6f65c0a73 100644
--- a/src/main/java/org/scijava/ui/dnd/DragAndDropHandler.java
+++ b/src/main/java/org/scijava/ui/dnd/DragAndDropHandler.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/ui/dnd/DragAndDropService.java b/src/main/java/org/scijava/ui/dnd/DragAndDropService.java
index 15522d4cb..c52b28565 100644
--- a/src/main/java/org/scijava/ui/dnd/DragAndDropService.java
+++ b/src/main/java/org/scijava/ui/dnd/DragAndDropService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/ui/dnd/FileDragAndDropHandler.java b/src/main/java/org/scijava/ui/dnd/FileDragAndDropHandler.java
index 9b989496d..4ad74aafe 100644
--- a/src/main/java/org/scijava/ui/dnd/FileDragAndDropHandler.java
+++ b/src/main/java/org/scijava/ui/dnd/FileDragAndDropHandler.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/ui/dnd/ListDragAndDropHandler.java b/src/main/java/org/scijava/ui/dnd/ListDragAndDropHandler.java
index dcd1e7581..7e92f190e 100644
--- a/src/main/java/org/scijava/ui/dnd/ListDragAndDropHandler.java
+++ b/src/main/java/org/scijava/ui/dnd/ListDragAndDropHandler.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/ui/dnd/MIMEType.java b/src/main/java/org/scijava/ui/dnd/MIMEType.java
index 3a084bb38..2600b161d 100644
--- a/src/main/java/org/scijava/ui/dnd/MIMEType.java
+++ b/src/main/java/org/scijava/ui/dnd/MIMEType.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/ui/dnd/ScriptFileDragAndDropHandler.java b/src/main/java/org/scijava/ui/dnd/ScriptFileDragAndDropHandler.java
index 5546dea09..c3e49ee08 100644
--- a/src/main/java/org/scijava/ui/dnd/ScriptFileDragAndDropHandler.java
+++ b/src/main/java/org/scijava/ui/dnd/ScriptFileDragAndDropHandler.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
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 df48275e2..429f6903a 100644
--- a/src/main/java/org/scijava/ui/dnd/event/DragAndDropEvent.java
+++ b/src/main/java/org/scijava/ui/dnd/event/DragAndDropEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
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 d3effdcf3..d89ef6ef9 100644
--- a/src/main/java/org/scijava/ui/dnd/event/DragEnterEvent.java
+++ b/src/main/java/org/scijava/ui/dnd/event/DragEnterEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
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 47b241366..57a93a2bb 100644
--- a/src/main/java/org/scijava/ui/dnd/event/DragExitEvent.java
+++ b/src/main/java/org/scijava/ui/dnd/event/DragExitEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
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 a0fbff395..c2a3ff8b2 100644
--- a/src/main/java/org/scijava/ui/dnd/event/DragOverEvent.java
+++ b/src/main/java/org/scijava/ui/dnd/event/DragOverEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
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 d68710044..f91dada1b 100644
--- a/src/main/java/org/scijava/ui/dnd/event/DropEvent.java
+++ b/src/main/java/org/scijava/ui/dnd/event/DropEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/ui/event/UIEvent.java b/src/main/java/org/scijava/ui/event/UIEvent.java
index da808fa0e..2a03183dd 100644
--- a/src/main/java/org/scijava/ui/event/UIEvent.java
+++ b/src/main/java/org/scijava/ui/event/UIEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/ui/event/UIShownEvent.java b/src/main/java/org/scijava/ui/event/UIShownEvent.java
index e176d238e..1cd8b54d5 100644
--- a/src/main/java/org/scijava/ui/event/UIShownEvent.java
+++ b/src/main/java/org/scijava/ui/event/UIShownEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/ui/headless/HeadlessDisplayViewer.java b/src/main/java/org/scijava/ui/headless/HeadlessDisplayViewer.java
index c3f11f2c9..62576cc9a 100644
--- a/src/main/java/org/scijava/ui/headless/HeadlessDisplayViewer.java
+++ b/src/main/java/org/scijava/ui/headless/HeadlessDisplayViewer.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/ui/headless/HeadlessUI.java b/src/main/java/org/scijava/ui/headless/HeadlessUI.java
index 188a6b952..aa1737ae7 100644
--- a/src/main/java/org/scijava/ui/headless/HeadlessUI.java
+++ b/src/main/java/org/scijava/ui/headless/HeadlessUI.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/ui/headlessUI/HeadlessUI.java b/src/main/java/org/scijava/ui/headlessUI/HeadlessUI.java
index 25b21c871..90e4105f6 100644
--- a/src/main/java/org/scijava/ui/headlessUI/HeadlessUI.java
+++ b/src/main/java/org/scijava/ui/headlessUI/HeadlessUI.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/ui/viewer/AbstractDisplayViewer.java b/src/main/java/org/scijava/ui/viewer/AbstractDisplayViewer.java
index bbbfb511e..d949a3312 100644
--- a/src/main/java/org/scijava/ui/viewer/AbstractDisplayViewer.java
+++ b/src/main/java/org/scijava/ui/viewer/AbstractDisplayViewer.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/ui/viewer/DisplayPanel.java b/src/main/java/org/scijava/ui/viewer/DisplayPanel.java
index 1b7e1d628..5edabe84f 100644
--- a/src/main/java/org/scijava/ui/viewer/DisplayPanel.java
+++ b/src/main/java/org/scijava/ui/viewer/DisplayPanel.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/ui/viewer/DisplayViewer.java b/src/main/java/org/scijava/ui/viewer/DisplayViewer.java
index f8fd52a74..35e8e8216 100644
--- a/src/main/java/org/scijava/ui/viewer/DisplayViewer.java
+++ b/src/main/java/org/scijava/ui/viewer/DisplayViewer.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/ui/viewer/DisplayWindow.java b/src/main/java/org/scijava/ui/viewer/DisplayWindow.java
index a7ae16b15..d170758fe 100644
--- a/src/main/java/org/scijava/ui/viewer/DisplayWindow.java
+++ b/src/main/java/org/scijava/ui/viewer/DisplayWindow.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
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 3abc8f587..c9d9cea64 100644
--- a/src/main/java/org/scijava/ui/viewer/text/AbstractTextDisplayViewer.java
+++ b/src/main/java/org/scijava/ui/viewer/text/AbstractTextDisplayViewer.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
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 eff753250..26702b2bb 100644
--- a/src/main/java/org/scijava/ui/viewer/text/TextDisplayPanel.java
+++ b/src/main/java/org/scijava/ui/viewer/text/TextDisplayPanel.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
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 5c64f9c6a..2a8c44b51 100644
--- a/src/main/java/org/scijava/ui/viewer/text/TextDisplayViewer.java
+++ b/src/main/java/org/scijava/ui/viewer/text/TextDisplayViewer.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/AbstractPrimitiveArray.java b/src/main/java/org/scijava/util/AbstractPrimitiveArray.java
index 492ced3c7..0c91b9454 100644
--- a/src/main/java/org/scijava/util/AbstractPrimitiveArray.java
+++ b/src/main/java/org/scijava/util/AbstractPrimitiveArray.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/AppUtils.java b/src/main/java/org/scijava/util/AppUtils.java
index c8ed71cf8..332ad819d 100644
--- a/src/main/java/org/scijava/util/AppUtils.java
+++ b/src/main/java/org/scijava/util/AppUtils.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/ArrayUtils.java b/src/main/java/org/scijava/util/ArrayUtils.java
index 06a67b80a..0e168567c 100644
--- a/src/main/java/org/scijava/util/ArrayUtils.java
+++ b/src/main/java/org/scijava/util/ArrayUtils.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/BoolArray.java b/src/main/java/org/scijava/util/BoolArray.java
index 80ce58772..8a02aed89 100644
--- a/src/main/java/org/scijava/util/BoolArray.java
+++ b/src/main/java/org/scijava/util/BoolArray.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/ByteArray.java b/src/main/java/org/scijava/util/ByteArray.java
index 85f59844e..69617306a 100644
--- a/src/main/java/org/scijava/util/ByteArray.java
+++ b/src/main/java/org/scijava/util/ByteArray.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/Bytes.java b/src/main/java/org/scijava/util/Bytes.java
index 7be781de3..edfeff177 100644
--- a/src/main/java/org/scijava/util/Bytes.java
+++ b/src/main/java/org/scijava/util/Bytes.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/CharArray.java b/src/main/java/org/scijava/util/CharArray.java
index 94e8f10c1..3c2914f25 100644
--- a/src/main/java/org/scijava/util/CharArray.java
+++ b/src/main/java/org/scijava/util/CharArray.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/CheckSezpoz.java b/src/main/java/org/scijava/util/CheckSezpoz.java
index 1a207272c..f394a860e 100644
--- a/src/main/java/org/scijava/util/CheckSezpoz.java
+++ b/src/main/java/org/scijava/util/CheckSezpoz.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/ClassUtils.java b/src/main/java/org/scijava/util/ClassUtils.java
index cd18e2500..e25eebca3 100644
--- a/src/main/java/org/scijava/util/ClassUtils.java
+++ b/src/main/java/org/scijava/util/ClassUtils.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/ColorRGB.java b/src/main/java/org/scijava/util/ColorRGB.java
index 9895caf95..3151f7f62 100644
--- a/src/main/java/org/scijava/util/ColorRGB.java
+++ b/src/main/java/org/scijava/util/ColorRGB.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/ColorRGBA.java b/src/main/java/org/scijava/util/ColorRGBA.java
index cb124a382..7b9b1d038 100644
--- a/src/main/java/org/scijava/util/ColorRGBA.java
+++ b/src/main/java/org/scijava/util/ColorRGBA.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/Colors.java b/src/main/java/org/scijava/util/Colors.java
index ce96ba8b1..f9f3fe292 100644
--- a/src/main/java/org/scijava/util/Colors.java
+++ b/src/main/java/org/scijava/util/Colors.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/CombineAnnotations.java b/src/main/java/org/scijava/util/CombineAnnotations.java
index fc7e6deee..4e2a95057 100644
--- a/src/main/java/org/scijava/util/CombineAnnotations.java
+++ b/src/main/java/org/scijava/util/CombineAnnotations.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/Combiner.java b/src/main/java/org/scijava/util/Combiner.java
index c3397a45c..062182c15 100644
--- a/src/main/java/org/scijava/util/Combiner.java
+++ b/src/main/java/org/scijava/util/Combiner.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/ConversionUtils.java b/src/main/java/org/scijava/util/ConversionUtils.java
index 00439911c..ea1decd9c 100644
--- a/src/main/java/org/scijava/util/ConversionUtils.java
+++ b/src/main/java/org/scijava/util/ConversionUtils.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/DebugUtils.java b/src/main/java/org/scijava/util/DebugUtils.java
index e0c6e34a7..0c7c6a268 100644
--- a/src/main/java/org/scijava/util/DebugUtils.java
+++ b/src/main/java/org/scijava/util/DebugUtils.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/DigestUtils.java b/src/main/java/org/scijava/util/DigestUtils.java
index 0b568e776..725a7628d 100644
--- a/src/main/java/org/scijava/util/DigestUtils.java
+++ b/src/main/java/org/scijava/util/DigestUtils.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/DoubleArray.java b/src/main/java/org/scijava/util/DoubleArray.java
index 244abd2ae..2108fb609 100644
--- a/src/main/java/org/scijava/util/DoubleArray.java
+++ b/src/main/java/org/scijava/util/DoubleArray.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/FileUtils.java b/src/main/java/org/scijava/util/FileUtils.java
index f916dd5db..0daccf5e7 100644
--- a/src/main/java/org/scijava/util/FileUtils.java
+++ b/src/main/java/org/scijava/util/FileUtils.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/FloatArray.java b/src/main/java/org/scijava/util/FloatArray.java
index 22244a61f..26464d35e 100644
--- a/src/main/java/org/scijava/util/FloatArray.java
+++ b/src/main/java/org/scijava/util/FloatArray.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/GenericUtils.java b/src/main/java/org/scijava/util/GenericUtils.java
index e0a6ae873..df6165ccb 100644
--- a/src/main/java/org/scijava/util/GenericUtils.java
+++ b/src/main/java/org/scijava/util/GenericUtils.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/IntArray.java b/src/main/java/org/scijava/util/IntArray.java
index 6800f7929..3c6014ded 100644
--- a/src/main/java/org/scijava/util/IntArray.java
+++ b/src/main/java/org/scijava/util/IntArray.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/IntCoords.java b/src/main/java/org/scijava/util/IntCoords.java
index eb4bce513..0501616a3 100644
--- a/src/main/java/org/scijava/util/IntCoords.java
+++ b/src/main/java/org/scijava/util/IntCoords.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/IntRect.java b/src/main/java/org/scijava/util/IntRect.java
index d6a674e13..a96c98e39 100644
--- a/src/main/java/org/scijava/util/IntRect.java
+++ b/src/main/java/org/scijava/util/IntRect.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/IteratorPlus.java b/src/main/java/org/scijava/util/IteratorPlus.java
index 6abf6562d..56a4319dd 100644
--- a/src/main/java/org/scijava/util/IteratorPlus.java
+++ b/src/main/java/org/scijava/util/IteratorPlus.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/LastRecentlyUsed.java b/src/main/java/org/scijava/util/LastRecentlyUsed.java
index 64f5679ce..731bd74a0 100644
--- a/src/main/java/org/scijava/util/LastRecentlyUsed.java
+++ b/src/main/java/org/scijava/util/LastRecentlyUsed.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/LineOutputStream.java b/src/main/java/org/scijava/util/LineOutputStream.java
index 21cab3510..1ef4e99e4 100644
--- a/src/main/java/org/scijava/util/LineOutputStream.java
+++ b/src/main/java/org/scijava/util/LineOutputStream.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/ListUtils.java b/src/main/java/org/scijava/util/ListUtils.java
index aef0f63b6..1c169f351 100644
--- a/src/main/java/org/scijava/util/ListUtils.java
+++ b/src/main/java/org/scijava/util/ListUtils.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/LongArray.java b/src/main/java/org/scijava/util/LongArray.java
index 3c3a6ad56..c0ac04d1f 100644
--- a/src/main/java/org/scijava/util/LongArray.java
+++ b/src/main/java/org/scijava/util/LongArray.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/Manifest.java b/src/main/java/org/scijava/util/Manifest.java
index cbf701e9f..e30f0b85c 100644
--- a/src/main/java/org/scijava/util/Manifest.java
+++ b/src/main/java/org/scijava/util/Manifest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/MersenneTwisterFast.java b/src/main/java/org/scijava/util/MersenneTwisterFast.java
index 03b5dca30..a3a8707b3 100644
--- a/src/main/java/org/scijava/util/MersenneTwisterFast.java
+++ b/src/main/java/org/scijava/util/MersenneTwisterFast.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/MetaInfCombiner.java b/src/main/java/org/scijava/util/MetaInfCombiner.java
index 75418f949..6f274e50e 100644
--- a/src/main/java/org/scijava/util/MetaInfCombiner.java
+++ b/src/main/java/org/scijava/util/MetaInfCombiner.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/MirrorWebsite.java b/src/main/java/org/scijava/util/MirrorWebsite.java
index 2f21226eb..e59621e4e 100644
--- a/src/main/java/org/scijava/util/MirrorWebsite.java
+++ b/src/main/java/org/scijava/util/MirrorWebsite.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/MiscUtils.java b/src/main/java/org/scijava/util/MiscUtils.java
index 9502f7894..428b4e819 100644
--- a/src/main/java/org/scijava/util/MiscUtils.java
+++ b/src/main/java/org/scijava/util/MiscUtils.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/NumberUtils.java b/src/main/java/org/scijava/util/NumberUtils.java
index 95f7207a2..4f7aa6cac 100644
--- a/src/main/java/org/scijava/util/NumberUtils.java
+++ b/src/main/java/org/scijava/util/NumberUtils.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/ObjectArray.java b/src/main/java/org/scijava/util/ObjectArray.java
index febf6bdaa..88ec606c0 100644
--- a/src/main/java/org/scijava/util/ObjectArray.java
+++ b/src/main/java/org/scijava/util/ObjectArray.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/POM.java b/src/main/java/org/scijava/util/POM.java
index 85b403b3c..9458301f8 100644
--- a/src/main/java/org/scijava/util/POM.java
+++ b/src/main/java/org/scijava/util/POM.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/PlatformUtils.java b/src/main/java/org/scijava/util/PlatformUtils.java
index 3ffcf9c59..acd9459ba 100644
--- a/src/main/java/org/scijava/util/PlatformUtils.java
+++ b/src/main/java/org/scijava/util/PlatformUtils.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/Prefs.java b/src/main/java/org/scijava/util/Prefs.java
index c7919fb9c..f9d13609f 100644
--- a/src/main/java/org/scijava/util/Prefs.java
+++ b/src/main/java/org/scijava/util/Prefs.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/PrimitiveArray.java b/src/main/java/org/scijava/util/PrimitiveArray.java
index c1c9d47dd..192498e89 100644
--- a/src/main/java/org/scijava/util/PrimitiveArray.java
+++ b/src/main/java/org/scijava/util/PrimitiveArray.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/ProcessUtils.java b/src/main/java/org/scijava/util/ProcessUtils.java
index 6e09e202a..8dee1e5c8 100644
--- a/src/main/java/org/scijava/util/ProcessUtils.java
+++ b/src/main/java/org/scijava/util/ProcessUtils.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/Query.java b/src/main/java/org/scijava/util/Query.java
index a2cabad05..d0cba28ba 100644
--- a/src/main/java/org/scijava/util/Query.java
+++ b/src/main/java/org/scijava/util/Query.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/ReadInto.java b/src/main/java/org/scijava/util/ReadInto.java
index 8f43b9070..297465013 100644
--- a/src/main/java/org/scijava/util/ReadInto.java
+++ b/src/main/java/org/scijava/util/ReadInto.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/RealCoords.java b/src/main/java/org/scijava/util/RealCoords.java
index a75303756..32bf04be0 100644
--- a/src/main/java/org/scijava/util/RealCoords.java
+++ b/src/main/java/org/scijava/util/RealCoords.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/RealRect.java b/src/main/java/org/scijava/util/RealRect.java
index 0c90c0e4b..bb5c9e6f4 100644
--- a/src/main/java/org/scijava/util/RealRect.java
+++ b/src/main/java/org/scijava/util/RealRect.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/ReflectException.java b/src/main/java/org/scijava/util/ReflectException.java
index 9c9d621ca..241f50373 100644
--- a/src/main/java/org/scijava/util/ReflectException.java
+++ b/src/main/java/org/scijava/util/ReflectException.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/ReflectedUniverse.java b/src/main/java/org/scijava/util/ReflectedUniverse.java
index 2f7f1d6fa..2a2fe9554 100644
--- a/src/main/java/org/scijava/util/ReflectedUniverse.java
+++ b/src/main/java/org/scijava/util/ReflectedUniverse.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/ServiceCombiner.java b/src/main/java/org/scijava/util/ServiceCombiner.java
index 8422b4b5f..5efa456d6 100644
--- a/src/main/java/org/scijava/util/ServiceCombiner.java
+++ b/src/main/java/org/scijava/util/ServiceCombiner.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/ShortArray.java b/src/main/java/org/scijava/util/ShortArray.java
index 4f6fea077..444ed8e21 100644
--- a/src/main/java/org/scijava/util/ShortArray.java
+++ b/src/main/java/org/scijava/util/ShortArray.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/Sizable.java b/src/main/java/org/scijava/util/Sizable.java
index 936e4b0ed..863a08c06 100644
--- a/src/main/java/org/scijava/util/Sizable.java
+++ b/src/main/java/org/scijava/util/Sizable.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/SizableArrayList.java b/src/main/java/org/scijava/util/SizableArrayList.java
index db572380d..925b90ce1 100644
--- a/src/main/java/org/scijava/util/SizableArrayList.java
+++ b/src/main/java/org/scijava/util/SizableArrayList.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/StringMaker.java b/src/main/java/org/scijava/util/StringMaker.java
index 3e3bf8385..6b6a389ae 100644
--- a/src/main/java/org/scijava/util/StringMaker.java
+++ b/src/main/java/org/scijava/util/StringMaker.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/StringUtils.java b/src/main/java/org/scijava/util/StringUtils.java
index 0d77ce1bc..9a09e5939 100644
--- a/src/main/java/org/scijava/util/StringUtils.java
+++ b/src/main/java/org/scijava/util/StringUtils.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/Timing.java b/src/main/java/org/scijava/util/Timing.java
index 15641e7dd..3b6eaa1e9 100644
--- a/src/main/java/org/scijava/util/Timing.java
+++ b/src/main/java/org/scijava/util/Timing.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/TunePlayer.java b/src/main/java/org/scijava/util/TunePlayer.java
index f5acd838b..4a4d54db2 100644
--- a/src/main/java/org/scijava/util/TunePlayer.java
+++ b/src/main/java/org/scijava/util/TunePlayer.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/UnitUtils.java b/src/main/java/org/scijava/util/UnitUtils.java
index 8446802c6..9fa762fc7 100644
--- a/src/main/java/org/scijava/util/UnitUtils.java
+++ b/src/main/java/org/scijava/util/UnitUtils.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/VersionUtils.java b/src/main/java/org/scijava/util/VersionUtils.java
index c1ae21e45..5266c2300 100644
--- a/src/main/java/org/scijava/util/VersionUtils.java
+++ b/src/main/java/org/scijava/util/VersionUtils.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/util/XML.java b/src/main/java/org/scijava/util/XML.java
index 3fce35ced..6e6a9d65f 100644
--- a/src/main/java/org/scijava/util/XML.java
+++ b/src/main/java/org/scijava/util/XML.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/welcome/DefaultWelcomeService.java b/src/main/java/org/scijava/welcome/DefaultWelcomeService.java
index 2be5c30ea..725b7d9f5 100644
--- a/src/main/java/org/scijava/welcome/DefaultWelcomeService.java
+++ b/src/main/java/org/scijava/welcome/DefaultWelcomeService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/welcome/WelcomeService.java b/src/main/java/org/scijava/welcome/WelcomeService.java
index f4fa9470d..d3e97197f 100644
--- a/src/main/java/org/scijava/welcome/WelcomeService.java
+++ b/src/main/java/org/scijava/welcome/WelcomeService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/welcome/event/WelcomeEvent.java b/src/main/java/org/scijava/welcome/event/WelcomeEvent.java
index 513895055..9d3f656fe 100644
--- a/src/main/java/org/scijava/welcome/event/WelcomeEvent.java
+++ b/src/main/java/org/scijava/welcome/event/WelcomeEvent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/widget/AbstractInputHarvester.java b/src/main/java/org/scijava/widget/AbstractInputHarvester.java
index a9bf541de..fefc9bb47 100644
--- a/src/main/java/org/scijava/widget/AbstractInputHarvester.java
+++ b/src/main/java/org/scijava/widget/AbstractInputHarvester.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/widget/AbstractInputPanel.java b/src/main/java/org/scijava/widget/AbstractInputPanel.java
index ce65e8c2c..24006c63e 100644
--- a/src/main/java/org/scijava/widget/AbstractInputPanel.java
+++ b/src/main/java/org/scijava/widget/AbstractInputPanel.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/widget/AbstractInputWidget.java b/src/main/java/org/scijava/widget/AbstractInputWidget.java
index 321dd2a1a..2557f9714 100644
--- a/src/main/java/org/scijava/widget/AbstractInputWidget.java
+++ b/src/main/java/org/scijava/widget/AbstractInputWidget.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/widget/Button.java b/src/main/java/org/scijava/widget/Button.java
index 6b9340c08..99d62816e 100644
--- a/src/main/java/org/scijava/widget/Button.java
+++ b/src/main/java/org/scijava/widget/Button.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/widget/ButtonWidget.java b/src/main/java/org/scijava/widget/ButtonWidget.java
index 53181eb71..56129404e 100644
--- a/src/main/java/org/scijava/widget/ButtonWidget.java
+++ b/src/main/java/org/scijava/widget/ButtonWidget.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/widget/ChoiceWidget.java b/src/main/java/org/scijava/widget/ChoiceWidget.java
index bfd15d7c8..b956c764f 100644
--- a/src/main/java/org/scijava/widget/ChoiceWidget.java
+++ b/src/main/java/org/scijava/widget/ChoiceWidget.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/widget/ColorWidget.java b/src/main/java/org/scijava/widget/ColorWidget.java
index 6e539f14f..22b1f6d6d 100644
--- a/src/main/java/org/scijava/widget/ColorWidget.java
+++ b/src/main/java/org/scijava/widget/ColorWidget.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/widget/DateWidget.java b/src/main/java/org/scijava/widget/DateWidget.java
index 477a86aa4..fc60b932d 100644
--- a/src/main/java/org/scijava/widget/DateWidget.java
+++ b/src/main/java/org/scijava/widget/DateWidget.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/widget/DefaultWidgetModel.java b/src/main/java/org/scijava/widget/DefaultWidgetModel.java
index 395def82f..7650b1065 100644
--- a/src/main/java/org/scijava/widget/DefaultWidgetModel.java
+++ b/src/main/java/org/scijava/widget/DefaultWidgetModel.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/widget/DefaultWidgetService.java b/src/main/java/org/scijava/widget/DefaultWidgetService.java
index 78d0ae3f6..f80fc641b 100644
--- a/src/main/java/org/scijava/widget/DefaultWidgetService.java
+++ b/src/main/java/org/scijava/widget/DefaultWidgetService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/widget/FileWidget.java b/src/main/java/org/scijava/widget/FileWidget.java
index 5ba0c5dd5..f31c2ac28 100644
--- a/src/main/java/org/scijava/widget/FileWidget.java
+++ b/src/main/java/org/scijava/widget/FileWidget.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/widget/InputHarvester.java b/src/main/java/org/scijava/widget/InputHarvester.java
index 4370cbd8a..92f1c5fea 100644
--- a/src/main/java/org/scijava/widget/InputHarvester.java
+++ b/src/main/java/org/scijava/widget/InputHarvester.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/widget/InputPanel.java b/src/main/java/org/scijava/widget/InputPanel.java
index 81c4d508f..1087924f7 100644
--- a/src/main/java/org/scijava/widget/InputPanel.java
+++ b/src/main/java/org/scijava/widget/InputPanel.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/widget/InputWidget.java b/src/main/java/org/scijava/widget/InputWidget.java
index 19cd7030a..3f3b2ad43 100644
--- a/src/main/java/org/scijava/widget/InputWidget.java
+++ b/src/main/java/org/scijava/widget/InputWidget.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/widget/MessageWidget.java b/src/main/java/org/scijava/widget/MessageWidget.java
index 42492607b..9d8bc2234 100644
--- a/src/main/java/org/scijava/widget/MessageWidget.java
+++ b/src/main/java/org/scijava/widget/MessageWidget.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/widget/NumberWidget.java b/src/main/java/org/scijava/widget/NumberWidget.java
index 423de683e..a48567eac 100644
--- a/src/main/java/org/scijava/widget/NumberWidget.java
+++ b/src/main/java/org/scijava/widget/NumberWidget.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/widget/ObjectWidget.java b/src/main/java/org/scijava/widget/ObjectWidget.java
index f6da02732..fd7ce5ce2 100644
--- a/src/main/java/org/scijava/widget/ObjectWidget.java
+++ b/src/main/java/org/scijava/widget/ObjectWidget.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/widget/TextWidget.java b/src/main/java/org/scijava/widget/TextWidget.java
index f8d76bb4d..a89b49446 100644
--- a/src/main/java/org/scijava/widget/TextWidget.java
+++ b/src/main/java/org/scijava/widget/TextWidget.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/widget/ToggleWidget.java b/src/main/java/org/scijava/widget/ToggleWidget.java
index bf13ebdff..04c00a6f9 100644
--- a/src/main/java/org/scijava/widget/ToggleWidget.java
+++ b/src/main/java/org/scijava/widget/ToggleWidget.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/widget/UIComponent.java b/src/main/java/org/scijava/widget/UIComponent.java
index 1647d4db7..ab06587a9 100644
--- a/src/main/java/org/scijava/widget/UIComponent.java
+++ b/src/main/java/org/scijava/widget/UIComponent.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/widget/WidgetModel.java b/src/main/java/org/scijava/widget/WidgetModel.java
index 52cbcc1bd..2bb202e46 100644
--- a/src/main/java/org/scijava/widget/WidgetModel.java
+++ b/src/main/java/org/scijava/widget/WidgetModel.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/main/java/org/scijava/widget/WidgetService.java b/src/main/java/org/scijava/widget/WidgetService.java
index b1fbedc5a..85c73afbe 100644
--- a/src/main/java/org/scijava/widget/WidgetService.java
+++ b/src/main/java/org/scijava/widget/WidgetService.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/ContextCreationTest.java b/src/test/java/org/scijava/ContextCreationTest.java
index 6f364ddfc..36cda8ba9 100644
--- a/src/test/java/org/scijava/ContextCreationTest.java
+++ b/src/test/java/org/scijava/ContextCreationTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/ContextInjectionTest.java b/src/test/java/org/scijava/ContextInjectionTest.java
index d7369f2dd..53aa7ab40 100644
--- a/src/test/java/org/scijava/ContextInjectionTest.java
+++ b/src/test/java/org/scijava/ContextInjectionTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/annotations/AnnotatedA.java b/src/test/java/org/scijava/annotations/AnnotatedA.java
index 92836407d..27c4f1db9 100644
--- a/src/test/java/org/scijava/annotations/AnnotatedA.java
+++ b/src/test/java/org/scijava/annotations/AnnotatedA.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/annotations/AnnotatedB.java b/src/test/java/org/scijava/annotations/AnnotatedB.java
index 7a7dae9d7..a8644a6c9 100644
--- a/src/test/java/org/scijava/annotations/AnnotatedB.java
+++ b/src/test/java/org/scijava/annotations/AnnotatedB.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/annotations/AnnotatedC.java b/src/test/java/org/scijava/annotations/AnnotatedC.java
index fe4b360a8..b4d0bb2de 100644
--- a/src/test/java/org/scijava/annotations/AnnotatedC.java
+++ b/src/test/java/org/scijava/annotations/AnnotatedC.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/annotations/AnnotatedD.java b/src/test/java/org/scijava/annotations/AnnotatedD.java
index d63e3cae7..ac122ff03 100644
--- a/src/test/java/org/scijava/annotations/AnnotatedD.java
+++ b/src/test/java/org/scijava/annotations/AnnotatedD.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/annotations/AnnotatedInnerClass.java b/src/test/java/org/scijava/annotations/AnnotatedInnerClass.java
index 0387fdfe8..f5133e5be 100644
--- a/src/test/java/org/scijava/annotations/AnnotatedInnerClass.java
+++ b/src/test/java/org/scijava/annotations/AnnotatedInnerClass.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/annotations/Complex.java b/src/test/java/org/scijava/annotations/Complex.java
index d9b960dd3..b7881c1b3 100644
--- a/src/test/java/org/scijava/annotations/Complex.java
+++ b/src/test/java/org/scijava/annotations/Complex.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/annotations/DirectoryIndexerTest.java b/src/test/java/org/scijava/annotations/DirectoryIndexerTest.java
index a9c84b302..249511a57 100644
--- a/src/test/java/org/scijava/annotations/DirectoryIndexerTest.java
+++ b/src/test/java/org/scijava/annotations/DirectoryIndexerTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/annotations/EclipseHelperTest.java b/src/test/java/org/scijava/annotations/EclipseHelperTest.java
index c56a4f1ad..d2f663f35 100644
--- a/src/test/java/org/scijava/annotations/EclipseHelperTest.java
+++ b/src/test/java/org/scijava/annotations/EclipseHelperTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/annotations/Fruit.java b/src/test/java/org/scijava/annotations/Fruit.java
index 9abcc4fb3..75efc3e7a 100644
--- a/src/test/java/org/scijava/annotations/Fruit.java
+++ b/src/test/java/org/scijava/annotations/Fruit.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/annotations/LegacyTest.java b/src/test/java/org/scijava/annotations/LegacyTest.java
index 8ee5cc012..eeb2f5503 100644
--- a/src/test/java/org/scijava/annotations/LegacyTest.java
+++ b/src/test/java/org/scijava/annotations/LegacyTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/annotations/Simple.java b/src/test/java/org/scijava/annotations/Simple.java
index aadb9ab4d..709593d4b 100644
--- a/src/test/java/org/scijava/annotations/Simple.java
+++ b/src/test/java/org/scijava/annotations/Simple.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/app/StatusServiceTest.java b/src/test/java/org/scijava/app/StatusServiceTest.java
index d3fe9e66e..f5abb4730 100644
--- a/src/test/java/org/scijava/app/StatusServiceTest.java
+++ b/src/test/java/org/scijava/app/StatusServiceTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/command/CommandInfoTest.java b/src/test/java/org/scijava/command/CommandInfoTest.java
index 35579a804..ded76ecd8 100644
--- a/src/test/java/org/scijava/command/CommandInfoTest.java
+++ b/src/test/java/org/scijava/command/CommandInfoTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/command/CommandModuleTest.java b/src/test/java/org/scijava/command/CommandModuleTest.java
index 76ee6bba7..84f38b97c 100644
--- a/src/test/java/org/scijava/command/CommandModuleTest.java
+++ b/src/test/java/org/scijava/command/CommandModuleTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/command/CommandServiceTest.java b/src/test/java/org/scijava/command/CommandServiceTest.java
index 7b06c0451..95ae9aa22 100644
--- a/src/test/java/org/scijava/command/CommandServiceTest.java
+++ b/src/test/java/org/scijava/command/CommandServiceTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/command/InvalidCommandTest.java b/src/test/java/org/scijava/command/InvalidCommandTest.java
index 94e25e694..2c4109a1e 100644
--- a/src/test/java/org/scijava/command/InvalidCommandTest.java
+++ b/src/test/java/org/scijava/command/InvalidCommandTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/command/run/CommandCodeRunnerTest.java b/src/test/java/org/scijava/command/run/CommandCodeRunnerTest.java
index c2284b95f..7a226ed43 100644
--- a/src/test/java/org/scijava/command/run/CommandCodeRunnerTest.java
+++ b/src/test/java/org/scijava/command/run/CommandCodeRunnerTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/console/ConsoleServiceTest.java b/src/test/java/org/scijava/console/ConsoleServiceTest.java
index 84d552f6a..b292493a4 100644
--- a/src/test/java/org/scijava/console/ConsoleServiceTest.java
+++ b/src/test/java/org/scijava/console/ConsoleServiceTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/console/SystemPropertyArgumentTest.java b/src/test/java/org/scijava/console/SystemPropertyArgumentTest.java
index 22ad053e1..b9ebff3d7 100644
--- a/src/test/java/org/scijava/console/SystemPropertyArgumentTest.java
+++ b/src/test/java/org/scijava/console/SystemPropertyArgumentTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/convert/AbstractNumberConverterTests.java b/src/test/java/org/scijava/convert/AbstractNumberConverterTests.java
index 3c15f173e..82fb0812b 100644
--- a/src/test/java/org/scijava/convert/AbstractNumberConverterTests.java
+++ b/src/test/java/org/scijava/convert/AbstractNumberConverterTests.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/convert/BigIntegerToBigDecimalConverterTest.java b/src/test/java/org/scijava/convert/BigIntegerToBigDecimalConverterTest.java
index fdac8b40f..b08cfeb84 100644
--- a/src/test/java/org/scijava/convert/BigIntegerToBigDecimalConverterTest.java
+++ b/src/test/java/org/scijava/convert/BigIntegerToBigDecimalConverterTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/convert/ByteToBigDecimalConverterTest.java b/src/test/java/org/scijava/convert/ByteToBigDecimalConverterTest.java
index 9e96ff0b0..bac9855af 100644
--- a/src/test/java/org/scijava/convert/ByteToBigDecimalConverterTest.java
+++ b/src/test/java/org/scijava/convert/ByteToBigDecimalConverterTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/convert/ByteToBigIntegerConverterTest.java b/src/test/java/org/scijava/convert/ByteToBigIntegerConverterTest.java
index ca9cf8e5a..2356d46c4 100644
--- a/src/test/java/org/scijava/convert/ByteToBigIntegerConverterTest.java
+++ b/src/test/java/org/scijava/convert/ByteToBigIntegerConverterTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/convert/ByteToDoubleConverterTest.java b/src/test/java/org/scijava/convert/ByteToDoubleConverterTest.java
index 05f3ab842..fec333605 100644
--- a/src/test/java/org/scijava/convert/ByteToDoubleConverterTest.java
+++ b/src/test/java/org/scijava/convert/ByteToDoubleConverterTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/convert/ByteToFloatConverterTest.java b/src/test/java/org/scijava/convert/ByteToFloatConverterTest.java
index 2cafe9404..8044c7f00 100644
--- a/src/test/java/org/scijava/convert/ByteToFloatConverterTest.java
+++ b/src/test/java/org/scijava/convert/ByteToFloatConverterTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/convert/ByteToIntegerConverterTest.java b/src/test/java/org/scijava/convert/ByteToIntegerConverterTest.java
index 562a282e9..506a11fe9 100644
--- a/src/test/java/org/scijava/convert/ByteToIntegerConverterTest.java
+++ b/src/test/java/org/scijava/convert/ByteToIntegerConverterTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/convert/ByteToLongConverterTest.java b/src/test/java/org/scijava/convert/ByteToLongConverterTest.java
index 4cd8dc2ae..79f58a1a0 100644
--- a/src/test/java/org/scijava/convert/ByteToLongConverterTest.java
+++ b/src/test/java/org/scijava/convert/ByteToLongConverterTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/convert/ByteToShortConverterTest.java b/src/test/java/org/scijava/convert/ByteToShortConverterTest.java
index e1c58e705..284c485d7 100644
--- a/src/test/java/org/scijava/convert/ByteToShortConverterTest.java
+++ b/src/test/java/org/scijava/convert/ByteToShortConverterTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/convert/ConvertServiceTest.java b/src/test/java/org/scijava/convert/ConvertServiceTest.java
index 8985e0d58..8a08ab1a0 100644
--- a/src/test/java/org/scijava/convert/ConvertServiceTest.java
+++ b/src/test/java/org/scijava/convert/ConvertServiceTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/convert/ConverterTest.java b/src/test/java/org/scijava/convert/ConverterTest.java
index 0d77baab4..b772378df 100644
--- a/src/test/java/org/scijava/convert/ConverterTest.java
+++ b/src/test/java/org/scijava/convert/ConverterTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/convert/DoubleToBigDecimalConverterTest.java b/src/test/java/org/scijava/convert/DoubleToBigDecimalConverterTest.java
index 5d8df5b77..d18d7b19a 100644
--- a/src/test/java/org/scijava/convert/DoubleToBigDecimalConverterTest.java
+++ b/src/test/java/org/scijava/convert/DoubleToBigDecimalConverterTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/convert/FloatToBigDecimalConverterTest.java b/src/test/java/org/scijava/convert/FloatToBigDecimalConverterTest.java
index 9350e6564..31085d0c6 100644
--- a/src/test/java/org/scijava/convert/FloatToBigDecimalConverterTest.java
+++ b/src/test/java/org/scijava/convert/FloatToBigDecimalConverterTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/convert/FloatToDoubleConverterTest.java b/src/test/java/org/scijava/convert/FloatToDoubleConverterTest.java
index beb7d5968..2d836e667 100644
--- a/src/test/java/org/scijava/convert/FloatToDoubleConverterTest.java
+++ b/src/test/java/org/scijava/convert/FloatToDoubleConverterTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/convert/IntegerToBigDecimalConverterTest.java b/src/test/java/org/scijava/convert/IntegerToBigDecimalConverterTest.java
index 8788bab96..44e85680f 100644
--- a/src/test/java/org/scijava/convert/IntegerToBigDecimalConverterTest.java
+++ b/src/test/java/org/scijava/convert/IntegerToBigDecimalConverterTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/convert/IntegerToBigIntegerConverterTest.java b/src/test/java/org/scijava/convert/IntegerToBigIntegerConverterTest.java
index 8b7ba5235..9779a0a29 100644
--- a/src/test/java/org/scijava/convert/IntegerToBigIntegerConverterTest.java
+++ b/src/test/java/org/scijava/convert/IntegerToBigIntegerConverterTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/convert/IntegerToDoubleConverterTest.java b/src/test/java/org/scijava/convert/IntegerToDoubleConverterTest.java
index e0b2dc0a8..0f2c38533 100644
--- a/src/test/java/org/scijava/convert/IntegerToDoubleConverterTest.java
+++ b/src/test/java/org/scijava/convert/IntegerToDoubleConverterTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/convert/IntegerToLongConverterTest.java b/src/test/java/org/scijava/convert/IntegerToLongConverterTest.java
index d0f89e0df..fa242dd9b 100644
--- a/src/test/java/org/scijava/convert/IntegerToLongConverterTest.java
+++ b/src/test/java/org/scijava/convert/IntegerToLongConverterTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/convert/LongToBigDecimalConverterTest.java b/src/test/java/org/scijava/convert/LongToBigDecimalConverterTest.java
index 879230b73..a5f7e7402 100644
--- a/src/test/java/org/scijava/convert/LongToBigDecimalConverterTest.java
+++ b/src/test/java/org/scijava/convert/LongToBigDecimalConverterTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/convert/LongToBigIntegerConverterTest.java b/src/test/java/org/scijava/convert/LongToBigIntegerConverterTest.java
index a5946bf21..c04794cb9 100644
--- a/src/test/java/org/scijava/convert/LongToBigIntegerConverterTest.java
+++ b/src/test/java/org/scijava/convert/LongToBigIntegerConverterTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/convert/ShortToBigDecimalConverterTest.java b/src/test/java/org/scijava/convert/ShortToBigDecimalConverterTest.java
index f6b140e44..436f2098f 100644
--- a/src/test/java/org/scijava/convert/ShortToBigDecimalConverterTest.java
+++ b/src/test/java/org/scijava/convert/ShortToBigDecimalConverterTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/convert/ShortToBigIntegerConverterTest.java b/src/test/java/org/scijava/convert/ShortToBigIntegerConverterTest.java
index 502e384fc..35be86ac7 100644
--- a/src/test/java/org/scijava/convert/ShortToBigIntegerConverterTest.java
+++ b/src/test/java/org/scijava/convert/ShortToBigIntegerConverterTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/convert/ShortToDoubleConverterTest.java b/src/test/java/org/scijava/convert/ShortToDoubleConverterTest.java
index 4409e6510..9b5f91830 100644
--- a/src/test/java/org/scijava/convert/ShortToDoubleConverterTest.java
+++ b/src/test/java/org/scijava/convert/ShortToDoubleConverterTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/convert/ShortToFloatConverterTest.java b/src/test/java/org/scijava/convert/ShortToFloatConverterTest.java
index 02288d693..b6b16a4f2 100644
--- a/src/test/java/org/scijava/convert/ShortToFloatConverterTest.java
+++ b/src/test/java/org/scijava/convert/ShortToFloatConverterTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/convert/ShortToIntegerConverterTest.java b/src/test/java/org/scijava/convert/ShortToIntegerConverterTest.java
index 959e32105..407df7e84 100644
--- a/src/test/java/org/scijava/convert/ShortToIntegerConverterTest.java
+++ b/src/test/java/org/scijava/convert/ShortToIntegerConverterTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/convert/ShortToLongConverterTest.java b/src/test/java/org/scijava/convert/ShortToLongConverterTest.java
index d79cbd6b6..361438faf 100644
--- a/src/test/java/org/scijava/convert/ShortToLongConverterTest.java
+++ b/src/test/java/org/scijava/convert/ShortToLongConverterTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/display/DisplayTest.java b/src/test/java/org/scijava/display/DisplayTest.java
index 520948b1c..8b9081d6c 100644
--- a/src/test/java/org/scijava/display/DisplayTest.java
+++ b/src/test/java/org/scijava/display/DisplayTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/event/EventServiceTest.java b/src/test/java/org/scijava/event/EventServiceTest.java
index 2f346e2d8..a90e6adb0 100644
--- a/src/test/java/org/scijava/event/EventServiceTest.java
+++ b/src/test/java/org/scijava/event/EventServiceTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/io/ByteArrayByteBankTest.java b/src/test/java/org/scijava/io/ByteArrayByteBankTest.java
index 483f4c260..12c9572b1 100644
--- a/src/test/java/org/scijava/io/ByteArrayByteBankTest.java
+++ b/src/test/java/org/scijava/io/ByteArrayByteBankTest.java
@@ -2,19 +2,20 @@
* #%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 - 2017 Board of Regents of the University 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
diff --git a/src/test/java/org/scijava/io/ByteBankTest.java b/src/test/java/org/scijava/io/ByteBankTest.java
index 219306c1a..4b99fd426 100644
--- a/src/test/java/org/scijava/io/ByteBankTest.java
+++ b/src/test/java/org/scijava/io/ByteBankTest.java
@@ -2,19 +2,20 @@
* #%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 - 2017 Board of Regents of the University 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
diff --git a/src/test/java/org/scijava/io/handle/BytesHandleTest.java b/src/test/java/org/scijava/io/handle/BytesHandleTest.java
index 3fafa0d6c..03c536d55 100644
--- a/src/test/java/org/scijava/io/handle/BytesHandleTest.java
+++ b/src/test/java/org/scijava/io/handle/BytesHandleTest.java
@@ -2,9 +2,10 @@
* #%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 - 2017 Board of Regents of the University 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:
diff --git a/src/test/java/org/scijava/io/handle/DataHandleTest.java b/src/test/java/org/scijava/io/handle/DataHandleTest.java
index 5a3069940..4208562cd 100644
--- a/src/test/java/org/scijava/io/handle/DataHandleTest.java
+++ b/src/test/java/org/scijava/io/handle/DataHandleTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/io/handle/FileHandleTest.java b/src/test/java/org/scijava/io/handle/FileHandleTest.java
index fd754a673..234efa90e 100644
--- a/src/test/java/org/scijava/io/handle/FileHandleTest.java
+++ b/src/test/java/org/scijava/io/handle/FileHandleTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/io/location/BytesLocationTest.java b/src/test/java/org/scijava/io/location/BytesLocationTest.java
index b88eb36cd..2b362f675 100644
--- a/src/test/java/org/scijava/io/location/BytesLocationTest.java
+++ b/src/test/java/org/scijava/io/location/BytesLocationTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/io/location/FileLocationTest.java b/src/test/java/org/scijava/io/location/FileLocationTest.java
index 1c68568f6..43bc8b0f7 100644
--- a/src/test/java/org/scijava/io/location/FileLocationTest.java
+++ b/src/test/java/org/scijava/io/location/FileLocationTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/io/location/URILocationTest.java b/src/test/java/org/scijava/io/location/URILocationTest.java
index 251242f3e..5298b1d6a 100644
--- a/src/test/java/org/scijava/io/location/URILocationTest.java
+++ b/src/test/java/org/scijava/io/location/URILocationTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/io/location/URLLocationTest.java b/src/test/java/org/scijava/io/location/URLLocationTest.java
index 191102fe4..1f74e1cb3 100644
--- a/src/test/java/org/scijava/io/location/URLLocationTest.java
+++ b/src/test/java/org/scijava/io/location/URLLocationTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/io/nio/ByteBufferByteBankTest.java b/src/test/java/org/scijava/io/nio/ByteBufferByteBankTest.java
index 3efb7ca7f..a1c571107 100644
--- a/src/test/java/org/scijava/io/nio/ByteBufferByteBankTest.java
+++ b/src/test/java/org/scijava/io/nio/ByteBufferByteBankTest.java
@@ -2,19 +2,20 @@
* #%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 - 2017 Board of Regents of the University 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
diff --git a/src/test/java/org/scijava/log/LogServiceTest.java b/src/test/java/org/scijava/log/LogServiceTest.java
index 515e44a1d..04d8758ca 100644
--- a/src/test/java/org/scijava/log/LogServiceTest.java
+++ b/src/test/java/org/scijava/log/LogServiceTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/main/MainServiceTest.java b/src/test/java/org/scijava/main/MainServiceTest.java
index 542dd3cc9..76d1fd854 100644
--- a/src/test/java/org/scijava/main/MainServiceTest.java
+++ b/src/test/java/org/scijava/main/MainServiceTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/main/run/MainCodeRunnerTest.java b/src/test/java/org/scijava/main/run/MainCodeRunnerTest.java
index 8c74eec92..c361345df 100644
--- a/src/test/java/org/scijava/main/run/MainCodeRunnerTest.java
+++ b/src/test/java/org/scijava/main/run/MainCodeRunnerTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/menu/MenuServiceTest.java b/src/test/java/org/scijava/menu/MenuServiceTest.java
index bfaa74f23..f228f7d79 100644
--- a/src/test/java/org/scijava/menu/MenuServiceTest.java
+++ b/src/test/java/org/scijava/menu/MenuServiceTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/menu/ShadowMenuTest.java b/src/test/java/org/scijava/menu/ShadowMenuTest.java
index 4962136a0..e0f06e0c3 100644
--- a/src/test/java/org/scijava/menu/ShadowMenuTest.java
+++ b/src/test/java/org/scijava/menu/ShadowMenuTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/module/ModuleServiceTest.java b/src/test/java/org/scijava/module/ModuleServiceTest.java
index 73a991970..08604b4e3 100644
--- a/src/test/java/org/scijava/module/ModuleServiceTest.java
+++ b/src/test/java/org/scijava/module/ModuleServiceTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/module/run/ModuleCodeRunnerTest.java b/src/test/java/org/scijava/module/run/ModuleCodeRunnerTest.java
index cdd88db72..8ad866534 100644
--- a/src/test/java/org/scijava/module/run/ModuleCodeRunnerTest.java
+++ b/src/test/java/org/scijava/module/run/ModuleCodeRunnerTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/object/ObjectIndexTest.java b/src/test/java/org/scijava/object/ObjectIndexTest.java
index 08296c0da..6e662eef4 100644
--- a/src/test/java/org/scijava/object/ObjectIndexTest.java
+++ b/src/test/java/org/scijava/object/ObjectIndexTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/object/SortedObjectIndexTest.java b/src/test/java/org/scijava/object/SortedObjectIndexTest.java
index 3b2ceb06d..255780dc6 100644
--- a/src/test/java/org/scijava/object/SortedObjectIndexTest.java
+++ b/src/test/java/org/scijava/object/SortedObjectIndexTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/options/OptionsTest.java b/src/test/java/org/scijava/options/OptionsTest.java
index 46d4c1348..7ac1e4dd9 100644
--- a/src/test/java/org/scijava/options/OptionsTest.java
+++ b/src/test/java/org/scijava/options/OptionsTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/parse/ParseServiceTest.java b/src/test/java/org/scijava/parse/ParseServiceTest.java
index 1f0c40a34..fd24e86ac 100644
--- a/src/test/java/org/scijava/parse/ParseServiceTest.java
+++ b/src/test/java/org/scijava/parse/ParseServiceTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/plugin/PluginFinderTest.java b/src/test/java/org/scijava/plugin/PluginFinderTest.java
index f6db17850..cf3984c85 100644
--- a/src/test/java/org/scijava/plugin/PluginFinderTest.java
+++ b/src/test/java/org/scijava/plugin/PluginFinderTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/plugin/PluginIndexTest.java b/src/test/java/org/scijava/plugin/PluginIndexTest.java
index afe868fb9..59e881152 100644
--- a/src/test/java/org/scijava/plugin/PluginIndexTest.java
+++ b/src/test/java/org/scijava/plugin/PluginIndexTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/plugin/PluginInfoTest.java b/src/test/java/org/scijava/plugin/PluginInfoTest.java
index 06f934666..140aaf6d1 100644
--- a/src/test/java/org/scijava/plugin/PluginInfoTest.java
+++ b/src/test/java/org/scijava/plugin/PluginInfoTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/prefs/PrefServiceTest.java b/src/test/java/org/scijava/prefs/PrefServiceTest.java
index c6dfdaa10..a9bd6ac4a 100644
--- a/src/test/java/org/scijava/prefs/PrefServiceTest.java
+++ b/src/test/java/org/scijava/prefs/PrefServiceTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/run/RunServiceTest.java b/src/test/java/org/scijava/run/RunServiceTest.java
index 55f35e89e..17a38ab2d 100644
--- a/src/test/java/org/scijava/run/RunServiceTest.java
+++ b/src/test/java/org/scijava/run/RunServiceTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/script/AbstractScriptLanguageTest.java b/src/test/java/org/scijava/script/AbstractScriptLanguageTest.java
index fd3f3f239..b9117d27c 100644
--- a/src/test/java/org/scijava/script/AbstractScriptLanguageTest.java
+++ b/src/test/java/org/scijava/script/AbstractScriptLanguageTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/script/ScriptEngineTest.java b/src/test/java/org/scijava/script/ScriptEngineTest.java
index 1f75dcfa6..8c72c5f8f 100644
--- a/src/test/java/org/scijava/script/ScriptEngineTest.java
+++ b/src/test/java/org/scijava/script/ScriptEngineTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/script/ScriptFinderTest.java b/src/test/java/org/scijava/script/ScriptFinderTest.java
index c24fad50c..d47d2d858 100644
--- a/src/test/java/org/scijava/script/ScriptFinderTest.java
+++ b/src/test/java/org/scijava/script/ScriptFinderTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/script/ScriptInfoTest.java b/src/test/java/org/scijava/script/ScriptInfoTest.java
index a5b0e6029..3c5c64ebc 100644
--- a/src/test/java/org/scijava/script/ScriptInfoTest.java
+++ b/src/test/java/org/scijava/script/ScriptInfoTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/script/ScriptServiceTest.java b/src/test/java/org/scijava/script/ScriptServiceTest.java
index 3e1c06711..01782d057 100644
--- a/src/test/java/org/scijava/script/ScriptServiceTest.java
+++ b/src/test/java/org/scijava/script/ScriptServiceTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/service/ServiceIndexTest.java b/src/test/java/org/scijava/service/ServiceIndexTest.java
index fd643e259..4712282c0 100644
--- a/src/test/java/org/scijava/service/ServiceIndexTest.java
+++ b/src/test/java/org/scijava/service/ServiceIndexTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/test/AbstractSciJavaTest.java b/src/test/java/org/scijava/test/AbstractSciJavaTest.java
index d2ab485fa..3bf06dde2 100644
--- a/src/test/java/org/scijava/test/AbstractSciJavaTest.java
+++ b/src/test/java/org/scijava/test/AbstractSciJavaTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/test/TestUtilsTest.java b/src/test/java/org/scijava/test/TestUtilsTest.java
index f8b7f94b6..181e3246b 100644
--- a/src/test/java/org/scijava/test/TestUtilsTest.java
+++ b/src/test/java/org/scijava/test/TestUtilsTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/thread/ThreadServiceTest.java b/src/test/java/org/scijava/thread/ThreadServiceTest.java
index 9a29ead8e..576c5a9a5 100644
--- a/src/test/java/org/scijava/thread/ThreadServiceTest.java
+++ b/src/test/java/org/scijava/thread/ThreadServiceTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/ui/UIServiceTest.java b/src/test/java/org/scijava/ui/UIServiceTest.java
index 03bae44f1..b54dfa540 100644
--- a/src/test/java/org/scijava/ui/UIServiceTest.java
+++ b/src/test/java/org/scijava/ui/UIServiceTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/util/AppUtilsTest.java b/src/test/java/org/scijava/util/AppUtilsTest.java
index 2fd9342ef..ea28c4f9a 100644
--- a/src/test/java/org/scijava/util/AppUtilsTest.java
+++ b/src/test/java/org/scijava/util/AppUtilsTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/util/ArrayUtilsTest.java b/src/test/java/org/scijava/util/ArrayUtilsTest.java
index 59b463ac2..7521d018c 100644
--- a/src/test/java/org/scijava/util/ArrayUtilsTest.java
+++ b/src/test/java/org/scijava/util/ArrayUtilsTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/util/BoolArrayTest.java b/src/test/java/org/scijava/util/BoolArrayTest.java
index f29d1d5ab..f94955de0 100644
--- a/src/test/java/org/scijava/util/BoolArrayTest.java
+++ b/src/test/java/org/scijava/util/BoolArrayTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/util/ByteArrayTest.java b/src/test/java/org/scijava/util/ByteArrayTest.java
index cdf6fc2f6..266bf2e01 100644
--- a/src/test/java/org/scijava/util/ByteArrayTest.java
+++ b/src/test/java/org/scijava/util/ByteArrayTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/util/CharArrayTest.java b/src/test/java/org/scijava/util/CharArrayTest.java
index 8e31741ee..4983e6461 100644
--- a/src/test/java/org/scijava/util/CharArrayTest.java
+++ b/src/test/java/org/scijava/util/CharArrayTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/util/ClassUtilsTest.java b/src/test/java/org/scijava/util/ClassUtilsTest.java
index 0dba2d7f2..a55dda743 100644
--- a/src/test/java/org/scijava/util/ClassUtilsTest.java
+++ b/src/test/java/org/scijava/util/ClassUtilsTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/util/ColorRGBTest.java b/src/test/java/org/scijava/util/ColorRGBTest.java
index 02942c614..423a6d281 100644
--- a/src/test/java/org/scijava/util/ColorRGBTest.java
+++ b/src/test/java/org/scijava/util/ColorRGBTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/util/ConversionUtilsTest.java b/src/test/java/org/scijava/util/ConversionUtilsTest.java
index 139fd015b..cadc051b2 100644
--- a/src/test/java/org/scijava/util/ConversionUtilsTest.java
+++ b/src/test/java/org/scijava/util/ConversionUtilsTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/util/DigestUtilsTest.java b/src/test/java/org/scijava/util/DigestUtilsTest.java
index 4610931ae..4d0a837ff 100644
--- a/src/test/java/org/scijava/util/DigestUtilsTest.java
+++ b/src/test/java/org/scijava/util/DigestUtilsTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/util/DoubleArrayTest.java b/src/test/java/org/scijava/util/DoubleArrayTest.java
index ce980ff89..e90c6d053 100644
--- a/src/test/java/org/scijava/util/DoubleArrayTest.java
+++ b/src/test/java/org/scijava/util/DoubleArrayTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/util/FileUtilsTest.java b/src/test/java/org/scijava/util/FileUtilsTest.java
index 1d9c7a2e0..e241854fb 100644
--- a/src/test/java/org/scijava/util/FileUtilsTest.java
+++ b/src/test/java/org/scijava/util/FileUtilsTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/util/FloatArrayTest.java b/src/test/java/org/scijava/util/FloatArrayTest.java
index 4f8992c32..356df3e18 100644
--- a/src/test/java/org/scijava/util/FloatArrayTest.java
+++ b/src/test/java/org/scijava/util/FloatArrayTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/util/GenericUtilsTest.java b/src/test/java/org/scijava/util/GenericUtilsTest.java
index b39c2cc71..389370007 100644
--- a/src/test/java/org/scijava/util/GenericUtilsTest.java
+++ b/src/test/java/org/scijava/util/GenericUtilsTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/util/IntArrayTest.java b/src/test/java/org/scijava/util/IntArrayTest.java
index 43bd6b610..4f22647b5 100644
--- a/src/test/java/org/scijava/util/IntArrayTest.java
+++ b/src/test/java/org/scijava/util/IntArrayTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/util/LastRecentlyUsedTest.java b/src/test/java/org/scijava/util/LastRecentlyUsedTest.java
index 46522d150..fd80647e2 100644
--- a/src/test/java/org/scijava/util/LastRecentlyUsedTest.java
+++ b/src/test/java/org/scijava/util/LastRecentlyUsedTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/util/LongArrayTest.java b/src/test/java/org/scijava/util/LongArrayTest.java
index 24df63313..d1063a581 100644
--- a/src/test/java/org/scijava/util/LongArrayTest.java
+++ b/src/test/java/org/scijava/util/LongArrayTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/util/ObjectArrayTest.java b/src/test/java/org/scijava/util/ObjectArrayTest.java
index ef8dad647..40dc5bd61 100644
--- a/src/test/java/org/scijava/util/ObjectArrayTest.java
+++ b/src/test/java/org/scijava/util/ObjectArrayTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/util/POMTest.java b/src/test/java/org/scijava/util/POMTest.java
index f8d2e3f6d..5ad61707e 100644
--- a/src/test/java/org/scijava/util/POMTest.java
+++ b/src/test/java/org/scijava/util/POMTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/util/PrimitiveArrayTest.java b/src/test/java/org/scijava/util/PrimitiveArrayTest.java
index 5446480e2..f4a5bfa72 100644
--- a/src/test/java/org/scijava/util/PrimitiveArrayTest.java
+++ b/src/test/java/org/scijava/util/PrimitiveArrayTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/util/ProcessUtilsTest.java b/src/test/java/org/scijava/util/ProcessUtilsTest.java
index 227703ca9..e8882c123 100644
--- a/src/test/java/org/scijava/util/ProcessUtilsTest.java
+++ b/src/test/java/org/scijava/util/ProcessUtilsTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/util/ShortArrayTest.java b/src/test/java/org/scijava/util/ShortArrayTest.java
index 4a3fd60c6..5cd7b6cb2 100644
--- a/src/test/java/org/scijava/util/ShortArrayTest.java
+++ b/src/test/java/org/scijava/util/ShortArrayTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/util/StringUtilsTest.java b/src/test/java/org/scijava/util/StringUtilsTest.java
index 395b23db2..88089986b 100644
--- a/src/test/java/org/scijava/util/StringUtilsTest.java
+++ b/src/test/java/org/scijava/util/StringUtilsTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
diff --git a/src/test/java/org/scijava/util/UnitUtilsTest.java b/src/test/java/org/scijava/util/UnitUtilsTest.java
index f2d005c2c..e0f060eca 100644
--- a/src/test/java/org/scijava/util/UnitUtilsTest.java
+++ b/src/test/java/org/scijava/util/UnitUtilsTest.java
@@ -3,8 +3,9 @@
* SciJava Common 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.
+ * 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:
From 6844914229c707d453721614aa74d21eeb64af5c Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Wed, 12 Jul 2017 18:33:17 -0500
Subject: [PATCH 099/754] DummyLocation: organize imports
---
src/main/java/org/scijava/io/location/DummyLocation.java | 2 --
1 file changed, 2 deletions(-)
diff --git a/src/main/java/org/scijava/io/location/DummyLocation.java b/src/main/java/org/scijava/io/location/DummyLocation.java
index 2601d3132..564305b0b 100644
--- a/src/main/java/org/scijava/io/location/DummyLocation.java
+++ b/src/main/java/org/scijava/io/location/DummyLocation.java
@@ -32,8 +32,6 @@
package org.scijava.io.location;
-import org.scijava.io.location.AbstractLocation;
-
/**
* {@link Location} backed by nothing whatsoever.
*
From 598af216de07367881ccb85ec12825c3578440c5 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Wed, 12 Jul 2017 21:33:10 -0500
Subject: [PATCH 100/754] Make the ByteBank consistent
Treatment and tracking of getMaxPos() was inconsistent in the codebase.
It has been renamed to size(), and reflects the index to the bank's END,
rather than the index of the last populated index. Personally, I find
this convention less confusing.
---
.../org/scijava/io/ByteArrayByteBank.java | 57 ++++++++++---------
src/main/java/org/scijava/io/ByteBank.java | 24 ++++----
.../org/scijava/io/handle/BytesHandle.java | 2 +-
.../scijava/io/nio/ByteBufferByteBank.java | 27 +++++----
.../java/org/scijava/io/ByteBankTest.java | 4 +-
.../io/location/BytesLocationTest.java | 4 +-
6 files changed, 61 insertions(+), 57 deletions(-)
diff --git a/src/main/java/org/scijava/io/ByteArrayByteBank.java b/src/main/java/org/scijava/io/ByteArrayByteBank.java
index 172b2d933..adfe93ff8 100644
--- a/src/main/java/org/scijava/io/ByteArrayByteBank.java
+++ b/src/main/java/org/scijava/io/ByteArrayByteBank.java
@@ -36,50 +36,49 @@
/**
* {@link ByteBank} implementation backed by a {@link ByteArray}. Self-growing
- * up to a maximum capacity of {@link Integer#MAX_VALUE}
+ * up to a maximum capacity of {@link Integer#MAX_VALUE}.
*
* @author Gabriel Einsdorf
*/
public class ByteArrayByteBank implements ByteBank {
private final ByteArray buffer;
- private long maxBufferedPos = -1;
+ private long size;
/**
- * Creates a {@link ByteArrayByteBank}
+ * Creates a {@link ByteArrayByteBank}.
*/
public ByteArrayByteBank() {
- buffer = new ByteArray();
+ this(new ByteArray());
}
/**
- * Creates a {@link ByteArrayByteBank} with the specified initial capacity
+ * Creates a {@link ByteArrayByteBank} with the specified initial capacity.
*
* @param initialCapacity the initial capacity of this {@link ByteBank}
*/
public ByteArrayByteBank(final int initialCapacity) {
- buffer = new ByteArray(initialCapacity);
+ this(new ByteArray(initialCapacity));
}
/**
- * Creates a {@link ByteArrayByteBank} that wraps the specified
- * {@link ByteArray}.
+ * Creates a {@link ByteArrayByteBank} that wraps the provided byte array.
*
- * @param bytes the {@link ByteArray} to wrap
+ * @param bytes the bytes to wrap
*/
- public ByteArrayByteBank(final ByteArray bytes) {
- buffer = bytes;
- maxBufferedPos = bytes.size();
+ public ByteArrayByteBank(final byte[] bytes) {
+ this(new ByteArray(bytes));
}
/**
- * Creates a {@link ByteArrayByteBank} that wraps the provided byte array
+ * Creates a {@link ByteArrayByteBank} that wraps the specified
+ * {@link ByteArray}.
*
- * @param bytes the bytes to wrap
+ * @param bytes the {@link ByteArray} to wrap
*/
- public ByteArrayByteBank(final byte[] bytes) {
- buffer = new ByteArray(bytes);
- maxBufferedPos = bytes.length;
+ public ByteArrayByteBank(final ByteArray bytes) {
+ buffer = bytes;
+ size = bytes.size();
}
@Override
@@ -93,13 +92,13 @@ public void setBytes(final long startpos, final byte[] bytes,
{
// ensure we have space
checkWritePos(startpos, startpos + length);
- final int neededCapacity = (int) (Math.max(maxBufferedPos, 0) + length);
+ final int neededCapacity = (int) (size + length);
buffer.ensureCapacity(neededCapacity);
// copy the data
System.arraycopy(bytes, offset, buffer.getArray(), (int) startpos, length);
buffer.setSize(neededCapacity);
- updateMaxPos(startpos + length - 1);
+ updateSize(startpos + length);
}
@Override
@@ -111,17 +110,13 @@ public void setByte(final long pos, final byte b) {
buffer.setSize((int) (pos + 1));
}
buffer.setValue((int) pos, b);
- updateMaxPos(pos);
- }
-
- private void updateMaxPos(final long pos) {
- maxBufferedPos = pos > maxBufferedPos ? pos : maxBufferedPos;
+ updateSize(pos + 1);
}
@Override
public void clear() {
buffer.clear();
- maxBufferedPos = 0;
+ size = 0;
}
@Override
@@ -138,13 +133,19 @@ public int getBytes(final long startPos, final byte[] b, final int offset,
{
checkReadPos(startPos, startPos + length);
// ensure we don't try to read data which is not in the buffer
- final int readLength = (int) Math.min(getMaxPos() - startPos + 1, length);
+ final int readLength = (int) Math.min(size() - startPos, length);
System.arraycopy(buffer.getArray(), (int) startPos, b, offset, readLength);
return readLength;
}
@Override
- public long getMaxPos() {
- return maxBufferedPos;
+ public long size() {
+ return size;
+ }
+
+ // -- Helper methods --
+
+ private void updateSize(final long newSize) {
+ size = newSize > size ? newSize : size;
}
}
diff --git a/src/main/java/org/scijava/io/ByteBank.java b/src/main/java/org/scijava/io/ByteBank.java
index 5c5551ecb..72b31271a 100644
--- a/src/main/java/org/scijava/io/ByteBank.java
+++ b/src/main/java/org/scijava/io/ByteBank.java
@@ -92,7 +92,7 @@ default void appendBytes(byte[] bytes, int length) {
* @param length the number of elements to append from the bytes array
*/
default void appendBytes(byte[] bytes, int offset, int length) {
- setBytes(getMaxPos() + 1, bytes, offset, length);
+ setBytes(size(), bytes, offset, length);
}
/**
@@ -103,9 +103,9 @@ default void appendBytes(byte[] bytes, int offset, int length) {
*/
default void checkReadPos(final long start, final long end) {
basicRangeCheck(start, end);
- if (start > getMaxPos()) {
+ if (start > size()) {
throw new IndexOutOfBoundsException("Requested position: " + start +
- " is larger than the maximally buffered postion: " + getMaxPos());
+ " is outside the buffer: " + size());
}
}
@@ -117,18 +117,18 @@ default void checkReadPos(final long start, final long end) {
* @throws IndexOutOfBoundsException if
*/
default void checkWritePos(final long start, final long end) {
- if (start > getMaxPos() + 1) { // we can't have holes in the buffer
+ if (start > size() + 1) { // we can't have holes in the buffer
throw new IndexOutOfBoundsException("Requested start position: " + start +
" would leave a hole in the buffer, largest legal position is: " +
- getMaxPos() + 1);
+ size());
}
if (end < start) {
throw new IllegalArgumentException(
"Invalid range, end is smaller than start!");
}
if (end > getMaxBufferSize()) {
- throw new IndexOutOfBoundsException("Requested postion " + end +
- " is larger than the maximal buffer size: " + getMaxPos());
+ throw new IndexOutOfBoundsException("Requested position " + end +
+ " is larger than the maximal buffer size: " + getMaxBufferSize());
}
}
@@ -139,9 +139,9 @@ default void checkWritePos(final long start, final long end) {
* @param end the end of the range
*/
default void basicRangeCheck(final long start, final long end) {
- if (start > getMaxPos()) {
- throw new IndexOutOfBoundsException("Requested postion " + start +
- " is larger than the maximal buffer size: " + getMaxPos());
+ if (start > size()) {
+ throw new IndexOutOfBoundsException("Requested position: " + start +
+ " is outside the buffer: " + size());
}
if (end < start) {
throw new IllegalArgumentException(
@@ -155,9 +155,9 @@ default void basicRangeCheck(final long start, final long end) {
void clear();
/**
- * @return the position of the last byte in this ByteBank
+ * @return the offset which follows the last byte stored in this ByteBank
*/
- long getMaxPos();
+ long size();
/**
* Sets the byte at the given position
diff --git a/src/main/java/org/scijava/io/handle/BytesHandle.java b/src/main/java/org/scijava/io/handle/BytesHandle.java
index 56d62a92e..dc941f21b 100644
--- a/src/main/java/org/scijava/io/handle/BytesHandle.java
+++ b/src/main/java/org/scijava/io/handle/BytesHandle.java
@@ -60,7 +60,7 @@ public long offset() {
@Override
public long length() {
- return bytes().getMaxPos();
+ return bytes().size();
}
@Override
diff --git a/src/main/java/org/scijava/io/nio/ByteBufferByteBank.java b/src/main/java/org/scijava/io/nio/ByteBufferByteBank.java
index 80a84459c..a159185a8 100644
--- a/src/main/java/org/scijava/io/nio/ByteBufferByteBank.java
+++ b/src/main/java/org/scijava/io/nio/ByteBufferByteBank.java
@@ -49,7 +49,7 @@ public class ByteBufferByteBank implements ByteBank {
private ByteBuffer buffer;
- private int maxBufferedPos = -1;
+ private int size;
private Function provider;
@@ -86,7 +86,7 @@ public void setBytes(final long startpos, final byte[] bytes,
{
// ensure we have space
checkWritePos(startpos, startpos + length);
- final int neededCapacity = Math.max(maxBufferedPos, 0) + length;
+ final int neededCapacity = size + length;
ensureCapacity(neededCapacity);
// copy the data
@@ -94,7 +94,7 @@ public void setBytes(final long startpos, final byte[] bytes,
buffer.put(bytes, offset, length);
// update the maxpos
- updateMaxPos(startpos + length - 1);
+ updateSize(startpos + length);
}
@Override
@@ -104,17 +104,13 @@ public void setByte(final long pos, final byte b) {
ensureCapacity((int) pos + 1);
}
buffer.put((int) pos, b);
- updateMaxPos(pos);
- }
-
- private void updateMaxPos(final long pos) {
- maxBufferedPos = (int) (pos > maxBufferedPos ? pos : maxBufferedPos);
+ updateSize(pos + 1);
}
@Override
public void clear() {
buffer.clear();
- maxBufferedPos = 0;
+ size = 0;
}
@Override
@@ -132,7 +128,7 @@ public int getBytes(final long startPos, final byte[] b, final int offset,
{
checkReadPos(startPos, startPos + length);
// ensure we don't try to read data which is not in the buffer
- final int readLength = (int) Math.min(getMaxPos() - startPos + 1, length);
+ final int readLength = (int) Math.min(size() - startPos, length);
buffer.position((int) startPos);
buffer.get(b, offset, readLength);
@@ -140,8 +136,8 @@ public int getBytes(final long startPos, final byte[] b, final int offset,
}
@Override
- public long getMaxPos() {
- return maxBufferedPos;
+ public long size() {
+ return size;
}
@Override
@@ -155,6 +151,8 @@ public boolean isReadOnly() {
className.equals("java.nio.DirectByteBufferR");
}
+ // -- Helper methods --
+
private void ensureCapacity(final int minCapacity) {
final int oldCapacity = buffer.capacity();
if (minCapacity <= oldCapacity) return; // no need to grow
@@ -177,4 +175,9 @@ private void ensureCapacity(final int minCapacity) {
newBuffer.put(buffer);
buffer = newBuffer;
}
+
+ private void updateSize(final long newSize) {
+ size = (int) (newSize > size ? newSize : size);
+ }
+
}
diff --git a/src/test/java/org/scijava/io/ByteBankTest.java b/src/test/java/org/scijava/io/ByteBankTest.java
index 4b99fd426..31a1dec5a 100644
--- a/src/test/java/org/scijava/io/ByteBankTest.java
+++ b/src/test/java/org/scijava/io/ByteBankTest.java
@@ -93,10 +93,10 @@ public void testSetGetByte() {
@Test
public void testClear() {
bank.setBytes(0, testBytes, 0, testBytes.length);
- assertEquals(testBytes.length - 1, bank.getMaxPos());
+ assertEquals(testBytes.length, bank.size());
bank.clear();
- assertEquals(0, bank.getMaxPos());
+ assertEquals(0, bank.size());
}
@Test
diff --git a/src/test/java/org/scijava/io/location/BytesLocationTest.java b/src/test/java/org/scijava/io/location/BytesLocationTest.java
index 2b362f675..f95144ca3 100644
--- a/src/test/java/org/scijava/io/location/BytesLocationTest.java
+++ b/src/test/java/org/scijava/io/location/BytesLocationTest.java
@@ -52,7 +52,7 @@ public void testBytes() {
final byte[] testDigits = new byte[digits.length];
loc.getByteBank().getBytes(0, testDigits);
- assertEquals(digits.length, loc.getByteBank().getMaxPos());
+ assertEquals(digits.length, loc.getByteBank().size());
assertArrayEquals(digits, testDigits);
}
@@ -65,7 +65,7 @@ public void testBytesOffsetLength() {
final byte[] testDigits = new byte[digits.length];
loc.getByteBank().getBytes(0, testDigits);
- assertEquals(length - 1, loc.getByteBank().getMaxPos());
+ assertEquals(length, loc.getByteBank().size());
final byte[] expectedDigits = new byte[digits.length];
System.arraycopy(digits, offset, expectedDigits, 0, length);
From b4849903ef8532123a90691ba284f38029d5e0d9 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Thu, 6 Jul 2017 15:42:36 -0500
Subject: [PATCH 101/754] Add a TaskService to create & manage running tasks
---
pom.xml | 2 +-
.../java/org/scijava/task/DefaultTask.java | 181 ++++++++++++++++++
.../org/scijava/task/DefaultTaskService.java | 64 +++++++
src/main/java/org/scijava/task/Task.java | 108 +++++++++++
.../java/org/scijava/task/TaskService.java | 53 +++++
.../org/scijava/task/event/TaskEvent.java | 62 ++++++
.../java/org/scijava/ContextCreationTest.java | 1 +
.../org/scijava/task/TaskServiceTest.java | 76 ++++++++
8 files changed, 546 insertions(+), 1 deletion(-)
create mode 100644 src/main/java/org/scijava/task/DefaultTask.java
create mode 100644 src/main/java/org/scijava/task/DefaultTaskService.java
create mode 100644 src/main/java/org/scijava/task/Task.java
create mode 100644 src/main/java/org/scijava/task/TaskService.java
create mode 100644 src/main/java/org/scijava/task/event/TaskEvent.java
create mode 100644 src/test/java/org/scijava/task/TaskServiceTest.java
diff --git a/pom.xml b/pom.xml
index 34dab8406..d56a64bdb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -10,7 +10,7 @@
scijava-common
- 2.64.1-SNAPSHOT
+ 2.65.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/task/DefaultTask.java b/src/main/java/org/scijava/task/DefaultTask.java
new file mode 100644
index 000000000..8042f511e
--- /dev/null
+++ b/src/main/java/org/scijava/task/DefaultTask.java
@@ -0,0 +1,181 @@
+/*-
+ * #%L
+ * SciJava Common shared library for SciJava software.
+ * %%
+ * Copyright (C) 2009 - 2017 Board of Regents of the University 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.task;
+
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.Future;
+
+import org.scijava.event.EventService;
+import org.scijava.task.event.TaskEvent;
+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}.
+ *
+ * @author Curtis Rueden
+ */
+public class DefaultTask implements Task {
+
+ private final ThreadService threadService;
+ private final EventService eventService;
+
+ private Future> future;
+
+ private boolean canceled;
+ private String cancelReason;
+
+ private String status;
+ private long step;
+ private long max;
+
+ private String name;
+
+ /**
+ * 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
+ * {@link TaskEvent}s. May be null, in which case no events are
+ * reported.
+ */
+ public DefaultTask(final ThreadService threadService,
+ final EventService eventService)
+ {
+ this.threadService = threadService;
+ this.eventService = eventService;
+ }
+
+ // -- Task methods --
+
+ @Override
+ public void run(final Runnable r) {
+ if (r == null) throw new NullPointerException();
+ future(r);
+ }
+
+ @Override
+ public void waitFor() throws InterruptedException, ExecutionException {
+ future().get();
+ }
+
+ @Override
+ public boolean isDone() {
+ return future != null && future.isDone();
+ }
+
+ @Override
+ public String getStatusMessage() {
+ return status;
+ }
+
+ @Override
+ public long getProgressValue() {
+ return step;
+ }
+
+ @Override
+ public long getProgressMaximum() {
+ return max;
+ }
+
+ @Override
+ public void setStatusMessage(final String status) {
+ this.status = status;
+ fireTaskEvent();
+ }
+
+ @Override
+ public void setProgressValue(final long step) {
+ this.step = step;
+ fireTaskEvent();
+ }
+
+ @Override
+ public void setProgressMaximum(final long max) {
+ this.max = max;
+ fireTaskEvent();
+ }
+
+ // -- Cancelable methods --
+
+ @Override
+ public boolean isCanceled() {
+ return canceled;
+ }
+
+ @Override
+ public void cancel(final String reason) {
+ canceled = true;
+ cancelReason = reason;
+ }
+
+ @Override
+ public String getCancelReason() {
+ return cancelReason;
+ }
+
+ // -- Named methods --
+
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ @Override
+ public void setName(final String name) {
+ this.name = name;
+ }
+
+ // -- Helper methods --
+
+ private Future> future() {
+ return future(null);
+ }
+
+ private Future> future(final Runnable r) {
+ if (future == null) initFuture(r);
+ return future;
+ }
+
+ 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);
+ }
+
+ private void fireTaskEvent() {
+ if (eventService != null) eventService.publish(new TaskEvent(this));
+ }
+}
diff --git a/src/main/java/org/scijava/task/DefaultTaskService.java b/src/main/java/org/scijava/task/DefaultTaskService.java
new file mode 100644
index 000000000..e99edfa3a
--- /dev/null
+++ b/src/main/java/org/scijava/task/DefaultTaskService.java
@@ -0,0 +1,64 @@
+/*-
+ * #%L
+ * SciJava Common shared library for SciJava software.
+ * %%
+ * Copyright (C) 2009 - 2017 Board of Regents of the University 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.task;
+
+import org.scijava.event.EventService;
+import org.scijava.plugin.Parameter;
+import org.scijava.plugin.Plugin;
+import org.scijava.service.AbstractService;
+import org.scijava.service.Service;
+import org.scijava.thread.ThreadService;
+
+/**
+ * Default implementation of {@link TaskService}.
+ *
+ * @author Curtis Rueden
+ */
+@Plugin(type = Service.class)
+public class DefaultTaskService extends AbstractService implements
+ TaskService
+{
+
+ @Parameter
+ private ThreadService threadService;
+
+ @Parameter(required = false)
+ private EventService eventService;
+
+ @Override
+ public Task createTask(String name) {
+ final DefaultTask task = new DefaultTask(threadService, eventService);
+ task.setName(name);
+ return task;
+ }
+}
diff --git a/src/main/java/org/scijava/task/Task.java b/src/main/java/org/scijava/task/Task.java
new file mode 100644
index 000000000..958ec8d07
--- /dev/null
+++ b/src/main/java/org/scijava/task/Task.java
@@ -0,0 +1,108 @@
+/*-
+ * #%L
+ * SciJava Common shared library for SciJava software.
+ * %%
+ * Copyright (C) 2009 - 2017 Board of Regents of the University 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.task;
+
+import java.util.concurrent.ExecutionException;
+
+import org.scijava.Cancelable;
+import org.scijava.Named;
+
+/**
+ * A self-aware job which reports its status and progress as it runs.
+ *
+ * @author Curtis Rueden
+ */
+public interface Task extends Cancelable, Named {
+
+ /**
+ * Starts running the task.
+ *
+ * @throws IllegalStateException if the task was already started.
+ */
+ void run(Runnable r);
+
+ /**
+ * Waits for the task to complete.
+ *
+ * @throws IllegalStateException if {@link #run} has not been called yet.
+ * @throws InterruptedException if the task is interrupted.
+ * @throws ExecutionException if the task throws an exception while running.
+ */
+ void waitFor() throws InterruptedException, ExecutionException;
+
+ /** Checks whether the task has completed. */
+ boolean isDone();
+
+ /** Gets a status message describing what the task is currently doing. */
+ String getStatusMessage();
+
+ /**
+ * Gets the step the task is currently performing.
+ *
+ * @return A value between 0 and {@link #getProgressMaximum()} inclusive.
+ * @see #getProgressMaximum()
+ */
+ long getProgressValue();
+
+ /**
+ * Gets the number of steps the task performs in total.
+ *
+ * @return Total number of steps the task will perform, or 0 if unknown.
+ * @see #getProgressValue()
+ */
+ long getProgressMaximum();
+
+ /**
+ * Sets the status message. Called by task implementors.
+ *
+ * @param status The message to set.
+ * @see #getStatusMessage()
+ */
+ void setStatusMessage(String status);
+
+ /**
+ * Sets the current step. Called by task implementors.
+ *
+ * @param step The step vaule to set.
+ * @see #getProgressValue()
+ */
+ void setProgressValue(long step);
+
+ /**
+ * Sets the total number of steps. Called by task implementors.
+ *
+ * @param max The step count to set.
+ * @see #getProgressMaximum()
+ */
+ void setProgressMaximum(long max);
+}
diff --git a/src/main/java/org/scijava/task/TaskService.java b/src/main/java/org/scijava/task/TaskService.java
new file mode 100644
index 000000000..774f2ae98
--- /dev/null
+++ b/src/main/java/org/scijava/task/TaskService.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, 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.task;
+
+import org.scijava.service.SciJavaService;
+
+/**
+ * Service for working with {@link Task}s.
+ *
+ * @author Curtis Rueden
+ * @see Task
+ */
+public interface TaskService extends SciJavaService {
+
+ /**
+ * Creates a new, empty {@link Task}. It is the responsibility of the caller
+ * to then launch the task via the {@link Task#run(Runnable)} method.
+ *
+ * @param name The task's name, to differentiate it from others.
+ * @return A newly created task which awaits execution.
+ */
+ Task createTask(String name);
+}
diff --git a/src/main/java/org/scijava/task/event/TaskEvent.java b/src/main/java/org/scijava/task/event/TaskEvent.java
new file mode 100644
index 000000000..a8f3a02dd
--- /dev/null
+++ b/src/main/java/org/scijava/task/event/TaskEvent.java
@@ -0,0 +1,62 @@
+/*-
+ * #%L
+ * SciJava Common shared library for SciJava software.
+ * %%
+ * Copyright (C) 2009 - 2017 Board of Regents of the University 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.task.event;
+
+import org.scijava.event.SciJavaEvent;
+import org.scijava.task.Task;
+
+/**
+ * An event indicating a {@link Task} has been updated.
+ *
+ * @author Curtis Rueden
+ */
+public class TaskEvent extends SciJavaEvent {
+
+ private final Task task;
+
+ public TaskEvent(final Task task) {
+ this.task = task;
+ }
+
+ // -- TaskEvent methods --
+
+ public Task getTask() {
+ return task;
+ }
+
+ // -- Object methods --
+
+ @Override
+ public String toString() {
+ return super.toString() + "\n\ttask = " + task;
+ }
+}
diff --git a/src/test/java/org/scijava/ContextCreationTest.java b/src/test/java/org/scijava/ContextCreationTest.java
index 36cda8ba9..5e6c0da45 100644
--- a/src/test/java/org/scijava/ContextCreationTest.java
+++ b/src/test/java/org/scijava/ContextCreationTest.java
@@ -112,6 +112,7 @@ public void testFull() {
org.scijava.run.DefaultRunService.class,
org.scijava.script.DefaultScriptHeaderService.class,
org.scijava.script.process.DefaultScriptProcessorService.class,
+ org.scijava.task.DefaultTaskService.class,
org.scijava.text.DefaultTextService.class,
org.scijava.thread.DefaultThreadService.class,
org.scijava.tool.DefaultToolService.class,
diff --git a/src/test/java/org/scijava/task/TaskServiceTest.java b/src/test/java/org/scijava/task/TaskServiceTest.java
new file mode 100644
index 000000000..e9eb0e068
--- /dev/null
+++ b/src/test/java/org/scijava/task/TaskServiceTest.java
@@ -0,0 +1,76 @@
+/*-
+ * #%L
+ * SciJava Common shared library for SciJava software.
+ * %%
+ * Copyright (C) 2009 - 2017 Board of Regents of the University 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.task;
+
+import static org.junit.Assert.assertEquals;
+
+import java.util.concurrent.ExecutionException;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.scijava.Context;
+
+/**
+ * Tests {@link TaskService}.
+ *
+ * @author Curtis Rueden
+ */
+public class TaskServiceTest {
+
+ private TaskService taskService;
+
+ @Before
+ public void setUp() {
+ final Context ctx = new Context(TaskService.class);
+ taskService = ctx.service(TaskService.class);
+ }
+
+ @After
+ public void tearDown() {
+ taskService.context().dispose();
+ }
+
+ @Test
+ public void testTask() throws InterruptedException, ExecutionException {
+ final int[] result = new int[1];
+ final Task task = taskService.createTask("hello");
+ task.run(() -> {
+ task.setStatusMessage("Hello");
+ task.setProgressMaximum(10);
+ task.setProgressValue(5);
+ result[0] = 100;
+ });
+ task.waitFor();
+ assertEquals(100, result[0]);
+ }
+}
From 486fce3c8833dfdbdff3716c195da0c41a65aa8f Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Thu, 13 Jul 2017 11:51:31 -0500
Subject: [PATCH 102/754] DataHandle: move metadata query methods to the top
We will soon be adding a few more, such as exists() and lastModified().
It makes sense for these basic interrogation methods to be first.
---
.../org/scijava/io/handle/BytesHandle.java | 20 +++++++++----------
.../org/scijava/io/handle/DataHandle.java | 12 +++++------
.../org/scijava/io/handle/DummyHandle.java | 20 +++++++++----------
.../org/scijava/io/handle/FileHandle.java | 20 +++++++++----------
4 files changed, 36 insertions(+), 36 deletions(-)
diff --git a/src/main/java/org/scijava/io/handle/BytesHandle.java b/src/main/java/org/scijava/io/handle/BytesHandle.java
index dc941f21b..4b4ddeb58 100644
--- a/src/main/java/org/scijava/io/handle/BytesHandle.java
+++ b/src/main/java/org/scijava/io/handle/BytesHandle.java
@@ -53,6 +53,16 @@ public class BytesHandle extends AbstractDataHandle {
// -- DataHandle methods --
+ @Override
+ public boolean isReadable() {
+ return true;
+ }
+
+ @Override
+ public boolean isWritable() {
+ return !bytes().isReadOnly();
+ }
+
@Override
public long offset() {
return offset;
@@ -86,16 +96,6 @@ public void seek(final long pos) throws IOException {
offset = pos;
}
- @Override
- public boolean isReadable() {
- return true;
- }
-
- @Override
- public boolean isWritable() {
- return !bytes().isReadOnly();
- }
-
// -- DataInput methods --
@Override
diff --git a/src/main/java/org/scijava/io/handle/DataHandle.java b/src/main/java/org/scijava/io/handle/DataHandle.java
index f02b18c17..f7f2fe7be 100644
--- a/src/main/java/org/scijava/io/handle/DataHandle.java
+++ b/src/main/java/org/scijava/io/handle/DataHandle.java
@@ -65,6 +65,12 @@ public enum ByteOrder {
/** Default bound on bytes to search when searching through the stream. */
int MAX_SEARCH_SIZE = 512 * 1024 * 1024; // 512 MB
+ /** Gets whether reading from this handle is supported. */
+ boolean isReadable();
+
+ /** Gets whether writing to this handle is supported. */
+ boolean isWritable();
+
/** Returns the current offset in the stream. */
long offset() throws IOException;
@@ -116,12 +122,6 @@ default long available(final long count) throws IOException {
return remain < count ? remain : count;
}
- /** Gets whether reading from this handle is supported. */
- boolean isReadable();
-
- /** Gets whether writing to this handle is supported. */
- boolean isWritable();
-
/**
* Ensures that the handle has sufficient bytes available to read.
*
diff --git a/src/main/java/org/scijava/io/handle/DummyHandle.java b/src/main/java/org/scijava/io/handle/DummyHandle.java
index bfbcf3a2f..d1644168e 100644
--- a/src/main/java/org/scijava/io/handle/DummyHandle.java
+++ b/src/main/java/org/scijava/io/handle/DummyHandle.java
@@ -53,6 +53,16 @@ public class DummyHandle extends AbstractDataHandle {
// -- DataHandle methods --
+ @Override
+ public boolean isReadable() {
+ return true;
+ }
+
+ @Override
+ public boolean isWritable() {
+ return true;
+ }
+
@Override
public long offset() throws IOException {
return offset;
@@ -74,16 +84,6 @@ public void setLength(final long length) throws IOException {
this.length = length;
}
- @Override
- public boolean isReadable() {
- return true;
- }
-
- @Override
- public boolean isWritable() {
- return true;
- }
-
// -- DataInput 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 5db88ba18..d88d824e2 100644
--- a/src/main/java/org/scijava/io/handle/FileHandle.java
+++ b/src/main/java/org/scijava/io/handle/FileHandle.java
@@ -75,28 +75,28 @@ public void setMode(final String mode) {
// -- DataHandle methods --
@Override
- public long offset() throws IOException {
- return raf().getFilePointer();
+ public boolean isReadable() {
+ return getMode().contains("r");
}
@Override
- public long length() throws IOException {
- return raf().length();
+ public boolean isWritable() {
+ return getMode().contains("w");
}
@Override
- public void setLength(final long length) throws IOException {
- raf().setLength(length);
+ public long offset() throws IOException {
+ return raf().getFilePointer();
}
@Override
- public boolean isReadable() {
- return getMode().contains("r");
+ public long length() throws IOException {
+ return raf().length();
}
@Override
- public boolean isWritable() {
- return getMode().contains("w");
+ public void setLength(final long length) throws IOException {
+ raf().setLength(length);
}
@Override
From bb8f7912d8df58ee3d31a367e17100b4373fb1af Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Thu, 13 Jul 2017 12:17:52 -0500
Subject: [PATCH 103/754] DummyHandle: remove unneeded throws clauses
We can narrow these method declarations, since they do not
actually ever throw IOException, and never will in the future.
---
src/main/java/org/scijava/io/handle/DummyHandle.java | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/main/java/org/scijava/io/handle/DummyHandle.java b/src/main/java/org/scijava/io/handle/DummyHandle.java
index d1644168e..79e4f8e91 100644
--- a/src/main/java/org/scijava/io/handle/DummyHandle.java
+++ b/src/main/java/org/scijava/io/handle/DummyHandle.java
@@ -64,23 +64,23 @@ public boolean isWritable() {
}
@Override
- public long offset() throws IOException {
+ public long offset() {
return offset;
}
@Override
- public void seek(final long pos) throws IOException {
+ public void seek(final long pos) {
if (pos > length()) setLength(pos);
offset = pos;
}
@Override
- public long length() throws IOException {
+ public long length() {
return length;
}
@Override
- public void setLength(final long length) throws IOException {
+ public void setLength(final long length) {
this.length = length;
}
From 5e901657c6791cec6d1382a7f40d64ffcd34a96b Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Thu, 13 Jul 2017 12:25:32 -0500
Subject: [PATCH 104/754] ByteBank: add toByteArray methods
These copy the data (in whole or part) into a newly allocated byte[].
Just a convenience, but it's nice to have.
---
src/main/java/org/scijava/io/ByteBank.java | 31 ++++++++++++++++++++++
1 file changed, 31 insertions(+)
diff --git a/src/main/java/org/scijava/io/ByteBank.java b/src/main/java/org/scijava/io/ByteBank.java
index 72b31271a..397b22133 100644
--- a/src/main/java/org/scijava/io/ByteBank.java
+++ b/src/main/java/org/scijava/io/ByteBank.java
@@ -36,6 +36,7 @@
* A {@link ByteBank} is a self-growing buffer over arbitrary bytes.
*
* @author Gabriel Einsdorf
+ * @author Curtis Rueden
*/
public interface ByteBank {
@@ -63,6 +64,36 @@ default int getBytes(long startPos, byte[] bytes) {
*/
int getBytes(long startPos, byte[] bytes, int offset, int length);
+ /**
+ * Copies part of this buffer into a newly allocated byte array.
+ *
+ * @param offset the initial position in the buffer
+ * @param len the number of bytes to copy
+ * @return The newly allocated byte array containing the data.
+ */
+ default byte[] toByteArray(final long offset, final int len) {
+ if (offset < 0 || len < 0 || offset + len > size()) {
+ throw new IllegalArgumentException("Invalid range");
+ }
+ final byte[] bytes = new byte[len];
+ getBytes(offset, bytes);
+ return bytes;
+ }
+
+ /**
+ * Copies this entire buffer into a newly allocated byte array.
+ *
+ * @return The newly allocated byte array containing the data.
+ */
+ default byte[] toByteArray() {
+ long max = size();
+ if (max > Integer.MAX_VALUE) {
+ throw new IllegalStateException(
+ "Byte bank is too large to store into a single byte[]");
+ }
+ return toByteArray(0, (int) max);
+ }
+
/**
* Sets the bytes starting form the given position to the values form the
* provided array.
From c59b3b0a70b624c6cb254395b582231873b01aa8 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Thu, 13 Jul 2017 15:17:01 -0500
Subject: [PATCH 105/754] DataHandle: add exists() method
---
src/main/java/org/scijava/io/handle/BytesHandle.java | 5 +++++
src/main/java/org/scijava/io/handle/DataHandle.java | 8 ++++++++
src/main/java/org/scijava/io/handle/DummyHandle.java | 6 +++++-
src/main/java/org/scijava/io/handle/FileHandle.java | 6 +++++-
4 files changed, 23 insertions(+), 2 deletions(-)
diff --git a/src/main/java/org/scijava/io/handle/BytesHandle.java b/src/main/java/org/scijava/io/handle/BytesHandle.java
index 4b4ddeb58..7eb52dbd5 100644
--- a/src/main/java/org/scijava/io/handle/BytesHandle.java
+++ b/src/main/java/org/scijava/io/handle/BytesHandle.java
@@ -63,6 +63,11 @@ public boolean isWritable() {
return !bytes().isReadOnly();
}
+ @Override
+ public boolean exists() {
+ return true;
+ }
+
@Override
public long offset() {
return offset;
diff --git a/src/main/java/org/scijava/io/handle/DataHandle.java b/src/main/java/org/scijava/io/handle/DataHandle.java
index f7f2fe7be..418613265 100644
--- a/src/main/java/org/scijava/io/handle/DataHandle.java
+++ b/src/main/java/org/scijava/io/handle/DataHandle.java
@@ -71,6 +71,14 @@ public enum ByteOrder {
/** Gets whether writing to this handle is supported. */
boolean isWritable();
+ /**
+ * Tests whether this handle's location actually exists at the source.
+ *
+ * @return True if the location exists; false if not.
+ * @throws IOException If something goes wrong with the existence check.
+ */
+ boolean exists() throws IOException;
+
/** Returns the current offset in the stream. */
long offset() throws IOException;
diff --git a/src/main/java/org/scijava/io/handle/DummyHandle.java b/src/main/java/org/scijava/io/handle/DummyHandle.java
index 79e4f8e91..2244c4692 100644
--- a/src/main/java/org/scijava/io/handle/DummyHandle.java
+++ b/src/main/java/org/scijava/io/handle/DummyHandle.java
@@ -63,6 +63,11 @@ public boolean isWritable() {
return true;
}
+ @Override
+ public boolean exists() {
+ return true;
+ }
+
@Override
public long offset() {
return offset;
@@ -133,5 +138,4 @@ public void close() {
public Class getType() {
return DummyLocation.class;
}
-
}
diff --git a/src/main/java/org/scijava/io/handle/FileHandle.java b/src/main/java/org/scijava/io/handle/FileHandle.java
index d88d824e2..1c3348ce9 100644
--- a/src/main/java/org/scijava/io/handle/FileHandle.java
+++ b/src/main/java/org/scijava/io/handle/FileHandle.java
@@ -84,6 +84,11 @@ public boolean isWritable() {
return getMode().contains("w");
}
+ @Override
+ public boolean exists() {
+ return get().getFile().exists();
+ }
+
@Override
public long offset() throws IOException {
return raf().getFilePointer();
@@ -299,5 +304,4 @@ private synchronized void initRAF() throws IOException {
if (raf != null) return;
raf = new RandomAccessFile(get().getFile(), getMode());
}
-
}
From f0a30f141b6f739b00c4fed19635ced443cebafb Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Thu, 13 Jul 2017 15:18:06 -0500
Subject: [PATCH 106/754] DataHandle: add lastModified() and checksum()
These are optional to support, returning null by default.
---
.../org/scijava/io/handle/DataHandle.java | 35 +++++++++++++++++++
.../org/scijava/io/handle/FileHandle.java | 7 ++++
2 files changed, 42 insertions(+)
diff --git a/src/main/java/org/scijava/io/handle/DataHandle.java b/src/main/java/org/scijava/io/handle/DataHandle.java
index 418613265..b3aeeb985 100644
--- a/src/main/java/org/scijava/io/handle/DataHandle.java
+++ b/src/main/java/org/scijava/io/handle/DataHandle.java
@@ -39,6 +39,7 @@
import java.io.EOFException;
import java.io.IOException;
import java.io.InputStreamReader;
+import java.util.Date;
import org.scijava.io.location.Location;
import org.scijava.plugin.WrapperPlugin;
@@ -79,6 +80,40 @@ public enum ByteOrder {
*/
boolean exists() throws IOException;
+ /**
+ * Gets the last modified timestamp of the location.
+ *
+ * @return The last modified timestamp, or null if the handle does not support
+ * this feature or if the location does not exist.
+ * @throws IOException If something goes wrong with the last modified check.
+ */
+ default Date lastModified() throws IOException {
+ return null;
+ }
+
+ /**
+ * Gets a "fast" checksum which succinctly represents the contents of the data
+ * stream. The term "fast" here refers to the idea that the checksum be
+ * retrievable quickly, without actually performing a thorough computation
+ * across the entire data stream. Typically, such a thing is feasible because
+ * the checksum was calculated a priori; e.g., artifacts deployed to remote
+ * Maven repositories are always deployed with corresponding checksum files.
+ *
+ * No guarantee is made about the exact nature of the checksum (e.g., SHA-1 or
+ * MD5), only that the value is deterministic for this particular location
+ * with its current contents. In other words: if a checksum differs from a
+ * previous inquiry, you can be sure the contents have changed; conversely, if
+ * the checksum is still the same, the contents are highly likely to be
+ * unchanged.
+ *
+ *
+ * @return The checksum, or null if the handle does not support this feature.
+ * @throws IOException If something goes wrong when accessing the checksum.
+ */
+ default String checksum() throws IOException {
+ return null;
+ }
+
/** Returns the current offset in the stream. */
long offset() throws IOException;
diff --git a/src/main/java/org/scijava/io/handle/FileHandle.java b/src/main/java/org/scijava/io/handle/FileHandle.java
index 1c3348ce9..02c16492e 100644
--- a/src/main/java/org/scijava/io/handle/FileHandle.java
+++ b/src/main/java/org/scijava/io/handle/FileHandle.java
@@ -34,6 +34,7 @@
import java.io.IOException;
import java.io.RandomAccessFile;
+import java.util.Date;
import org.scijava.io.location.FileLocation;
import org.scijava.plugin.Plugin;
@@ -89,6 +90,12 @@ public boolean exists() {
return get().getFile().exists();
}
+ @Override
+ public Date lastModified() {
+ final long lastModified = get().getFile().lastModified();
+ return lastModified == 0 ? null : new Date(lastModified);
+ }
+
@Override
public long offset() throws IOException {
return raf().getFilePointer();
From 63cf9dc2b62a728bbe31a6feec077acd6e439202 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Thu, 13 Jul 2017 16:34:06 -0500
Subject: [PATCH 107/754] DataHandle: return length -1 when non-existent
This avoids a problem where asking a FileHandle for its
length causes a previously non-existent file to be created.
---
src/main/java/org/scijava/io/handle/DataHandle.java | 6 +++++-
src/main/java/org/scijava/io/handle/FileHandle.java | 2 +-
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/main/java/org/scijava/io/handle/DataHandle.java b/src/main/java/org/scijava/io/handle/DataHandle.java
index b3aeeb985..db48caeee 100644
--- a/src/main/java/org/scijava/io/handle/DataHandle.java
+++ b/src/main/java/org/scijava/io/handle/DataHandle.java
@@ -123,7 +123,11 @@ default String checksum() throws IOException {
*/
void seek(long pos) throws IOException;
- /** Returns the length of the data in bytes. */
+ /**
+ * Returns the length of the data in bytes.
+ *
+ * @return The length, or -1 if the length is unknown.
+ */
long length() throws IOException;
/**
diff --git a/src/main/java/org/scijava/io/handle/FileHandle.java b/src/main/java/org/scijava/io/handle/FileHandle.java
index 02c16492e..d4a214121 100644
--- a/src/main/java/org/scijava/io/handle/FileHandle.java
+++ b/src/main/java/org/scijava/io/handle/FileHandle.java
@@ -103,7 +103,7 @@ public long offset() throws IOException {
@Override
public long length() throws IOException {
- return raf().length();
+ return exists() ? raf().length() : -1;
}
@Override
From 71ef6d93e5d57b6f4ae1970ddb9b560269566daa Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Thu, 6 Jul 2017 15:42:53 -0500
Subject: [PATCH 108/754] Add a DownloadService to manage remote downloads
---
.../download/DefaultDownloadService.java | 127 ++++++++++++++++++
.../java/org/scijava/download/Download.java | 48 +++++++
.../org/scijava/download/DownloadService.java | 53 ++++++++
.../java/org/scijava/ContextCreationTest.java | 1 +
.../scijava/download/DownloadServiceTest.java | 107 +++++++++++++++
5 files changed, 336 insertions(+)
create mode 100644 src/main/java/org/scijava/download/DefaultDownloadService.java
create mode 100644 src/main/java/org/scijava/download/Download.java
create mode 100644 src/main/java/org/scijava/download/DownloadService.java
create mode 100644 src/test/java/org/scijava/download/DownloadServiceTest.java
diff --git a/src/main/java/org/scijava/download/DefaultDownloadService.java b/src/main/java/org/scijava/download/DefaultDownloadService.java
new file mode 100644
index 000000000..3daf83111
--- /dev/null
+++ b/src/main/java/org/scijava/download/DefaultDownloadService.java
@@ -0,0 +1,127 @@
+/*-
+ * #%L
+ * SciJava Common shared library for SciJava software.
+ * %%
+ * Copyright (C) 2009 - 2017 Board of Regents of the University 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.download;
+
+import java.io.IOException;
+
+import org.scijava.io.handle.DataHandle;
+import org.scijava.io.handle.DataHandleService;
+import org.scijava.io.location.Location;
+import org.scijava.plugin.Parameter;
+import org.scijava.plugin.Plugin;
+import org.scijava.service.AbstractService;
+import org.scijava.service.Service;
+import org.scijava.task.Task;
+import org.scijava.task.TaskService;
+
+/**
+ * Default implementation of {@link DownloadService}.
+ *
+ * @author Curtis Rueden
+ */
+@Plugin(type = Service.class)
+public class DefaultDownloadService extends AbstractService implements
+ DownloadService
+{
+
+ @Parameter
+ private DataHandleService dataHandleService;
+
+ @Parameter
+ private TaskService taskService;
+
+ @Override
+ public Download download(final Location source, final Location destination) {
+ final Task task = taskService.createTask("Download");
+ final Download download = new Download() {
+
+ @Override
+ public Location source() {
+ return source;
+ }
+
+ @Override
+ public Location destination() {
+ return destination;
+ }
+
+ @Override
+ public Task task() {
+ return task;
+ }
+ };
+ task.run(() -> {
+ try (final DataHandle in = dataHandleService.create(source);
+ final DataHandle out = dataHandleService.create(
+ destination))
+ {
+ task.setStatusMessage("Downloading " + source.getURI());
+ copy(task, in, out);
+ }
+ catch (final IOException exc) {
+ // TODO: Improve error handling:
+ // 1. Consider a better exception handling design here.
+ // 2. Retry at least a few times if something goes wrong.
+ throw new RuntimeException(exc);
+ }
+ });
+ return download;
+ }
+
+ // -- Helper methods --
+
+ private void copy(final Task task, final DataHandle in,
+ final DataHandle out) throws IOException
+ {
+ long length;
+ try {
+ length = in.length();
+ }
+ catch (final IOException exc) {
+ // Assume unknown length.
+ length = 0;
+ }
+ if (length > 0) task.setProgressMaximum(length);
+
+ final int chunkSize = 64 * 1024; // TODO: Make size configurable.
+ final byte[] buf = new byte[chunkSize];
+ while (true) {
+ if (task.isCanceled()) return;
+ final int r = in.read(buf);
+ if (r <= 0) break; // EOF
+ if (task.isCanceled()) return;
+ out.write(buf, 0, r);
+ if (length > 0) task.setProgressValue(task.getProgressValue() + r);
+ }
+ }
+}
diff --git a/src/main/java/org/scijava/download/Download.java b/src/main/java/org/scijava/download/Download.java
new file mode 100644
index 000000000..ef2e0b0e1
--- /dev/null
+++ b/src/main/java/org/scijava/download/Download.java
@@ -0,0 +1,48 @@
+/*-
+ * #%L
+ * SciJava Common shared library for SciJava software.
+ * %%
+ * Copyright (C) 2009 - 2017 Board of Regents of the University 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.download;
+
+import org.scijava.io.location.Location;
+import org.scijava.task.Task;
+
+/**
+ * Object representing an asynchronous download task.
+ *
+ * @author Curtis Rueden
+ * @see Task
+ */
+public interface Download {
+
+ Location source();
+ Location destination();
+ Task task();
+}
diff --git a/src/main/java/org/scijava/download/DownloadService.java b/src/main/java/org/scijava/download/DownloadService.java
new file mode 100644
index 000000000..c508bcb55
--- /dev/null
+++ b/src/main/java/org/scijava/download/DownloadService.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, 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.download;
+
+import org.scijava.io.location.Location;
+import org.scijava.service.SciJavaService;
+
+/**
+ * Service for managing retrieval of remote resources.
+ *
+ * @author Curtis Rueden
+ */
+public interface DownloadService extends SciJavaService {
+
+ /**
+ * Downloads data from the given source, storing it into the given
+ * destination.
+ *
+ * @param source The location of the needed data.
+ * @param destination The location where the needed data should be stored.
+ */
+ Download download(Location source, Location destination);
+}
diff --git a/src/test/java/org/scijava/ContextCreationTest.java b/src/test/java/org/scijava/ContextCreationTest.java
index 5e6c0da45..79b80affc 100644
--- a/src/test/java/org/scijava/ContextCreationTest.java
+++ b/src/test/java/org/scijava/ContextCreationTest.java
@@ -94,6 +94,7 @@ public void testFull() {
org.scijava.console.DefaultConsoleService.class,
org.scijava.convert.DefaultConvertService.class,
org.scijava.display.DefaultDisplayService.class,
+ org.scijava.download.DefaultDownloadService.class,
org.scijava.event.DefaultEventHistory.class,
org.scijava.input.DefaultInputService.class,
org.scijava.io.DefaultIOService.class,
diff --git a/src/test/java/org/scijava/download/DownloadServiceTest.java b/src/test/java/org/scijava/download/DownloadServiceTest.java
new file mode 100644
index 000000000..c3ee5d24b
--- /dev/null
+++ b/src/test/java/org/scijava/download/DownloadServiceTest.java
@@ -0,0 +1,107 @@
+/*-
+ * #%L
+ * SciJava Common shared library for SciJava software.
+ * %%
+ * Copyright (C) 2009 - 2017 Board of Regents of the University 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.download;
+
+import static org.junit.Assert.assertArrayEquals;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.concurrent.ExecutionException;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.scijava.Context;
+import org.scijava.io.location.FileLocation;
+import org.scijava.io.location.Location;
+import org.scijava.util.FileUtils;
+import org.scijava.util.MersenneTwisterFast;
+
+/**
+ * Tests {@link DownloadService}.
+ *
+ * @author Curtis Rueden
+ */
+public class DownloadServiceTest {
+
+ private DownloadService downloadService;
+
+ @Before
+ public void setUp() {
+ final Context ctx = new Context(DownloadService.class);
+ downloadService = ctx.service(DownloadService.class);
+ }
+
+ @After
+ public void tearDown() {
+ downloadService.context().dispose();
+ }
+
+ @Test
+ public void testDownload() throws IOException, InterruptedException,
+ ExecutionException
+ {
+ final byte[] data = randomBytes(0xbabebabe);
+
+ final String prefix = getClass().getName();
+ final File inFile = File.createTempFile(prefix, "testDownloadIn");
+ final File outFile = File.createTempFile(prefix, "testDownloadOut");
+
+ try {
+ FileUtils.writeFile(inFile, data);
+
+ final Location src = new FileLocation(inFile);
+ final Location dest = new FileLocation(outFile);
+
+ final Download download = downloadService.download(src, dest);
+ download.task().waitFor();
+
+ final byte[] result = FileUtils.readFile(outFile);
+ assertArrayEquals(data, result);
+ }
+ finally {
+ inFile.delete();
+ outFile.delete();
+ }
+ }
+
+ // -- Helper methods --
+
+ private byte[] randomBytes(final long seed) {
+ final MersenneTwisterFast r = new MersenneTwisterFast(seed);
+ final byte[] data = new byte[2938740];
+ for (int i = 0; i < data.length; i++) {
+ data[i] = r.nextByte();
+ }
+ return data;
+ }
+}
From 08bbe7229198f9d6339137d995325c751d403584 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Wed, 12 Jul 2017 19:32:16 -0500
Subject: [PATCH 109/754] DownloadService: add the ability to cache the data
---
.../download/DefaultDownloadService.java | 131 ++++++++++++---
.../scijava/download/DiskLocationCache.java | 126 ++++++++++++++
.../org/scijava/download/DownloadService.java | 12 ++
.../org/scijava/download/LocationCache.java | 79 +++++++++
.../scijava/download/MultiWriteHandle.java | 158 ++++++++++++++++++
.../scijava/download/DownloadServiceTest.java | 73 ++++++++
6 files changed, 560 insertions(+), 19 deletions(-)
create mode 100644 src/main/java/org/scijava/download/DiskLocationCache.java
create mode 100644 src/main/java/org/scijava/download/LocationCache.java
create mode 100644 src/main/java/org/scijava/download/MultiWriteHandle.java
diff --git a/src/main/java/org/scijava/download/DefaultDownloadService.java b/src/main/java/org/scijava/download/DefaultDownloadService.java
index 3daf83111..85b697eab 100644
--- a/src/main/java/org/scijava/download/DefaultDownloadService.java
+++ b/src/main/java/org/scijava/download/DefaultDownloadService.java
@@ -33,6 +33,7 @@
package org.scijava.download;
import java.io.IOException;
+import java.util.Date;
import org.scijava.io.handle.DataHandle;
import org.scijava.io.handle.DataHandleService;
@@ -63,24 +64,7 @@ public class DefaultDownloadService extends AbstractService implements
@Override
public Download download(final Location source, final Location destination) {
final Task task = taskService.createTask("Download");
- final Download download = new Download() {
-
- @Override
- public Location source() {
- return source;
- }
-
- @Override
- public Location destination() {
- return destination;
- }
-
- @Override
- public Task task() {
- return task;
- }
- };
- task.run(() -> {
+ return new DefaultDownload(source, destination, task, () -> {
try (final DataHandle in = dataHandleService.create(source);
final DataHandle out = dataHandleService.create(
destination))
@@ -95,7 +79,45 @@ public Task task() {
throw new RuntimeException(exc);
}
});
- return download;
+ }
+
+ @Override
+ public Download download(final Location source, final Location destination,
+ final LocationCache cache)
+ {
+ if (cache == null || !cache.canCache(source)) {
+ // Caching this location is not supported.
+ return download(source, destination);
+ }
+
+ final Task task = taskService.createTask("Download");
+ return new DefaultDownload(source, destination, task, () -> {
+ final Location cached = cache.cachedLocation(source);
+ try (
+ final DataHandle sourceHandle = dataHandleService.create(source);
+ final DataHandle cachedHandle = dataHandleService.create(cached);
+ final DataHandle destHandle = dataHandleService.create(destination)
+ )
+ {
+ if (isCachedHandleValid(source, cache, sourceHandle, cachedHandle)) {
+ // The data is cached; download from the cached source instead.
+ task.setStatusMessage("Retrieving " + source.getURI());
+ copy(task, cachedHandle, destHandle);
+ }
+ else {
+ // Data is not yet cached; write to the destination _and_ the cache.
+ task.setStatusMessage("Downloading + caching " + source.getURI());
+ copy(task, sourceHandle, //
+ new MultiWriteHandle(cachedHandle, destHandle));
+ }
+ }
+ catch (final IOException exc) {
+ // TODO: Improve error handling:
+ // 1. Consider a better exception handling design here.
+ // 2. Retry at least a few times if something goes wrong.
+ throw new RuntimeException(exc);
+ }
+ });
}
// -- Helper methods --
@@ -124,4 +146,75 @@ private void copy(final Task task, final DataHandle in,
if (length > 0) task.setProgressValue(task.getProgressValue() + r);
}
}
+
+ private boolean isCachedHandleValid(final Location source,
+ final LocationCache cache, final DataHandle sourceHandle,
+ final DataHandle cachedHandle) throws IOException
+ {
+ if (!cachedHandle.exists()) return false; // No cached data is present.
+
+ // Compare data lengths.
+ final long sourceLen = sourceHandle.length();
+ final long cachedLen = cachedHandle.length();
+ if (sourceLen >= 0 && cachedLen >= 0 && sourceLen != cachedLen) {
+ // Original and cached sources report different lengths; cache is invalid.
+ return false;
+ }
+
+ // Compare last modified timestamps.
+ final Date sourceDate = sourceHandle.lastModified();
+ final Date cachedDate = cachedHandle.lastModified();
+ if (sourceDate != null && cachedDate != null && //
+ sourceDate.after(cachedDate))
+ {
+ // Source was changed after cache was written; cache is invalid.
+ return false;
+ }
+
+ // Compare checksums.
+ final String sourceChecksum = sourceHandle.checksum();
+ final String cachedChecksum = cache.loadChecksum(source);
+ if (sourceChecksum != null && cachedChecksum != null && //
+ !sourceChecksum.equals(cachedChecksum))
+ {
+ // Checksums do not match; cache is invalid.
+ return false;
+ }
+
+ // Everything matched; we're all good.
+ return true;
+ }
+
+ // -- Helper classes --
+
+ private class DefaultDownload implements Download {
+
+ private Location source;
+ private Location destination;
+ private Task task;
+
+ private DefaultDownload(final Location source, final Location destination,
+ final Task task, final Runnable r)
+ {
+ this.source = source;
+ this.destination = destination;
+ this.task = task;
+ task.run(r);
+ }
+
+ @Override
+ public Location source() {
+ return source;
+ }
+
+ @Override
+ public Location destination() {
+ return destination;
+ }
+
+ @Override
+ public Task task() {
+ return task;
+ }
+ }
}
diff --git a/src/main/java/org/scijava/download/DiskLocationCache.java b/src/main/java/org/scijava/download/DiskLocationCache.java
new file mode 100644
index 000000000..5ee047fa8
--- /dev/null
+++ b/src/main/java/org/scijava/download/DiskLocationCache.java
@@ -0,0 +1,126 @@
+/*-
+ * #%L
+ * SciJava Common shared library for SciJava software.
+ * %%
+ * Copyright (C) 2009 - 2017 Board of Regents of the University 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.download;
+
+import java.io.File;
+import java.io.IOException;
+
+import org.scijava.io.location.FileLocation;
+import org.scijava.io.location.Location;
+import org.scijava.util.DigestUtils;
+import org.scijava.util.FileUtils;
+
+/**
+ * A file-based implementation of {@link LocationCache}.
+ *
+ * @author Curtis Rueden
+ */
+public class DiskLocationCache implements LocationCache {
+
+ private File baseDir = new File(System.getProperty("user.home") +
+ File.separator + ".scijava" + File.separator + "cache" + File.separator);
+
+ private boolean cacheFileLocations;
+
+ // -- DiskLocationCache methods --
+
+ public File getBaseDirectory() {
+ return baseDir;
+ }
+
+ public void setBaseDirectory(final File baseDir) {
+ if (!baseDir.isDirectory()) {
+ throw new IllegalArgumentException("Not a directory: " + baseDir);
+ }
+ this.baseDir = baseDir;
+ }
+
+ public boolean isFileLocationCachingEnabled() {
+ return cacheFileLocations;
+ }
+
+ public void setFileLocationCachingEnabled(final boolean enabled) {
+ // NB: It is possible the input file is stored on a volume which is much
+ // slower than the local disk cache, so we make this setting configurable.
+ cacheFileLocations = enabled;
+ }
+
+ // -- LocationCache methods --
+
+ @Override
+ public boolean canCache(final Location source) {
+ if (source instanceof FileLocation && !isFileLocationCachingEnabled()) {
+ // The cache is not configured to cache files to other files.
+ return false;
+ }
+ return source.getURI() != null;
+ }
+
+ @Override
+ public Location cachedLocation(final Location source) {
+ if (!canCache(source)) {
+ throw new IllegalArgumentException("Uncacheable source: " + source);
+ }
+ return new FileLocation(cachedData(source));
+ }
+
+ @Override
+ public String loadChecksum(final Location source) throws IOException {
+ final File cachedChecksum = cachedChecksum(source);
+ if (!cachedChecksum.exists()) return null;
+ return DigestUtils.string(FileUtils.readFile(cachedChecksum));
+ }
+
+ @Override
+ public void saveChecksum(final Location source, final String checksum)
+ throws IOException
+ {
+ final File cachedChecksum = cachedChecksum(source);
+ FileUtils.writeFile(cachedChecksum, DigestUtils.bytes(checksum));
+ }
+
+ // -- Helper methods --
+
+ private File cachedData(final Location source) {
+ return cachedFile(source, ".data");
+ }
+
+ private File cachedChecksum(final Location source) {
+ return cachedFile(source, ".checksum");
+ }
+
+ private File cachedFile(final Location source, final String suffix) {
+ final String hexCode = Integer.toHexString(source.hashCode());
+ return new File(getBaseDirectory(), hexCode + suffix);
+ }
+}
diff --git a/src/main/java/org/scijava/download/DownloadService.java b/src/main/java/org/scijava/download/DownloadService.java
index c508bcb55..de74162f0 100644
--- a/src/main/java/org/scijava/download/DownloadService.java
+++ b/src/main/java/org/scijava/download/DownloadService.java
@@ -50,4 +50,16 @@ public interface DownloadService extends SciJavaService {
* @param destination The location where the needed data should be stored.
*/
Download download(Location source, Location destination);
+
+ /**
+ * Downloads data from the given source, storing it into the given
+ * destination.
+ *
+ * @param source The location of the needed data.
+ * @param destination The location where the needed data should be stored.
+ * @param cache The cache from which already-downloaded data should be pulled
+ * preferentially, and to which newly-downloaded data should be
+ * stored for next time.
+ */
+ Download download(Location source, Location destination, LocationCache cache);
}
diff --git a/src/main/java/org/scijava/download/LocationCache.java b/src/main/java/org/scijava/download/LocationCache.java
new file mode 100644
index 000000000..4f6b72471
--- /dev/null
+++ b/src/main/java/org/scijava/download/LocationCache.java
@@ -0,0 +1,79 @@
+/*-
+ * #%L
+ * SciJava Common shared library for SciJava software.
+ * %%
+ * Copyright (C) 2009 - 2017 Board of Regents of the University 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.download;
+
+import java.io.IOException;
+
+import org.scijava.io.handle.DataHandle;
+import org.scijava.io.location.Location;
+
+/**
+ * An object which knows how to convert a slow (typically remote)
+ * {@link Location} to a faster (typically local) one.
+ *
+ * @author Curtis Rueden
+ */
+public interface LocationCache {
+
+ /** Gets whether the given location can be cached by this cache. */
+ boolean canCache(Location source);
+
+ /**
+ * Gets the cache location of a given data source.
+ *
+ * @return A {@link Location} where the source data is, or would be, cached.
+ * @throws IllegalArgumentException if the given source cannot be cached (see
+ * {@link #canCache}).
+ */
+ Location cachedLocation(Location source);
+
+ /**
+ * Loads the checksum value which corresponds to the cached location.
+ *
+ * @param source The source location for which the cached checksum is desired.
+ * @return The loaded checksum, or null if one is not available.
+ * @see DataHandle#checksum()
+ * @throws IOException If something goes wrong accessing the checksum.
+ */
+ String loadChecksum(Location source) throws IOException;
+
+ /**
+ * Associates the given checksum value with the specified source location.
+ *
+ * @param source The source location for which the checksum should be cached.
+ * @param checksum The checksum value to cache.
+ * @see DataHandle#checksum()
+ * @throws IOException If something goes wrong caching the checksum.
+ */
+ void saveChecksum(Location source, String checksum) throws IOException;
+}
diff --git a/src/main/java/org/scijava/download/MultiWriteHandle.java b/src/main/java/org/scijava/download/MultiWriteHandle.java
new file mode 100644
index 000000000..0f810c9c6
--- /dev/null
+++ b/src/main/java/org/scijava/download/MultiWriteHandle.java
@@ -0,0 +1,158 @@
+/*-
+ * #%L
+ * SciJava Common shared library for SciJava software.
+ * %%
+ * Copyright (C) 2009 - 2017 Board of Regents of the University 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.download;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
+
+import org.scijava.io.handle.AbstractDataHandle;
+import org.scijava.io.handle.DataHandle;
+import org.scijava.io.location.Location;
+
+/**
+ * {@link DataHandle} plugin for writing to multiple {@link DataHandle}s.
+ *
+ * @author Curtis Rueden
+ */
+public class MultiWriteHandle extends AbstractDataHandle {
+
+ private final List> handles;
+
+ public MultiWriteHandle(final DataHandle>... handles) {
+ this.handles = new ArrayList<>(Arrays.asList(handles));
+ }
+
+ // -- DataHandle methods --
+
+ @Override
+ public boolean isReadable() {
+ return false;
+ }
+
+ @Override
+ public boolean isWritable() {
+ boolean writable = true;
+ // NB: Somewhat arbitrarily, we are writable iff all our constituents are.
+ for (final DataHandle> h : handles)
+ writable &= h.isWritable();
+ return writable;
+ }
+
+ @Override
+ public boolean exists() throws IOException {
+ boolean exists = true;
+ // NB: Somewhat arbitrarily, we exist iff any of our constituents exist.
+ for (final DataHandle> h : handles)
+ exists |= h.isWritable();
+ return exists;
+ }
+
+ @Override
+ public Date lastModified() throws IOException {
+ for (final DataHandle> h : handles) {
+ final Date lastModified = h.lastModified();
+ if (lastModified != null) return lastModified;
+ }
+ return null;
+ }
+
+ @Override
+ public String checksum() throws IOException {
+ for (final DataHandle> h : handles) {
+ final String checksum = h.checksum();
+ if (checksum != null) return checksum;
+ }
+ return null;
+ }
+
+ @Override
+ public long offset() throws IOException {
+ return handles.get(0).offset();
+ }
+
+ @Override
+ public void seek(long pos) throws IOException {
+ // TODO: parallelStream().forEach() for performance.
+ for (final DataHandle> h : handles)
+ h.seek(pos);
+ }
+
+ @Override
+ public long length() throws IOException {
+ return handles.get(0).length();
+ }
+
+ @Override
+ public void setLength(long length) throws IOException {
+ for (final DataHandle> h : handles)
+ h.setLength(length);
+ }
+
+ @Override
+ public int read(byte[] b, int off, int len) throws IOException {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public Class getType() {
+ return null;
+ }
+
+ @Override
+ public byte readByte() throws IOException {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void write(final int b) throws IOException {
+ // TODO: parallelStream().forEach() for performance.
+ for (final DataHandle> h : handles)
+ h.write(b);
+ }
+
+ @Override
+ public void write(byte[] b, int off, int len) throws IOException {
+ // TODO: parallelStream().forEach() for performance.
+ for (final DataHandle> h : handles)
+ h.write(b, off, len);
+ }
+
+ @Override
+ public void close() throws IOException {
+ // TODO: parallelStream().forEach() for performance.
+ for (final DataHandle> h : handles)
+ h.close();
+ }
+}
diff --git a/src/test/java/org/scijava/download/DownloadServiceTest.java b/src/test/java/org/scijava/download/DownloadServiceTest.java
index c3ee5d24b..d7ca11eb8 100644
--- a/src/test/java/org/scijava/download/DownloadServiceTest.java
+++ b/src/test/java/org/scijava/download/DownloadServiceTest.java
@@ -32,6 +32,10 @@
package org.scijava.download;
import static org.junit.Assert.assertArrayEquals;
+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.File;
import java.io.IOException;
@@ -41,8 +45,11 @@
import org.junit.Before;
import org.junit.Test;
import org.scijava.Context;
+import org.scijava.io.ByteBank;
+import org.scijava.io.location.BytesLocation;
import org.scijava.io.location.FileLocation;
import org.scijava.io.location.Location;
+import org.scijava.test.TestUtils;
import org.scijava.util.FileUtils;
import org.scijava.util.MersenneTwisterFast;
@@ -94,6 +101,66 @@ public void testDownload() throws IOException, InterruptedException,
}
}
+ @Test
+ public void testDownloadCache() throws IOException, InterruptedException,
+ ExecutionException
+ {
+ // Create some data.
+ final byte[] data = randomBytes(0xcafecafe);
+
+ // Create source location.
+ final String prefix = getClass().getName();
+ final File inFile = File.createTempFile(prefix, "testDownloadCacheIn");
+ final Location src = new FileLocation(inFile);
+
+ // Create destination location.
+ final BytesLocation dest = new BytesLocation(data.length);
+
+ // Create a disk cache.
+ final File cacheDir = TestUtils.createTemporaryDirectory(
+ "testDownloadCacheBase", getClass());
+ final DiskLocationCache cache = new DiskLocationCache();
+ cache.setBaseDirectory(cacheDir);
+ cache.setFileLocationCachingEnabled(true);
+
+ try {
+ // Write the data to the source location.
+ FileUtils.writeFile(inFile, data);
+
+ // Sanity check: the cache should be empty.
+ assertNull(cache.loadChecksum(src));
+ final Location cachedSource = cache.cachedLocation(src);
+ assertTrue(cachedSource instanceof FileLocation);
+ final FileLocation cachedFile = (FileLocation) cachedSource;
+ assertFalse(cachedFile.getFile().exists());
+
+ // Download + cache the source.
+ final Download download = downloadService.download(src, dest, cache);
+ download.task().waitFor();
+
+ // Check that the data was read.
+ assertBytesEqual(data, dest.getByteBank());
+
+ // Check that the data was cached.
+ assertEquals(cachedSource, cache.cachedLocation(src));
+ assertTrue(cachedFile.getFile().exists());
+ final byte[] cachedData = FileUtils.readFile(cachedFile.getFile());
+ assertArrayEquals(data, cachedData);
+
+ // Check that the cache works, even after the source file is deleted.
+ inFile.delete();
+ assertFalse(inFile.exists());
+ final BytesLocation dest2 = new BytesLocation(data.length);
+ final Download download2 = downloadService.download(src, dest2, cache);
+ download2.task().waitFor();
+ assertBytesEqual(data, dest2.getByteBank());
+ }
+ finally {
+ if (inFile.exists()) inFile.delete();
+ FileUtils.deleteRecursively(cacheDir);
+ }
+ }
+
// -- Helper methods --
private byte[] randomBytes(final long seed) {
@@ -104,4 +171,10 @@ private byte[] randomBytes(final long seed) {
}
return data;
}
+
+ private void assertBytesEqual(byte[] data, ByteBank byteBank) {
+ for (int i=0; i
Date: Wed, 19 Jul 2017 16:26:24 -0500
Subject: [PATCH 110/754] FileUtils: use try-with-resources
---
src/main/java/org/scijava/util/FileUtils.java | 50 +++++++++----------
1 file changed, 24 insertions(+), 26 deletions(-)
diff --git a/src/main/java/org/scijava/util/FileUtils.java b/src/main/java/org/scijava/util/FileUtils.java
index 0daccf5e7..f2f150bd4 100644
--- a/src/main/java/org/scijava/util/FileUtils.java
+++ b/src/main/java/org/scijava/util/FileUtils.java
@@ -152,10 +152,12 @@ public static byte[] readFile(final File file) throws IOException {
if (length > Integer.MAX_VALUE) {
throw new IllegalArgumentException("File too large");
}
- final DataInputStream dis = new DataInputStream(new FileInputStream(file));
final byte[] bytes = new byte[(int) length];
- dis.readFully(bytes);
- dis.close();
+ try (final DataInputStream dis = new DataInputStream(new FileInputStream(
+ file)))
+ {
+ dis.readFully(bytes);
+ }
return bytes;
}
@@ -168,13 +170,9 @@ public static byte[] readFile(final File file) throws IOException {
public static void writeFile(final File file, final byte[] bytes)
throws IOException
{
- final FileOutputStream out = new FileOutputStream(file);
- try {
+ try (final FileOutputStream out = new FileOutputStream(file)) {
out.write(bytes);
}
- finally {
- out.close();
- }
}
public static String stripFilenameVersion(final String filename) {
@@ -577,29 +575,29 @@ else if (protocol.equals("jar")) {
final JarURLConnection connection =
(JarURLConnection) new URL(baseURL).openConnection();
- final JarFile jar = connection.getJarFile();
- for (final JarEntry entry : new IteratorPlus<>(jar.entries())) {
- final String urlEncoded =
- new URI(null, null, entry.getName(), null).toString();
- if (urlEncoded.length() > prefix.length() && // omit directory itself
- urlEncoded.startsWith(prefix))
- {
- if (filesOnly && urlEncoded.endsWith("/")) {
- // URL is directory; exclude it
- continue;
- }
- if (!recurse) {
- // check whether this URL is a *direct* child of the directory
- final int slash = urlEncoded.indexOf("/", prefix.length());
- if (slash >= 0 && slash != urlEncoded.length() - 1) {
- // not a direct child
+ try (final JarFile jar = connection.getJarFile()) {
+ for (final JarEntry entry : new IteratorPlus<>(jar.entries())) {
+ final String urlEncoded =
+ new URI(null, null, entry.getName(), null).toString();
+ if (urlEncoded.length() > prefix.length() && // omit directory itself
+ urlEncoded.startsWith(prefix))
+ {
+ if (filesOnly && urlEncoded.endsWith("/")) {
+ // URL is directory; exclude it
continue;
}
+ if (!recurse) {
+ // check whether this URL is a *direct* child of the directory
+ final int slash = urlEncoded.indexOf("/", prefix.length());
+ if (slash >= 0 && slash != urlEncoded.length() - 1) {
+ // not a direct child
+ continue;
+ }
+ }
+ result.add(new URL(baseURL + urlEncoded));
}
- result.add(new URL(baseURL + urlEncoded));
}
}
- jar.close();
}
catch (final IOException e) {
e.printStackTrace();
From d9e7fd04db942455a039bce253ad787c2d599aef Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Thu, 20 Jul 2017 14:10:19 -0500
Subject: [PATCH 111/754] Improve the Priority constants
This addresses two issues:
1. They were redundantly named. Now e.g. Priority.LOW reads more nicely.
2. The FIRST and LAST constants were set to +Infinity and -Infinity,
which meant it was mathematically to inject anything before or after,
e.g. for testing or workaround purposes. The new FIRST and LAST
constants are set to +1e300 and -1e300 respectively, so that it is
still possible to bypass them in the rare cases where that is needed.
---
.../java/org/scijava/AbstractUIDetails.java | 2 +-
src/main/java/org/scijava/Priority.java | 66 ++++++++++++++++---
src/main/java/org/scijava/app/SciJavaApp.java | 2 +-
.../scijava/cache/DefaultCacheService.java | 2 +-
.../org/scijava/convert/ArrayConverters.java | 32 ++++-----
.../org/scijava/convert/CastingConverter.java | 2 +-
.../org/scijava/convert/NullConverter.java | 4 +-
.../display/ActiveDisplayPreprocessor.java | 2 +-
.../org/scijava/display/DefaultDisplay.java | 2 +-
.../scijava/display/DefaultTextDisplay.java | 2 +-
.../scijava/display/DisplayPostprocessor.java | 2 +-
.../scijava/event/DefaultEventService.java | 2 +-
.../org/scijava/log/StderrLogService.java | 2 +-
.../org/scijava/main/run/MainCodeRunner.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/SaveInputsPreprocessor.java | 4 +-
.../module/process/ServicePreprocessor.java | 2 +-
.../module/process/ValidityPreprocessor.java | 2 +-
.../platform/DefaultAppEventService.java | 2 +-
.../org/scijava/platform/DefaultPlatform.java | 2 +-
.../scijava/plugin/AbstractRichPlugin.java | 2 +-
src/main/java/org/scijava/plugin/Plugin.java | 16 ++---
.../scijava/script/DefaultScriptService.java | 2 +-
.../org/scijava/text/io/TextIOPlugin.java | 2 +-
.../java/org/scijava/ui/UIPreprocessor.java | 2 +-
.../ui/dnd/FileDragAndDropHandler.java | 2 +-
.../org/scijava/ui/headless/HeadlessUI.java | 2 +-
.../org/scijava/widget/InputHarvester.java | 2 +-
.../scijava/command/CommandModuleTest.java | 2 +-
.../scijava/console/ConsoleServiceTest.java | 2 +-
.../scijava/convert/ConvertServiceTest.java | 2 +-
.../org/scijava/plugin/PluginInfoTest.java | 6 +-
36 files changed, 118 insertions(+), 70 deletions(-)
diff --git a/src/main/java/org/scijava/AbstractUIDetails.java b/src/main/java/org/scijava/AbstractUIDetails.java
index 3cb0f0fca..6627efa85 100644
--- a/src/main/java/org/scijava/AbstractUIDetails.java
+++ b/src/main/java/org/scijava/AbstractUIDetails.java
@@ -51,7 +51,7 @@ public abstract class AbstractUIDetails extends AbstractBasicDetails implements
private String iconPath;
/** Sort priority of the object. */
- private double priority = Priority.NORMAL_PRIORITY;
+ private double priority = Priority.NORMAL;
/** Whether the object can be selected in the user interface. */
private boolean selectable;
diff --git a/src/main/java/org/scijava/Priority.java b/src/main/java/org/scijava/Priority.java
index 74a44cc20..628904e36 100644
--- a/src/main/java/org/scijava/Priority.java
+++ b/src/main/java/org/scijava/Priority.java
@@ -46,26 +46,45 @@ private Priority() {
// prevent instantiation of utility class
}
- /** Priority for items that must be sorted first. */
- public static final double FIRST_PRIORITY = Double.POSITIVE_INFINITY;
+ /**
+ * Priority for items that must be sorted first.
+ *
+ * Note that it is still possible to prioritize something earlier
+ * than this value (e.g., for testing purposes), although doing so strongly
+ * discouraged in production.
+ *
+ */
+ public static final double FIRST = +1e300;
+
+ /** Priority for items that very strongly prefer to be sorted early. */
+ public static final double EXTREMELY_HIGH = +1000000;
/** Priority for items that strongly prefer to be sorted early. */
- public static final double VERY_HIGH_PRIORITY = +10000;
+ public static final double VERY_HIGH = +10000;
/** Priority for items that prefer to be sorted earlier. */
- public static final double HIGH_PRIORITY = +100;
+ public static final double HIGH = +100;
/** Default priority for items. */
- public static final double NORMAL_PRIORITY = 0;
+ public static final double NORMAL = 0;
/** Priority for items that prefer to be sorted later. */
- public static final double LOW_PRIORITY = -100;
+ public static final double LOW = -100;
/** Priority for items that strongly prefer to be sorted late. */
- public static final double VERY_LOW_PRIORITY = -10000;
+ public static final double VERY_LOW = -10000;
- /** Priority for items that must be sorted last. */
- public static final double LAST_PRIORITY = Double.NEGATIVE_INFINITY;
+ /** Priority for items that very strongly prefer to be sorted late. */
+ public static final double EXTREMELY_LOW = -1000000;
+
+ /** Priority for items that must be sorted last.
+ *
+ * Note that it is still possible to prioritize something later
+ * than this value (e.g., for testing purposes), although doing so strongly
+ * discouraged in production.
+ *
+ */
+ public static final double LAST = -1e300;
/**
* Compares two {@link Prioritized} objects.
@@ -109,4 +128,33 @@ public static boolean inject(final Object o, final double priority) {
return true;
}
+ // -- Deprecated --
+
+ /** @deprecated Use {@link #FIRST} instead. */
+ @Deprecated
+ public static final double FIRST_PRIORITY = Double.POSITIVE_INFINITY;
+
+ /** @deprecated Use {@link #VERY_HIGH} instead. */
+ @Deprecated
+ public static final double VERY_HIGH_PRIORITY = +10000;
+
+ /** @deprecated Use {@link #HIGH} instead. */
+ @Deprecated
+ public static final double HIGH_PRIORITY = +100;
+
+ /** @deprecated Use {@link #NORMAL} instead. */
+ @Deprecated
+ public static final double NORMAL_PRIORITY = 0;
+
+ /** @deprecated Use {@link #LOW} instead. */
+ @Deprecated
+ public static final double LOW_PRIORITY = -100;
+
+ /** @deprecated Use {@link #VERY_LOW} instead. */
+ @Deprecated
+ public static final double VERY_LOW_PRIORITY = -10000;
+
+ /** @deprecated Use {@link #LAST} instead. */
+ @Deprecated
+ public static final double LAST_PRIORITY = Double.NEGATIVE_INFINITY;
}
diff --git a/src/main/java/org/scijava/app/SciJavaApp.java b/src/main/java/org/scijava/app/SciJavaApp.java
index 51da39f7a..12c049697 100644
--- a/src/main/java/org/scijava/app/SciJavaApp.java
+++ b/src/main/java/org/scijava/app/SciJavaApp.java
@@ -42,7 +42,7 @@
* @see AppService
*/
@Plugin(type = App.class, name = SciJavaApp.NAME,
- priority = Priority.LOW_PRIORITY)
+ priority = Priority.LOW)
public class SciJavaApp extends AbstractApp {
public static final String NAME = "SciJava";
diff --git a/src/main/java/org/scijava/cache/DefaultCacheService.java b/src/main/java/org/scijava/cache/DefaultCacheService.java
index c5f952499..4111a45a6 100644
--- a/src/main/java/org/scijava/cache/DefaultCacheService.java
+++ b/src/main/java/org/scijava/cache/DefaultCacheService.java
@@ -43,7 +43,7 @@
/**
* Trivial {@link CacheService} implementation. Wraps a {@link WeakHashMap}
*/
-@Plugin(type = Service.class, priority = Priority.VERY_LOW_PRIORITY)
+@Plugin(type = Service.class, priority = Priority.VERY_LOW)
public class DefaultCacheService extends AbstractService implements
CacheService
{
diff --git a/src/main/java/org/scijava/convert/ArrayConverters.java b/src/main/java/org/scijava/convert/ArrayConverters.java
index 803486705..70b0d927c 100644
--- a/src/main/java/org/scijava/convert/ArrayConverters.java
+++ b/src/main/java/org/scijava/convert/ArrayConverters.java
@@ -54,7 +54,7 @@ public class ArrayConverters {
// -- Integer array converters --
- @Plugin(type = Converter.class, priority = Priority.HIGH_PRIORITY)
+ @Plugin(type = Converter.class, priority = Priority.HIGH)
public static class IntArrayWrapper extends
PrimitiveArrayWrapper
{
@@ -70,7 +70,7 @@ public Class getInputType() {
}
}
- @Plugin(type = Converter.class, priority = Priority.HIGH_PRIORITY)
+ @Plugin(type = Converter.class, priority = Priority.HIGH)
public static class IntArrayUnwrapper extends
PrimitiveArrayUnwrapper
{
@@ -88,7 +88,7 @@ public Class getInputType() {
// -- Byte array converters --
- @Plugin(type = Converter.class, priority = Priority.HIGH_PRIORITY)
+ @Plugin(type = Converter.class, priority = Priority.HIGH)
public static class ByteArrayWrapper extends
PrimitiveArrayWrapper
{
@@ -104,7 +104,7 @@ public Class getInputType() {
}
}
- @Plugin(type = Converter.class, priority = Priority.HIGH_PRIORITY)
+ @Plugin(type = Converter.class, priority = Priority.HIGH)
public static class ByteArrayUnwrapper extends
PrimitiveArrayUnwrapper
{
@@ -122,7 +122,7 @@ public Class getInputType() {
// -- Bool array converters --
- @Plugin(type = Converter.class, priority = Priority.HIGH_PRIORITY)
+ @Plugin(type = Converter.class, priority = Priority.HIGH)
public static class BoolArrayWrapper extends
PrimitiveArrayWrapper
{
@@ -138,7 +138,7 @@ public Class getInputType() {
}
}
- @Plugin(type = Converter.class, priority = Priority.HIGH_PRIORITY)
+ @Plugin(type = Converter.class, priority = Priority.HIGH)
public static class BoolArrayUnwrapper extends
PrimitiveArrayUnwrapper
{
@@ -156,7 +156,7 @@ public Class getInputType() {
// -- Char array converters --
- @Plugin(type = Converter.class, priority = Priority.HIGH_PRIORITY)
+ @Plugin(type = Converter.class, priority = Priority.HIGH)
public static class CharArrayWrapper extends
PrimitiveArrayWrapper
{
@@ -172,7 +172,7 @@ public Class getInputType() {
}
}
- @Plugin(type = Converter.class, priority = Priority.HIGH_PRIORITY)
+ @Plugin(type = Converter.class, priority = Priority.HIGH)
public static class CharArrayUnwrapper extends
PrimitiveArrayUnwrapper
{
@@ -190,7 +190,7 @@ public Class getInputType() {
// -- Short array converters --
- @Plugin(type = Converter.class, priority = Priority.HIGH_PRIORITY)
+ @Plugin(type = Converter.class, priority = Priority.HIGH)
public static class ShortArrayWrapper extends
PrimitiveArrayWrapper
{
@@ -206,7 +206,7 @@ public Class getInputType() {
}
}
- @Plugin(type = Converter.class, priority = Priority.HIGH_PRIORITY)
+ @Plugin(type = Converter.class, priority = Priority.HIGH)
public static class ShortArrayUnwrapper extends
PrimitiveArrayUnwrapper
{
@@ -224,7 +224,7 @@ public Class getInputType() {
// -- Float array converters --
- @Plugin(type = Converter.class, priority = Priority.HIGH_PRIORITY)
+ @Plugin(type = Converter.class, priority = Priority.HIGH)
public static class FloatArrayWrapper extends
PrimitiveArrayWrapper
{
@@ -240,7 +240,7 @@ public Class getInputType() {
}
}
- @Plugin(type = Converter.class, priority = Priority.HIGH_PRIORITY)
+ @Plugin(type = Converter.class, priority = Priority.HIGH)
public static class FloatArrayUnwrapper extends
PrimitiveArrayUnwrapper
{
@@ -258,7 +258,7 @@ public Class getInputType() {
// -- Double array converters --
- @Plugin(type = Converter.class, priority = Priority.HIGH_PRIORITY)
+ @Plugin(type = Converter.class, priority = Priority.HIGH)
public static class DoubleArrayWrapper extends
PrimitiveArrayWrapper
{
@@ -274,7 +274,7 @@ public Class getInputType() {
}
}
- @Plugin(type = Converter.class, priority = Priority.HIGH_PRIORITY)
+ @Plugin(type = Converter.class, priority = Priority.HIGH)
public static class DoubleArrayUnwrapper extends
PrimitiveArrayUnwrapper
{
@@ -292,7 +292,7 @@ public Class getInputType() {
// -- Long array converters --
- @Plugin(type = Converter.class, priority = Priority.HIGH_PRIORITY)
+ @Plugin(type = Converter.class, priority = Priority.HIGH)
public static class LongArrayWrapper extends
PrimitiveArrayWrapper
{
@@ -308,7 +308,7 @@ public Class getInputType() {
}
}
- @Plugin(type = Converter.class, priority = Priority.HIGH_PRIORITY)
+ @Plugin(type = Converter.class, priority = Priority.HIGH)
public static class LongArrayUnwrapper extends
PrimitiveArrayUnwrapper
{
diff --git a/src/main/java/org/scijava/convert/CastingConverter.java b/src/main/java/org/scijava/convert/CastingConverter.java
index ba71f9d6b..0835d20d1 100644
--- a/src/main/java/org/scijava/convert/CastingConverter.java
+++ b/src/main/java/org/scijava/convert/CastingConverter.java
@@ -42,7 +42,7 @@
*
* @author Mark Hiner
*/
-@Plugin(type = Converter.class, priority = Priority.FIRST_PRIORITY)
+@Plugin(type = Converter.class, priority = Priority.FIRST)
public class CastingConverter extends AbstractConverter {
@SuppressWarnings("deprecation")
diff --git a/src/main/java/org/scijava/convert/NullConverter.java b/src/main/java/org/scijava/convert/NullConverter.java
index a1f4c3ced..e718404ce 100644
--- a/src/main/java/org/scijava/convert/NullConverter.java
+++ b/src/main/java/org/scijava/convert/NullConverter.java
@@ -43,7 +43,7 @@
* basic casting when given a {@code null} source and returns {@code} null
* directly when given a {@code} null destination.
*
- * By running at {@link Priority#FIRST_PRIORITY}, other converters should
+ * By running at {@link Priority#FIRST}, other converters should
* not need to worry about {@code null} source or destination parameters.
*
*
@@ -54,7 +54,7 @@
*
* @author Mark Hiner
*/
-@Plugin(type = Converter.class, priority = Priority.FIRST_PRIORITY)
+@Plugin(type = Converter.class, priority = Priority.FIRST)
public class NullConverter extends AbstractConverter {
@Override
diff --git a/src/main/java/org/scijava/display/ActiveDisplayPreprocessor.java b/src/main/java/org/scijava/display/ActiveDisplayPreprocessor.java
index 49793247b..73b92ebd5 100644
--- a/src/main/java/org/scijava/display/ActiveDisplayPreprocessor.java
+++ b/src/main/java/org/scijava/display/ActiveDisplayPreprocessor.java
@@ -54,7 +54,7 @@
* @author Curtis Rueden
*/
@Plugin(type = PreprocessorPlugin.class,
- priority = Priority.VERY_HIGH_PRIORITY)
+ priority = Priority.VERY_HIGH)
public class ActiveDisplayPreprocessor extends AbstractPreprocessorPlugin {
@Parameter(required = false)
diff --git a/src/main/java/org/scijava/display/DefaultDisplay.java b/src/main/java/org/scijava/display/DefaultDisplay.java
index 210108cb4..542a88f5b 100644
--- a/src/main/java/org/scijava/display/DefaultDisplay.java
+++ b/src/main/java/org/scijava/display/DefaultDisplay.java
@@ -39,7 +39,7 @@
// using Object#toString()), but until it exists, discovery of this display
// merely causes the UIService to eventually issue some warnings anyway
// ("No suitable viewer found for display" and "No viewer found for display").
-//@Plugin(type = Display.class, priority = Priority.VERY_LOW_PRIORITY)
+//@Plugin(type = Display.class, priority = Priority.VERY_LOW)
/**
* Default display for objects, when no other displays are available.
*
diff --git a/src/main/java/org/scijava/display/DefaultTextDisplay.java b/src/main/java/org/scijava/display/DefaultTextDisplay.java
index b2249003b..35d9285ec 100644
--- a/src/main/java/org/scijava/display/DefaultTextDisplay.java
+++ b/src/main/java/org/scijava/display/DefaultTextDisplay.java
@@ -40,7 +40,7 @@
*
* @author Curtis Rueden
*/
-@Plugin(type = Display.class, priority = Priority.LOW_PRIORITY)
+@Plugin(type = Display.class, priority = Priority.LOW)
public class DefaultTextDisplay extends AbstractDisplay implements
TextDisplay
{
diff --git a/src/main/java/org/scijava/display/DisplayPostprocessor.java b/src/main/java/org/scijava/display/DisplayPostprocessor.java
index c48bad430..24009e12e 100644
--- a/src/main/java/org/scijava/display/DisplayPostprocessor.java
+++ b/src/main/java/org/scijava/display/DisplayPostprocessor.java
@@ -55,7 +55,7 @@
* @author Barry DeZonia
*/
@Plugin(type = PostprocessorPlugin.class,
- priority = Priority.VERY_LOW_PRIORITY)
+ priority = Priority.VERY_LOW)
public class DisplayPostprocessor extends AbstractPostprocessorPlugin {
@Parameter(required = false)
diff --git a/src/main/java/org/scijava/event/DefaultEventService.java b/src/main/java/org/scijava/event/DefaultEventService.java
index 9de3dc332..07530827d 100644
--- a/src/main/java/org/scijava/event/DefaultEventService.java
+++ b/src/main/java/org/scijava/event/DefaultEventService.java
@@ -74,7 +74,7 @@ public class DefaultEventService extends AbstractService implements
* {@code priority = DefaultEventService.PRIORITY + 1} or similar.
*
*/
- public static final double PRIORITY = 10 * Priority.VERY_HIGH_PRIORITY;
+ public static final double PRIORITY = 10 * Priority.VERY_HIGH;
@Parameter
private LogService log;
diff --git a/src/main/java/org/scijava/log/StderrLogService.java b/src/main/java/org/scijava/log/StderrLogService.java
index 53e8e913b..71ee982a3 100644
--- a/src/main/java/org/scijava/log/StderrLogService.java
+++ b/src/main/java/org/scijava/log/StderrLogService.java
@@ -47,7 +47,7 @@
* @author Johannes Schindelin
* @author Curtis Rueden
*/
-@Plugin(type = Service.class, priority = Priority.LOW_PRIORITY)
+@Plugin(type = Service.class, priority = Priority.LOW)
public class StderrLogService extends AbstractLogService {
@Override
diff --git a/src/main/java/org/scijava/main/run/MainCodeRunner.java b/src/main/java/org/scijava/main/run/MainCodeRunner.java
index 8a359cd49..96735f982 100644
--- a/src/main/java/org/scijava/main/run/MainCodeRunner.java
+++ b/src/main/java/org/scijava/main/run/MainCodeRunner.java
@@ -49,7 +49,7 @@
*
* @author Curtis Rueden
*/
-@Plugin(type = CodeRunner.class, priority = Priority.LOW_PRIORITY)
+@Plugin(type = CodeRunner.class, priority = Priority.LOW)
public class MainCodeRunner extends AbstractCodeRunner {
@Parameter(required = false)
diff --git a/src/main/java/org/scijava/module/process/DebugPostprocessor.java b/src/main/java/org/scijava/module/process/DebugPostprocessor.java
index bbac93103..2cc1e89e5 100644
--- a/src/main/java/org/scijava/module/process/DebugPostprocessor.java
+++ b/src/main/java/org/scijava/module/process/DebugPostprocessor.java
@@ -45,7 +45,7 @@
*
* @author Curtis Rueden
*/
-@Plugin(type = PostprocessorPlugin.class, priority = Priority.FIRST_PRIORITY)
+@Plugin(type = PostprocessorPlugin.class, priority = Priority.FIRST)
public class DebugPostprocessor extends AbstractPostprocessorPlugin {
@Parameter(required = false)
diff --git a/src/main/java/org/scijava/module/process/DebugPreprocessor.java b/src/main/java/org/scijava/module/process/DebugPreprocessor.java
index 3fc40644b..aeede855e 100644
--- a/src/main/java/org/scijava/module/process/DebugPreprocessor.java
+++ b/src/main/java/org/scijava/module/process/DebugPreprocessor.java
@@ -43,7 +43,7 @@
*
* @author Curtis Rueden
*/
-@Plugin(type = PreprocessorPlugin.class, priority = Priority.FIRST_PRIORITY)
+@Plugin(type = PreprocessorPlugin.class, priority = Priority.FIRST)
public class DebugPreprocessor extends AbstractPreprocessorPlugin {
@Parameter(required = false)
diff --git a/src/main/java/org/scijava/module/process/DefaultValuePreprocessor.java b/src/main/java/org/scijava/module/process/DefaultValuePreprocessor.java
index d9100b87d..6044444b2 100644
--- a/src/main/java/org/scijava/module/process/DefaultValuePreprocessor.java
+++ b/src/main/java/org/scijava/module/process/DefaultValuePreprocessor.java
@@ -50,7 +50,7 @@
*
* @author Curtis Rueden
*/
-@Plugin(type = PreprocessorPlugin.class, priority = Priority.VERY_HIGH_PRIORITY)
+@Plugin(type = PreprocessorPlugin.class, priority = Priority.VERY_HIGH)
public class DefaultValuePreprocessor extends AbstractPreprocessorPlugin {
@Parameter
diff --git a/src/main/java/org/scijava/module/process/GatewayPreprocessor.java b/src/main/java/org/scijava/module/process/GatewayPreprocessor.java
index 98d439e30..08fdedb2b 100644
--- a/src/main/java/org/scijava/module/process/GatewayPreprocessor.java
+++ b/src/main/java/org/scijava/module/process/GatewayPreprocessor.java
@@ -54,7 +54,7 @@
* @author Curtis Rueden
*/
@Plugin(type = PreprocessorPlugin.class, //
- priority = 2 * Priority.VERY_HIGH_PRIORITY)
+ priority = 2 * Priority.VERY_HIGH)
public class GatewayPreprocessor extends AbstractPreprocessorPlugin {
@Parameter
diff --git a/src/main/java/org/scijava/module/process/InitPreprocessor.java b/src/main/java/org/scijava/module/process/InitPreprocessor.java
index ec12b65c0..b71b961d8 100644
--- a/src/main/java/org/scijava/module/process/InitPreprocessor.java
+++ b/src/main/java/org/scijava/module/process/InitPreprocessor.java
@@ -48,7 +48,7 @@
*
* @author Curtis Rueden
*/
-@Plugin(type = PreprocessorPlugin.class, priority = Priority.HIGH_PRIORITY)
+@Plugin(type = PreprocessorPlugin.class, priority = Priority.HIGH)
public class InitPreprocessor extends AbstractPreprocessorPlugin {
@Parameter(required = false)
diff --git a/src/main/java/org/scijava/module/process/SaveInputsPreprocessor.java b/src/main/java/org/scijava/module/process/SaveInputsPreprocessor.java
index 9d202b55c..9675a431b 100644
--- a/src/main/java/org/scijava/module/process/SaveInputsPreprocessor.java
+++ b/src/main/java/org/scijava/module/process/SaveInputsPreprocessor.java
@@ -51,10 +51,10 @@
* @author Curtis Rueden
*/
@Plugin(type = PreprocessorPlugin.class,
- priority = Priority.VERY_LOW_PRIORITY - 1)
+ priority = Priority.VERY_LOW - 1)
public class SaveInputsPreprocessor extends AbstractPreprocessorPlugin {
- public static final double PRIORITY = Priority.VERY_LOW_PRIORITY - 1;
+ public static final double PRIORITY = Priority.VERY_LOW - 1;
@Parameter
private ModuleService moduleService;
diff --git a/src/main/java/org/scijava/module/process/ServicePreprocessor.java b/src/main/java/org/scijava/module/process/ServicePreprocessor.java
index 0e8943887..51f496da6 100644
--- a/src/main/java/org/scijava/module/process/ServicePreprocessor.java
+++ b/src/main/java/org/scijava/module/process/ServicePreprocessor.java
@@ -63,7 +63,7 @@
* @author Curtis Rueden
*/
@Plugin(type = PreprocessorPlugin.class, //
- priority = 2 * Priority.VERY_HIGH_PRIORITY)
+ priority = 2 * Priority.VERY_HIGH)
public class ServicePreprocessor extends AbstractPreprocessorPlugin {
// -- ModuleProcessor methods --
diff --git a/src/main/java/org/scijava/module/process/ValidityPreprocessor.java b/src/main/java/org/scijava/module/process/ValidityPreprocessor.java
index a72db98b9..d8294a99e 100644
--- a/src/main/java/org/scijava/module/process/ValidityPreprocessor.java
+++ b/src/main/java/org/scijava/module/process/ValidityPreprocessor.java
@@ -45,7 +45,7 @@
* @author Curtis Rueden
*/
@Plugin(type = PreprocessorPlugin.class,
- priority = 3 * Priority.VERY_HIGH_PRIORITY)
+ priority = 3 * Priority.VERY_HIGH)
public class ValidityPreprocessor extends AbstractPreprocessorPlugin {
// -- ModuleProcessor methods --
diff --git a/src/main/java/org/scijava/platform/DefaultAppEventService.java b/src/main/java/org/scijava/platform/DefaultAppEventService.java
index 50a4f74a6..450710084 100644
--- a/src/main/java/org/scijava/platform/DefaultAppEventService.java
+++ b/src/main/java/org/scijava/platform/DefaultAppEventService.java
@@ -49,7 +49,7 @@
/** @deprecated Use {@link AppService} and {@link App} instead. */
@Deprecated
-@Plugin(type = Service.class, priority = Priority.LOW_PRIORITY)
+@Plugin(type = Service.class, priority = Priority.LOW)
public class DefaultAppEventService extends AbstractService implements
AppEventService
{
diff --git a/src/main/java/org/scijava/platform/DefaultPlatform.java b/src/main/java/org/scijava/platform/DefaultPlatform.java
index 7be138eb7..2c2618082 100644
--- a/src/main/java/org/scijava/platform/DefaultPlatform.java
+++ b/src/main/java/org/scijava/platform/DefaultPlatform.java
@@ -45,7 +45,7 @@
* @author Johannes Schindelin
*/
@Plugin(type = Platform.class, name = "Default",
- priority = Priority.VERY_LOW_PRIORITY)
+ priority = Priority.VERY_LOW)
public class DefaultPlatform extends AbstractPlatform {
// -- PlatformHandler methods --
diff --git a/src/main/java/org/scijava/plugin/AbstractRichPlugin.java b/src/main/java/org/scijava/plugin/AbstractRichPlugin.java
index c1f4460ea..30b46b66d 100644
--- a/src/main/java/org/scijava/plugin/AbstractRichPlugin.java
+++ b/src/main/java/org/scijava/plugin/AbstractRichPlugin.java
@@ -45,7 +45,7 @@ public abstract class AbstractRichPlugin extends AbstractContextual implements
{
/** The priority of the plugin. */
- private double priority = Priority.NORMAL_PRIORITY;
+ private double priority = Priority.NORMAL;
/** The metadata associated with the plugin. */
private PluginInfo> info;
diff --git a/src/main/java/org/scijava/plugin/Plugin.java b/src/main/java/org/scijava/plugin/Plugin.java
index 88598721f..3a084f7ef 100644
--- a/src/main/java/org/scijava/plugin/Plugin.java
+++ b/src/main/java/org/scijava/plugin/Plugin.java
@@ -116,18 +116,18 @@
* Any double value is allowed, but for convenience, there are some presets:
*
*
- * {@link Priority#FIRST_PRIORITY}
- * {@link Priority#VERY_HIGH_PRIORITY}
- * {@link Priority#HIGH_PRIORITY}
- * {@link Priority#NORMAL_PRIORITY}
- * {@link Priority#LOW_PRIORITY}
- * {@link Priority#VERY_LOW_PRIORITY}
- * {@link Priority#LAST_PRIORITY}
+ * {@link Priority#FIRST}
+ * {@link Priority#VERY_HIGH}
+ * {@link Priority#HIGH}
+ * {@link Priority#NORMAL}
+ * {@link Priority#LOW}
+ * {@link Priority#VERY_LOW}
+ * {@link Priority#LAST}
*
*
* @see org.scijava.service.Service
*/
- double priority() default Priority.NORMAL_PRIORITY;
+ double priority() default Priority.NORMAL;
/**
* Whether the plugin can be selected in the user interface. A plugin's
diff --git a/src/main/java/org/scijava/script/DefaultScriptService.java b/src/main/java/org/scijava/script/DefaultScriptService.java
index b7535b8b3..1ee08c1b4 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_PRIORITY)
+@Plugin(type = Service.class, priority = Priority.HIGH)
public class DefaultScriptService extends
AbstractSingletonService implements ScriptService
{
diff --git a/src/main/java/org/scijava/text/io/TextIOPlugin.java b/src/main/java/org/scijava/text/io/TextIOPlugin.java
index f894343ce..03b090046 100644
--- a/src/main/java/org/scijava/text/io/TextIOPlugin.java
+++ b/src/main/java/org/scijava/text/io/TextIOPlugin.java
@@ -48,7 +48,7 @@
* @author Curtis Rueden
* @see TextService
*/
-@Plugin(type = IOPlugin.class, priority = Priority.LOW_PRIORITY - 1)
+@Plugin(type = IOPlugin.class, priority = Priority.LOW - 1)
public class TextIOPlugin extends AbstractIOPlugin {
@Parameter(required = false)
diff --git a/src/main/java/org/scijava/ui/UIPreprocessor.java b/src/main/java/org/scijava/ui/UIPreprocessor.java
index c9ec13caf..b55dffbb2 100644
--- a/src/main/java/org/scijava/ui/UIPreprocessor.java
+++ b/src/main/java/org/scijava/ui/UIPreprocessor.java
@@ -46,7 +46,7 @@
*
* @author Curtis Rueden
*/
-@Plugin(type = PreprocessorPlugin.class, priority = Priority.VERY_HIGH_PRIORITY)
+@Plugin(type = PreprocessorPlugin.class, priority = Priority.VERY_HIGH)
public class UIPreprocessor extends AbstractPreprocessorPlugin {
@Parameter(required = false)
diff --git a/src/main/java/org/scijava/ui/dnd/FileDragAndDropHandler.java b/src/main/java/org/scijava/ui/dnd/FileDragAndDropHandler.java
index 4ad74aafe..e6116de21 100644
--- a/src/main/java/org/scijava/ui/dnd/FileDragAndDropHandler.java
+++ b/src/main/java/org/scijava/ui/dnd/FileDragAndDropHandler.java
@@ -49,7 +49,7 @@
* @author Curtis Rueden
* @author Barry DeZonia
*/
-@Plugin(type = DragAndDropHandler.class, priority = Priority.LOW_PRIORITY)
+@Plugin(type = DragAndDropHandler.class, priority = Priority.LOW)
public class FileDragAndDropHandler extends
AbstractDragAndDropHandler
{
diff --git a/src/main/java/org/scijava/ui/headless/HeadlessUI.java b/src/main/java/org/scijava/ui/headless/HeadlessUI.java
index aa1737ae7..8b70fd54e 100644
--- a/src/main/java/org/scijava/ui/headless/HeadlessUI.java
+++ b/src/main/java/org/scijava/ui/headless/HeadlessUI.java
@@ -55,7 +55,7 @@
* @author Curtis Rueden
*/
@Plugin(type = UserInterface.class, name = HeadlessUI.NAME,
- priority = Priority.VERY_LOW_PRIORITY)
+ priority = Priority.VERY_LOW)
public class HeadlessUI extends AbstractRichPlugin implements UserInterface {
public static final String NAME = "headless";
diff --git a/src/main/java/org/scijava/widget/InputHarvester.java b/src/main/java/org/scijava/widget/InputHarvester.java
index 92f1c5fea..6d4933790 100644
--- a/src/main/java/org/scijava/widget/InputHarvester.java
+++ b/src/main/java/org/scijava/widget/InputHarvester.java
@@ -57,7 +57,7 @@
*/
public interface InputHarvester {
- double PRIORITY = Priority.VERY_LOW_PRIORITY;
+ double PRIORITY = Priority.VERY_LOW;
/**
* Performs the harvesting process.
diff --git a/src/test/java/org/scijava/command/CommandModuleTest.java b/src/test/java/org/scijava/command/CommandModuleTest.java
index 84f38b97c..a0ad8565c 100644
--- a/src/test/java/org/scijava/command/CommandModuleTest.java
+++ b/src/test/java/org/scijava/command/CommandModuleTest.java
@@ -251,7 +251,7 @@ public void run() {
* populated.
*/
@Plugin(type = PreprocessorPlugin.class,
- priority = Priority.VERY_HIGH_PRIORITY)
+ priority = Priority.VERY_HIGH)
public static class StuffPreprocessor extends AbstractPreprocessorPlugin {
@Override
diff --git a/src/test/java/org/scijava/console/ConsoleServiceTest.java b/src/test/java/org/scijava/console/ConsoleServiceTest.java
index b292493a4..c87eadcb8 100644
--- a/src/test/java/org/scijava/console/ConsoleServiceTest.java
+++ b/src/test/java/org/scijava/console/ConsoleServiceTest.java
@@ -220,7 +220,7 @@ private void assertOutputEvent(final Source source, final String output,
// -- Helper classes --
- @Plugin(type = ConsoleArgument.class, priority = Priority.HIGH_PRIORITY)
+ @Plugin(type = ConsoleArgument.class, priority = Priority.HIGH)
public static class FooArgument extends AbstractConsoleArgument {
public FooArgument() {
diff --git a/src/test/java/org/scijava/convert/ConvertServiceTest.java b/src/test/java/org/scijava/convert/ConvertServiceTest.java
index 8a08ab1a0..c506d0d92 100644
--- a/src/test/java/org/scijava/convert/ConvertServiceTest.java
+++ b/src/test/java/org/scijava/convert/ConvertServiceTest.java
@@ -703,7 +703,7 @@ public static enum Words {
* input candidates for converting to {@link HisList}s. The actual conversion
* methods are not implemented and are unnecessary.
*/
- @Plugin(type = Converter.class, priority = Priority.LAST_PRIORITY)
+ @Plugin(type = Converter.class, priority = Priority.LAST)
public static class StringHisListConverter extends
AbstractConverter
{
diff --git a/src/test/java/org/scijava/plugin/PluginInfoTest.java b/src/test/java/org/scijava/plugin/PluginInfoTest.java
index 140aaf6d1..554cef02e 100644
--- a/src/test/java/org/scijava/plugin/PluginInfoTest.java
+++ b/src/test/java/org/scijava/plugin/PluginInfoTest.java
@@ -74,19 +74,19 @@ public static interface IceCream extends SciJavaPlugin {
// NB: Marker interface.
}
- @Plugin(type = IceCream.class, priority = Priority.VERY_LOW_PRIORITY)
+ @Plugin(type = IceCream.class, priority = Priority.VERY_LOW)
public static class Flavorless implements SciJavaPlugin {
// NB: No implementation needed.
}
@Plugin(type = IceCream.class, name = "vanilla",
- priority = Priority.LOW_PRIORITY)
+ priority = Priority.LOW)
public static class Vanilla implements SciJavaPlugin {
// NB: No implementation needed.
}
@Plugin(type = IceCream.class, name = "chocolate",
- priority = Priority.VERY_HIGH_PRIORITY)
+ priority = Priority.VERY_HIGH)
public static class Chocolate implements IceCream {
// NB: No implementation needed.
}
From 3f2a5cb88313b980668d4d609e79a89a5b6c3a44 Mon Sep 17 00:00:00 2001
From: Alison Walter
Date: Thu, 20 Jul 2017 09:18:13 -0500
Subject: [PATCH 112/754] Switch DefaultConverter priority to extremely low
---
src/main/java/org/scijava/convert/DefaultConverter.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/main/java/org/scijava/convert/DefaultConverter.java b/src/main/java/org/scijava/convert/DefaultConverter.java
index c95c01ea8..bc75ac14a 100644
--- a/src/main/java/org/scijava/convert/DefaultConverter.java
+++ b/src/main/java/org/scijava/convert/DefaultConverter.java
@@ -43,6 +43,7 @@
import java.util.List;
import java.util.Set;
+import org.scijava.Priority;
import org.scijava.plugin.Plugin;
import org.scijava.util.ArrayUtils;
import org.scijava.util.ClassUtils;
@@ -55,7 +56,7 @@
*
* @author Mark Hiner
*/
-@Plugin(type = Converter.class)
+@Plugin(type = Converter.class, priority = Priority.EXTREMELY_LOW)
public class DefaultConverter extends AbstractConverter {
// -- ConversionHandler methods --
From fc76d53fb1c58feb26f3dea8e688fadc658a3536 Mon Sep 17 00:00:00 2001
From: Alison Walter
Date: Thu, 20 Jul 2017 13:37:35 -0500
Subject: [PATCH 113/754] Fix NullConverter javadoc
---
src/main/java/org/scijava/convert/NullConverter.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/main/java/org/scijava/convert/NullConverter.java b/src/main/java/org/scijava/convert/NullConverter.java
index e718404ce..7accf5983 100644
--- a/src/main/java/org/scijava/convert/NullConverter.java
+++ b/src/main/java/org/scijava/convert/NullConverter.java
@@ -40,8 +40,8 @@
/**
* {@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.
+ * basic casting when given a {@code null} source and returns {@code null}
+ * directly when given a {@code null} destination.
*
* By running at {@link Priority#FIRST}, other converters should
* not need to worry about {@code null} source or destination parameters.
From b917b2148edb6db4c44a5432855e71238ff63aa0 Mon Sep 17 00:00:00 2001
From: Alison Walter
Date: Thu, 20 Jul 2017 09:51:17 -0500
Subject: [PATCH 114/754] Switch CastingConverter priority to extremely high
---
src/main/java/org/scijava/convert/CastingConverter.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/main/java/org/scijava/convert/CastingConverter.java b/src/main/java/org/scijava/convert/CastingConverter.java
index 0835d20d1..4ba3ed38a 100644
--- a/src/main/java/org/scijava/convert/CastingConverter.java
+++ b/src/main/java/org/scijava/convert/CastingConverter.java
@@ -42,7 +42,7 @@
*
* @author Mark Hiner
*/
-@Plugin(type = Converter.class, priority = Priority.FIRST)
+@Plugin(type = Converter.class, priority = Priority.EXTREMELY_HIGH)
public class CastingConverter extends AbstractConverter {
@SuppressWarnings("deprecation")
From 1a4b024826c76b1e8aa7d4b0b867ef1d22d7f603 Mon Sep 17 00:00:00 2001
From: Alison Walter
Date: Thu, 20 Jul 2017 10:17:15 -0500
Subject: [PATCH 115/754] Fix NullConverter to match for both null src and dest
Before the NullConverter was only matched for null src Objects. This
converter still will not be matched if canConvert(Class>, Class>) is
called with a null source Class. Additionally, the ConverterTest has
been updated to reflect this change.
---
src/main/java/org/scijava/convert/NullConverter.java | 11 ++++++-----
src/test/java/org/scijava/convert/ConverterTest.java | 2 +-
2 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/src/main/java/org/scijava/convert/NullConverter.java b/src/main/java/org/scijava/convert/NullConverter.java
index 7accf5983..72cf1de30 100644
--- a/src/main/java/org/scijava/convert/NullConverter.java
+++ b/src/main/java/org/scijava/convert/NullConverter.java
@@ -60,23 +60,24 @@ public class NullConverter extends AbstractConverter {
@Override
public boolean canConvert(final ConversionRequest request) {
if (request == null) return false;
- if (request.destType() == null && request.destClass() == null) return false;
- return request.sourceObject() == null && request.sourceClass() == null;
+ return (request.destType() == null && request.destClass() == null) ||
+ (request.sourceObject() == null && request.sourceClass() == null);
}
@Override
public boolean canConvert(final Object src, final Type dest) {
- return src == null && dest != null;
+ return src == null || dest == null;
}
@Override
public boolean canConvert(final Object src, final Class> dest) {
- return src == null && dest != null;
+ return src == null || dest == null;
}
@Override
public boolean canConvert(final Class> src, final Class> dest) {
- return src == null && dest != null;
+ if (src == null) return false;
+ return dest == null;
}
@Override
diff --git a/src/test/java/org/scijava/convert/ConverterTest.java b/src/test/java/org/scijava/convert/ConverterTest.java
index b772378df..177e9be69 100644
--- a/src/test/java/org/scijava/convert/ConverterTest.java
+++ b/src/test/java/org/scijava/convert/ConverterTest.java
@@ -67,7 +67,7 @@ public void testNullConverter() {
final NullConverter nc = new NullConverter();
assertFalse(nc.canConvert(Object.class, Object.class));
assertFalse(nc.canConvert(Object.class, (Type) Object.class));
- assertTrue(nc.canConvert((Class>) null, Object.class));
+ assertFalse(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));
From ce7f98acc94fd70a0432543ec63fed1adf32e801 Mon Sep 17 00:00:00 2001
From: Alison Walter
Date: Thu, 20 Jul 2017 11:33:51 -0500
Subject: [PATCH 116/754] Add tests for ConvertService matching
---
.../scijava/convert/ConvertServiceTest.java | 132 ++++++++++++++++++
1 file changed, 132 insertions(+)
diff --git a/src/test/java/org/scijava/convert/ConvertServiceTest.java b/src/test/java/org/scijava/convert/ConvertServiceTest.java
index c506d0d92..b5962a657 100644
--- a/src/test/java/org/scijava/convert/ConvertServiceTest.java
+++ b/src/test/java/org/scijava/convert/ConvertServiceTest.java
@@ -40,7 +40,9 @@
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.Collection;
import java.util.Collections;
@@ -54,12 +56,22 @@
import org.junit.Test;
import org.scijava.Context;
import org.scijava.Priority;
+import org.scijava.convert.ArrayConverters.ByteArrayWrapper;
+import org.scijava.convert.ArrayConverters.DoubleArrayUnwrapper;
+import org.scijava.convert.ArrayConverters.FloatArrayWrapper;
+import org.scijava.convert.ArrayConverters.LongArrayWrapper;
+import org.scijava.convert.ArrayConverters.ShortArrayUnwrapper;
+import org.scijava.convert.NumberConverters.ByteToLongConverter;
+import org.scijava.convert.NumberConverters.DoubleToBigDecimalConverter;
+import org.scijava.convert.NumberConverters.ShortToFloatConverter;
import org.scijava.plugin.Plugin;
import org.scijava.util.BoolArray;
+import org.scijava.util.ByteArray;
import org.scijava.util.CharArray;
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;
@@ -565,6 +577,126 @@ public void testGetCompatibleInputs() {
assertEquals(StringHisListConverter.S4, compatibleInputs.get(3));
}
+ /**
+ * Tests that the {@link NullConverter} is chosen for null src and/or dest.
+ */
+ @Test
+ public void testNullConverterMatching() {
+ final Converter, ?> c = convertService.getHandler(new ConversionRequest(
+ null, List.class));
+ assertEquals(NullConverter.class, c.getClass());
+
+ final Converter, ?> cc = convertService.getHandler(new ConversionRequest(
+ new Object(), (Class>) null));
+ assertEquals(NullConverter.class, cc.getClass());
+
+ final Converter, ?> ccc = convertService.getHandler(new ConversionRequest(
+ null, (Class>) null));
+ assertEquals(NullConverter.class, ccc.getClass());
+ }
+
+ /**
+ * Tests the the appropriate wrapping ArrayConverter is chosen for converting
+ * primitive arrays to scijava wrappers.
+ */
+ @Test
+ public void testArrayConverterWrappingMatching() {
+ final byte[] b = new byte[] { -128, 0, 127 };
+ final long[] l = new long[] { 13, 17, -103209, 0, 6 };
+ final float[] f = new float[] { 12.125f, -0.0625f, 2.5f };
+
+ final Converter, ?> c = convertService.getHandler(b, ByteArray.class);
+ assertEquals(ByteArrayWrapper.class, c.getClass());
+
+ final Converter, ?> cc = convertService.getHandler(l, LongArray.class);
+ assertEquals(LongArrayWrapper.class, cc.getClass());
+
+ final Converter, ?> ccc = convertService.getHandler(f, FloatArray.class);
+ assertEquals(FloatArrayWrapper.class, ccc.getClass());
+ }
+
+ /**
+ * Tests that the appropriate unwrapping ArrayConverter is chosen for
+ * converting scijava arrays to primitive arrays.
+ */
+ @Test
+ public void testArrayConverterUnwrappingMatching() {
+ final ShortArray s = new ShortArray();
+ final DoubleArray d = new DoubleArray();
+
+ final Converter, ?> c = convertService.getHandler(s, short[].class);
+ assertEquals(ShortArrayUnwrapper.class, c.getClass());
+
+ final Converter, ?> cc = convertService.getHandler(d, double[].class);
+ assertEquals(DoubleArrayUnwrapper.class, cc.getClass());
+ }
+
+ /**
+ * Tests that the {@link CastingConverter} is called when casting is possible.
+ */
+ @Test
+ public void testCastingConverterMatching() {
+ final ArrayList al = new ArrayList<>();
+
+ final Converter, ?> c = convertService.getHandler(al, Collection.class);
+ assertEquals(CastingConverter.class, c.getClass());
+ }
+
+ /**
+ * Tests the that the appropriate {@link NumberToNumberConverter} is chosen.
+ */
+ @Test
+ public void testNumberConverterMatching() {
+ final double d = -24312926.0625;
+ final byte b = 64;
+ final short s = 32625;
+
+ // Number converters only handle widening conversions
+ final Converter, ?> c = convertService.getHandler(d, BigDecimal.class);
+ assertEquals(DoubleToBigDecimalConverter.class, c.getClass());
+
+ final Converter, ?> cc = convertService.getHandler(b, long.class);
+ assertEquals(ByteToLongConverter.class, cc.getClass());
+
+ final Converter, ?> ccc = convertService.getHandler(s, float.class);
+ assertEquals(ShortToFloatConverter.class, ccc.getClass());
+ }
+
+ /**
+ * Tests that the {@link DefaultConverter} is chosen when no other suitable
+ * converter is available.
+ */
+ @Test
+ public void testDefaultConverterMatching() {
+ final float f = 13624292.25f;
+ final List l = new ArrayList<>();
+
+ // Narrowing number conversion
+ final Converter, ?> c = convertService.getHandler(f, byte.class);
+ assertEquals(DefaultConverter.class, c.getClass());
+
+ // List to Array
+ final Converter, ?> cc = convertService.getHandler(l, String[].class);
+ assertEquals(DefaultConverter.class, cc.getClass());
+
+ // Object to String
+ final Converter, ?> os = convertService.getHandler(new Object(),
+ String.class);
+ assertEquals(DefaultConverter.class, os.getClass());
+
+ // String to Character
+ final Converter, ?> ss = convertService.getHandler("hello", char.class);
+ assertEquals(DefaultConverter.class, ss.getClass());
+
+ // String to Enum
+ final Converter, ?> se = convertService.getHandler("bye", Words.class);
+ assertEquals(DefaultConverter.class, se.getClass());
+
+ // Source which can be wrapped as destination
+ final Converter, ?> w = convertService.getHandler(10122017l, Date.class);
+ assertEquals(DefaultConverter.class, w.getClass());
+ }
+
// -- Helper Methods --
/**
From 2574a4ef3dc1df0bb96b4236920d43da8e29a31e Mon Sep 17 00:00:00 2001
From: Alison Walter
Date: Thu, 20 Jul 2017 11:39:48 -0500
Subject: [PATCH 117/754] Fix typos in ConvertServiceTest
---
src/test/java/org/scijava/convert/ConvertServiceTest.java | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/test/java/org/scijava/convert/ConvertServiceTest.java b/src/test/java/org/scijava/convert/ConvertServiceTest.java
index b5962a657..05884c385 100644
--- a/src/test/java/org/scijava/convert/ConvertServiceTest.java
+++ b/src/test/java/org/scijava/convert/ConvertServiceTest.java
@@ -147,7 +147,7 @@ public void testPrimitives() {
*/
@Test
public void testArrays() {
- // Test that each primitive [] is compatible in either direciton with its
+ // Test that each primitive [] is compatible in either direction with its
// paired PrimitiveArray
testIntechangeable(int[].class, IntArray.class);
testIntechangeable(long[].class, LongArray.class);
@@ -157,7 +157,7 @@ public void testArrays() {
testIntechangeable(char[].class, CharArray.class);
testIntechangeable(boolean[].class, BoolArray.class);
- // Test that primitive [] can not be convertied to mismatched PrimitiveArray
+ // Test that primitive [] can not be converted to mismatched PrimitiveArray
assertFalse(convertService.supports(int[].class, LongArray.class));
// Test that lists can be converted to any primitive []
@@ -883,7 +883,7 @@ public T convert(Object src, Class dest) {
// -- Helper methods --
/**
- * Verify bi-direciotnal conversion is supported between the two classes
+ * Verify bi-directional conversion is supported between the two classes
*/
private void testIntechangeable(final Class> c1, final Class> c2) {
assertTrue(convertService.supports(c1, c2));
From 30291c50c38efef6d44e2981e997cf99d7781f73 Mon Sep 17 00:00:00 2001
From: Alison Walter
Date: Thu, 20 Jul 2017 11:22:48 -0500
Subject: [PATCH 118/754] Remove unnecessary code from DefaultConverter
This also fixes the corresponding test. Since the NullConverter now
handles both null src and dest, the null logic was unnecessary.
Additionally, the casting logic was unnecessary due to the
CastingConverter. The array and number logic is still necessary, since
there's no converters for List to arrays and the number converters only
handle widening conversions.
---
.../org/scijava/convert/DefaultConverter.java | 15 +--------------
.../java/org/scijava/convert/ConverterTest.java | 4 ++--
2 files changed, 3 insertions(+), 16 deletions(-)
diff --git a/src/main/java/org/scijava/convert/DefaultConverter.java b/src/main/java/org/scijava/convert/DefaultConverter.java
index bc75ac14a..0507c2339 100644
--- a/src/main/java/org/scijava/convert/DefaultConverter.java
+++ b/src/main/java/org/scijava/convert/DefaultConverter.java
@@ -80,16 +80,9 @@ public Object convert(final Object src, final Type dest) {
@Override
public T convert(final Object src, final Class dest) {
- if (dest == null) return null;
- if (src == null) return ConversionUtils.getNullValue(dest);
-
// ensure type is well-behaved, rather than a primitive type
final Class saneDest = ConversionUtils.getNonprimitiveType(dest);
- // cast the existing object, if possible
- if (ConversionUtils.canCast(src, saneDest)) return ConversionUtils.cast(
- src, saneDest);
-
// Handle array types
if (isArray(dest)) {
@SuppressWarnings("unchecked")
@@ -302,15 +295,9 @@ public boolean canConvert(final Class> src, final Type dest) {
@Override
@Deprecated
public boolean canConvert(final Class> src, final Class> dest) {
-
- if (src == null || dest == null) return true;
-
// ensure type is well-behaved, rather than a primitive type
final Class> saneDest = ConversionUtils.getNonprimitiveType(dest);
-
- // OK if the existing object can be casted
- if (ConversionUtils.canCast(src, saneDest)) return true;
-
+
// OK for numerical conversions
if (ConversionUtils.canCast(ConversionUtils.getNonprimitiveType(src),
Number.class) &&
diff --git a/src/test/java/org/scijava/convert/ConverterTest.java b/src/test/java/org/scijava/convert/ConverterTest.java
index 177e9be69..25174a091 100644
--- a/src/test/java/org/scijava/convert/ConverterTest.java
+++ b/src/test/java/org/scijava/convert/ConverterTest.java
@@ -94,11 +94,11 @@ public void testCanConvert() {
@Test
public void testCanConvertToGenericCollection() {
- final DefaultConverter dc = new DefaultConverter();
+ final CastingConverter cc = new CastingConverter();
final Field destField = ClassUtils.getField(getClass(), "collection");
final Type destType = GenericUtils.getFieldType(destField, getClass());
- assertTrue(dc.canConvert(ArrayList.class, destType));
+ assertTrue(cc.canConvert(ArrayList.class, destType));
}
private static class NumberConverter extends AbstractConverter {
From 556c6b29da3db61c32b5092a09115a706d3ed08f Mon Sep 17 00:00:00 2001
From: Alison Walter
Date: Thu, 20 Jul 2017 13:33:23 -0500
Subject: [PATCH 119/754] Update DefaultConverter javadoc to list supported
conversions
---
.../java/org/scijava/convert/DefaultConverter.java | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/src/main/java/org/scijava/convert/DefaultConverter.java b/src/main/java/org/scijava/convert/DefaultConverter.java
index 0507c2339..46c3e7159 100644
--- a/src/main/java/org/scijava/convert/DefaultConverter.java
+++ b/src/main/java/org/scijava/convert/DefaultConverter.java
@@ -53,6 +53,20 @@
/**
* Default {@link Converter} implementation. Provides useful conversion
* functionality for many common conversion cases.
+ *
+ * Supported conversions include:
+ *
+ *
+ * Object to Array
+ * Object to Collection
+ * Number to Number
+ * Object to String
+ * String to Character
+ * String to Enum
+ * Objects where the destination Class has a constructor which takes that
+ * Object
+ *
+ *
*
* @author Mark Hiner
*/
From 9105fddd44b81918e63c880ccb0a174be586163e Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Thu, 20 Jul 2017 14:20:31 -0500
Subject: [PATCH 120/754] 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 d56a64bdb..91b5b993f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -10,7 +10,7 @@
scijava-common
- 2.65.0-SNAPSHOT
+ 2.65.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 1495881e93e8095ee99ae6fa45afdff8a7ed7480 Mon Sep 17 00:00:00 2001
From: Jan Eglinger
Date: Fri, 30 Jun 2017 12:20:43 +0200
Subject: [PATCH 121/754] Add method signatures and preprocessor to select
multiple files
---
.../java/org/scijava/ui/DefaultUIService.java | 13 ++++
.../org/scijava/ui/FileListPreprocessor.java | 64 +++++++++++++++++++
src/main/java/org/scijava/ui/UIService.java | 24 ++++++-
.../java/org/scijava/ui/UserInterface.java | 29 ++++++++-
.../org/scijava/widget/FileListWidget.java | 7 ++
5 files changed, 135 insertions(+), 2 deletions(-)
create mode 100644 src/main/java/org/scijava/ui/FileListPreprocessor.java
create mode 100644 src/main/java/org/scijava/widget/FileListWidget.java
diff --git a/src/main/java/org/scijava/ui/DefaultUIService.java b/src/main/java/org/scijava/ui/DefaultUIService.java
index 687d59dd1..76aae7e50 100644
--- a/src/main/java/org/scijava/ui/DefaultUIService.java
+++ b/src/main/java/org/scijava/ui/DefaultUIService.java
@@ -33,6 +33,7 @@
package org.scijava.ui;
import java.io.File;
+import java.io.FileFilter;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
@@ -319,6 +320,18 @@ public File chooseFile(final File file, final String style) {
return ui == null ? null : ui.chooseFile(title, file, style);
}
+ @Override
+ public File[] chooseFiles(File[] files, FileFilter filter) {
+ final UserInterface ui = getDefaultUI();
+ return ui == null ? null : ui.chooseFiles(files, filter);
+ }
+
+ @Override
+ public List chooseFiles(List fileList, FileFilter filter) {
+ final UserInterface ui = getDefaultUI();
+ return ui == null ? null : ui.chooseFiles(fileList, filter);
+ }
+
@Override
public void showContextMenu(final String menuRoot, final Display> display,
final int x, final int y)
diff --git a/src/main/java/org/scijava/ui/FileListPreprocessor.java b/src/main/java/org/scijava/ui/FileListPreprocessor.java
new file mode 100644
index 000000000..3da89f95f
--- /dev/null
+++ b/src/main/java/org/scijava/ui/FileListPreprocessor.java
@@ -0,0 +1,64 @@
+package org.scijava.ui;
+
+import java.io.File;
+
+import org.scijava.module.Module;
+import org.scijava.module.ModuleItem;
+import org.scijava.module.process.AbstractPreprocessorPlugin;
+import org.scijava.module.process.PreprocessorPlugin;
+import org.scijava.plugin.Parameter;
+import org.scijava.plugin.Plugin;
+import org.scijava.widget.InputHarvester;
+
+@Plugin(type = PreprocessorPlugin.class, priority = InputHarvester.PRIORITY + 1.0)
+public class FileListPreprocessor extends AbstractPreprocessorPlugin {
+
+ @Parameter(required = false)
+ private UIService uiService;
+
+ @Override
+ public void process(final Module module) {
+ if (uiService == null) return;
+ final ModuleItem fileInput = getFilesInput(module);
+ if (fileInput == null) return;
+
+ final File[] files = fileInput.getValue(module);
+
+ // show file chooser dialog box
+ final File[] result = uiService.chooseFiles(files, null);
+ if (result == null) {
+ cancel("");
+ return;
+ }
+
+ fileInput.setValue(module, result);
+ module.resolveInput(fileInput.getName());
+ }
+
+ // -- Helper methods --
+
+ /**
+ * Gets the single unresolved {@link File} input parameter. If there is not
+ * exactly one unresolved {@link File} input parameter, or if there are other
+ * types of unresolved parameters, this method returns null.
+ */
+ private ModuleItem getFilesInput(final Module module) {
+ ModuleItem result = null;
+ for (final ModuleItem> input : module.getInfo().inputs()) {
+ if (module.isInputResolved(input.getName())) continue;
+ final Class> type = input.getType();
+ if (!File[].class.isAssignableFrom(type)) {
+ // not a File[] parameter; abort
+ return null;
+ }
+ if (result != null) {
+ // second File parameter; abort
+ return null;
+ }
+ @SuppressWarnings("unchecked")
+ final ModuleItem fileInput = (ModuleItem) input;
+ result = fileInput;
+ }
+ return result;
+ }
+}
diff --git a/src/main/java/org/scijava/ui/UIService.java b/src/main/java/org/scijava/ui/UIService.java
index c23006b0e..7191679dd 100644
--- a/src/main/java/org/scijava/ui/UIService.java
+++ b/src/main/java/org/scijava/ui/UIService.java
@@ -33,6 +33,7 @@
package org.scijava.ui;
import java.io.File;
+import java.io.FileFilter;
import java.util.List;
import org.scijava.app.StatusService;
@@ -294,6 +295,28 @@ DialogPrompt.Result showDialog(String message, String title,
*/
File chooseFile(String title, File file, String style);
+ /**
+ * Prompts the user to select one or multiple files.
+ *
+ * The prompt is displayed in the default user interface.
+ *
+ *
+ * @param files The initial value displayed in the file chooser prompt.
+ * @param filter A filter allowing to restrict the choice of files
+ */
+ File[] chooseFiles(File[] files, FileFilter filter);
+
+ /**
+ * Prompts the user to select one or multiple files.
+ *
+ * The prompt is displayed in the default user interface.
+ *
+ *
+ * @param fileList The initial value displayed in the file chooser prompt.
+ * @param filter A filter allowing to restrict the choice of files
+ */
+ List chooseFiles(List fileList, FileFilter filter);
+
/**
* Displays a popup context menu for the given display at the specified
* position.
@@ -309,5 +332,4 @@ DialogPrompt.Result showDialog(String message, String title,
* @see StatusService#getStatusMessage(String, StatusEvent)
*/
String getStatusMessage(StatusEvent statusEvent);
-
}
diff --git a/src/main/java/org/scijava/ui/UserInterface.java b/src/main/java/org/scijava/ui/UserInterface.java
index 84fd2210b..857090e3a 100644
--- a/src/main/java/org/scijava/ui/UserInterface.java
+++ b/src/main/java/org/scijava/ui/UserInterface.java
@@ -33,6 +33,9 @@
package org.scijava.ui;
import java.io.File;
+import java.io.FileFilter;
+import java.util.Arrays;
+import java.util.List;
import org.scijava.Disposable;
import org.scijava.display.Display;
@@ -185,6 +188,31 @@ default File chooseFile(String title, File file, String style) {
throw new UnsupportedOperationException();
}
+ /**
+ * Prompts the user to choose a list of files.
+ *
+ * @param files The initial value displayed in the file chooser prompt.
+ * @param filter A filter allowing to restrict file choice.
+ * @return The selected {@link File}s chosen by the user, or null if prompt is not
+ * available
+ */
+ default File[] chooseFiles(File[] files, FileFilter filter) {
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * Prompts the user to choose a list of files.
+ *
+ * @param fileList The initial value displayed in the file chooser prompt.
+ * @param filter A filter allowing to restrict file choice.
+ * @return The selected {@link File}s chosen by the user, or null if prompt is not
+ * available
+ */
+ default List chooseFiles(List fileList, FileFilter filter) {
+ File[] files = fileList.toArray(new File[fileList.size()]);
+ return Arrays.asList(chooseFiles(files, filter));
+ }
+
/**
* Displays a popup context menu for the given display at the specified
* position.
@@ -199,5 +227,4 @@ default File chooseFile(String title, File file, String style) {
/** Returns true if this UI requires the EDT. */
boolean requiresEDT();
-
}
diff --git a/src/main/java/org/scijava/widget/FileListWidget.java b/src/main/java/org/scijava/widget/FileListWidget.java
new file mode 100644
index 000000000..c52097c0d
--- /dev/null
+++ b/src/main/java/org/scijava/widget/FileListWidget.java
@@ -0,0 +1,7 @@
+package org.scijava.widget;
+
+import java.io.File;
+
+public interface FileListWidget extends InputWidget {
+ // NB: No changes to interface.
+}
From de98dcf722c347419b3322b06ae329be755862c5 Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Wed, 19 Jul 2017 10:14:17 +0200
Subject: [PATCH 122/754] Fix NullPointerException when chooseFiles returns
null
---
src/main/java/org/scijava/ui/UserInterface.java | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/src/main/java/org/scijava/ui/UserInterface.java b/src/main/java/org/scijava/ui/UserInterface.java
index 857090e3a..544991cd5 100644
--- a/src/main/java/org/scijava/ui/UserInterface.java
+++ b/src/main/java/org/scijava/ui/UserInterface.java
@@ -193,8 +193,8 @@ default File chooseFile(String title, File file, String style) {
*
* @param files The initial value displayed in the file chooser prompt.
* @param filter A filter allowing to restrict file choice.
- * @return The selected {@link File}s chosen by the user, or null if prompt is not
- * available
+ * @return The selected {@link File}s chosen by the user, or null if the
+ * user cancels the prompt.
*/
default File[] chooseFiles(File[] files, FileFilter filter) {
throw new UnsupportedOperationException();
@@ -205,12 +205,13 @@ default File[] chooseFiles(File[] files, FileFilter filter) {
*
* @param fileList The initial value displayed in the file chooser prompt.
* @param filter A filter allowing to restrict file choice.
- * @return The selected {@link File}s chosen by the user, or null if prompt is not
- * available
+ * @return The selected {@link File}s chosen by the user, or null if the
+ * user cancels the prompt.
*/
default List chooseFiles(List fileList, FileFilter filter) {
- File[] files = fileList.toArray(new File[fileList.size()]);
- return Arrays.asList(chooseFiles(files, filter));
+ final File[] initialFiles = fileList.toArray(new File[fileList.size()]);
+ final File[] chosenFiles = chooseFiles(initialFiles, filter);
+ return chosenFiles == null ? null : Arrays.asList(chosenFiles);
}
/**
From baaaa55e3524ca99d18d0dd09d176a0db1dbbebc Mon Sep 17 00:00:00 2001
From: Curtis Rueden
Date: Wed, 19 Jul 2017 10:17:10 +0200
Subject: [PATCH 123/754] Add note about storing persisted values for list and
array inputs
---
src/main/java/org/scijava/module/DefaultModuleService.java | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/main/java/org/scijava/module/DefaultModuleService.java b/src/main/java/org/scijava/module/DefaultModuleService.java
index ec3c1e0dd..2bcf13d24 100644
--- a/src/main/java/org/scijava/module/DefaultModuleService.java
+++ b/src/main/java/org/scijava/module/DefaultModuleService.java
@@ -297,6 +297,8 @@ public void save(final ModuleItem item, final T value) {
return;
}
+ // FIXME: Convert to string, instead of just calling toString.
+ // Otherwise many things (e.g. File[]) are persisted improperly.
final String sValue = value == null ? "" : value.toString();
// do not persist if object cannot be converted back from a string
From 4a877a0017a884da3abe6edd57f40ae0901d0243 Mon Sep 17 00:00:00 2001
From: Gabriel Einsdorf
Date: Fri, 25 Aug 2017 18:56:32 +0200
Subject: [PATCH 124/754] ByteBankTest: Add test for the toByteArrayMethod
---
src/test/java/org/scijava/io/ByteBankTest.java | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/src/test/java/org/scijava/io/ByteBankTest.java b/src/test/java/org/scijava/io/ByteBankTest.java
index 31a1dec5a..60eaa7c1e 100644
--- a/src/test/java/org/scijava/io/ByteBankTest.java
+++ b/src/test/java/org/scijava/io/ByteBankTest.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
@@ -68,6 +68,17 @@ public void testSetGetBytesArray() {
assertEqualRead(testBytes.length - 4, 2);
}
+ @Test
+ public void testToByteArray() {
+ // read in full array
+ bank.setBytes(0l, testBytes.clone(), 0, testBytes.length);
+
+ assertArrayEquals(testBytes, bank.toByteArray());
+
+ byte[] actuals = bank.toByteArray(0, testBytes.length);
+ assertArrayEquals(actuals, testBytes);
+ }
+
@Test
public void testSetGetBytesPartialArray() {
// read in the partial array
From 4b04c8bf9d0bee82666b775d60f1aae6741c43fa Mon Sep 17 00:00:00 2001
From: Gabriel Einsdorf
Date: Thu, 13 Jul 2017 13:51:56 +0200
Subject: [PATCH 125/754] Location: change default name to non-empty string
This avoids confusion when the Location implementation does not
assign a name explicitly. Detecting that situation is now very easy.
Signed-off-by: Curtis Rueden