diff --git a/libs.bsf/META-INF/MANIFEST.MF b/libs.bsf/META-INF/MANIFEST.MF index 67c48140e..e97037543 100644 --- a/libs.bsf/META-INF/MANIFEST.MF +++ b/libs.bsf/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Repast libs bsf Bundle-SymbolicName: libs.bsf -Bundle-Version: 2.9.1 +Bundle-Version: 2.10.0 Bundle-ClassPath: lib/bsf.jar, lib/bsh-2.0b4.jar Export-Package: bsh, diff --git a/libs.bsf/plugin_jpf.xml b/libs.bsf/plugin_jpf.xml index 91a594774..776297328 100644 --- a/libs.bsf/plugin_jpf.xml +++ b/libs.bsf/plugin_jpf.xml @@ -2,7 +2,7 @@ - + diff --git a/libs.ext/META-INF/MANIFEST.MF b/libs.ext/META-INF/MANIFEST.MF index 8f6c9a204..14e476fb5 100644 --- a/libs.ext/META-INF/MANIFEST.MF +++ b/libs.ext/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Repast libs ext Bundle-SymbolicName: libs.ext -Bundle-Version: 2.9.1 +Bundle-Version: 2.10.0 Bundle-ClassPath: lib/clibwrapper_jiio.jar, lib/gluegen-rt.jar, lib/jai_codec.jar, diff --git a/libs.ext/lib/gluegen-rt-natives-macosx-aarch64.jar b/libs.ext/lib/gluegen-rt-natives-macosx-aarch64.jar new file mode 100644 index 000000000..0a48edcf7 Binary files /dev/null and b/libs.ext/lib/gluegen-rt-natives-macosx-aarch64.jar differ diff --git a/libs.ext/lib/gluegen-rt-natives-macosx-amd64.jar b/libs.ext/lib/gluegen-rt-natives-macosx-amd64.jar new file mode 100644 index 000000000..453810367 Binary files /dev/null and b/libs.ext/lib/gluegen-rt-natives-macosx-amd64.jar differ diff --git a/libs.ext/lib/gluegen-rt-natives-macosx-universal.jar b/libs.ext/lib/gluegen-rt-natives-macosx-universal.jar deleted file mode 100644 index 79bd94ee6..000000000 Binary files a/libs.ext/lib/gluegen-rt-natives-macosx-universal.jar and /dev/null differ diff --git a/libs.ext/lib/gluegen-rt.jar b/libs.ext/lib/gluegen-rt.jar index aef08ef85..e93fda603 100644 Binary files a/libs.ext/lib/gluegen-rt.jar and b/libs.ext/lib/gluegen-rt.jar differ diff --git a/libs.ext/lib/jogl-all-natives-macosx-aarch64.jar b/libs.ext/lib/jogl-all-natives-macosx-aarch64.jar new file mode 100644 index 000000000..724d2fbbe Binary files /dev/null and b/libs.ext/lib/jogl-all-natives-macosx-aarch64.jar differ diff --git a/libs.ext/lib/jogl-all-natives-macosx-universal.jar b/libs.ext/lib/jogl-all-natives-macosx-amd64.jar similarity index 98% rename from libs.ext/lib/jogl-all-natives-macosx-universal.jar rename to libs.ext/lib/jogl-all-natives-macosx-amd64.jar index 124ef6d7e..6b3257ea5 100644 Binary files a/libs.ext/lib/jogl-all-natives-macosx-universal.jar and b/libs.ext/lib/jogl-all-natives-macosx-amd64.jar differ diff --git a/libs.ext/plugin_jpf.xml b/libs.ext/plugin_jpf.xml index 7eb4353e2..bbbbc72fc 100644 --- a/libs.ext/plugin_jpf.xml +++ b/libs.ext/plugin_jpf.xml @@ -2,7 +2,7 @@ - + diff --git a/libs.piccolo/META-INF/MANIFEST.MF b/libs.piccolo/META-INF/MANIFEST.MF index cb8f41f0f..e21c28802 100644 --- a/libs.piccolo/META-INF/MANIFEST.MF +++ b/libs.piccolo/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Repast libs piccolo Bundle-SymbolicName: libs.piccolo -Bundle-Version: 2.9.1 +Bundle-Version: 2.10.0 Bundle-ClassPath: lib/piccolo2d-core-3.0.jar, lib/piccolo2d-extras-3.0.jar Export-Package: org.piccolo2d, diff --git a/libs.piccolo/plugin_jpf.xml b/libs.piccolo/plugin_jpf.xml index bd499b8fe..dea68c73f 100644 --- a/libs.piccolo/plugin_jpf.xml +++ b/libs.piccolo/plugin_jpf.xml @@ -2,7 +2,7 @@ - + diff --git a/repast.simphony.R/META-INF/MANIFEST.MF b/repast.simphony.R/META-INF/MANIFEST.MF index 705ebd7bd..d06770325 100644 --- a/repast.simphony.R/META-INF/MANIFEST.MF +++ b/repast.simphony.R/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Repast R Bundle-SymbolicName: repast.simphony.R -Bundle-Version: 2.9.1 +Bundle-Version: 2.10.0 Require-Bundle: repast.simphony.gui, repast.simphony.data, repast.simphony.core, diff --git a/repast.simphony.R/plugin_jpf.xml b/repast.simphony.R/plugin_jpf.xml index 7323f2e93..b67a53d7f 100644 --- a/repast.simphony.R/plugin_jpf.xml +++ b/repast.simphony.R/plugin_jpf.xml @@ -3,7 +3,7 @@ - + diff --git a/repast.simphony.batch/META-INF/MANIFEST.MF b/repast.simphony.batch/META-INF/MANIFEST.MF index 2f810bb96..fff102d21 100644 --- a/repast.simphony.batch/META-INF/MANIFEST.MF +++ b/repast.simphony.batch/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Repast batch Bundle-SymbolicName: repast.simphony.batch;singleton:=true -Bundle-Version: 2.9.1 +Bundle-Version: 2.10.0 Require-Bundle: libs.bsf, repast.simphony.dataLoader, repast.simphony.data, diff --git a/repast.simphony.batch/plugin_jpf.xml b/repast.simphony.batch/plugin_jpf.xml index 2a795d212..2493b6adc 100644 --- a/repast.simphony.batch/plugin_jpf.xml +++ b/repast.simphony.batch/plugin_jpf.xml @@ -2,7 +2,7 @@ - + diff --git a/repast.simphony.bin_and_src/META-INF/MANIFEST.MF b/repast.simphony.bin_and_src/META-INF/MANIFEST.MF index 60e6269e7..d8c776d50 100644 --- a/repast.simphony.bin_and_src/META-INF/MANIFEST.MF +++ b/repast.simphony.bin_and_src/META-INF/MANIFEST.MF @@ -2,6 +2,6 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Repast bin and src Bundle-SymbolicName: repast.simphony.bin_and_src -Bundle-Version: 2.9.1 +Bundle-Version: 2.10.0 Bundle-Vendor: Argonne National Laboratory Bundle-RequiredExecutionEnvironment: JavaSE-1.8 diff --git a/repast.simphony.chart/META-INF/MANIFEST.MF b/repast.simphony.chart/META-INF/MANIFEST.MF index a9a4dfce9..a74c52503 100644 --- a/repast.simphony.chart/META-INF/MANIFEST.MF +++ b/repast.simphony.chart/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Repast chart Bundle-SymbolicName: repast.simphony.chart -Bundle-Version: 2.9.1 +Bundle-Version: 2.10.0 Bundle-ClassPath: lib/jcommon-1.0.23.jar, lib/jfreechart-1.0.19.jar Export-Package: com.keypoint, diff --git a/repast.simphony.chart/plugin_jpf.xml b/repast.simphony.chart/plugin_jpf.xml index af20a86fa..d6a497d00 100644 --- a/repast.simphony.chart/plugin_jpf.xml +++ b/repast.simphony.chart/plugin_jpf.xml @@ -2,7 +2,7 @@ - + diff --git a/repast.simphony.core/.classpath b/repast.simphony.core/.classpath index 69db65a9b..b2fcdcbeb 100644 --- a/repast.simphony.core/.classpath +++ b/repast.simphony.core/.classpath @@ -1,36 +1,41 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/repast.simphony.core/META-INF/MANIFEST.MF b/repast.simphony.core/META-INF/MANIFEST.MF index 20e8ee3cc..5f6603ba0 100644 --- a/repast.simphony.core/META-INF/MANIFEST.MF +++ b/repast.simphony.core/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Repast core Bundle-SymbolicName: repast.simphony.core -Bundle-Version: 2.9.1 +Bundle-Version: 2.10.0 Bundle-ClassPath: lib/jsr108-0.01.jar, lib/concurrent-1.3.4.jar, lib/collections-generic-4.01.jar, @@ -17,17 +17,22 @@ Bundle-ClassPath: lib/jsr108-0.01.jar, lib/dom4j-1.6.1.jar, lib/xmlbeans-2.3.1.jar, lib/opencsv-2.3.jar, - lib/commons-lang3-3.1.jar, lib/cglib-nodep-2.2.3.jar, lib/poi-3.9-20121203.jar, lib/poi-ooxml-3.9-20121203.jar, lib/ooxml-schemas-1.1.jar, lib/hsqldb-2.3.2.jar, - lib/jscience-4.3.1-no_ogis.jar, lib/commons-math3-3.6.1.jar, lib/commons-collections-3.2.2.jar, lib/commons-io-2.5.jar, - lib/stack-alloc.jar + lib/stack-alloc.jar, + lib/commons-lang3-3.8.1.jar, + lib/indriya-2.0.2.jar, + lib/si-quantity-2.0.1.jar, + lib/si-units-2.0.1.jar, + lib/systems-common-2.0.2.jar, + lib/unit-api-2.0.jar, + lib/uom-lib-common-2.0.jar Bundle-Localization: plugin Export-Package: ., EDU.oswego.cs.dl.util.concurrent, @@ -89,21 +94,9 @@ Export-Package: ., edu.uci.ics.jung.io.graphml, edu.uci.ics.jung.io.graphml.parser, javax.measure, - javax.measure.converter, + javax.measure.format, javax.measure.quantity, - javax.measure.unit, - javax.realtime, - javolution, - javolution.context, - javolution.io, - javolution.lang, - javolution.testing, - javolution.text, - javolution.util, - javolution.xml, - javolution.xml.sax, - javolution.xml.stream, - javolution.xml.ws, + javax.measure.spi, net.sf.cglib.asm, net.sf.cglib.asm.signature, net.sf.cglib.beans, @@ -146,6 +139,7 @@ Export-Package: ., org.apache.commons.io.output, org.apache.commons.io.serialization, org.apache.commons.lang3, + org.apache.commons.lang3.arch, org.apache.commons.lang3.builder, org.apache.commons.lang3.concurrent, org.apache.commons.lang3.event, @@ -420,16 +414,6 @@ Export-Package: ., org.hsqldb.server, org.hsqldb.types, org.hsqldb.util, - org.jscience, - org.jscience.economics.money, - org.jscience.geography.coordinates, - org.jscience.geography.coordinates.crs, - org.jscience.mathematics.function, - org.jscience.mathematics.number, - org.jscience.mathematics.structure, - org.jscience.mathematics.vector, - org.jscience.physics.amount, - org.jscience.physics.model, org.openxmlformats.schemas.drawingml.x2006.chart, org.openxmlformats.schemas.drawingml.x2006.chart.impl, org.openxmlformats.schemas.drawingml.x2006.main, @@ -505,6 +489,27 @@ Export-Package: ., schemasMicrosoftComOfficeOffice.impl, schemasMicrosoftComVml, schemasMicrosoftComVml.impl, + si.uom, + si.uom.quantity, + si.uom.quantity.impl, + systems.uom.common, + systems.uom.common.ancient, + systems.uom.common.spi, + tech.units.indriya, + tech.units.indriya.format, + tech.units.indriya.function, + tech.units.indriya.internal.format, + tech.units.indriya.internal.format.l10n, + tech.units.indriya.internal.function, + tech.units.indriya.internal.function.calc, + tech.units.indriya.internal.function.radix, + tech.units.indriya.internal.function.simplify, + tech.units.indriya.quantity, + tech.units.indriya.quantity.time, + tech.units.indriya.spi, + tech.units.indriya.unit, + tech.uom.lib.common.function, + tech.uom.lib.common.util, watcherOOP.test Require-Bundle: repast.simphony.runtime, org.junit, diff --git a/repast.simphony.core/build.properties b/repast.simphony.core/build.properties index 470ae829f..665e5857d 100644 --- a/repast.simphony.core/build.properties +++ b/repast.simphony.core/build.properties @@ -22,17 +22,22 @@ bin.includes = META-INF/,\ lib/dom4j-1.6.1.jar,\ lib/xmlbeans-2.3.0.jar,\ lib/opencsv-2.3.jar,\ - lib/commons-lang3-3.1.jar,\ lib/cglib-nodep-2.2.3.jar,\ lib/poi-3.9-20121203.jar,\ lib/poi-ooxml-3.9-20121203.jar,\ lib/ooxml-schemas-1.1.jar,\ lib/hsqldb-2.3.2.jar,\ - lib/jscience-4.3.1-no_ogis.jar,\ lib/commons-math3-3.6.1.jar,\ lib/commons-collections-3.2.2.jar,\ lib/commons-io-2.5.jar,\ - lib/stack-alloc.jar + lib/stack-alloc.jar,\ + lib/commons-lang3-3.8.1.jar,\ + lib/indriya-2.0.2.jar,\ + lib/si-quantity-2.0.1.jar,\ + lib/si-units-2.0.1.jar,\ + lib/systems-common-2.0.2.jar,\ + lib/unit-api-2.0.jar,\ + lib/uom-lib-common-2.0.jar src.includes = src/,\ test/ jars.compile.order = diff --git a/repast.simphony.core/lib/commons-lang3-3.1.jar b/repast.simphony.core/lib/commons-lang3-3.1.jar deleted file mode 100644 index a85e539b1..000000000 Binary files a/repast.simphony.core/lib/commons-lang3-3.1.jar and /dev/null differ diff --git a/repast.simphony.core/lib/commons-lang3-3.8.1.jar b/repast.simphony.core/lib/commons-lang3-3.8.1.jar new file mode 100644 index 000000000..2c65ce67d Binary files /dev/null and b/repast.simphony.core/lib/commons-lang3-3.8.1.jar differ diff --git a/repast.simphony.core/lib/indriya-2.0.2.jar b/repast.simphony.core/lib/indriya-2.0.2.jar new file mode 100644 index 000000000..be14b0800 Binary files /dev/null and b/repast.simphony.core/lib/indriya-2.0.2.jar differ diff --git a/repast.simphony.core/lib/jscience-4.3.1-no_ogis.jar b/repast.simphony.core/lib/jscience-4.3.1-no_ogis.jar deleted file mode 100644 index 952c18e72..000000000 Binary files a/repast.simphony.core/lib/jscience-4.3.1-no_ogis.jar and /dev/null differ diff --git a/repast.simphony.core/lib/si-quantity-2.0.1.jar b/repast.simphony.core/lib/si-quantity-2.0.1.jar new file mode 100644 index 000000000..a5a89d8f4 Binary files /dev/null and b/repast.simphony.core/lib/si-quantity-2.0.1.jar differ diff --git a/repast.simphony.core/lib/si-units-2.0.1.jar b/repast.simphony.core/lib/si-units-2.0.1.jar new file mode 100644 index 000000000..77d20c560 Binary files /dev/null and b/repast.simphony.core/lib/si-units-2.0.1.jar differ diff --git a/repast.simphony.core/lib/systems-common-2.0.2.jar b/repast.simphony.core/lib/systems-common-2.0.2.jar new file mode 100644 index 000000000..91b325405 Binary files /dev/null and b/repast.simphony.core/lib/systems-common-2.0.2.jar differ diff --git a/repast.simphony.core/lib/unit-api-2.0.jar b/repast.simphony.core/lib/unit-api-2.0.jar new file mode 100644 index 000000000..d11827e77 Binary files /dev/null and b/repast.simphony.core/lib/unit-api-2.0.jar differ diff --git a/repast.simphony.core/lib/uom-lib-common-2.0.jar b/repast.simphony.core/lib/uom-lib-common-2.0.jar new file mode 100644 index 000000000..d3a2479f1 Binary files /dev/null and b/repast.simphony.core/lib/uom-lib-common-2.0.jar differ diff --git a/repast.simphony.core/plugin_jpf.xml b/repast.simphony.core/plugin_jpf.xml index 5ee66805c..90526dfa3 100644 --- a/repast.simphony.core/plugin_jpf.xml +++ b/repast.simphony.core/plugin_jpf.xml @@ -2,7 +2,7 @@ - + @@ -25,14 +25,13 @@ - + - @@ -44,6 +43,14 @@ + + + + + + + + diff --git a/repast.simphony.core/src/javax/measure/Measurable.java b/repast.simphony.core/src/javax/measure/Measurable.java deleted file mode 100644 index 1c84805d4..000000000 --- a/repast.simphony.core/src/javax/measure/Measurable.java +++ /dev/null @@ -1,76 +0,0 @@ -/* - * JScience - Java(TM) Tools and Libraries for the Advancement of Sciences. - * Copyright (C) 2007 - JScience (http://jscience.org/) - * All rights reserved. - * - * Permission to use, copy, modify, and distribute this software is - * freely granted, provided that this notice is preserved. - */ -package javax.measure; - -import javax.measure.quantity.Quantity; -import javax.measure.unit.Unit; - -/** - *

This interface represents the measurable, countable, or comparable - * property or aspect of a thing.

- * - *

Implementing instances are typically the result of a measurement:[code] - * Measurable weight = Measure.valueOf(180.0, POUND); - * [/code] - * They can also be created from custom classes:[code] - * class Delay implements Measurable { - * private long nanoSeconds; // Implicit internal unit. - * public double doubleValue(Unit unit) { ... } - * public long longValue(Unit unit) { ... } - * } - * Thread.wait(new Delay(24, HOUR)); // Assuming Thread.wait(Measurable) method. - * [/code]

- * - *

Although measurable instances are for the most part scalar quantities; - * more complex implementations (e.g. vectors, data set) are allowed as - * long as an aggregate magnitude can be determined. For example:[code] - * class Velocity3D implements Measurable { - * private double x, y, z; // Meter per seconds. - * public double doubleValue(Unit unit) { ... } // Returns vector norm. - * ... - * } - * class Sensors extends Measure { - * public doubleValue(Unit unit) { ... } // Returns median value. - * ... - * } [/code]

- * - * @author Jean-Marie Dautelle - * @version 4.1, June 8, 2007 - * - * Modified on 8/14/2007 by Michael J. North to allow Groovy comparision operators - * to work despite the following issues: - * - * http://jira.codehaus.org/browse/GROOVY-1888 - * http://jira.codehaus.org/browse/GROOVY-1889 - * - */ -//public interface Measurable extends Comparable> { -public interface Measurable extends Comparable { - - /** - * Returns the estimated value of this measurable quantity stated - * in the specified unit as a double. - * - * @param unit the unit in which the measurement value is stated. - * @return the numeric value after conversion to type double. - */ - double doubleValue(Unit unit); - - /** - * Returns the estimated value of this quantity stated in the specified - * unit as a long. - * - * @param unit the unit in which the measurement value is stated. - * @return the numeric value after conversion to type long. - * @throws ArithmeticException if this quantity cannot be represented - * as a long number in the specified unit. - */ - long longValue(Unit unit) throws ArithmeticException; - -} diff --git a/repast.simphony.core/src/org/jscience/physics/amount/Amount.java b/repast.simphony.core/src/org/jscience/physics/amount/Amount.java deleted file mode 100644 index 944f9d8dd..000000000 --- a/repast.simphony.core/src/org/jscience/physics/amount/Amount.java +++ /dev/null @@ -1,1125 +0,0 @@ -/* - * JScience - Java(TM) Tools and Libraries for the Advancement of Sciences. - * Copyright (C) 2006 - JScience (http://jscience.org/) - * All rights reserved. - * - * Permission to use, copy, modify, and distribute this software is - * freely granted, provided that this notice is preserved. - */ -package org.jscience.physics.amount; - -import java.io.Serializable; -import java.math.BigDecimal; - -import javax.measure.Measurable; -import javax.measure.converter.ConversionException; -import javax.measure.converter.RationalConverter; -import javax.measure.converter.UnitConverter; -import javax.measure.quantity.Dimensionless; -import javax.measure.quantity.Quantity; -import javax.measure.unit.Unit; -import javax.realtime.MemoryArea; - -import javolution.context.ObjectFactory; -import javolution.lang.Immutable; -import javolution.lang.MathLib; -import javolution.text.Text; -import javolution.util.FastComparator; -import javolution.util.FastMap; -import javolution.xml.XMLFormat; -import javolution.xml.stream.XMLStreamException; - -import org.jscience.mathematics.structure.Field; - -/** - *

This class represents a determinate or estimated amount for which - * operations such as addition, subtraction, multiplication and division - * can be performed (it implements the {@link Field} interface).

- * - *

The nature of an amount can be deduced from its parameterization - * (compile time) or its {@link #getUnit() unit} (run time). - * Its precision is given by its {@link #getAbsoluteError() error}.

- * - *

Amounts can be {@link #isExact() exact}, in which case they can be - * expressed as an exact long integer in the amount unit. - * The framework tries to keep amount exact as much as possible. - * For example:[code] - * Amount m = Amount.valueOf(33, FOOT).divide(11).times(2); - * System.out.println(m); - * System.out.println(m.isExact() ? "exact" : "inexact"); - * System.out.println(m.getExactValue()); - * > 6 ft - * > exact - * > 6[/code] - *

- * - *

Errors (including numeric errors) are calculated using numeric intervals. - * It is possible to resolve systems of linear equations involving - * {@link org.jscience.mathematics.vector.Matrix matrices}, even if the - * system is close to singularity; in which case the error associated with - * some (or all) components of the solution may be large.

- * - *

By default, non-exact amounts are shown using the plus/minus - * character ('±') (see {@link AmountFormat}). For example, - * "(2.0 ± 0.001) km/s" represents a velocity of - * 2 km/s with an absolute error of ± 1 m/s. Exact amount use an - * integer notation (no decimal point, e.g. "2000 m").

- * - *

Operations between different amounts may or may not be authorized - * based upon the current {@link org.jscience.physics.model.PhysicalModel - * PhysicalModel}. For example, adding Amount<Length> and - * Amount<Duration> is not allowed by the - * {@link org.jscience.physics.model.StandardModel StandardModel}, - * but is authorized with the {@link - * org.jscience.physics.model.RelativisticModel RelativisticModel}.

- * - * @author Jean-Marie Dautelle - * @version 4.0, June 4, 2007 - * @see - * Wikipedia: Measuring - * - * Modified on 8/14/2007 by Michael J. North to allow Groovy comparision operators - * to work despite the following issues: - * - * http://jira.codehaus.org/browse/GROOVY-1888 - * http://jira.codehaus.org/browse/GROOVY-1889 - * - */ -public final class Amount implements - Measurable, Field>, Serializable, Immutable { - -//////////////////////////////////////////////////////////////////////////////// -// Note: In the future, Amount might be abstract (with more measure types) // -// We don't provide public constructors, factory methods should be used.// -//////////////////////////////////////////////////////////////////////////////// - - /** - * Holds a dimensionless measure of zero (exact). - */ - public static final Amount ZERO = new Amount(); - static { - ZERO._unit = Unit.ONE; - ZERO._isExact = true; - ZERO._exactValue = 0L; - ZERO._minimum = 0; - ZERO._maximum = 0; - } - - /** - * Holds a dimensionless measure of one (exact). - */ - public static final Amount ONE = new Amount(); - static { - ONE._unit = Unit.ONE; - ONE._isExact = true; - ONE._exactValue = 1L; - ONE._minimum = 1.0; - ONE._maximum = 1.0; - } - - /** - * Holds the default XML representation for measures. - * This representation consists of a value, - * an unit and an optional error attribute - * when the measure is not exact. - * The unit attribute determinates the measurement type. For example:
-     * <Amount value="12" unit="µA"/>
- * represents an electric current measurement. - */ - protected static final XMLFormat XML = new XMLFormat( - Amount.class) { - - @Override - public Amount newInstance(Class cls, InputElement xml) throws XMLStreamException { - Unit unit = Unit.valueOf(xml.getAttribute("unit")); - Amount m = Amount.newInstance(unit); - if (xml.getAttribute("error") == null) // Exact. - return m.setExact(xml.getAttribute("value", 0L)); - m._isExact = false; - double estimatedValue = xml.getAttribute("value", 0.0); - double error = xml.getAttribute("error", 0.0); - m._minimum = estimatedValue - error; - m._maximum = estimatedValue + error; - return m; - } - - @Override - public void read(javolution.xml.XMLFormat.InputElement arg0, Amount arg1) throws XMLStreamException { - // Nothing to do. - } - - @Override - public void write(Amount m, OutputElement xml) throws XMLStreamException { - if (m._isExact) { - xml.setAttribute("value", m._exactValue); - } else { - xml.setAttribute("value", m.getEstimatedValue()); - xml.setAttribute("error", m.getAbsoluteError()); - } - xml.setAttribute("unit", m._unit.toString()); - } - }; - - /** - * Returns the exact measure corresponding to the value stated in the - * specified unit. - * - * @param value the exact value stated in the specified unit. - * @param unit the unit in which the value is stated. - * @return the corresponding measure object. - */ - public static Amount valueOf(long value, - Unit unit) { - Amount m = Amount.newInstance(unit); - return m.setExact(value); - } - - /** - * Returns the measure corresponding to an approximate value - * (double) stated in the specified unit; - * the precision of the measure is assumed to be the - * double precision (64 bits IEEE 754 format). - * - * @param value the estimated value (± LSB) stated in the specified unit. - * @param unit the unit in which the value is stated. - * @return the corresponding measure object. - */ - public static Amount valueOf(double value, - Unit unit) { - Amount m = Amount.newInstance(unit); - m._isExact = false; - double valInc = value * INCREMENT; - double valDec = value * DECREMENT; - m._minimum = (value < 0) ? valInc : valDec; - m._maximum = (value < 0) ? valDec : valInc; - return m; - } - - /** - * Returns the measure corresponding to the specified approximate value - * and measurement error, both stated in the specified unit. - * - * @param value the estimated amount (± error) stated in the specified unit. - * @param error the measurement error (absolute). - * @param unit the unit in which the amount and the error are stated. - * @return the corresponding measure object. - * @throws IllegalArgumentException if error < 0.0 - */ - public static Amount valueOf(double value, - double error, Unit unit) { - if (error < 0) - throw new IllegalArgumentException("error: " + error - + " is negative"); - Amount m = Amount.newInstance(unit); - double min = value - error; - double max = value + error; - m._isExact = false; - m._minimum = (min < 0) ? min * INCREMENT : min * DECREMENT; - m._maximum = (max < 0) ? max * DECREMENT : max * INCREMENT; - return m; - } - - /** - * Returns the measure corresponding to the specified interval stated - * in the specified unit. - * - * @param minimum the lower bound for the measure value. - * @param maximum the upper bound for the measure value. - * @param unit the unit for both the minimum and maximum values. - * @return the corresponding measure object. - * @throws IllegalArgumentException if minimum > maximum - */ - public static Amount rangeOf(double minimum, - double maximum, Unit unit) { - if (minimum > maximum) - throw new IllegalArgumentException("minimum: " + minimum - + " greater than maximum: " + maximum); - Amount m = Amount.newInstance(unit); - m._isExact = false; - m._minimum = (minimum < 0) ? minimum * INCREMENT : minimum * DECREMENT; - m._maximum = (maximum < 0) ? maximum * DECREMENT : maximum * INCREMENT; - return m; - } - - /** - * Returns the measure represented by the specified character sequence. - * - * @param csq the character sequence. - * @return AmountFormat.getInstance().parse(csq) - */ - public static Amount valueOf(CharSequence csq) { - return AmountFormat.getInstance().parse(csq); - } - - /** - * Indicates if this measure is exact. - */ - private boolean _isExact; - - /** - * Holds the exact value (when exact) stated in this measure unit. - */ - private long _exactValue; - - /** - * Holds the minimum value stated in this measure unit. - * For inexact measures: _minimum < _maximum - */ - private double _minimum; - - /** - * Holds the maximum value stated in this measure unit. - * For inexact measures: _maximum > _minimum - */ - private double _maximum; - - /** - * Holds this measure unit. - */ - private Unit _unit; - - /** - * Indicates if this measure amount is exact. An exact amount is - * guarantee exact only when stated in this measure unit - * (e.g. this.longValue()); stating the amount - * in any other unit may introduce conversion errors. - * - * @return true if this measure is exact; - * false otherwise. - */ - public boolean isExact() { - return _isExact; - } - - /** - * Returns the unit in which the {@link #getEstimatedValue() - * estimated value} and {@link #getAbsoluteError() absolute error} - * are stated. - * - * @return the measure unit. - */ - public Unit getUnit() { - return _unit; - } - - /** - * Returns the exact value for this measure stated in this measure - * {@link #getUnit unit}. - * - * @return the exact measure value (long) stated - * in this measure's {@link #getUnit unit} - * @throws AmountException if this measure is not {@link #isExact()} - */ - public long getExactValue() throws AmountException { - if (!_isExact) - throw new AmountException( - "Inexact measures don't have exact values"); - return _exactValue; - } - - /** - * Returns the estimated value for this measure stated in this measure - * {@link #getUnit unit}. - * - * @return the median value of the measure interval. - */ - public double getEstimatedValue() { - return (_isExact) ? _exactValue : (_minimum + _maximum) * 0.5; - } - - /** - * Returns the lower bound interval value for this measure stated in - * this measure unit. - * - * @return the minimum value. - */ - public double getMinimumValue() { - return _minimum; - } - - /** - * Returns the upper bound interval value for this measure stated in - * this measure unit. - * - * @return the maximum value. - */ - public double getMaximumValue() { - return _maximum; - } - - /** - * Returns the value by which the{@link #getEstimatedValue() estimated - * value} may differ from the true value (all stated in base units). - * - * @return the absolute error stated in base units. - */ - public double getAbsoluteError() { - return MathLib.abs(_maximum - _minimum) * 0.5; - } - - /** - * Returns the percentage by which the estimated amount may differ - * from the true amount. - * - * @return the relative error. - */ - public double getRelativeError() { - return _isExact ? 0 : (_maximum - _minimum) / (_minimum + _maximum); - } - - /** - * Returns the measure equivalent to this measure but stated in the - * specified unit. The returned measure may not be exact even if this - * measure is exact due to conversion errors. - * - * @param unit the unit of the measure to be returned. - * @return a measure equivalent to this measure but stated in the - * specified unit. - * @throws ConversionException if the current model does not allows for - * conversion to the specified unit. - */ - @SuppressWarnings("unchecked") - public Amount to(Unit unit) { - if ((_unit == unit) || this._unit.equals(unit)) - return (Amount) this; - UnitConverter cvtr = Amount.converterOf(_unit, unit); - if (cvtr == UnitConverter.IDENTITY) { // No conversion necessary. - Amount result = Amount.copyOf(this); - result._unit = unit; - return result; - } - if (cvtr instanceof RationalConverter) { // Exact conversion. - RationalConverter rc = (RationalConverter) cvtr; - Amount result = this.times(rc.getDividend()).divide(rc.getDivisor()); - result._unit = unit; - return result; - } - Amount result = Amount.newInstance(unit); - double min = cvtr.convert(_minimum); - double max = cvtr.convert(_maximum); - result._isExact = false; - result._minimum = (min < 0) ? min * INCREMENT : min * DECREMENT; - result._maximum = (max < 0) ? max * DECREMENT : max * INCREMENT; - return result; - } - - /** - * Returns the opposite of this measure. - * - * @return -this. - */ - public Amount opposite() { - Amount m = Amount.newInstance(_unit); - if ((_isExact) && (_exactValue != Long.MAX_VALUE)) - return m.setExact(-_exactValue); - m._isExact = false; - m._minimum = -_maximum; - m._maximum = -_minimum; - return m; - } - - /** - * Returns the sum of this measure with the one specified. - * - * @param that the measure to be added. - * @return this + that. - * @throws ConversionException if the current model does not allows for - * these quantities to be added. - */ - @SuppressWarnings("unchecked") - public Amount plus(Amount that) throws ConversionException { - final Amount thatToUnit = that.to(_unit); - Amount m = Amount.newInstance(_unit); - if (this._isExact && thatToUnit._isExact) { - long sumLong = this._exactValue + thatToUnit._exactValue; - double sumDouble = ((double) this._exactValue) - + ((double) thatToUnit._exactValue); - if (sumLong == sumDouble) - return m.setExact(sumLong); - } - double min = this._minimum + thatToUnit._minimum; - double max = this._maximum + thatToUnit._maximum; - m._isExact = false; - m._minimum = (min < 0) ? min * INCREMENT : min * DECREMENT; - m._maximum = (max < 0) ? max * DECREMENT : max * INCREMENT; - return m; - } - - /** - * Returns the difference of this measure with the one specified. - * - * @param that the measure to be subtracted. - * @return this - that. - * @throws ConversionException if the current model does not allows for - * these quantities to be subtracted. - */ - @SuppressWarnings("unchecked") - public Amount minus(Amount that) throws ConversionException { - final Amount thatToUnit = that.to(_unit); - Amount m = Amount.newInstance(_unit); - if (this._isExact && thatToUnit._isExact) { - long diffLong = this._exactValue - thatToUnit._exactValue; - double diffDouble = ((double) this._exactValue) - - ((double) thatToUnit._exactValue); - if (diffLong == diffDouble) - return m.setExact(diffLong); - } - double min = this._minimum - thatToUnit._maximum; - double max = this._maximum - thatToUnit._minimum; - m._isExact = false; - m._minimum = (min < 0) ? min * INCREMENT : min * DECREMENT; - m._maximum = (max < 0) ? max * DECREMENT : max * INCREMENT; - return m; - } - - /** - * Returns this measure scaled by the specified exact factor - * (dimensionless). - * - * @param factor the scaling factor. - * @return this · factor. - */ - public Amount times(long factor) { - Amount m = Amount.newInstance(_unit); - if (this._isExact) { - long productLong = _exactValue * factor; - double productDouble = ((double) _exactValue) * factor; - if (productLong == productDouble) - return m.setExact(productLong); - } - m._isExact = false; - m._minimum = (factor > 0) ? _minimum * factor : _maximum * factor; - m._maximum = (factor > 0) ? _maximum * factor : _minimum * factor; - return m; - } - - /** - * Returns this measure scaled by the specified approximate factor - * (dimensionless). - * - * @param factor the scaling factor. - * @return this · factor. - */ - public Amount times(double factor) { - Amount m = Amount.newInstance(_unit); - double min = (factor > 0) ? _minimum * factor : _maximum * factor; - double max = (factor > 0) ? _maximum * factor : _minimum * factor; - m._isExact = false; - m._minimum = (min < 0) ? min * INCREMENT : min * DECREMENT; - m._maximum = (max < 0) ? max * DECREMENT : max * INCREMENT; - return m; - } - - /** - * Returns the product of this measure with the one specified. - * - * @param that the measure multiplier. - * @return this · that. - */ - @SuppressWarnings("unchecked") - public Amount times(Amount that) { - Unit unit = Amount.productOf(this._unit, that._unit); - if (that._isExact) { - Amount m = this.times(that._exactValue); - m._unit = unit; - return m; - } - Amount m = Amount.newInstance(unit); - double min, max; - if (_minimum >= 0) { - if (that._minimum >= 0) { - min = _minimum * that._minimum; - max = _maximum * that._maximum; - } else if (that._maximum < 0) { - min = _maximum * that._minimum; - max = _minimum * that._maximum; - } else { - min = _maximum * that._minimum; - max = _maximum * that._maximum; - } - } else if (_maximum < 0) { - if (that._minimum >= 0) { - min = _minimum * that._maximum; - max = _maximum * that._minimum; - } else if (that._maximum < 0) { - min = _maximum * that._maximum; - max = _minimum * that._minimum; - } else { - min = _minimum * that._maximum; - max = _minimum * that._minimum; - } - } else { - if (that._minimum >= 0) { - min = _minimum * that._maximum; - max = _maximum * that._maximum; - } else if (that._maximum < 0) { - min = _maximum * that._minimum; - max = _minimum * that._minimum; - } else { // Both around zero. - min = MathLib.min(_minimum * that._maximum, _maximum - * that._minimum); - max = MathLib.max(_minimum * that._minimum, _maximum - * that._maximum); - } - } - m._isExact = false; - m._minimum = (min < 0) ? min * INCREMENT : min * DECREMENT; - m._maximum = (max < 0) ? max * DECREMENT : max * INCREMENT; - return m; - } - - /** - * Returns the multiplicative inverse of this measure. - * If this measure is possibly zero, then the result is unbounded - * (]-infinity, +infinity[). - * - * @return 1 / this. - */ - public Amount inverse() { - Amount m = newInstance(Amount.inverseOf(_unit)); - if ((_isExact) && (_exactValue == 1L)) { // Only one exact inverse: one - m.setExact(1L); - return m; - } - m._isExact = false; - if ((_minimum <= 0) && (_maximum >= 0)) { // Encompass zero. - m._minimum = Double.NEGATIVE_INFINITY; - m._maximum = Double.POSITIVE_INFINITY; - return m; - } - double min = 1.0 / _maximum; - double max = 1.0 / _minimum; - m._minimum = (min < 0) ? min * INCREMENT : min * DECREMENT; - m._maximum = (max < 0) ? max * DECREMENT : max * INCREMENT; - return m; - } - - /** - * Returns this measure divided by the specified exact divisor - * (dimensionless). - * - * @param divisor the exact divisor. - * @return this / divisor. - * @throws ArithmeticException if this measure is exact and the - * specified divisor is zero. - */ - public Amount divide(long divisor) { - Amount m = Amount.newInstance(_unit); - if (this._isExact) { - long quotientLong = _exactValue / divisor; - double quotientDouble = ((double) _exactValue) / divisor; - if (quotientLong == quotientDouble) - return m.setExact(quotientLong); - } - double min = (divisor > 0) ? _minimum / divisor : _maximum / divisor; - double max = (divisor > 0) ? _maximum / divisor : _minimum / divisor; - m._isExact = false; - m._minimum = (min < 0) ? min * INCREMENT : min * DECREMENT; - m._maximum = (max < 0) ? max * DECREMENT : max * INCREMENT; - return m; - } - - /** - * Returns this measure divided by the specified approximate divisor - * (dimensionless). - * - * @param divisor the approximated divisor. - * @return this / divisor. - */ - public Amount divide(double divisor) { - Amount m = Amount.newInstance(_unit); - double min = (divisor > 0) ? _minimum / divisor : _maximum / divisor; - double max = (divisor > 0) ? _maximum / divisor : _minimum / divisor; - m._isExact = false; - m._minimum = (min < 0) ? min * INCREMENT : min * DECREMENT; - m._maximum = (max < 0) ? max * DECREMENT : max * INCREMENT; - return m; - } - - /** - * Returns this measure divided by the one specified. - * - * @param that the measure divisor. - * @return this / that. - */ - @SuppressWarnings("unchecked") - public Amount divide(Amount that) { - if (that._isExact) { - Amount m = this.divide(that._exactValue); - m._unit = Amount.productOf(this._unit, Amount - .inverseOf(that._unit)); - return m; - } - return this.times(that.inverse()); - } - - /** - * Returns the absolute value of this measure. - * - * @return |this|. - */ - public Amount abs() { - return (_isExact) ? ((_exactValue < 0) ? this.opposite() : this) - : (_minimum >= -_maximum) ? this : this.opposite(); - } - - /** - * Returns the square root of this measure. - * - * @return sqrt(this) - * - */ - public Amount sqrt() { - Amount m = Amount.newInstance(_unit.root(2)); - if (this._isExact) { - double sqrtDouble = MathLib.sqrt(_exactValue); - long sqrtLong = (long) sqrtDouble; - if (sqrtLong * sqrtLong == _exactValue) - return m.setExact(sqrtLong); - } - double min = MathLib.sqrt(_minimum); - double max = MathLib.sqrt(_maximum); - m._isExact = false; - m._minimum = (min < 0) ? min * INCREMENT : min * DECREMENT; - m._maximum = (max < 0) ? max * DECREMENT : max * INCREMENT; - return m; - } - - /** - * Returns the given root of this measure. - * - * @param n the root's order (n != 0). - * @return the result of taking the given root of this quantity. - * @throws ArithmeticException if n == 0. - */ - public Amount root(int n) { - if (n == 0) - throw new ArithmeticException("Root's order of zero"); - if (n < 0) - return this.root(-n).inverse(); - if (n == 2) - return this.sqrt(); - Amount m = Amount.newInstance(_unit.root(n)); - if (this._isExact) { - double rootDouble = MathLib.pow(_exactValue, 1.0 / n); - long rootLong = (long) rootDouble; - long thisLong = rootLong; - for (int i = 1; i < n; i++) { - thisLong *= rootLong; - } - if (thisLong == _exactValue) - return m.setExact(rootLong); - } - double min = MathLib.pow(_minimum, 1.0 / n); - double max = MathLib.pow(_maximum, 1.0 / n); - m._isExact = false; - m._minimum = (min < 0) ? min * INCREMENT : min * DECREMENT; - m._maximum = (max < 0) ? max * DECREMENT : max * INCREMENT; - return m; - } - - /** - * Returns this measure raised at the specified exponent. - * - * @param exp the exponent. - * @return thisexp - */ - public Amount pow(int exp) { - if (exp < 0) - return this.pow(-exp).inverse(); - if (exp == 0) - return ONE; - Amount pow2 = this; - Amount result = null; - while (exp >= 1) { // Iteration. - if ((exp & 1) == 1) { - result = (result == null) ? pow2 : result.times(pow2); - } - pow2 = pow2.times(pow2); - exp >>>= 1; - } - return result; - } - - /** - * Compares this measure with the specified measurable object. - * - * @param that the measure to compare with. - * @return a negative integer, zero, or a positive integer as this measure - * is less than, equal to, or greater than that measurable. - * @throws ConversionException if the current model does not allows for - * these measure to be compared. - * - * Modified on 8/14/2007 by Michael J. North to allow Groovy comparision operators - * to work despite the following issues: - * - * http://jira.codehaus.org/browse/GROOVY-1888 - * http://jira.codehaus.org/browse/GROOVY-1889 - * - */ - @SuppressWarnings("unchecked") -// public int compareTo(Measurable that) { - public int compareTo(Object that) { - - double thatMinValue = Double.NaN; - double thatMaxValue = Double.NaN; - if (that instanceof Amount) { - Amount thatAmount = ((Amount) that); - thatMinValue = thatAmount.to(_unit).getMinimumValue(); - thatMaxValue = thatAmount.to(_unit).getMaximumValue(); - } else if (that instanceof Measurable) { - thatMinValue = ((Measurable) that).doubleValue(_unit); - thatMaxValue = thatMinValue; - } else if (that instanceof BigDecimal) { - Amount thatAmount = Amount.valueOf(((BigDecimal) that).doubleValue(), Unit.ONE); - thatMinValue = thatAmount.to(_unit).getMinimumValue(); - thatMaxValue = thatMinValue; - } - - double thisMinValue = this.getMinimumValue(); - double thisMaxValue = this.getMaximumValue(); - - if (Double.isNaN(thatMinValue) || Double.isNaN(thatMaxValue)) { - - if (Double.isNaN(thisMinValue) || Double.isNaN(thisMaxValue)) { - return 0; - } else { - return 1; - } - - } else if (Double.isNaN(thisMinValue) || Double.isNaN(thisMaxValue)) { - - return -1; - - } else if (Double.isInfinite(thatMaxValue) && (thatMaxValue > 0.0)) { - - if (Double.isInfinite(thisMaxValue) && (thisMaxValue > 0.0)) { - return 0; - } else { - return 1; - } - - } else if (Double.isInfinite(thisMaxValue) && (thisMaxValue > 0.0)) { - - return -1; - - } else if (Double.isInfinite(thatMinValue) && (thatMinValue < 0.0)) { - - if (Double.isInfinite(thisMinValue) && (thisMinValue < 0.0)) { - return 0; - } else { - return -1; - } - - } else if (Double.isInfinite(thisMinValue) && (thisMinValue < 0.0)) { - - return 1; - - } else if (((thisMinValue <= thatMaxValue) && (thatMaxValue <= thisMaxValue)) || - ((thatMinValue <= thisMaxValue) && (thisMaxValue <= thatMaxValue))) { - - return 0; - - } else if (thisMaxValue < thatMinValue) { - - return -1; - - } else { - - return 1; - - } - - } - - /** - * Compares this measure against the specified object for strict - * equality (same value interval and same units). - * - * @param that the object to compare with. - * @return true if this measure is identical to that - * measure; false otherwise. - * - * Modified on 8/14/2007 by Michael J. North to allow Groovy comparision operators - * to work despite the following issues: - * - * http://jira.codehaus.org/browse/GROOVY-1888 - * http://jira.codehaus.org/browse/GROOVY-1889 - * - */ - public boolean equals(Object that) { - if (this == that) { - return true; - } else if (that instanceof Amount) { - return (this.compareTo((Amount) that) == 0); - } else if (that instanceof Number) { - return (this.compareTo(Amount.valueOf(((Number) that).doubleValue(), Unit.ONE)) == 0); - } else { - return false; - } - } - - /** - * Returns the hash code for this measure. - * - * @return the hash code value. - */ - public int hashCode() { - int h = Float.floatToIntBits((float) _minimum); - h += ~(h << 9); - h ^= (h >>> 14); - h += (h << 4); - return h ^ (h >>> 10); - } - - /** - * Indicates if this measure approximates that measure. - * Measures are considered approximately equals if their value intervals - * overlaps. It should be noted that less accurate measurements are - * more likely to be approximately equals. It is therefore recommended - * to ensure that the measurement error is not too large before testing - * for approximate equality. - * - * @return this ≅ that - */ - @SuppressWarnings("unchecked") - public boolean approximates(Amount that) { - Amount thatToUnit = that.to(_unit); - return (this._maximum >= thatToUnit._minimum) - && (thatToUnit._maximum >= this._minimum); - } - - /** - * Indicates if this measure is ordered before that measure - * (independently of the measure unit). - * - * @return this.compareTo(that) < 0. - */ - public boolean isLessThan(Amount that) { - return this.compareTo(that) < 0; - } - - /** - * Indicates if this measure is ordered after that measure - * (independently of the measure unit). - * - * @return this.compareTo(that) > 0. - */ - public boolean isGreaterThan(Amount that) { - return this.compareTo(that) > 0; - } - - /** - * Compares this measure with that measure ignoring the sign. - * - * @return |this| > |that| - */ - public boolean isLargerThan(Amount that) { - return this.abs().isGreaterThan(that.abs()); - } - - /** - * Returns the text representation of this measure. - * - * @return AmountFormat.getInstance().format(this) - */ - public Text toText() { - return AmountFormat.getInstance().format(this); - } - - /** - * Returns the text representation of this amount as a - * java.lang.String. - * - * @return toText().toString() - */ - public final String toString() { - return this.getEstimatedValue() + " " + this.getUnit(); - } - - // Implements Quantity. - public double doubleValue(Unit unit) { - return ((_unit == unit) || _unit.equals(unit)) ? this - .getEstimatedValue() : this.to(unit).getEstimatedValue(); - } - - // Implements Quantity. - public final long longValue(Unit unit) { - if (!_unit.equals(unit)) - return this.to(unit).longValue(unit); - if (_isExact) - return _exactValue; - double doubleValue = this.getEstimatedValue(); - if ((doubleValue >= Long.MIN_VALUE) && (doubleValue <= Long.MAX_VALUE)) - return Math.round(doubleValue); - throw new ArithmeticException(doubleValue + " " + _unit - + " cannot be represented as long"); - } - - /////////////////// - // Lookup tables // - /////////////////// - - static final FastMap> MULT_LOOKUP = new FastMap>( - "UNITS_MULT_LOOKUP").setKeyComparator(FastComparator.DIRECT); - - static final FastMap INV_LOOKUP = new FastMap( - "UNITS_INV_LOOKUP").setKeyComparator(FastComparator.DIRECT); - - static final FastMap> CVTR_LOOKUP = new FastMap>( - "UNITS_CVTR_LOOKUP").setKeyComparator(FastComparator.DIRECT); - - private static Unit productOf(Unit left, Unit right) { - FastMap leftTable = MULT_LOOKUP.get(left); - if (leftTable == null) - return calculateProductOf(left, right); - Unit result = leftTable.get(right); - if (result == null) - return calculateProductOf(left, right); - return result; - } - - private static synchronized Unit calculateProductOf(final Unit left, final Unit right) { - MemoryArea memoryArea = MemoryArea.getMemoryArea(MULT_LOOKUP); - memoryArea.executeInArea(new Runnable() { - public void run() { - FastMap leftTable = MULT_LOOKUP.get(left); - if (leftTable == null) { - leftTable = new FastMap().setKeyComparator( - FastComparator.DIRECT); - MULT_LOOKUP.put(left, leftTable); - } - Unit result = leftTable.get(right); - if (result == null) { - result = left.times(right); - leftTable.put(right, result); - } - } - }); - return MULT_LOOKUP.get(left).get(right); - } - - private static Unit inverseOf(Unit unit) { - Unit inverse = INV_LOOKUP.get(unit); - if (inverse == null) - return calculateInverseOf(unit); - return inverse; - } - - private static synchronized Unit calculateInverseOf(final Unit unit) { - MemoryArea memoryArea = MemoryArea.getMemoryArea(INV_LOOKUP); - memoryArea.executeInArea(new Runnable() { - public void run() { - Unit inverse = INV_LOOKUP.get(unit); - if (inverse == null) { - inverse = unit.inverse(); - INV_LOOKUP.put(unit, inverse); - } - } - }); - return INV_LOOKUP.get(unit); - } - - private static UnitConverter converterOf(Unit left, Unit right) { - FastMap leftTable = CVTR_LOOKUP.get(left); - if (leftTable == null) - return calculateConverterOf(left, right); - UnitConverter result = leftTable.get(right); - if (result == null) - return calculateConverterOf(left, right); - return result; - } - - private static synchronized UnitConverter calculateConverterOf(final Unit left, - final Unit right) { - MemoryArea memoryArea = MemoryArea.getMemoryArea(CVTR_LOOKUP); - memoryArea.executeInArea(new Runnable() { - public void run() { - FastMap leftTable = CVTR_LOOKUP.get(left); - if (leftTable == null) { - leftTable = new FastMap() - .setKeyComparator(FastComparator.DIRECT); - synchronized (CVTR_LOOKUP) { - CVTR_LOOKUP.put(left, leftTable); - } - } - UnitConverter result = leftTable.get(right); - if (result == null) { - result = left.getConverterTo(right); - synchronized (leftTable) { - leftTable.put(right, result); - } - } - } - }); - return CVTR_LOOKUP.get(left).get(right); - } - - public Amount copy() { - Amount estimate = Amount.newInstance(_unit); - estimate._isExact = _isExact; - estimate._exactValue = _exactValue; - estimate._minimum = _minimum; - estimate._maximum = _maximum; - return estimate; - } - - ////////////////////// - // Factory Creation // - ////////////////////// - - @SuppressWarnings("unchecked") - private static Amount newInstance(Unit unit) { - Amount measure = FACTORY.object(); - measure._unit = unit; - return measure; - } - - @SuppressWarnings("unchecked") - private static Amount copyOf(Amount original) { - Amount measure = FACTORY.object(); - measure._exactValue = original._exactValue; - measure._isExact = original._isExact; - measure._maximum = original._maximum; - measure._minimum = original._minimum; - measure._unit = original._unit; - return measure; - } - - private static final ObjectFactory FACTORY = new ObjectFactory() { - - @Override - protected Amount create() { - return new Amount(); - } - }; - - private Amount() { - } - - private Amount setExact(long exactValue) { - _isExact = true; - _exactValue = exactValue; - double doubleValue = exactValue; - if (doubleValue == exactValue) { - _minimum = doubleValue; - _maximum = doubleValue; - } else { - double valInc = exactValue * INCREMENT; - double valDec = exactValue * DECREMENT; - _minimum = (_exactValue < 0) ? valInc : valDec; - _maximum = (_exactValue < 0) ? valDec : valInc; - } - return this; - } - - static final double DOUBLE_RELATIVE_ERROR = MathLib.pow(2, -53); - - static final double DECREMENT = (1.0 - DOUBLE_RELATIVE_ERROR); - - static final double INCREMENT = (1.0 + DOUBLE_RELATIVE_ERROR); - - private static final long serialVersionUID = 1L; - - -} \ No newline at end of file diff --git a/repast.simphony.core/src/repast/simphony/engine/schedule/ISchedule.java b/repast.simphony.core/src/repast/simphony/engine/schedule/ISchedule.java index 06ab71988..ee0e14224 100644 --- a/repast.simphony.core/src/repast/simphony/engine/schedule/ISchedule.java +++ b/repast.simphony.core/src/repast/simphony/engine/schedule/ISchedule.java @@ -1,9 +1,10 @@ package repast.simphony.engine.schedule; -import org.jscience.physics.amount.Amount; import java.util.List; +import javax.measure.Quantity; + /** * Interface for objects that manage the execution of actions according to a simulation clock. The clock, @@ -17,7 +18,7 @@ * @version $Revision: 1.1 $ $Date: 2005/12/21 22:25:34 $ */ public interface ISchedule extends IAction { - + /** * Schedules the specified IAction for execution according to the specified schedule parameters. * @@ -127,21 +128,21 @@ ISchedulableAction scheduleIterable(ScheduleParameters scheduleParams, Iterable * * @return the current tick count in user time units. */ - Amount getTickCountInTimeUnits(); + Quantity getTickCountInTimeQuantity(); /** * Gets the current user time units. * * @return the current user time units. */ - Amount getTimeUnits(); + Quantity getTimeQuantity(); /** * Sets the current user time units. * * @param newUnits the new user time units. */ - void setTimeUnits(Amount newUnits); + void setTimeQuantity(Quantity newUnits); /** * Gets the number of currently scheduled actions. diff --git a/repast.simphony.core/src/repast/simphony/engine/schedule/Schedule.java b/repast.simphony.core/src/repast/simphony/engine/schedule/Schedule.java index a6dd57d79..e5a22ae02 100644 --- a/repast.simphony.core/src/repast/simphony/engine/schedule/Schedule.java +++ b/repast.simphony.core/src/repast/simphony/engine/schedule/Schedule.java @@ -1,10 +1,13 @@ package repast.simphony.engine.schedule; -import org.jscience.physics.amount.Amount; - -import javax.measure.unit.Unit; import java.util.List; +import javax.measure.Quantity; + +import tech.units.indriya.function.Calculus; +import tech.units.indriya.function.DefaultNumberSystem; +import tech.units.indriya.quantity.Quantities; + /** * Manages the execution of IAction-s according to a simulation clock. The clock, measured in "ticks", is @@ -24,6 +27,18 @@ */ public class Schedule implements ISchedule { + /* + * The new java units api implementation "indriya" uses a java ServiceLoader that unfortunately + * uses the default classloader instead of the java plugin classloader, so it can't find + * the services. Fortunately there is only one NumberSystem implemented, so there is no + * reason to use the ServiceLoader approach and we can just mannually set it here. + * + * TODO Check if this is fixed in future units release then we can remove it. + */ + static { + Calculus.setCurrentNumberSystem(new DefaultNumberSystem()); + } + static final long serialVersionUID = 7686585829552316670L; protected ActionQueue actionQueue; @@ -31,7 +46,14 @@ public class Schedule implements ISchedule { protected ScheduleGroup groupToExecute; protected ScheduleGroup endActions; protected ISchedulableActionFactory actionFactory; - protected Amount userTimeUnits; + + /** + * User time quantity converts some abstract quantity to a schedule tick value, and + * visa versa. For example the user might want 1.0 tick to represent 2 time seconds. + * Java Quantity is generic, and we do not restrict the type to a *Time* quantity, so + * the tick can represent any quantity. + */ + protected Quantity userTimeQuantity; /** * Creates a Schedule that by default uses a DefaultSchedulableActionFactory to create its @@ -73,11 +95,11 @@ public double getTickCount() { * * @return the current tick count in user time units. */ - public Amount getTickCountInTimeUnits() { - if (this.userTimeUnits == null) { - return Amount.valueOf(this.tickCount, Unit.ONE); + public Quantity getTickCountInTimeQuantity() { + if (this.userTimeQuantity == null) { + return Quantities.getQuantity(this.tickCount, tech.units.indriya.AbstractUnit.ONE); } else { - return this.userTimeUnits.times(this.tickCount); + return this.userTimeQuantity.multiply(this.tickCount); } } @@ -87,11 +109,12 @@ public Amount getTickCountInTimeUnits() { * @param timeUnitsToConvert the time units to convert. * @return the converted ticks. */ - public Double convertTimeUnitsToTicks(Amount timeUnitsToConvert) { - if ((this.userTimeUnits == null || (this.userTimeUnits.getEstimatedValue() == 0.0))) { - return timeUnitsToConvert.getEstimatedValue(); - } else { - return timeUnitsToConvert.divide(this.userTimeUnits).getEstimatedValue(); + public Double convertTimeQuantityToTicks(Quantity timeUnitsToConvert) { + if ((this.userTimeQuantity == null || (this.userTimeQuantity.getValue().doubleValue() == 0.0))) { + return timeUnitsToConvert.getValue().doubleValue(); + } + else { + return timeUnitsToConvert.divide(this.userTimeQuantity).getValue().doubleValue(); } } @@ -101,11 +124,11 @@ public Double convertTimeUnitsToTicks(Amount timeUnitsToConvert) { * @param ticks time units to convert. * @return the converted ticks. */ - public Amount convertTicksToTimeUnits(double ticks) { - if (this.userTimeUnits == null) { - return Amount.valueOf(ticks, Unit.ONE); + public Quantity convertTicksToTimeQuantity(double ticks) { + if (this.userTimeQuantity == null) { + return Quantities.getQuantity(ticks, tech.units.indriya.AbstractUnit.ONE); } else { - return this.userTimeUnits.times(ticks); + return this.userTimeQuantity.multiply(ticks); } } @@ -114,8 +137,8 @@ public Amount convertTicksToTimeUnits(double ticks) { * * @return the current user time units. */ - public Amount getTimeUnits() { - return this.userTimeUnits; + public Quantity getTimeQuantity() { + return this.userTimeQuantity; } /** @@ -123,8 +146,8 @@ public Amount getTimeUnits() { * * @param newUnits the new user time units. */ - public void setTimeUnits(Amount newUnits) { - this.userTimeUnits = newUnits; + public void setTimeQuantity(Quantity newUnits) { + this.userTimeQuantity = newUnits; } /** diff --git a/repast.simphony.core/src/repast/simphony/freezedry/FreezeDryedRegistry.java b/repast.simphony.core/src/repast/simphony/freezedry/FreezeDryedRegistry.java index ce60712fa..242df6615 100644 --- a/repast.simphony.core/src/repast/simphony/freezedry/FreezeDryedRegistry.java +++ b/repast.simphony.core/src/repast/simphony/freezedry/FreezeDryedRegistry.java @@ -11,7 +11,6 @@ import repast.simphony.context.Context; import repast.simphony.engine.environment.ProjectionRegistry; import repast.simphony.engine.environment.ProjectionRegistryData; -import repast.simphony.freezedry.freezedryers.AmountFreezeDryer; import repast.simphony.freezedry.freezedryers.ArrayFreezeDryer; import repast.simphony.freezedry.freezedryers.BigDecimalFreezeDryer; import repast.simphony.freezedry.freezedryers.ClassFreezeDryer; @@ -20,6 +19,7 @@ import repast.simphony.freezedry.freezedryers.DefaultFreezeDryer; import repast.simphony.freezedry.freezedryers.MapFreezeDryer; import repast.simphony.freezedry.freezedryers.PrimitiveFreezeDryer; +import repast.simphony.freezedry.freezedryers.QuantityFreezeDryer; import simphony.util.messages.MessageCenter; public class FreezeDryedRegistry { @@ -59,7 +59,7 @@ public FreezeDryedRegistry() { driers.add(new MapFreezeDryer(this)); driers.add(new CollectionFreezeDryer(this)); driers.add(new ClassFreezeDryer(this)); - driers.add(new AmountFreezeDryer()); + driers.add(new QuantityFreezeDryer()); driers.add(new BigDecimalFreezeDryer()); // Add additional driers from the projection registry. diff --git a/repast.simphony.core/src/repast/simphony/freezedry/freezedryers/AmountFreezeDryer.java b/repast.simphony.core/src/repast/simphony/freezedry/freezedryers/AmountFreezeDryer.java deleted file mode 100644 index 88b761f30..000000000 --- a/repast.simphony.core/src/repast/simphony/freezedry/freezedryers/AmountFreezeDryer.java +++ /dev/null @@ -1,29 +0,0 @@ -package repast.simphony.freezedry.freezedryers; - -import org.jscience.physics.amount.Amount; - -import repast.simphony.freezedry.FreezeDryedObject; -import repast.simphony.freezedry.FreezeDryer; -import repast.simphony.freezedry.FreezeDryingException; - -public class AmountFreezeDryer implements FreezeDryer { - - private static final String STR_REP = "STR_REP"; - - - public Amount rehydrate(FreezeDryedObject fdo) throws FreezeDryingException { - String text = (String) fdo.get(STR_REP); - return Amount.valueOf(text); - } - - public FreezeDryedObject freezeDry(String id, Amount amt) - throws FreezeDryingException { - FreezeDryedObject fdo = new FreezeDryedObject(id, Amount.class); - fdo.put(STR_REP, amt.toString()); - return fdo; - } - - public boolean handles(Class clazz) { - return clazz.equals(Amount.class); - } -} \ No newline at end of file diff --git a/repast.simphony.core/src/repast/simphony/freezedry/freezedryers/BigDecimalFreezeDryer.java b/repast.simphony.core/src/repast/simphony/freezedry/freezedryers/BigDecimalFreezeDryer.java index c5f58cdb1..c9740bc38 100644 --- a/repast.simphony.core/src/repast/simphony/freezedry/freezedryers/BigDecimalFreezeDryer.java +++ b/repast.simphony.core/src/repast/simphony/freezedry/freezedryers/BigDecimalFreezeDryer.java @@ -1,7 +1,5 @@ package repast.simphony.freezedry.freezedryers; -import org.jscience.physics.amount.Amount; - import repast.simphony.freezedry.FreezeDryedObject; import repast.simphony.freezedry.FreezeDryer; import repast.simphony.freezedry.FreezeDryingException; diff --git a/repast.simphony.core/src/repast/simphony/freezedry/freezedryers/QuantityFreezeDryer.java b/repast.simphony.core/src/repast/simphony/freezedry/freezedryers/QuantityFreezeDryer.java new file mode 100644 index 000000000..f81709181 --- /dev/null +++ b/repast.simphony.core/src/repast/simphony/freezedry/freezedryers/QuantityFreezeDryer.java @@ -0,0 +1,29 @@ +package repast.simphony.freezedry.freezedryers; + +import javax.measure.Quantity; + +import repast.simphony.freezedry.FreezeDryedObject; +import repast.simphony.freezedry.FreezeDryer; +import repast.simphony.freezedry.FreezeDryingException; +import tech.units.indriya.AbstractQuantity; + +public class QuantityFreezeDryer implements FreezeDryer> { + + private static final String STR_REP = "STR_REP"; + + + public Quantity rehydrate(FreezeDryedObject fdo) throws FreezeDryingException { + String text = (String) fdo.get(STR_REP); + return AbstractQuantity.parse(text); + } + + public FreezeDryedObject freezeDry(String id, Quantity amt) throws FreezeDryingException { + FreezeDryedObject fdo = new FreezeDryedObject(id, Quantity.class); + fdo.put(STR_REP, amt.toString()); + return fdo; + } + + public boolean handles(Class clazz) { + return clazz.equals(Quantity.class); + } +} \ No newline at end of file diff --git a/repast.simphony.core/src/repast/simphony/xml/AmountConverter.java b/repast.simphony.core/src/repast/simphony/xml/QuantityConverter.java similarity index 67% rename from repast.simphony.core/src/repast/simphony/xml/AmountConverter.java rename to repast.simphony.core/src/repast/simphony/xml/QuantityConverter.java index c3baef2da..913856a17 100644 --- a/repast.simphony.core/src/repast/simphony/xml/AmountConverter.java +++ b/repast.simphony.core/src/repast/simphony/xml/QuantityConverter.java @@ -1,29 +1,32 @@ package repast.simphony.xml; +import javax.measure.Quantity; + import com.thoughtworks.xstream.converters.MarshallingContext; import com.thoughtworks.xstream.converters.UnmarshallingContext; import com.thoughtworks.xstream.io.HierarchicalStreamReader; import com.thoughtworks.xstream.io.HierarchicalStreamWriter; -import org.jscience.physics.amount.Amount; + +import tech.units.indriya.AbstractQuantity; /** * Converter for Amount classes. * * @author Nick Collier */ -public class AmountConverter extends AbstractConverter { +public class QuantityConverter extends AbstractConverter { public void marshal(Object o, HierarchicalStreamWriter writer, MarshallingContext marshallingContext) { - Amount amount = (Amount) o; - writeString("amount_value", amount.toString(), writer); + Quantity quantity = (Quantity) o; + writeString("amount_value", quantity.toString(), writer); } public Object unmarshal(HierarchicalStreamReader reader, UnmarshallingContext unmarshallingContext) { String val = readNextString(reader); - return Amount.valueOf(val); + return AbstractQuantity.parse(val); } public boolean canConvert(Class aClass) { - return aClass.equals(Amount.class); + return aClass.equals(Quantity.class); } } diff --git a/repast.simphony.core/src/repast/simphony/xml/XMLSerializer.java b/repast.simphony.core/src/repast/simphony/xml/XMLSerializer.java index 124661960..88699064d 100644 --- a/repast.simphony.core/src/repast/simphony/xml/XMLSerializer.java +++ b/repast.simphony.core/src/repast/simphony/xml/XMLSerializer.java @@ -16,6 +16,7 @@ import com.thoughtworks.xstream.converters.UnmarshallingContext; import com.thoughtworks.xstream.io.HierarchicalStreamReader; import com.thoughtworks.xstream.io.HierarchicalStreamWriter; +import com.thoughtworks.xstream.security.AnyTypePermission; import repast.simphony.engine.environment.ProjectionRegistry; import repast.simphony.engine.environment.ProjectionRegistryData; @@ -72,7 +73,7 @@ public void marshal(Object o, HierarchicalStreamWriter writer, MarshallingContex private List nonDefaultConverter = new ArrayList(); - private XStream xstream = new XStream(); + private XStream xstream; private List defaultConverters = new ArrayList(); @@ -85,10 +86,17 @@ public XMLSerializer() { defaultConverters.add(new GridConverter()); defaultConverters.add(new SpaceConverter()); defaultConverters.add(new RootConverter()); - defaultConverters.add(new AmountConverter()); + defaultConverters.add(new QuantityConverter()); defaultConverters.add(new GridValueLayerConverter()); defaultConverters.add(new ContinuousValueLayerConverter()); - + + xstream = new XStream(); + + // Xstream Security settings. We can either allow any types to be deserialized, + // or filter by regex. Here we allow any since this class is used to de/serialize + // user model classes. JRE classes are allowed by default. + xstream.addPermission(AnyTypePermission.ANY); + // Add additional converters from the projection registry. for (ProjectionRegistryData data : ProjectionRegistry.getRegistryData()){ defaultConverters.add(data.getProjectionXMLConverter()); diff --git a/repast.simphony.core/test/repast/simphony/engine/schedule/ScheduleTest.java b/repast.simphony.core/test/repast/simphony/engine/schedule/ScheduleTest.java index cabf8b00e..ec1e6dbf0 100644 --- a/repast.simphony.core/test/repast/simphony/engine/schedule/ScheduleTest.java +++ b/repast.simphony.core/test/repast/simphony/engine/schedule/ScheduleTest.java @@ -7,13 +7,15 @@ import java.util.NoSuchElementException; import java.util.Set; -import junit.framework.TestCase; -import junit.framework.TestSuite; +import javax.measure.Quantity; import org.apache.log4j.BasicConfigurator; +import junit.framework.TestCase; +import junit.framework.TestSuite; import repast.simphony.engine.environment.RunState; import repast.simphony.random.RandomHelper; +import tech.units.indriya.quantity.Quantities; /** * Unit tests for the schedule package. @@ -1128,6 +1130,27 @@ public void testSameTickSchedule() { assertEquals(1.0, action2.getExecutedAt()); assertEquals(1.0, schedule.getTickCount()); } + + public void testSetTimeQuanity() { + + Quantity quant = Quantities.getQuantity(2.5, tech.units.indriya.unit.Units.SECOND); + schedule.setTimeQuantity(quant); + + assertEquals(schedule.getTimeQuantity(), quant); + + SameTickTestAction action1 = new SameTickTestAction(schedule); + schedule.schedule(ScheduleParameters.createOneTime(1), action1); + schedule.execute(); + assertEquals(1.0, action1.getExecutedAt()); + assertEquals(1.0, schedule.getTickCount()); + + double tick = schedule.getTickCount(); + + Quantity other_quant = schedule.getTickCountInTimeQuantity(); + boolean same = other_quant.toString().equals(quant.toString()); + assertTrue(same); + + } public void testSameTickPriority() { final TestAction firstAction = new TestAction(schedule); diff --git a/repast.simphony.data.ui/META-INF/MANIFEST.MF b/repast.simphony.data.ui/META-INF/MANIFEST.MF index 835567eaf..023dbfa62 100644 --- a/repast.simphony.data.ui/META-INF/MANIFEST.MF +++ b/repast.simphony.data.ui/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Repast ui Bundle-SymbolicName: repast.simphony.data.ui -Bundle-Version: 2.9.1 +Bundle-Version: 2.10.0 Require-Bundle: saf.core.ui, repast.simphony.data, repast.simphony.gui, @@ -10,7 +10,7 @@ Require-Bundle: saf.core.ui, repast.simphony.core, repast.simphony.runtime, repast.simphony.scenario, - repast.simphony.eclipse;bundle-version="2.9.1" + repast.simphony.eclipse;bundle-version="2.10.0" Export-Package: repast.simphony.data.analysis, repast.simphony.data2.gui, repast.simphony.data2.wizard diff --git a/repast.simphony.data.ui/plugin_jpf.xml b/repast.simphony.data.ui/plugin_jpf.xml index 587812d08..1c9c0ff6e 100644 --- a/repast.simphony.data.ui/plugin_jpf.xml +++ b/repast.simphony.data.ui/plugin_jpf.xml @@ -3,7 +3,7 @@ - + diff --git a/repast.simphony.data/META-INF/MANIFEST.MF b/repast.simphony.data/META-INF/MANIFEST.MF index c6528ee8c..88f3d31b6 100644 --- a/repast.simphony.data/META-INF/MANIFEST.MF +++ b/repast.simphony.data/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Repast data Bundle-SymbolicName: repast.simphony.data -Bundle-Version: 2.9.1 +Bundle-Version: 2.10.0 Bundle-ClassPath: bin/ Export-Package: repast.simphony.data2, repast.simphony.data2.builder, diff --git a/repast.simphony.data/plugin_jpf.xml b/repast.simphony.data/plugin_jpf.xml index e62f093c6..da5025363 100644 --- a/repast.simphony.data/plugin_jpf.xml +++ b/repast.simphony.data/plugin_jpf.xml @@ -2,7 +2,7 @@ - + diff --git a/repast.simphony.dataLoader.ui/META-INF/MANIFEST.MF b/repast.simphony.dataLoader.ui/META-INF/MANIFEST.MF index 5cf511af5..1bdf1b6d5 100644 --- a/repast.simphony.dataLoader.ui/META-INF/MANIFEST.MF +++ b/repast.simphony.dataLoader.ui/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Repast dataloader ui Bundle-SymbolicName: repast.simphony.dataLoader.ui -Bundle-Version: 2.9.1 +Bundle-Version: 2.10.0 Export-Package: repast.simphony.dataLoader.ui, repast.simphony.dataLoader.ui.wizard, repast.simphony.dataLoader.ui.wizard.builder diff --git a/repast.simphony.dataLoader.ui/plugin_jpf.xml b/repast.simphony.dataLoader.ui/plugin_jpf.xml index d17b2cf01..e15b53e66 100644 --- a/repast.simphony.dataLoader.ui/plugin_jpf.xml +++ b/repast.simphony.dataLoader.ui/plugin_jpf.xml @@ -3,7 +3,7 @@ - + diff --git a/repast.simphony.dataLoader/META-INF/MANIFEST.MF b/repast.simphony.dataLoader/META-INF/MANIFEST.MF index db3e7af29..6633b6c6d 100644 --- a/repast.simphony.dataLoader/META-INF/MANIFEST.MF +++ b/repast.simphony.dataLoader/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Repast dataloader Bundle-SymbolicName: repast.simphony.dataLoader -Bundle-Version: 2.9.1 +Bundle-Version: 2.10.0 Require-Bundle: repast.simphony.core, repast.simphony.plugin.util, repast.simphony.scenario, diff --git a/repast.simphony.dataLoader/plugin_jpf.xml b/repast.simphony.dataLoader/plugin_jpf.xml index f4ec7e327..67bf70bc4 100644 --- a/repast.simphony.dataLoader/plugin_jpf.xml +++ b/repast.simphony.dataLoader/plugin_jpf.xml @@ -3,7 +3,7 @@ - + diff --git a/repast.simphony.dataLoader/src/repast/simphony/dataLoader/engine/ContextXMLBuilder.java b/repast.simphony.dataLoader/src/repast/simphony/dataLoader/engine/ContextXMLBuilder.java index d9a373ead..37e04fffd 100644 --- a/repast.simphony.dataLoader/src/repast/simphony/dataLoader/engine/ContextXMLBuilder.java +++ b/repast.simphony.dataLoader/src/repast/simphony/dataLoader/engine/ContextXMLBuilder.java @@ -3,7 +3,7 @@ import java.util.ArrayList; import java.util.List; -import org.jscience.physics.amount.Amount; +import javax.measure.Quantity; import repast.simphony.context.Context; import repast.simphony.dataLoader.ContextBuilder; @@ -12,6 +12,7 @@ import repast.simphony.scenario.data.ContextData; import repast.simphony.scenario.data.ProjectionData; import simphony.util.messages.MessageCenter; +import tech.units.indriya.AbstractQuantity; /** * Builds a context based only the info in an SContext. @@ -26,14 +27,14 @@ public class ContextXMLBuilder implements ContextBuilder { private Object id; - private Amount tickUnits; + private Quantity userTimeQuantity; public ContextXMLBuilder(ContextData context) { for (Attribute attribute : context.attributes()) { if (attribute.getId().equals(AutoBuilderConstants.TIME_UNITS_ID) && attribute.getType().equals(String.class) && attribute.getValue().trim().length() > 0) { try { - tickUnits = Amount.valueOf(attribute.getValue()); + userTimeQuantity = AbstractQuantity.parse(attribute.getValue()); } catch (Exception ex) { msg.warn("Error setting time units: unit values must be parsable by Amount.valueOf()", ex); } @@ -63,8 +64,8 @@ public Context build(Context context) { // this assumes that the context is not an agent, // that is that we don't have multiple contexts of this type. - if (tickUnits != null) { - RunEnvironment.getInstance().getCurrentSchedule().setTimeUnits(tickUnits); + if (userTimeQuantity != null) { + RunEnvironment.getInstance().getCurrentSchedule().setTimeQuantity(userTimeQuantity); } context.setTypeID(id); diff --git a/repast.simphony.deployment/Building Javadoc.txt b/repast.simphony.deployment/Building Javadoc.txt index 3e54094f2..2f24d4b28 100644 --- a/repast.simphony.deployment/Building Javadoc.txt +++ b/repast.simphony.deployment/Building Javadoc.txt @@ -3,6 +3,9 @@ Building Repast Javadoc 1. Run the Ant javadoc.xml. You may need to modify or create a launch config that provides the javadoc executable if not on the system path. + **** NOTE! Requires JDK 11 to generate the proper stylesheet that is compatible + with the groovydocs! + - Update the javadoc title in javadoc.xml - Check the link href to online Java API in javadoc.xml - Make sure that links to Java base classes work in the generated javadoc. diff --git a/repast.simphony.deployment/Generate javadoc Win.launch b/repast.simphony.deployment/Generate javadoc Win.launch index 7ab59ddf9..771456647 100644 --- a/repast.simphony.deployment/Generate javadoc Win.launch +++ b/repast.simphony.deployment/Generate javadoc Win.launch @@ -14,8 +14,11 @@ + + + diff --git a/repast.simphony.deployment/javadoc.xml b/repast.simphony.deployment/javadoc.xml index 87b805956..1db830526 100644 --- a/repast.simphony.deployment/javadoc.xml +++ b/repast.simphony.deployment/javadoc.xml @@ -52,11 +52,11 @@ author="true" version="true" use="true" - windowtitle="Repast Simphony 2.9 API" + windowtitle="Repast Simphony 2.10 API" useexternalfile="yes" nohelp="false" noindex="false" - additionalparam="--ignore-source-errors --no-module-directories"> + additionalparam="--ignore-source-errors"> diff --git a/repast.simphony.deployment/update_jpf_plugins.xml b/repast.simphony.deployment/update_jpf_plugins.xml index 5e4a06334..ebcf042d9 100644 --- a/repast.simphony.deployment/update_jpf_plugins.xml +++ b/repast.simphony.deployment/update_jpf_plugins.xml @@ -1,6 +1,6 @@ - + diff --git a/repast.simphony.distributed.batch.ui/META-INF/MANIFEST.MF b/repast.simphony.distributed.batch.ui/META-INF/MANIFEST.MF index 26380fc8e..2d9e1f281 100644 --- a/repast.simphony.distributed.batch.ui/META-INF/MANIFEST.MF +++ b/repast.simphony.distributed.batch.ui/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Repast distriubuted batch ui Bundle-SymbolicName: repast.simphony.distributed.batch.ui -Bundle-Version: 2.9.1 +Bundle-Version: 2.10.0 Require-Bundle: repast.simphony.scenario, saf.core.ui, repast.simphony.gui, diff --git a/repast.simphony.distributed.batch.ui/dist/build_dist.xml b/repast.simphony.distributed.batch.ui/dist/build_dist.xml index 2ddf5ae95..3e7d86317 100644 --- a/repast.simphony.distributed.batch.ui/dist/build_dist.xml +++ b/repast.simphony.distributed.batch.ui/dist/build_dist.xml @@ -11,14 +11,14 @@ - + - + diff --git a/repast.simphony.distributed.batch.ui/plugin_jpf.xml b/repast.simphony.distributed.batch.ui/plugin_jpf.xml index 03a0497cb..fd395fcaf 100644 --- a/repast.simphony.distributed.batch.ui/plugin_jpf.xml +++ b/repast.simphony.distributed.batch.ui/plugin_jpf.xml @@ -3,7 +3,7 @@ - + diff --git a/repast.simphony.distributed.batch.ui/src-standalone/repast/simphony/batch/standalone/StandAloneMain.java b/repast.simphony.distributed.batch.ui/src-standalone/repast/simphony/batch/standalone/StandAloneMain.java index 2c2bc1c36..05f383951 100644 --- a/repast.simphony.distributed.batch.ui/src-standalone/repast/simphony/batch/standalone/StandAloneMain.java +++ b/repast.simphony.distributed.batch.ui/src-standalone/repast/simphony/batch/standalone/StandAloneMain.java @@ -55,7 +55,7 @@ public static Options getOptions() { return options; } - private static final String PLUGINS_VERSION = "2.9.1"; + private static final String PLUGINS_VERSION = "2.10.0"; private static final String PLUGIN_DIR = "plugin_dir"; public static final String MODEL_DIR = "model_dir"; public static final String PROPS_FILE = "props_file"; diff --git a/repast.simphony.distributed.batch.ui/src/repast/simphony/batch/gui/BatchRunConfigBean.java b/repast.simphony.distributed.batch.ui/src/repast/simphony/batch/gui/BatchRunConfigBean.java index f6f8bbc8a..67f542d6d 100644 --- a/repast.simphony.distributed.batch.ui/src/repast/simphony/batch/gui/BatchRunConfigBean.java +++ b/repast.simphony.distributed.batch.ui/src/repast/simphony/batch/gui/BatchRunConfigBean.java @@ -5,24 +5,24 @@ import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; +import java.lang.management.ManagementFactory; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Properties; +import com.jgoodies.binding.beans.ExtendedPropertyChangeSupport; + import repast.simphony.batch.gui.Host.Type; import repast.simphony.batch.ssh.Configuration; import repast.simphony.batch.ssh.OutputPattern; import repast.simphony.batch.ssh.OutputPatternPropsParser; -import com.jgoodies.binding.beans.ExtendedPropertyChangeSupport; - /** * Contains the data used by the GUI interface. * - * @author Nick Collier - */ + * @author Nick Collier */ public class BatchRunConfigBean { private static final String MODEL_DIRECTORY = "model.directory"; @@ -41,10 +41,12 @@ public class BatchRunConfigBean { private static final String INSTANCES = "instances"; private static final String KEY_FILE = "key_file"; - private String modelDirectory = "", scenarioDirectory = "", outputDirectory = "", - keyDirectory = System.getProperty("user.home") + "/.ssh", - vmArguments = ""; + keyDirectory = System.getProperty("user.home") + "/.ssh"; + + // Copy the VM args passed in from the launch or batch script + private String vmArguments = String.join(" ", ManagementFactory.getRuntimeMXBean().getInputArguments()); + private String batchParameterFile = "", parameterFile = ""; private double pollFrequency = 1; private List hosts = new ArrayList(); diff --git a/repast.simphony.distributed.batch.ui/src/repast/simphony/batch/gui/ModelPanel.java b/repast.simphony.distributed.batch.ui/src/repast/simphony/batch/gui/ModelPanel.java index 6b4a7a1bd..6f6ce2dd6 100644 --- a/repast.simphony.distributed.batch.ui/src/repast/simphony/batch/gui/ModelPanel.java +++ b/repast.simphony.distributed.batch.ui/src/repast/simphony/batch/gui/ModelPanel.java @@ -23,8 +23,6 @@ import javax.swing.event.TableModelEvent; import javax.swing.event.TableModelListener; -import repast.simphony.batch.ssh.OutputPattern; - import com.jgoodies.binding.PresentationModel; import com.jgoodies.binding.adapter.Bindings; import com.jgoodies.binding.adapter.SpinnerAdapterFactory; @@ -36,6 +34,8 @@ import com.jgoodies.forms.layout.FormSpecs; import com.jgoodies.forms.layout.RowSpec; +import repast.simphony.batch.ssh.OutputPattern; + /** * @author Nick Collier */ @@ -46,7 +46,7 @@ public class ModelPanel extends JPanel implements BatchRunPanel { private JTextField scenarioFld = new JTextField(20); private JTextField outFld = new JTextField(20); private JTextField vmFld = new JTextField(20); - private JTextField keyDirFld = new JTextField(System.getProperty("user.home") + "/.ssh", 20); + private JTextField keyDirFld = new JTextField(20); private JSpinner pollSpn = new JSpinner(); private PatternTableModel tableModel; diff --git a/repast.simphony.distributed.batch/META-INF/MANIFEST.MF b/repast.simphony.distributed.batch/META-INF/MANIFEST.MF index 9bc833390..8187d1328 100644 --- a/repast.simphony.distributed.batch/META-INF/MANIFEST.MF +++ b/repast.simphony.distributed.batch/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Repast distributed batch Bundle-SymbolicName: repast.simphony.distributed.batch -Bundle-Version: 2.9.1 +Bundle-Version: 2.10.0 Require-Bundle: repast.simphony.batch, repast.simphony.core, repast.simphony.data, diff --git a/repast.simphony.distributed.batch/plugin_jpf.xml b/repast.simphony.distributed.batch/plugin_jpf.xml index eed1187f7..b18dd6200 100644 --- a/repast.simphony.distributed.batch/plugin_jpf.xml +++ b/repast.simphony.distributed.batch/plugin_jpf.xml @@ -3,7 +3,7 @@ - + diff --git a/repast.simphony.distributed.batch/src/scripts/build.xml b/repast.simphony.distributed.batch/src/scripts/build.xml index 1b8e10723..21e23ed4d 100644 --- a/repast.simphony.distributed.batch/src/scripts/build.xml +++ b/repast.simphony.distributed.batch/src/scripts/build.xml @@ -136,7 +136,6 @@ - diff --git a/repast.simphony.eclipse/META-INF/MANIFEST.MF b/repast.simphony.eclipse/META-INF/MANIFEST.MF index 51aa368a8..2b644c892 100644 --- a/repast.simphony.eclipse/META-INF/MANIFEST.MF +++ b/repast.simphony.eclipse/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Repast Simphony Bundle-SymbolicName: repast.simphony.eclipse;singleton:=true -Bundle-Version: 2.9.1 +Bundle-Version: 2.10.0 Bundle-ClassPath: bin/ Bundle-Activator: repast.simphony.eclipse.RepastSimphonyPlugin Bundle-Vendor: Argonne National Laboratory diff --git a/repast.simphony.eclipse/about.properties b/repast.simphony.eclipse/about.properties index 84c7f542c..1945378b9 100644 --- a/repast.simphony.eclipse/about.properties +++ b/repast.simphony.eclipse/about.properties @@ -8,5 +8,5 @@ blurb=Repast Simphony\n\ \n\ Version: {featureVersion}\n\ \n\ -(c) Copyright Argonne National Laboratory, 2021. All rights reserved.\n\ +(c) Copyright Argonne National Laboratory, 2022. All rights reserved.\n\ Visit http://repast.github.io \ No newline at end of file diff --git a/repast.simphony.eclipse/plugin.xml b/repast.simphony.eclipse/plugin.xml index fa3db14a3..4ba5d0fa4 100644 --- a/repast.simphony.eclipse/plugin.xml +++ b/repast.simphony.eclipse/plugin.xml @@ -18,7 +18,7 @@
- + diff --git a/repast.simphony.eclipse/setupfiles/IzPack/icons/izpack_uninstall_32.png b/repast.simphony.eclipse/setupfiles/IzPack/icons/izpack_uninstall_32.png deleted file mode 100644 index f169f5b0e..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/icons/izpack_uninstall_32.png and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/icons/izpack_wiki_32.png b/repast.simphony.eclipse/setupfiles/IzPack/icons/izpack_wiki_32.png deleted file mode 100644 index 34b562cb3..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/icons/izpack_wiki_32.png and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/legal/Ant-Licence.txt b/repast.simphony.eclipse/setupfiles/IzPack/legal/Ant-Licence.txt deleted file mode 100644 index b279c7a20..000000000 --- a/repast.simphony.eclipse/setupfiles/IzPack/legal/Ant-Licence.txt +++ /dev/null @@ -1,49 +0,0 @@ -/* - * ============================================================================ - * The Apache Software License, Version 1.1 - * ============================================================================ - * - * Copyright (C) 2000-2002 The Apache Software Foundation. All - * rights reserved. - * - * Redistribution and use in source and binary forms, with or without modifica- - * tion, 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. - * - * 3. The end-user documentation included with the redistribution, if any, must - * include the following acknowledgment: "This product includes software - * developed by the Apache Software Foundation (http://www.apache.org/)." - * Alternately, this acknowledgment may appear in the software itself, if - * and wherever such third-party acknowledgments normally appear. - * - * 4. The names "Ant" and "Apache Software Foundation" must not be used to - * endorse or promote products derived from this software without prior - * written permission. For written permission, please contact - * apache@apache.org. - * - * 5. Products derived from this software may not be called "Apache", nor may - * "Apache" appear in their name, without prior written permission of the - * Apache Software Foundation. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 - * APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU- - * DING, 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. - * - * This software consists of voluntary contributions made by many individuals - * on behalf of the Apache Software Foundation. For more information on the - * Apache Software Foundation, please see . - * - */ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/legal/IzPack-Licence.txt b/repast.simphony.eclipse/setupfiles/IzPack/legal/IzPack-Licence.txt deleted file mode 100644 index d64569567..000000000 --- a/repast.simphony.eclipse/setupfiles/IzPack/legal/IzPack-Licence.txt +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/repast.simphony.eclipse/setupfiles/IzPack/legal/Kunststoff-Licence.txt b/repast.simphony.eclipse/setupfiles/IzPack/legal/Kunststoff-Licence.txt deleted file mode 100644 index da7e17ba6..000000000 --- a/repast.simphony.eclipse/setupfiles/IzPack/legal/Kunststoff-Licence.txt +++ /dev/null @@ -1,504 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! - - diff --git a/repast.simphony.eclipse/setupfiles/IzPack/legal/LiquidLnF-Licence.txt b/repast.simphony.eclipse/setupfiles/IzPack/legal/LiquidLnF-Licence.txt deleted file mode 100644 index da7e17ba6..000000000 --- a/repast.simphony.eclipse/setupfiles/IzPack/legal/LiquidLnF-Licence.txt +++ /dev/null @@ -1,504 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! - - diff --git a/repast.simphony.eclipse/setupfiles/IzPack/legal/Looks-Licence.txt b/repast.simphony.eclipse/setupfiles/IzPack/legal/Looks-Licence.txt deleted file mode 100644 index 29885624d..000000000 --- a/repast.simphony.eclipse/setupfiles/IzPack/legal/Looks-Licence.txt +++ /dev/null @@ -1,31 +0,0 @@ - - The BSD License for the JGoodies Looks - ====================================== - -Copyright (c) 2001-2004 JGoodies Karsten Lentzsch. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - o Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - o 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. - - o Neither the name of JGoodies Karsten Lentzsch nor the names of - its contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -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 OWNER 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. diff --git a/repast.simphony.eclipse/setupfiles/IzPack/legal/Metouia-Licence.txt b/repast.simphony.eclipse/setupfiles/IzPack/legal/Metouia-Licence.txt deleted file mode 100644 index da7e17ba6..000000000 --- a/repast.simphony.eclipse/setupfiles/IzPack/legal/Metouia-Licence.txt +++ /dev/null @@ -1,504 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! - - diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/ant-1.9.9.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/ant-1.9.9.jar deleted file mode 100644 index b0c920396..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/ant-1.9.9.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/ant-launcher-1.9.9.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/ant-launcher-1.9.9.jar deleted file mode 100644 index e9688089a..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/ant-launcher-1.9.9.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/apache-mime4j-core-0.7.2.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/apache-mime4j-core-0.7.2.jar deleted file mode 100644 index b5c225b5d..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/apache-mime4j-core-0.7.2.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/apache-mime4j-dom-0.7.2.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/apache-mime4j-dom-0.7.2.jar deleted file mode 100644 index 0cdd3ce33..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/apache-mime4j-dom-0.7.2.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/asm-debug-all-4.1.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/asm-debug-all-4.1.jar deleted file mode 100644 index 4133d823d..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/asm-debug-all-4.1.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/aspectjrt-1.8.0.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/aspectjrt-1.8.0.jar deleted file mode 100644 index 776f99885..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/aspectjrt-1.8.0.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/batik-awt-util-1.6.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/batik-awt-util-1.6.jar deleted file mode 100644 index b62ac1586..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/batik-awt-util-1.6.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/batik-dom-1.6.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/batik-dom-1.6.jar deleted file mode 100644 index bf144ab07..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/batik-dom-1.6.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/batik-svg-dom-1.6.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/batik-svg-dom-1.6.jar deleted file mode 100644 index c8970fbb4..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/batik-svg-dom-1.6.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/batik-svggen-1.6.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/batik-svggen-1.6.jar deleted file mode 100644 index 819f2da07..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/batik-svggen-1.6.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/batik-util-1.6.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/batik-util-1.6.jar deleted file mode 100644 index 7550b4802..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/batik-util-1.6.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/batik-xml-1.6.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/batik-xml-1.6.jar deleted file mode 100644 index 1b915a050..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/batik-xml-1.6.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/bcmail-jdk15on-1.52.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/bcmail-jdk15on-1.52.jar deleted file mode 100644 index 3e1cbe5bd..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/bcmail-jdk15on-1.52.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/bcpkix-jdk15on-1.54.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/bcpkix-jdk15on-1.54.jar deleted file mode 100644 index 86f7f0be1..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/bcpkix-jdk15on-1.54.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/bcprov-ext-jdk15on-1.54.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/bcprov-ext-jdk15on-1.54.jar deleted file mode 100644 index f31c1c1c4..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/bcprov-ext-jdk15on-1.54.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/bcprov-jdk15on-1.52.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/bcprov-jdk15on-1.52.jar deleted file mode 100644 index 6c54dd901..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/bcprov-jdk15on-1.52.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/boilerpipe-1.1.0.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/boilerpipe-1.1.0.jar deleted file mode 100644 index b64b033af..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/boilerpipe-1.1.0.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/bzip2-0.9.1.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/bzip2-0.9.1.jar deleted file mode 100644 index cf77cff14..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/bzip2-0.9.1.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/c3p0-0.9.1.1.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/c3p0-0.9.1.1.jar deleted file mode 100644 index 8d283e4ec..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/c3p0-0.9.1.1.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/cdm-4.5.5.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/cdm-4.5.5.jar deleted file mode 100644 index 295cb0409..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/cdm-4.5.5.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/classworlds-1.1-alpha-2.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/classworlds-1.1-alpha-2.jar deleted file mode 100644 index 1208b4811..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/classworlds-1.1-alpha-2.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/commons-cli-1.3.1.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/commons-cli-1.3.1.jar deleted file mode 100644 index c3e7a1f47..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/commons-cli-1.3.1.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/commons-codec-1.9.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/commons-codec-1.9.jar deleted file mode 100644 index ef35f1c50..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/commons-codec-1.9.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/commons-compress-1.12.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/commons-compress-1.12.jar deleted file mode 100644 index 4867705ea..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/commons-compress-1.12.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/commons-csv-1.0.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/commons-csv-1.0.jar deleted file mode 100644 index 5f58e4016..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/commons-csv-1.0.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/commons-exec-1.3.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/commons-exec-1.3.jar deleted file mode 100644 index 9a6435198..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/commons-exec-1.3.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/commons-io-2.5.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/commons-io-2.5.jar deleted file mode 100644 index 107b061f5..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/commons-io-2.5.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/commons-lang3-3.5.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/commons-lang3-3.5.jar deleted file mode 100644 index 6328c8de4..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/commons-lang3-3.5.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/commons-logging-1.1.1.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/commons-logging-1.1.1.jar deleted file mode 100644 index 1deef144c..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/commons-logging-1.1.1.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/commons-logging-api-1.1.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/commons-logging-api-1.1.jar deleted file mode 100644 index d1abcbb47..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/commons-logging-api-1.1.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/commons-vfs2-2.0.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/commons-vfs2-2.0.jar deleted file mode 100644 index 5e1b0b4d2..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/commons-vfs2-2.0.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/ehcache-core-2.6.2.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/ehcache-core-2.6.2.jar deleted file mode 100644 index 9801aa7dc..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/ehcache-core-2.6.2.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/fontbox-1.8.10.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/fontbox-1.8.10.jar deleted file mode 100644 index 3284950c8..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/fontbox-1.8.10.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/geoapi-3.0.0.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/geoapi-3.0.0.jar deleted file mode 100644 index 24d75d8e2..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/geoapi-3.0.0.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/grib-4.5.5.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/grib-4.5.5.jar deleted file mode 100644 index 977bc523f..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/grib-4.5.5.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/guava-11.0.2.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/guava-11.0.2.jar deleted file mode 100644 index c8c8d5dd6..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/guava-11.0.2.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/httpclient-4.2.6.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/httpclient-4.2.6.jar deleted file mode 100644 index 11331df87..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/httpclient-4.2.6.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/httpcore-4.2.5.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/httpcore-4.2.5.jar deleted file mode 100644 index 498144c44..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/httpcore-4.2.5.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/httpmime-4.2.6.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/httpmime-4.2.6.jar deleted file mode 100644 index 3e95e119d..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/httpmime-4.2.6.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/httpservices-4.5.5.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/httpservices-4.5.5.jar deleted file mode 100644 index 0a20b3d7f..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/httpservices-4.5.5.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/icepdf-core-6.2.2.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/icepdf-core-6.2.2.jar deleted file mode 100644 index b5555280e..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/icepdf-core-6.2.2.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/icepdf-viewer-6.2.2.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/icepdf-viewer-6.2.2.jar deleted file mode 100644 index d58fcc9de..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/icepdf-viewer-6.2.2.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/isoparser-1.0.2.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/isoparser-1.0.2.jar deleted file mode 100644 index 23c2a8194..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/isoparser-1.0.2.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/izpack-ant-5.1.2.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/izpack-ant-5.1.2.jar deleted file mode 100644 index 94a620903..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/izpack-ant-5.1.2.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/izpack-api-5.1.2.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/izpack-api-5.1.2.jar deleted file mode 100644 index d58950927..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/izpack-api-5.1.2.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/izpack-compiler-5.1.2.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/izpack-compiler-5.1.2.jar deleted file mode 100644 index fb62944f5..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/izpack-compiler-5.1.2.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/izpack-core-5.1.2.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/izpack-core-5.1.2.jar deleted file mode 100644 index 4aab58c6a..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/izpack-core-5.1.2.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/izpack-event-5.1.2.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/izpack-event-5.1.2.jar deleted file mode 100644 index fc05129e4..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/izpack-event-5.1.2.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/izpack-gui-5.1.2.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/izpack-gui-5.1.2.jar deleted file mode 100644 index 6d468da12..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/izpack-gui-5.1.2.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/izpack-installer-5.1.2.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/izpack-installer-5.1.2.jar deleted file mode 100644 index 312d37dc2..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/izpack-installer-5.1.2.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/izpack-native-5.1.2.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/izpack-native-5.1.2.jar deleted file mode 100644 index 04f463a29..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/izpack-native-5.1.2.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/izpack-panel-5.1.2.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/izpack-panel-5.1.2.jar deleted file mode 100644 index 30a1daca7..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/izpack-panel-5.1.2.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/izpack-tools-5.1.2.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/izpack-tools-5.1.2.jar deleted file mode 100644 index 2b52176ae..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/izpack-tools-5.1.2.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/izpack-uninstaller-5.1.2.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/izpack-uninstaller-5.1.2.jar deleted file mode 100644 index 3781fa394..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/izpack-uninstaller-5.1.2.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/izpack-util-5.1.2.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/izpack-util-5.1.2.jar deleted file mode 100644 index e213bfddc..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/izpack-util-5.1.2.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/jai_imageio-1.1.pom b/repast.simphony.eclipse/setupfiles/IzPack/lib/jai_imageio-1.1.pom deleted file mode 100644 index b54d40d8f..000000000 --- a/repast.simphony.eclipse/setupfiles/IzPack/lib/jai_imageio-1.1.pom +++ /dev/null @@ -1,29 +0,0 @@ - - - 4.0.0 - com.sun.media - jai_imageio - 1.1 - jar - Java Advanced Imaging Image I/O Tools - https://jai-imageio.dev.java.net/ - JAI Image I/O Tools provides reader, writer, and stream plug-ins for the Java Image I/O Framework and Image I/O-based read and write operations for Java Advanced Imaging. Reader-writer plug-ins are supplied for the BMP, JPEG, JPEG 2000, PNG, PNM, Raw, TIFF, and WBMP image formats. The supplied streams and associated service providers use the New I/O APIs. - - - BSD License - http://www.opensource.org/licenses/bsd-license.php - manual - - - - - javax.media - jai_core - 1.1.3 - - - - https://jai-imageio.dev.java.net/binary-builds.html - - - diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/java-libpst-0.8.1.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/java-libpst-0.8.1.jar deleted file mode 100644 index 61e834d19..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/java-libpst-0.8.1.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/jcip-annotations-1.0.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/jcip-annotations-1.0.jar deleted file mode 100644 index 06e9066b8..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/jcip-annotations-1.0.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/jcommander-1.35.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/jcommander-1.35.jar deleted file mode 100644 index e86b47bc9..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/jcommander-1.35.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/jdom-1.0.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/jdom-1.0.jar deleted file mode 100644 index 288e64cb5..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/jdom-1.0.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/jdom2-2.0.5.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/jdom2-2.0.5.jar deleted file mode 100644 index b6996c725..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/jdom2-2.0.5.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/jempbox-1.8.10.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/jempbox-1.8.10.jar deleted file mode 100644 index 48cc63375..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/jempbox-1.8.10.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/jhighlight-1.0.2.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/jhighlight-1.0.2.jar deleted file mode 100644 index 0711729ba..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/jhighlight-1.0.2.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/jj2000-5.2.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/jj2000-5.2.jar deleted file mode 100644 index 117a97895..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/jj2000-5.2.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/jline-2.12.1.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/jline-2.12.1.jar deleted file mode 100644 index 00dffb02e..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/jline-2.12.1.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/jmatio-1.0.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/jmatio-1.0.jar deleted file mode 100644 index 73efe30ba..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/jmatio-1.0.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/jna-4.1.0.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/jna-4.1.0.jar deleted file mode 100644 index b1a3922fe..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/jna-4.1.0.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/joda-time-2.2.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/joda-time-2.2.jar deleted file mode 100644 index 69fa92409..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/joda-time-2.2.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/json-simple-1.1.1.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/json-simple-1.1.1.jar deleted file mode 100644 index dfd5856d0..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/json-simple-1.1.1.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/jsoup-1.7.2.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/jsoup-1.7.2.jar deleted file mode 100644 index 1d9879f8d..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/jsoup-1.7.2.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/jsr-275-0.9.3.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/jsr-275-0.9.3.jar deleted file mode 100644 index aab986b43..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/jsr-275-0.9.3.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/jsr305-1.3.9.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/jsr305-1.3.9.jar deleted file mode 100644 index a9afc6619..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/jsr305-1.3.9.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/juniversalchardet-1.0.3.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/juniversalchardet-1.0.3.jar deleted file mode 100644 index ef4d7af57..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/juniversalchardet-1.0.3.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/junrar-0.7.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/junrar-0.7.jar deleted file mode 100644 index 2b6817ca5..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/junrar-0.7.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/jwnl-1.3.3.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/jwnl-1.3.3.jar deleted file mode 100644 index d38fe65c7..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/jwnl-1.3.3.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/kunstoff-laf-2.0.2.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/kunstoff-laf-2.0.2.jar deleted file mode 100644 index dbdc05d85..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/kunstoff-laf-2.0.2.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/kunststoff.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/kunststoff.jar deleted file mode 100644 index 8e06bb68b..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/kunststoff.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/laf-plugin-7.3.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/laf-plugin-7.3.jar deleted file mode 100644 index 285b79499..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/laf-plugin-7.3.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/laf-widget-7.3.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/laf-widget-7.3.jar deleted file mode 100644 index b6bb9ce53..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/laf-widget-7.3.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/liquidlnf.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/liquidlnf.jar deleted file mode 100644 index 80497724f..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/liquidlnf.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/looks-2.2.2.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/looks-2.2.2.jar deleted file mode 100644 index ef571d4e4..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/looks-2.2.2.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/looks.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/looks.jar deleted file mode 100644 index 269585731..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/looks.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/maven-plugin-testing-harness-3.3.0.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/maven-plugin-testing-harness-3.3.0.jar deleted file mode 100644 index 6f6072038..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/maven-plugin-testing-harness-3.3.0.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/maven-scm-api-1.4.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/maven-scm-api-1.4.jar deleted file mode 100644 index 728104a80..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/maven-scm-api-1.4.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/maven-scm-provider-svn-commons-1.4.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/maven-scm-provider-svn-commons-1.4.jar deleted file mode 100644 index 12ac96689..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/maven-scm-provider-svn-commons-1.4.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/maven-scm-provider-svnexe-1.4.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/maven-scm-provider-svnexe-1.4.jar deleted file mode 100644 index a2a28f514..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/maven-scm-provider-svnexe-1.4.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/metadata-extractor-2.8.0.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/metadata-extractor-2.8.0.jar deleted file mode 100644 index 4a5f17cd6..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/metadata-extractor-2.8.0.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/metouia.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/metouia.jar deleted file mode 100644 index 2b23a58f5..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/metouia.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/netcdf4-4.5.5.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/netcdf4-4.5.5.jar deleted file mode 100644 index ebebba876..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/netcdf4-4.5.5.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/opennlp-maxent-3.0.3.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/opennlp-maxent-3.0.3.jar deleted file mode 100644 index d718559ec..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/opennlp-maxent-3.0.3.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/opennlp-tools-1.5.3.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/opennlp-tools-1.5.3.jar deleted file mode 100644 index 5bb02d8d5..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/opennlp-tools-1.5.3.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/pdfbox-1.8.10.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/pdfbox-1.8.10.jar deleted file mode 100644 index 87bb9a704..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/pdfbox-1.8.10.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/picocontainer-2.15.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/picocontainer-2.15.jar deleted file mode 100644 index 984911ba5..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/picocontainer-2.15.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/plexus-archiver-2.2.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/plexus-archiver-2.2.jar deleted file mode 100644 index 7b2bf4f79..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/plexus-archiver-2.2.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/plexus-container-default-1.0-alpha-9-stable-1.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/plexus-container-default-1.0-alpha-9-stable-1.jar deleted file mode 100644 index d205236ae..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/plexus-container-default-1.0-alpha-9-stable-1.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/plexus-io-2.0.4.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/plexus-io-2.0.4.jar deleted file mode 100644 index 40f923efb..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/plexus-io-2.0.4.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/plexus-utils-3.0.7.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/plexus-utils-3.0.7.jar deleted file mode 100644 index b3602f056..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/plexus-utils-3.0.7.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/poi-3.12.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/poi-3.12.jar deleted file mode 100644 index a4f42634f..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/poi-3.12.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/poi-ooxml-3.12.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/poi-ooxml-3.12.jar deleted file mode 100644 index a7222d487..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/poi-ooxml-3.12.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/poi-ooxml-schemas-3.12.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/poi-ooxml-schemas-3.12.jar deleted file mode 100644 index 5fcc65a1d..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/poi-ooxml-schemas-3.12.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/poi-scratchpad-3.12.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/poi-scratchpad-3.12.jar deleted file mode 100644 index 941f5b4c0..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/poi-scratchpad-3.12.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/protobuf-java-2.5.0.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/protobuf-java-2.5.0.jar deleted file mode 100644 index 4c4e686a4..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/protobuf-java-2.5.0.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/quartz-2.2.0.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/quartz-2.2.0.jar deleted file mode 100644 index 44d42086e..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/quartz-2.2.0.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/regexp-1.3.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/regexp-1.3.jar deleted file mode 100644 index d653a388c..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/regexp-1.3.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/rome-1.0.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/rome-1.0.jar deleted file mode 100644 index 32576c1c1..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/rome-1.0.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/sis-metadata-0.5.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/sis-metadata-0.5.jar deleted file mode 100644 index 343928eb0..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/sis-metadata-0.5.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/sis-netcdf-0.5.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/sis-netcdf-0.5.jar deleted file mode 100644 index c6a6f9a16..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/sis-netcdf-0.5.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/sis-referencing-0.5.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/sis-referencing-0.5.jar deleted file mode 100644 index b4e0a33bc..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/sis-referencing-0.5.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/sis-storage-0.5.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/sis-storage-0.5.jar deleted file mode 100644 index 4cea09cb6..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/sis-storage-0.5.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/sis-utility-0.5.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/sis-utility-0.5.jar deleted file mode 100644 index 2a57c7a5c..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/sis-utility-0.5.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/slf4j-api-1.7.7.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/slf4j-api-1.7.7.jar deleted file mode 100644 index bebabd961..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/slf4j-api-1.7.7.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/substance-7.3.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/substance-7.3.jar deleted file mode 100644 index ca43b07cb..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/substance-7.3.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/substance.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/substance.jar deleted file mode 100644 index e37031968..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/substance.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/tagsoup-1.2.1.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/tagsoup-1.2.1.jar deleted file mode 100644 index 275160191..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/tagsoup-1.2.1.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/tika-core-1.9.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/tika-core-1.9.jar deleted file mode 100644 index 104e1660f..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/tika-core-1.9.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/tika-parsers-1.9.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/tika-parsers-1.9.jar deleted file mode 100644 index 0defbe213..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/tika-parsers-1.9.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/trident-7.3-swing.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/trident-7.3-swing.jar deleted file mode 100644 index faa73d129..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/trident-7.3-swing.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/udunits-4.5.5.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/udunits-4.5.5.jar deleted file mode 100644 index a3925f620..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/udunits-4.5.5.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/vorbis-java-core-0.6.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/vorbis-java-core-0.6.jar deleted file mode 100644 index 940a0c707..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/vorbis-java-core-0.6.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/vorbis-java-tika-0.6.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/vorbis-java-tika-0.6.jar deleted file mode 100644 index 1333a7fcb..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/vorbis-java-tika-0.6.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/xmlbeans-2.6.0.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/xmlbeans-2.6.0.jar deleted file mode 100644 index d1b66271f..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/xmlbeans-2.6.0.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/xmpcore-5.1.2.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/xmpcore-5.1.2.jar deleted file mode 100644 index ecd5db142..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/xmpcore-5.1.2.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/lib/xz-1.6.jar b/repast.simphony.eclipse/setupfiles/IzPack/lib/xz-1.6.jar deleted file mode 100644 index 140b981f9..000000000 Binary files a/repast.simphony.eclipse/setupfiles/IzPack/lib/xz-1.6.jar and /dev/null differ diff --git a/repast.simphony.eclipse/setupfiles/IzPack/schema/5.0/izpack-antactions-5.0.xsd b/repast.simphony.eclipse/setupfiles/IzPack/schema/5.0/izpack-antactions-5.0.xsd deleted file mode 100644 index bc59a2f36..000000000 --- a/repast.simphony.eclipse/setupfiles/IzPack/schema/5.0/izpack-antactions-5.0.xsd +++ /dev/null @@ -1,217 +0,0 @@ - - - - - - - - The root element - Attribute order determine at what point of installation the antcalls - defined by ELEMENT target should be performed. - - Attribute uninstall_order determine at what point of uninstallation - the antcalls defined by ELEMENT uninstall_target should be performed. - - ID of the message which should be displayed in the InstallPanel. The ID - is related to the &lt;language&gt;.xml file. - - Path of the file which contains the antcall. Either buildfile or buildresource - must be specified, but not both - - Id of the resource which contains the antcall. Either buildresource or buildfile - must be specifeid, but not both - - - - - - - - - - - - - The pack sections. The names should be the same as the pack sections in - the install xml file. The defined action is only invoked for packs that are selected for installation. - - - - - - - - - - - The antcall section. It defines what antcall to perform at what time - of installation with what environment. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The Ant log priority level the action should use when logging. - This will be handed out to Ant and is the threshold which must be reached before Ant logs a message. - - - - - - - - - - - - - - - - The severity of this action in case of errors. - This tells the installer how to deal with an Ant build failure, e. g. which types of user dialogs - should pop up with the given message. - - - - - - - - - - - - - - - - - - The Ant buildfile that must be preinstalled before. - Cannot be just together with "buildresource". - - - - - - - The Ant build resource that must be declared with this name in the resources section. - Cannot be just together with "buildfile". - - - - - - - The base directory for the called Ant build. - - - - - - - - - Properties to be used with all targets and uninstall_targets - which are defined for this antcall. - - - - - - - - - Properties to be used with all targets and uninstall_targets - which are defined for this antcall given by the path of a properties - file.. - - - - - - - - Targets to perform with this antcall at installation time. - The targets should be defined in the given buildfile, else an - ant exception will be raised. - - - - - - - - Targets to perform with this antcall at uninstallation time. - The targets should be defined in the given buildfile, else an - ant exception will be raised. - - - - - - \ No newline at end of file diff --git a/repast.simphony.eclipse/setupfiles/IzPack/schema/5.0/izpack-bsfactions-5.0.xsd b/repast.simphony.eclipse/setupfiles/IzPack/schema/5.0/izpack-bsfactions-5.0.xsd deleted file mode 100644 index da319a7e0..000000000 --- a/repast.simphony.eclipse/setupfiles/IzPack/schema/5.0/izpack-bsfactions-5.0.xsd +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - Defines actions for the BSFInstallerListener and BSFUninstallerListener - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/repast.simphony.eclipse/setupfiles/IzPack/schema/5.0/izpack-compilation-5.0.xsd b/repast.simphony.eclipse/setupfiles/IzPack/schema/5.0/izpack-compilation-5.0.xsd deleted file mode 100644 index 3faaece66..000000000 --- a/repast.simphony.eclipse/setupfiles/IzPack/schema/5.0/izpack-compilation-5.0.xsd +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/repast.simphony.eclipse/setupfiles/IzPack/schema/5.0/izpack-conditions-5.0.xsd b/repast.simphony.eclipse/setupfiles/IzPack/schema/5.0/izpack-conditions-5.0.xsd deleted file mode 100644 index 1750356e3..000000000 --- a/repast.simphony.eclipse/setupfiles/IzPack/schema/5.0/izpack-conditions-5.0.xsd +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/repast.simphony.eclipse/setupfiles/IzPack/schema/5.0/izpack-configurationactions-5.0.xsd b/repast.simphony.eclipse/setupfiles/IzPack/schema/5.0/izpack-configurationactions-5.0.xsd deleted file mode 100644 index c2f144fbd..000000000 --- a/repast.simphony.eclipse/setupfiles/IzPack/schema/5.0/izpack-configurationactions-5.0.xsd +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/repast.simphony.eclipse/setupfiles/IzPack/schema/5.0/izpack-icons-5.0.xsd b/repast.simphony.eclipse/setupfiles/IzPack/schema/5.0/izpack-icons-5.0.xsd deleted file mode 100644 index 9372b2c89..000000000 --- a/repast.simphony.eclipse/setupfiles/IzPack/schema/5.0/izpack-icons-5.0.xsd +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/repast.simphony.eclipse/setupfiles/IzPack/schema/5.0/izpack-installation-5.0.xsd b/repast.simphony.eclipse/setupfiles/IzPack/schema/5.0/izpack-installation-5.0.xsd deleted file mode 100644 index 967052df0..000000000 --- a/repast.simphony.eclipse/setupfiles/IzPack/schema/5.0/izpack-installation-5.0.xsd +++ /dev/null @@ -1,1078 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Specifies a pattern for generating the output file name. (Defaults to "%h/java%u.log"). - See http://docs.oracle.com/javase/6/docs/api/java/util/logging/FileHandler.html for - details. - - - - - - - Specifies the logging level. - See http://docs.oracle.com/javase/6/docs/api/java/util/logging/FileHandler.html for - details. - - - - - - - Specifies the name of a Filter class to use (defaults to no Filter). - See http://docs.oracle.com/javase/6/docs/api/java/util/logging/FileHandler.html for - details. - - - - - - - The name of the character set encoding to use (defaults to the default platform - encoding). - See http://docs.oracle.com/javase/6/docs/api/java/util/logging/FileHandler.html for - details. - - - - - - - Specifies an approximate maximum amount to write (in bytes) to any one file. If this is - zero, then there is no limit. (Defaults to no limit). - See http://docs.oracle.com/javase/6/docs/api/java/util/logging/FileHandler.html for - details. - - - - - - - Specifies how many output files to cycle through (defaults to 1). - See http://docs.oracle.com/javase/6/docs/api/java/util/logging/FileHandler.html for - details. - - - - - - - Specifies whether the FileHandler should append onto any existing files (defaults to - false). - See http://docs.oracle.com/javase/6/docs/api/java/util/logging/FileHandler.html for - details. - - - - - - - Specifies whether IzPack should recursively create the parent directory of the file - resulting from the 'pattern' attribute before invoking FileHandler. - - - - - - - - - - Specifies the global (console) logging level. - See http://docs.oracle.com/javase/6/docs/api/java/util/logging/FileHandler.html for details. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Determines whether confirmation is required when quitting the installer from this panel and panels - defined before this panel. - Set "true" to allow the installer to be closed using the "Quit" or "Done" button without - confirmation on this panel, but require confirmation on previous panels without this attribute. - Set "false" to prompt for confirmation when Quit or Done is pressed on this and previous panels - without this attribute. - If there is no "allowClose" attribute IzPack will exhibit its classic behavior, which is to prompt - for confirmation until the files are copied unless the Previous and Next buttons are both disabled. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Mentioning this tag means activating Pack200 compression for the assigned files. - This method applies for standard and unsigned JAR files containing bytecode, only. - Several configuration options can be set to customize the packer. - See http://java.sun.com/javase/6/docs/api/java/util/jar/Pack200.Unpacker.html - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/repast.simphony.eclipse/setupfiles/IzPack/schema/5.0/izpack-langpack-5.0.xsd b/repast.simphony.eclipse/setupfiles/IzPack/schema/5.0/izpack-langpack-5.0.xsd deleted file mode 100644 index 664d9b0e2..000000000 --- a/repast.simphony.eclipse/setupfiles/IzPack/schema/5.0/izpack-langpack-5.0.xsd +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - The root element - - - - - - A string definition - - - - - - - - - - - - - - - - diff --git a/repast.simphony.eclipse/setupfiles/IzPack/schema/5.0/izpack-processing-5.0.xsd b/repast.simphony.eclipse/setupfiles/IzPack/schema/5.0/izpack-processing-5.0.xsd deleted file mode 100644 index 16b79c220..000000000 --- a/repast.simphony.eclipse/setupfiles/IzPack/schema/5.0/izpack-processing-5.0.xsd +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/repast.simphony.eclipse/setupfiles/IzPack/schema/5.0/izpack-registry-5.0.xsd b/repast.simphony.eclipse/setupfiles/IzPack/schema/5.0/izpack-registry-5.0.xsd deleted file mode 100644 index cf5fc70f1..000000000 --- a/repast.simphony.eclipse/setupfiles/IzPack/schema/5.0/izpack-registry-5.0.xsd +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - - The root element - - - - - - - - - - - - The pack. The name should be the same as the pack in the install xml file. The defined - actions are performed only for packs which are selected for installation. - - - - - - - - - - - - The key section. It defines what key should be created - - - - - The key path under which the value should be placed - in Windows syntax without the root. - - - - - - Root of the key as symbol. - - - - - - - - - - - - - - - - - - The value section. It defines, what value should be created or modified - with what contents. The type of contents will be implicit determined - by the setting. Only one setting of the types are valid. - - - - - - - - - Name of the value to be set or modified - - - - - - - - - - - - - - - - - - - Override any existing value or not - - - - - Contents for value of type STRING - - - - - Contents for value of type DWORD - - - - - - - Contents for value of type BINARY written as comma separated list of hex - - - - - - - - Contents for value of type MULTI_STRING - - - - \ No newline at end of file diff --git a/repast.simphony.eclipse/setupfiles/IzPack/schema/5.0/izpack-shortcuts-5.0.xsd b/repast.simphony.eclipse/setupfiles/IzPack/schema/5.0/izpack-shortcuts-5.0.xsd deleted file mode 100644 index 65d65e664..000000000 --- a/repast.simphony.eclipse/setupfiles/IzPack/schema/5.0/izpack-shortcuts-5.0.xsd +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Linux specific - - - - - Linux specific - - - - - Linux specific - - - - - Linux specific - - - - - Linux specific - - - - - Linux specific - - - - - Linux specific - - - - - Linux specific - - - - - Linux specific - - - - - Linux specific - - - - - Linux specific - - - - - \ No newline at end of file diff --git a/repast.simphony.eclipse/setupfiles/IzPack/schema/5.0/izpack-types-5.0.xsd b/repast.simphony.eclipse/setupfiles/IzPack/schema/5.0/izpack-types-5.0.xsd deleted file mode 100644 index 4cebe83c2..000000000 --- a/repast.simphony.eclipse/setupfiles/IzPack/schema/5.0/izpack-types-5.0.xsd +++ /dev/null @@ -1,303 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Whether an optional pack installation is allowed if condition is not met, - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Specifies the java.util.logging default level for the handler. - See https://docs.oracle.com/javase/6/docs/api/java/util/logging/Level.html for more information. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/repast.simphony.eclipse/setupfiles/IzPack/schema/5.0/izpack-userinput-5.0.xsd b/repast.simphony.eclipse/setupfiles/IzPack/schema/5.0/izpack-userinput-5.0.xsd deleted file mode 100644 index d1e956dca..000000000 --- a/repast.simphony.eclipse/setupfiles/IzPack/schema/5.0/izpack-userinput-5.0.xsd +++ /dev/null @@ -1,656 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - The percentage of left over vertical space to place on top of the components. - A value of 0 is useful to avoid components moving up and down during - dynamic validation where components are shown and hidden. The topBuffer may also - represent the number of pixels to place on top of the components rather than the - percentage of left over space if the rigid attribute is set to true. - - - - - - - When set to true, fields on this panel will be shown as disabled when the field's - conditionid evaluates to false. When set to false or not specified, fields will be - hidden if its conditionid evaluates to false. - - - - - - - The condition to activate the "displayHidden" mode. - Cannot be used with displayHidden="true" at the same time. - - - - - - - When set to true, all fields on this panel will be shown as disabled. - - - - - - - The condition to activate the "readonly" mode. - Cannot be used with readonly="true" at the same time. - - - - - - - When set to true, the topBuffer will represent the number of pixels to place on top - of the components rather than the percentage of left over space to place on top of - the components. This is useful the avoid components moving up and down during - dynamic validation where components are shown and hidden, and where you would still - like a gap to be placed on top of the components. - - - - - - - The summary key attribute will allow your UserInputPanel to be displayed on the - SummaryPanel. The value of the summaryKey attribute within the panel tags represents - the caption/header that will be shown in the SummaryPanel. The value represents the - key of your string defined in your langpacks. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ID of the label translation. - - - - - Default text when no label translation can be found. - - - - - Used by "check" fields as value when unchecked - - - - - Used by "check" fields as value when checked - - - - - - Used by "button" fields: - ID of the translation or text of the success message if the action or validator - executed without issue. - - - - - - Used by "search" fields - - - - - Used by "search" fields - - - - - Used by "search" fields - - - - - Required by "search" fields, optional otherwise - - - - - Used by "file", "multiFile" fields - - - - - Used by "file", "multiFile" fields - - - - - Used by "multiFile" fields - - - - - Used by "multiFile" fields. Indicates the preferred - width of the field - - - - - - Used by "multiFile" fields. Indicates the preferred - height of the field - - - - - - Used by "multiFile" fields. If true, a variable will - be created to hold each file. If false, a single variable will be used; - file names will be concatenated together, separated by a semicolon - - - - - - Used by "file", "multiFile" "dir", fields - - - - - - Determines if the directory must exist to continue. - Used by the "dir" field. - - - - - - - Determines if the directory are created if they don't exist. - Used by the "dir" field. - - - - - - - Used by the "rule" field. - - - - - - - How the result should be assembled back from the single field parts of a rule field. - Used by the "rule" field. - - - - - - - This is a string used as the alternative separator string when assembling the result. - Used by the "rule" field when using resultFormat="specialSeparator". - - - - - - - - The value for this field forced to be set as initial value and which overrides previous - values. - - - - - - - The default value for this field is the assigned "variable" has not been initialized. - - - - - - - - - - - - - - - - - - - - - - Used by "title" fields to determine the font size - - - - - - - Used by "title" and "divider" fields - - - - - - - The summary key attribute will allow your UserInputPanel field to be displayed on the - SummaryPanel. The value of the summaryKey attribute within the panel tags represents - the label/key that will be shown in the SummaryPanel. The value represents the - key of your string defined in your langpacks. On the SummaryPanel the label/key will be followed by - a space and the value of the variable you are summarizing. - - - - - - - When set to true, this field will be shown as disabled when its - conditionid evaluates to false. When set to false or not specified, this field will be - hidden if its conditionid evaluates to false. - - - - - - - The condition to activate the "displayHidden" mode for this field. - Cannot be used with displayHidden="true" at the same time. - - - - - - - When set to true, this field will be shown as disabled. - - - - - - - The condition to activate the "readonly" mode for this field. - Cannot be used with readonly="true" at the same time. - - - - - - - The tooltip attribute allows a UserInputPanel field to add the specified tooltip to its - component children. The value of tooltip must be the id of the string in langpacks. - - - - - - - Minimal number of rows displayed in a "custom" field. - Used by "custom" fields. - - - - - - - Maximal number of rows displayed in a "custom" field, before the Add button gets deactivated. - Used by "custom" fields. - - - - - - - - - - - - - - - - Used by "search" fields - - - - - - - - - - - - - Used by "radio" fields to look up the language pack to localise the radio button text - - - - - - - Used by "radio" fields for the radio button text if the "id" attribute isn't present or - no localised text could be found - - - - - - - - - - - - - - Used to look up the language pack to localise the password label text - - - - - - - Used for the password label text if the "id" attribute isn't present or no localised text could be - found - - - - - - - - - - - - - - - - - - - - - The class implementing the field processor. - - - - - - - Optional variable name holding the original value before processing. - - - - - - - Optional variable name holding the value after processing. - - - - - - - - - - - - - - - Indicate the key to be used to obtain the given text from the your cusom action or - validator. - Common names may include 'warn', 'error', 'info', this will become more apparent if - default button actions are implemented. - - - - - - - The translation or text you want to pass to your custom button action class. - Attempts to retrieve text from the appropriate CustomLangPack file. - - - - - - - - - - The class to be run when the button is clicked. - - - - - - - - - - - - - The default text to display on a validation error when no translation can be found for - the "id". - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Specifies to return the contents of all fields concatenated into one long string, with - separation between each component. - - - - - - - Specifies to return the contents of all fields together with all separators as specified in the - field format concatenated into one long string. - In this case the resulting string looks just like the user saw it during data entry. - - - - - - - Specifies to return the contents of all fields concatenated into one long string, with a - special separator string inserted in between the individual components. - - - - - - - Specifies to return the contents of all fields using a Processor. - - - - - - - - - - - - At present only used by "title" fields. Note that "top" and "bottom" are - not applicable to "title" fields. - - - - - - - At present only used by "title" fields. Note that "top" and "bottom" are - not applicable to "title" fields. - - - - - - - At present only used by "title" fields. Note that "top" and "bottom" are - not applicable to "title" fields. - - - - - - - At present only used by "divider" fields. Note that "left", "center" and "right" are - not applicable to "divider" fields. - - - - - - - At present only used by "divider" fields. Note that "left", "center" and "right" are - not applicable to "divider" fields. - - - - - - - diff --git a/repast.simphony.eclipse/setupfiles/installer/create_model_archive.xml b/repast.simphony.eclipse/setupfiles/installer/create_model_archive.xml index 951126b47..e91b9469c 100644 --- a/repast.simphony.eclipse/setupfiles/installer/create_model_archive.xml +++ b/repast.simphony.eclipse/setupfiles/installer/create_model_archive.xml @@ -2,6 +2,8 @@ + + @@ -68,7 +70,9 @@ - + + + @@ -83,9 +87,10 @@ - + - + diff --git a/repast.simphony.eclipse/setupfiles/installer/installation_coordinator.xml b/repast.simphony.eclipse/setupfiles/installer/installation_coordinator.xml index 37924fd99..1820766d9 100644 --- a/repast.simphony.eclipse/setupfiles/installer/installation_coordinator.xml +++ b/repast.simphony.eclipse/setupfiles/installer/installation_coordinator.xml @@ -13,28 +13,50 @@ hard coded value that corresponds to the version that created the model installer files, against the version of Repast that is actually in use in the workspace. --> - + - - + + - + - + - + - - + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -43,12 +65,12 @@ - + - + - + @@ -56,7 +78,7 @@ - + @@ -88,7 +110,6 @@ - @@ -103,27 +124,23 @@ - - - - - + - + - + - + - + diff --git a/repast.simphony.eclipse/setupfiles/installer/start_model.bat b/repast.simphony.eclipse/setupfiles/installer/start_model.bat index 8a641e5ef..0044b3336 100644 --- a/repast.simphony.eclipse/setupfiles/installer/start_model.bat +++ b/repast.simphony.eclipse/setupfiles/installer/start_model.bat @@ -22,4 +22,4 @@ REM Change to the project directory CD "%PROJECT_NAME%" REM Start the Model -START javaw -XX:+IgnoreUnrecognizedVMOptions --add-modules=ALL-SYSTEM --add-exports=java.base/jdk.internal.ref=ALL-UNNAMED -cp "%CP%" repast.simphony.runtime.RepastMain "./%SCENARIO_DIRECTORY%" +START javaw -XX:+IgnoreUnrecognizedVMOptions --add-modules=ALL-SYSTEM --add-exports=java.base/jdk.internal.ref=ALL-UNNAMED --add-exports=java.base/java.lang=ALL-UNNAMED --add-exports=java.desktop/sun.awt=ALL-UNNAMED --add-exports=java.desktop/sun.java2d=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED -cp "%CP%" repast.simphony.runtime.RepastMain "./%SCENARIO_DIRECTORY%" diff --git a/repast.simphony.eclipse/setupfiles/installer/start_model.command b/repast.simphony.eclipse/setupfiles/installer/start_model.command index e610c7682..add8ed83b 100644 --- a/repast.simphony.eclipse/setupfiles/installer/start_model.command +++ b/repast.simphony.eclipse/setupfiles/installer/start_model.command @@ -22,4 +22,4 @@ CP=$CP:lib/* cd "%PROJECT_NAME%" # Start the Model -java -XX:+IgnoreUnrecognizedVMOptions --add-modules=ALL-SYSTEM --add-exports=java.base/jdk.internal.ref=ALL-UNNAMED -cp "$CP" repast.simphony.runtime.RepastMain "./%SCENARIO_DIRECTORY%" +java -XX:+IgnoreUnrecognizedVMOptions --add-modules=ALL-SYSTEM --add-exports=java.base/jdk.internal.ref=ALL-UNNAMED --add-exports=java.base/java.lang=ALL-UNNAMED --add-exports=java.desktop/sun.awt=ALL-UNNAMED --add-exports=java.desktop/sun.java2d=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED -cp "$CP" repast.simphony.runtime.RepastMain "./%SCENARIO_DIRECTORY%" diff --git a/repast.simphony.eclipse/src/repast/simphony/eclipse/RSProjectConfigurator.java b/repast.simphony.eclipse/src/repast/simphony/eclipse/RSProjectConfigurator.java index 3dfdccc99..e6e107a3d 100644 --- a/repast.simphony.eclipse/src/repast/simphony/eclipse/RSProjectConfigurator.java +++ b/repast.simphony.eclipse/src/repast/simphony/eclipse/RSProjectConfigurator.java @@ -49,12 +49,12 @@ public class RSProjectConfigurator { // VM args that are required for Java 9+. // -XX:+IgnoreUnrecognizedVMOptions is used for cases when Java 8 is the JRE // so that the module exports don't cause an unrecognized arg error - // - // --add-modules=ALL-SYSTEM is used to export all JRE modules to the runtime classpath - // --add-exports=java.base/jdk.internal.ref=ALL-UNNAMED is used to provide access - // to jdk.internal.ref that is used by some GeoTools JAI modules - public final static String VMARGS = "-XX:+IgnoreUnrecognizedVMOptions --add-modules=ALL-SYSTEM --add-exports=java.base/jdk.internal.ref=ALL-UNNAMED"; + + public final static String VMARGS = "-XX:+IgnoreUnrecognizedVMOptions --add-modules=ALL-SYSTEM --add-exports=java.base/jdk.internal.ref=ALL-UNNAMED --add-exports=java.base/java.lang=ALL-UNNAMED --add-exports=java.desktop/sun.awt=ALL-UNNAMED --add-exports=java.desktop/sun.java2d=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED"; + // VM args specific to batch runs + public final static String BATCH_VMARGS = "-XX:+IgnoreUnrecognizedVMOptions --add-modules=ALL-SYSTEM --add-exports=java.base/jdk.internal.ref=ALL-UNNAMED --add-exports=java.base/java.lang=ALL-UNNAMED --add-exports=java.xml/com.sun.org.apache.xpath.internal.objects=ALL-UNNAMED --add-exports=java.xml/com.sun.org.apache.xpath.internal=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED"; + //The Eclipse launch favorites list public final static List favoritesList = new ArrayList() {{ add(IDebugUIConstants.ID_DEBUG_LAUNCH_GROUP); diff --git a/repast.simphony.eclipse/src/repast/simphony/eclipse/RepastSimphonyPlugin.java b/repast.simphony.eclipse/src/repast/simphony/eclipse/RepastSimphonyPlugin.java index 16c7afaf3..3c30b21dd 100644 --- a/repast.simphony.eclipse/src/repast/simphony/eclipse/RepastSimphonyPlugin.java +++ b/repast.simphony.eclipse/src/repast/simphony/eclipse/RepastSimphonyPlugin.java @@ -36,7 +36,7 @@ public class RepastSimphonyPlugin extends AbstractUIPlugin { public static final String REPAST_SIMPHONY_PLUGIN_ID = "repast.simphony.eclipse"; public static final String REPAST_SIMPHONY_NATURE_ID = REPAST_SIMPHONY_PLUGIN_ID + ".repast_simphony_nature"; - public static final String REPAST_SIMPHONY_PLUGIN_VERSION = "2.9.1"; + public static final String REPAST_SIMPHONY_PLUGIN_VERSION = "2.10.0"; public static final String JAR_FILE = "repast.simphony.bin_and_src.jar"; public static final String JAR_PROJECT = "repast.simphony.bin_and_src_" + REPAST_SIMPHONY_PLUGIN_VERSION; @@ -56,9 +56,9 @@ public class RepastSimphonyPlugin extends AbstractUIPlugin { "/repast.simphony.runtime_" + REPAST_SIMPHONY_PLUGIN_VERSION + "/lib/log4j-api-2.17.2.jar", "/repast.simphony.runtime_" + REPAST_SIMPHONY_PLUGIN_VERSION + "/lib/log4j-core-2.17.2.jar", "/repast.simphony.runtime_" + REPAST_SIMPHONY_PLUGIN_VERSION + "/lib/xpp3_min-1.1.4c.jar", - "/repast.simphony.runtime_" + REPAST_SIMPHONY_PLUGIN_VERSION + "/lib/xstream-1.4.7.jar", + "/repast.simphony.runtime_" + REPAST_SIMPHONY_PLUGIN_VERSION + "/lib/xstream-1.4.19.jar", "/repast.simphony.runtime_" + REPAST_SIMPHONY_PLUGIN_VERSION + "/lib/xmlpull-1.1.3.1.jar", - "/repast.simphony.runtime_" + REPAST_SIMPHONY_PLUGIN_VERSION + "/lib/commons-cli-1.2.jar", }; + "/repast.simphony.runtime_" + REPAST_SIMPHONY_PLUGIN_VERSION + "/lib/commons-cli-1.3.1.jar", }; private static String[] BASE_CLASSPATH_FOR_SERVER_LAUNCHER = { "${workspace_loc:project_name}/bin", "ECLIPSE_HOME/plugins/repast.simphony.runtime_" + REPAST_SIMPHONY_PLUGIN_VERSION + "/bin", @@ -71,9 +71,9 @@ public class RepastSimphonyPlugin extends AbstractUIPlugin { "/repast.simphony.runtime_" + REPAST_SIMPHONY_PLUGIN_VERSION + "/lib/log4j-api-2.17.2.jar", "/repast.simphony.runtime_" + REPAST_SIMPHONY_PLUGIN_VERSION + "/lib/log4j-core-2.17.2.jar", "/repast.simphony.runtime_" + REPAST_SIMPHONY_PLUGIN_VERSION + "/lib/xpp3_min-1.1.4c.jar", - "/repast.simphony.runtime_" + REPAST_SIMPHONY_PLUGIN_VERSION + "/lib/xstream-1.4.7.jar", + "/repast.simphony.runtime_" + REPAST_SIMPHONY_PLUGIN_VERSION + "/lib/xstream-1.4.19.jar", "/repast.simphony.runtime_" + REPAST_SIMPHONY_PLUGIN_VERSION + "/lib/xmlpull-1.1.3.1.jar", - "/repast.simphony.runtime_" + REPAST_SIMPHONY_PLUGIN_VERSION + "/lib/commons-cli-1.2.jar", + "/repast.simphony.runtime_" + REPAST_SIMPHONY_PLUGIN_VERSION + "/lib/commons-cli-1.3.1.jar", "/repast.simphony.core_" + REPAST_SIMPHONY_PLUGIN_VERSION + "/lib/concurrent-1.3.4.jar", "/repast.simphony.core_" + REPAST_SIMPHONY_PLUGIN_VERSION + "/lib/jung-api-2.0.1.jar", @@ -82,7 +82,6 @@ public class RepastSimphonyPlugin extends AbstractUIPlugin { "/repast.simphony.core_" + REPAST_SIMPHONY_PLUGIN_VERSION + "/lib/jung-algorithms-2.0.1.jar", "/repast.simphony.core_" + REPAST_SIMPHONY_PLUGIN_VERSION + "/lib/colt-1.2.0-no_hep.jar", "/repast.simphony.core_" + REPAST_SIMPHONY_PLUGIN_VERSION + "/lib/poi-ooxml-3.9-20121203.jar", - "/repast.simphony.core_" + REPAST_SIMPHONY_PLUGIN_VERSION + "/lib/jscience-4.3.1-no_ogis.jar", "/repast.simphony.core_" + REPAST_SIMPHONY_PLUGIN_VERSION + "/lib/xmlbeans-2.3.0.jar", "/repast.simphony.core_" + REPAST_SIMPHONY_PLUGIN_VERSION + "/lib/velocity-1.4.jar", "/repast.simphony.core_" + REPAST_SIMPHONY_PLUGIN_VERSION + "/lib/commons-io-2.5.jar", @@ -92,7 +91,7 @@ public class RepastSimphonyPlugin extends AbstractUIPlugin { "/repast.simphony.core_" + REPAST_SIMPHONY_PLUGIN_VERSION + "/lib/commons-collections-3.2.2.jar", "/repast.simphony.core_" + REPAST_SIMPHONY_PLUGIN_VERSION + "/lib/jung-graph-impl-2.0.1.jar", "/repast.simphony.core_" + REPAST_SIMPHONY_PLUGIN_VERSION + "/lib/dom4j-1.6.1.jar", - "/repast.simphony.core_" + REPAST_SIMPHONY_PLUGIN_VERSION + "/lib/commons-lang3-3.1.jar", + "/repast.simphony.core_" + REPAST_SIMPHONY_PLUGIN_VERSION + "/lib/commons-lang3-3.8.1.jar", "/repast.simphony.core_" + REPAST_SIMPHONY_PLUGIN_VERSION + "/lib/jung-io-2.0.1.jar", "/repast.simphony.core_" + REPAST_SIMPHONY_PLUGIN_VERSION + "/lib/jbullet.jar", "/repast.simphony.core_" + REPAST_SIMPHONY_PLUGIN_VERSION + "/lib/collections-generic-4.01.jar", diff --git a/repast.simphony.eclipse/src/repast/simphony/eclipse/StandAloneBatchClasspathContainer.java b/repast.simphony.eclipse/src/repast/simphony/eclipse/StandAloneBatchClasspathContainer.java index f0641f5b3..2408d7ad5 100644 --- a/repast.simphony.eclipse/src/repast/simphony/eclipse/StandAloneBatchClasspathContainer.java +++ b/repast.simphony.eclipse/src/repast/simphony/eclipse/StandAloneBatchClasspathContainer.java @@ -53,7 +53,7 @@ public IClasspathEntry[] getClasspathEntries() { "/repast.simphony.runtime_" + RepastSimphonyPlugin.REPAST_SIMPHONY_PLUGIN_VERSION + "/lib/commons-cli-1.3.1.jar", "/repast.simphony.core_" + RepastSimphonyPlugin.REPAST_SIMPHONY_PLUGIN_VERSION - + "/lib/commons-lang3-3.1.jar" }; + + "/lib/commons-lang3-3.8.1.jar" }; String[] standAloneClasspath = new String[baseClasspathForStandAlone.length]; int i = 0; diff --git a/repast.simphony.eclipse/src/repast/simphony/eclipse/ide/ModelRunLauncherCreator.java b/repast.simphony.eclipse/src/repast/simphony/eclipse/ide/ModelRunLauncherCreator.java index 8560db634..522c84dbc 100644 --- a/repast.simphony.eclipse/src/repast/simphony/eclipse/ide/ModelRunLauncherCreator.java +++ b/repast.simphony.eclipse/src/repast/simphony/eclipse/ide/ModelRunLauncherCreator.java @@ -74,6 +74,7 @@ public void run(IJavaProject project, IFolder folder) throws CoreException { launchConfigurationWorkingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, project.getElementName()); launchConfigurationWorkingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, "repast.simphony.batch.standalone.StandAloneMain"); + launchConfigurationWorkingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS, RSProjectConfigurator.BATCH_VMARGS); launchConfigurationWorkingCopy.setAttribute( IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS,"-model_dir \"${workspace_loc:" + project.getElementName() + "}\""); diff --git a/repast.simphony.eclipse/src/repast/simphony/eclipse/ide/UpdateInstallerFilesHandler.java b/repast.simphony.eclipse/src/repast/simphony/eclipse/ide/UpdateInstallerFilesHandler.java index a4dc030db..ae952c7c3 100644 --- a/repast.simphony.eclipse/src/repast/simphony/eclipse/ide/UpdateInstallerFilesHandler.java +++ b/repast.simphony.eclipse/src/repast/simphony/eclipse/ide/UpdateInstallerFilesHandler.java @@ -90,6 +90,11 @@ public Object execute(ExecutionEvent event) throws ExecutionException { IFolder destFolder = srcFolder.getFolder("../installer"); Utilities.copyFolderFromPluginInstallation("installer", destFolder, variableMap, new NullProgressMonitor()); + // Create the launches for the model installer builders + InstallerLauncherCreator installerCreator = new InstallerLauncherCreator(); + destFolder = srcFolder.getFolder("../launchers"); + installerCreator.run(project, destFolder); + MessageDialog.openInformation(HandlerUtil.getActiveShell(event), "Model installer update", "Installer files updated successfully."); diff --git a/repast.simphony.essentials/META-INF/MANIFEST.MF b/repast.simphony.essentials/META-INF/MANIFEST.MF index ea278104f..789514567 100644 --- a/repast.simphony.essentials/META-INF/MANIFEST.MF +++ b/repast.simphony.essentials/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Repast essentials Bundle-SymbolicName: repast.simphony.essentials -Bundle-Version: 2.9.1 +Bundle-Version: 2.10.0 Bundle-Localization: plugin Require-Bundle: repast.simphony.integration, repast.simphony.sql, diff --git a/repast.simphony.essentials/plugin_jpf.xml b/repast.simphony.essentials/plugin_jpf.xml index add34de8d..e9899d42a 100644 --- a/repast.simphony.essentials/plugin_jpf.xml +++ b/repast.simphony.essentials/plugin_jpf.xml @@ -3,7 +3,7 @@ - + diff --git a/repast.simphony.essentials/src/repast/simphony/essentials/RepastEssentials.java b/repast.simphony.essentials/src/repast/simphony/essentials/RepastEssentials.java index 5dd3493d1..72ad7c0d5 100644 --- a/repast.simphony.essentials/src/repast/simphony/essentials/RepastEssentials.java +++ b/repast.simphony.essentials/src/repast/simphony/essentials/RepastEssentials.java @@ -20,10 +20,11 @@ import java.util.HashMap; import java.util.List; +import javax.measure.Quantity; + import org.josql.QueryExecutionException; import org.josql.QueryParseException; import org.josql.QueryResults; -import org.jscience.physics.amount.Amount; import repast.simphony.context.Context; import repast.simphony.context.Contexts; @@ -977,10 +978,9 @@ public static double GetTickCount() { } - public static Amount GetTickCountInTimeUnits() { + public static Quantity GetTickCountInTimeUnits() { - return RunEnvironment.getInstance().getCurrentSchedule() - .getTickCountInTimeUnits(); + return RunEnvironment.getInstance().getCurrentSchedule().getTickCountInTimeQuantity(); } diff --git a/repast.simphony.essentials/test/repast/simphony/essentials/RETest.java b/repast.simphony.essentials/test/repast/simphony/essentials/RETest.java index 0d80ff189..21a4972b0 100644 --- a/repast.simphony.essentials/test/repast/simphony/essentials/RETest.java +++ b/repast.simphony.essentials/test/repast/simphony/essentials/RETest.java @@ -4,13 +4,10 @@ import java.util.List; import java.util.Set; -import javax.measure.quantity.Duration; -import javax.measure.unit.SI; +import javax.measure.Quantity; import junit.framework.TestCase; -import org.jscience.physics.amount.Amount; - import repast.simphony.context.Context; import repast.simphony.context.DefaultContext; import repast.simphony.context.space.graph.NetworkFileFormat; @@ -39,6 +36,7 @@ import repast.simphony.valueLayer.ContinuousValueLayer; import repast.simphony.valueLayer.GridValueLayer; import repast.simphony.valueLayer.ValueLayer; +import tech.units.indriya.quantity.Quantities; /** * Tests of RepastEssentials @@ -389,8 +387,8 @@ public void testMove() { public void testTickCount() { ISchedule schedule = RunEnvironment.getInstance().getCurrentSchedule(); - Amount unitAmount = Amount.valueOf(2L, SI.SECOND); - schedule.setTimeUnits(unitAmount); + Quantity quant = Quantities.getQuantity(2, tech.units.indriya.unit.Units.SECOND); + schedule.setTimeQuantity(quant); schedule.schedule(ScheduleParameters.createOneTime(2.5), new IAction() { public void execute() { } @@ -398,7 +396,11 @@ public void execute() { schedule.execute(); assertEquals(2.5, RepastEssentials.GetTickCount()); - assertEquals(unitAmount.times(2.5), RepastEssentials.GetTickCountInTimeUnits()); + + Quantity other_quant = RepastEssentials.GetTickCountInTimeUnits(); + boolean same = other_quant.toString().equals(quant.toString()); + assertTrue(same); + } class TestObject { diff --git a/repast.simphony.freezedry/META-INF/MANIFEST.MF b/repast.simphony.freezedry/META-INF/MANIFEST.MF index c82f22c68..64a905486 100644 --- a/repast.simphony.freezedry/META-INF/MANIFEST.MF +++ b/repast.simphony.freezedry/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Repast freezedry Bundle-SymbolicName: repast.simphony.freezedry -Bundle-Version: 2.9.1 +Bundle-Version: 2.10.0 Export-Package: repast.simphony.freezedry.engine, repast.simphony.freezedry.gui, repast.simphony.freezedry.wizard diff --git a/repast.simphony.freezedry/plugin_jpf.xml b/repast.simphony.freezedry/plugin_jpf.xml index 6fa139510..cf7f2107f 100644 --- a/repast.simphony.freezedry/plugin_jpf.xml +++ b/repast.simphony.freezedry/plugin_jpf.xml @@ -3,7 +3,7 @@ - + diff --git a/repast.simphony.gis.visualization/.classpath b/repast.simphony.gis.visualization/.classpath index 2eb93484f..1fbb7762c 100644 --- a/repast.simphony.gis.visualization/.classpath +++ b/repast.simphony.gis.visualization/.classpath @@ -1,7 +1,7 @@ + - diff --git a/repast.simphony.gis.visualization/META-INF/MANIFEST.MF b/repast.simphony.gis.visualization/META-INF/MANIFEST.MF index b42dd5d89..5321f9bb6 100644 --- a/repast.simphony.gis.visualization/META-INF/MANIFEST.MF +++ b/repast.simphony.gis.visualization/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Repast gis visualization Bundle-SymbolicName: repast.simphony.gis.visualization -Bundle-Version: 2.9.1 +Bundle-Version: 2.10.0 Bundle-Vendor: Argonne National Laboratory Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Require-Bundle: libs.ext, @@ -17,8 +17,8 @@ Require-Bundle: libs.ext, repast.simphony.plugin.util, org.junit Bundle-ClassPath: ., - lib/gt-render-19.1.jar, - lib/worldwind-2.2.0.jar + lib/worldwind-2.2.0.jar, + lib/gt-render-26.6.jar Export-Package: com.zebraimaging, gov.nasa.worldwind, gov.nasa.worldwind.animation, @@ -107,22 +107,18 @@ Export-Package: com.zebraimaging, org.codehaus.jackson.sym, org.codehaus.jackson.type, org.codehaus.jackson.util, - org.geotools.legend, org.geotools.map, - org.geotools.map.direct, - org.geotools.map.event, - org.geotools.referencing.piecewise, + org.geotools.map.legend, org.geotools.renderer, org.geotools.renderer.composite, org.geotools.renderer.i18n, org.geotools.renderer.label, org.geotools.renderer.lite, org.geotools.renderer.lite.gridcoverage2d, - org.geotools.renderer.markwkt, org.geotools.renderer.style, - org.geotools.renderer.style.shape, - org.geotools.renderer.windbarbs, - org.geotools.styling, + org.geotools.renderer.style.markwkt, + org.geotools.renderer.style.windbarbs, + org.geotools.renderer.util, repast.simphony.gis.display, repast.simphony.gis.layers, repast.simphony.gis.legend, diff --git a/repast.simphony.gis.visualization/build.properties b/repast.simphony.gis.visualization/build.properties index 87d1e9180..111c26bf6 100644 --- a/repast.simphony.gis.visualization/build.properties +++ b/repast.simphony.gis.visualization/build.properties @@ -7,7 +7,7 @@ bin.includes = META-INF/,\ plugin_jpf.xml,\ licenses/,\ lib/gt-render-18.0.jar,\ - lib/gt-render-19.1.jar,\ - lib/worldwind-2.2.0.jar + lib/worldwind-2.2.0.jar,\ + lib/gt-render-26.6.jar src.includes = src/,\ test/ diff --git a/repast.simphony.gis.visualization/lib/gt-render-19.1.jar b/repast.simphony.gis.visualization/lib/gt-render-19.1.jar deleted file mode 100644 index 9ecf61814..000000000 Binary files a/repast.simphony.gis.visualization/lib/gt-render-19.1.jar and /dev/null differ diff --git a/repast.simphony.gis.visualization/lib/gt-render-26.6.jar b/repast.simphony.gis.visualization/lib/gt-render-26.6.jar new file mode 100644 index 000000000..e8a4c28ed Binary files /dev/null and b/repast.simphony.gis.visualization/lib/gt-render-26.6.jar differ diff --git a/repast.simphony.gis.visualization/plugin_jpf.xml b/repast.simphony.gis.visualization/plugin_jpf.xml index 66676add1..ba1f187ed 100644 --- a/repast.simphony.gis.visualization/plugin_jpf.xml +++ b/repast.simphony.gis.visualization/plugin_jpf.xml @@ -3,7 +3,7 @@ - + @@ -18,7 +18,7 @@ - + diff --git a/repast.simphony.gis.visualization/src/repast/simphony/gis/display/GisDisplayMediator.java b/repast.simphony.gis.visualization/src/repast/simphony/gis/display/GisDisplayMediator.java index 43b979bc1..f18b1d9db 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/gis/display/GisDisplayMediator.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/gis/display/GisDisplayMediator.java @@ -1,18 +1,18 @@ package repast.simphony.gis.display; -import org.geotools.map.FeatureLayer; -import org.geotools.map.Layer; -import org.geotools.map.event.MapLayerEvent; -import org.geotools.map.event.MapLayerListEvent; -import org.geotools.map.event.MapLayerListListener; -import org.geotools.map.event.MapLayerListener; - -import java.awt.*; +import java.awt.Dimension; import java.awt.event.ComponentEvent; import java.awt.event.ComponentListener; import java.util.HashMap; import java.util.Map; +import org.geotools.map.FeatureLayer; +import org.geotools.map.Layer; +import org.geotools.map.MapLayerEvent; +import org.geotools.map.MapLayerListEvent; +import org.geotools.map.MapLayerListListener; +import org.geotools.map.MapLayerListener; + /** * Mediator for MapLayer events. * diff --git a/repast.simphony.gis.visualization/src/repast/simphony/gis/display/NetworkDisplayLayerGIS.java b/repast.simphony.gis.visualization/src/repast/simphony/gis/display/NetworkDisplayLayerGIS.java index fe1916b24..b21389a61 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/gis/display/NetworkDisplayLayerGIS.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/gis/display/NetworkDisplayLayerGIS.java @@ -1,6 +1,5 @@ package repast.simphony.gis.display; -import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; @@ -11,11 +10,10 @@ import java.util.concurrent.locks.ReentrantLock; import org.geotools.feature.DefaultFeatureCollection; -import org.geotools.feature.FeatureCollection; import org.geotools.styling.Style; +import org.locationtech.jts.geom.Coordinate; import org.opengis.feature.simple.SimpleFeature; -import repast.simphony.gis.display.RepastMapLayer; import repast.simphony.space.gis.FeatureAgent; import repast.simphony.space.gis.Geography; import repast.simphony.space.graph.Network; @@ -23,8 +21,6 @@ import repast.simphony.space.projection.ProjectionEvent; import repast.simphony.space.projection.ProjectionListener; -import com.vividsolutions.jts.geom.Coordinate; - /** * **** IN PROGRESS NYI **** * diff --git a/repast.simphony.gis.visualization/src/repast/simphony/gis/display/PGISCanvas.java b/repast.simphony.gis.visualization/src/repast/simphony/gis/display/PGISCanvas.java index 3119c9871..4da9a4249 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/gis/display/PGISCanvas.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/gis/display/PGISCanvas.java @@ -12,14 +12,15 @@ import org.geotools.geometry.jts.ReferencedEnvelope; import org.geotools.map.Layer; +import org.geotools.map.MapBoundsEvent; +import org.geotools.map.MapBoundsListener; import org.geotools.map.MapContent; -import org.geotools.map.event.MapBoundsEvent; -import org.geotools.map.event.MapBoundsListener; -import org.geotools.map.event.MapLayerListEvent; -import org.geotools.map.event.MapLayerListListener; -import org.geotools.map.event.MapLayerListener; +import org.geotools.map.MapLayerListEvent; +import org.geotools.map.MapLayerListListener; +import org.geotools.map.MapLayerListener; import org.geotools.referencing.crs.DefaultGeographicCRS; import org.geotools.referencing.datum.DefaultEllipsoid; +import org.locationtech.jts.geom.Envelope; import org.opengis.referencing.crs.CoordinateReferenceSystem; import org.piccolo2d.PCamera; import org.piccolo2d.PCanvas; @@ -37,8 +38,6 @@ import simphony.util.ThreadUtilities; import simphony.util.messages.MessageCenter; -import com.vividsolutions.jts.geom.Envelope; - /** * This will show a MapContext and adds support for various tools. * @@ -345,7 +344,7 @@ public PLayer getMapLayer() { @Override public void layerAdded(MapLayerListEvent event) { - addMapLayer(event.getToIndex(), event.getElement()); + addMapLayer(event.getToIndex(), event.getLayer()); } @Override @@ -354,15 +353,15 @@ public void layerChanged(MapLayerListEvent event) { @Override public void layerMoved(MapLayerListEvent event) { - Layer layer = event.getElement(); + Layer layer = event.getLayer(); int toIndex = event.getToIndex(); removeMapLayer(layer); - addMapLayer(toIndex, event.getElement()); + addMapLayer(toIndex, event.getLayer()); } @Override public void layerRemoved(MapLayerListEvent event) { - Layer mapLayer = event.getElement(); + Layer mapLayer = event.getLayer(); removeMapLayer(mapLayer); } diff --git a/repast.simphony.gis.visualization/src/repast/simphony/gis/display/PGisLayer.java b/repast.simphony.gis.visualization/src/repast/simphony/gis/display/PGisLayer.java index 07cff3546..9f1313c06 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/gis/display/PGisLayer.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/gis/display/PGisLayer.java @@ -11,20 +11,19 @@ import java.util.Map; import org.geotools.map.Layer; +import org.geotools.map.MapBoundsEvent; +import org.geotools.map.MapBoundsListener; import org.geotools.map.MapContent; -import org.geotools.map.event.MapBoundsEvent; -import org.geotools.map.event.MapBoundsListener; -import org.geotools.map.event.MapLayerEvent; -import org.geotools.map.event.MapLayerListener; +import org.geotools.map.MapLayerEvent; +import org.geotools.map.MapLayerListener; import org.geotools.renderer.GTRenderer; import org.geotools.renderer.lite.StreamingRenderer; +import org.locationtech.jts.geom.Envelope; import org.piccolo2d.PLayer; import org.piccolo2d.nodes.PImage; import simphony.util.messages.MessageCenter; -import com.vividsolutions.jts.geom.Envelope; - /** * This represents a FeatureLayer as an image. Each layer is inserted as a node into * the PCanvas. diff --git a/repast.simphony.gis.visualization/src/repast/simphony/gis/display/RepastMapLayer.java b/repast.simphony.gis.visualization/src/repast/simphony/gis/display/RepastMapLayer.java index ed0476add..683d38883 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/gis/display/RepastMapLayer.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/gis/display/RepastMapLayer.java @@ -1,9 +1,9 @@ package repast.simphony.gis.display; -import static org.geotools.map.event.MapLayerEvent.DATA_CHANGED; -import static org.geotools.map.event.MapLayerEvent.FILTER_CHANGED; -import static org.geotools.map.event.MapLayerEvent.STYLE_CHANGED; -import static org.geotools.map.event.MapLayerEvent.VISIBILITY_CHANGED; +import static org.geotools.map.MapLayerEvent.DATA_CHANGED; +import static org.geotools.map.MapLayerEvent.FILTER_CHANGED; +import static org.geotools.map.MapLayerEvent.STYLE_CHANGED; +import static org.geotools.map.MapLayerEvent.VISIBILITY_CHANGED; import java.util.ArrayList; import java.util.List; @@ -11,8 +11,8 @@ import org.geotools.data.FeatureSource; import org.geotools.feature.FeatureCollection; import org.geotools.map.FeatureLayer; -import org.geotools.map.event.MapLayerEvent; -import org.geotools.map.event.MapLayerListener; +import org.geotools.map.MapLayerEvent; +import org.geotools.map.MapLayerListener; import org.geotools.styling.Style; /** diff --git a/repast.simphony.gis.visualization/src/repast/simphony/gis/display/RepastRasterLayer.java b/repast.simphony.gis.visualization/src/repast/simphony/gis/display/RepastRasterLayer.java index 39e0ae93a..04464c52c 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/gis/display/RepastRasterLayer.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/gis/display/RepastRasterLayer.java @@ -1,19 +1,20 @@ package repast.simphony.gis.display; -import static org.geotools.map.event.MapLayerEvent.DATA_CHANGED; -import static org.geotools.map.event.MapLayerEvent.FILTER_CHANGED; -import static org.geotools.map.event.MapLayerEvent.STYLE_CHANGED; -import static org.geotools.map.event.MapLayerEvent.VISIBILITY_CHANGED; +import static org.geotools.map.MapLayerEvent.DATA_CHANGED; +import static org.geotools.map.MapLayerEvent.FILTER_CHANGED; +import static org.geotools.map.MapLayerEvent.STYLE_CHANGED; +import static org.geotools.map.MapLayerEvent.VISIBILITY_CHANGED; import java.util.ArrayList; import java.util.List; import org.geotools.coverage.grid.GridCoverage2D; import org.geotools.map.GridCoverageLayer; -import org.geotools.map.event.MapLayerEvent; -import org.geotools.map.event.MapLayerListener; +import org.geotools.map.MapLayerEvent; +import org.geotools.map.MapLayerListener; import org.geotools.styling.Style; + /** * Repast Raster Layer that wraps Geotools GridCoverageLayer * diff --git a/repast.simphony.gis.visualization/src/repast/simphony/gis/display/SquareIcon.java b/repast.simphony.gis.visualization/src/repast/simphony/gis/display/SquareIcon.java index 82a9f6aa2..94076fa1a 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/gis/display/SquareIcon.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/gis/display/SquareIcon.java @@ -1,7 +1,10 @@ package repast.simphony.gis.display; -import javax.swing.*; -import java.awt.*; +import java.awt.Color; +import java.awt.Component; +import java.awt.Graphics; + +import javax.swing.Icon; /** * A square-shaped icon for use on buttons like color pickers. diff --git a/repast.simphony.gis.visualization/src/repast/simphony/gis/legend/LegendCellRenderer.java b/repast.simphony.gis.visualization/src/repast/simphony/gis/legend/LegendCellRenderer.java index 29d000692..ccab30df5 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/gis/legend/LegendCellRenderer.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/gis/legend/LegendCellRenderer.java @@ -1,9 +1,10 @@ package repast.simphony.gis.legend; -import javax.swing.*; +import java.awt.Component; + +import javax.swing.JTree; import javax.swing.tree.DefaultTreeCellRenderer; import javax.swing.tree.TreeCellRenderer; -import java.awt.*; /** diff --git a/repast.simphony.gis.visualization/src/repast/simphony/gis/legend/LegendDefaultCellRenderer.java b/repast.simphony.gis.visualization/src/repast/simphony/gis/legend/LegendDefaultCellRenderer.java index e4585d2e6..b5928ed5e 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/gis/legend/LegendDefaultCellRenderer.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/gis/legend/LegendDefaultCellRenderer.java @@ -1,7 +1,8 @@ package repast.simphony.gis.legend; -import javax.swing.*; -import java.awt.*; +import java.awt.Color; + +import javax.swing.BorderFactory; /** diff --git a/repast.simphony.gis.visualization/src/repast/simphony/gis/legend/LegendEntry.java b/repast.simphony.gis.visualization/src/repast/simphony/gis/legend/LegendEntry.java index 7defafadd..0bce6e211 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/gis/legend/LegendEntry.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/gis/legend/LegendEntry.java @@ -1,8 +1,9 @@ package repast.simphony.gis.legend; -import javax.swing.*; +import java.awt.Color; + +import javax.swing.Icon; import javax.swing.tree.DefaultMutableTreeNode; -import java.awt.*; /** * This represents a generic entry in the legend. This will be selectable and diff --git a/repast.simphony.gis.visualization/src/repast/simphony/gis/legend/LegendLayerEntry.java b/repast.simphony.gis.visualization/src/repast/simphony/gis/legend/LegendLayerEntry.java index f1d164a40..fabf21281 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/gis/legend/LegendLayerEntry.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/gis/legend/LegendLayerEntry.java @@ -1,13 +1,14 @@ package repast.simphony.gis.legend; -import org.geotools.map.FeatureLayer; +import java.awt.Color; + +import javax.swing.Icon; + import org.geotools.map.Layer; -import org.geotools.map.event.MapLayerEvent; -import org.geotools.map.event.MapLayerListener; -import simphony.util.messages.MessageCenter; +import org.geotools.map.MapLayerEvent; +import org.geotools.map.MapLayerListener; -import javax.swing.*; -import java.awt.*; +import simphony.util.messages.MessageCenter; /** * Used to keep the information about legend tree root and layer node such as diff --git a/repast.simphony.gis.visualization/src/repast/simphony/gis/legend/LegendModel.java b/repast.simphony.gis.visualization/src/repast/simphony/gis/legend/LegendModel.java index a66e89e06..4c9073736 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/gis/legend/LegendModel.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/gis/legend/LegendModel.java @@ -13,8 +13,9 @@ import org.geotools.map.Layer; import org.geotools.map.MapContent; -import org.geotools.map.event.MapLayerEvent; -import org.geotools.map.event.MapLayerListener; +import org.geotools.map.MapLayerEvent; +import org.geotools.map.MapLayerListener; +import org.geotools.styling.FeatureTypeStyle; import org.geotools.styling.Rule; import org.geotools.styling.Style; @@ -73,7 +74,7 @@ public void initMapContext(MapContent context) { } Collections.sort(layers, new Comparator() { public int compare(Layer o1, Layer o2) { - return o1.getStyle().getTitle().compareTo(o2.getStyle().getTitle()); + return o1.getStyle().getDescription().getTitle().compareTo(o2.getStyle().getDescription().getTitle()); } }); @@ -84,14 +85,15 @@ public int compare(Layer o1, Layer o2) { } private void addRuleNodes(Style style, LegendLayerEntry layerNode) { - for (Rule rule : style.getFeatureTypeStyles()[0].getRules()) { -// Icon icon = LegendIconMaker.makeLegendIcon(iconWidth, rule, null); - // TODO Geotools [minor] - might ned to modify this to use the size. - Icon icon = StylePreviewFactory.createIcon(rule); - LegendRuleEntry ruleNode = new LegendRuleEntry(rule.getTitle(), - icon, rule); - insertNodeInto(ruleNode, layerNode, layerNode.getChildCount()); - } + for (FeatureTypeStyle fts: style.featureTypeStyles()) { + for (Rule rule : fts.rules()) { + // Icon icon = LegendIconMaker.makeLegendIcon(iconWidth, rule, null); + // TODO Geotools [minor] - might ned to modify this to use the size. + Icon icon = StylePreviewFactory.createIcon(rule); + LegendRuleEntry ruleNode = new LegendRuleEntry(rule.getName(), icon, rule); + insertNodeInto(ruleNode, layerNode, layerNode.getChildCount()); + } + } } /** @@ -102,7 +104,7 @@ private void addRuleNodes(Style style, LegendLayerEntry layerNode) { * @return The node created for the layer. */ public LegendEntry createLayerEntry(Layer layer) { - LegendLayerEntry entry = new LegendLayerEntry(layer.getStyle().getTitle(), true, layer); + LegendLayerEntry entry = new LegendLayerEntry(layer.getStyle().getName(), true, layer); nodeMap.put(layer, entry); layer.addMapLayerListener(new LayerNodeListener(layer)); addRuleNodes(layer.getStyle(), entry); @@ -123,7 +125,7 @@ public void updateLayer(Layer layer) { this.removeNodeFromParent((LegendEntry) layerEntry.getChildAt(0)); } Style style = layer.getStyle(); - layerEntry.setName(style.getTitle()); + layerEntry.setName(style.getName()); addRuleNodes(style, (LegendLayerEntry) layerEntry); } } diff --git a/repast.simphony.gis.visualization/src/repast/simphony/gis/legend/LegendRuleEntry.java b/repast.simphony.gis.visualization/src/repast/simphony/gis/legend/LegendRuleEntry.java index 8495aa7ac..34af9b097 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/gis/legend/LegendRuleEntry.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/gis/legend/LegendRuleEntry.java @@ -1,9 +1,10 @@ package repast.simphony.gis.legend; -import org.geotools.styling.Rule; +import java.awt.Color; + +import javax.swing.Icon; -import javax.swing.*; -import java.awt.*; +import org.geotools.styling.Rule; /** * This legend element represents a rule in a style. This will hold the rule as diff --git a/repast.simphony.gis.visualization/src/repast/simphony/gis/legend/LegendTreeLayerCellRenderer.java b/repast.simphony.gis.visualization/src/repast/simphony/gis/legend/LegendTreeLayerCellRenderer.java index cdfb7fcaa..af7d61e90 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/gis/legend/LegendTreeLayerCellRenderer.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/gis/legend/LegendTreeLayerCellRenderer.java @@ -21,8 +21,9 @@ */ package repast.simphony.gis.legend; -import javax.swing.*; -import java.awt.*; +import java.awt.Color; + +import javax.swing.BorderFactory; /** * Renderer for rendering root and layer Cell in LegendTree diff --git a/repast.simphony.gis.visualization/src/repast/simphony/gis/legend/MapLegend.java b/repast.simphony.gis.visualization/src/repast/simphony/gis/legend/MapLegend.java index b3e16b3e7..5b33c6c98 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/gis/legend/MapLegend.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/gis/legend/MapLegend.java @@ -17,16 +17,8 @@ package repast.simphony.gis.legend; -import javax.swing.*; -import javax.swing.tree.DefaultMutableTreeNode; -import javax.swing.tree.TreeNode; -import javax.swing.tree.TreePath; - -import org.geotools.map.FeatureLayer; -import org.geotools.map.Layer; -import org.geotools.map.MapContent; - -import java.awt.*; +import java.awt.BorderLayout; +import java.awt.Rectangle; import java.awt.event.ActionEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; @@ -34,6 +26,19 @@ import java.util.HashMap; import java.util.Map; +import javax.swing.AbstractAction; +import javax.swing.Action; +import javax.swing.JPanel; +import javax.swing.JPopupMenu; +import javax.swing.JScrollPane; +import javax.swing.JTree; +import javax.swing.tree.DefaultMutableTreeNode; +import javax.swing.tree.TreeNode; +import javax.swing.tree.TreePath; + +import org.geotools.map.Layer; +import org.geotools.map.MapContent; + /** * This is a widget that represents the legend of some gis space. The legend can * be broken up into a series of Categories and subCategories as appropriate. diff --git a/repast.simphony.gis.visualization/src/repast/simphony/gis/styleEditor/ByRangePanelMediator.java b/repast.simphony.gis.visualization/src/repast/simphony/gis/styleEditor/ByRangePanelMediator.java index 81396f763..db182f1b5 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/gis/styleEditor/ByRangePanelMediator.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/gis/styleEditor/ByRangePanelMediator.java @@ -73,7 +73,7 @@ public ByRangePanelMediator(FeatureType featureType, Rule rule) { CommonFactoryFinder.getStyleFactory(), CommonFactoryFinder.getFilterFactory2()); dsv.visit(rule); defaultRule = (Rule) dsv.getCopy(); - defaultRule.setTitle(""); + defaultRule.getDescription().setTitle(""); defaultRule.setName("Default"); } diff --git a/repast.simphony.gis.visualization/src/repast/simphony/gis/styleEditor/ByValuePanel.java b/repast.simphony.gis.visualization/src/repast/simphony/gis/styleEditor/ByValuePanel.java index 6822a974b..e49c376f0 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/gis/styleEditor/ByValuePanel.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/gis/styleEditor/ByValuePanel.java @@ -44,8 +44,6 @@ import org.opengis.feature.type.AttributeType; import org.opengis.feature.type.FeatureType; -import simphony.util.messages.MessageCenter; - import com.jgoodies.forms.factories.DefaultComponentFactory; import com.jgoodies.forms.layout.CellConstraints; import com.jgoodies.forms.layout.ColumnSpec; @@ -55,6 +53,8 @@ import com.jgoodies.forms.layout.RowSpec; import com.jgoodies.forms.layout.Sizes; +import simphony.util.messages.MessageCenter; + /** * The "Value Style" panel in the GisStyleEditor dialog that provides the * capability of setting the shape fill color using value rules. diff --git a/repast.simphony.gis.visualization/src/repast/simphony/gis/styleEditor/DoubleDocument.java b/repast.simphony.gis.visualization/src/repast/simphony/gis/styleEditor/DoubleDocument.java index 110c431dd..6d4af5e66 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/gis/styleEditor/DoubleDocument.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/gis/styleEditor/DoubleDocument.java @@ -1,9 +1,10 @@ package repast.simphony.gis.styleEditor; +import java.text.DecimalFormat; + import javax.swing.text.AttributeSet; import javax.swing.text.BadLocationException; import javax.swing.text.PlainDocument; -import java.text.DecimalFormat; /** diff --git a/repast.simphony.gis.visualization/src/repast/simphony/gis/styleEditor/Palette.java b/repast.simphony.gis.visualization/src/repast/simphony/gis/styleEditor/Palette.java index 95037378e..0fc056d5c 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/gis/styleEditor/Palette.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/gis/styleEditor/Palette.java @@ -1,10 +1,10 @@ package repast.simphony.gis.styleEditor; +import java.awt.Color; + import org.geotools.brewer.color.BrewerPalette; import org.geotools.brewer.color.ColorBrewer; -import java.awt.*; - /** * @author Nick Collier * diff --git a/repast.simphony.gis.visualization/src/repast/simphony/gis/styleEditor/PaletteIcon.java b/repast.simphony.gis.visualization/src/repast/simphony/gis/styleEditor/PaletteIcon.java index e218b9fbd..0afb71950 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/gis/styleEditor/PaletteIcon.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/gis/styleEditor/PaletteIcon.java @@ -1,9 +1,12 @@ package repast.simphony.gis.styleEditor; -import repast.simphony.gis.display.SquareIcon; +import java.awt.Color; +import java.awt.Component; +import java.awt.Graphics; + +import javax.swing.Icon; -import javax.swing.*; -import java.awt.*; +import repast.simphony.gis.display.SquareIcon; /** * @author Nick Collier diff --git a/repast.simphony.gis.visualization/src/repast/simphony/gis/styleEditor/RuleCreator.java b/repast.simphony.gis.visualization/src/repast/simphony/gis/styleEditor/RuleCreator.java index 2f5c0ea39..75d6329c8 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/gis/styleEditor/RuleCreator.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/gis/styleEditor/RuleCreator.java @@ -66,7 +66,7 @@ public Rule createValueRule(SimpleFeature feature, String attributeName, Symboli att = feature.getAttribute(attributeName); Rule rule = fac.createRule(); - rule.setTitle(attributeName); + rule.getDescription().setTitle(attributeName); Expression attExp = builder.attributeExpression(attributeName); Expression lit = filterFactory.literal(att); diff --git a/repast.simphony.gis.visualization/src/repast/simphony/gis/styleEditor/RuleEditPanel.java b/repast.simphony.gis.visualization/src/repast/simphony/gis/styleEditor/RuleEditPanel.java index bd83e82f0..04984276a 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/gis/styleEditor/RuleEditPanel.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/gis/styleEditor/RuleEditPanel.java @@ -21,8 +21,8 @@ import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; +import org.geotools.brewer.styling.filter.expression.ExpressionBuilder; import org.geotools.factory.CommonFactoryFinder; -import org.geotools.filter.expression.ExpressionBuilder; import org.geotools.styling.FeatureTypeStyle; import org.geotools.styling.Fill; import org.geotools.styling.LineSymbolizer; @@ -39,8 +39,6 @@ import org.opengis.feature.simple.SimpleFeatureType; import org.opengis.feature.type.AttributeType; -import repast.simphony.gis.display.SquareIcon; - import com.jgoodies.forms.factories.DefaultComponentFactory; import com.jgoodies.forms.layout.CellConstraints; import com.jgoodies.forms.layout.ColumnSpec; @@ -50,6 +48,8 @@ import com.jgoodies.forms.layout.RowSpec; import com.jgoodies.forms.layout.Sizes; +import repast.simphony.gis.display.SquareIcon; + /** * Editor panel for single rule GIS style that lets the user specify the style * shape, fill, line color, etc. @@ -620,7 +620,7 @@ public Style getStyle() { Style style = styleBuilder.createStyle(); FeatureTypeStyle fts = styleBuilder.createFeatureTypeStyle(type .getName().getLocalPart(), rule); - rule.setTitle(" "); + rule.getDescription().setTitle(" "); style.featureTypeStyles().clear(); List ftsList = new ArrayList(); ftsList.add(fts); diff --git a/repast.simphony.gis.visualization/src/repast/simphony/gis/styleEditor/ValueTableModel.java b/repast.simphony.gis.visualization/src/repast/simphony/gis/styleEditor/ValueTableModel.java index 82b900b6a..981f1aded 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/gis/styleEditor/ValueTableModel.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/gis/styleEditor/ValueTableModel.java @@ -65,9 +65,9 @@ private Rule configureDefaultRule(Style style){ CommonFactoryFinder.getStyleFactory(), CommonFactoryFinder.getFilterFactory2()); dsv.visit(style.featureTypeStyles().get(0).rules().get(0)); Rule rule = (Rule) dsv.getCopy(); - rule.setTitle(""); + rule.getDescription().setTitle(""); rule.setName("Default"); - rule.setIsElseFilter(true); + rule.setElseFilter(true); return rule; } @@ -113,7 +113,7 @@ public void setValueAt(Object aValue, int rowIndex, int columnIndex) { } } else if (columnIndex == 2) { - rule.setTitle(strVal); + rule.getDescription().setTitle(strVal); } fireTableRowsUpdated(rowIndex, rowIndex); } diff --git a/repast.simphony.gis.visualization/src/repast/simphony/gis/tools/DistanceSetter.java b/repast.simphony.gis.visualization/src/repast/simphony/gis/tools/DistanceSetter.java index 7c2a48a75..b8d290078 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/gis/tools/DistanceSetter.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/gis/tools/DistanceSetter.java @@ -1,6 +1,6 @@ package repast.simphony.gis.tools; -import javax.measure.unit.Unit; +import javax.measure.Unit; public interface DistanceSetter { diff --git a/repast.simphony.gis.visualization/src/repast/simphony/gis/tools/DistanceTool.java b/repast.simphony.gis.visualization/src/repast/simphony/gis/tools/DistanceTool.java index 6c146e3cb..d00761337 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/gis/tools/DistanceTool.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/gis/tools/DistanceTool.java @@ -5,15 +5,13 @@ import java.awt.Cursor; import java.awt.geom.Point2D; -import javax.measure.converter.UnitConverter; -import javax.measure.unit.NonSI; -import javax.measure.unit.SI; -import javax.measure.unit.Unit; +import javax.measure.Unit; +import javax.measure.UnitConverter; import org.geotools.geometry.DirectPosition2D; +import org.geotools.map.MapBoundsEvent; +import org.geotools.map.MapBoundsListener; import org.geotools.map.MapContent; -import org.geotools.map.event.MapBoundsEvent; -import org.geotools.map.event.MapBoundsListener; import org.geotools.referencing.GeodeticCalculator; import org.opengis.referencing.operation.TransformException; import org.piccolo2d.PCamera; @@ -23,7 +21,10 @@ import org.piccolo2d.nodes.PPath; import repast.simphony.gis.display.PiccoloMapPanel; +import si.uom.NonSI; +import si.uom.SI; import simphony.util.messages.MessageCenter; +import tech.units.indriya.unit.Units; public class DistanceTool extends PBasicInputEventHandler implements MapTool, MapBoundsListener { @@ -50,9 +51,9 @@ public class DistanceTool extends PBasicInputEventHandler implements MapTool, Ma private PCamera camera; // this unit mess is because geotools geodetic calculator uses the old jsr units - public DistanceTool(MapContent context, javax.measure.unit.Unit unit, DistanceSetter setter) { + public DistanceTool(MapContent context, Unit unit, DistanceSetter setter) { this.mapContext = context; - this.unit = Unit.valueOf(unit.toString()); + this.unit = unit; this.setter = setter; calculator = new GeodeticCalculator(context.getCoordinateReferenceSystem()); @@ -130,10 +131,10 @@ public void mouseMoved(PInputEvent event) { } if (!calculator.getEllipsoid().getAxisUnit().equals(NonSI.DEGREE_ANGLE)) { - if (unit == SI.METER) { + if (unit == Units.METRE) { distance = calculator.getOrthodromicDistance(); } else { - UnitConverter converter = SI.METER.getConverterTo(unit); + UnitConverter converter = Units.METRE.getConverterTo(unit); distance = converter.convert(calculator.getOrthodromicDistance()); } } else if (!unit.equals(calculator.getEllipsoid().getAxisUnit())) { @@ -146,7 +147,7 @@ public void mouseMoved(PInputEvent event) { } curDistance = distance; - setter.setDistance(totalDistance + curDistance, javax.measure.unit.Unit.valueOf(unit.toString())); + setter.setDistance(totalDistance + curDistance, unit); } } diff --git a/repast.simphony.gis.visualization/src/repast/simphony/gis/tools/PGISPanTool.java b/repast.simphony.gis.visualization/src/repast/simphony/gis/tools/PGISPanTool.java index ce3c1e74b..86900629e 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/gis/tools/PGISPanTool.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/gis/tools/PGISPanTool.java @@ -7,6 +7,7 @@ import org.geotools.geometry.jts.ReferencedEnvelope; import org.geotools.map.MapContent; +import org.locationtech.jts.geom.Envelope; import org.piccolo2d.event.PInputEvent; import org.piccolo2d.event.PPanEventHandler; import org.piccolo2d.util.PBounds; @@ -14,8 +15,6 @@ import repast.simphony.gis.display.PGISCanvas; import repast.simphony.gis.display.PiccoloMapPanel; -import com.vividsolutions.jts.geom.Envelope; - /** * * diff --git a/repast.simphony.gis.visualization/src/repast/simphony/gis/tools/PositionTool.java b/repast.simphony.gis.visualization/src/repast/simphony/gis/tools/PositionTool.java index c2e6a4e62..2f4e28374 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/gis/tools/PositionTool.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/gis/tools/PositionTool.java @@ -5,6 +5,7 @@ import org.geotools.geometry.jts.JTS; import org.geotools.referencing.CRS; import org.geotools.referencing.crs.DefaultGeographicCRS; +import org.locationtech.jts.geom.Coordinate; import org.opengis.referencing.FactoryException; import org.opengis.referencing.NoSuchAuthorityCodeException; import org.opengis.referencing.crs.CoordinateReferenceSystem; @@ -16,8 +17,6 @@ import repast.simphony.gis.display.PiccoloMapPanel; import simphony.util.messages.MessageCenter; -import com.vividsolutions.jts.geom.Coordinate; - public class PositionTool extends PBasicInputEventHandler implements MapTool { MessageCenter center = MessageCenter.getMessageCenter(getClass()); diff --git a/repast.simphony.gis.visualization/src/repast/simphony/gis/tools/ToolManager.java b/repast.simphony.gis.visualization/src/repast/simphony/gis/tools/ToolManager.java index 2fba58136..942a5a6b2 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/gis/tools/ToolManager.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/gis/tools/ToolManager.java @@ -1,11 +1,16 @@ package repast.simphony.gis.tools; -import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.HashMap; import java.util.Map; +import javax.swing.AbstractButton; +import javax.swing.Action; +import javax.swing.ButtonGroup; +import javax.swing.JToggleButton; +import javax.swing.JToolBar; + public class ToolManager { private JToolBar toolBar = new JToolBar(); diff --git a/repast.simphony.gis.visualization/src/repast/simphony/gis/ui/GeographyExportDialog.java b/repast.simphony.gis.visualization/src/repast/simphony/gis/ui/GeographyExportDialog.java index 31ee8dc1e..f5369e709 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/gis/ui/GeographyExportDialog.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/gis/ui/GeographyExportDialog.java @@ -37,11 +37,6 @@ import javax.swing.tree.TreeNode; import javax.swing.tree.TreePath; -import repast.simphony.context.Context; -import repast.simphony.space.gis.Geography; -import repast.simphony.space.gis.ShapefileWriter; -import simphony.util.messages.MessageCenter; - import com.jgoodies.forms.factories.Borders; import com.jgoodies.forms.factories.DefaultComponentFactory; import com.jgoodies.forms.layout.CellConstraints; @@ -52,6 +47,11 @@ import com.jgoodies.forms.layout.RowSpec; import com.jgoodies.forms.layout.Sizes; +import repast.simphony.context.Context; +import repast.simphony.space.gis.Geography; +import repast.simphony.space.gis.ShapefileWriter; +import simphony.util.messages.MessageCenter; + /** * @author User #2 */ diff --git a/repast.simphony.gis.visualization/src/repast/simphony/gis/ui/probe/GISProbeHandler.java b/repast.simphony.gis.visualization/src/repast/simphony/gis/ui/probe/GISProbeHandler.java index 398e38e3f..f2f966985 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/gis/ui/probe/GISProbeHandler.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/gis/ui/probe/GISProbeHandler.java @@ -1,13 +1,12 @@ package repast.simphony.gis.ui.probe; +import org.locationtech.jts.geom.Envelope; import org.piccolo2d.event.PInputEvent; import org.piccolo2d.util.PBounds; import repast.simphony.gis.tools.AbstractMarqueeHandler; import repast.simphony.visualization.gis.DisplayGIS; -import com.vividsolutions.jts.geom.Envelope; - /** * Handler for creating probes. * diff --git a/repast.simphony.gis.visualization/src/repast/simphony/gis/ui/probe/GeographyLocationProbe.java b/repast.simphony.gis.visualization/src/repast/simphony/gis/ui/probe/GeographyLocationProbe.java index c8d577011..6c7d1c9cf 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/gis/ui/probe/GeographyLocationProbe.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/gis/ui/probe/GeographyLocationProbe.java @@ -3,14 +3,14 @@ import java.beans.IntrospectionException; import java.beans.PropertyDescriptor; +import org.locationtech.jts.geom.Coordinate; +import org.locationtech.jts.geom.Geometry; +import org.locationtech.jts.geom.Point; + import repast.simphony.space.gis.Geography; import repast.simphony.ui.probe.LocationProbe; import repast.simphony.ui.probe.Utils; -import com.vividsolutions.jts.geom.Coordinate; -import com.vividsolutions.jts.geom.Geometry; -import com.vividsolutions.jts.geom.Point; - /** * Provides the location of probed objects in Geography projections. * diff --git a/repast.simphony.gis.visualization/src/repast/simphony/gis/visualization/engine/DisplayCreatorGIS.java b/repast.simphony.gis.visualization/src/repast/simphony/gis/visualization/engine/DisplayCreatorGIS.java index a6a80379c..42d5217b5 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/gis/visualization/engine/DisplayCreatorGIS.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/gis/visualization/engine/DisplayCreatorGIS.java @@ -7,9 +7,9 @@ import org.geotools.data.FeatureSource; import org.geotools.data.shapefile.ShapefileDataStore; -import org.geotools.styling.SLDParser; import org.geotools.styling.Style; import org.geotools.styling.StyleFactoryImpl; +import org.geotools.xml.styling.SLDParser; import repast.simphony.context.Context; import repast.simphony.scenario.data.ProjectionData; diff --git a/repast.simphony.gis.visualization/src/repast/simphony/visualization/editor/gis/DisplayEditorGIS.java b/repast.simphony.gis.visualization/src/repast/simphony/visualization/editor/gis/DisplayEditorGIS.java index 3a96a407f..5b7a159e6 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/visualization/editor/gis/DisplayEditorGIS.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/visualization/editor/gis/DisplayEditorGIS.java @@ -13,6 +13,11 @@ import javax.swing.JSplitPane; import org.geotools.styling.Style; +import org.locationtech.jts.geom.Coordinate; +import org.locationtech.jts.geom.Geometry; +import org.locationtech.jts.geom.GeometryFactory; +import org.locationtech.jts.geom.LineString; +import org.locationtech.jts.geom.MultiLineString; import repast.simphony.gis.util.GeometryUtil; import repast.simphony.space.gis.Geography; @@ -31,12 +36,6 @@ import repast.simphony.visualization.gis.DisplayGIS; import simphony.util.messages.MessageCenter; -import com.vividsolutions.jts.geom.Coordinate; -import com.vividsolutions.jts.geom.Geometry; -import com.vividsolutions.jts.geom.GeometryFactory; -import com.vividsolutions.jts.geom.LineString; -import com.vividsolutions.jts.geom.MultiLineString; - /** * DisplayEditor for gis displays. * @@ -470,7 +469,7 @@ public void projectionEventOccurred(ProjectionEvent evt) { } private void moveEdges(Object obj) { - com.vividsolutions.jts.geom.Point center = geog.getGeometry(obj).getCentroid(); + org.locationtech.jts.geom.Point center = geog.getGeometry(obj).getCentroid(); for (Network net : networks) { for (RepastEdge edge : ((Iterable) net.getEdges(obj))) { Geometry geom = geog.getGeometry(edge); diff --git a/repast.simphony.gis.visualization/src/repast/simphony/visualization/editor/gis/GISAddHandler.java b/repast.simphony.gis.visualization/src/repast/simphony/visualization/editor/gis/GISAddHandler.java index 9e34391ab..940cb3313 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/visualization/editor/gis/GISAddHandler.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/visualization/editor/gis/GISAddHandler.java @@ -10,6 +10,7 @@ import java.awt.geom.Point2D; import java.util.ArrayList; +import org.locationtech.jts.geom.Coordinate; import org.piccolo2d.PCamera; import org.piccolo2d.event.PBasicInputEventHandler; import org.piccolo2d.event.PInputEvent; @@ -21,8 +22,6 @@ import repast.simphony.visualization.editor.PEditorEventListener; import simphony.util.messages.MessageCenter; -import com.vividsolutions.jts.geom.Coordinate; - /** * @author Nick Collier Date: Feb 26, 2008 11:17:47 AM * @deprecated 2D piccolo based code is being removed diff --git a/repast.simphony.gis.visualization/src/repast/simphony/visualization/editor/gis/GISAddListener.java b/repast.simphony.gis.visualization/src/repast/simphony/visualization/editor/gis/GISAddListener.java index 0ea7d44e5..0c0724f1f 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/visualization/editor/gis/GISAddListener.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/visualization/editor/gis/GISAddListener.java @@ -1,17 +1,17 @@ package repast.simphony.visualization.editor.gis; -import com.vividsolutions.jts.geom.Coordinate; -import com.vividsolutions.jts.geom.Geometry; -import com.vividsolutions.jts.geom.GeometryFactory; -import com.vividsolutions.jts.geom.LinearRing; +import java.util.List; + +import org.locationtech.jts.geom.Coordinate; +import org.locationtech.jts.geom.Geometry; +import org.locationtech.jts.geom.GeometryFactory; +import org.locationtech.jts.geom.LinearRing; import repast.simphony.gis.util.GeometryUtil; import repast.simphony.space.gis.GISAdder; import repast.simphony.space.gis.Geography; import repast.simphony.visualization.gis.DisplayGIS; -import java.util.List; - /** * @author Nick Collier * @deprecated 2D piccolo based code is being removed diff --git a/repast.simphony.gis.visualization/src/repast/simphony/visualization/editor/gis/GISEditorUtilities.java b/repast.simphony.gis.visualization/src/repast/simphony/visualization/editor/gis/GISEditorUtilities.java index 0a9bd5f52..87b673ca4 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/visualization/editor/gis/GISEditorUtilities.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/visualization/editor/gis/GISEditorUtilities.java @@ -1,7 +1,7 @@ package repast.simphony.visualization.editor.gis; -import com.vividsolutions.jts.geom.Coordinate; import org.geotools.geometry.jts.JTS; +import org.locationtech.jts.geom.Coordinate; import org.opengis.referencing.crs.CoordinateReferenceSystem; import org.opengis.referencing.operation.TransformException; diff --git a/repast.simphony.gis.visualization/src/repast/simphony/visualization/editor/gis/GISMoveHandler.java b/repast.simphony.gis.visualization/src/repast/simphony/visualization/editor/gis/GISMoveHandler.java index b123624fd..f97e7d7bb 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/visualization/editor/gis/GISMoveHandler.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/visualization/editor/gis/GISMoveHandler.java @@ -9,6 +9,14 @@ import java.util.ArrayList; import java.util.List; +import org.locationtech.jts.geom.Coordinate; +import org.locationtech.jts.geom.Geometry; +import org.locationtech.jts.geom.GeometryFactory; +import org.locationtech.jts.geom.GeometryFilter; +import org.locationtech.jts.geom.LineString; +import org.locationtech.jts.geom.MultiLineString; +import org.locationtech.jts.geom.MultiPolygon; +import org.locationtech.jts.geom.Polygon; import org.piccolo2d.PLayer; import org.piccolo2d.PNode; import org.piccolo2d.event.PDragSequenceEventHandler; @@ -23,15 +31,6 @@ import repast.simphony.visualization.editor.PEditorEventListener; import repast.simphony.visualization.gis.DisplayGIS; -import com.vividsolutions.jts.geom.Coordinate; -import com.vividsolutions.jts.geom.Geometry; -import com.vividsolutions.jts.geom.GeometryFactory; -import com.vividsolutions.jts.geom.GeometryFilter; -import com.vividsolutions.jts.geom.LineString; -import com.vividsolutions.jts.geom.MultiLineString; -import com.vividsolutions.jts.geom.MultiPolygon; -import com.vividsolutions.jts.geom.Polygon; - /** * Event handler for moving gis objects. * @@ -71,7 +70,7 @@ public void destroy() { private List findObjects(PInputEvent event) { - com.vividsolutions.jts.geom.Point point = factory.createPoint(new Coordinate(event.getPosition().getX(), + org.locationtech.jts.geom.Point point = factory.createPoint(new Coordinate(event.getPosition().getX(), event.getPosition().getY())); Geography geog = display.getGeography(); Geometry gEnv = point.buffer(GISEditorUtilities.calcPointPickBuffer(point.getCoordinate(), diff --git a/repast.simphony.gis.visualization/src/repast/simphony/visualization/editor/gis/GISNetAddEdgeHandler.java b/repast.simphony.gis.visualization/src/repast/simphony/visualization/editor/gis/GISNetAddEdgeHandler.java index 1744edd01..a0d37bddc 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/visualization/editor/gis/GISNetAddEdgeHandler.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/visualization/editor/gis/GISNetAddEdgeHandler.java @@ -9,6 +9,9 @@ import java.util.ArrayList; import java.util.List; +import org.locationtech.jts.geom.Coordinate; +import org.locationtech.jts.geom.Geometry; +import org.locationtech.jts.geom.GeometryFactory; import org.piccolo2d.PCamera; import org.piccolo2d.PCanvas; import org.piccolo2d.event.PBasicInputEventHandler; @@ -22,10 +25,6 @@ import repast.simphony.visualization.editor.PEditorEventListener; import repast.simphony.visualization.gis.DisplayGIS; -import com.vividsolutions.jts.geom.Coordinate; -import com.vividsolutions.jts.geom.Geometry; -import com.vividsolutions.jts.geom.GeometryFactory; - /** * Event handler for adding edges to gis. * @@ -66,7 +65,7 @@ public void destroy() { } private List findObjects(PInputEvent event) { - com.vividsolutions.jts.geom.Point point = factory.createPoint(new Coordinate(event.getPosition().getX(), event.getPosition().getY())); + org.locationtech.jts.geom.Point point = factory.createPoint(new Coordinate(event.getPosition().getX(), event.getPosition().getY())); Geometry gEnv = point.buffer(.001); java.util.List objs = new ArrayList(); Geography geog = display.getGeography(); diff --git a/repast.simphony.gis.visualization/src/repast/simphony/visualization/editor/gis/GISSelectionHandler.java b/repast.simphony.gis.visualization/src/repast/simphony/visualization/editor/gis/GISSelectionHandler.java index ee0496e53..1daafa398 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/visualization/editor/gis/GISSelectionHandler.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/visualization/editor/gis/GISSelectionHandler.java @@ -6,6 +6,10 @@ import java.util.ArrayList; import java.util.List; +import org.locationtech.jts.geom.Coordinate; +import org.locationtech.jts.geom.Geometry; +import org.locationtech.jts.geom.GeometryFactory; +import org.locationtech.jts.geom.Point; import org.piccolo2d.event.PBasicInputEventHandler; import org.piccolo2d.event.PInputEvent; import org.piccolo2d.event.PInputEventListener; @@ -17,11 +21,6 @@ import repast.simphony.visualization.editor.PEditorEventListener; import repast.simphony.visualization.gis.DisplayGIS; -import com.vividsolutions.jts.geom.Coordinate; -import com.vividsolutions.jts.geom.Geometry; -import com.vividsolutions.jts.geom.GeometryFactory; -import com.vividsolutions.jts.geom.Point; - /** * Event handler for selecting nodes. * diff --git a/repast.simphony.gis.visualization/src/repast/simphony/visualization/editor/gis/SelectionDecorator.java b/repast.simphony.gis.visualization/src/repast/simphony/visualization/editor/gis/SelectionDecorator.java index 683266e6f..29862e1d6 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/visualization/editor/gis/SelectionDecorator.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/visualization/editor/gis/SelectionDecorator.java @@ -11,34 +11,29 @@ import org.geotools.map.FeatureLayer; import org.geotools.map.Layer; import org.geotools.map.MapContent; -import org.geotools.map.event.MapLayerListEvent; -import org.geotools.map.event.MapLayerListListener; +import org.geotools.map.MapLayerListEvent; +import org.geotools.map.MapLayerListListener; import org.geotools.styling.FeatureTypeStyle; import org.geotools.styling.Fill; -import org.geotools.styling.Mark; -import org.geotools.styling.PointSymbolizer; import org.geotools.styling.PolygonSymbolizer; import org.geotools.styling.Rule; -import org.geotools.styling.SLD; import org.geotools.styling.Stroke; import org.geotools.styling.Style; import org.geotools.styling.StyleBuilder; +import org.locationtech.jts.geom.LineString; +import org.locationtech.jts.geom.MultiLineString; +import org.locationtech.jts.geom.MultiPoint; +import org.locationtech.jts.geom.MultiPolygon; import org.opengis.feature.IllegalAttributeException; import org.opengis.feature.simple.SimpleFeatureType; import org.opengis.filter.BinaryComparisonOperator; import org.opengis.filter.FilterFactory; import org.opengis.filter.expression.Expression; -import repast.simphony.gis.display.RepastMapLayer; import repast.simphony.space.gis.FeatureAgentFactoryFinder; import repast.simphony.space.gis.FeatureAttributeAdapter; import repast.simphony.space.gis.GISConstants; -import com.vividsolutions.jts.geom.LineString; -import com.vividsolutions.jts.geom.MultiLineString; -import com.vividsolutions.jts.geom.MultiPoint; -import com.vividsolutions.jts.geom.MultiPolygon; - /** * Decorates selected features with a highlight. This is done * by adding a rule to the style for selection. @@ -131,10 +126,10 @@ public void addHighightRules() { Style style = layer.getStyle(); SimpleFeatureType type = (SimpleFeatureType)layer.getFeatureSource().getSchema(); Class geomType = type.getGeometryDescriptor().getType().getBinding(); - if (geomType.equals(com.vividsolutions.jts.geom.Polygon.class) + if (geomType.equals(org.locationtech.jts.geom.Polygon.class) || geomType.equals(MultiPolygon.class)) { highlightPolygon(style); - } else if (geomType.equals(com.vividsolutions.jts.geom.Point.class) + } else if (geomType.equals(org.locationtech.jts.geom.Point.class) || geomType.equals(MultiPoint.class)) { highlightPoint(style); } else if (geomType.equals(LineString.class) @@ -195,7 +190,7 @@ private void highlightPolygon(Style style) { } public void layerAdded(MapLayerListEvent event) { - Layer layer = event.getElement(); + Layer layer = event.getLayer(); if (layer instanceof FeatureLayer) { layers.add(layer); } diff --git a/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis/DisplayGIS.java b/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis/DisplayGIS.java index d7185de01..6cce282eb 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis/DisplayGIS.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis/DisplayGIS.java @@ -18,8 +18,7 @@ import java.util.HashMap; import java.util.Map; -import javax.measure.unit.SI; -import javax.measure.unit.Unit; +import javax.measure.Unit; import javax.swing.Action; import javax.swing.Icon; import javax.swing.ImageIcon; @@ -34,6 +33,10 @@ import org.geotools.map.MapContent; import org.geotools.referencing.CRS; import org.geotools.styling.Style; +import org.locationtech.jts.geom.Coordinate; +import org.locationtech.jts.geom.Envelope; +import org.locationtech.jts.geom.Geometry; +import org.locationtech.jts.geom.GeometryFactory; import org.opengis.referencing.crs.CoordinateReferenceSystem; import org.piccolo2d.PCamera; import org.piccolo2d.util.PBounds; @@ -63,11 +66,7 @@ import repast.simphony.visualization.editor.gis.SelectionDecorator; import simphony.util.ThreadUtilities; import simphony.util.messages.MessageCenter; - -import com.vividsolutions.jts.geom.Coordinate; -import com.vividsolutions.jts.geom.Envelope; -import com.vividsolutions.jts.geom.Geometry; -import com.vividsolutions.jts.geom.GeometryFactory; +import tech.units.indriya.unit.Units; /** * Standard GIS Display @@ -652,7 +651,7 @@ public void clearDistance() { dlSupport.fireInfoMessage(evt); } }; - panel.addTool(new DistanceTool(mapContext, SI.METER, setter), toolParams); + panel.addTool(new DistanceTool(mapContext, Units.METRE, setter), toolParams); toolParams = new HashMap(); toolParams.put(ToolManager.TOGGLE, true); diff --git a/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis/Styler.java b/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis/Styler.java index 25be0ba3d..496677819 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis/Styler.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis/Styler.java @@ -8,12 +8,11 @@ import org.geotools.styling.Mark; import org.geotools.styling.Style; import org.geotools.styling.StyleBuilder; - -import com.vividsolutions.jts.geom.Geometry; -import com.vividsolutions.jts.geom.LineString; -import com.vividsolutions.jts.geom.MultiLineString; -import com.vividsolutions.jts.geom.MultiPoint; -import com.vividsolutions.jts.geom.Point; +import org.locationtech.jts.geom.Geometry; +import org.locationtech.jts.geom.LineString; +import org.locationtech.jts.geom.MultiLineString; +import org.locationtech.jts.geom.MultiPoint; +import org.locationtech.jts.geom.Point; /** * Produces styles for agent layers in a gis display. diff --git a/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis/Updater.java b/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis/Updater.java index 52883e400..267badbb3 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis/Updater.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis/Updater.java @@ -15,7 +15,9 @@ import org.geotools.feature.FeatureCollection; import org.geotools.map.Layer; import org.geotools.map.MapContent; -import org.geotools.map.event.MapLayerEvent; +import org.geotools.map.MapLayerEvent; +import org.locationtech.jts.geom.Coordinate; +import org.locationtech.jts.geom.CoordinateFilter; import org.opengis.referencing.crs.CoordinateReferenceSystem; import repast.simphony.gis.display.RepastMapLayer; @@ -25,9 +27,6 @@ import repast.simphony.space.gis.Geography; import simphony.util.ThreadUtilities; -import com.vividsolutions.jts.geom.Coordinate; -import com.vividsolutions.jts.geom.CoordinateFilter; - /** * Handles the updating of a DisplayGIS w/r to agent adding, moving and removal. * diff --git a/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis3D/AbstractAirspaceLayer.java b/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis3D/AbstractAirspaceLayer.java index 30bc8b348..9b114edd4 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis3D/AbstractAirspaceLayer.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis3D/AbstractAirspaceLayer.java @@ -1,14 +1,13 @@ package repast.simphony.visualization.gis3D; -import gov.nasa.worldwind.Model; -import gov.nasa.worldwind.layers.AirspaceLayer; -import gov.nasa.worldwind.render.airspaces.Airspace; - import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Set; +import gov.nasa.worldwind.Model; +import gov.nasa.worldwind.layers.AirspaceLayer; +import gov.nasa.worldwind.render.airspaces.Airspace; import repast.simphony.space.gis.Geography; import repast.simphony.visualization.IDisplayLayer; import repast.simphony.visualization.LayoutUpdater; diff --git a/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis3D/NetworkLayerGIS.java b/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis3D/NetworkLayerGIS.java index 02f839ba6..c73fddc19 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis3D/NetworkLayerGIS.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis3D/NetworkLayerGIS.java @@ -3,7 +3,7 @@ import java.util.ArrayList; import java.util.List; -import com.vividsolutions.jts.geom.Geometry; +import org.locationtech.jts.geom.Geometry; import gov.nasa.worldwind.geom.LatLon; import gov.nasa.worldwind.render.BasicShapeAttributes; diff --git a/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis3D/PlaceMarkLayer.java b/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis3D/PlaceMarkLayer.java index 7b60f902f..dca1ade7c 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis3D/PlaceMarkLayer.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis3D/PlaceMarkLayer.java @@ -2,7 +2,7 @@ import java.awt.Color; -import com.vividsolutions.jts.geom.Geometry; +import org.locationtech.jts.geom.Geometry; import gov.nasa.worldwind.geom.LatLon; import gov.nasa.worldwind.geom.Position; diff --git a/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis3D/RepastStatusBar.java b/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis3D/RepastStatusBar.java index 5bddac207..8e908d70d 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis3D/RepastStatusBar.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis3D/RepastStatusBar.java @@ -1,18 +1,5 @@ package repast.simphony.visualization.gis3D; -import gov.nasa.worldwind.WorldWind; -import gov.nasa.worldwind.WorldWindow; -import gov.nasa.worldwind.event.PositionEvent; -import gov.nasa.worldwind.event.PositionListener; -import gov.nasa.worldwind.event.RenderingEvent; -import gov.nasa.worldwind.event.RenderingListener; -import gov.nasa.worldwind.geom.Angle; -import gov.nasa.worldwind.geom.Position; -import gov.nasa.worldwind.util.Logging; -import gov.nasa.worldwind.util.NetworkCheckThread; -import gov.nasa.worldwind.util.NetworkStatus; -import gov.nasa.worldwind.util.WWMath; - import java.awt.Color; import java.awt.EventQueue; import java.awt.GridLayout; @@ -27,6 +14,19 @@ import javax.swing.SwingConstants; import javax.swing.Timer; +import gov.nasa.worldwind.WorldWind; +import gov.nasa.worldwind.WorldWindow; +import gov.nasa.worldwind.event.PositionEvent; +import gov.nasa.worldwind.event.PositionListener; +import gov.nasa.worldwind.event.RenderingEvent; +import gov.nasa.worldwind.event.RenderingListener; +import gov.nasa.worldwind.geom.Angle; +import gov.nasa.worldwind.geom.Position; +import gov.nasa.worldwind.util.Logging; +import gov.nasa.worldwind.util.NetworkCheckThread; +import gov.nasa.worldwind.util.NetworkStatus; +import gov.nasa.worldwind.util.WWMath; + /** * This implementation of WW StatusBar fixes bugs relating to disposal * and WW shutdown to make sure all objects within are disposed properly, diff --git a/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis3D/ScreenShotAction.java b/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis3D/ScreenShotAction.java index d54599be6..b9aee6d8c 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis3D/ScreenShotAction.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis3D/ScreenShotAction.java @@ -13,11 +13,11 @@ import java.io.IOException; import javax.imageio.ImageIO; -import com.jogamp.opengl.GLAutoDrawable; import javax.swing.AbstractAction; import javax.swing.JFileChooser; import javax.swing.JOptionPane; +import com.jogamp.opengl.GLAutoDrawable; import com.jogamp.opengl.util.awt.AWTGLReadBufferUtil; import gov.nasa.worldwind.WorldWindow; diff --git a/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis3D/SurfaceShapeLayer.java b/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis3D/SurfaceShapeLayer.java index d6bb1dc68..ab4b86468 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis3D/SurfaceShapeLayer.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis3D/SurfaceShapeLayer.java @@ -2,8 +2,8 @@ import java.util.List; -import com.vividsolutions.jts.geom.Geometry; -import com.vividsolutions.jts.geom.Polygon; +import org.locationtech.jts.geom.Geometry; +import org.locationtech.jts.geom.Polygon; import gov.nasa.worldwind.geom.LatLon; import gov.nasa.worldwind.render.BasicShapeAttributes; diff --git a/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis3D/WMSLayerManagerFrame.java b/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis3D/WMSLayerManagerFrame.java index fb5e7a2ff..914f8c266 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis3D/WMSLayerManagerFrame.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis3D/WMSLayerManagerFrame.java @@ -1,7 +1,5 @@ package repast.simphony.visualization.gis3D; -import gov.nasa.worldwind.WorldWindow; - import java.awt.BorderLayout; import java.awt.Dimension; import java.beans.PropertyChangeEvent; @@ -15,6 +13,8 @@ import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; +import gov.nasa.worldwind.WorldWindow; + public class WMSLayerManagerFrame extends JFrame{ private static final long serialVersionUID = -6745733733859079433L; diff --git a/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis3D/WWUtils.java b/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis3D/WWUtils.java index efb45628e..905cc6ff3 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis3D/WWUtils.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis3D/WWUtils.java @@ -7,16 +7,14 @@ import org.geotools.geometry.jts.ReferencedEnvelope; import org.geotools.referencing.CRS; import org.geotools.referencing.crs.DefaultGeographicCRS; +import org.locationtech.jts.geom.Coordinate; +import org.locationtech.jts.geom.Geometry; import org.opengis.geometry.MismatchedDimensionException; import org.opengis.referencing.FactoryException; import org.opengis.referencing.crs.CoordinateReferenceSystem; -import org.opengis.referencing.cs.AxisDirection; import org.opengis.referencing.operation.MathTransform; import org.opengis.referencing.operation.TransformException; -import com.vividsolutions.jts.geom.Coordinate; -import com.vividsolutions.jts.geom.Geometry; - import gov.nasa.worldwind.WorldWindow; import gov.nasa.worldwind.geom.LatLon; import gov.nasa.worldwind.geom.Sector; diff --git a/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis3D/style/DefaultSurfaceShapeStyle.java b/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis3D/style/DefaultSurfaceShapeStyle.java index 054cc75f7..cd85b7dc9 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis3D/style/DefaultSurfaceShapeStyle.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis3D/style/DefaultSurfaceShapeStyle.java @@ -1,9 +1,9 @@ package repast.simphony.visualization.gis3D.style; -import gov.nasa.worldwind.render.SurfaceShape; - import java.awt.Color; +import gov.nasa.worldwind.render.SurfaceShape; + public class DefaultSurfaceShapeStyle implements SurfaceShapeStyle { @Override diff --git a/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis3D/style/MarkStyle.java b/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis3D/style/MarkStyle.java index b2ef018e7..f3ea158dc 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis3D/style/MarkStyle.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis3D/style/MarkStyle.java @@ -1,12 +1,11 @@ package repast.simphony.visualization.gis3D.style; -import gov.nasa.worldwind.render.Material; -import gov.nasa.worldwind.render.Offset; -import gov.nasa.worldwind.render.WWTexture; - import java.awt.Color; import java.awt.Font; +import gov.nasa.worldwind.render.Material; +import gov.nasa.worldwind.render.Offset; +import gov.nasa.worldwind.render.WWTexture; import repast.simphony.visualization.gis3D.PlaceMark; /** diff --git a/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis3D/style/SurfaceShapeStyle.java b/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis3D/style/SurfaceShapeStyle.java index 0c38da532..e5ed9a1fd 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis3D/style/SurfaceShapeStyle.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/visualization/gis3D/style/SurfaceShapeStyle.java @@ -1,9 +1,9 @@ package repast.simphony.visualization.gis3D.style; -import gov.nasa.worldwind.render.SurfaceShape; - import java.awt.Color; +import gov.nasa.worldwind.render.SurfaceShape; + /** * Interface for surface shapes (lines, polygons) in the 3D GIS display. * diff --git a/repast.simphony.gis.visualization/src/repast/simphony/visualization/gui/GIS3DOptionsPanel.java b/repast.simphony.gis.visualization/src/repast/simphony/visualization/gui/GIS3DOptionsPanel.java index 60bb53234..83721123d 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/visualization/gui/GIS3DOptionsPanel.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/visualization/gui/GIS3DOptionsPanel.java @@ -14,10 +14,8 @@ import javax.swing.ListSelectionModel; import javax.swing.event.TableModelEvent; import javax.swing.event.TableModelListener; -import javax.swing.table.DefaultTableCellRenderer; import javax.swing.table.DefaultTableModel; import javax.swing.table.TableCellRenderer; -import javax.swing.table.TableModel; import com.jgoodies.forms.builder.PanelBuilder; import com.jgoodies.forms.layout.CellConstraints; diff --git a/repast.simphony.gis.visualization/src/repast/simphony/visualization/gui/GISStylePanel.java b/repast.simphony.gis.visualization/src/repast/simphony/visualization/gui/GISStylePanel.java index 0309eff33..3b5be1dbc 100644 --- a/repast.simphony.gis.visualization/src/repast/simphony/visualization/gui/GISStylePanel.java +++ b/repast.simphony.gis.visualization/src/repast/simphony/visualization/gui/GISStylePanel.java @@ -48,11 +48,19 @@ import org.geotools.styling.LineSymbolizer; import org.geotools.styling.PointSymbolizer; import org.geotools.styling.PolygonSymbolizer; -import org.geotools.styling.SLDParser; -import org.geotools.styling.SLDTransformer; import org.geotools.styling.Style; import org.geotools.styling.StyleFactoryImpl; import org.geotools.styling.Symbolizer; +import org.geotools.xml.styling.SLDParser; +import org.geotools.xml.styling.SLDTransformer; +import org.locationtech.jts.geom.Coordinate; +import org.locationtech.jts.geom.Geometry; +import org.locationtech.jts.geom.GeometryFactory; +import org.locationtech.jts.geom.LineString; +import org.locationtech.jts.geom.MultiLineString; +import org.locationtech.jts.geom.MultiPoint; +import org.locationtech.jts.geom.MultiPolygon; +import org.locationtech.jts.geom.Polygon; import org.opengis.feature.simple.SimpleFeatureType; import com.jgoodies.forms.factories.DefaultComponentFactory; @@ -63,14 +71,6 @@ import com.jgoodies.forms.layout.FormSpecs; import com.jgoodies.forms.layout.RowSpec; import com.jgoodies.forms.layout.Sizes; -import com.vividsolutions.jts.geom.Coordinate; -import com.vividsolutions.jts.geom.Geometry; -import com.vividsolutions.jts.geom.GeometryFactory; -import com.vividsolutions.jts.geom.LineString; -import com.vividsolutions.jts.geom.MultiLineString; -import com.vividsolutions.jts.geom.MultiPoint; -import com.vividsolutions.jts.geom.MultiPolygon; -import com.vividsolutions.jts.geom.Polygon; import repast.simphony.gis.styleEditor.StyleDialog; import repast.simphony.gis.styleEditor.StylePreviewFactory; @@ -398,7 +398,7 @@ private void setGeometryBox(Style style) { } private void setGeometryBox(Class clazz) { - if (com.vividsolutions.jts.geom.Point.class.isAssignableFrom(clazz) || MultiPoint.class.isAssignableFrom(clazz)) + if (org.locationtech.jts.geom.Point.class.isAssignableFrom(clazz) || MultiPoint.class.isAssignableFrom(clazz)) geomBox.setSelectedItem(POINT); else if (LineString.class.isAssignableFrom(clazz) || MultiLineString.class.isAssignableFrom(clazz)) geomBox.setSelectedItem(LINE); diff --git a/repast.simphony.gis.visualization/test/repast/simphony/gis/layers/MapViewer.java b/repast.simphony.gis.visualization/test/repast/simphony/gis/layers/MapViewer.java index 70c76eed1..92a10b4d5 100644 --- a/repast.simphony.gis.visualization/test/repast/simphony/gis/layers/MapViewer.java +++ b/repast.simphony.gis.visualization/test/repast/simphony/gis/layers/MapViewer.java @@ -32,10 +32,14 @@ import org.geotools.map.Layer; import org.geotools.map.MapContent; import org.geotools.referencing.crs.DefaultGeographicCRS; -import org.geotools.styling.SLDParser; import org.geotools.styling.Style; import org.geotools.styling.StyleBuilder; import org.geotools.styling.StyleFactory; +import org.geotools.xml.styling.SLDParser; +import org.locationtech.jts.geom.Coordinate; +import org.locationtech.jts.geom.Envelope; +import org.locationtech.jts.geom.GeometryFactory; +import org.locationtech.jts.geom.Point; import org.opengis.feature.simple.SimpleFeature; import org.opengis.feature.simple.SimpleFeatureType; import org.opengis.referencing.crs.CoordinateReferenceSystem; @@ -60,11 +64,6 @@ import repast.simphony.space.gis.Geography; import repast.simphony.space.gis.GeographyParameters; -import com.vividsolutions.jts.geom.Coordinate; -import com.vividsolutions.jts.geom.Envelope; -import com.vividsolutions.jts.geom.GeometryFactory; -import com.vividsolutions.jts.geom.Point; - public class MapViewer { private JFrame frame; diff --git a/repast.simphony.gis.visualization/test/repast/simphony/gis/legend/LayerManagerTest.java b/repast.simphony.gis.visualization/test/repast/simphony/gis/legend/LayerManagerTest.java index b6102e45a..a3d158d17 100644 --- a/repast.simphony.gis.visualization/test/repast/simphony/gis/legend/LayerManagerTest.java +++ b/repast.simphony.gis.visualization/test/repast/simphony/gis/legend/LayerManagerTest.java @@ -2,11 +2,11 @@ import java.util.Collection; -import junit.framework.TestCase; - import org.geotools.geometry.jts.ReferencedEnvelope; import org.geotools.map.Layer; +import junit.framework.TestCase; + public class LayerManagerTest extends TestCase { LayerManager manager; diff --git a/repast.simphony.gis.visualization/test/repast/simphony/gis/visualization/Shutdown.java b/repast.simphony.gis.visualization/test/repast/simphony/gis/visualization/Shutdown.java index d553fa7f0..3062e3080 100644 --- a/repast.simphony.gis.visualization/test/repast/simphony/gis/visualization/Shutdown.java +++ b/repast.simphony.gis.visualization/test/repast/simphony/gis/visualization/Shutdown.java @@ -7,13 +7,22 @@ -import gov.nasa.worldwind.*; +import java.awt.BorderLayout; +import java.awt.Component; +import java.awt.GridLayout; +import java.awt.event.ActionEvent; + +import javax.swing.AbstractAction; +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JPanel; + +import gov.nasa.worldwind.BasicModel; +import gov.nasa.worldwind.Configuration; +import gov.nasa.worldwind.WorldWind; +import gov.nasa.worldwind.WorldWindow; import gov.nasa.worldwind.awt.WorldWindowGLCanvas; -import javax.swing.*; -import java.awt.*; -import java.awt.event.*; - /** * Shows how to shut down a {@link WorldWindow} and how to shut down all of World Wind. * diff --git a/repast.simphony.gis/.classpath b/repast.simphony.gis/.classpath index f30f3ce21..26bd50de3 100644 --- a/repast.simphony.gis/.classpath +++ b/repast.simphony.gis/.classpath @@ -1,64 +1,75 @@ + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/repast.simphony.gis/META-INF/MANIFEST.MF b/repast.simphony.gis/META-INF/MANIFEST.MF index c82b6d745..d7e798747 100644 --- a/repast.simphony.gis/META-INF/MANIFEST.MF +++ b/repast.simphony.gis/META-INF/MANIFEST.MF @@ -2,74 +2,53 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Repast gis Bundle-SymbolicName: repast.simphony.gis -Bundle-Version: 2.9.1 +Bundle-Version: 2.10.0 Require-Bundle: libs.ext, repast.simphony.runtime, repast.simphony.core, repast.simphony.scenario, repast.simphony.dataLoader -Export-Package: com.vividsolutions.jts, - com.vividsolutions.jts.algorithm, - com.vividsolutions.jts.algorithm.distance, - com.vividsolutions.jts.algorithm.locate, - com.vividsolutions.jts.algorithm.match, - com.vividsolutions.jts.awt, - com.vividsolutions.jts.densify, - com.vividsolutions.jts.dissolve, - com.vividsolutions.jts.edgegraph, - com.vividsolutions.jts.geom, - com.vividsolutions.jts.geom.impl, - com.vividsolutions.jts.geom.prep, - com.vividsolutions.jts.geom.util, - com.vividsolutions.jts.geomgraph, - com.vividsolutions.jts.geomgraph.index, - com.vividsolutions.jts.index, - com.vividsolutions.jts.index.bintree, - com.vividsolutions.jts.index.chain, - com.vividsolutions.jts.index.intervalrtree, - com.vividsolutions.jts.index.kdtree, - com.vividsolutions.jts.index.quadtree, - com.vividsolutions.jts.index.strtree, - com.vividsolutions.jts.index.sweepline, - com.vividsolutions.jts.io, - com.vividsolutions.jts.io.gml2, - com.vividsolutions.jts.linearref, - com.vividsolutions.jts.math, - com.vividsolutions.jts.noding, - com.vividsolutions.jts.noding.snapround, - com.vividsolutions.jts.operation, - com.vividsolutions.jts.operation.buffer, - com.vividsolutions.jts.operation.buffer.validate, - com.vividsolutions.jts.operation.distance, - com.vividsolutions.jts.operation.distance3d, - com.vividsolutions.jts.operation.linemerge, - com.vividsolutions.jts.operation.overlay, - com.vividsolutions.jts.operation.overlay.snap, - com.vividsolutions.jts.operation.overlay.validate, - com.vividsolutions.jts.operation.polygonize, - com.vividsolutions.jts.operation.predicate, - com.vividsolutions.jts.operation.relate, - com.vividsolutions.jts.operation.union, - com.vividsolutions.jts.operation.valid, - com.vividsolutions.jts.planargraph, - com.vividsolutions.jts.planargraph.algorithm, - com.vividsolutions.jts.precision, - com.vividsolutions.jts.shape, - com.vividsolutions.jts.shape.fractal, - com.vividsolutions.jts.shape.random, - com.vividsolutions.jts.simplify, - com.vividsolutions.jts.triangulate, - com.vividsolutions.jts.triangulate.quadedge, - com.vividsolutions.jts.util, - com.vividsolutions.jtsexample.geom, - com.vividsolutions.jtsexample.geom.prep, - com.vividsolutions.jtsexample.io.gml2, - com.vividsolutions.jtsexample.linearref, - com.vividsolutions.jtsexample.operation.distance, - com.vividsolutions.jtsexample.operation.linemerge, - com.vividsolutions.jtsexample.operation.polygonize, - com.vividsolutions.jtsexample.precision, - com.vividsolutions.jtsexample.technique, +Export-Package: com.conversantmedia.util.collection, + com.conversantmedia.util.concurrent, + com.conversantmedia.util.estimation, + com.fasterxml.jackson.annotation, + com.fasterxml.jackson.core, + com.fasterxml.jackson.core.async, + com.fasterxml.jackson.core.base, + com.fasterxml.jackson.core.exc, + com.fasterxml.jackson.core.filter, + com.fasterxml.jackson.core.format, + com.fasterxml.jackson.core.io, + com.fasterxml.jackson.core.json, + com.fasterxml.jackson.core.json.async, + com.fasterxml.jackson.core.sym, + com.fasterxml.jackson.core.type, + com.fasterxml.jackson.core.util, + com.fasterxml.jackson.databind, + com.fasterxml.jackson.databind.annotation, + com.fasterxml.jackson.databind.cfg, + com.fasterxml.jackson.databind.deser, + com.fasterxml.jackson.databind.deser.impl, + com.fasterxml.jackson.databind.deser.std, + com.fasterxml.jackson.databind.exc, + com.fasterxml.jackson.databind.ext, + com.fasterxml.jackson.databind.introspect, + com.fasterxml.jackson.databind.jdk14, + com.fasterxml.jackson.databind.json, + com.fasterxml.jackson.databind.jsonFormatVisitors, + com.fasterxml.jackson.databind.jsonschema, + com.fasterxml.jackson.databind.jsontype, + com.fasterxml.jackson.databind.jsontype.impl, + com.fasterxml.jackson.databind.module, + com.fasterxml.jackson.databind.node, + com.fasterxml.jackson.databind.ser, + com.fasterxml.jackson.databind.ser.impl, + com.fasterxml.jackson.databind.ser.std, + com.fasterxml.jackson.databind.type, + com.fasterxml.jackson.databind.util, + com.fasterxml.jackson.dataformat.cbor, + it.geosolutions.imageio.compression, + it.geosolutions.imageio.compression.zipdeflate, it.geosolutions.imageio.core, it.geosolutions.imageio.imageioimpl, it.geosolutions.imageio.maskband, @@ -78,7 +57,9 @@ Export-Package: com.vividsolutions.jts, it.geosolutions.imageio.plugins.arcgrid, it.geosolutions.imageio.plugins.arcgrid.raster, it.geosolutions.imageio.plugins.arcgrid.spi, + it.geosolutions.imageio.plugins.cog, it.geosolutions.imageio.plugins.tiff, + it.geosolutions.imageio.registry, it.geosolutions.imageio.stream, it.geosolutions.imageio.stream.eraf, it.geosolutions.imageio.stream.input, @@ -87,7 +68,9 @@ Export-Package: com.vividsolutions.jts, it.geosolutions.imageio.stream.output, it.geosolutions.imageio.stream.output.spi, it.geosolutions.imageio.utilities, + it.geosolutions.imageioimpl.plugins.cog, it.geosolutions.imageioimpl.plugins.tiff, + it.geosolutions.imageioimpl.plugins.tiff.gdal, it.geosolutions.io, it.geosolutions.io.input, it.geosolutions.io.input.adapter, @@ -116,13 +99,16 @@ Export-Package: com.vividsolutions.jts, it.geosolutions.jaiext.lookup, it.geosolutions.jaiext.mosaic, it.geosolutions.jaiext.nullop, + it.geosolutions.jaiext.numeric, it.geosolutions.jaiext.orderdither, it.geosolutions.jaiext.piecewise, it.geosolutions.jaiext.range, it.geosolutions.jaiext.rescale, it.geosolutions.jaiext.rlookup, it.geosolutions.jaiext.scale, + it.geosolutions.jaiext.shadedrelief, it.geosolutions.jaiext.stats, + it.geosolutions.jaiext.swing, it.geosolutions.jaiext.translate, it.geosolutions.jaiext.utilities, it.geosolutions.jaiext.utilities.shape, @@ -206,6 +192,9 @@ Export-Package: com.vividsolutions.jts, org.geotools.arcsde.raster.jai, org.geotools.arcsde.util, org.geotools.brewer.color, + org.geotools.brewer.styling.builder, + org.geotools.brewer.styling.filter, + org.geotools.brewer.styling.filter.expression, org.geotools.console, org.geotools.coverage, org.geotools.coverage.grid, @@ -223,6 +212,7 @@ Export-Package: com.vividsolutions.jts, org.geotools.coverage.io.util, org.geotools.coverage.processing, org.geotools.coverage.processing.operation, + org.geotools.coverage.util, org.geotools.data, org.geotools.data.collection, org.geotools.data.crs, @@ -241,6 +231,7 @@ Export-Package: com.vividsolutions.jts, org.geotools.data.simple, org.geotools.data.sort, org.geotools.data.store, + org.geotools.data.util, org.geotools.data.view, org.geotools.decorate, org.geotools.factory, @@ -269,9 +260,11 @@ Export-Package: com.vividsolutions.jts, org.geotools.gce.image, org.geotools.geometry, org.geotools.geometry.coordinatesequence, + org.geotools.geometry.iso.text, org.geotools.geometry.jts, org.geotools.geometry.jts.coordinatesequence, org.geotools.geometry.text, + org.geotools.geometry.util, org.geotools.gml, org.geotools.gml.producer, org.geotools.image, @@ -280,6 +273,7 @@ Export-Package: com.vividsolutions.jts, org.geotools.image.jai, org.geotools.image.palette, org.geotools.image.test, + org.geotools.image.util, org.geotools.imageio, org.geotools.io, org.geotools.legend, @@ -289,6 +283,7 @@ Export-Package: com.vividsolutions.jts, org.geotools.math, org.geotools.measure, org.geotools.metadata, + org.geotools.metadata.i18n, org.geotools.metadata.iso, org.geotools.metadata.iso.citation, org.geotools.metadata.iso.constraint, @@ -300,16 +295,23 @@ Export-Package: com.vividsolutions.jts, org.geotools.metadata.iso.maintenance, org.geotools.metadata.iso.quality, org.geotools.metadata.iso.spatial, + org.geotools.metadata.math, org.geotools.metadata.sql, org.geotools.nature, org.geotools.ows, org.geotools.parameter, + org.geotools.process.geometry, + org.geotools.process.raster, + org.geotools.process.vector, + org.geotools.processing.jai, org.geotools.referencing, org.geotools.referencing.crs, org.geotools.referencing.cs, org.geotools.referencing.datum, + org.geotools.referencing.epsg.esri, org.geotools.referencing.factory, org.geotools.referencing.factory.epsg, + org.geotools.referencing.factory.epsg.hsql, org.geotools.referencing.factory.gridshift, org.geotools.referencing.factory.wms, org.geotools.referencing.operation, @@ -318,6 +320,7 @@ Export-Package: com.vividsolutions.jts, org.geotools.referencing.operation.projection, org.geotools.referencing.operation.transform, org.geotools.referencing.piecewise, + org.geotools.referencing.util, org.geotools.referencing.wkt, org.geotools.renderer, org.geotools.renderer.crs, @@ -340,9 +343,22 @@ Export-Package: com.vividsolutions.jts, org.geotools.temporal.reference, org.geotools.text, org.geotools.util, + org.geotools.util.decorate, + org.geotools.util.factory, org.geotools.util.logging, org.geotools.xml, + org.geotools.xml.filter, + org.geotools.xml.gml, + org.geotools.xml.handlers, + org.geotools.xml.handlers.xsi, + org.geotools.xml.impl, + org.geotools.xml.resolver, + org.geotools.xml.schema, + org.geotools.xml.schema.impl, + org.geotools.xml.styling, org.geotools.xml.transform, + org.geotools.xml.xLink, + org.geotools.xml.xsi, org.jaitools, org.jaitools.imageutils, org.jaitools.imageutils.iterator, @@ -381,6 +397,64 @@ Export-Package: com.vividsolutions.jts, org.jdom2.xpath, org.jdom2.xpath.jaxen, org.jdom2.xpath.util, + org.locationtech.jts, + org.locationtech.jts.algorithm, + org.locationtech.jts.algorithm.construct, + org.locationtech.jts.algorithm.distance, + org.locationtech.jts.algorithm.locate, + org.locationtech.jts.algorithm.match, + org.locationtech.jts.awt, + org.locationtech.jts.densify, + org.locationtech.jts.dissolve, + org.locationtech.jts.edgegraph, + org.locationtech.jts.geom, + org.locationtech.jts.geom.impl, + org.locationtech.jts.geom.prep, + org.locationtech.jts.geom.util, + org.locationtech.jts.geomgraph, + org.locationtech.jts.geomgraph.index, + org.locationtech.jts.index, + org.locationtech.jts.index.bintree, + org.locationtech.jts.index.chain, + org.locationtech.jts.index.hprtree, + org.locationtech.jts.index.intervalrtree, + org.locationtech.jts.index.kdtree, + org.locationtech.jts.index.quadtree, + org.locationtech.jts.index.strtree, + org.locationtech.jts.index.sweepline, + org.locationtech.jts.io, + org.locationtech.jts.io.gml2, + org.locationtech.jts.io.kml, + org.locationtech.jts.linearref, + org.locationtech.jts.math, + org.locationtech.jts.noding, + org.locationtech.jts.noding.snap, + org.locationtech.jts.noding.snapround, + org.locationtech.jts.operation, + org.locationtech.jts.operation.buffer, + org.locationtech.jts.operation.buffer.validate, + org.locationtech.jts.operation.distance, + org.locationtech.jts.operation.distance3d, + org.locationtech.jts.operation.linemerge, + org.locationtech.jts.operation.overlay, + org.locationtech.jts.operation.overlay.snap, + org.locationtech.jts.operation.overlay.validate, + org.locationtech.jts.operation.overlayng, + org.locationtech.jts.operation.polygonize, + org.locationtech.jts.operation.predicate, + org.locationtech.jts.operation.relate, + org.locationtech.jts.operation.union, + org.locationtech.jts.operation.valid, + org.locationtech.jts.planargraph, + org.locationtech.jts.planargraph.algorithm, + org.locationtech.jts.precision, + org.locationtech.jts.shape, + org.locationtech.jts.shape.fractal, + org.locationtech.jts.shape.random, + org.locationtech.jts.simplify, + org.locationtech.jts.triangulate, + org.locationtech.jts.triangulate.quadedge, + org.locationtech.jts.util, org.opengis.annotation, org.opengis.coverage, org.opengis.coverage.grid, @@ -432,63 +506,74 @@ Export-Package: com.vividsolutions.jts, repast.simphony.space.gis.valuelayer Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Bundle-ClassPath: bin/, - lib/GeographicLib-Java-1.44.jar, - lib/gt-api-19.1.jar, - lib/gt-arcgrid-19.1.jar, - lib/gt-brewer-19.1.jar, - lib/gt-coverage-19.1.jar, - lib/gt-cql-19.1.jar, - lib/gt-data-19.1.jar, - lib/gt-epsg-hsql-19.1.jar, - lib/gt-geotiff-19.1.jar, - lib/gt-image-19.1.jar, - lib/gt-main-19.1.jar, - lib/gt-metadata-19.1.jar, - lib/gt-opengis-19.1.jar, - lib/gt-referencing-19.1.jar, - lib/gt-shapefile-19.1.jar, - lib/imageio-ext-arcgrid-1.1.20.jar, - lib/imageio-ext-geocore-1.1.20.jar, - lib/imageio-ext-streams-1.1.20.jar, - lib/imageio-ext-tiff-1.1.20.jar, - lib/imageio-ext-utilities-1.1.20.jar, - lib/jdom2-2.0.6.jar, - lib/jt-algebra-1.0.22.jar, - lib/jt-bandcombine-1.0.22.jar, - lib/jt-bandmerge-1.0.22.jar, - lib/jt-bandselect-1.0.22.jar, - lib/jt-binarize-1.0.22.jar, - lib/jt-border-1.0.22.jar, - lib/jt-buffer-1.0.22.jar, - lib/jt-classifier-1.0.22.jar, - lib/jt-colorconvert-1.0.22.jar, - lib/jt-colorindexer-1.0.22.jar, - lib/jt-contour-1.4.0.jar, - lib/jt-crop-1.0.22.jar, - lib/jt-errordiffusion-1.0.22.jar, - lib/jt-format-1.0.22.jar, - lib/jt-imagefunction-1.0.22.jar, - lib/jt-iterators-1.0.22.jar, - lib/jt-lookup-1.0.22.jar, - lib/jt-mosaic-1.0.22.jar, - lib/jt-nullop-1.0.22.jar, - lib/jt-orderdither-1.0.22.jar, - lib/jt-piecewise-1.0.22.jar, - lib/jt-rangelookup-1.4.0.jar, - lib/jt-rescale-1.0.22.jar, - lib/jt-rlookup-1.0.22.jar, - lib/jt-scale-1.0.22.jar, - lib/jt-stats-1.0.22.jar, - lib/jt-translate-1.0.22.jar, - lib/jt-utilities-1.0.22.jar, - lib/jt-utils-1.4.0.jar, - lib/jt-vectorbin-1.0.22.jar, - lib/jt-vectorbinarize-1.4.0.jar, - lib/jt-vectorize-1.4.0.jar, - lib/jt-warp-1.0.22.jar, - lib/jt-zonal-1.0.22.jar, - lib/jt-zonalstats-1.4.0.jar, - lib/jts-core-1.14.0.jar, lib/ejml-core-0.34.jar, - lib/ejml-ddense-0.34.jar + lib/ejml-ddense-0.34.jar, + lib/GeographicLib-Java-1.49.jar, + lib/gt-arcgrid-26.6.jar, + lib/gt-brewer-26.6.jar, + lib/gt-coverage-26.6.jar, + lib/gt-cql-26.6.jar, + lib/gt-epsg-hsql-26.6.jar, + lib/gt-geotiff-26.6.jar, + lib/gt-image-26.6.jar, + lib/gt-main-26.6.jar, + lib/gt-metadata-26.6.jar, + lib/gt-opengis-26.6.jar, + lib/gt-referencing-26.6.jar, + lib/gt-shapefile-26.6.jar, + lib/imageio-ext-arcgrid-1.3.13.jar, + lib/imageio-ext-geocore-1.3.13.jar, + lib/imageio-ext-streams-1.3.13.jar, + lib/imageio-ext-tiff-1.3.13.jar, + lib/imageio-ext-utilities-1.3.13.jar, + lib/jdom2-2.0.6.jar, + lib/jt-algebra-1.1.23.jar, + lib/jt-bandcombine-1.1.23.jar, + lib/jt-bandmerge-1.1.23.jar, + lib/jt-bandselect-1.1.23.jar, + lib/jt-binarize-1.1.23.jar, + lib/jt-border-1.1.23.jar, + lib/jt-buffer-1.1.23.jar, + lib/jt-classifier-1.1.23.jar, + lib/jt-colorconvert-1.1.23.jar, + lib/jt-colorindexer-1.1.23.jar, + lib/jt-contour-1.6.0.jar, + lib/jt-crop-1.1.23.jar, + lib/jt-errordiffusion-1.1.23.jar, + lib/jt-format-1.1.23.jar, + lib/jt-imagefunction-1.1.23.jar, + lib/jt-iterators-1.1.23.jar, + lib/jt-lookup-1.1.23.jar, + lib/jt-mosaic-1.1.23.jar, + lib/jt-nullop-1.1.23.jar, + lib/jt-orderdither-1.1.23.jar, + lib/jt-piecewise-1.1.23.jar, + lib/jt-rangelookup-1.6.0.jar, + lib/jt-rescale-1.1.23.jar, + lib/jt-rlookup-1.1.23.jar, + lib/jt-scale-1.1.23.jar, + lib/jts-core-1.18.2.jar, + lib/jt-stats-1.1.23.jar, + lib/jt-translate-1.1.23.jar, + lib/jt-utilities-1.1.23.jar, + lib/jt-utils-1.6.0.jar, + lib/jt-vectorbin-1.1.23.jar, + lib/jt-vectorbinarize-1.6.0.jar, + lib/jt-vectorize-1.6.0.jar, + lib/jt-warp-1.1.23.jar, + lib/jt-zonal-1.1.23.jar, + lib/jt-zonalstats-1.6.0.jar, + lib/imageio-ext-cog-commons-1.3.13.jar, + lib/imageio-ext-cog-reader-1.3.13.jar, + lib/imageio-ext-cog-streams-1.3.13.jar, + lib/jackson-annotations-2.13.2.jar, + lib/jackson-core-2.13.2.jar, + lib/jackson-databind-2.13.2.1.jar, + lib/jackson-dataformat-cbor-2.6.7.jar, + lib/gt-xml-26.6.jar, + lib/disruptor-1.2.13.jar, + lib/gt-process-feature-26.6.jar, + lib/gt-process-geometry-26.6.jar, + lib/gt-process-raster-26.6.jar, + lib/jt-shadedrelief-1.1.23.jar Bundle-Vendor: Argonne National Laboratory diff --git a/repast.simphony.gis/build.properties b/repast.simphony.gis/build.properties index 5691b1b0d..eb91ed531 100644 --- a/repast.simphony.gis/build.properties +++ b/repast.simphony.gis/build.properties @@ -19,65 +19,76 @@ bin.includes = META-INF/,\ lib/gt-opengis-18.0.jar,\ lib/gt-referencing-18.0.jar,\ lib/gt-shapefile-18.0.jar,\ - lib/GeographicLib-Java-1.44.jar,\ - lib/gt-api-19.1.jar,\ - lib/gt-arcgrid-19.1.jar,\ - lib/gt-brewer-19.1.jar,\ - lib/gt-coverage-19.1.jar,\ - lib/gt-cql-19.1.jar,\ - lib/gt-data-19.1.jar,\ - lib/gt-epsg-hsql-19.1.jar,\ - lib/gt-geotiff-19.1.jar,\ - lib/gt-image-19.1.jar,\ - lib/gt-main-19.1.jar,\ - lib/gt-metadata-19.1.jar,\ - lib/gt-opengis-19.1.jar,\ - lib/gt-referencing-19.1.jar,\ - lib/gt-shapefile-19.1.jar,\ - lib/imageio-ext-arcgrid-1.1.20.jar,\ - lib/imageio-ext-geocore-1.1.20.jar,\ - lib/imageio-ext-streams-1.1.20.jar,\ - lib/imageio-ext-tiff-1.1.20.jar,\ - lib/imageio-ext-utilities-1.1.20.jar,\ - lib/jdom2-2.0.6.jar,\ - lib/jt-algebra-1.0.22.jar,\ - lib/jt-bandcombine-1.0.22.jar,\ - lib/jt-bandmerge-1.0.22.jar,\ - lib/jt-bandselect-1.0.22.jar,\ - lib/jt-binarize-1.0.22.jar,\ - lib/jt-border-1.0.22.jar,\ - lib/jt-buffer-1.0.22.jar,\ - lib/jt-classifier-1.0.22.jar,\ - lib/jt-colorconvert-1.0.22.jar,\ - lib/jt-colorindexer-1.0.22.jar,\ - lib/jt-contour-1.4.0.jar,\ - lib/jt-crop-1.0.22.jar,\ - lib/jt-errordiffusion-1.0.22.jar,\ - lib/jt-format-1.0.22.jar,\ - lib/jt-imagefunction-1.0.22.jar,\ - lib/jt-iterators-1.0.22.jar,\ - lib/jt-lookup-1.0.22.jar,\ - lib/jt-mosaic-1.0.22.jar,\ - lib/jt-nullop-1.0.22.jar,\ - lib/jt-orderdither-1.0.22.jar,\ - lib/jt-piecewise-1.0.22.jar,\ - lib/jt-rangelookup-1.4.0.jar,\ - lib/jt-rescale-1.0.22.jar,\ - lib/jt-rlookup-1.0.22.jar,\ - lib/jt-scale-1.0.22.jar,\ - lib/jt-stats-1.0.22.jar,\ - lib/jt-translate-1.0.22.jar,\ - lib/jt-utilities-1.0.22.jar,\ - lib/jt-utils-1.4.0.jar,\ - lib/jt-vectorbin-1.0.22.jar,\ - lib/jt-vectorbinarize-1.4.0.jar,\ - lib/jt-vectorize-1.4.0.jar,\ - lib/jt-warp-1.0.22.jar,\ - lib/jt-zonal-1.0.22.jar,\ - lib/jt-zonalstats-1.4.0.jar,\ - lib/jts-core-1.14.0.jar,\ lib/ejml-core-0.34.jar,\ - lib/ejml-ddense-0.34.jar + lib/ejml-ddense-0.34.jar,\ + lib/GeographicLib-Java-1.49.jar,\ + lib/gt-arcgrid-26.6.jar,\ + lib/gt-brewer-26.6.jar,\ + lib/gt-coverage-26.6.jar,\ + lib/gt-cql-26.6.jar,\ + lib/gt-epsg-hsql-26.6.jar,\ + lib/gt-geotiff-26.6.jar,\ + lib/gt-image-26.6.jar,\ + lib/gt-main-26.6.jar,\ + lib/gt-metadata-26.6.jar,\ + lib/gt-opengis-26.6.jar,\ + lib/gt-referencing-26.6.jar,\ + lib/gt-shapefile-26.6.jar,\ + lib/imageio-ext-arcgrid-1.3.13.jar,\ + lib/imageio-ext-geocore-1.3.13.jar,\ + lib/imageio-ext-streams-1.3.13.jar,\ + lib/imageio-ext-tiff-1.3.13.jar,\ + lib/imageio-ext-utilities-1.3.13.jar,\ + lib/jdom2-2.0.6.jar,\ + lib/jt-algebra-1.1.23.jar,\ + lib/jt-bandcombine-1.1.23.jar,\ + lib/jt-bandmerge-1.1.23.jar,\ + lib/jt-bandselect-1.1.23.jar,\ + lib/jt-binarize-1.1.23.jar,\ + lib/jt-border-1.1.23.jar,\ + lib/jt-buffer-1.1.23.jar,\ + lib/jt-classifier-1.1.23.jar,\ + lib/jt-colorconvert-1.1.23.jar,\ + lib/jt-colorindexer-1.1.23.jar,\ + lib/jt-contour-1.6.0.jar,\ + lib/jt-crop-1.1.23.jar,\ + lib/jt-errordiffusion-1.1.23.jar,\ + lib/jt-format-1.1.23.jar,\ + lib/jt-imagefunction-1.1.23.jar,\ + lib/jt-iterators-1.1.23.jar,\ + lib/jt-lookup-1.1.23.jar,\ + lib/jt-mosaic-1.1.23.jar,\ + lib/jt-nullop-1.1.23.jar,\ + lib/jt-orderdither-1.1.23.jar,\ + lib/jt-piecewise-1.1.23.jar,\ + lib/jt-rangelookup-1.6.0.jar,\ + lib/jt-rescale-1.1.23.jar,\ + lib/jt-rlookup-1.1.23.jar,\ + lib/jt-scale-1.1.23.jar,\ + lib/jts-core-1.18.2.jar,\ + lib/jt-stats-1.1.23.jar,\ + lib/jt-translate-1.1.23.jar,\ + lib/jt-utilities-1.1.23.jar,\ + lib/jt-utils-1.6.0.jar,\ + lib/jt-vectorbin-1.1.23.jar,\ + lib/jt-vectorbinarize-1.6.0.jar,\ + lib/jt-vectorize-1.6.0.jar,\ + lib/jt-warp-1.1.23.jar,\ + lib/jt-zonal-1.1.23.jar,\ + lib/jt-zonalstats-1.6.0.jar,\ + lib/imageio-ext-cog-commons-1.3.13.jar,\ + lib/imageio-ext-cog-reader-1.3.13.jar,\ + lib/imageio-ext-cog-streams-1.3.13.jar,\ + lib/jackson-annotations-2.13.2.jar,\ + lib/jackson-core-2.13.2.jar,\ + lib/jackson-databind-2.13.2.1.jar,\ + lib/jackson-dataformat-cbor-2.6.7.jar,\ + lib/gt-xml-26.6.jar,\ + lib/disruptor-1.2.13.jar,\ + lib/gt-process-feature-26.6.jar,\ + lib/gt-process-geometry-26.6.jar,\ + lib/gt-process-raster-26.6.jar,\ + lib/jt-shadedrelief-1.1.23.jar projects.dir = ${basedir}/.. wkspace.dir = ${projects.dir}/.. common.dir = ${wkspace.dir}/common diff --git a/repast.simphony.gis/lib/GeographicLib-Java-1.44.jar b/repast.simphony.gis/lib/GeographicLib-Java-1.44.jar deleted file mode 100644 index 338ca8e50..000000000 Binary files a/repast.simphony.gis/lib/GeographicLib-Java-1.44.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/GeographicLib-Java-1.49.jar b/repast.simphony.gis/lib/GeographicLib-Java-1.49.jar new file mode 100644 index 000000000..c75593380 Binary files /dev/null and b/repast.simphony.gis/lib/GeographicLib-Java-1.49.jar differ diff --git a/repast.simphony.gis/lib/disruptor-1.2.13.jar b/repast.simphony.gis/lib/disruptor-1.2.13.jar new file mode 100644 index 000000000..6b258e1f4 Binary files /dev/null and b/repast.simphony.gis/lib/disruptor-1.2.13.jar differ diff --git a/repast.simphony.gis/lib/gt-api-19.1.jar b/repast.simphony.gis/lib/gt-api-19.1.jar deleted file mode 100644 index 3c4af8506..000000000 Binary files a/repast.simphony.gis/lib/gt-api-19.1.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/gt-arcgrid-19.1.jar b/repast.simphony.gis/lib/gt-arcgrid-19.1.jar deleted file mode 100644 index 779741504..000000000 Binary files a/repast.simphony.gis/lib/gt-arcgrid-19.1.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/gt-arcgrid-26.6.jar b/repast.simphony.gis/lib/gt-arcgrid-26.6.jar new file mode 100644 index 000000000..a119b8019 Binary files /dev/null and b/repast.simphony.gis/lib/gt-arcgrid-26.6.jar differ diff --git a/repast.simphony.gis/lib/gt-brewer-19.1.jar b/repast.simphony.gis/lib/gt-brewer-19.1.jar deleted file mode 100644 index e46c1d746..000000000 Binary files a/repast.simphony.gis/lib/gt-brewer-19.1.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/gt-brewer-26.6.jar b/repast.simphony.gis/lib/gt-brewer-26.6.jar new file mode 100644 index 000000000..647c2420f Binary files /dev/null and b/repast.simphony.gis/lib/gt-brewer-26.6.jar differ diff --git a/repast.simphony.gis/lib/gt-coverage-19.1.jar b/repast.simphony.gis/lib/gt-coverage-19.1.jar deleted file mode 100644 index 8302d37b9..000000000 Binary files a/repast.simphony.gis/lib/gt-coverage-19.1.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/gt-coverage-26.6.jar b/repast.simphony.gis/lib/gt-coverage-26.6.jar new file mode 100644 index 000000000..7cc8b60d2 Binary files /dev/null and b/repast.simphony.gis/lib/gt-coverage-26.6.jar differ diff --git a/repast.simphony.gis/lib/gt-cql-19.1.jar b/repast.simphony.gis/lib/gt-cql-19.1.jar deleted file mode 100644 index e7e4bdbbf..000000000 Binary files a/repast.simphony.gis/lib/gt-cql-19.1.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/gt-cql-26.6.jar b/repast.simphony.gis/lib/gt-cql-26.6.jar new file mode 100644 index 000000000..c16c05549 Binary files /dev/null and b/repast.simphony.gis/lib/gt-cql-26.6.jar differ diff --git a/repast.simphony.gis/lib/gt-data-19.1.jar b/repast.simphony.gis/lib/gt-data-19.1.jar deleted file mode 100644 index 26853949d..000000000 Binary files a/repast.simphony.gis/lib/gt-data-19.1.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/gt-epsg-hsql-19.1.jar b/repast.simphony.gis/lib/gt-epsg-hsql-19.1.jar deleted file mode 100644 index 8d6f06e31..000000000 Binary files a/repast.simphony.gis/lib/gt-epsg-hsql-19.1.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/gt-epsg-hsql-26.6.jar b/repast.simphony.gis/lib/gt-epsg-hsql-26.6.jar new file mode 100644 index 000000000..22fc0d4a2 Binary files /dev/null and b/repast.simphony.gis/lib/gt-epsg-hsql-26.6.jar differ diff --git a/repast.simphony.gis/lib/gt-geotiff-19.1.jar b/repast.simphony.gis/lib/gt-geotiff-19.1.jar deleted file mode 100644 index 559e09486..000000000 Binary files a/repast.simphony.gis/lib/gt-geotiff-19.1.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/gt-geotiff-26.6.jar b/repast.simphony.gis/lib/gt-geotiff-26.6.jar new file mode 100644 index 000000000..aa71f1dd0 Binary files /dev/null and b/repast.simphony.gis/lib/gt-geotiff-26.6.jar differ diff --git a/repast.simphony.gis/lib/gt-image-19.1.jar b/repast.simphony.gis/lib/gt-image-19.1.jar deleted file mode 100644 index d8f5d2c29..000000000 Binary files a/repast.simphony.gis/lib/gt-image-19.1.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/gt-image-26.6.jar b/repast.simphony.gis/lib/gt-image-26.6.jar new file mode 100644 index 000000000..b4ac9bdc9 Binary files /dev/null and b/repast.simphony.gis/lib/gt-image-26.6.jar differ diff --git a/repast.simphony.gis/lib/gt-main-19.1.jar b/repast.simphony.gis/lib/gt-main-19.1.jar deleted file mode 100644 index d5e7a32d1..000000000 Binary files a/repast.simphony.gis/lib/gt-main-19.1.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/gt-main-26.6.jar b/repast.simphony.gis/lib/gt-main-26.6.jar new file mode 100644 index 000000000..16943fec0 Binary files /dev/null and b/repast.simphony.gis/lib/gt-main-26.6.jar differ diff --git a/repast.simphony.gis/lib/gt-metadata-19.1.jar b/repast.simphony.gis/lib/gt-metadata-19.1.jar deleted file mode 100644 index 71470703b..000000000 Binary files a/repast.simphony.gis/lib/gt-metadata-19.1.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/gt-metadata-26.6.jar b/repast.simphony.gis/lib/gt-metadata-26.6.jar new file mode 100644 index 000000000..d6ea3c6a8 Binary files /dev/null and b/repast.simphony.gis/lib/gt-metadata-26.6.jar differ diff --git a/repast.simphony.gis/lib/gt-opengis-19.1.jar b/repast.simphony.gis/lib/gt-opengis-19.1.jar deleted file mode 100644 index cbee1f503..000000000 Binary files a/repast.simphony.gis/lib/gt-opengis-19.1.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/gt-opengis-26.6.jar b/repast.simphony.gis/lib/gt-opengis-26.6.jar new file mode 100644 index 000000000..921b9b3a9 Binary files /dev/null and b/repast.simphony.gis/lib/gt-opengis-26.6.jar differ diff --git a/repast.simphony.gis/lib/gt-process-feature-26.6.jar b/repast.simphony.gis/lib/gt-process-feature-26.6.jar new file mode 100644 index 000000000..f495c2088 Binary files /dev/null and b/repast.simphony.gis/lib/gt-process-feature-26.6.jar differ diff --git a/repast.simphony.gis/lib/gt-process-geometry-26.6.jar b/repast.simphony.gis/lib/gt-process-geometry-26.6.jar new file mode 100644 index 000000000..9d982005a Binary files /dev/null and b/repast.simphony.gis/lib/gt-process-geometry-26.6.jar differ diff --git a/repast.simphony.gis/lib/gt-process-raster-26.6.jar b/repast.simphony.gis/lib/gt-process-raster-26.6.jar new file mode 100644 index 000000000..f27560741 Binary files /dev/null and b/repast.simphony.gis/lib/gt-process-raster-26.6.jar differ diff --git a/repast.simphony.gis/lib/gt-referencing-19.1.jar b/repast.simphony.gis/lib/gt-referencing-19.1.jar deleted file mode 100644 index e6f89e17f..000000000 Binary files a/repast.simphony.gis/lib/gt-referencing-19.1.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/gt-referencing-26.6.jar b/repast.simphony.gis/lib/gt-referencing-26.6.jar new file mode 100644 index 000000000..8af8b72cc Binary files /dev/null and b/repast.simphony.gis/lib/gt-referencing-26.6.jar differ diff --git a/repast.simphony.gis/lib/gt-shapefile-19.1.jar b/repast.simphony.gis/lib/gt-shapefile-19.1.jar deleted file mode 100644 index 781e71eb9..000000000 Binary files a/repast.simphony.gis/lib/gt-shapefile-19.1.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/gt-shapefile-26.6.jar b/repast.simphony.gis/lib/gt-shapefile-26.6.jar new file mode 100644 index 000000000..d9907839c Binary files /dev/null and b/repast.simphony.gis/lib/gt-shapefile-26.6.jar differ diff --git a/repast.simphony.gis/lib/gt-xml-26.6.jar b/repast.simphony.gis/lib/gt-xml-26.6.jar new file mode 100644 index 000000000..306f5b864 Binary files /dev/null and b/repast.simphony.gis/lib/gt-xml-26.6.jar differ diff --git a/repast.simphony.gis/lib/imageio-ext-arcgrid-1.1.20.jar b/repast.simphony.gis/lib/imageio-ext-arcgrid-1.1.20.jar deleted file mode 100644 index fcae94d1f..000000000 Binary files a/repast.simphony.gis/lib/imageio-ext-arcgrid-1.1.20.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/imageio-ext-arcgrid-1.3.13.jar b/repast.simphony.gis/lib/imageio-ext-arcgrid-1.3.13.jar new file mode 100644 index 000000000..9c70beba7 Binary files /dev/null and b/repast.simphony.gis/lib/imageio-ext-arcgrid-1.3.13.jar differ diff --git a/repast.simphony.gis/lib/imageio-ext-cog-commons-1.3.13.jar b/repast.simphony.gis/lib/imageio-ext-cog-commons-1.3.13.jar new file mode 100644 index 000000000..918e37e59 Binary files /dev/null and b/repast.simphony.gis/lib/imageio-ext-cog-commons-1.3.13.jar differ diff --git a/repast.simphony.gis/lib/imageio-ext-cog-reader-1.3.13.jar b/repast.simphony.gis/lib/imageio-ext-cog-reader-1.3.13.jar new file mode 100644 index 000000000..6d9e39340 Binary files /dev/null and b/repast.simphony.gis/lib/imageio-ext-cog-reader-1.3.13.jar differ diff --git a/repast.simphony.gis/lib/imageio-ext-cog-streams-1.3.13.jar b/repast.simphony.gis/lib/imageio-ext-cog-streams-1.3.13.jar new file mode 100644 index 000000000..b326a31bd Binary files /dev/null and b/repast.simphony.gis/lib/imageio-ext-cog-streams-1.3.13.jar differ diff --git a/repast.simphony.gis/lib/imageio-ext-geocore-1.1.20.jar b/repast.simphony.gis/lib/imageio-ext-geocore-1.1.20.jar deleted file mode 100644 index 1f5f1a4b9..000000000 Binary files a/repast.simphony.gis/lib/imageio-ext-geocore-1.1.20.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/imageio-ext-geocore-1.3.13.jar b/repast.simphony.gis/lib/imageio-ext-geocore-1.3.13.jar new file mode 100644 index 000000000..db0ceedb0 Binary files /dev/null and b/repast.simphony.gis/lib/imageio-ext-geocore-1.3.13.jar differ diff --git a/repast.simphony.gis/lib/imageio-ext-streams-1.1.20.jar b/repast.simphony.gis/lib/imageio-ext-streams-1.1.20.jar deleted file mode 100644 index 286cf66d3..000000000 Binary files a/repast.simphony.gis/lib/imageio-ext-streams-1.1.20.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/imageio-ext-streams-1.3.13.jar b/repast.simphony.gis/lib/imageio-ext-streams-1.3.13.jar new file mode 100644 index 000000000..8c27b84cb Binary files /dev/null and b/repast.simphony.gis/lib/imageio-ext-streams-1.3.13.jar differ diff --git a/repast.simphony.gis/lib/imageio-ext-tiff-1.1.20.jar b/repast.simphony.gis/lib/imageio-ext-tiff-1.1.20.jar deleted file mode 100644 index 4905081ec..000000000 Binary files a/repast.simphony.gis/lib/imageio-ext-tiff-1.1.20.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/imageio-ext-tiff-1.3.13.jar b/repast.simphony.gis/lib/imageio-ext-tiff-1.3.13.jar new file mode 100644 index 000000000..48bafb22a Binary files /dev/null and b/repast.simphony.gis/lib/imageio-ext-tiff-1.3.13.jar differ diff --git a/repast.simphony.gis/lib/imageio-ext-utilities-1.1.20.jar b/repast.simphony.gis/lib/imageio-ext-utilities-1.1.20.jar deleted file mode 100644 index 4dd6207ec..000000000 Binary files a/repast.simphony.gis/lib/imageio-ext-utilities-1.1.20.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/imageio-ext-utilities-1.3.13.jar b/repast.simphony.gis/lib/imageio-ext-utilities-1.3.13.jar new file mode 100644 index 000000000..06cf7591c Binary files /dev/null and b/repast.simphony.gis/lib/imageio-ext-utilities-1.3.13.jar differ diff --git a/repast.simphony.gis/lib/jackson-annotations-2.13.2.jar b/repast.simphony.gis/lib/jackson-annotations-2.13.2.jar new file mode 100644 index 000000000..979c52559 Binary files /dev/null and b/repast.simphony.gis/lib/jackson-annotations-2.13.2.jar differ diff --git a/repast.simphony.gis/lib/jackson-core-2.13.2.jar b/repast.simphony.gis/lib/jackson-core-2.13.2.jar new file mode 100644 index 000000000..20122306e Binary files /dev/null and b/repast.simphony.gis/lib/jackson-core-2.13.2.jar differ diff --git a/repast.simphony.gis/lib/jackson-databind-2.13.2.1.jar b/repast.simphony.gis/lib/jackson-databind-2.13.2.1.jar new file mode 100644 index 000000000..e64323dcb Binary files /dev/null and b/repast.simphony.gis/lib/jackson-databind-2.13.2.1.jar differ diff --git a/repast.simphony.gis/lib/jackson-dataformat-cbor-2.6.7.jar b/repast.simphony.gis/lib/jackson-dataformat-cbor-2.6.7.jar new file mode 100644 index 000000000..f00874400 Binary files /dev/null and b/repast.simphony.gis/lib/jackson-dataformat-cbor-2.6.7.jar differ diff --git a/repast.simphony.gis/lib/jt-algebra-1.0.22.jar b/repast.simphony.gis/lib/jt-algebra-1.0.22.jar deleted file mode 100644 index e555b4c2f..000000000 Binary files a/repast.simphony.gis/lib/jt-algebra-1.0.22.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/jt-algebra-1.1.23.jar b/repast.simphony.gis/lib/jt-algebra-1.1.23.jar new file mode 100644 index 000000000..e16d8b425 Binary files /dev/null and b/repast.simphony.gis/lib/jt-algebra-1.1.23.jar differ diff --git a/repast.simphony.gis/lib/jt-bandcombine-1.0.22.jar b/repast.simphony.gis/lib/jt-bandcombine-1.0.22.jar deleted file mode 100644 index 137b9aae9..000000000 Binary files a/repast.simphony.gis/lib/jt-bandcombine-1.0.22.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/jt-bandcombine-1.1.23.jar b/repast.simphony.gis/lib/jt-bandcombine-1.1.23.jar new file mode 100644 index 000000000..36a70032a Binary files /dev/null and b/repast.simphony.gis/lib/jt-bandcombine-1.1.23.jar differ diff --git a/repast.simphony.gis/lib/jt-bandmerge-1.0.22.jar b/repast.simphony.gis/lib/jt-bandmerge-1.0.22.jar deleted file mode 100644 index 19edd790b..000000000 Binary files a/repast.simphony.gis/lib/jt-bandmerge-1.0.22.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/jt-bandmerge-1.1.23.jar b/repast.simphony.gis/lib/jt-bandmerge-1.1.23.jar new file mode 100644 index 000000000..88209d3b1 Binary files /dev/null and b/repast.simphony.gis/lib/jt-bandmerge-1.1.23.jar differ diff --git a/repast.simphony.gis/lib/jt-bandselect-1.0.22.jar b/repast.simphony.gis/lib/jt-bandselect-1.0.22.jar deleted file mode 100644 index 70e3b07b3..000000000 Binary files a/repast.simphony.gis/lib/jt-bandselect-1.0.22.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/jt-bandselect-1.1.23.jar b/repast.simphony.gis/lib/jt-bandselect-1.1.23.jar new file mode 100644 index 000000000..8751e197f Binary files /dev/null and b/repast.simphony.gis/lib/jt-bandselect-1.1.23.jar differ diff --git a/repast.simphony.gis/lib/jt-binarize-1.0.22.jar b/repast.simphony.gis/lib/jt-binarize-1.0.22.jar deleted file mode 100644 index f6e8d4173..000000000 Binary files a/repast.simphony.gis/lib/jt-binarize-1.0.22.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/jt-binarize-1.1.23.jar b/repast.simphony.gis/lib/jt-binarize-1.1.23.jar new file mode 100644 index 000000000..9aba3dfc3 Binary files /dev/null and b/repast.simphony.gis/lib/jt-binarize-1.1.23.jar differ diff --git a/repast.simphony.gis/lib/jt-border-1.0.22.jar b/repast.simphony.gis/lib/jt-border-1.0.22.jar deleted file mode 100644 index 7a1ea9161..000000000 Binary files a/repast.simphony.gis/lib/jt-border-1.0.22.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/jt-border-1.1.23.jar b/repast.simphony.gis/lib/jt-border-1.1.23.jar new file mode 100644 index 000000000..9b182331d Binary files /dev/null and b/repast.simphony.gis/lib/jt-border-1.1.23.jar differ diff --git a/repast.simphony.gis/lib/jt-buffer-1.0.22.jar b/repast.simphony.gis/lib/jt-buffer-1.0.22.jar deleted file mode 100644 index da8f59c50..000000000 Binary files a/repast.simphony.gis/lib/jt-buffer-1.0.22.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/jt-buffer-1.1.23.jar b/repast.simphony.gis/lib/jt-buffer-1.1.23.jar new file mode 100644 index 000000000..c1476869b Binary files /dev/null and b/repast.simphony.gis/lib/jt-buffer-1.1.23.jar differ diff --git a/repast.simphony.gis/lib/jt-classifier-1.0.22.jar b/repast.simphony.gis/lib/jt-classifier-1.0.22.jar deleted file mode 100644 index c9cf831f0..000000000 Binary files a/repast.simphony.gis/lib/jt-classifier-1.0.22.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/jt-classifier-1.1.23.jar b/repast.simphony.gis/lib/jt-classifier-1.1.23.jar new file mode 100644 index 000000000..970ce1f9c Binary files /dev/null and b/repast.simphony.gis/lib/jt-classifier-1.1.23.jar differ diff --git a/repast.simphony.gis/lib/jt-colorconvert-1.0.22.jar b/repast.simphony.gis/lib/jt-colorconvert-1.0.22.jar deleted file mode 100644 index 4796bf2ec..000000000 Binary files a/repast.simphony.gis/lib/jt-colorconvert-1.0.22.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/jt-colorconvert-1.1.23.jar b/repast.simphony.gis/lib/jt-colorconvert-1.1.23.jar new file mode 100644 index 000000000..623a0610e Binary files /dev/null and b/repast.simphony.gis/lib/jt-colorconvert-1.1.23.jar differ diff --git a/repast.simphony.gis/lib/jt-colorindexer-1.0.22.jar b/repast.simphony.gis/lib/jt-colorindexer-1.0.22.jar deleted file mode 100644 index 6905fbb61..000000000 Binary files a/repast.simphony.gis/lib/jt-colorindexer-1.0.22.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/jt-colorindexer-1.1.23.jar b/repast.simphony.gis/lib/jt-colorindexer-1.1.23.jar new file mode 100644 index 000000000..e021ec96c Binary files /dev/null and b/repast.simphony.gis/lib/jt-colorindexer-1.1.23.jar differ diff --git a/repast.simphony.gis/lib/jt-contour-1.4.0.jar b/repast.simphony.gis/lib/jt-contour-1.4.0.jar deleted file mode 100644 index 1ffaa69c9..000000000 Binary files a/repast.simphony.gis/lib/jt-contour-1.4.0.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/jt-contour-1.6.0.jar b/repast.simphony.gis/lib/jt-contour-1.6.0.jar new file mode 100644 index 000000000..b0ba01e2c Binary files /dev/null and b/repast.simphony.gis/lib/jt-contour-1.6.0.jar differ diff --git a/repast.simphony.gis/lib/jt-crop-1.0.22.jar b/repast.simphony.gis/lib/jt-crop-1.0.22.jar deleted file mode 100644 index 7f0170522..000000000 Binary files a/repast.simphony.gis/lib/jt-crop-1.0.22.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/jt-crop-1.1.23.jar b/repast.simphony.gis/lib/jt-crop-1.1.23.jar new file mode 100644 index 000000000..0c7cf04be Binary files /dev/null and b/repast.simphony.gis/lib/jt-crop-1.1.23.jar differ diff --git a/repast.simphony.gis/lib/jt-errordiffusion-1.0.22.jar b/repast.simphony.gis/lib/jt-errordiffusion-1.0.22.jar deleted file mode 100644 index f9856e68a..000000000 Binary files a/repast.simphony.gis/lib/jt-errordiffusion-1.0.22.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/jt-errordiffusion-1.1.23.jar b/repast.simphony.gis/lib/jt-errordiffusion-1.1.23.jar new file mode 100644 index 000000000..66f5d2978 Binary files /dev/null and b/repast.simphony.gis/lib/jt-errordiffusion-1.1.23.jar differ diff --git a/repast.simphony.gis/lib/jt-format-1.0.22.jar b/repast.simphony.gis/lib/jt-format-1.0.22.jar deleted file mode 100644 index 055646672..000000000 Binary files a/repast.simphony.gis/lib/jt-format-1.0.22.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/jt-format-1.1.23.jar b/repast.simphony.gis/lib/jt-format-1.1.23.jar new file mode 100644 index 000000000..e3f747356 Binary files /dev/null and b/repast.simphony.gis/lib/jt-format-1.1.23.jar differ diff --git a/repast.simphony.gis/lib/jt-imagefunction-1.0.22.jar b/repast.simphony.gis/lib/jt-imagefunction-1.0.22.jar deleted file mode 100644 index 00b013280..000000000 Binary files a/repast.simphony.gis/lib/jt-imagefunction-1.0.22.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/jt-imagefunction-1.1.23.jar b/repast.simphony.gis/lib/jt-imagefunction-1.1.23.jar new file mode 100644 index 000000000..b9c663e4b Binary files /dev/null and b/repast.simphony.gis/lib/jt-imagefunction-1.1.23.jar differ diff --git a/repast.simphony.gis/lib/jt-iterators-1.0.22.jar b/repast.simphony.gis/lib/jt-iterators-1.0.22.jar deleted file mode 100644 index 155cc8076..000000000 Binary files a/repast.simphony.gis/lib/jt-iterators-1.0.22.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/jt-iterators-1.1.23.jar b/repast.simphony.gis/lib/jt-iterators-1.1.23.jar new file mode 100644 index 000000000..bdc71a292 Binary files /dev/null and b/repast.simphony.gis/lib/jt-iterators-1.1.23.jar differ diff --git a/repast.simphony.gis/lib/jt-lookup-1.0.22.jar b/repast.simphony.gis/lib/jt-lookup-1.0.22.jar deleted file mode 100644 index 85446331d..000000000 Binary files a/repast.simphony.gis/lib/jt-lookup-1.0.22.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/jt-lookup-1.1.23.jar b/repast.simphony.gis/lib/jt-lookup-1.1.23.jar new file mode 100644 index 000000000..5b7a5c282 Binary files /dev/null and b/repast.simphony.gis/lib/jt-lookup-1.1.23.jar differ diff --git a/repast.simphony.gis/lib/jt-mosaic-1.0.22.jar b/repast.simphony.gis/lib/jt-mosaic-1.0.22.jar deleted file mode 100644 index 9e04903b3..000000000 Binary files a/repast.simphony.gis/lib/jt-mosaic-1.0.22.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/jt-mosaic-1.1.23.jar b/repast.simphony.gis/lib/jt-mosaic-1.1.23.jar new file mode 100644 index 000000000..ff49056d9 Binary files /dev/null and b/repast.simphony.gis/lib/jt-mosaic-1.1.23.jar differ diff --git a/repast.simphony.gis/lib/jt-nullop-1.0.22.jar b/repast.simphony.gis/lib/jt-nullop-1.0.22.jar deleted file mode 100644 index cfc743bf3..000000000 Binary files a/repast.simphony.gis/lib/jt-nullop-1.0.22.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/jt-nullop-1.1.23.jar b/repast.simphony.gis/lib/jt-nullop-1.1.23.jar new file mode 100644 index 000000000..535621919 Binary files /dev/null and b/repast.simphony.gis/lib/jt-nullop-1.1.23.jar differ diff --git a/repast.simphony.gis/lib/jt-orderdither-1.0.22.jar b/repast.simphony.gis/lib/jt-orderdither-1.0.22.jar deleted file mode 100644 index 3951f1cf3..000000000 Binary files a/repast.simphony.gis/lib/jt-orderdither-1.0.22.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/jt-orderdither-1.1.23.jar b/repast.simphony.gis/lib/jt-orderdither-1.1.23.jar new file mode 100644 index 000000000..702216d04 Binary files /dev/null and b/repast.simphony.gis/lib/jt-orderdither-1.1.23.jar differ diff --git a/repast.simphony.gis/lib/jt-piecewise-1.0.22.jar b/repast.simphony.gis/lib/jt-piecewise-1.0.22.jar deleted file mode 100644 index 941604ca8..000000000 Binary files a/repast.simphony.gis/lib/jt-piecewise-1.0.22.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/jt-piecewise-1.1.23.jar b/repast.simphony.gis/lib/jt-piecewise-1.1.23.jar new file mode 100644 index 000000000..e0be2b522 Binary files /dev/null and b/repast.simphony.gis/lib/jt-piecewise-1.1.23.jar differ diff --git a/repast.simphony.gis/lib/jt-rangelookup-1.4.0.jar b/repast.simphony.gis/lib/jt-rangelookup-1.4.0.jar deleted file mode 100644 index 39cc663b2..000000000 Binary files a/repast.simphony.gis/lib/jt-rangelookup-1.4.0.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/jt-rangelookup-1.6.0.jar b/repast.simphony.gis/lib/jt-rangelookup-1.6.0.jar new file mode 100644 index 000000000..0ee57cc6c Binary files /dev/null and b/repast.simphony.gis/lib/jt-rangelookup-1.6.0.jar differ diff --git a/repast.simphony.gis/lib/jt-rescale-1.0.22.jar b/repast.simphony.gis/lib/jt-rescale-1.0.22.jar deleted file mode 100644 index e55b037e9..000000000 Binary files a/repast.simphony.gis/lib/jt-rescale-1.0.22.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/jt-rescale-1.1.23.jar b/repast.simphony.gis/lib/jt-rescale-1.1.23.jar new file mode 100644 index 000000000..21fe23e4c Binary files /dev/null and b/repast.simphony.gis/lib/jt-rescale-1.1.23.jar differ diff --git a/repast.simphony.gis/lib/jt-rlookup-1.0.22.jar b/repast.simphony.gis/lib/jt-rlookup-1.0.22.jar deleted file mode 100644 index eff4c6253..000000000 Binary files a/repast.simphony.gis/lib/jt-rlookup-1.0.22.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/jt-rlookup-1.1.23.jar b/repast.simphony.gis/lib/jt-rlookup-1.1.23.jar new file mode 100644 index 000000000..13a97258b Binary files /dev/null and b/repast.simphony.gis/lib/jt-rlookup-1.1.23.jar differ diff --git a/repast.simphony.gis/lib/jt-scale-1.0.22.jar b/repast.simphony.gis/lib/jt-scale-1.0.22.jar deleted file mode 100644 index c872672b9..000000000 Binary files a/repast.simphony.gis/lib/jt-scale-1.0.22.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/jt-scale-1.1.23.jar b/repast.simphony.gis/lib/jt-scale-1.1.23.jar new file mode 100644 index 000000000..f826ef211 Binary files /dev/null and b/repast.simphony.gis/lib/jt-scale-1.1.23.jar differ diff --git a/repast.simphony.gis/lib/jt-shadedrelief-1.1.23.jar b/repast.simphony.gis/lib/jt-shadedrelief-1.1.23.jar new file mode 100644 index 000000000..ff4b9c8a0 Binary files /dev/null and b/repast.simphony.gis/lib/jt-shadedrelief-1.1.23.jar differ diff --git a/repast.simphony.gis/lib/jt-stats-1.0.22.jar b/repast.simphony.gis/lib/jt-stats-1.0.22.jar deleted file mode 100644 index 6831f8e58..000000000 Binary files a/repast.simphony.gis/lib/jt-stats-1.0.22.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/jt-stats-1.1.23.jar b/repast.simphony.gis/lib/jt-stats-1.1.23.jar new file mode 100644 index 000000000..814378bf7 Binary files /dev/null and b/repast.simphony.gis/lib/jt-stats-1.1.23.jar differ diff --git a/repast.simphony.gis/lib/jt-translate-1.0.22.jar b/repast.simphony.gis/lib/jt-translate-1.0.22.jar deleted file mode 100644 index 1a0e1ad65..000000000 Binary files a/repast.simphony.gis/lib/jt-translate-1.0.22.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/jt-translate-1.1.23.jar b/repast.simphony.gis/lib/jt-translate-1.1.23.jar new file mode 100644 index 000000000..b63acf446 Binary files /dev/null and b/repast.simphony.gis/lib/jt-translate-1.1.23.jar differ diff --git a/repast.simphony.gis/lib/jt-utilities-1.0.22.jar b/repast.simphony.gis/lib/jt-utilities-1.0.22.jar deleted file mode 100644 index e62ad632e..000000000 Binary files a/repast.simphony.gis/lib/jt-utilities-1.0.22.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/jt-utilities-1.1.23.jar b/repast.simphony.gis/lib/jt-utilities-1.1.23.jar new file mode 100644 index 000000000..da8c8afc5 Binary files /dev/null and b/repast.simphony.gis/lib/jt-utilities-1.1.23.jar differ diff --git a/repast.simphony.gis/lib/jt-utils-1.4.0.jar b/repast.simphony.gis/lib/jt-utils-1.4.0.jar deleted file mode 100644 index 99afd47de..000000000 Binary files a/repast.simphony.gis/lib/jt-utils-1.4.0.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/jt-utils-1.6.0.jar b/repast.simphony.gis/lib/jt-utils-1.6.0.jar new file mode 100644 index 000000000..fdc7c36d1 Binary files /dev/null and b/repast.simphony.gis/lib/jt-utils-1.6.0.jar differ diff --git a/repast.simphony.gis/lib/jt-vectorbin-1.0.22.jar b/repast.simphony.gis/lib/jt-vectorbin-1.0.22.jar deleted file mode 100644 index d38bf6204..000000000 Binary files a/repast.simphony.gis/lib/jt-vectorbin-1.0.22.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/jt-vectorbin-1.1.23.jar b/repast.simphony.gis/lib/jt-vectorbin-1.1.23.jar new file mode 100644 index 000000000..a42b6202e Binary files /dev/null and b/repast.simphony.gis/lib/jt-vectorbin-1.1.23.jar differ diff --git a/repast.simphony.gis/lib/jt-vectorbinarize-1.4.0.jar b/repast.simphony.gis/lib/jt-vectorbinarize-1.4.0.jar deleted file mode 100644 index a96b79f70..000000000 Binary files a/repast.simphony.gis/lib/jt-vectorbinarize-1.4.0.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/jt-vectorbinarize-1.6.0.jar b/repast.simphony.gis/lib/jt-vectorbinarize-1.6.0.jar new file mode 100644 index 000000000..6c3928cfd Binary files /dev/null and b/repast.simphony.gis/lib/jt-vectorbinarize-1.6.0.jar differ diff --git a/repast.simphony.gis/lib/jt-vectorize-1.4.0.jar b/repast.simphony.gis/lib/jt-vectorize-1.4.0.jar deleted file mode 100644 index 75b68e8c9..000000000 Binary files a/repast.simphony.gis/lib/jt-vectorize-1.4.0.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/jt-vectorize-1.6.0.jar b/repast.simphony.gis/lib/jt-vectorize-1.6.0.jar new file mode 100644 index 000000000..3edcdeaae Binary files /dev/null and b/repast.simphony.gis/lib/jt-vectorize-1.6.0.jar differ diff --git a/repast.simphony.gis/lib/jt-warp-1.0.22.jar b/repast.simphony.gis/lib/jt-warp-1.0.22.jar deleted file mode 100644 index 55dc6ea16..000000000 Binary files a/repast.simphony.gis/lib/jt-warp-1.0.22.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/jt-warp-1.1.23.jar b/repast.simphony.gis/lib/jt-warp-1.1.23.jar new file mode 100644 index 000000000..9d269e355 Binary files /dev/null and b/repast.simphony.gis/lib/jt-warp-1.1.23.jar differ diff --git a/repast.simphony.gis/lib/jt-zonal-1.0.22.jar b/repast.simphony.gis/lib/jt-zonal-1.0.22.jar deleted file mode 100644 index 68fe59969..000000000 Binary files a/repast.simphony.gis/lib/jt-zonal-1.0.22.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/jt-zonal-1.1.23.jar b/repast.simphony.gis/lib/jt-zonal-1.1.23.jar new file mode 100644 index 000000000..99b72ac7d Binary files /dev/null and b/repast.simphony.gis/lib/jt-zonal-1.1.23.jar differ diff --git a/repast.simphony.gis/lib/jt-zonalstats-1.4.0.jar b/repast.simphony.gis/lib/jt-zonalstats-1.4.0.jar deleted file mode 100644 index 3c52f32e3..000000000 Binary files a/repast.simphony.gis/lib/jt-zonalstats-1.4.0.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/jt-zonalstats-1.6.0.jar b/repast.simphony.gis/lib/jt-zonalstats-1.6.0.jar new file mode 100644 index 000000000..f2f00f14c Binary files /dev/null and b/repast.simphony.gis/lib/jt-zonalstats-1.6.0.jar differ diff --git a/repast.simphony.gis/lib/jts-core-1.14.0.jar b/repast.simphony.gis/lib/jts-core-1.14.0.jar deleted file mode 100644 index a690bed69..000000000 Binary files a/repast.simphony.gis/lib/jts-core-1.14.0.jar and /dev/null differ diff --git a/repast.simphony.gis/lib/jts-core-1.18.2.jar b/repast.simphony.gis/lib/jts-core-1.18.2.jar new file mode 100644 index 000000000..8da196f20 Binary files /dev/null and b/repast.simphony.gis/lib/jts-core-1.18.2.jar differ diff --git a/repast.simphony.gis/plugin_jpf.xml b/repast.simphony.gis/plugin_jpf.xml index bcf315513..03c90f9dc 100644 --- a/repast.simphony.gis/plugin_jpf.xml +++ b/repast.simphony.gis/plugin_jpf.xml @@ -3,7 +3,7 @@ - + @@ -19,75 +19,88 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + diff --git a/repast.simphony.gis/src/repast/simphony/gis/freezedry/GeographyProjectionDryer.java b/repast.simphony.gis/src/repast/simphony/gis/freezedry/GeographyProjectionDryer.java index 9dca28548..91fb53dfa 100644 --- a/repast.simphony.gis/src/repast/simphony/gis/freezedry/GeographyProjectionDryer.java +++ b/repast.simphony.gis/src/repast/simphony/gis/freezedry/GeographyProjectionDryer.java @@ -10,7 +10,7 @@ import org.geotools.referencing.crs.DefaultGeographicCRS; import org.opengis.referencing.crs.CoordinateReferenceSystem; -import com.vividsolutions.jts.geom.Geometry; +import org.locationtech.jts.geom.Geometry; import repast.simphony.context.Context; import repast.simphony.context.space.gis.GeographyFactoryFinder; diff --git a/repast.simphony.gis/src/repast/simphony/gis/freezedry/GeometryFreezeDryer.java b/repast.simphony.gis/src/repast/simphony/gis/freezedry/GeometryFreezeDryer.java index 65cc638dd..378d2bcb1 100644 --- a/repast.simphony.gis/src/repast/simphony/gis/freezedry/GeometryFreezeDryer.java +++ b/repast.simphony.gis/src/repast/simphony/gis/freezedry/GeometryFreezeDryer.java @@ -1,9 +1,9 @@ package repast.simphony.gis.freezedry; -import com.vividsolutions.jts.geom.Geometry; -import com.vividsolutions.jts.io.ParseException; -import com.vividsolutions.jts.io.WKTReader; -import com.vividsolutions.jts.io.WKTWriter; +import org.locationtech.jts.geom.Geometry; +import org.locationtech.jts.io.ParseException; +import org.locationtech.jts.io.WKTReader; +import org.locationtech.jts.io.WKTWriter; import repast.simphony.freezedry.FreezeDryedObject; import repast.simphony.freezedry.FreezeDryer; diff --git a/repast.simphony.gis/src/repast/simphony/gis/util/GeometryUtil.java b/repast.simphony.gis/src/repast/simphony/gis/util/GeometryUtil.java index f0a1735ed..5f5ac1287 100644 --- a/repast.simphony.gis/src/repast/simphony/gis/util/GeometryUtil.java +++ b/repast.simphony.gis/src/repast/simphony/gis/util/GeometryUtil.java @@ -1,33 +1,31 @@ -package repast.simphony.gis.util; + package repast.simphony.gis.util; import java.util.ArrayList; import java.util.List; -import javax.measure.unit.SI; - import org.geotools.geometry.jts.JTS; import org.geotools.referencing.operation.DefaultCoordinateOperationFactory; import org.geotools.styling.SLD; import org.geotools.styling.Style; +import org.locationtech.jts.geom.Coordinate; +import org.locationtech.jts.geom.Envelope; +import org.locationtech.jts.geom.Geometry; +import org.locationtech.jts.geom.LineString; +import org.locationtech.jts.geom.MultiLineString; +import org.locationtech.jts.geom.MultiPoint; +import org.locationtech.jts.geom.MultiPolygon; +import org.locationtech.jts.shape.random.RandomPointsBuilder; import org.opengis.feature.simple.SimpleFeature; import org.opengis.referencing.FactoryException; import org.opengis.referencing.crs.CoordinateReferenceSystem; import org.opengis.referencing.operation.TransformException; -import com.vividsolutions.jts.geom.Coordinate; -import com.vividsolutions.jts.geom.Envelope; -import com.vividsolutions.jts.geom.Geometry; -import com.vividsolutions.jts.geom.LineString; -import com.vividsolutions.jts.geom.MultiLineString; -import com.vividsolutions.jts.geom.MultiPoint; -import com.vividsolutions.jts.geom.MultiPolygon; -import com.vividsolutions.jts.shape.random.RandomPointsBuilder; - import cern.jet.random.Uniform; import cern.jet.random.engine.RandomEngine; import repast.simphony.random.RandomHelper; import repast.simphony.space.gis.Geography; import repast.simphony.space.gis.UTMFinder; +import tech.units.indriya.unit.Units; /** * Utilities methods for geometries @@ -44,22 +42,22 @@ public static enum GeometryType { } /** - * Finds the geometry type of the specified com.vividsolutions.jts.geom class. + * Finds the geometry type of the specified org.locationtech.jts.geom class. * - * @param geom the com.vividsolutions.jts.geom class whose type we want. - * @return the geometry type of the specified com.vividsolutions.jts.geom class. + * @param geom the org.locationtech.jts.geom class whose type we want. + * @return the geometry type of the specified org.locationtech.jts.geom class. */ public static GeometryType findGeometryType(Class geomClass) { - if (com.vividsolutions.jts.geom.Point.class.equals(geomClass) || - com.vividsolutions.jts.geom.MultiPoint.class.equals(geomClass)) + if (org.locationtech.jts.geom.Point.class.equals(geomClass) || + org.locationtech.jts.geom.MultiPoint.class.equals(geomClass)) return GeometryType.POINT; - else if (com.vividsolutions.jts.geom.Polygon.class.equals(geomClass) || - com.vividsolutions.jts.geom.MultiPolygon.class.equals(geomClass)) + else if (org.locationtech.jts.geom.Polygon.class.equals(geomClass) || + org.locationtech.jts.geom.MultiPolygon.class.equals(geomClass)) return GeometryType.POLYGON; - else if (com.vividsolutions.jts.geom.LineString.class.equals(geomClass) || - com.vividsolutions.jts.geom.MultiLineString.class.equals(geomClass)) + else if (org.locationtech.jts.geom.LineString.class.equals(geomClass) || + org.locationtech.jts.geom.MultiLineString.class.equals(geomClass)) return GeometryType.LINE; else return GeometryType.OTHER; @@ -72,9 +70,9 @@ else if (com.vividsolutions.jts.geom.LineString.class.equals(geomClass) || * @return the geometry type of the specified geometry. */ public static GeometryType findGeometryType(Geometry geom) { - if (geom instanceof com.vividsolutions.jts.geom.Point || geom instanceof MultiPoint) + if (geom instanceof org.locationtech.jts.geom.Point || geom instanceof MultiPoint) return GeometryType.POINT; - else if (geom instanceof com.vividsolutions.jts.geom.Polygon || geom instanceof MultiPolygon) + else if (geom instanceof org.locationtech.jts.geom.Polygon || geom instanceof MultiPolygon) return GeometryType.POLYGON; else if (geom instanceof LineString || geom instanceof MultiLineString) return GeometryType.LINE; @@ -102,9 +100,9 @@ public static GeometryType findGeometryType(Style style) { */ public static GeometryType findGeometryType(SimpleFeature feature) { Object geom = feature.getDefaultGeometry(); - if (geom instanceof com.vividsolutions.jts.geom.Point || geom instanceof MultiPoint) + if (geom instanceof org.locationtech.jts.geom.Point || geom instanceof MultiPoint) return GeometryType.POINT; - else if (geom instanceof com.vividsolutions.jts.geom.Polygon || geom instanceof MultiPolygon) + else if (geom instanceof org.locationtech.jts.geom.Polygon || geom instanceof MultiPolygon) return GeometryType.POLYGON; else if (geom instanceof LineString || geom instanceof MultiLineString) return GeometryType.LINE; @@ -124,7 +122,7 @@ else if (geom instanceof LineString || geom instanceof MultiLineString) * @return the buffer geometry */ public static Geometry generateBuffer(Geography geography, Geometry geom, double distance){ - boolean convert = !geography.getUnits(0).equals(SI.METER); + boolean convert = !geography.getUnits(0).equals(Units.METRE); CoordinateReferenceSystem utm = null; Geometry buffer = null; diff --git a/repast.simphony.gis/src/repast/simphony/gis/xml/GeographyConverter.java b/repast.simphony.gis/src/repast/simphony/gis/xml/GeographyConverter.java index dd653bcb9..0b363955f 100644 --- a/repast.simphony.gis/src/repast/simphony/gis/xml/GeographyConverter.java +++ b/repast.simphony.gis/src/repast/simphony/gis/xml/GeographyConverter.java @@ -15,8 +15,8 @@ import com.thoughtworks.xstream.converters.UnmarshallingContext; import com.thoughtworks.xstream.io.HierarchicalStreamReader; import com.thoughtworks.xstream.io.HierarchicalStreamWriter; -import com.vividsolutions.jts.geom.Geometry; -import com.vividsolutions.jts.io.WKTReader; +import org.locationtech.jts.geom.Geometry; +import org.locationtech.jts.io.WKTReader; import repast.simphony.context.Context; import repast.simphony.context.space.gis.ContextGeography; diff --git a/repast.simphony.gis/src/repast/simphony/query/space/gis/AbstractGeometryQuery.java b/repast.simphony.gis/src/repast/simphony/query/space/gis/AbstractGeometryQuery.java index 08c84ac7c..55ec85824 100644 --- a/repast.simphony.gis/src/repast/simphony/query/space/gis/AbstractGeometryQuery.java +++ b/repast.simphony.gis/src/repast/simphony/query/space/gis/AbstractGeometryQuery.java @@ -8,8 +8,8 @@ import repast.simphony.util.collections.FilteredIterator; import simphony.util.messages.MessageCenter; -import com.vividsolutions.jts.geom.Envelope; -import com.vividsolutions.jts.geom.Geometry; +import org.locationtech.jts.geom.Envelope; +import org.locationtech.jts.geom.Geometry; /** * Abstract implementation of geometry based queries. This can be used diff --git a/repast.simphony.gis/src/repast/simphony/query/space/gis/ContainsQuery.java b/repast.simphony.gis/src/repast/simphony/query/space/gis/ContainsQuery.java index d92abc049..996243781 100644 --- a/repast.simphony.gis/src/repast/simphony/query/space/gis/ContainsQuery.java +++ b/repast.simphony.gis/src/repast/simphony/query/space/gis/ContainsQuery.java @@ -1,6 +1,6 @@ package repast.simphony.query.space.gis; -import com.vividsolutions.jts.geom.Geometry; +import org.locationtech.jts.geom.Geometry; import org.apache.commons.collections15.Predicate; import repast.simphony.space.gis.Geography; diff --git a/repast.simphony.gis/src/repast/simphony/query/space/gis/GeographyWithin.java b/repast.simphony.gis/src/repast/simphony/query/space/gis/GeographyWithin.java index 86651ed26..79f6a64c0 100644 --- a/repast.simphony.gis/src/repast/simphony/query/space/gis/GeographyWithin.java +++ b/repast.simphony.gis/src/repast/simphony/query/space/gis/GeographyWithin.java @@ -1,7 +1,7 @@ package repast.simphony.query.space.gis; -import javax.measure.unit.SI; -import javax.measure.unit.Unit; + +import javax.measure.Unit; import org.geotools.geometry.jts.JTS; import org.geotools.referencing.operation.DefaultCoordinateOperationFactory; @@ -9,18 +9,19 @@ import org.opengis.referencing.crs.CoordinateReferenceSystem; import org.opengis.referencing.operation.TransformException; +import org.locationtech.jts.geom.Geometry; + import repast.simphony.query.Query; import repast.simphony.space.gis.Geography; import repast.simphony.space.gis.UTMFinder; import simphony.util.messages.MessageCenter; - -import com.vividsolutions.jts.geom.Geometry; +import tech.units.indriya.unit.Units; /** * Query that returns items in a geography that are some specified distance from * another item or a geometry. The distance is either calculated from the * center of a point, or from the buffer zone which is created around the line - * or polygon feature, see {@link com.vividsolutions.jts.geom.Geometry} .buffer() + * or polygon feature, see {@link org.locationtech.jts.geom.Geometry} .buffer() * * @author Nick Collier * @author Eric Tatara @@ -58,7 +59,7 @@ public GeographyWithin(Geography geography, double distance, Object sourceObject */ public GeographyWithin(Geography geography, double distance, Unit units, Object sourceObject) { this.sourceObject = sourceObject; - init(geography, units.getConverterTo(SI.METER).convert(distance), geography.getGeometry(sourceObject)); + init(geography, units.getConverterTo(Units.METRE).convert(distance), geography.getGeometry(sourceObject)); } @@ -72,7 +73,7 @@ public GeographyWithin(Geography geography, double distance, Unit units, Object * @param location the source location whose surrounding neighbors we want */ public GeographyWithin(Geography geography, double distance, Unit units, Geometry location) { - init(geography, units.getConverterTo(SI.METER).convert(distance), location); + init(geography, units.getConverterTo(Units.METRE).convert(distance), location); } @@ -90,7 +91,7 @@ public GeographyWithin(Geography geography, double distance, Geometry location) private void init(Geography geography, double distance, Geometry geom) { // don't convert if we are already in a meter based crs - boolean convert = !geography.getUnits(0).equals(SI.METER); + boolean convert = !geography.getUnits(0).equals(Units.METRE); CoordinateReferenceSystem utm = null; Geometry buffer = null; diff --git a/repast.simphony.gis/src/repast/simphony/query/space/gis/IntersectsQuery.java b/repast.simphony.gis/src/repast/simphony/query/space/gis/IntersectsQuery.java index 6981ac510..4b2eed525 100644 --- a/repast.simphony.gis/src/repast/simphony/query/space/gis/IntersectsQuery.java +++ b/repast.simphony.gis/src/repast/simphony/query/space/gis/IntersectsQuery.java @@ -1,6 +1,6 @@ package repast.simphony.query.space.gis; -import com.vividsolutions.jts.geom.Geometry; +import org.locationtech.jts.geom.Geometry; import org.apache.commons.collections15.Predicate; import repast.simphony.space.gis.Geography; diff --git a/repast.simphony.gis/src/repast/simphony/query/space/gis/TouchesQuery.java b/repast.simphony.gis/src/repast/simphony/query/space/gis/TouchesQuery.java index f4999454c..5021aa406 100644 --- a/repast.simphony.gis/src/repast/simphony/query/space/gis/TouchesQuery.java +++ b/repast.simphony.gis/src/repast/simphony/query/space/gis/TouchesQuery.java @@ -1,6 +1,6 @@ package repast.simphony.query.space.gis; -import com.vividsolutions.jts.geom.Geometry; +import org.locationtech.jts.geom.Geometry; import org.apache.commons.collections15.Predicate; import repast.simphony.space.gis.Geography; diff --git a/repast.simphony.gis/src/repast/simphony/query/space/gis/WithinQuery.java b/repast.simphony.gis/src/repast/simphony/query/space/gis/WithinQuery.java index 30d282e52..20b4e0009 100644 --- a/repast.simphony.gis/src/repast/simphony/query/space/gis/WithinQuery.java +++ b/repast.simphony.gis/src/repast/simphony/query/space/gis/WithinQuery.java @@ -1,6 +1,6 @@ package repast.simphony.query.space.gis; -import com.vividsolutions.jts.geom.Geometry; +import org.locationtech.jts.geom.Geometry; import org.apache.commons.collections15.Predicate; import repast.simphony.space.gis.Geography; diff --git a/repast.simphony.gis/src/repast/simphony/space/gis/DefaultFeatureAgentFactory.java b/repast.simphony.gis/src/repast/simphony/space/gis/DefaultFeatureAgentFactory.java index bb190f361..b085bb473 100644 --- a/repast.simphony.gis/src/repast/simphony/space/gis/DefaultFeatureAgentFactory.java +++ b/repast.simphony.gis/src/repast/simphony/space/gis/DefaultFeatureAgentFactory.java @@ -5,14 +5,13 @@ import org.geotools.feature.SchemaException; import org.geotools.referencing.crs.DefaultGeographicCRS; +import org.locationtech.jts.geom.Geometry; +import org.locationtech.jts.geom.Point; import org.opengis.feature.simple.SimpleFeatureType; import org.opengis.referencing.crs.CoordinateReferenceSystem; import simphony.util.messages.MessageCenter; -import com.vividsolutions.jts.geom.Geometry; -import com.vividsolutions.jts.geom.Point; - /** * Default factory class for creating feature agents. * Instances of the this class can be created using the FeatureAgentFactoryFinder. diff --git a/repast.simphony.gis/src/repast/simphony/space/gis/DefaultGeography.java b/repast.simphony.gis/src/repast/simphony/space/gis/DefaultGeography.java index a47c42947..e95a7edb2 100644 --- a/repast.simphony.gis/src/repast/simphony/space/gis/DefaultGeography.java +++ b/repast.simphony.gis/src/repast/simphony/space/gis/DefaultGeography.java @@ -13,8 +13,8 @@ import java.util.Map.Entry; import java.util.Set; -import javax.measure.unit.SI; -import javax.measure.unit.Unit; +import javax.measure.Unit; +import javax.measure.quantity.Length; import org.apache.commons.collections15.Predicate; import org.geotools.coverage.grid.GridCoverage2D; @@ -24,6 +24,13 @@ import org.geotools.referencing.ReferencingFactoryFinder; import org.geotools.referencing.crs.DefaultGeographicCRS; import org.geotools.referencing.operation.matrix.GeneralMatrix; +import org.locationtech.jts.geom.Coordinate; +import org.locationtech.jts.geom.Envelope; +import org.locationtech.jts.geom.Geometry; +import org.locationtech.jts.geom.GeometryFactory; +import org.locationtech.jts.index.ItemVisitor; +import org.locationtech.jts.index.SpatialIndex; +import org.locationtech.jts.index.quadtree.Quadtree; import org.opengis.geometry.MismatchedDimensionException; import org.opengis.referencing.FactoryException; import org.opengis.referencing.NoSuchAuthorityCodeException; @@ -32,14 +39,6 @@ import org.opengis.referencing.operation.MathTransformFactory; import org.opengis.referencing.operation.TransformException; -import com.vividsolutions.jts.geom.Coordinate; -import com.vividsolutions.jts.geom.Envelope; -import com.vividsolutions.jts.geom.Geometry; -import com.vividsolutions.jts.geom.GeometryFactory; -import com.vividsolutions.jts.index.ItemVisitor; -import com.vividsolutions.jts.index.SpatialIndex; -import com.vividsolutions.jts.index.quadtree.Quadtree; - import repast.simphony.query.space.projection.Within; import repast.simphony.space.projection.DefaultProjection; import repast.simphony.space.projection.ProjectionEvent; @@ -47,6 +46,7 @@ import repast.simphony.space.projection.ProjectionPredicate; import repast.simphony.util.collections.FilteredIterator; import simphony.util.messages.MessageCenter; +import tech.units.indriya.unit.Units; /** * Default implementation of Geography, a geographic GIS type space. @@ -461,12 +461,12 @@ public Geometry moveByVector(T object, double distance, double angleInRadians) { * the angle along which to move * @return the geometric location the object was moved to */ - public Geometry moveByVector(T object, double distance, Unit unit, double angleInRadians) { - if (!unit.isCompatible(SI.METER)) { + public Geometry moveByVector(T object, double distance, Unit unit, double angleInRadians) { + if (!unit.isCompatible(Units.METRE)) { msg.error("Error moving object by vector", new IllegalArgumentException("Unable to convert: " + unit + " into distance measure")); } - return moveByVector(object, unit.getConverterTo(SI.METER).convert(distance), angleInRadians); + return moveByVector(object, unit.getConverterTo(Units.METRE).convert(distance), angleInRadians); } /** @@ -553,7 +553,7 @@ public void setAdder(GISAdder adder) { * the axis index. * @return the coordinate reference system's axis units. */ - public Unit getUnits(int axis) { + public Unit getUnits(int axis) { return crs.getCoordinateSystem().getAxis(axis).getUnit(); } diff --git a/repast.simphony.gis/src/repast/simphony/space/gis/FeatureAgent.java b/repast.simphony.gis/src/repast/simphony/space/gis/FeatureAgent.java index a168c6ed4..76ac98ca4 100644 --- a/repast.simphony.gis/src/repast/simphony/space/gis/FeatureAgent.java +++ b/repast.simphony.gis/src/repast/simphony/space/gis/FeatureAgent.java @@ -8,12 +8,11 @@ import java.util.List; import java.util.Map; -import net.sf.cglib.reflect.FastMethod; - import org.geotools.feature.GeometryAttributeImpl; import org.geotools.feature.type.AttributeDescriptorImpl; import org.geotools.filter.identity.FeatureIdImpl; import org.geotools.geometry.jts.ReferencedEnvelope; +import org.locationtech.jts.geom.Geometry; import org.opengis.feature.Feature; import org.opengis.feature.GeometryAttribute; import org.opengis.feature.IllegalAttributeException; @@ -27,11 +26,10 @@ import org.opengis.filter.identity.FeatureId; import org.opengis.geometry.BoundingBox; +import net.sf.cglib.reflect.FastMethod; import repast.simphony.space.gis.FeatureAgentFactory.ObjectClassAttributeData; import simphony.util.messages.MessageCenter; -import com.vividsolutions.jts.geom.Geometry; - /** * Wraps a POJO in a GIS feature. The POJO's properties become feature * attributes. The feature's geometry is derived from the POJO and a Geography. diff --git a/repast.simphony.gis/src/repast/simphony/space/gis/FeatureAgentFactory.java b/repast.simphony.gis/src/repast/simphony/space/gis/FeatureAgentFactory.java index 1efc665d4..4afbaedec 100644 --- a/repast.simphony.gis/src/repast/simphony/space/gis/FeatureAgentFactory.java +++ b/repast.simphony.gis/src/repast/simphony/space/gis/FeatureAgentFactory.java @@ -12,21 +12,19 @@ import java.util.Map; import java.util.Set; -import net.sf.cglib.reflect.FastClass; -import net.sf.cglib.reflect.FastMethod; - import org.geotools.feature.AttributeTypeBuilder; import org.geotools.feature.SchemaException; import org.geotools.feature.simple.SimpleFeatureTypeBuilder; +import org.locationtech.jts.geom.Geometry; import org.opengis.feature.simple.SimpleFeatureType; import org.opengis.feature.type.AttributeDescriptor; import org.opengis.feature.type.AttributeType; import org.opengis.referencing.crs.CoordinateReferenceSystem; +import net.sf.cglib.reflect.FastClass; +import net.sf.cglib.reflect.FastMethod; import simphony.util.messages.MessageCenter; -import com.vividsolutions.jts.geom.Geometry; - /** * Abstract factory for adapting agents to features. This creates a FeatureType * given an agent class. diff --git a/repast.simphony.gis/src/repast/simphony/space/gis/FeatureAgentFactoryFinder.java b/repast.simphony.gis/src/repast/simphony/space/gis/FeatureAgentFactoryFinder.java index e3aac8d6a..ec6ef546d 100644 --- a/repast.simphony.gis/src/repast/simphony/space/gis/FeatureAgentFactoryFinder.java +++ b/repast.simphony.gis/src/repast/simphony/space/gis/FeatureAgentFactoryFinder.java @@ -1,9 +1,13 @@ package repast.simphony.space.gis; -import com.vividsolutions.jts.geom.Geometry; -import org.opengis.referencing.crs.CoordinateReferenceSystem; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; -import java.util.*; +import org.locationtech.jts.geom.Geometry; +import org.opengis.referencing.crs.CoordinateReferenceSystem; /** * Singleton class that creates FeatureAgentFactories. diff --git a/repast.simphony.gis/src/repast/simphony/space/gis/GISNetworkListener.java b/repast.simphony.gis/src/repast/simphony/space/gis/GISNetworkListener.java index 512200874..9499e8b46 100644 --- a/repast.simphony.gis/src/repast/simphony/space/gis/GISNetworkListener.java +++ b/repast.simphony.gis/src/repast/simphony/space/gis/GISNetworkListener.java @@ -30,13 +30,12 @@ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING package repast.simphony.space.gis; -import com.vividsolutions.jts.geom.Coordinate; -import com.vividsolutions.jts.geom.GeometryFactory; -import com.vividsolutions.jts.geom.LineString; -import com.vividsolutions.jts.geom.MultiLineString; +import org.locationtech.jts.geom.Coordinate; +import org.locationtech.jts.geom.GeometryFactory; +import org.locationtech.jts.geom.LineString; +import org.locationtech.jts.geom.MultiLineString; import repast.simphony.context.Context; -import repast.simphony.space.gis.Geography; import repast.simphony.space.graph.Network; import repast.simphony.space.graph.RepastEdge; import repast.simphony.space.projection.ProjectionEvent; diff --git a/repast.simphony.gis/src/repast/simphony/space/gis/Geography.java b/repast.simphony.gis/src/repast/simphony/space/gis/Geography.java index 0508e9371..68ac7d8f2 100644 --- a/repast.simphony.gis/src/repast/simphony/space/gis/Geography.java +++ b/repast.simphony.gis/src/repast/simphony/space/gis/Geography.java @@ -4,16 +4,15 @@ package repast.simphony.space.gis; import java.util.Collection; -import java.util.Set; -import javax.measure.unit.Unit; +import javax.measure.Unit; +import javax.measure.quantity.Length; import org.geotools.coverage.grid.GridCoverage2D; +import org.locationtech.jts.geom.Envelope; +import org.locationtech.jts.geom.Geometry; import org.opengis.referencing.crs.CoordinateReferenceSystem; -import com.vividsolutions.jts.geom.Envelope; -import com.vividsolutions.jts.geom.Geometry; - import repast.simphony.space.projection.Projection; /** @@ -96,7 +95,6 @@ public interface Geography extends Projection{ */ Iterable getObjectsWithin(Envelope envelope); - /** * Queries this geography for objects that MAY intersect the * the specified envelope. This provides a first level @@ -135,8 +133,7 @@ public interface Geography extends Projection{ * @param angleInRadians the angle along which to move * @return the geometric location the object was moved to */ - Geometry moveByVector(T object, double distance, - double angleInRadians); + Geometry moveByVector(T object, double distance, double angleInRadians); /** * Moves the specified object the specified distance along the specified angle. @@ -147,8 +144,7 @@ Geometry moveByVector(T object, double distance, * @param angleInRadians the angle along which to move * @return the geometric location the object was moved to */ - Geometry moveByVector(T object, double distance, Unit unit, - double angleInRadians); + Geometry moveByVector(T object, double distance, Unit unit, double angleInRadians); /** * Displaces the specified object by the specified lon and lat amount. @@ -158,8 +154,7 @@ Geometry moveByVector(T object, double distance, Unit unit, * @param latShift the amount to move latitudinaly * @return the new geometry of the object */ - Geometry moveByDisplacement(T object, double lonShift, - double latShift); + Geometry moveByDisplacement(T object, double lonShift, double latShift); /** * Gets the current coordinate reference system for this geometry. @@ -184,14 +179,13 @@ Geometry moveByDisplacement(T object, double lonShift, */ void setAdder(GISAdder adder); - /** * Gets the coordinate reference system's axis units. * * @param axis the axis index. * @return the coordinate reference system's axis units. */ - Unit getUnits(int axis); + Unit getUnits(int axis); /** * Gets an iterable over all the objects within the specified envelope diff --git a/repast.simphony.gis/src/repast/simphony/space/gis/Layer.java b/repast.simphony.gis/src/repast/simphony/space/gis/Layer.java index 7709fa0ee..1c50f04ad 100644 --- a/repast.simphony.gis/src/repast/simphony/space/gis/Layer.java +++ b/repast.simphony.gis/src/repast/simphony/space/gis/Layer.java @@ -3,7 +3,7 @@ import java.util.HashSet; import java.util.Set; -import com.vividsolutions.jts.geom.Geometry; +import org.locationtech.jts.geom.Geometry; /** diff --git a/repast.simphony.gis/src/repast/simphony/space/gis/RandomGISAdder.java b/repast.simphony.gis/src/repast/simphony/space/gis/RandomGISAdder.java index 733184a46..6c8067340 100644 --- a/repast.simphony.gis/src/repast/simphony/space/gis/RandomGISAdder.java +++ b/repast.simphony.gis/src/repast/simphony/space/gis/RandomGISAdder.java @@ -1,9 +1,10 @@ package repast.simphony.space.gis; -import com.vividsolutions.jts.geom.Envelope; -import com.vividsolutions.jts.geom.Geometry; -import com.vividsolutions.jts.io.ParseException; -import com.vividsolutions.jts.io.WKTReader; +import org.locationtech.jts.geom.Envelope; +import org.locationtech.jts.geom.Geometry; +import org.locationtech.jts.io.ParseException; +import org.locationtech.jts.io.WKTReader; + import repast.simphony.random.RandomHelper; import simphony.util.messages.MessageCenter; diff --git a/repast.simphony.gis/src/repast/simphony/space/gis/RasterLayer.java b/repast.simphony.gis/src/repast/simphony/space/gis/RasterLayer.java index b7c893781..cb331f9f9 100644 --- a/repast.simphony.gis/src/repast/simphony/space/gis/RasterLayer.java +++ b/repast.simphony.gis/src/repast/simphony/space/gis/RasterLayer.java @@ -14,10 +14,10 @@ import org.geotools.coverage.grid.io.GridCoverage2DReader; import org.geotools.coverage.grid.io.GridFormatFinder; import org.geotools.coverage.processing.Operations; -import org.geotools.factory.Hints; import org.geotools.geometry.DirectPosition2D; import org.geotools.geometry.jts.ReferencedEnvelope; import org.geotools.referencing.CRS; +import org.geotools.util.factory.Hints; import org.opengis.coverage.Coverage; import org.opengis.referencing.crs.CoordinateReferenceSystem; diff --git a/repast.simphony.gis/src/repast/simphony/space/gis/RepastCoverageFactory.java b/repast.simphony.gis/src/repast/simphony/space/gis/RepastCoverageFactory.java index ff95a42ab..ddbc156bc 100644 --- a/repast.simphony.gis/src/repast/simphony/space/gis/RepastCoverageFactory.java +++ b/repast.simphony.gis/src/repast/simphony/space/gis/RepastCoverageFactory.java @@ -10,7 +10,7 @@ import java.io.FileNotFoundException; import java.io.IOException; -import javax.measure.unit.Unit; +import javax.measure.Unit; import javax.media.jai.RasterFactory; import org.geotools.coverage.Category; @@ -22,9 +22,9 @@ import org.geotools.coverage.grid.io.GridCoverage2DReader; import org.geotools.coverage.grid.io.GridFormatFinder; import org.geotools.coverage.grid.io.UnknownFormat; -import org.geotools.factory.Hints; import org.geotools.geometry.jts.ReferencedEnvelope; import org.geotools.util.NumberRange; +import org.geotools.util.factory.Hints; import simphony.util.messages.MessageCenter; diff --git a/repast.simphony.gis/src/repast/simphony/space/gis/ShapefileFeatureAgentFactory.java b/repast.simphony.gis/src/repast/simphony/space/gis/ShapefileFeatureAgentFactory.java index 60eecca95..7b91ee95b 100644 --- a/repast.simphony.gis/src/repast/simphony/space/gis/ShapefileFeatureAgentFactory.java +++ b/repast.simphony.gis/src/repast/simphony/space/gis/ShapefileFeatureAgentFactory.java @@ -5,14 +5,13 @@ import org.geotools.feature.SchemaException; import org.geotools.referencing.crs.DefaultGeographicCRS; +import org.locationtech.jts.geom.Geometry; +import org.locationtech.jts.geom.Point; import org.opengis.feature.simple.SimpleFeatureType; import org.opengis.referencing.crs.CoordinateReferenceSystem; import simphony.util.messages.MessageCenter; -import com.vividsolutions.jts.geom.Geometry; -import com.vividsolutions.jts.geom.Point; - /** * Factory class for creating feature agents that * are appropriate for writing to shapfiles. Such features diff --git a/repast.simphony.gis/src/repast/simphony/space/gis/ShapefileLoader.java b/repast.simphony.gis/src/repast/simphony/space/gis/ShapefileLoader.java index b00bc28af..72d525e36 100644 --- a/repast.simphony.gis/src/repast/simphony/space/gis/ShapefileLoader.java +++ b/repast.simphony.gis/src/repast/simphony/space/gis/ShapefileLoader.java @@ -20,6 +20,7 @@ import org.geotools.geometry.jts.JTS; import org.geotools.referencing.CRS; import org.geotools.referencing.ReferencingFactoryFinder; +import org.locationtech.jts.geom.Geometry; import org.opengis.feature.simple.SimpleFeature; import org.opengis.feature.simple.SimpleFeatureType; import org.opengis.feature.type.AttributeType; @@ -32,8 +33,6 @@ import repast.simphony.context.Context; import simphony.util.messages.MessageCenter; -import com.vividsolutions.jts.geom.Geometry; - /** * Creates and sets agents properties from a features in shapefile. * diff --git a/repast.simphony.gis/src/repast/simphony/space/gis/UTMFinder.java b/repast.simphony.gis/src/repast/simphony/space/gis/UTMFinder.java index 39bc22eb2..03dd18dfd 100644 --- a/repast.simphony.gis/src/repast/simphony/space/gis/UTMFinder.java +++ b/repast.simphony.gis/src/repast/simphony/space/gis/UTMFinder.java @@ -9,6 +9,7 @@ import org.geotools.referencing.cs.DefaultCartesianCS; import org.geotools.referencing.operation.DefaultCoordinateOperationFactory; import org.geotools.referencing.operation.projection.TransverseMercator; +import org.locationtech.jts.geom.Geometry; import org.opengis.parameter.ParameterValueGroup; import org.opengis.referencing.FactoryException; import org.opengis.referencing.NoSuchIdentifierException; @@ -19,15 +20,12 @@ import org.opengis.referencing.cs.CartesianCS; import org.opengis.referencing.operation.Conversion; import org.opengis.referencing.operation.CoordinateOperation; -import org.opengis.referencing.operation.CoordinateOperationFactory; import org.opengis.referencing.operation.MathTransformFactory; import org.opengis.referencing.operation.OperationMethod; import org.opengis.referencing.operation.TransformException; import simphony.util.messages.MessageCenter; -import com.vividsolutions.jts.geom.Geometry; - /** * Finds the UTM CRS appropriate to a specified lon, lat location. * diff --git a/repast.simphony.gis/test/repast/simphony/gis/io/LoaderTest.java b/repast.simphony.gis/test/repast/simphony/gis/io/LoaderTest.java index f1363a944..5facd3716 100644 --- a/repast.simphony.gis/test/repast/simphony/gis/io/LoaderTest.java +++ b/repast.simphony.gis/test/repast/simphony/gis/io/LoaderTest.java @@ -25,7 +25,7 @@ import repast.simphony.space.gis.GeographyParameters; import repast.simphony.space.gis.ShapefileLoader; -import com.vividsolutions.jts.geom.Geometry; +import org.locationtech.jts.geom.Geometry; /** * Shapefile loader tests diff --git a/repast.simphony.gis/test/repast/simphony/gis/io/WriterTest.java b/repast.simphony.gis/test/repast/simphony/gis/io/WriterTest.java index 1fa4a8a2c..888c7e046 100644 --- a/repast.simphony.gis/test/repast/simphony/gis/io/WriterTest.java +++ b/repast.simphony.gis/test/repast/simphony/gis/io/WriterTest.java @@ -8,14 +8,16 @@ import java.util.HashSet; import java.util.Set; -import javax.measure.unit.SI; +import javax.measure.Quantity; import org.geotools.data.shapefile.ShapefileDataStore; import org.geotools.data.simple.SimpleFeatureCollection; import org.geotools.data.simple.SimpleFeatureIterator; -import org.jscience.physics.amount.Amount; import org.junit.Before; import org.junit.Test; +import org.locationtech.jts.geom.Coordinate; +import org.locationtech.jts.geom.GeometryFactory; +import org.locationtech.jts.geom.Point; import org.opengis.feature.simple.SimpleFeature; import repast.simphony.context.DefaultContext; @@ -23,10 +25,8 @@ import repast.simphony.space.gis.Geography; import repast.simphony.space.gis.GeographyParameters; import repast.simphony.space.gis.ShapefileWriter; - -import com.vividsolutions.jts.geom.Coordinate; -import com.vividsolutions.jts.geom.GeometryFactory; -import com.vividsolutions.jts.geom.Point; +import tech.units.indriya.quantity.Quantities; +import tech.units.indriya.unit.Units; /** * Tests of shapefile writing. @@ -43,17 +43,17 @@ static class GisAgent { private String strVal = "hello"; private int intVal = 3; - private Amount amount = Amount.valueOf(10, SI.METER); + private Quantity quantity = Quantities.getQuantity(10, Units.METRE); public GisAgent() { } - public Amount getAmount() { - return amount; + public Quantity getAmount() { + return quantity; } - public void setAmount(Amount amount) { - this.amount = amount; + public void setAmount(Quantity quantity) { + this.quantity = quantity; } public double getWealth() { diff --git a/repast.simphony.gis/test/repast/simphony/gis/xml/GeographyToXmlTests.java b/repast.simphony.gis/test/repast/simphony/gis/xml/GeographyToXmlTests.java index c0ea4d329..a6bd6c53c 100644 --- a/repast.simphony.gis/test/repast/simphony/gis/xml/GeographyToXmlTests.java +++ b/repast.simphony.gis/test/repast/simphony/gis/xml/GeographyToXmlTests.java @@ -17,9 +17,9 @@ import repast.simphony.xml.TestAgent; import repast.simphony.xml.XMLSerializer; -import com.vividsolutions.jts.geom.Coordinate; -import com.vividsolutions.jts.geom.Geometry; -import com.vividsolutions.jts.geom.GeometryFactory; +import org.locationtech.jts.geom.Coordinate; +import org.locationtech.jts.geom.Geometry; +import org.locationtech.jts.geom.GeometryFactory; /** diff --git a/repast.simphony.gis/test/repast/simphony/space/gis/GeographyTest.java b/repast.simphony.gis/test/repast/simphony/space/gis/GeographyTest.java index 8571a3b0c..6835f37b5 100644 --- a/repast.simphony.gis/test/repast/simphony/space/gis/GeographyTest.java +++ b/repast.simphony.gis/test/repast/simphony/space/gis/GeographyTest.java @@ -1,9 +1,9 @@ package repast.simphony.space.gis; -import com.vividsolutions.jts.geom.Coordinate; -import com.vividsolutions.jts.geom.Envelope; -import com.vividsolutions.jts.geom.Geometry; -import com.vividsolutions.jts.geom.GeometryFactory; +import org.locationtech.jts.geom.Coordinate; +import org.locationtech.jts.geom.Envelope; +import org.locationtech.jts.geom.Geometry; +import org.locationtech.jts.geom.GeometryFactory; import junit.framework.TestCase; diff --git a/repast.simphony.gis/test/repast/simphony/space/gis/valuelayer/GridCoverageTests.java b/repast.simphony.gis/test/repast/simphony/space/gis/valuelayer/GridCoverageTests.java index a845dbafa..6a65abd29 100644 --- a/repast.simphony.gis/test/repast/simphony/space/gis/valuelayer/GridCoverageTests.java +++ b/repast.simphony.gis/test/repast/simphony/space/gis/valuelayer/GridCoverageTests.java @@ -14,8 +14,7 @@ import java.util.Locale; import javax.imageio.ImageIO; -import javax.measure.unit.SI; -import javax.measure.unit.Unit; +import javax.measure.Unit; import javax.media.jai.PlanarImage; import javax.media.jai.RasterFactory; import javax.media.jai.iterator.WritableRandomIter; @@ -35,15 +34,15 @@ import org.geotools.referencing.CRS; import org.geotools.referencing.crs.DefaultGeographicCRS; import org.geotools.util.NumberRange; +import org.locationtech.jts.geom.Coordinate; import org.opengis.geometry.Envelope; import org.opengis.referencing.FactoryException; import org.opengis.referencing.crs.CoordinateReferenceSystem; import org.opengis.referencing.operation.TransformException; -import com.vividsolutions.jts.geom.Coordinate; - import it.geosolutions.jaiext.iterators.RandomIterFactory; import junit.framework.TestCase; +import tech.units.indriya.unit.Units; /** * Test GeoTools GridCoverage factory methods. These tests serve several purpose: @@ -247,7 +246,7 @@ public void testCreateIndexedCoverage(){ // Single band GridSampleDimension[] bands = new GridSampleDimension[] { - new GridSampleDimension("Temperature", categories, SI.CELSIUS) + new GridSampleDimension("Temperature", categories, Units.CELSIUS) }; // Need to create the colormodel first, since it is used to create a compatible @@ -426,7 +425,7 @@ else if (clazz == Double.class) { // Single band GridSampleDimension[] bands = new GridSampleDimension[] { - new GridSampleDimension("Temperature", categories, SI.CELSIUS) + new GridSampleDimension("Temperature", categories, Units.CELSIUS) }; WritableRaster raster = RasterFactory.createBandedRaster(dataType, width, height, 1, null); diff --git a/repast.simphony.gis/test/repast/simphony/space/gis/valuelayer/RepastCoverageFactoryTests.java b/repast.simphony.gis/test/repast/simphony/space/gis/valuelayer/RepastCoverageFactoryTests.java index 4f014a142..c07850ef4 100644 --- a/repast.simphony.gis/test/repast/simphony/space/gis/valuelayer/RepastCoverageFactoryTests.java +++ b/repast.simphony.gis/test/repast/simphony/space/gis/valuelayer/RepastCoverageFactoryTests.java @@ -10,16 +10,15 @@ import org.geotools.coverage.grid.GridCoverage2D; import org.geotools.coverage.grid.GridCoverageFactory; -import org.geotools.factory.Hints; import org.geotools.gce.geotiff.GeoTiffWriter; import org.geotools.geometry.jts.ReferencedEnvelope; import org.geotools.referencing.CRS; import org.geotools.referencing.crs.DefaultGeographicCRS; +import org.geotools.util.factory.Hints; +import org.locationtech.jts.geom.Coordinate; import org.opengis.referencing.FactoryException; import org.opengis.referencing.crs.CoordinateReferenceSystem; -import com.vividsolutions.jts.geom.Coordinate; - import junit.framework.TestCase; import repast.simphony.space.gis.RasterLayer; import repast.simphony.space.gis.RepastCoverageFactory; diff --git a/repast.simphony.groovy/.classpath b/repast.simphony.groovy/.classpath index 9a9a89263..51ce2f3a3 100644 --- a/repast.simphony.groovy/.classpath +++ b/repast.simphony.groovy/.classpath @@ -1,8 +1,8 @@ - - - + + + diff --git a/repast.simphony.groovy/META-INF/MANIFEST.MF b/repast.simphony.groovy/META-INF/MANIFEST.MF index 0be4e486a..f51125a1c 100644 --- a/repast.simphony.groovy/META-INF/MANIFEST.MF +++ b/repast.simphony.groovy/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Repast groovy Bundle-SymbolicName: repast.simphony.groovy -Bundle-Version: 2.9.1 +Bundle-Version: 2.10.0 Export-Package: groovy.inspect.swingui, groovy.model, groovy.swing, @@ -26,11 +26,10 @@ Export-Package: groovy.inspect.swingui, org.apache.groovy.xml.tools, org.codehaus.groovy.binding, org.codehaus.groovy.runtime, - org.codehaus.groovy.tools.xml, - repast.simphony.groovy.math + org.codehaus.groovy.tools.xml Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Bundle-Vendor: Argonne National Laboratory Require-Bundle: org.codehaus.groovy;bundle-version="3.0.8" -Bundle-ClassPath: lib/groovy-swing-3.0.8.jar, - lib/groovy-templates-3.0.8.jar, - lib/groovy-xml-3.0.8.jar +Bundle-ClassPath: lib/groovy-swing-3.0.11.jar, + lib/groovy-templates-3.0.11.jar, + lib/groovy-xml-3.0.11.jar diff --git a/repast.simphony.groovy/build.properties b/repast.simphony.groovy/build.properties index 9b6fe57aa..1a6ff4e44 100644 --- a/repast.simphony.groovy/build.properties +++ b/repast.simphony.groovy/build.properties @@ -4,9 +4,9 @@ bin.includes = plugin_jpf.xml,\ bin/,\ licenses/,\ META-INF/,\ - lib/groovy-swing-3.0.8.jar,\ - lib/groovy-templates-3.0.8.jar,\ - lib/groovy-xml-3.0.8.jar + lib/groovy-swing-3.0.11.jar,\ + lib/groovy-templates-3.0.11.jar,\ + lib/groovy-xml-3.0.11.jar projects.dir = ${basedir}/.. wkspace.dir = ${projects.dir}/.. common.dir = ${wkspace.dir}/common diff --git a/repast.simphony.groovy/lib/groovy-swing-3.0.8.jar b/repast.simphony.groovy/lib/groovy-swing-3.0.11.jar similarity index 73% rename from repast.simphony.groovy/lib/groovy-swing-3.0.8.jar rename to repast.simphony.groovy/lib/groovy-swing-3.0.11.jar index 1d73a2c86..a951e1f6e 100644 Binary files a/repast.simphony.groovy/lib/groovy-swing-3.0.8.jar and b/repast.simphony.groovy/lib/groovy-swing-3.0.11.jar differ diff --git a/repast.simphony.groovy/lib/groovy-templates-3.0.8.jar b/repast.simphony.groovy/lib/groovy-templates-3.0.11.jar similarity index 54% rename from repast.simphony.groovy/lib/groovy-templates-3.0.8.jar rename to repast.simphony.groovy/lib/groovy-templates-3.0.11.jar index c69747674..09996af07 100644 Binary files a/repast.simphony.groovy/lib/groovy-templates-3.0.8.jar and b/repast.simphony.groovy/lib/groovy-templates-3.0.11.jar differ diff --git a/repast.simphony.groovy/lib/groovy-xml-3.0.8.jar b/repast.simphony.groovy/lib/groovy-xml-3.0.11.jar similarity index 78% rename from repast.simphony.groovy/lib/groovy-xml-3.0.8.jar rename to repast.simphony.groovy/lib/groovy-xml-3.0.11.jar index c071fc148..77cdb16a8 100644 Binary files a/repast.simphony.groovy/lib/groovy-xml-3.0.8.jar and b/repast.simphony.groovy/lib/groovy-xml-3.0.11.jar differ diff --git a/repast.simphony.groovy/plugin_jpf.xml b/repast.simphony.groovy/plugin_jpf.xml index 1e69ff00d..43cbc2549 100644 --- a/repast.simphony.groovy/plugin_jpf.xml +++ b/repast.simphony.groovy/plugin_jpf.xml @@ -3,7 +3,7 @@ - + @@ -11,12 +11,10 @@ - - - - - - + + + + diff --git a/repast.simphony.groovy/src/repast/simphony/groovy/math/CalculusCategory.groovy b/repast.simphony.groovy/src/repast/simphony/groovy/math/CalculusCategory.groovy deleted file mode 100644 index d9fa60ace..000000000 --- a/repast.simphony.groovy/src/repast/simphony/groovy/math/CalculusCategory.groovy +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Author: Michael J. North - */ - -package repast.simphony.groovy.math - -import java.util.* -import javax.measure.unit.* -import org.jscience.physics.amount.* -import org.jscience.mathematics.number.* -import org.jscience.mathematics.vector.* - -class CalculusCategory { - - static Amount derivative(Closure owningClosure, Closure targetFunction, Amount point) { - return CalculusOperations.derivative(targetFunction, point) - } - - static Amount derivative(Closure owningClosure, Closure targetFunction, Amount point, Amount secantLength) { - return CalculusOperations.derivative(targetFunction, point, secantLength) - } - - static Amount derivative(Closure owningClosure, Closure targetFunction, Amount point, Amount secantLength, Amount tolerance) { - return CalculusOperations.derivative(targetFunction, point, secantLength, tolerance) - } - - static Amount derivative(Closure owningClosure, Closure targetFunction, Amount point, Amount secantLength, Amount tolerance, Amount iterations) { - return CalculusOperations.derivative(targetFunction, point, secantLength, tolerance, iterations) - } - - static Amount integral(Closure owningClosure, Closure integrand, Amount lowerBound, Amount upperBound) { - return CalculusOperations.integral(integrand, lowerBound, upperBound) - } - - static Amount integral(Closure owningClosure, Closure integrand, Amount lowerBound, Amount upperBound, int type) { - return CalculusOperations.integral(integrand, lowerBound, upperBound, type) - } - - static Amount integral(Closure owningClosure, Closure integrand, Amount lowerBound, Amount upperBound, int type, Amount stepSize) { - return CalculusOperations.integral(integrand, lowerBound, upperBound, type, stepSize) - } - - static Amount integral(Closure owningClosure, Closure integrand, Amount lowerBound, Amount upperBound, int type, Amount stepSize, Amount tolerance, Amount iterations) { - return CalculusOperations.integral(integrand, lowerBound, upperBound, type, stepSize, tolerance, iterations) - } - -} \ No newline at end of file diff --git a/repast.simphony.groovy/src/repast/simphony/groovy/math/CalculusOperations.groovy b/repast.simphony.groovy/src/repast/simphony/groovy/math/CalculusOperations.groovy deleted file mode 100644 index 0a38f495f..000000000 --- a/repast.simphony.groovy/src/repast/simphony/groovy/math/CalculusOperations.groovy +++ /dev/null @@ -1,250 +0,0 @@ -/* - * Author: Michael J. North - */ - -package repast.simphony.groovy.math - -import org.jscience.physics.amount.Amount; -import javax.measure.unit.Unit - - -class CalculusOperations { - - public static defaultSecantLengthOrStepSize = 0.001 - public static defaultTolerance = 0.0000000001 - public static defaultIterations = 3.0 - - public static final int EULER = 0 - public static final int EULER_ADAPTIVE = 1 - public static final int RK4 = 2 - public static final int RK4_ADAPTIVE = 3 - public static final int DEFAULT_TYPE = EULER - - public static Amount derivative(Closure targetFunction, Amount point) { - - Amount secantLength = Amount.valueOf(CalculusOperations.defaultSecantLengthOrStepSize, point.getUnit()) - Amount tolerance = Amount.valueOf(CalculusOperations.defaultTolerance, point.getUnit()) - Amount iterations = Amount.valueOf(CalculusOperations.defaultIterations, point.getUnit()) - return CalculusOperations.derivative(targetFunction, point, secantLength, tolerance, iterations) - - } - - public static Amount derivative(Closure targetFunction, Amount point, Amount secantLength) { - - Amount results - - use (MathOperations.mathCategories()) { - - boolean debug = false; - - if (debug) println("10:") - Amount deltaX = secantLength / 2.0 - if (debug) println("20:") - if (secantLength.getEstimatedValue() == 0.0) { - if (debug) println("30:") - results = (Double.POSITIVE_INFINITY * targetFunction(point)) - } else { - if (debug) println("40:") - if (debug) println(" " + point) - if (debug) println(" " + deltaX) - if (debug) println(" " + secantLength) - if (debug) println(" " + (point + deltaX)) - if (debug) println(" " + (point - deltaX)) - if (debug) println(" " + targetFunction(point + deltaX)) - if (debug) println(" " + targetFunction(point - deltaX)) - if (debug) println(" " + (targetFunction(point + deltaX) - targetFunction(point - deltaX))) - results = ((targetFunction(point + deltaX) - targetFunction(point - deltaX)) / secantLength) - if (debug) println(" " + results) - } - - if (debug) println("50:") - if (debug) println(" " + results) - - } - - return results - - } - - public static Amount derivative(Closure targetFunction, Amount point, Amount secantLength, Amount tolerance) { - - Amount iterations = Amount.valueOf(CalculusOperations.defaultIterations, point.getUnit()) - return CalculusOperations.derivative(targetFunction, point, secantLength, tolerance, iterations) - - } - - public static Amount derivative(Closure targetFunction, Amount point, Amount secantLength, Amount tolerance, Amount iterations) { - - Amount result1 - Amount result2 - - use (MathOperations.mathCategories()) { - - int counter = 0 - result1 = CalculusOperations.derivative(targetFunction, point, secantLength) - secantLength = secantLength / 2 - result2 = CalculusOperations.derivative(targetFunction, point, secantLength) - while ((counter < iterations.getEstimatedValue()) && - ((((result1 - result2).getEstimatedValue()).abs()) <= tolerance.getEstimatedValue())) { - result1 = result2 - secantLength = secantLength / 2 - result2 = CalculusOperations.derivative(targetFunction, point, secantLength) - } - - } - - return result2 - - } - - protected static Amount integralCalculateEuler(Closure integrand, Amount lowerBound, Amount upperBound, Amount stepSize) { - - Amount result - - use (MathOperations.mathCategories()) { - - boolean debug = false; - Amount bound = lowerBound - //print("unit: " + stepSize.getUnit()) - //print("fake result: " + integrand(2.0.pure) * stepSize) - double halfPicket = stepSize.doubleValue(stepSize.getUnit()) / 2 - //int count = 0 - while (bound.getEstimatedValue() + halfPicket < upperBound.getEstimatedValue()) { - //println("int bound : " + integrand(bound)) - //println("step: " + stepSize) - if (result == null) result = integrand(bound) * stepSize - else result = result + integrand(bound) * stepSize - bound = bound + stepSize - //print ("bound: " + bound) - //print ("upper bound: " + upperBound) - //count++ - } - - //print(count) - - } - - return result - } - - protected static Amount integralCalculateRK4(Closure integrand, Amount lowerBound, Amount upperBound, Amount stepSize) { - - Amount result = Amount.valueOf(0.0, lowerBound.getUnit()) - - use (MathOperations.mathCategories()) { - - boolean useFeedback = false - if (integrand.parameterTypes.length >= 2) { - useFeedback = true - } - Amount bound = lowerBound - while (bound < upperBound) { - - // k1 = integrand (evaluated using stepsize' and result') - // stepsize' = stepsize - // result' = result - Amount k1; - if (useFeedback) k1 = integrand(bound + stepSize, result) - else k1 = integrand(bound + stepSize) - - // k2 = integrand (evaluated using stepsize' and result') - // stepsize' = stepsize * 1/2 - // result' = result + 1/2 dt * k1 - Amount k2; - if (useFeedback) k2 = integrand(integrand(bound + 0.5 * stepSize), result + 0.5 * stepSize + k1) - else k2 = integrand(integrand(bound + 0.5 * stepSize)) - - // k3 = integrand (evaluated using stepsize' and result') - // stepsize' = stepsize * 1/2 - // result' = result + 1/2 dt * k2 - Amount k3; - if (useFeedback) k3 = integrand(integrand(bound + 0.5 * stepSize), result + 0.5 * stepSize + k2) - else k3 = integrand(integrand(bound + 0.5 * stepSize)) - - // k4 = integrand (evaluated using stepsize' and result') - // stepsize' = stepsize - // result' = result + stepsize * k3 - Amount k4; - if (useFeedback) k4 = integrand(bound + stepSize, result + stepSize + k3) - else k4 = integrand(bound + stepSize) - - result = (result + - stepSize * 1.0/6.0 * k1 + - stepSize * 1.0/3.0 * k2 + - stepSize * 1.0/3.0 * k3 + - stepSize * 1.0/6.0 * k4) - - bound = bound + stepSize - - } - - } - - return result - - } - - public static Amount integral(Closure integrand, Amount lowerBound, Amount upperBound) { - - return CalculusOperations.integral(integrand, lowerBound, upperBound, CalculusOperations.DEFAULT_TYPE) - - } - - public static Amount integral(Closure integrand, Amount lowerBound, Amount upperBound, int type) { - Amount stepSize = Amount.valueOf(CalculusOperations.defaultSecantLengthOrStepSize, lowerBound.getUnit()) - Amount tolerance = Amount.valueOf(CalculusOperations.defaultTolerance, lowerBound.getUnit()) - Amount iterations = Amount.valueOf(CalculusOperations.defaultIterations, lowerBound.getUnit()) - return CalculusOperations.integral(integrand, lowerBound, upperBound, type, stepSize, tolerance, iterations) - - } - - public static Amount integral(Closure integrand, Amount lowerBound, Amount upperBound, int type, Amount stepSize) { - Amount tolerance = Amount.valueOf(CalculusOperations.defaultTolerance, lowerBound.getUnit()) - Amount iterations = Amount.valueOf(CalculusOperations.defaultIterations, lowerBound.getUnit()) - return CalculusOperations.integral(integrand, lowerBound, upperBound, type, stepSize, tolerance, iterations) - } - - protected static Amount integralCalculate(Closure integrand, Amount lowerBound, Amount upperBound, int type, Amount stepSize) { - - if (type == CalculusOperations.EULER) { - return CalculusOperations.integralCalculateEuler(integrand, lowerBound, upperBound, stepSize) - } else if (type == CalculusOperations.EULER_ADAPTIVE) { - return CalculusOperations.integralCalculateEuler(integrand, lowerBound, upperBound, stepSize) - } else if (type == CalculusOperations.RK4) { - return CalculusOperations.integralCalculateRK4(integrand, lowerBound, upperBound, stepSize) - } else if (type == CalculusOperations.RK4_ADAPTIVE) { - return CalculusOperations.integralCalculateRK4(integrand, lowerBound, upperBound, stepSize) - } - - } - - public static Amount integral(Closure integrand, Amount lowerBound, Amount upperBound, int type, Amount stepSize, Amount tolerance, Amount iterations) { - if ((type == CalculusOperations.EULER) || (type == CalculusOperations.RK4)) { - - return CalculusOperations.integralCalculate(integrand, lowerBound, upperBound, type, stepSize) - - } else if ((type == CalculusOperations.EULER_ADAPTIVE) || (type == CalculusOperations.RK4_ADAPTIVE)) { - Amount result1 - Amount result2 - double iters = iterations.doubleValue(iterations.getUnit()) - use (MathOperations.mathCategories()) { - int counter = 0 - Amount currentStepSize = Amount.valueOf(CalculusOperations.defaultSecantLengthOrStepSize, lowerBound.getUnit()) - result1 = CalculusOperations.integralCalculate(integrand, lowerBound, upperBound, type, currentStepSize) - currentStepSize = currentStepSize / 2.0 - result2 = CalculusOperations.integralCalculate(integrand, lowerBound, upperBound, type, currentStepSize) - while (counter < iters && (((result1 - result2).getEstimatedValue()).abs()) <= tolerance.getEstimatedValue()) { - result1 = result2 - result2 = CalculusOperations.integralCalculate(integrand, lowerBound, upperBound, type, currentStepSize) - currentStepSize = currentStepSize / 2.0 - counter++ - } - - } - return result2 - - } - - } - -} \ No newline at end of file diff --git a/repast.simphony.groovy/src/repast/simphony/groovy/math/MathOperations.groovy b/repast.simphony.groovy/src/repast/simphony/groovy/math/MathOperations.groovy deleted file mode 100644 index 834acf30d..000000000 --- a/repast.simphony.groovy/src/repast/simphony/groovy/math/MathOperations.groovy +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Author: Michael J. North - */ - -package repast.simphony.groovy.math - - -public class MathOperations { - - public static def mathCategories() { - def x = EmptyCategory - try { - def y = 1.0.kilograms - } catch (Exception e) { - x = [UnitsCategory, MatrixCategory, CalculusCategory] - } - return x - } - -} - -class EmptyCategory { - -} diff --git a/repast.simphony.groovy/src/repast/simphony/groovy/math/MatrixCategory.groovy b/repast.simphony.groovy/src/repast/simphony/groovy/math/MatrixCategory.groovy deleted file mode 100644 index a25a5f5e9..000000000 --- a/repast.simphony.groovy/src/repast/simphony/groovy/math/MatrixCategory.groovy +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Author: Michael J. North - */ - -package repast.simphony.groovy.math - -import java.util.* -import javax.measure.unit.* -import org.jscience.physics.amount.* -import org.jscience.mathematics.number.* -import org.jscience.mathematics.vector.* - -// Amount: http://jscience.org/api/org/jscience/physics/amount/Amount.html -// -// SI units: http://jscience.org/api/javax/measure/unit/SI.html -// NonSI Units: http://jscience.org/api/javax/measure/unit/NonSI.html - -class MatrixCategory { - - static DenseMatrix getDenseMatrix(ArrayList sourceArrayList) { - return MatrixOperations.createDenseMatrix(sourceArrayList); - } - - static DenseMatrix getMatrix(ArrayList sourceArrayList) { - return MatrixOperations.createDenseMatrix(sourceArrayList); - } - - static SparseMatrix sparseMatrix(ArrayList sourceArrayList, Amount zero) { - return MatrixOperations.createSparseMatrix(sourceArrayList, zero); - } - - static Matrix plus(Matrix m1, Matrix m2) { - return MatrixOperations.addition(m1, m2); - } - - static Matrix minus(Matrix m1, Matrix m2) { - return MatrixOperations.subtraction(m1, m2); - } - - static Matrix multiply(Matrix m1, Matrix m2) { - return MatrixOperations.multiplication(m1, m2); - } - - static Matrix multiply(Matrix m1, Amount amount) { - return MatrixOperations.multiplication(m1, amount); - } - - static Matrix multiply(Amount amount, Matrix m1) { - return MatrixOperations.multiplication(m1, amount); - } - - static Matrix multiply(Matrix m1, java.lang.Number number) { - return MatrixOperations.multiplication(m1, number); - } - - static Matrix multiply(java.lang.Number number, Matrix m1) { - return MatrixOperations.multiplication(m1, number); - } - - static Matrix power(Matrix m1, int number) { - return MatrixOperations.exponentiation(m1, number); - } - -} \ No newline at end of file diff --git a/repast.simphony.groovy/src/repast/simphony/groovy/math/MatrixOperations.java b/repast.simphony.groovy/src/repast/simphony/groovy/math/MatrixOperations.java deleted file mode 100644 index ceab20350..000000000 --- a/repast.simphony.groovy/src/repast/simphony/groovy/math/MatrixOperations.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Author: Michael J. North - */ - -package repast.simphony.groovy.math; - -import java.util.ArrayList; - -import org.jscience.mathematics.vector.DenseMatrix; -import org.jscience.mathematics.vector.Matrix; -import org.jscience.mathematics.vector.SparseMatrix; -import org.jscience.physics.amount.Amount; - -public class MatrixOperations { - - public static DenseMatrix createDenseMatrix(ArrayList sourceArrayList) { - - ArrayList row; - Amount element; - Amount[][] sourceArray = new Amount[sourceArrayList.size()][((ArrayList) sourceArrayList.get(0)).size()]; - for (int rowIndex = 0; rowIndex < sourceArrayList.size(); rowIndex++) { - row = (ArrayList) sourceArrayList.get(rowIndex); - for (int columnIndex = 0; columnIndex < row.size(); columnIndex++) { - element = (Amount) row.get(columnIndex); - sourceArray[rowIndex][columnIndex] = element; - } - - } - return DenseMatrix.valueOf(sourceArray); - - } - - public static DenseMatrix createDenseMatrix(Amount[][] sourceArray) { - return DenseMatrix.valueOf(sourceArray); - - } - - public static SparseMatrix createSparseMatrix(ArrayList sourceArrayList, Amount zero) { - return SparseMatrix.valueOf(MatrixOperations.createDenseMatrix(sourceArrayList), zero); - } - - public static SparseMatrix createSparseMatrix(Amount[][] sourceArray, Amount zero) { - return SparseMatrix.valueOf(MatrixOperations.createDenseMatrix(sourceArray), zero); - } - - public static Matrix addition(Matrix m1, Matrix m2) { - return m1.plus(m2); - } - - public static Matrix subtraction(Matrix m1, Matrix m2) { - return m1.minus(m2); - } - - public static Matrix multiplication(Matrix m1, Matrix m2) { - return m1.times(m2); - } - - public static Matrix multiplication(Matrix m1, Amount amount) { - return m1.times(amount); - } - - public static Matrix division(Matrix m1, Amount amount) { - return m1.times(amount.inverse()); - } - - public static Matrix multiplication(Amount amount, Matrix m1) { - return m1.times(amount); - } - - public static Matrix multiplication(Matrix m1, Number number) { - return m1.times(Amount.valueOf(number.doubleValue(), Amount.ZERO.getUnit())); - } - - public static Matrix division(Matrix m1, Number number) { - return m1.times(Amount.valueOf(number.doubleValue(), Amount.ZERO.getUnit()).inverse()); - } - - public static Matrix multiplication(Number number, Matrix m1) { - return m1.times(Amount.valueOf(number.doubleValue(), Amount.ZERO.getUnit())); - } - - public static Matrix exponentiation(Matrix m1, int exponent) { - return m1.pow(exponent); - } - -} diff --git a/repast.simphony.groovy/src/repast/simphony/groovy/math/RepastMathEMC.groovy b/repast.simphony.groovy/src/repast/simphony/groovy/math/RepastMathEMC.groovy deleted file mode 100644 index 0da651227..000000000 --- a/repast.simphony.groovy/src/repast/simphony/groovy/math/RepastMathEMC.groovy +++ /dev/null @@ -1,2139 +0,0 @@ -package repast.simphony.groovy.math - -import javax.measure.unit.* -import org.jscience.physics.amount.* -import org.jscience.mathematics.number.* -import org.jscience.mathematics.vector.* - -class RepastMathEMC { - - private static boolean unitsInitialized = false - private static boolean matrixInitialized = false - private static boolean calculusInitialized = false - - public static boolean isUnitsInitialized(){ - return unitsInitialized - } - - public static boolean isMatrixInitialized(){ - return matrixInitialized - } - - public static boolean isCalculusInitialized(){ - return calculusInitialized - } - - public static boolean isAllInitialized(){ - return (isUnitsInitialized() && isMatrixInitialized() && isCalculusInitialized()) - } - - public static void initAll(){ - initUnits() - initMatrix() - initCalculus() - } - /** - * These static methods are called if the user wants to have the Units, Matrix, and Calculus - * DSL capabilities, respectively. - * e.g. def x = 2.3.meters + 1.5.kilometers - */ - public static void initUnits(){ - - /** - * Units operations - */ - if (!isUnitsInitialized()){ - - // Define the pure number creator. - java.math.BigDecimal.metaClass.getPure = { -> - Amount x = Amount.valueOf(delegate, Unit.ONE) - return x - } - - // Define the pure number creator. - java.math.BigDecimal.metaClass.getPureNumber = { -> - Amount x = Amount.valueOf(delegate, Unit.ONE) - return x - } - - // Define the deci converter. - Amount.metaClass.getDeci = { -> - Amount a = delegate.to(SI.DECI(delegate.getUnit())) - a.times(Amount.valueOf(10 ** -1, Unit.ONE)) - return a - } - - // Define the deka converter. - Amount.metaClass.getDeka = { -> - Amount a = delegate.to(SI.DEKA(delegate.getUnit())) - a.times(Amount.valueOf(10 ** 1, Unit.ONE)) - return a - } - - // Define the centi converter. - Amount.metaClass.getCenti = { -> - Amount a = delegate.to(SI.CENTI(delegate.getUnit())) - a.times(Amount.valueOf(10 ** -2, Unit.ONE)) - return a - } - - // Define the hecto converter. - Amount.metaClass.getHecto = { -> - Amount a = delegate.to(SI.HECTO(delegate.getUnit())) - a.times(Amount.valueOf(10 ** 2, Unit.ONE)) - return a - } - - // Define the milli converter. - Amount.metaClass.getMilli = { -> - Amount a = delegate.to(SI.MILLI(delegate.getUnit())) - a.times(Amount.valueOf(10 ** -3, Unit.ONE)) - return a - } - - // Define the kilo converter. - Amount.metaClass.getKilo = { -> - Amount a = delegate.to(SI.KILO(delegate.getUnit())) - a.times(Amount.valueOf(10 ** 3, Unit.ONE)) - return a - } - - // Define the micro converter. - Amount.metaClass.getMicro = { -> - Amount a = delegate.to(SI.MICRO(delegate.getUnit())) - a.times(Amount.valueOf(10 ** -6, Unit.ONE)) - return a - } - - // Define the mega converter. - Amount.metaClass.getMega = { -> - Amount a = delegate.to(SI.MEGA(delegate.getUnit())) - a.times(Amount.valueOf(10 ** 6, Unit.ONE)) - return a - } - - // Define the nano converter. - Amount.metaClass.getNano = { -> - Amount a = delegate.to(SI.NANO(delegate.getUnit())) - a.times(Amount.valueOf(10 ** -9, Unit.ONE)) - return a - } - - // Define the giga converter. - Amount.metaClass.getGiga = { -> - Amount a = delegate.to(SI.GIGA(delegate.getUnit())) - a.times(Amount.valueOf(10 ** 9, Unit.ONE)) - return a - } - - // Define the pico converter. - Amount.metaClass.getPico = { -> - Amount a = delegate.to(SI.PICO(delegate.getUnit())) - a.times(Amount.valueOf(10 ** -12, Unit.ONE)) - return a - } - - // Define the tera converter. - Amount.metaClass.getTera = { -> - Amount a = delegate.to(SI.TERA(delegate.getUnit())) - a.times(Amount.valueOf(10 ** 12, Unit.ONE)) - return a - } - - // Define the femto converter. - Amount.metaClass.getFemto = { -> - Amount a = delegate.to(SI.FEMTO(delegate.getUnit())) - a.times(Amount.valueOf(10 ** -15, Unit.ONE)) - return a - } - - // Define the peta converter. - Amount.metaClass.getPeta = { -> - Amount a = delegate.to(SI.PETA(delegate.getUnit())) - a.times(Amount.valueOf(10 ** 15, Unit.ONE)) - return a - } - - // Define the atto converter. - Amount.metaClass.getAtto = { -> - Amount a = delegate.to(SI.ATTO(delegate.getUnit())) - a.times(Amount.valueOf(10 ** -18, Unit.ONE)) - return a - } - - // Define the exa converter. - Amount.metaClass.getExa = { -> - Amount a = delegate.to(SI.EXA(delegate.getUnit())) - a.times(Amount.valueOf(10 ** 18, Unit.ONE)) - return a - } - - // Define the zepto converter. - Amount.metaClass.getZepto = { -> - Amount a = delegate.to(SI.ZEPTO(delegate.getUnit())) - a.times(Amount.valueOf(10 ** -21, Unit.ONE)) - return a - } - - // Define the zetta converter. - Amount.metaClass.getZetta = { -> - Amount a = delegate.to(SI.ZETTA(delegate.getUnit())) - a.times(Amount.valueOf(10 ** 21, Unit.ONE)) - return a - } - - // Define the yocto converter. - Amount.metaClass.getYocto = { -> - Amount a = delegate.to(SI.YOCTO(delegate.getUnit())) - a.times(Amount.valueOf(10 ** -24, Unit.ONE)) - return a - } - - // Define the yotta converter. - Amount.metaClass.getYotta = { -> - Amount a = delegate.to(SI.YOTTA(delegate.getUnit())) - a.times(Amount.valueOf(10 ** 24, Unit.ONE)) - return a - } - - // Define the meter creator. - java.math.BigDecimal.metaClass.getMeters = { -> - Amount x = Amount.valueOf(delegate, SI.METER) - return x - } - - // Define the kilometers creator. - java.math.BigDecimal.metaClass.getKilometers = { -> - Amount x = Amount.valueOf(delegate, SI.KILO(SI.METER)) - return x - } - - // Define the centimeters creator. - java.math.BigDecimal.metaClass.getCentimeters = { -> - Amount x = Amount.valueOf(delegate, SI.CENTI(SI.METER)) - return x - } - - // Define the millimeters creator. - java.math.BigDecimal.metaClass.getMillimeters = { -> - Amount x = Amount.valueOf(delegate, SI.MILLI(SI.METER)) - return x - } - - // Define the micrometers creator. - java.math.BigDecimal.metaClass.getMicrometers = { -> - Amount x = Amount.valueOf(delegate, SI.MICRO(SI.METER)) - return x - } - - // Define the decimeters creator. - java.math.BigDecimal.metaClass.getDecimeters = { -> - Amount x = Amount.valueOf(delegate, SI.DECI(SI.METER)) - return x - } - - // Define the kilograms creator. - java.math.BigDecimal.metaClass.getKilograms = { -> - Amount x = Amount.valueOf(delegate, SI.KILOGRAM) - return x - } - - // Define the milligrams creator. - java.math.BigDecimal.metaClass.getMilligrams = { -> - Amount x = Amount.valueOf(delegate, SI.MILLI(SI.GRAM)) - return x - } - - // Define the angstroms creator. - java.math.BigDecimal.metaClass.getAngstroms = { -> - Amount x = Amount.valueOf(delegate, NonSI.ANGSTROM) - return x - } - - // Define the pounds creator. - java.math.BigDecimal.metaClass.getPounds = { -> - Amount x = Amount.valueOf(delegate, NonSI.POUND) - return x - } - - // Define the grams creator. - java.math.BigDecimal.metaClass.getGrams = { -> - Amount x = Amount.valueOf(delegate, SI.GRAM) - return x - } - - // Define the amperes creator. - java.math.BigDecimal.metaClass.getAmperes = { -> - Amount x = Amount.valueOf(delegate, SI.AMPERE) - return x - } - - // Define the becquerels creator. - java.math.BigDecimal.metaClass.getBecquerels = { -> - Amount x = Amount.valueOf(delegate, SI.BECQUEREL) - return x - } - - // Define the kilobecquerels creator. - java.math.BigDecimal.metaClass.getKilobecquerels = { -> - Amount x = Amount.valueOf(delegate, SI.KILO(SI.BECQUEREL)) - return x - } - - // Define the megabecquerels creator. - java.math.BigDecimal.metaClass.getMegabecquerels = { -> - Amount x = Amount.valueOf(delegate, SI.MEGA(SI.BECQUEREL)) - return x - } - - // Define the gigabecquerels creator. - java.math.BigDecimal.metaClass.getGigabecquerels = { -> - Amount x = Amount.valueOf(delegate, SI.GIGA(SI.BECQUEREL)) - return x - } - - // Define the bits creator. - java.math.BigDecimal.metaClass.getBits = { -> - Amount x = Amount.valueOf(delegate, SI.BIT) - return x - } - - // Define the kilobits creator. - java.math.BigDecimal.metaClass.getKilobits = { -> - Amount x = Amount.valueOf(delegate, SI.KILO(SI.BIT)) - return x - } - - // Define the megabits creator. - java.math.BigDecimal.metaClass.getMegabits = { -> - Amount x = Amount.valueOf(delegate, SI.MEGA(SI.BIT)) - return x - } - - // Define the gigabits creator. - java.math.BigDecimal.metaClass.getGigabits = { -> - Amount x = Amount.valueOf(delegate, SI.GIGA(SI.BIT)) - return x - } - - // Define the terabits creator. - java.math.BigDecimal.metaClass.getTerabits = { -> - Amount x = Amount.valueOf(delegate, SI.TERA(SI.BIT)) - return x - } - - // Define the candelas creator. - java.math.BigDecimal.metaClass.getCandelas = { -> - Amount x = Amount.valueOf(delegate, SI.CANDELA) - return x - } - - // Define the celsius creator. - java.math.BigDecimal.metaClass.getCelsius = { -> - Amount x = Amount.valueOf(delegate, SI.CELSIUS) - return x - } - - // Define the coulombs creator. - java.math.BigDecimal.metaClass.getCoulombs = { -> - Amount x = Amount.valueOf(delegate, SI.COULOMB) - return x - } - - // Define the cubic meters creator. - java.math.BigDecimal.metaClass.getCubic_meters = { -> - Amount x = Amount.valueOf(delegate, SI.CUBIC_METER) - return x - } - - // Define the farads creator. - java.math.BigDecimal.metaClass.getFarads = { -> - Amount x = Amount.valueOf(delegate, SI.FARAD) - return x - } - - // Define the microfarads creator. - java.math.BigDecimal.metaClass.getMicrofarads = { -> - Amount x = Amount.valueOf(delegate, SI.MICRO(SI.FARAD)) - return x - } - - // Define the nanofarads creator. - java.math.BigDecimal.metaClass.getNanofarads = { -> - Amount x = Amount.valueOf(delegate, SI.NANO(SI.FARAD)) - return x - } - - // Define the picofarads creator. - java.math.BigDecimal.metaClass.getPicofarads = { -> - Amount x = Amount.valueOf(delegate, SI.PICO(SI.FARAD)) - return x - } - - // Define the grays creator. - java.math.BigDecimal.metaClass.getGrays = { -> - Amount x = Amount.valueOf(delegate, SI.GRAY) - return x - } - - // Define the milligrays creator. - java.math.BigDecimal.metaClass.getMilligrays = { -> - Amount x = Amount.valueOf(delegate, SI.MILLI(SI.GRAY)) - return x - } - - // Define the henrys creator. - java.math.BigDecimal.metaClass.getHenrys = { -> - Amount x = Amount.valueOf(delegate, SI.HENRY) - return x - } - - // Define the hertz creator. - java.math.BigDecimal.metaClass.getHertz = { -> - Amount x = Amount.valueOf(delegate, SI.HERTZ) - return x - } - - // Define the kilohertz creator. - java.math.BigDecimal.metaClass.getKilohertz = { -> - Amount x = Amount.valueOf(delegate, SI.KILO(SI.HERTZ)) - return x - } - - // Define the megahertz creator. - java.math.BigDecimal.metaClass.getMegahertz = { -> - Amount x = Amount.valueOf(delegate, SI.MEGA(SI.HERTZ)) - return x - } - - // Define the joules creator. - java.math.BigDecimal.metaClass.getJoules = { -> - Amount x = Amount.valueOf(delegate, SI.JOULE) - return x - } - - // Define the kilojoules creator. - java.math.BigDecimal.metaClass.getKilojoules = { -> - Amount x = Amount.valueOf(delegate, SI.KILO(SI.JOULE)) - return x - } - - // Define the katals creator. - java.math.BigDecimal.metaClass.getKatals = { -> - Amount x = Amount.valueOf(delegate, SI.KATAL) - return x - } - - // Define the kelvin creator. - java.math.BigDecimal.metaClass.getKelvin = { -> - Amount x = Amount.valueOf(delegate, SI.KELVIN) - return x - } - - // Define the lumens creator. - java.math.BigDecimal.metaClass.getLumens = { -> - Amount x = Amount.valueOf(delegate, SI.LUMEN) - return x - } - - // Define the lux creator. - java.math.BigDecimal.metaClass.getLux = { -> - Amount x = Amount.valueOf(delegate, SI.LUX) - return x - } - - // Define the microlux creator. - java.math.BigDecimal.metaClass.getMicrolux = { -> - Amount x = Amount.valueOf(delegate, SI.MICRO(SI.LUX)) - return x - } - - // Define the millilux creator. - java.math.BigDecimal.metaClass.getMillilux = { -> - Amount x = Amount.valueOf(delegate, SI.MILLI(SI.LUX)) - return x - } - - // Define the kilolux creator. - java.math.BigDecimal.metaClass.getKilolux = { -> - Amount x = Amount.valueOf(delegate, SI.KILO(SI.LUX)) - return x - } - - // Define the meter per second creator. - java.math.BigDecimal.metaClass.getMeter_per_second = { -> - Amount x = Amount.valueOf(delegate, SI.METER_PER_SECOND) - return x - } - - // Define the meter per square second creator. - java.math.BigDecimal.metaClass.getMeter_per_square_second = { -> - Amount x = Amount.valueOf(delegate, SI.METER_PER_SQUARE_SECOND) - return x - } - - // Define the moles creator. - java.math.BigDecimal.metaClass.getMoles = { -> - Amount x = Amount.valueOf(delegate, SI.MOLE) - return x - } - - // Define the newtons creator. - java.math.BigDecimal.metaClass.getNewtons = { -> - Amount x = Amount.valueOf(delegate, SI.NEWTON) - return x - } - - // Define the ohms creator. - java.math.BigDecimal.metaClass.getOhms = { -> - Amount x = Amount.valueOf(delegate, SI.OHM) - return x - } - - // Define the pascals creator. - java.math.BigDecimal.metaClass.getPascals = { -> - Amount x = Amount.valueOf(delegate, SI.PASCAL) - return x - } - - // Define the kilopascals creator. - java.math.BigDecimal.metaClass.getKilopascals = { -> - Amount x = Amount.valueOf(delegate, SI.KILO(SI.PASCAL)) - return x - } - - // Define the radians creator. - java.math.BigDecimal.metaClass.getRadians = { -> - Amount x = Amount.valueOf(delegate, SI.RADIAN) - return x - } - - // Define the milliradians creator. - java.math.BigDecimal.metaClass.getMilliradians = { -> - Amount x = Amount.valueOf(delegate, SI.MILLI(SI.RADIAN)) - return x - } - - // Define the microradians creator. - java.math.BigDecimal.metaClass.getMicroradians = { -> - Amount x = Amount.valueOf(delegate, SI.MICRO(SI.RADIAN)) - return x - } - - // Define the nanoradians creator. - java.math.BigDecimal.metaClass.getNanoradians = { -> - Amount x = Amount.valueOf(delegate, SI.NANO(SI.RADIAN)) - return x - } - - // Define the seconds creator. - java.math.BigDecimal.metaClass.getSeconds = { -> - Amount x = Amount.valueOf(delegate, SI.SECOND) - return x - } - - // Define the siemens creator. - java.math.BigDecimal.metaClass.getSiemens = { -> - Amount x = Amount.valueOf(delegate, SI.SIEMENS) - return x - } - - // Define the sieverts creator. - java.math.BigDecimal.metaClass.getSieverts = { -> - Amount x = Amount.valueOf(delegate, SI.SIEVERT) - return x - } - - // Define the millisieverts creator. - java.math.BigDecimal.metaClass.getMillisieverts = { -> - Amount x = Amount.valueOf(delegate, SI.MILLI(SI.SIEVERT)) - return x - } - - // Define the microsieverts creator. - java.math.BigDecimal.metaClass.getMicrosieverts = { -> - Amount x = Amount.valueOf(delegate, SI.MICRO(SI.SIEVERT)) - return x - } - - // Define the square meters creator. - java.math.BigDecimal.metaClass.getSquare_meters = { -> - Amount x = Amount.valueOf(delegate, SI.MICRO(SI.SQUARE_METER)) - return x - } - - // Define the steradians creator. - java.math.BigDecimal.metaClass.getSteradians = { -> - Amount x = Amount.valueOf(delegate, SI.STERADIAN) - return x - } - - // Define the teslas creator. - java.math.BigDecimal.metaClass.getTeslas = { -> - Amount x = Amount.valueOf(delegate, SI.TESLA) - return x - } - - // Define the volts creator. - java.math.BigDecimal.metaClass.getVolts = { -> - Amount x = Amount.valueOf(delegate, SI.VOLT) - return x - } - - // Define the kilovolts creator. - java.math.BigDecimal.metaClass.getKilovolts = { -> - Amount x = Amount.valueOf(delegate, SI.KILO(SI.VOLT)) - return x - } - - // Define the watts creator. - java.math.BigDecimal.metaClass.getWatts = { -> - Amount x = Amount.valueOf(delegate, SI.WATT) - return x - } - - // Define the kilowatts creator. - java.math.BigDecimal.metaClass.getKilowatts = { -> - Amount x = Amount.valueOf(delegate, SI.KILO(SI.WATT)) - return x - } - - // Define the megawatts creator. - java.math.BigDecimal.metaClass.getMegawatts = { -> - Amount x = Amount.valueOf(delegate, SI.MEGA(SI.WATT)) - return x - } - - // Define the webers creator. - java.math.BigDecimal.metaClass.getWebers = { -> - Amount x = Amount.valueOf(delegate, SI.WEBER) - return x - } - - // Define the ares creator. - java.math.BigDecimal.metaClass.getAres = { -> - Amount x = Amount.valueOf(delegate, NonSI.ARE) - return x - } - - // Define the astronomical units creator. - java.math.BigDecimal.metaClass.getAstronomical_units = { -> - Amount x = Amount.valueOf(delegate, NonSI.ASTRONOMICAL_UNIT) - return x - } - - // Define the atmospheres creator. - java.math.BigDecimal.metaClass.getAtmospheres = { -> - Amount x = Amount.valueOf(delegate, NonSI.ATMOSPHERE) - return x - } - - // Define the atoms creator. - java.math.BigDecimal.metaClass.getAtoms = { -> - Amount x = Amount.valueOf(delegate, NonSI.ATOM) - return x - } - - // Define the atomic mass creator. - java.math.BigDecimal.metaClass.getAtomic_mass = { -> - Amount x = Amount.valueOf(delegate, NonSI.ATOMIC_MASS) - return x - } - - // Define the bars creator. - java.math.BigDecimal.metaClass.getBars = { -> - Amount x = Amount.valueOf(delegate, NonSI.BAR) - return x - } - - // Define the bytes creator. - java.math.BigDecimal.metaClass.getBytes = { -> - Amount x = Amount.valueOf(delegate, NonSI.BYTE) - return x - } - - // Define the c creator. - java.math.BigDecimal.metaClass.getC = { -> - Amount x = Amount.valueOf(delegate, NonSI.C) - return x - } - - // Define the centiradians creator. - java.math.BigDecimal.metaClass.getCentiradians = { -> - Amount x = Amount.valueOf(delegate, NonSI.CENTIRADIAN) - return x - } - - // Define the computer point creator. - java.math.BigDecimal.metaClass.getComputer_point = { -> - Amount x = Amount.valueOf(delegate, NonSI.COMPUTER_POINT) - return x - } - - // Define the cubic inches creator. - java.math.BigDecimal.metaClass.getCubic_inches = { -> - Amount x = Amount.valueOf(delegate, NonSI.CUBIC_INCH) - return x - } - - // Define the curies creator. - java.math.BigDecimal.metaClass.getCuries = { -> - Amount x = Amount.valueOf(delegate, NonSI.CURIE) - return x - } - - // Define the days creator. - java.math.BigDecimal.metaClass.getDays = { -> - Amount x = Amount.valueOf(delegate, NonSI.DAY) - return x - } - - // Define the day sidereal creator. - java.math.BigDecimal.metaClass.getDay_sidereal = { -> - Amount x = Amount.valueOf(delegate, NonSI.DAY_SIDEREAL) - return x - } - - // Define the decibels creator. - java.math.BigDecimal.metaClass.getDecibels = { -> - Amount x = Amount.valueOf(delegate, NonSI.DECIBEL) - return x - } - - // Define the degree angle creator. - java.math.BigDecimal.metaClass.getDegree_angle = { -> - Amount x = Amount.valueOf(delegate, NonSI.DEGREE_ANGLE) - return x - } - - // Define the dynes creator. - java.math.BigDecimal.metaClass.getDynes = { -> - Amount x = Amount.valueOf(delegate, NonSI.DYNE) - return x - } - - // Define the e creator. - java.math.BigDecimal.metaClass.getE = { -> - Amount x = Amount.valueOf(delegate, NonSI.E) - return x - } - - // Define the electron mass creator. - java.math.BigDecimal.metaClass.getElectron_mass = { -> - Amount x = Amount.valueOf(delegate, NonSI.ELECTRON_MASS) - return x - } - - // Define the electron volt creator. - java.math.BigDecimal.metaClass.getElectron_volt = { -> - Amount x = Amount.valueOf(delegate, NonSI.ELECTRON_VOLT) - return x - } - - // Define the ergs creator. - java.math.BigDecimal.metaClass.getErgs = { -> - Amount x = Amount.valueOf(delegate, NonSI.ERG) - return x - } - - // Define the fahrenheit creator. - java.math.BigDecimal.metaClass.getFahrenheit = { -> - Amount x = Amount.valueOf(delegate, NonSI.FAHRENHEIT) - return x - } - - // Define the faradays creator. - java.math.BigDecimal.metaClass.getFaradays = { -> - Amount x = Amount.valueOf(delegate, NonSI.FARADAY) - return x - } - - // Define the feet creator. - java.math.BigDecimal.metaClass.getFeet = { -> - Amount x = Amount.valueOf(delegate, NonSI.FOOT) - return x - } - - // Define the foot_survey_us creator. - java.math.BigDecimal.metaClass.getFoot_survey_us = { -> - Amount x = Amount.valueOf(delegate, NonSI.FOOT_SURVEY_US) - return x - } - - // Define the franklins creator. - java.math.BigDecimal.metaClass.getFranklins = { -> - Amount x = Amount.valueOf(delegate, NonSI.FRANKLIN) - return x - } - - // Define the g creator. - java.math.BigDecimal.metaClass.getG = { -> - Amount x = Amount.valueOf(delegate, NonSI.G) - return x - } - - // Define the gallon dry us creator. - java.math.BigDecimal.metaClass.getGallon_dry_us = { -> - Amount x = Amount.valueOf(delegate, NonSI.GALLON_DRY_US) - return x - } - - // Define the gallon liquid us creator. - java.math.BigDecimal.metaClass.getGallon_liquid_us = { -> - Amount x = Amount.valueOf(delegate, NonSI.GALLON_LIQUID_US) - return x - } - - // Define the gallon uk creator. - java.math.BigDecimal.metaClass.getGallon_uk = { -> - Amount x = Amount.valueOf(delegate, NonSI.GALLON_UK) - return x - } - - // Define the gauss creator. - java.math.BigDecimal.metaClass.getGauss = { -> - Amount x = Amount.valueOf(delegate, NonSI.GAUSS) - return x - } - - // Define the gilberts creator. - java.math.BigDecimal.metaClass.getGilberts = { -> - Amount x = Amount.valueOf(delegate, NonSI.GILBERT) - return x - } - - // Define the grades creator. - java.math.BigDecimal.metaClass.getGrades = { -> - Amount x = Amount.valueOf(delegate, NonSI.GRADE) - return x - } - - // Define the hectares creator. - java.math.BigDecimal.metaClass.getHectares = { -> - Amount x = Amount.valueOf(delegate, NonSI.HECTARE) - return x - } - - // Define the horsepower creator. - java.math.BigDecimal.metaClass.getHorsepower = { -> - Amount x = Amount.valueOf(delegate, NonSI.HORSEPOWER) - return x - } - - // Define the hours creator. - java.math.BigDecimal.metaClass.getHours = { -> - Amount x = Amount.valueOf(delegate, NonSI.HOUR) - return x - } - - // Define the inches creator. - java.math.BigDecimal.metaClass.getInches = { -> - Amount x = Amount.valueOf(delegate, NonSI.INCH) - return x - } - - // Define the inch_of_mercury creator. - java.math.BigDecimal.metaClass.getInch_of_mercury = { -> - Amount x = Amount.valueOf(delegate, NonSI.INCH_OF_MERCURY) - return x - } - - // Define the kilogram force creator. - java.math.BigDecimal.metaClass.getKilogram_force = { -> - Amount x = Amount.valueOf(delegate, NonSI.KILOGRAM_FORCE) - return x - } - - // Define the knots creator. - java.math.BigDecimal.metaClass.getKnots = { -> - Amount x = Amount.valueOf(delegate, NonSI.KNOT) - return x - } - - // Define the lamberts creator. - java.math.BigDecimal.metaClass.getLamberts = { -> - Amount x = Amount.valueOf(delegate, NonSI.LAMBERT) - return x - } - - // Define the light years creator. - java.math.BigDecimal.metaClass.getLight_years = { -> - Amount x = Amount.valueOf(delegate, NonSI.LIGHT_YEAR) - return x - } - - // Define the liters creator. - java.math.BigDecimal.metaClass.getLiters = { -> - Amount x = Amount.valueOf(delegate, NonSI.LITER) - return x - } - - // Define the mach creator. - java.math.BigDecimal.metaClass.getMach = { -> - Amount x = Amount.valueOf(delegate, NonSI.MACH) - return x - } - - // Define the maxwells creator. - java.math.BigDecimal.metaClass.getMaxwells = { -> - Amount x = Amount.valueOf(delegate, NonSI.MAXWELL) - return x - } - - // Define the metric tons creator. - java.math.BigDecimal.metaClass.getMetric_tons = { -> - Amount x = Amount.valueOf(delegate, NonSI.METRIC_TON) - return x - } - - // Define the miles creator. - java.math.BigDecimal.metaClass.getMiles = { -> - Amount x = Amount.valueOf(delegate, NonSI.MILE) - return x - } - - // Define the millimeters of mercury creator. - java.math.BigDecimal.metaClass.getMillimeters_of_mercury = { -> - Amount x = Amount.valueOf(delegate, NonSI.MILLIMETER_OF_MERCURY) - return x - } - - // Define the minutes creator. - java.math.BigDecimal.metaClass.getMinutes = { -> - Amount x = Amount.valueOf(delegate, NonSI.MINUTE) - return x - } - - // Define the minute angle creator. - java.math.BigDecimal.metaClass.getMinute_angle = { -> - Amount x = Amount.valueOf(delegate, NonSI.MINUTE_ANGLE) - return x - } - - // Define the months creator. - java.math.BigDecimal.metaClass.getMonths = { -> - Amount x = Amount.valueOf(delegate, NonSI.MONTH) - return x - } - - // Define the nautical miles creator. - java.math.BigDecimal.metaClass.getNautical_miles = { -> - Amount x = Amount.valueOf(delegate, NonSI.NAUTICAL_MILE) - return x - } - - // Define the octets creator. - java.math.BigDecimal.metaClass.getOctets = { -> - Amount x = Amount.valueOf(delegate, NonSI.OCTET) - return x - } - - // Define the ounces creator. - java.math.BigDecimal.metaClass.getOunces = { -> - Amount x = Amount.valueOf(delegate, NonSI.OUNCE) - return x - } - - // Define the ounce liquid uk creator. - java.math.BigDecimal.metaClass.getOunce_liquid_uk = { -> - Amount x = Amount.valueOf(delegate, NonSI.OUNCE_LIQUID_UK) - return x - } - - // Define the ounce liquid us creator. - java.math.BigDecimal.metaClass.getOunce_liquid_us = { -> - Amount x = Amount.valueOf(delegate, NonSI.OUNCE_LIQUID_US) - return x - } - - // Define the parsecs creator. - java.math.BigDecimal.metaClass.getParsecs = { -> - Amount x = Amount.valueOf(delegate, NonSI.PARSEC) - return x - } - - // Define the percent creator. - java.math.BigDecimal.metaClass.getPercent = { -> - Amount x = Amount.valueOf(delegate, NonSI.PERCENT) - return x - } - - // Define the pixels creator. - java.math.BigDecimal.metaClass.getPixels = { -> - Amount x = Amount.valueOf(delegate, NonSI.PIXEL) - return x - } - - // Define the points creator. - java.math.BigDecimal.metaClass.getPoints = { -> - Amount x = Amount.valueOf(delegate, NonSI.POINT) - return x - } - - // Define the poise creator. - java.math.BigDecimal.metaClass.getPoise = { -> - Amount x = Amount.valueOf(delegate, NonSI.POISE) - return x - } - - // Define the pound force creator. - java.math.BigDecimal.metaClass.getPound_force = { -> - Amount x = Amount.valueOf(delegate, NonSI.POUND_FORCE) - return x - } - - // Define the rads creator. - java.math.BigDecimal.metaClass.getRads = { -> - Amount x = Amount.valueOf(delegate, NonSI.RAD) - return x - } - - // Define the rankines creator. - java.math.BigDecimal.metaClass.getRankines = { -> - Amount x = Amount.valueOf(delegate, NonSI.RANKINE) - return x - } - - // Define the rems creator. - java.math.BigDecimal.metaClass.getRems = { -> - Amount x = Amount.valueOf(delegate, NonSI.REM) - return x - } - - // Define the revolutions creator. - java.math.BigDecimal.metaClass.getRevolutions = { -> - Amount x = Amount.valueOf(delegate, NonSI.REVOLUTION) - return x - } - - // Define the roentgens creator. - java.math.BigDecimal.metaClass.getRoentgens = { -> - Amount x = Amount.valueOf(delegate, NonSI.ROENTGEN) - return x - } - - // Define the rutherfords creator. - java.math.BigDecimal.metaClass.getRutherfords = { -> - Amount x = Amount.valueOf(delegate, NonSI.RUTHERFORD) - return x - } - - // Define the second angle creator. - java.math.BigDecimal.metaClass.getSecond_angle = { -> - Amount x = Amount.valueOf(delegate, NonSI.SECOND_ANGLE) - return x - } - - // Define the spheres creator. - java.math.BigDecimal.metaClass.getSpheres = { -> - Amount x = Amount.valueOf(delegate, NonSI.SPHERE) - return x - } - - // Define the stokes creator. - java.math.BigDecimal.metaClass.getStokes = { -> - Amount x = Amount.valueOf(delegate, NonSI.STOKE) - return x - } - - // Define the ton uk creator. - java.math.BigDecimal.metaClass.getTon_uk = { -> - Amount x = Amount.valueOf(delegate, NonSI.TON_UK) - return x - } - - // Define the ton us creator. - java.math.BigDecimal.metaClass.getTon_us = { -> - Amount x = Amount.valueOf(delegate, NonSI.TON_US) - return x - } - - // Define the weeks creator. - java.math.BigDecimal.metaClass.getWeeks = { -> - Amount x = Amount.valueOf(delegate, NonSI.WEEK) - return x - } - - // Define the yards creator. - java.math.BigDecimal.metaClass.getYards = { -> - Amount x = Amount.valueOf(delegate, NonSI.YARD) - return x - } - - // Define the years creator. - java.math.BigDecimal.metaClass.getYears = { -> - Amount x = Amount.valueOf(delegate, NonSI.YEAR) - return x - } - - // Define the year_calendar creator. - java.math.BigDecimal.metaClass.getYear_calendar = { -> - Amount x = Amount.valueOf(delegate, NonSI.YEAR_CALENDAR) - return x - } - - // Define the year_sidereal creator. - java.math.BigDecimal.metaClass.getYear_sidereal = { -> - Amount x = Amount.valueOf(delegate, NonSI.YEAR_SIDEREAL) - return x - } - - // Define the pure number creator. - Integer.metaClass.getPure = { -> - Amount x = Amount.valueOf(delegate, Unit.ONE) - return x - } - - // Define the pure number creator. - Integer.metaClass.getPureNumber = { -> - Amount x = Amount.valueOf(delegate, Unit.ONE) - return x - } - - // Define the meter creator. - Integer.metaClass.getMeters = { -> - Amount x = Amount.valueOf(delegate, SI.METER) - return x - } - - // Define the kilometers creator. - Integer.metaClass.getKilometers = { -> - Amount x = Amount.valueOf(delegate, SI.KILO(SI.METER)) - return x - } - - // Define the centimeters creator. - Integer.metaClass.getCentimeters = { -> - Amount x = Amount.valueOf(delegate, SI.CENTI(SI.METER)) - return x - } - - // Define the millimeters creator. - Integer.metaClass.getMillimeters = { -> - Amount x = Amount.valueOf(delegate, SI.MILLI(SI.METER)) - return x - } - - // Define the micrometers creator. - Integer.metaClass.getMicrometers = { -> - Amount x = Amount.valueOf(delegate, SI.MICRO(SI.METER)) - return x - } - - // Define the decimeters creator. - Integer.metaClass.getDecimeters = { -> - Amount x = Amount.valueOf(delegate, SI.DECI(SI.METER)) - return x - } - - // Define the kilograms creator. - Integer.metaClass.getKilograms = { -> - Amount x = Amount.valueOf(delegate, SI.KILOGRAM) - return x - } - - // Define the milligrams creator. - Integer.metaClass.getMilligrams = { -> - Amount x = Amount.valueOf(delegate, SI.MILLI(SI.GRAM)) - return x - } - - // Define the angstroms creator. - Integer.metaClass.getAngstroms = { -> - Amount x = Amount.valueOf(delegate, NonSI.ANGSTROM) - return x - } - - // Define the pounds creator. - Integer.metaClass.getPounds = { -> - Amount x = Amount.valueOf(delegate, NonSI.POUND) - return x - } - - // Define the grams creator. - Integer.metaClass.getGrams = { -> - Amount x = Amount.valueOf(delegate, SI.GRAM) - return x - } - - // Define the amperes creator. - Integer.metaClass.getAmperes = { -> - Amount x = Amount.valueOf(delegate, SI.AMPERE) - return x - } - - // Define the becquerels creator. - Integer.metaClass.getBecquerels = { -> - Amount x = Amount.valueOf(delegate, SI.BECQUEREL) - return x - } - - // Define the kilobecquerels creator. - Integer.metaClass.getKilobecquerels = { -> - Amount x = Amount.valueOf(delegate, SI.KILO(SI.BECQUEREL)) - return x - } - - // Define the megabecquerels creator. - Integer.metaClass.getMegabecquerels = { -> - Amount x = Amount.valueOf(delegate, SI.MEGA(SI.BECQUEREL)) - return x - } - - // Define the gigabecquerels creator. - Integer.metaClass.getGigabecquerels = { -> - Amount x = Amount.valueOf(delegate, SI.GIGA(SI.BECQUEREL)) - return x - } - - // Define the bits creator. - Integer.metaClass.getBits = { -> - Amount x = Amount.valueOf(delegate, SI.BIT) - return x - } - - // Define the kilobits creator. - Integer.metaClass.getKilobits = { -> - Amount x = Amount.valueOf(delegate, SI.KILO(SI.BIT)) - return x - } - - // Define the megabits creator. - Integer.metaClass.getMegabits = { -> - Amount x = Amount.valueOf(delegate, SI.MEGA(SI.BIT)) - return x - } - - // Define the gigabits creator. - Integer.metaClass.getGigabits = { -> - Amount x = Amount.valueOf(delegate, SI.GIGA(SI.BIT)) - return x - } - - // Define the terabits creator. - Integer.metaClass.getTerabits = { -> - Amount x = Amount.valueOf(delegate, SI.TERA(SI.BIT)) - return x - } - - // Define the candelas creator. - Integer.metaClass.getCandelas = { -> - Amount x = Amount.valueOf(delegate, SI.CANDELA) - return x - } - - // Define the celsius creator. - Integer.metaClass.getCelsius = { -> - Amount x = Amount.valueOf(delegate, SI.CELSIUS) - return x - } - - // Define the coulombs creator. - Integer.metaClass.getCoulombs = { -> - Amount x = Amount.valueOf(delegate, SI.COULOMB) - return x - } - - // Define the cubic meters creator. - Integer.metaClass.getCubic_meters = { -> - Amount x = Amount.valueOf(delegate, SI.CUBIC_METER) - return x - } - - // Define the farads creator. - Integer.metaClass.getFarads = { -> - Amount x = Amount.valueOf(delegate, SI.FARAD) - return x - } - - // Define the microfarads creator. - Integer.metaClass.getMicrofarads = { -> - Amount x = Amount.valueOf(delegate, SI.MICRO(SI.FARAD)) - return x - } - - // Define the nanofarads creator. - Integer.metaClass.getNanofarads = { -> - Amount x = Amount.valueOf(delegate, SI.NANO(SI.FARAD)) - return x - } - - // Define the picofarads creator. - Integer.metaClass.getPicofarads = { -> - Amount x = Amount.valueOf(delegate, SI.PICO(SI.FARAD)) - return x - } - - // Define the grays creator. - Integer.metaClass.getGrays = { -> - Amount x = Amount.valueOf(delegate, SI.GRAY) - return x - } - - // Define the milligrays creator. - Integer.metaClass.getMilligrays = { -> - Amount x = Amount.valueOf(delegate, SI.MILLI(SI.GRAY)) - return x - } - - // Define the henrys creator. - Integer.metaClass.getHenrys = { -> - Amount x = Amount.valueOf(delegate, SI.HENRY) - return x - } - - // Define the hertz creator. - Integer.metaClass.getHertz = { -> - Amount x = Amount.valueOf(delegate, SI.HERTZ) - return x - } - - // Define the kilohertz creator. - Integer.metaClass.getKilohertz = { -> - Amount x = Amount.valueOf(delegate, SI.KILO(SI.HERTZ)) - return x - } - - // Define the megahertz creator. - Integer.metaClass.getMegahertz = { -> - Amount x = Amount.valueOf(delegate, SI.MEGA(SI.HERTZ)) - return x - } - - // Define the joules creator. - Integer.metaClass.getJoules = { -> - Amount x = Amount.valueOf(delegate, SI.JOULE) - return x - } - - // Define the kilojoules creator. - Integer.metaClass.getKilojoules = { -> - Amount x = Amount.valueOf(delegate, SI.KILO(SI.JOULE)) - return x - } - - // Define the katals creator. - Integer.metaClass.getKatals = { -> - Amount x = Amount.valueOf(delegate, SI.KATAL) - return x - } - - // Define the kelvin creator. - Integer.metaClass.getKelvin = { -> - Amount x = Amount.valueOf(delegate, SI.KELVIN) - return x - } - - // Define the lumens creator. - Integer.metaClass.getLumens = { -> - Amount x = Amount.valueOf(delegate, SI.LUMEN) - return x - } - - // Define the lux creator. - Integer.metaClass.getLux = { -> - Amount x = Amount.valueOf(delegate, SI.LUX) - return x - } - - // Define the microlux creator. - Integer.metaClass.getMicrolux = { -> - Amount x = Amount.valueOf(delegate, SI.MICRO(SI.LUX)) - return x - } - - // Define the millilux creator. - Integer.metaClass.getMillilux = { -> - Amount x = Amount.valueOf(delegate, SI.MILLI(SI.LUX)) - return x - } - - // Define the kilolux creator. - Integer.metaClass.getKilolux = { -> - Amount x = Amount.valueOf(delegate, SI.KILO(SI.LUX)) - return x - } - - // Define the meter per second creator. - Integer.metaClass.getMeter_per_second = { -> - Amount x = Amount.valueOf(delegate, SI.METER_PER_SECOND) - return x - } - - // Define the meter per square second creator. - Integer.metaClass.getMeter_per_square_second = { -> - Amount x = Amount.valueOf(delegate, SI.METER_PER_SQUARE_SECOND) - return x - } - - // Define the moles creator. - Integer.metaClass.getMoles = { -> - Amount x = Amount.valueOf(delegate, SI.MOLE) - return x - } - - // Define the newtons creator. - Integer.metaClass.getNewtons = { -> - Amount x = Amount.valueOf(delegate, SI.NEWTON) - return x - } - - // Define the ohms creator. - Integer.metaClass.getOhms = { -> - Amount x = Amount.valueOf(delegate, SI.OHM) - return x - } - - // Define the pascals creator. - Integer.metaClass.getPascals = { -> - Amount x = Amount.valueOf(delegate, SI.PASCAL) - return x - } - - // Define the kilopascals creator. - Integer.metaClass.getKilopascals = { -> - Amount x = Amount.valueOf(delegate, SI.KILO(SI.PASCAL)) - return x - } - - // Define the radians creator. - Integer.metaClass.getRadians = { -> - Amount x = Amount.valueOf(delegate, SI.RADIAN) - return x - } - - // Define the milliradians creator. - Integer.metaClass.getMilliradians = { -> - Amount x = Amount.valueOf(delegate, SI.MILLI(SI.RADIAN)) - return x - } - - // Define the microradians creator. - Integer.metaClass.getMicroradians = { -> - Amount x = Amount.valueOf(delegate, SI.MICRO(SI.RADIAN)) - return x - } - - // Define the nanoradians creator. - Integer.metaClass.getNanoradians = { -> - Amount x = Amount.valueOf(delegate, SI.NANO(SI.RADIAN)) - return x - } - - // Define the seconds creator. - Integer.metaClass.getSeconds = { -> - Amount x = Amount.valueOf(delegate, SI.SECOND) - return x - } - - // Define the siemens creator. - Integer.metaClass.getSiemens = { -> - Amount x = Amount.valueOf(delegate, SI.SIEMENS) - return x - } - - // Define the sieverts creator. - Integer.metaClass.getSieverts = { -> - Amount x = Amount.valueOf(delegate, SI.SIEVERT) - return x - } - - // Define the millisieverts creator. - Integer.metaClass.getMillisieverts = { -> - Amount x = Amount.valueOf(delegate, SI.MILLI(SI.SIEVERT)) - return x - } - - // Define the microsieverts creator. - Integer.metaClass.getMicrosieverts = { -> - Amount x = Amount.valueOf(delegate, SI.MICRO(SI.SIEVERT)) - return x - } - - // Define the square meters creator. - Integer.metaClass.getSquare_meters = { -> - Amount x = Amount.valueOf(delegate, SI.MICRO(SI.SQUARE_METER)) - return x - } - - // Define the steradians creator. - Integer.metaClass.getSteradians = { -> - Amount x = Amount.valueOf(delegate, SI.STERADIAN) - return x - } - - // Define the teslas creator. - Integer.metaClass.getTeslas = { -> - Amount x = Amount.valueOf(delegate, SI.TESLA) - return x - } - - // Define the volts creator. - Integer.metaClass.getVolts = { -> - Amount x = Amount.valueOf(delegate, SI.VOLT) - return x - } - - // Define the kilovolts creator. - Integer.metaClass.getKilovolts = { -> - Amount x = Amount.valueOf(delegate, SI.KILO(SI.VOLT)) - return x - } - - // Define the watts creator. - Integer.metaClass.getWatts = { -> - Amount x = Amount.valueOf(delegate, SI.WATT) - return x - } - - // Define the kilowatts creator. - Integer.metaClass.getKilowatts = { -> - Amount x = Amount.valueOf(delegate, SI.KILO(SI.WATT)) - return x - } - - // Define the megawatts creator. - Integer.metaClass.getMegawatts = { -> - Amount x = Amount.valueOf(delegate, SI.MEGA(SI.WATT)) - return x - } - - // Define the webers creator. - Integer.metaClass.getWebers = { -> - Amount x = Amount.valueOf(delegate, SI.WEBER) - return x - } - - // Define the ares creator. - Integer.metaClass.getAres = { -> - Amount x = Amount.valueOf(delegate, NonSI.ARE) - return x - } - - // Define the astronomical units creator. - Integer.metaClass.getAstronomical_units = { -> - Amount x = Amount.valueOf(delegate, NonSI.ASTRONOMICAL_UNIT) - return x - } - - // Define the atmospheres creator. - Integer.metaClass.getAtmospheres = { -> - Amount x = Amount.valueOf(delegate, NonSI.ATMOSPHERE) - return x - } - - // Define the atoms creator. - Integer.metaClass.getAtoms = { -> - Amount x = Amount.valueOf(delegate, NonSI.ATOM) - return x - } - - // Define the atomic mass creator. - Integer.metaClass.getAtomic_mass = { -> - Amount x = Amount.valueOf(delegate, NonSI.ATOMIC_MASS) - return x - } - - // Define the bars creator. - Integer.metaClass.getBars = { -> - Amount x = Amount.valueOf(delegate, NonSI.BAR) - return x - } - - // Define the bytes creator. - Integer.metaClass.getBytes = { -> - Amount x = Amount.valueOf(delegate, NonSI.BYTE) - return x - } - - // Define the c creator. - Integer.metaClass.getC = { -> - Amount x = Amount.valueOf(delegate, NonSI.C) - return x - } - - // Define the centiradians creator. - Integer.metaClass.getCentiradians = { -> - Amount x = Amount.valueOf(delegate, NonSI.CENTIRADIAN) - return x - } - - // Define the computer point creator. - Integer.metaClass.getComputer_point = { -> - Amount x = Amount.valueOf(delegate, NonSI.COMPUTER_POINT) - return x - } - - // Define the cubic inches creator. - Integer.metaClass.getCubic_inches = { -> - Amount x = Amount.valueOf(delegate, NonSI.CUBIC_INCH) - return x - } - - // Define the curies creator. - Integer.metaClass.getCuries = { -> - Amount x = Amount.valueOf(delegate, NonSI.CURIE) - return x - } - - // Define the days creator. - Integer.metaClass.getDays = { -> - Amount x = Amount.valueOf(delegate, NonSI.DAY) - return x - } - - // Define the day sidereal creator. - Integer.metaClass.getDay_sidereal = { -> - Amount x = Amount.valueOf(delegate, NonSI.DAY_SIDEREAL) - return x - } - - // Define the decibels creator. - Integer.metaClass.getDecibels = { -> - Amount x = Amount.valueOf(delegate, NonSI.DECIBEL) - return x - } - - // Define the degree angle creator. - Integer.metaClass.getDegree_angle = { -> - Amount x = Amount.valueOf(delegate, NonSI.DEGREE_ANGLE) - return x - } - - // Define the dynes creator. - Integer.metaClass.getDynes = { -> - Amount x = Amount.valueOf(delegate, NonSI.DYNE) - return x - } - - // Define the e creator. - Integer.metaClass.getE = { -> - Amount x = Amount.valueOf(delegate, NonSI.E) - return x - } - - // Define the electron mass creator. - Integer.metaClass.getElectron_mass = { -> - Amount x = Amount.valueOf(delegate, NonSI.ELECTRON_MASS) - return x - } - - // Define the electron volt creator. - Integer.metaClass.getElectron_volt = { -> - Amount x = Amount.valueOf(delegate, NonSI.ELECTRON_VOLT) - return x - } - - // Define the ergs creator. - Integer.metaClass.getErgs = { -> - Amount x = Amount.valueOf(delegate, NonSI.ERG) - return x - } - - // Define the fahrenheit creator. - Integer.metaClass.getFahrenheit = { -> - Amount x = Amount.valueOf(delegate, NonSI.FAHRENHEIT) - return x - } - - // Define the faradays creator. - Integer.metaClass.getFaradays = { -> - Amount x = Amount.valueOf(delegate, NonSI.FARADAY) - return x - } - - // Define the feet creator. - Integer.metaClass.getFeet = { -> - Amount x = Amount.valueOf(delegate, NonSI.FOOT) - return x - } - - // Define the foot_survey_us creator. - Integer.metaClass.getFoot_survey_us = { -> - Amount x = Amount.valueOf(delegate, NonSI.FOOT_SURVEY_US) - return x - } - - // Define the franklins creator. - Integer.metaClass.getFranklins = { -> - Amount x = Amount.valueOf(delegate, NonSI.FRANKLIN) - return x - } - - // Define the g creator. - Integer.metaClass.getG = { -> - Amount x = Amount.valueOf(delegate, NonSI.G) - return x - } - - // Define the gallon dry us creator. - Integer.metaClass.getGallon_dry_us = { -> - Amount x = Amount.valueOf(delegate, NonSI.GALLON_DRY_US) - return x - } - - // Define the gallon liquid us creator. - Integer.metaClass.getGallon_liquid_us = { -> - Amount x = Amount.valueOf(delegate, NonSI.GALLON_LIQUID_US) - return x - } - - // Define the gallon uk creator. - Integer.metaClass.getGallon_uk = { -> - Amount x = Amount.valueOf(delegate, NonSI.GALLON_UK) - return x - } - - // Define the gauss creator. - Integer.metaClass.getGauss = { -> - Amount x = Amount.valueOf(delegate, NonSI.GAUSS) - return x - } - - // Define the gilberts creator. - Integer.metaClass.getGilberts = { -> - Amount x = Amount.valueOf(delegate, NonSI.GILBERT) - return x - } - - // Define the grades creator. - Integer.metaClass.getGrades = { -> - Amount x = Amount.valueOf(delegate, NonSI.GRADE) - return x - } - - // Define the hectares creator. - Integer.metaClass.getHectares = { -> - Amount x = Amount.valueOf(delegate, NonSI.HECTARE) - return x - } - - // Define the horsepower creator. - Integer.metaClass.getHorsepower = { -> - Amount x = Amount.valueOf(delegate, NonSI.HORSEPOWER) - return x - } - - // Define the hours creator. - Integer.metaClass.getHours = { -> - Amount x = Amount.valueOf(delegate, NonSI.HOUR) - return x - } - - // Define the inches creator. - Integer.metaClass.getInches = { -> - Amount x = Amount.valueOf(delegate, NonSI.INCH) - return x - } - - // Define the inch_of_mercury creator. - Integer.metaClass.getInch_of_mercury = { -> - Amount x = Amount.valueOf(delegate, NonSI.INCH_OF_MERCURY) - return x - } - - // Define the kilogram force creator. - Integer.metaClass.getKilogram_force = { -> - Amount x = Amount.valueOf(delegate, NonSI.KILOGRAM_FORCE) - return x - } - - // Define the knots creator. - Integer.metaClass.getKnots = { -> - Amount x = Amount.valueOf(delegate, NonSI.KNOT) - return x - } - - // Define the lamberts creator. - Integer.metaClass.getLamberts = { -> - Amount x = Amount.valueOf(delegate, NonSI.LAMBERT) - return x - } - - // Define the light years creator. - Integer.metaClass.getLight_years = { -> - Amount x = Amount.valueOf(delegate, NonSI.LIGHT_YEAR) - return x - } - - // Define the liters creator. - Integer.metaClass.getLiters = { -> - Amount x = Amount.valueOf(delegate, NonSI.LITER) - return x - } - - // Define the mach creator. - Integer.metaClass.getMach = { -> - Amount x = Amount.valueOf(delegate, NonSI.MACH) - return x - } - - // Define the maxwells creator. - Integer.metaClass.getMaxwells = { -> - Amount x = Amount.valueOf(delegate, NonSI.MAXWELL) - return x - } - - // Define the metric tons creator. - Integer.metaClass.getMetric_tons = { -> - Amount x = Amount.valueOf(delegate, NonSI.METRIC_TON) - return x - } - - // Define the miles creator. - Integer.metaClass.getMiles = { -> - Amount x = Amount.valueOf(delegate, NonSI.MILE) - return x - } - - // Define the millimeters of mercury creator. - Integer.metaClass.getMillimeters_of_mercury = { -> - Amount x = Amount.valueOf(delegate, NonSI.MILLIMETER_OF_MERCURY) - return x - } - - // Define the minutes creator. - Integer.metaClass.getMinutes = { -> - Amount x = Amount.valueOf(delegate, NonSI.MINUTE) - return x - } - - // Define the minute angle creator. - Integer.metaClass.getMinute_angle = { -> - Amount x = Amount.valueOf(delegate, NonSI.MINUTE_ANGLE) - return x - } - - // Define the months creator. - Integer.metaClass.getMonths = { -> - Amount x = Amount.valueOf(delegate, NonSI.MONTH) - return x - } - - // Define the nautical miles creator. - Integer.metaClass.getNautical_miles = { -> - Amount x = Amount.valueOf(delegate, NonSI.NAUTICAL_MILE) - return x - } - - // Define the octets creator. - Integer.metaClass.getOctets = { -> - Amount x = Amount.valueOf(delegate, NonSI.OCTET) - return x - } - - // Define the ounces creator. - Integer.metaClass.getOunces = { -> - Amount x = Amount.valueOf(delegate, NonSI.OUNCE) - return x - } - - // Define the ounce liquid uk creator. - Integer.metaClass.getOunce_liquid_uk = { -> - Amount x = Amount.valueOf(delegate, NonSI.OUNCE_LIQUID_UK) - return x - } - - // Define the ounce liquid us creator. - Integer.metaClass.getOunce_liquid_us = { -> - Amount x = Amount.valueOf(delegate, NonSI.OUNCE_LIQUID_US) - return x - } - - // Define the parsecs creator. - Integer.metaClass.getParsecs = { -> - Amount x = Amount.valueOf(delegate, NonSI.PARSEC) - return x - } - - // Define the percent creator. - Integer.metaClass.getPercent = { -> - Amount x = Amount.valueOf(delegate, NonSI.PERCENT) - return x - } - - // Define the pixels creator. - Integer.metaClass.getPixels = { -> - Amount x = Amount.valueOf(delegate, NonSI.PIXEL) - return x - } - - // Define the points creator. - Integer.metaClass.getPoints = { -> - Amount x = Amount.valueOf(delegate, NonSI.POINT) - return x - } - - // Define the poise creator. - Integer.metaClass.getPoise = { -> - Amount x = Amount.valueOf(delegate, NonSI.POISE) - return x - } - - // Define the pound force creator. - Integer.metaClass.getPound_force = { -> - Amount x = Amount.valueOf(delegate, NonSI.POUND_FORCE) - return x - } - - // Define the rads creator. - Integer.metaClass.getRads = { -> - Amount x = Amount.valueOf(delegate, NonSI.RAD) - return x - } - - // Define the rankines creator. - Integer.metaClass.getRankines = { -> - Amount x = Amount.valueOf(delegate, NonSI.RANKINE) - return x - } - - // Define the rems creator. - Integer.metaClass.getRems = { -> - Amount x = Amount.valueOf(delegate, NonSI.REM) - return x - } - - // Define the revolutions creator. - Integer.metaClass.getRevolutions = { -> - Amount x = Amount.valueOf(delegate, NonSI.REVOLUTION) - return x - } - - // Define the roentgens creator. - Integer.metaClass.getRoentgens = { -> - Amount x = Amount.valueOf(delegate, NonSI.ROENTGEN) - return x - } - - // Define the rutherfords creator. - Integer.metaClass.getRutherfords = { -> - Amount x = Amount.valueOf(delegate, NonSI.RUTHERFORD) - return x - } - - // Define the second angle creator. - Integer.metaClass.getSecond_angle = { -> - Amount x = Amount.valueOf(delegate, NonSI.SECOND_ANGLE) - return x - } - - // Define the spheres creator. - Integer.metaClass.getSpheres = { -> - Amount x = Amount.valueOf(delegate, NonSI.SPHERE) - return x - } - - // Define the stokes creator. - Integer.metaClass.getStokes = { -> - Amount x = Amount.valueOf(delegate, NonSI.STOKE) - return x - } - - // Define the ton uk creator. - Integer.metaClass.getTon_uk = { -> - Amount x = Amount.valueOf(delegate, NonSI.TON_UK) - return x - } - - // Define the ton us creator. - Integer.metaClass.getTon_us = { -> - Amount x = Amount.valueOf(delegate, NonSI.TON_US) - return x - } - - // Define the weeks creator. - Integer.metaClass.getWeeks = { -> - Amount x = Amount.valueOf(delegate, NonSI.WEEK) - return x - } - - // Define the yards creator. - Integer.metaClass.getYards = { -> - Amount x = Amount.valueOf(delegate, NonSI.YARD) - return x - } - - // Define the years creator. - Integer.metaClass.getYears = { -> - Amount x = Amount.valueOf(delegate, NonSI.YEAR) - return x - } - - // Define the year_calendar creator. - Integer.metaClass.getYear_calendar = { -> - Amount x = Amount.valueOf(delegate, NonSI.YEAR_CALENDAR) - return x - } - - // Define the year_sidereal creator. - Integer.metaClass.getYear_sidereal = { -> - Amount x = Amount.valueOf(delegate, NonSI.YEAR_SIDEREAL) - return x - } - - Amount.metaClass.plus = { Amount amount2-> - return UnitsOperations.addition(delegate, amount2) - } - - Amount.metaClass.multiply = { Amount amount2-> - return UnitsOperations.multiplication(delegate, amount2) - } - - BigDecimal.metaClass.multiply = { Amount amt-> - return UnitsOperations.multiplication(delegate, amt) - } - - Amount.metaClass.multiply = { BigDecimal number-> - return UnitsOperations.multiplication(delegate, number) - } - - Integer.metaClass.multiply = { Amount amt-> - return UnitsOperations.multiplication(delegate, amt) - } - - Amount.metaClass.multiply = { Integer number-> - return UnitsOperations.multiplication(delegate, number) - } - - Amount.metaClass.minus = { Amount amount2-> - return UnitsOperations.subtraction(delegate, amount2) - } - - Amount.metaClass.div = { Amount amount2-> - return UnitsOperations.division(delegate, amount2) - } - - Amount.metaClass.div = { BigDecimal number-> - return UnitsOperations.division(delegate, number) - } - - Amount.metaClass.div = { Integer number-> - return UnitsOperations.division(delegate, number) - } - - Amount.metaClass.power = { Integer number-> - return UnitsOperations.exponentiation(delegate, number) - } - - Amount.metaClass.power = { BigDecimal number-> - return UnitsOperations.exponentiation(delegate, number) - } - - Amount.metaClass.power = { Amount amt2-> - return UnitsOperations.exponentiation(delegate, amt2) - } - RepastMathEMC.unitsInitialized = true - } - - } - - /** - * Matrix operations - */ - - public static void initMatrix(){ - - if (!isMatrixInitialized()){ - - -// This necessary for Matrix operations to run properly. - - ExpandoMetaClass.enableGlobally() - - ArrayList.metaClass.getDenseMatrix = { -> - return MatrixOperations.createDenseMatrix(delegate); - } - - ArrayList.metaClass.getMatrix = { -> - return MatrixOperations.createDenseMatrix(delegate); - } - - ArrayList.metaClass.sparseMatrix = { Amount zero -> - return MatrixOperations.createSparseMatrix(delegate, zero); - } - - Matrix.metaClass.plus = { Matrix m2 -> - return MatrixOperations.addition(delegate, m2); - } - - Matrix.metaClass.minus = { Matrix m2 -> - return MatrixOperations.subtraction(delegate, m2); - } - - Matrix.metaClass.multiply = { Matrix m2 -> - return MatrixOperations.multiplication(delegate, m2); - } - - Matrix.metaClass.multiply = { Amount amount -> - return MatrixOperations.multiplication(delegate, amount); - } - - Matrix.metaClass.div = { Amount amount -> - return MatrixOperations.division(delegate, amount); - } - - Amount.metaClass.multiply = { Matrix m1 -> - return MatrixOperations.multiplication(m1, delegate); - } - - Matrix.metaClass.multiply = { java.lang.Number number -> - return MatrixOperations.multiplication(delegate, number); - } - - Matrix.metaClass.div = { java.lang.Number number -> - return MatrixOperations.division(delegate, number); - } - - java.lang.Number.metaClass.multiply = { Matrix m1 -> - return MatrixOperations.multiplication(m1, delegate); - } - - Matrix.metaClass.power = { int number -> - return MatrixOperations.exponentiation(delegate, number); - } - RepastMathEMC.matrixInitialized = true - } - } - /** - * Calculus operations - */ - public static void initCalculus(){ - - if (!isCalculusInitialized()){ - Closure.metaClass.derivative = {Closure targetFunction, Amount point -> - return CalculusOperations.derivative(targetFunction, point) - } - - Closure.metaClass.derivative = {Closure targetFunction, Amount point, Amount secantLength -> - return CalculusOperations.derivative(targetFunction, point, secantLength) - } - - Closure.metaClass.derivative = {Closure targetFunction, Amount point, Amount secantLength, Amount tolerance -> - return CalculusOperations.derivative(targetFunction, point, secantLength, tolerance) - } - - Closure.metaClass.derivative = {Closure targetFunction, Amount point, Amount secantLength, Amount tolerance, Amount iterations -> - return CalculusOperations.derivative(targetFunction, point, secantLength, tolerance, iterations) - } - - Closure.metaClass.integral = {Closure integrand, Amount lowerBound, Amount upperBound -> - return CalculusOperations.integral(integrand, lowerBound, upperBound) - } - - Closure.metaClass.integral = {Closure integrand, Amount lowerBound, Amount upperBound, int type -> - return CalculusOperations.integral(integrand, lowerBound, upperBound, type) - } - - Closure.metaClass.integral = {Closure integrand, Amount lowerBound, Amount upperBound, int type, Amount stepSize -> - return CalculusOperations.integral(integrand, lowerBound, upperBound, type, stepSize) - } - - Closure.metaClass.integral = {Closure integrand, Amount lowerBound, Amount upperBound, int type, Amount stepSize, Amount tolerance, Amount iterations -> - return CalculusOperations.integral(integrand, lowerBound, upperBound, type, stepSize, tolerance, iterations) - } - RepastMathEMC.calculusInitialized = true - } - - } -} \ No newline at end of file diff --git a/repast.simphony.groovy/src/repast/simphony/groovy/math/UnitsCategory.groovy b/repast.simphony.groovy/src/repast/simphony/groovy/math/UnitsCategory.groovy deleted file mode 100644 index 6acc49cb4..000000000 --- a/repast.simphony.groovy/src/repast/simphony/groovy/math/UnitsCategory.groovy +++ /dev/null @@ -1,1998 +0,0 @@ -/* - * Author: Kevin L. Poch and Michael J. North - */ - -package repast.simphony.groovy.math - -import java.util.* -import javax.measure.unit.* -import org.jscience.physics.amount.* -import org.jscience.mathematics.number.* - - -// SI units: http://jscience.org/api/javax/measure/unit/SI.html -// NonSI Units: http://jscience.org/api/javax/measure/unit/NonSI.html - -class UnitsCategory { - - // Define the pure number creator. - static Amount getPure(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, Unit.ONE) - return x - } - - // Define the pure number creator. - static Amount getPureNumber(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, Unit.ONE) - return x - } - - // Define the deci converter. - static Amount getDeci(Amount amount) { - Amount a = amount.to(SI.DECI(amount.getUnit())) - a.times(Amount.valueOf(10 ** -1, Unit.ONE)) - return a - } - - // Define the deka converter. - static Amount getDeka(Amount amount) { - Amount a = amount.to(SI.DEKA(amount.getUnit())) - a.times(Amount.valueOf(10 ** 1, Unit.ONE)) - return a - } - - // Define the centi converter. - static Amount getCenti(Amount amount) { - Amount a = amount.to(SI.CENTI(amount.getUnit())) - a.times(Amount.valueOf(10 ** -2, Unit.ONE)) - return a - } - - // Define the hecto converter. - static Amount getHecto(Amount amount) { - Amount a = amount.to(SI.HECTO(amount.getUnit())) - a.times(Amount.valueOf(10 ** 2, Unit.ONE)) - return a - } - - // Define the milli converter. - static Amount getMilli(Amount amount) { - Amount a = amount.to(SI.MILLI(amount.getUnit())) - a.times(Amount.valueOf(10 ** -3, Unit.ONE)) - return a - } - - // Define the kilo converter. - static Amount getKilo(Amount amount) { - Amount a = amount.to(SI.KILO(amount.getUnit())) - a.times(Amount.valueOf(10 ** 3, Unit.ONE)) - return a - } - - // Define the micro converter. - static Amount getMicro(Amount amount) { - Amount a = amount.to(SI.MICRO(amount.getUnit())) - a.times(Amount.valueOf(10 ** -6, Unit.ONE)) - return a - } - - // Define the mega converter. - static Amount getMega(Amount amount) { - Amount a = amount.to(SI.MEGA(amount.getUnit())) - a.times(Amount.valueOf(10 ** 6, Unit.ONE)) - return a - } - - // Define the nano converter. - static Amount getNano(Amount amount) { - Amount a = amount.to(SI.NANO(amount.getUnit())) - a.times(Amount.valueOf(10 ** -9, Unit.ONE)) - return a - } - - // Define the giga converter. - static Amount getGiga(Amount amount) { - Amount a = amount.to(SI.GIGA(amount.getUnit())) - a.times(Amount.valueOf(10 ** 9, Unit.ONE)) - return a - } - - // Define the pico converter. - static Amount getPico(Amount amount) { - Amount a = amount.to(SI.PICO(amount.getUnit())) - a.times(Amount.valueOf(10 ** -12, Unit.ONE)) - return a - } - - // Define the tera converter. - static Amount getTera(Amount amount) { - Amount a = amount.to(SI.TERA(amount.getUnit())) - a.times(Amount.valueOf(10 ** 12, Unit.ONE)) - return a - } - - // Define the femto converter. - static Amount getFemto(Amount amount) { - Amount a = amount.to(SI.FEMTO(amount.getUnit())) - a.times(Amount.valueOf(10 ** -15, Unit.ONE)) - return a - } - - // Define the peta converter. - static Amount getPeta(Amount amount) { - Amount a = amount.to(SI.PETA(amount.getUnit())) - a.times(Amount.valueOf(10 ** 15, Unit.ONE)) - return a - } - - // Define the atto converter. - static Amount getAtto(Amount amount) { - Amount a = amount.to(SI.ATTO(amount.getUnit())) - a.times(Amount.valueOf(10 ** -18, Unit.ONE)) - return a - } - - // Define the exa converter. - static Amount getExa(Amount amount) { - Amount a = amount.to(SI.EXA(amount.getUnit())) - a.times(Amount.valueOf(10 ** 18, Unit.ONE)) - return a - } - - // Define the zepto converter. - static Amount getZepto(Amount amount) { - Amount a = amount.to(SI.ZEPTO(amount.getUnit())) - a.times(Amount.valueOf(10 ** -21, Unit.ONE)) - return a - } - - // Define the zetta converter. - static Amount getZetta(Amount amount) { - Amount a = amount.to(SI.ZETTA(amount.getUnit())) - a.times(Amount.valueOf(10 ** 21, Unit.ONE)) - return a - } - - // Define the yocto converter. - static Amount getYocto(Amount amount) { - Amount a = amount.to(SI.YOCTO(amount.getUnit())) - a.times(Amount.valueOf(10 ** -24, Unit.ONE)) - return a - } - - // Define the yotta converter. - static Amount getYotta(Amount amount) { - Amount a = amount.to(SI.YOTTA(amount.getUnit())) - a.times(Amount.valueOf(10 ** 24, Unit.ONE)) - return a - } - - // Define the meter creator. - static Amount getMeters(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.METER) - return x - } - - // Define the kilometers creator. - static Amount getKilometers(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.KILO(SI.METER)) - return x - } - - // Define the centimeters creator. - static Amount getCentimeters(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.CENTI(SI.METER)) - return x - } - - // Define the millimeters creator. - static Amount getMillimeters(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.MILLI(SI.METER)) - return x - } - - // Define the micrometers creator. - static Amount getMicrometers(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.MICRO(SI.METER)) - return x - } - - // Define the decimeters creator. - static Amount getDecimeters(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.DECI(SI.METER)) - return x - } - - // Define the kilograms creator. - static Amount getKilograms(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.KILOGRAM) - return x - } - - // Define the milligrams creator. - static Amount getMilligrams(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.MILLI(SI.GRAM)) - return x - } - - // Define the angstroms creator. - static Amount getAngstroms(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.ANGSTROM) - return x - } - - // Define the pounds creator. - static Amount getPounds(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.POUND) - return x - } - - // Define the grams creator. - static Amount getGrams(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.GRAM) - return x - } - - // Define the amperes creator. - static Amount getAmperes(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.AMPERE) - return x - } - - // Define the becquerels creator. - static Amount getBecquerels(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.BECQUEREL) - return x - } - - // Define the kilobecquerels creator. - static Amount getKilobecquerels(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.KILO(SI.BECQUEREL)) - return x - } - - // Define the megabecquerels creator. - static Amount getMegabecquerels(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.MEGA(SI.BECQUEREL)) - return x - } - - // Define the gigabecquerels creator. - static Amount getGigabecquerels(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.GIGA(SI.BECQUEREL)) - return x - } - - // Define the bits creator. - static Amount getBits(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.BIT) - return x - } - - // Define the kilobits creator. - static Amount getKilobits(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.KILO(SI.BIT)) - return x - } - - // Define the megabits creator. - static Amount getMegabits(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.MEGA(SI.BIT)) - return x - } - - // Define the gigabits creator. - static Amount getGigabits(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.GIGA(SI.BIT)) - return x - } - - // Define the terabits creator. - static Amount getTerabits(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.TERA(SI.BIT)) - return x - } - - // Define the candelas creator. - static Amount getCandelas(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.CANDELA) - return x - } - - // Define the celsius creator. - static Amount getCelsius(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.CELSIUS) - return x - } - - // Define the coulombs creator. - static Amount getCoulombs(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.COULOMB) - return x - } - - // Define the cubic meters creator. - static Amount getCubic_meters(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.CUBIC_METRE) - return x - } - - // Define the farads creator. - static Amount getFarads(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.FARAD) - return x - } - - // Define the microfarads creator. - static Amount getMicrofarads(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.MICRO(SI.FARAD)) - return x - } - - // Define the nanofarads creator. - static Amount getNanofarads(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.NANO(SI.FARAD)) - return x - } - - // Define the picofarads creator. - static Amount getPicofarads(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.PICO(SI.FARAD)) - return x - } - - // Define the grays creator. - static Amount getGrays(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.GRAY) - return x - } - - // Define the milligrays creator. - static Amount getMilligrays(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.MILLI(SI.GRAY)) - return x - } - - // Define the henrys creator. - static Amount getHenrys(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.HENRY) - return x - } - - // Define the hertz creator. - static Amount getHertz(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.HERTZ) - return x - } - - // Define the kilohertz creator. - static Amount getKilohertz(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.KILO(SI.HERTZ)) - return x - } - - // Define the megahertz creator. - static Amount getMegahertz(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.MEGA(SI.HERTZ)) - return x - } - - // Define the joules creator. - static Amount getJoules(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.JOULE) - return x - } - - // Define the kilojoules creator. - static Amount getKilojoules(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.KILO(SI.JOULE)) - return x - } - - // Define the katals creator. - static Amount getKatals(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.KATAL) - return x - } - - // Define the kelvin creator. - static Amount getKelvin(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.KELVIN) - return x - } - - // Define the lumens creator. - static Amount getLumens(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.LUMEN) - return x - } - - // Define the lux creator. - static Amount getLux(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.LUX) - return x - } - - // Define the microlux creator. - static Amount getMicrolux(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.MICRO(SI.LUX)) - return x - } - - // Define the millilux creator. - static Amount getMillilux(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.MILLI(SI.LUX)) - return x - } - - // Define the kilolux creator. - static Amount getKilolux(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.KILO(SI.LUX)) - return x - } - - // Define the meter per second creator. - static Amount getMeter_per_second(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.METERS_PER_SECOND) - return x - } - - // Define the meter per square second creator. - static Amount getMeter_per_square_second(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.METERS_PER_SQUARE_SECOND) - return x - } - - // Define the moles creator. - static Amount getMoles(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.MOLE) - return x - } - - // Define the newtons creator. - static Amount getNewtons(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.NEWTON) - return x - } - - // Define the ohms creator. - static Amount getOhms(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.OHM) - return x - } - - // Define the pascals creator. - static Amount getPascals(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.PASCAL) - return x - } - - // Define the kilopascals creator. - static Amount getKilopascals(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.KILO(SI.PASCAL)) - return x - } - - // Define the radians creator. - static Amount getRadians(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.RADIAN) - return x - } - - // Define the milliradians creator. - static Amount getMilliradians(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.MILLI(SI.RADIAN)) - return x - } - - // Define the microradians creator. - static Amount getMicroradians(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.MICRO(SI.RADIAN)) - return x - } - - // Define the nanoradians creator. - static Amount getNanoradians(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.NANO(SI.RADIAN)) - return x - } - - // Define the seconds creator. - static Amount getSeconds(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.SECOND) - return x - } - - // Define the siemens creator. - static Amount getSiemens(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.SIEMENS) - return x - } - - // Define the sieverts creator. - static Amount getSieverts(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.SIEVERT) - return x - } - - // Define the millisieverts creator. - static Amount getMillisieverts(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.MILLI(SI.SIEVERT)) - return x - } - - // Define the microsieverts creator. - static Amount getMicrosieverts(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.MICRO(SI.SIEVERT)) - return x - } - - // Define the square meters creator. - static Amount getSquare_meters(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.MICRO(SI.SQUARE_METRE)) - return x - } - - // Define the steradians creator. - static Amount getSteradians(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.STERADIAN) - return x - } - - // Define the teslas creator. - static Amount getTeslas(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.TESLA) - return x - } - - // Define the volts creator. - static Amount getVolts(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.VOLT) - return x - } - - // Define the kilovolts creator. - static Amount getKilovolts(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.KILO(SI.VOLT)) - return x - } - - // Define the watts creator. - static Amount getWatts(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.WATT) - return x - } - - // Define the kilowatts creator. - static Amount getKilowatts(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.KILO(SI.WATT)) - return x - } - - // Define the megawatts creator. - static Amount getMegawatts(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.MEGA(SI.WATT)) - return x - } - - // Define the webers creator. - static Amount getWebers(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, SI.WEBER) - return x - } - - // Define the ares creator. - static Amount getAres(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.ARE) - return x - } - - // Define the astronomical units creator. - static Amount getAstronomical_units(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.ASTRONOMICAL_UNIT) - return x - } - - // Define the atmospheres creator. - static Amount getAtmospheres(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.ATMOSPHERE) - return x - } - - // Define the atoms creator. - static Amount getAtoms(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.ATOM) - return x - } - - // Define the atomic mass creator. - static Amount getAtomic_mass(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.ATOMIC_MASS) - return x - } - - // Define the bars creator. - static Amount getBars(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.BAR) - return x - } - - // Define the bytes creator. - static Amount getBytes(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.BYTE) - return x - } - - // Define the c creator. - static Amount getC(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.C) - return x - } - - // Define the centiradians creator. - static Amount getCentiradians(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.CENTIRADIAN) - return x - } - - // Define the computer point creator. - static Amount getComputer_point(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.COMPUTER_POINT) - return x - } - - // Define the cubic inches creator. - static Amount getCubic_inches(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.CUBIC_INCH) - return x - } - - // Define the curies creator. - static Amount getCuries(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.CURIE) - return x - } - - // Define the days creator. - static Amount getDays(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.DAY) - return x - } - - // Define the day sidereal creator. - static Amount getDay_sidereal(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.DAY_SIDEREAL) - return x - } - - // Define the decibels creator. - static Amount getDecibels(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.DECIBEL) - return x - } - - // Define the degree angle creator. - static Amount getDegree_angle(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.DEGREE_ANGLE) - return x - } - - // Define the dynes creator. - static Amount getDynes(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.DYNE) - return x - } - - // Define the e creator. - static Amount getE(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.E) - return x - } - - // Define the electron mass creator. - static Amount getElectron_mass(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.ELECTRON_MASS) - return x - } - - // Define the electron volt creator. - static Amount getElectron_volt(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.ELECTRON_VOLT) - return x - } - - // Define the ergs creator. - static Amount getErgs(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.ERG) - return x - } - - // Define the fahrenheit creator. - static Amount getFahrenheit(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.FAHRENHEIT) - return x - } - - // Define the faradays creator. - static Amount getFaradays(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.FARADAY) - return x - } - - // Define the feet creator. - static Amount getFeet(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.FOOT) - return x - } - - // Define the foot_survey_us creator. - static Amount getFoot_survey_us(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.FOOT_SURVEY_US) - return x - } - - // Define the franklins creator. - static Amount getFranklins(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.FRANKLIN) - return x - } - - // Define the g creator. - static Amount getG(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.G) - return x - } - - // Define the gallon dry us creator. - static Amount getGallon_dry_us(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.GALLON_DRY_US) - return x - } - - // Define the gallon liquid us creator. - static Amount getGallon_liquid_us(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.GALLON_LIQUID_US) - return x - } - - // Define the gallon uk creator. - static Amount getGallon_uk(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.GALLON_UK) - return x - } - - // Define the gauss creator. - static Amount getGauss(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.GAUSS) - return x - } - - // Define the gilberts creator. - static Amount getGilberts(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.GILBERT) - return x - } - - // Define the grades creator. - static Amount getGrades(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.GRADE) - return x - } - - // Define the hectares creator. - static Amount getHectares(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.HECTARE) - return x - } - - // Define the horsepower creator. - static Amount getHorsepower(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.HORSEPOWER) - return x - } - - // Define the hours creator. - static Amount getHours(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.HOUR) - return x - } - - // Define the inches creator. - static Amount getInches(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.INCH) - return x - } - - // Define the inch_of_mercury creator. - static Amount getInch_of_mercury(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.INCH_OF_MERCURY) - return x - } - - // Define the kilogram force creator. - static Amount getKilogram_force(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.KILOGRAM_FORCE) - return x - } - - // Define the knots creator. - static Amount getKnots(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.KNOT) - return x - } - - // Define the lamberts creator. - static Amount getLamberts(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.LAMBERT) - return x - } - - // Define the light years creator. - static Amount getLight_years(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.LIGHT_YEAR) - return x - } - - // Define the liters creator. - static Amount getLiters(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.LITER) - return x - } - - // Define the mach creator. - static Amount getMach(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.MACH) - return x - } - - // Define the maxwells creator. - static Amount getMaxwells(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.MAXWELL) - return x - } - - // Define the metric tons creator. - static Amount getMetric_tons(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.METRIC_TON) - return x - } - - // Define the miles creator. - static Amount getMiles(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.MILE) - return x - } - - // Define the millimeters of mercury creator. - static Amount getMillimeters_of_mercury(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.MILLIMETER_OF_MERCURY) - return x - } - - // Define the minutes creator. - static Amount getMinutes(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.MINUTE) - return x - } - - // Define the minute angle creator. - static Amount getMinute_angle(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.MINUTE_ANGLE) - return x - } - - // Define the months creator. - static Amount getMonths(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.MONTH) - return x - } - - // Define the nautical miles creator. - static Amount getNautical_miles(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.NAUTICAL_MILE) - return x - } - - // Define the octets creator. - static Amount getOctets(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.OCTET) - return x - } - - // Define the ounces creator. - static Amount getOunces(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.OUNCE) - return x - } - - // Define the ounce liquid uk creator. - static Amount getOunce_liquid_uk(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.OUNCE_LIQUID_UK) - return x - } - - // Define the ounce liquid us creator. - static Amount getOunce_liquid_us(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.OUNCE_LIQUID_US) - return x - } - - // Define the parsecs creator. - static Amount getParsecs(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.PARSEC) - return x - } - - // Define the percent creator. - static Amount getPercent(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.PERCENT) - return x - } - - // Define the pixels creator. - static Amount getPixels(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.PIXEL) - return x - } - - // Define the points creator. - static Amount getPoints(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.POINT) - return x - } - - // Define the poise creator. - static Amount getPoise(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.POISE) - return x - } - - // Define the pound force creator. - static Amount getPound_force(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.POUND_FORCE) - return x - } - - // Define the rads creator. - static Amount getRads(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.RAD) - return x - } - - // Define the rankines creator. - static Amount getRankines(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.RANKINE) - return x - } - - // Define the rems creator. - static Amount getRems(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.REM) - return x - } - - // Define the revolutions creator. - static Amount getRevolutions(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.REVOLUTION) - return x - } - - // Define the roentgens creator. - static Amount getRoentgens(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.ROENTGEN) - return x - } - - // Define the rutherfords creator. - static Amount getRutherfords(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.RUTHERFORD) - return x - } - - // Define the second angle creator. - static Amount getSecond_angle(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.SECOND_ANGLE) - return x - } - - // Define the spheres creator. - static Amount getSpheres(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.SPHERE) - return x - } - - // Define the stokes creator. - static Amount getStokes(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.STOKE) - return x - } - - // Define the ton uk creator. - static Amount getTon_uk(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.TON_UK) - return x - } - - // Define the ton us creator. - static Amount getTon_us(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.TON_US) - return x - } - - // Define the weeks creator. - static Amount getWeeks(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.WEEK) - return x - } - - // Define the yards creator. - static Amount getYards(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.YARD) - return x - } - - // Define the years creator. - static Amount getYears(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.YEAR) - return x - } - - // Define the year_calendar creator. - static Amount getYear_calendar(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.YEAR_CALENDAR) - return x - } - - // Define the year_sidereal creator. - static Amount getYear_sidereal(java.math.BigDecimal amount) { - Amount x = Amount.valueOf(amount, NonSI.YEAR_SIDEREAL) - return x - } - - // Define the pure number creator. - static Amount getPure(Integer amount) { - Amount x = Amount.valueOf(amount, Unit.ONE) - return x - } - - // Define the pure number creator. - static Amount getPureNumber(Integer amount) { - Amount x = Amount.valueOf(amount, Unit.ONE) - return x - } - - // Define the meter creator. - static Amount getMeters(Integer amount) { - Amount x = Amount.valueOf(amount, SI.METER) - return x - } - - // Define the kilometers creator. - static Amount getKilometers(Integer amount) { - Amount x = Amount.valueOf(amount, SI.KILO(SI.METER)) - return x - } - - // Define the centimeters creator. - static Amount getCentimeters(Integer amount) { - Amount x = Amount.valueOf(amount, SI.CENTI(SI.METER)) - return x - } - - // Define the millimeters creator. - static Amount getMillimeters(Integer amount) { - Amount x = Amount.valueOf(amount, SI.MILLI(SI.METER)) - return x - } - - // Define the micrometers creator. - static Amount getMicrometers(Integer amount) { - Amount x = Amount.valueOf(amount, SI.MICRO(SI.METER)) - return x - } - - // Define the decimeters creator. - static Amount getDecimeters(Integer amount) { - Amount x = Amount.valueOf(amount, SI.DECI(SI.METER)) - return x - } - - // Define the kilograms creator. - static Amount getKilograms(Integer amount) { - Amount x = Amount.valueOf(amount, SI.KILOGRAM) - return x - } - - // Define the milligrams creator. - static Amount getMilligrams(Integer amount) { - Amount x = Amount.valueOf(amount, SI.MILLI(SI.GRAM)) - return x - } - - // Define the angstroms creator. - static Amount getAngstroms(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.ANGSTROM) - return x - } - - // Define the pounds creator. - static Amount getPounds(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.POUND) - return x - } - - // Define the grams creator. - static Amount getGrams(Integer amount) { - Amount x = Amount.valueOf(amount, SI.GRAM) - return x - } - - // Define the amperes creator. - static Amount getAmperes(Integer amount) { - Amount x = Amount.valueOf(amount, SI.AMPERE) - return x - } - - // Define the becquerels creator. - static Amount getBecquerels(Integer amount) { - Amount x = Amount.valueOf(amount, SI.BECQUEREL) - return x - } - - // Define the kilobecquerels creator. - static Amount getKilobecquerels(Integer amount) { - Amount x = Amount.valueOf(amount, SI.KILO(SI.BECQUEREL)) - return x - } - - // Define the megabecquerels creator. - static Amount getMegabecquerels(Integer amount) { - Amount x = Amount.valueOf(amount, SI.MEGA(SI.BECQUEREL)) - return x - } - - // Define the gigabecquerels creator. - static Amount getGigabecquerels(Integer amount) { - Amount x = Amount.valueOf(amount, SI.GIGA(SI.BECQUEREL)) - return x - } - - // Define the bits creator. - static Amount getBits(Integer amount) { - Amount x = Amount.valueOf(amount, SI.BIT) - return x - } - - // Define the kilobits creator. - static Amount getKilobits(Integer amount) { - Amount x = Amount.valueOf(amount, SI.KILO(SI.BIT)) - return x - } - - // Define the megabits creator. - static Amount getMegabits(Integer amount) { - Amount x = Amount.valueOf(amount, SI.MEGA(SI.BIT)) - return x - } - - // Define the gigabits creator. - static Amount getGigabits(Integer amount) { - Amount x = Amount.valueOf(amount, SI.GIGA(SI.BIT)) - return x - } - - // Define the terabits creator. - static Amount getTerabits(Integer amount) { - Amount x = Amount.valueOf(amount, SI.TERA(SI.BIT)) - return x - } - - // Define the candelas creator. - static Amount getCandelas(Integer amount) { - Amount x = Amount.valueOf(amount, SI.CANDELA) - return x - } - - // Define the celsius creator. - static Amount getCelsius(Integer amount) { - Amount x = Amount.valueOf(amount, SI.CELSIUS) - return x - } - - // Define the coulombs creator. - static Amount getCoulombs(Integer amount) { - Amount x = Amount.valueOf(amount, SI.COULOMB) - return x - } - - // Define the cubic meters creator. - static Amount getCubic_meters(Integer amount) { - Amount x = Amount.valueOf(amount, SI.CUBIC_METRE) - return x - } - - // Define the farads creator. - static Amount getFarads(Integer amount) { - Amount x = Amount.valueOf(amount, SI.FARAD) - return x - } - - // Define the microfarads creator. - static Amount getMicrofarads(Integer amount) { - Amount x = Amount.valueOf(amount, SI.MICRO(SI.FARAD)) - return x - } - - // Define the nanofarads creator. - static Amount getNanofarads(Integer amount) { - Amount x = Amount.valueOf(amount, SI.NANO(SI.FARAD)) - return x - } - - // Define the picofarads creator. - static Amount getPicofarads(Integer amount) { - Amount x = Amount.valueOf(amount, SI.PICO(SI.FARAD)) - return x - } - - // Define the grays creator. - static Amount getGrays(Integer amount) { - Amount x = Amount.valueOf(amount, SI.GRAY) - return x - } - - // Define the milligrays creator. - static Amount getMilligrays(Integer amount) { - Amount x = Amount.valueOf(amount, SI.MILLI(SI.GRAY)) - return x - } - - // Define the henrys creator. - static Amount getHenrys(Integer amount) { - Amount x = Amount.valueOf(amount, SI.HENRY) - return x - } - - // Define the hertz creator. - static Amount getHertz(Integer amount) { - Amount x = Amount.valueOf(amount, SI.HERTZ) - return x - } - - // Define the kilohertz creator. - static Amount getKilohertz(Integer amount) { - Amount x = Amount.valueOf(amount, SI.KILO(SI.HERTZ)) - return x - } - - // Define the megahertz creator. - static Amount getMegahertz(Integer amount) { - Amount x = Amount.valueOf(amount, SI.MEGA(SI.HERTZ)) - return x - } - - // Define the joules creator. - static Amount getJoules(Integer amount) { - Amount x = Amount.valueOf(amount, SI.JOULE) - return x - } - - // Define the kilojoules creator. - static Amount getKilojoules(Integer amount) { - Amount x = Amount.valueOf(amount, SI.KILO(SI.JOULE)) - return x - } - - // Define the katals creator. - static Amount getKatals(Integer amount) { - Amount x = Amount.valueOf(amount, SI.KATAL) - return x - } - - // Define the kelvin creator. - static Amount getKelvin(Integer amount) { - Amount x = Amount.valueOf(amount, SI.KELVIN) - return x - } - - // Define the lumens creator. - static Amount getLumens(Integer amount) { - Amount x = Amount.valueOf(amount, SI.LUMEN) - return x - } - - // Define the lux creator. - static Amount getLux(Integer amount) { - Amount x = Amount.valueOf(amount, SI.LUX) - return x - } - - // Define the microlux creator. - static Amount getMicrolux(Integer amount) { - Amount x = Amount.valueOf(amount, SI.MICRO(SI.LUX)) - return x - } - - // Define the millilux creator. - static Amount getMillilux(Integer amount) { - Amount x = Amount.valueOf(amount, SI.MILLI(SI.LUX)) - return x - } - - // Define the kilolux creator. - static Amount getKilolux(Integer amount) { - Amount x = Amount.valueOf(amount, SI.KILO(SI.LUX)) - return x - } - - // Define the meter per second creator. - static Amount getMeter_per_second(Integer amount) { - Amount x = Amount.valueOf(amount, SI.METER_PER_SECOND) - return x - } - - // Define the meter per square second creator. - static Amount getMeter_per_square_second(Integer amount) { - Amount x = Amount.valueOf(amount, SI.METER_PER_SQUARE_SECOND) - return x - } - - // Define the moles creator. - static Amount getMoles(Integer amount) { - Amount x = Amount.valueOf(amount, SI.MOLE) - return x - } - - // Define the newtons creator. - static Amount getNewtons(Integer amount) { - Amount x = Amount.valueOf(amount, SI.NEWTON) - return x - } - - // Define the ohms creator. - static Amount getOhms(Integer amount) { - Amount x = Amount.valueOf(amount, SI.OHM) - return x - } - - // Define the pascals creator. - static Amount getPascals(Integer amount) { - Amount x = Amount.valueOf(amount, SI.PASCAL) - return x - } - - // Define the kilopascals creator. - static Amount getKilopascals(Integer amount) { - Amount x = Amount.valueOf(amount, SI.KILO(SI.PASCAL)) - return x - } - - // Define the radians creator. - static Amount getRadians(Integer amount) { - Amount x = Amount.valueOf(amount, SI.RADIAN) - return x - } - - // Define the milliradians creator. - static Amount getMilliradians(Integer amount) { - Amount x = Amount.valueOf(amount, SI.MILLI(SI.RADIAN)) - return x - } - - // Define the microradians creator. - static Amount getMicroradians(Integer amount) { - Amount x = Amount.valueOf(amount, SI.MICRO(SI.RADIAN)) - return x - } - - // Define the nanoradians creator. - static Amount getNanoradians(Integer amount) { - Amount x = Amount.valueOf(amount, SI.NANO(SI.RADIAN)) - return x - } - - // Define the seconds creator. - static Amount getSeconds(Integer amount) { - Amount x = Amount.valueOf(amount, SI.SECOND) - return x - } - - // Define the siemens creator. - static Amount getSiemens(Integer amount) { - Amount x = Amount.valueOf(amount, SI.SIEMENS) - return x - } - - // Define the sieverts creator. - static Amount getSieverts(Integer amount) { - Amount x = Amount.valueOf(amount, SI.SIEVERT) - return x - } - - // Define the millisieverts creator. - static Amount getMillisieverts(Integer amount) { - Amount x = Amount.valueOf(amount, SI.MILLI(SI.SIEVERT)) - return x - } - - // Define the microsieverts creator. - static Amount getMicrosieverts(Integer amount) { - Amount x = Amount.valueOf(amount, SI.MICRO(SI.SIEVERT)) - return x - } - - // Define the square meters creator. - static Amount getSquare_meters(Integer amount) { - Amount x = Amount.valueOf(amount, SI.MICRO(SI.SQUARE_METRE)) - return x - } - - // Define the steradians creator. - static Amount getSteradians(Integer amount) { - Amount x = Amount.valueOf(amount, SI.STERADIAN) - return x - } - - // Define the teslas creator. - static Amount getTeslas(Integer amount) { - Amount x = Amount.valueOf(amount, SI.TESLA) - return x - } - - // Define the volts creator. - static Amount getVolts(Integer amount) { - Amount x = Amount.valueOf(amount, SI.VOLT) - return x - } - - // Define the kilovolts creator. - static Amount getKilovolts(Integer amount) { - Amount x = Amount.valueOf(amount, SI.KILO(SI.VOLT)) - return x - } - - // Define the watts creator. - static Amount getWatts(Integer amount) { - Amount x = Amount.valueOf(amount, SI.WATT) - return x - } - - // Define the kilowatts creator. - static Amount getKilowatts(Integer amount) { - Amount x = Amount.valueOf(amount, SI.KILO(SI.WATT)) - return x - } - - // Define the megawatts creator. - static Amount getMegawatts(Integer amount) { - Amount x = Amount.valueOf(amount, SI.MEGA(SI.WATT)) - return x - } - - // Define the webers creator. - static Amount getWebers(Integer amount) { - Amount x = Amount.valueOf(amount, SI.WEBER) - return x - } - - // Define the ares creator. - static Amount getAres(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.ARE) - return x - } - - // Define the astronomical units creator. - static Amount getAstronomical_units(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.ASTRONOMICAL_UNIT) - return x - } - - // Define the atmospheres creator. - static Amount getAtmospheres(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.ATMOSPHERE) - return x - } - - // Define the atoms creator. - static Amount getAtoms(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.ATOM) - return x - } - - // Define the atomic mass creator. - static Amount getAtomic_mass(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.ATOMIC_MASS) - return x - } - - // Define the bars creator. - static Amount getBars(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.BAR) - return x - } - - // Define the bytes creator. - static Amount getBytes(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.BYTE) - return x - } - - // Define the c creator. - static Amount getC(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.C) - return x - } - - // Define the centiradians creator. - static Amount getCentiradians(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.CENTIRADIAN) - return x - } - - // Define the computer point creator. - static Amount getComputer_point(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.COMPUTER_POINT) - return x - } - - // Define the cubic inches creator. - static Amount getCubic_inches(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.CUBIC_INCH) - return x - } - - // Define the curies creator. - static Amount getCuries(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.CURIE) - return x - } - - // Define the days creator. - static Amount getDays(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.DAY) - return x - } - - // Define the day sidereal creator. - static Amount getDay_sidereal(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.DAY_SIDEREAL) - return x - } - - // Define the decibels creator. - static Amount getDecibels(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.DECIBEL) - return x - } - - // Define the degree angle creator. - static Amount getDegree_angle(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.DEGREE_ANGLE) - return x - } - - // Define the dynes creator. - static Amount getDynes(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.DYNE) - return x - } - - // Define the e creator. - static Amount getE(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.E) - return x - } - - // Define the electron mass creator. - static Amount getElectron_mass(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.ELECTRON_MASS) - return x - } - - // Define the electron volt creator. - static Amount getElectron_volt(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.ELECTRON_VOLT) - return x - } - - // Define the ergs creator. - static Amount getErgs(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.ERG) - return x - } - - // Define the fahrenheit creator. - static Amount getFahrenheit(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.FAHRENHEIT) - return x - } - - // Define the faradays creator. - static Amount getFaradays(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.FARADAY) - return x - } - - // Define the feet creator. - static Amount getFeet(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.FOOT) - return x - } - - // Define the foot_survey_us creator. - static Amount getFoot_survey_us(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.FOOT_SURVEY_US) - return x - } - - // Define the franklins creator. - static Amount getFranklins(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.FRANKLIN) - return x - } - - // Define the g creator. - static Amount getG(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.G) - return x - } - - // Define the gallon dry us creator. - static Amount getGallon_dry_us(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.GALLON_DRY_US) - return x - } - - // Define the gallon liquid us creator. - static Amount getGallon_liquid_us(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.GALLON_LIQUID_US) - return x - } - - // Define the gallon uk creator. - static Amount getGallon_uk(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.GALLON_UK) - return x - } - - // Define the gauss creator. - static Amount getGauss(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.GAUSS) - return x - } - - // Define the gilberts creator. - static Amount getGilberts(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.GILBERT) - return x - } - - // Define the grades creator. - static Amount getGrades(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.GRADE) - return x - } - - // Define the hectares creator. - static Amount getHectares(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.HECTARE) - return x - } - - // Define the horsepower creator. - static Amount getHorsepower(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.HORSEPOWER) - return x - } - - // Define the hours creator. - static Amount getHours(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.HOUR) - return x - } - - // Define the inches creator. - static Amount getInches(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.INCH) - return x - } - - // Define the inch_of_mercury creator. - static Amount getInch_of_mercury(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.INCH_OF_MERCURY) - return x - } - - // Define the kilogram force creator. - static Amount getKilogram_force(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.KILOGRAM_FORCE) - return x - } - - // Define the knots creator. - static Amount getKnots(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.KNOT) - return x - } - - // Define the lamberts creator. - static Amount getLamberts(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.LAMBERT) - return x - } - - // Define the light years creator. - static Amount getLight_years(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.LIGHT_YEAR) - return x - } - - // Define the liters creator. - static Amount getLiters(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.LITER) - return x - } - - // Define the mach creator. - static Amount getMach(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.MACH) - return x - } - - // Define the maxwells creator. - static Amount getMaxwells(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.MAXWELL) - return x - } - - // Define the metric tons creator. - static Amount getMetric_tons(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.METRIC_TON) - return x - } - - // Define the miles creator. - static Amount getMiles(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.MILE) - return x - } - - // Define the millimeters of mercury creator. - static Amount getMillimeters_of_mercury(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.MILLIMETER_OF_MERCURY) - return x - } - - // Define the minutes creator. - static Amount getMinutes(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.MINUTE) - return x - } - - // Define the minute angle creator. - static Amount getMinute_angle(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.MINUTE_ANGLE) - return x - } - - // Define the months creator. - static Amount getMonths(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.MONTH) - return x - } - - // Define the nautical miles creator. - static Amount getNautical_miles(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.NAUTICAL_MILE) - return x - } - - // Define the octets creator. - static Amount getOctets(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.OCTET) - return x - } - - // Define the ounces creator. - static Amount getOunces(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.OUNCE) - return x - } - - // Define the ounce liquid uk creator. - static Amount getOunce_liquid_uk(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.OUNCE_LIQUID_UK) - return x - } - - // Define the ounce liquid us creator. - static Amount getOunce_liquid_us(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.OUNCE_LIQUID_US) - return x - } - - // Define the parsecs creator. - static Amount getParsecs(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.PARSEC) - return x - } - - // Define the percent creator. - static Amount getPercent(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.PERCENT) - return x - } - - // Define the pixels creator. - static Amount getPixels(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.PIXEL) - return x - } - - // Define the points creator. - static Amount getPoints(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.POINT) - return x - } - - // Define the poise creator. - static Amount getPoise(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.POISE) - return x - } - - // Define the pound force creator. - static Amount getPound_force(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.POUND_FORCE) - return x - } - - // Define the rads creator. - static Amount getRads(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.RAD) - return x - } - - // Define the rankines creator. - static Amount getRankines(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.RANKINE) - return x - } - - // Define the rems creator. - static Amount getRems(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.REM) - return x - } - - // Define the revolutions creator. - static Amount getRevolutions(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.REVOLUTION) - return x - } - - // Define the roentgens creator. - static Amount getRoentgens(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.ROENTGEN) - return x - } - - // Define the rutherfords creator. - static Amount getRutherfords(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.RUTHERFORD) - return x - } - - // Define the second angle creator. - static Amount getSecond_angle(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.SECOND_ANGLE) - return x - } - - // Define the spheres creator. - static Amount getSpheres(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.SPHERE) - return x - } - - // Define the stokes creator. - static Amount getStokes(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.STOKE) - return x - } - - // Define the ton uk creator. - static Amount getTon_uk(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.TON_UK) - return x - } - - // Define the ton us creator. - static Amount getTon_us(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.TON_US) - return x - } - - // Define the weeks creator. - static Amount getWeeks(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.WEEK) - return x - } - - // Define the yards creator. - static Amount getYards(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.YARD) - return x - } - - // Define the years creator. - static Amount getYears(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.YEAR) - return x - } - - // Define the year_calendar creator. - static Amount getYear_calendar(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.YEAR_CALENDAR) - return x - } - - // Define the year_sidereal creator. - static Amount getYear_sidereal(Integer amount) { - Amount x = Amount.valueOf(amount, NonSI.YEAR_SIDEREAL) - return x - } - - static Amount plus(Amount amount1, Amount amount2) { - return UnitsOperations.addition(amount1, amount2) - } - - static Amount multiply(Amount amount1, Amount amount2) { - return UnitsOperations.multiplication(amount1, amount2) - } - - static Amount multiply(BigDecimal number, Amount amt) { - return UnitsOperations.multiplication(number, amt) - } - - static Amount multiply(Amount amt, BigDecimal number) { - return UnitsOperations.multiplication(amt, number) - } - - static Amount multiply(Integer number, Amount amt) { - return UnitsOperations.multiplication(number, amt) - } - - static Amount multiply(Amount amt, Integer number) { - return UnitsOperations.multiplication(amt, number) - } - - static Amount minus(Amount amount1, Amount amount2) { - return UnitsOperations.subtraction(amount1, amount2) - } - - static Amount div(Amount amount1, Amount amount2) { - return UnitsOperations.division(amount1, amount2) - } - - static Amount div(Amount amt, BigDecimal number) { - return UnitsOperations.division(amt, number) - } - - static Amount div(Amount amt, Integer number) { - return UnitsOperations.division(amt, number) - } - - static Amount power(Amount amt, Integer number) { - return UnitsOperations.exponentiation(amt, number) - } - - static Amount power(Amount amt, BigDecimal number) { - return UnitsOperations.exponentiation(amt, number) - } - - static Amount power(Amount amt, Amount amt2) { - return UnitsOperations.exponentiation(amt, amt2) - } - -} \ No newline at end of file diff --git a/repast.simphony.groovy/src/repast/simphony/groovy/math/UnitsOperations.java b/repast.simphony.groovy/src/repast/simphony/groovy/math/UnitsOperations.java deleted file mode 100644 index 1efb3fe0c..000000000 --- a/repast.simphony.groovy/src/repast/simphony/groovy/math/UnitsOperations.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Author: Michael J. North - */ - -package repast.simphony.groovy.math; - -import javax.measure.unit.Unit; - -import org.jscience.physics.amount.Amount; - -public class UnitsOperations { - - public static Amount addition(Amount amount1, Amount amount2) { - return amount1.plus(amount2); - } - - public static Amount addition(Amount amount, java.lang.Number number) { - Amount numberAmount = Amount.valueOf(number.doubleValue(), Unit.ONE); - return amount.plus(numberAmount); - } - - public static Amount addition(java.lang.Number number, Amount amount) { - Amount numberAmount = Amount.valueOf(number.doubleValue(), Unit.ONE); - return amount.plus(numberAmount); - } - - public static Amount subtraction(Amount amount1, Amount amount2) { - return amount1.minus(amount2); - } - - public static Amount subtraction(Amount amount, java.lang.Number number) { - Amount numberAmount = Amount.valueOf(number.doubleValue(), Unit.ONE); - return amount.minus(numberAmount); - } - - public static Amount subtraction(java.lang.Number number, Amount amount) { - Amount numberAmount = Amount.valueOf(number.doubleValue(), Unit.ONE); - return amount.minus(numberAmount); - } - - public static Amount multiplication(Amount amount1, Amount amount2) { - return amount1.times(amount2); - } - - public static Amount multiplication(Amount amount, Number number) { - return amount.times(number.doubleValue()); - } - - public static Amount multiplication(Number number, Amount amount) { - return amount.times(number.doubleValue()); - } - - public static Amount division(Amount amount1, Amount amount2) { - return amount1.divide(amount2); - } - - public static Amount division(Amount amount, Number number) { - return amount.divide(number.doubleValue()); - } - - public static Amount division(Number number, Amount amount) { - return amount.divide(number.doubleValue()).inverse(); - } - - public static Amount exponentiation(Amount amount1, Amount amount2) { - return Amount.valueOf(Math.pow(amount1.getEstimatedValue(), amount2 - .getEstimatedValue()), Unit.ONE); - } - - public static Amount exponentiation(Amount amount, Number number) { - return Amount.valueOf(Math.pow(amount.getEstimatedValue(), number - .doubleValue()), Unit.ONE); - } - - public static Amount exponentiation(Number number, Amount amount) { - return Amount.valueOf(Math.pow(number.doubleValue(), amount - .getEstimatedValue()), Unit.ONE); - } - -} diff --git a/repast.simphony.groovy/test/repast/simphony/groovy/math/CalculusOperationsTest.groovy b/repast.simphony.groovy/test/repast/simphony/groovy/math/CalculusOperationsTest.groovy deleted file mode 100644 index abf0b6208..000000000 --- a/repast.simphony.groovy/test/repast/simphony/groovy/math/CalculusOperationsTest.groovy +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Author: Michael J. North - */ - - -package repast.simphony.groovy.math - -import javax.measure.unit.SI; - - -// http://en.wikipedia.org/wiki/Derivative_(examples) - -import junit.framework.TestCase - -class CalculusOperationsTest extends TestCase { - - public CalculusOperationsTest(){ - RepastMathEMC.initAll(); - } - - void testDerivatives() { - - use (MathOperations.mathCategories()) { - - assertEquals(0.0.kilograms, derivative({ 5.kilograms }, 3.pure, 0.0001.pure)) - - def result = derivative({ 2.kilograms * it - 3.kilograms }, 4.1.pure, 0.0001.pure); - assertEquals(SI.KILOGRAM, result.getUnit()) - assertEquals(2.kilograms.doubleValue(SI.KILOGRAM), result.doubleValue(SI.KILOGRAM), 0.0000001) - - - result = derivative({ 2.meters / 1.0.seconds * it - 3.meters }, 4.1.seconds, 0.0001.seconds) - assertEquals(SI.METERS_PER_SECOND, result.getUnit()) - assertEquals((2.0.meters / 1.0.seconds).doubleValue(SI.METERS_PER_SECOND), result.doubleValue(SI.METERS_PER_SECOND), 0.0000001) - - assertEquals(SI.METERS_PER_SECOND, result.getUnit()) - result = derivative({ 2.meters / 1.0.seconds * it - 3.meters }, 4.1.seconds) - assertEquals(SI.METERS_PER_SECOND, result.getUnit()) - assertEquals((2.0.meters / 1.0.seconds).doubleValue(SI.METERS_PER_SECOND), result.doubleValue(SI.METERS_PER_SECOND), 0.0000001) - } - - } - - void testIntegrals() { - - use (MathOperations.mathCategories()) { - - - println(Math.PI / 4.0) - println("integral 0 = " + integral({(1.pure - it ** 2).sqrt()}, 0.pure, 1.pure)) - - def result = integral({ 5.meters }, 2.0.seconds, 3.0.seconds) - println("integral 1 = " + result) - - - - - println("integral 2 = " + integral({ it / 1.1.seconds }, 2.0.seconds, 3.0.seconds)) - println("integral 3 = " + integral({ 5.meters / 1.1.seconds * it }, 2.0.seconds, 3.0.seconds)) - println("integral 4 = " + integral({ 5.meters / 1.1.seconds * (it ** 2) }, 2.0.seconds, 3.0.seconds)) - println("derivative = " + derivative({5.meters * it}, 1.1.seconds)) - - result = integral({it ** 3.pure}, 2.0.pure, 4.0.pure) - print result - double val = 1.0 / 4 * (4 ** 4 - 2 ** 4) - print val - - - //println("ODE 1 = "+ - // integral({ - // derivative({5.meters * it}, 1.1.seconds) + - // integral({ 5.meters / 1.1.seconds * (it ** 2) }, 2.0.seconds, 3.0.seconds) - // }, 2.0.seconds, 2.1.seconds)) - } - } -} \ No newline at end of file diff --git a/repast.simphony.groovy/test/repast/simphony/groovy/math/MatrixCategoryTestGroovy.groovy b/repast.simphony.groovy/test/repast/simphony/groovy/math/MatrixCategoryTestGroovy.groovy deleted file mode 100644 index cf04b2814..000000000 --- a/repast.simphony.groovy/test/repast/simphony/groovy/math/MatrixCategoryTestGroovy.groovy +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Author: Michael J. North - */ - -package repast.simphony.groovy.math - -import java.util.* -import javax.measure.unit.* -import org.jscience.physics.amount.* -import org.jscience.mathematics.number.* - -class MatrixCategoryTestGroovy extends GroovyTestCase { - - void testCreation() { - - use (MathOperations.mathCategories()) { - - def c = [ [ 2.5.kilograms, 4.3.kilograms], [ 9.6.kilograms, 5.7.kilograms] ].denseMatrix - println("Creation Dense Matrix of Kilograms: " + c + " " + c.getClass()) - - def d = [ [ 2.5.kilograms, 4.3.kilograms], [ 9.6.kilograms, 5.7.kilograms] ].sparseMatrix(0.0.kilograms) - println("Creation Sprase Matrix of Kilograms: " + d + " " + d.getClass()) - - def e = [ [ 2.5.kilograms, 4.3.kilograms], [ 9.6.kilograms, 5.7.kilograms] ].matrix - println("Creation Default (Dense) Matrix of Kilograms: " + e + " " + e.getClass()) - - println( c.pow(3) ) - - println( c + e ) - - println( c - e ) - - println( c * e ) - - println( 0.5.kilograms * e ) - - println( e * 0.5.kilograms ) - - println( e * 0.5 ) - - println( 0.5 * e ) - - println( e ** 2 ) - - } - - } - -} \ No newline at end of file diff --git a/repast.simphony.groovy/test/repast/simphony/groovy/math/MatrixCategoryTestJava.groovy b/repast.simphony.groovy/test/repast/simphony/groovy/math/MatrixCategoryTestJava.groovy deleted file mode 100644 index 96cf92253..000000000 --- a/repast.simphony.groovy/test/repast/simphony/groovy/math/MatrixCategoryTestJava.groovy +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Author: Michael J. North - */ - -package repast.simphony.groovy.math; - -import java.math.BigDecimal; -import java.util.ArrayList; - -import javax.measure.unit.SI; -import javax.measure.unit.Unit; - -import junit.framework.TestCase; - -import org.jscience.mathematics.vector.DenseMatrix; -import org.jscience.mathematics.vector.SparseMatrix; -import org.jscience.physics.amount.Amount; - -public class MatrixCategoryTestJava extends TestCase { - - public MatrixCategoryTestJava() { - super(); - } - - public void testCreation() { - - Amount[][] c = [ - [ - Amount.valueOf(2.5, SI.KILOGRAM), - Amount.valueOf(4.3, SI.KILOGRAM), - ], - [ - Amount.valueOf(9.6, SI.KILOGRAM), - Amount.valueOf(5.7, SI.KILOGRAM) - ] - ]; - DenseMatrix d = MatrixOperations.createDenseMatrix(c); - System.out.println("Creation Dense Matrix of Kilograms from Array: " + d.getClass() + " " + d.toString()); - - Amount element; - ArrayList arrayList = new ArrayList(); - ArrayList row; - int rowIndex = 0; - while (rowIndex < c.length) { - row = new ArrayList(); - arrayList.add(row); - int columnIndex = 0; - while (columnIndex < c[rowIndex].length) { - row.add(c[rowIndex][columnIndex]); - columnIndex++; - } - rowIndex++; - } - DenseMatrix e = MatrixOperations.createDenseMatrix(arrayList); - System.out.println("Creation Dense Matrix of Kilograms from ArrayList: " + e.getClass() + " " + e.toString()); - - SparseMatrix f = MatrixOperations.createSparseMatrix(c, Amount.valueOf(0.0, SI.KILOGRAM)); - System.out.println("Creation Sparse Matrix of Kilograms from Array: " + f.getClass() + " " + f.toString()); - - SparseMatrix g = MatrixOperations.createSparseMatrix(arrayList, Amount.valueOf(0.0, SI.KILOGRAM)); - System.out.println("Creation Sparse Matrix of Kilograms from ArrayList: " + g.getClass() + " " + g.toString()); - - } - -} \ No newline at end of file diff --git a/repast.simphony.groovy/test/repast/simphony/groovy/math/MatrixTestSuite.groovy b/repast.simphony.groovy/test/repast/simphony/groovy/math/MatrixTestSuite.groovy deleted file mode 100644 index 8ebdf4554..000000000 --- a/repast.simphony.groovy/test/repast/simphony/groovy/math/MatrixTestSuite.groovy +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Author: Michael J. North - */ - -package repast.simphony.groovy.math - -import junit.framework.Test; -import junit.framework.TestSuite; - -public class MatrixTestSuite { - - public static Test suite() { - TestSuite suite = new TestSuite("Test for repast.simphony.groovy"); - //$JUnit-BEGIN$ - suite.addTestSuite(MatrixCategoryTestJava.class); - suite.addTestSuite(MatrixCategoryTestGroovy.class); - //$JUnit-END$ - return suite; - } - -} diff --git a/repast.simphony.groovy/test/repast/simphony/groovy/math/RepastMathEMCTest.groovy b/repast.simphony.groovy/test/repast/simphony/groovy/math/RepastMathEMCTest.groovy deleted file mode 100644 index 5403a4268..000000000 --- a/repast.simphony.groovy/test/repast/simphony/groovy/math/RepastMathEMCTest.groovy +++ /dev/null @@ -1,56 +0,0 @@ -package repast.simphony.groovy.math - -import javax.measure.unit.* -import org.jscience.physics.amount.* -import org.jscience.mathematics.number.* -import org.jscience.mathematics.vector.* - -class RepastMathEMCTest extends GroovyTestCase { - - public RepastMathEMCTest(){ - RepastMathEMC.initAll() - } - - void testSimple() { - use (MathOperations.mathCategories()) { - def x = 2.3.meters + 1.2.kilometers - println x - assertEquals (x, 1202.3.meters) - - def y = 2.5.kilograms - } - } - - void testMatrix(){ - use (MathOperations.mathCategories()) { - def c = [ [ 2.5.kilograms, 4.3.kilograms], [ 9.6.kilograms, 5.7.kilograms] ].denseMatrix - println("Creation Dense Matrix of Kilograms: " + c + " " + c.getClass()) - - def d = [ [ 2.5.kilograms, 4.3.kilograms], [ 9.6.kilograms, 5.7.kilograms] ].sparseMatrix(0.0.kilograms) - println("Creation Sprase Matrix of Kilograms: " + d + " " + d.getClass()) - - def e = [ [ 2.5.kilograms, 4.3.kilograms], [ 9.6.kilograms, 5.7.kilograms] ].matrix - println("Creation Default (Dense) Matrix of Kilograms: " + e + " " + e.getClass()) - - println( c.pow(3) ) - - println( c + e ) - - println( c - e ) - - println( c * e ) - - println( 0.5.kilograms * e ) - - println( e * 0.5.kilograms ) - - println( e * 0.5 ) - - println( 0.5 * e ) - - println( e ** 2 ) - } - } - - -} \ No newline at end of file diff --git a/repast.simphony.groovy/test/repast/simphony/groovy/math/UnitsCategoryTest.groovy b/repast.simphony.groovy/test/repast/simphony/groovy/math/UnitsCategoryTest.groovy deleted file mode 100644 index 86b61ec60..000000000 --- a/repast.simphony.groovy/test/repast/simphony/groovy/math/UnitsCategoryTest.groovy +++ /dev/null @@ -1,3282 +0,0 @@ -/* - * Author: Kevin L. Poch and Michael J. North - */ - -package repast.simphony.groovy.math - -import java.util.* -import javax.measure.unit.* -import org.jscience.physics.amount.* -import org.jscience.mathematics.number.* - -class UnitsCategoryTest extends GroovyTestCase { - - public UnitsCategoryTest(){ - RepastMathEMC.initAll(); - } - - void testCreation() { - - use(UnitsCategory) { - - // Test decimeters. - println("Creation Decimeters: " + 1.0.meters.deci); - assert (1.0.meters.deci == 1.0.meters.deci) - - // Test dekameters. - println("Creation Dekameters: " + 1.0.meters.deka); - assert (1.0.meters.deka == 1.0.meters.deka) - - // Test centimeters. - println("Creation Centimeters: " + 1.0.meters.centi); - assert (1.0.meters.centi == 1.0.meters.centi) - - // Test hectometers. - println("Creation Hectometers: " + 1.0.meters.hecto); - assert (1.0.meters.hecto == 1.0.meters.hecto) - - // Test millimeters. - println("Creation Millimeters: " + 1.0.meters.milli); - assert (1.0.meters.milli == 1.0.meters.milli) - - // Test kilometers. - println("Creation Kilometers: " + 1.0.meters.kilo); - assert (1.0.meters.kilo == 1.0.meters.kilo) - - // Test micrometers. - println("Creation Micrometers: " + 1.0.meters.micro); - assert (1.0.meters.micro == 1.0.meters.micro) - - // Test megameters. - println("Creation Megameters: " + 1.0.meters.mega); - assert (1.0.meters.mega == 1.0.meters.mega) - - // Test nanometers. - println("Creation Nanometers: " + 1.0.meters.nano); - assert (1.0.meters.nano == 1.0.meters.nano) - - // Test gigameters. - println("Creation Gigameters: " + 1.0.meters.giga); - assert (1.0.meters.giga == 1.0.meters.giga) - - // Test picometers. - println("Creation Picometers: " + 1.0.meters.pico); - assert (1.0.meters.pico == 1.0.meters.pico) - - // Test terameters. - println("Creation Terameters: " + 1.0.meters.tera); - assert (1.0.meters.tera == 1.0.meters.tera) - - // Test femtometers. - println("Creation Femtometers: " + 1.0.meters.femto); - assert (1.0.meters.femto == 1.0.meters.femto) - - // Test petameters. - println("Creation Petameters: " + 1.0.meters.peta); - assert (1.0.meters.peta == 1.0.meters.peta) - - // Test attometers. - println("Creation Attometers: " + 1.0.meters.atto); - assert (1.0.meters.atto == 1.0.meters.atto) - - // Test exameters. - println("Creation Exameters: " + 1.0.meters.exa); - assert (1.0.meters.exa == 1.0.meters.exa) - - // Test zeptometers. - println("Creation Zeptometers: " + 1.0.meters.zepto); - assert (1.0.meters.zepto == 1.0.meters.zepto) - - // Test zettameters. - println("Creation Zettameters: " + 1.0.meters.zetta); - assert (1.0.meters.zetta == 1.0.meters.zetta) - - // Test yoctometers. - println("Creation Yoctometers: " + 1.0.meters.yocto); - assert (1.0.meters.yocto == 1.0.meters.yocto) - - // Test yottameters. - println("Creation Yottameters: " + 1.0.meters.yotta); - assert (1.0.meters.yotta == 1.0.meters.yotta) - - // Test meters. - println("Creation Meters: " + 1.0.meters); - assert (1.0.meters == 1.0.meters) - - // Test kilometers. - println("Creation Kilometers: " + 1.0.kilometers); - assert (1.0.kilometers == 1.0.kilometers) - - // Test centimeters. - println("Creation Centimeters: " + 1.0.centimeters); - assert (1.0.centimeters == 1.0.centimeters) - - // Test millimeters. - println("Creation Millimeters: " + 1.0.millimeters); - assert (1.0.millimeters == 1.0.millimeters) - - // Test micrometers. - println("Creation Micrometers: " + 1.0.micrometers); - assert (1.0.micrometers == 1.0.micrometers) - - // Test decimeters. - println("Creation Decimeters: " + 1.0.decimeters); - assert (1.0.decimeters == 1.0.decimeters) - - // Test kilograms. - println("Creation Kilograms: " + 1.0.kilograms); - assert (1.0.kilograms == 1.0.kilograms) - - // Test milligrams. - println("Creation Milligrams: " + 1.0.milligrams); - assert (1.0.milligrams == 1.0.milligrams) - - // Test angstroms. - println("Creation Angstroms: " + 1.0.angstroms); - assert (1.0.angstroms == 1.0.angstroms) - - // Test pounds. - println("Creation Pounds: " + 1.0.pounds); - assert (1.0.pounds == 1.0.pounds) - - // Test grams. - println("Creation Grams: " + 1.0.grams); - assert (1.0.grams == 1.0.grams) - - // Test amperes. - println("Creation Amperes: " + 1.0.amperes); - assert (1.0.amperes == 1.0.amperes) - - // Test becquerels. - println("Creation Becquerels: " + 1.0.becquerels); - assert (1.0.becquerels == 1.0.becquerels) - - // Test kilobecquerels. - println("Creation Kilobecquerels: " + 1.0.kilobecquerels); - assert (1.0.kilobecquerels == 1.0.kilobecquerels) - - // Test megabecquerels. - println("Creation Megabecquerels: " + 1.0.megabecquerels); - assert (1.0.megabecquerels == 1.0.megabecquerels) - - // Test gigabecquerels. - println("Creation Gigabecquerels: " + 1.0.gigabecquerels); - assert (1.0.gigabecquerels == 1.0.gigabecquerels) - - // Test bits. - println("Creation Bits: " + 1.0.bits); - assert (1.0.bits == 1.0.bits) - - // Test kilobits. - println("Creation Kilobits: " + 1.0.kilobits); - assert (1.0.kilobits == 1.0.kilobits) - - // Test megabits. - println("Creation Megabits: " + 1.0.megabits); - assert (1.0.megabits == 1.0.megabits) - - // Test gigabits. - println("Creation Gigabits: " + 1.0.gigabits); - assert (1.0.gigabits == 1.0.gigabits) - - // Test terabits. - println("Creation Terabits: " + 1.0.terabits); - assert (1.0.terabits == 1.0.terabits) - - // Test candelas. - println("Creation Candelas: " + 1.0.candelas); - assert (1.0.candelas == 1.0.candelas) - - // Test celsius. - println("Creation Celsius: " + 1.0.celsius); - assert (1.0.celsius == 1.0.celsius) - - // Test coulombs. - println("Creation Coulombs: " + 1.0.coulombs); - assert (1.0.coulombs == 1.0.coulombs) - - // Test cubic meters. - println("Creation Cubic_meters: " + 1.0.cubic_meters); - assert (1.0.cubic_meters == 1.0.cubic_meters) - - // Test farads. - println("Creation Farads: " + 1.0.farads); - assert (1.0.farads == 1.0.farads) - - // Test microfarads. - println("Creation Microfarads: " + 1.0.microfarads); - assert (1.0.microfarads == 1.0.microfarads) - - // Test nanofarads. - println("Creation Nanofarads: " + 1.0.nanofarads); - assert (1.0.nanofarads == 1.0.nanofarads) - - // Test picofarads. - println("Creation Picofarads: " + 1.0.picofarads); - assert (1.0.picofarads == 1.0.picofarads) - - // Test grays. - println("Creation Grays: " + 1.0.grays); - assert (1.0.grays == 1.0.grays) - - // Test milligrays. - println("Creation Milligrays: " + 1.0.milligrays); - assert (1.0.milligrays == 1.0.milligrays) - - // Test henrys. - println("Creation Henrys: " + 1.0.henrys); - assert (1.0.henrys == 1.0.henrys) - - // Test hertz. - println("Creation Hertz: " + 1.0.hertz); - assert (1.0.hertz == 1.0.hertz) - - // Test kilohertz. - println("Creation Kilohertz: " + 1.0.kilohertz); - assert (1.0.kilohertz == 1.0.kilohertz) - - // Test megahertz. - println("Creation Megahertz: " + 1.0.megahertz); - assert (1.0.megahertz == 1.0.megahertz) - - // Test joules. - println("Creation Joules: " + 1.0.joules); - assert (1.0.joules == 1.0.joules) - - // Test kilojoules. - println("Creation Kilojoules: " + 1.0.kilojoules); - assert (1.0.kilojoules == 1.0.kilojoules) - - // Test katals. - println("Creation Katals: " + 1.0.katals); - assert (1.0.katals == 1.0.katals) - - // Test kelvin. - println("Creation Kelvin: " + 1.0.kelvin); - assert (1.0.kelvin == 1.0.kelvin) - - // Test lumens. - println("Creation Lumens: " + 1.0.lumens); - assert (1.0.lumens == 1.0.lumens) - - // Test lux. - println("Creation Lux: " + 1.0.lux); - assert (1.0.lux == 1.0.lux) - - // Test microlux. - println("Creation Microlux: " + 1.0.microlux); - assert (1.0.microlux == 1.0.microlux) - - // Test millilux. - println("Creation Millilux: " + 1.0.millilux); - assert (1.0.millilux == 1.0.millilux) - - // Test kilolux. - println("Creation Kilolux: " + 1.0.kilolux); - assert (1.0.kilolux == 1.0.kilolux) - - // Test meter per second. - println("Creation Meter_per_second: " + 1.0.meter_per_second); - assert (1.0.meter_per_second == 1.0.meter_per_second) - - // Test meter per square second. - println("Creation Meter_per_square_second: " + 1.0.meter_per_square_second); - assert (1.0.meter_per_square_second == 1.0.meter_per_square_second) - - // Test moles. - println("Creation Moles: " + 1.0.moles); - assert (1.0.moles == 1.0.moles) - - // Test newtons. - println("Creation Newtons: " + 1.0.newtons); - assert (1.0.newtons == 1.0.newtons) - - // Test ohms. - println("Creation Ohms: " + 1.0.ohms); - assert (1.0.ohms == 1.0.ohms) - - // Test pascals. - println("Creation Pascals: " + 1.0.pascals); - assert (1.0.pascals == 1.0.pascals) - - // Test kilopascals. - println("Creation Kilopascals: " + 1.0.kilopascals); - assert (1.0.kilopascals == 1.0.kilopascals) - - // Test radians. - println("Creation Radians: " + 1.0.radians); - assert (1.0.radians == 1.0.radians) - - // Test milliradians. - println("Creation Milliradians: " + 1.0.milliradians); - assert (1.0.milliradians == 1.0.milliradians) - - // Test microradians. - println("Creation Microradians: " + 1.0.microradians); - assert (1.0.microradians == 1.0.microradians) - - // Test nanoradians. - println("Creation Nanoradians: " + 1.0.nanoradians); - assert (1.0.nanoradians == 1.0.nanoradians) - - // Test seconds. - println("Creation Seconds: " + 1.0.seconds); - assert (1.0.seconds == 1.0.seconds) - - // Test siemens. - println("Creation Siemens: " + 1.0.siemens); - assert (1.0.siemens == 1.0.siemens) - - // Test sieverts. - println("Creation Sieverts: " + 1.0.sieverts); - assert (1.0.sieverts == 1.0.sieverts) - - // Test millisieverts. - println("Creation Millisieverts: " + 1.0.millisieverts); - assert (1.0.millisieverts == 1.0.millisieverts) - - // Test microsieverts. - println("Creation Microsieverts: " + 1.0.microsieverts); - assert (1.0.microsieverts == 1.0.microsieverts) - - // Test square meters. - println("Creation Square_meters: " + 1.0.square_meters); - assert (1.0.square_meters == 1.0.square_meters) - - // Test steradians. - println("Creation Steradians: " + 1.0.steradians); - assert (1.0.steradians == 1.0.steradians) - - // Test teslas. - println("Creation Teslas: " + 1.0.teslas); - assert (1.0.teslas == 1.0.teslas) - - // Test volts. - println("Creation Volts: " + 1.0.volts); - assert (1.0.volts == 1.0.volts) - - // Test kilovolts. - println("Creation Kilovolts: " + 1.0.kilovolts); - assert (1.0.kilovolts == 1.0.kilovolts) - - // Test watts. - println("Creation Watts: " + 1.0.watts); - assert (1.0.watts == 1.0.watts) - - // Test kilowatts. - println("Creation Kilowatts: " + 1.0.kilowatts); - assert (1.0.kilowatts == 1.0.kilowatts) - - // Test megawatts. - println("Creation Megawatts: " + 1.0.megawatts); - assert (1.0.megawatts == 1.0.megawatts) - - // Test webers. - println("Creation Webers: " + 1.0.webers); - assert (1.0.webers == 1.0.webers) - - // Test ares. - println("Creation Ares: " + 1.0.ares); - assert (1.0.ares == 1.0.ares) - - // Test astronomical units. - println("Creation Astronomical_units: " + 1.0.astronomical_units); - assert (1.0.astronomical_units == 1.0.astronomical_units) - - // Test atmospheres. - println("Creation Atmospheres: " + 1.0.atmospheres); - assert (1.0.atmospheres == 1.0.atmospheres) - - // Test atoms. - println("Creation Atoms: " + 1.0.atoms); - assert (1.0.atoms == 1.0.atoms) - - // Test atomic mass. - println("Creation Atomic_mass: " + 1.0.atomic_mass); - assert (1.0.atomic_mass == 1.0.atomic_mass) - - // Test bars. - println("Creation Bars: " + 1.0.bars); - assert (1.0.bars == 1.0.bars) - - // Test bytes. - println("Creation Bytes: " + 1.0.bytes); - assert (1.0.bytes == 1.0.bytes) - - // Test c. - println("Creation C: " + 1.0.c); - assert (1.0.c == 1.0.c) - - // Test centiradians. - println("Creation Centiradians: " + 1.0.centiradians); - assert (1.0.centiradians == 1.0.centiradians) - - // Test computer point. - println("Creation Computer_point: " + 1.0.computer_point); - assert (1.0.computer_point == 1.0.computer_point) - - // Test cubic inches. - println("Creation Cubic_inches: " + 1.0.cubic_inches); - assert (1.0.cubic_inches == 1.0.cubic_inches) - - // Test curies. - println("Creation Curies: " + 1.0.curies); - assert (1.0.curies == 1.0.curies) - - // Test days. - println("Creation Days: " + 1.0.days); - assert (1.0.days == 1.0.days) - - // Test day sidereal. - println("Creation Day_sidereal: " + 1.0.day_sidereal); - assert (1.0.day_sidereal == 1.0.day_sidereal) - - // Test decibels. - println("Creation Decibels: " + 1.0.decibels); - assert (1.0.decibels == 1.0.decibels) - - // Test degree angle. - println("Creation Degree_angle: " + 1.0.degree_angle); - assert (1.0.degree_angle == 1.0.degree_angle) - - // Test dynes. - println("Creation Dynes: " + 1.0.dynes); - assert (1.0.dynes == 1.0.dynes) - - // Test e. - println("Creation E: " + 1.0.e); - assert (1.0.e == 1.0.e) - - // Test electron mass. - println("Creation Electron_mass: " + 1.0.electron_mass); - assert (1.0.electron_mass == 1.0.electron_mass) - - // Test electron volt. - println("Creation Electron_volt: " + 1.0.electron_volt); - assert (1.0.electron_volt == 1.0.electron_volt) - - // Test ergs. - println("Creation Ergs: " + 1.0.ergs); - assert (1.0.ergs == 1.0.ergs) - - // Test fahrenheit. - println("Creation Fahrenheit: " + 1.0.fahrenheit); - assert (1.0.fahrenheit == 1.0.fahrenheit) - - // Test faradays. - println("Creation Faradays: " + 1.0.faradays); - assert (1.0.faradays == 1.0.faradays) - - // Test feet. - println("Creation Feet: " + 1.0.feet); - assert (1.0.feet == 1.0.feet) - - // Test foot_survey_us. - println("Creation Foot_survey_us: " + 1.0.foot_survey_us); - assert (1.0.foot_survey_us == 1.0.foot_survey_us) - - // Test franklins. - println("Creation Franklins: " + 1.0.franklins); - assert (1.0.franklins == 1.0.franklins) - - // Test g. - println("Creation G: " + 1.0.g); - assert (1.0.g == 1.0.g) - - // Test gallon dry us. - println("Creation Gallon_dry_us: " + 1.0.gallon_dry_us); - assert (1.0.gallon_dry_us == 1.0.gallon_dry_us) - - // Test gallon liquid us. - println("Creation Gallon_liquid_us: " + 1.0.gallon_liquid_us); - assert (1.0.gallon_liquid_us == 1.0.gallon_liquid_us) - - // Test gallon uk. - println("Creation Gallon_uk: " + 1.0.gallon_uk); - assert (1.0.gallon_uk == 1.0.gallon_uk) - - // Test gauss. - println("Creation Gauss: " + 1.0.gauss); - assert (1.0.gauss == 1.0.gauss) - - // Test gilberts. - println("Creation Gilberts: " + 1.0.gilberts); - assert (1.0.gilberts == 1.0.gilberts) - - // Test grades. - println("Creation Grades: " + 1.0.grades); - assert (1.0.grades == 1.0.grades) - - // Test hectares. - println("Creation Hectares: " + 1.0.hectares); - assert (1.0.hectares == 1.0.hectares) - - // Test horsepower. - println("Creation Horsepower: " + 1.0.horsepower); - assert (1.0.horsepower == 1.0.horsepower) - - // Test hours. - println("Creation Hours: " + 1.0.hours); - assert (1.0.hours == 1.0.hours) - - // Test inches. - println("Creation Inches: " + 1.0.inches); - assert (1.0.inches == 1.0.inches) - - // Test inch of mercury. - println("Creation Inch_of_mercury: " + 1.0.inch_of_mercury); - assert (1.0.inch_of_mercury == 1.0.inch_of_mercury) - - // Test kilogram force. - println("Creation Kilogram_force: " + 1.0.kilogram_force); - assert (1.0.kilogram_force == 1.0.kilogram_force) - - // Test knots. - println("Creation Knots: " + 1.0.knots); - assert (1.0.knots == 1.0.knots) - - // Test lamberts. - println("Creation Lamberts: " + 1.0.lamberts); - assert (1.0.lamberts == 1.0.lamberts) - - // Test light years. - println("Creation Light_years: " + 1.0.light_years); - assert (1.0.light_years == 1.0.light_years) - - // Test liters. - println("Creation Liters: " + 1.0.liters); - assert (1.0.liters == 1.0.liters) - - // Test mach. - println("Creation Mach: " + 1.0.mach); - assert (1.0.mach == 1.0.mach) - - // Test maxwells. - println("Creation Maxwells: " + 1.0.maxwells); - assert (1.0.maxwells == 1.0.maxwells) - - // Test metric tons. - println("Creation Metric_tons: " + 1.0.metric_tons); - assert (1.0.metric_tons == 1.0.metric_tons) - - // Test miles. - println("Creation Miles: " + 1.0.miles); - assert (1.0.miles == 1.0.miles) - - // Test millimeters of mercury. - println("Creation Millimeters_of_mercury: " + 1.0.millimeters_of_mercury); - assert (1.0.millimeters_of_mercury == 1.0.millimeters_of_mercury) - - // Test minutes. - println("Creation Minutes: " + 1.0.minutes); - assert (1.0.minutes == 1.0.minutes) - - // Test minute angle. - println("Creation Minute_angle: " + 1.0.minute_angle); - assert (1.0.minute_angle == 1.0.minute_angle) - - // Test months. - println("Creation Months: " + 1.0.months); - assert (1.0.months == 1.0.months) - - // Test nautical miles. - println("Creation Nautical_miles: " + 1.0.nautical_miles); - assert (1.0.nautical_miles == 1.0.nautical_miles) - - // Test octets. - println("Creation Octets: " + 1.0.octets); - assert (1.0.octets == 1.0.octets) - - // Test ounces. - println("Creation Ounces: " + 1.0.ounces); - assert (1.0.ounces == 1.0.ounces) - - // Test ounce liquid uk. - println("Creation Ounce_liquid_uk: " + 1.0.ounce_liquid_uk); - assert (1.0.ounce_liquid_uk == 1.0.ounce_liquid_uk) - - // Test ounce liquid us. - println("Creation Ounce_liquid_us: " + 1.0.ounce_liquid_us); - assert (1.0.ounce_liquid_us == 1.0.ounce_liquid_us) - - // Test parsecs. - println("Creation Parsecs: " + 1.0.parsecs); - assert (1.0.parsecs == 1.0.parsecs) - - // Test percent. - println("Creation Percent: " + 1.0.percent); - assert (1.0.percent == 1.0.percent) - - // Test pixels. - println("Creation Pixels: " + 1.0.pixels); - assert (1.0.pixels == 1.0.pixels) - - // Test points. - println("Creation Points: " + 1.0.points); - assert (1.0.points == 1.0.points) - - // Test poise. - println("Creation Poise: " + 1.0.poise); - assert (1.0.poise == 1.0.poise) - - // Test pound force. - println("Creation Pound_force: " + 1.0.pound_force); - assert (1.0.pound_force == 1.0.pound_force) - - // Test rads. - println("Creation Rads: " + 1.0.rads); - assert (1.0.rads == 1.0.rads) - - // Test rankines. - println("Creation Rankines: " + 1.0.rankines); - assert (1.0.rankines == 1.0.rankines) - - // Test rems. - println("Creation Rems: " + 1.0.rems); - assert (1.0.rems == 1.0.rems) - - // Test revolutions. - println("Creation Revolutions: " + 1.0.revolutions); - assert (1.0.revolutions == 1.0.revolutions) - - // Test roentgens. - println("Creation Roentgens: " + 1.0.roentgens); - assert (1.0.roentgens == 1.0.roentgens) - - // Test rutherfords. - println("Creation Rutherfords: " + 1.0.rutherfords); - assert (1.0.rutherfords == 1.0.rutherfords) - - // Test second angle. - println("Creation Second_angle: " + 1.0.second_angle); - assert (1.0.second_angle == 1.0.second_angle) - - // Test spheres. - println("Creation Spheres: " + 1.0.spheres); - assert (1.0.spheres == 1.0.spheres) - - // Test stokes. - println("Creation Stokes: " + 1.0.stokes); - assert (1.0.stokes == 1.0.stokes) - - // Test ton uk. - println("Creation Ton_uk: " + 1.0.ton_uk); - assert (1.0.ton_uk == 1.0.ton_uk) - - // Test ton us. - println("Creation Ton_us: " + 1.0.ton_us); - assert (1.0.ton_us == 1.0.ton_us) - - // Test weeks. - println("Creation Weeks: " + 1.0.weeks); - assert (1.0.weeks == 1.0.weeks) - - // Test yards. - println("Creation Yards: " + 1.0.yards); - assert (1.0.yards == 1.0.yards) - - // Test years. - println("Creation Years: " + 1.0.years); - assert (1.0.years == 1.0.years) - - // Test year_calendar. - println("Creation Year_calendar: " + 1.0.year_calendar); - assert (1.0.year_calendar == 1.0.year_calendar) - - // Test year_sidereal. - println("Creation Year_sidereal: " + 1.0.year_sidereal); - assert (1.0.year_sidereal == 1.0.year_sidereal) - - } - - } - - void testAddition() { - - use(UnitsCategory) { - - // Test meters. - println("Addition Meters: " + 1.1.meters) - assert (1.1.meters + 2.3.meters == 3.4.meters) - - // Test kilometers. - println("Addition Kilometers: " + 1.1.kilometers) - assert (1.1.kilometers + 2.3.kilometers == 3.4.kilometers) - - // Test centimeters. - println("Addition Centimeters: " + 1.1.centimeters) - assert (1.1.centimeters + 2.3.centimeters == 3.4.centimeters) - - // Test millimeters. - println("Addition Millimeters: " + 1.1.millimeters) - assert (1.1.millimeters + 2.3.millimeters == 3.4.millimeters) - - // Test micrometers. - println("Addition Micrometers: " + 1.1.micrometers) - assert (1.1.micrometers + 2.3.micrometers == 3.4.micrometers) - - // Test decimeters. - println("Addition Decimeters: " + 1.1.decimeters) - assert (1.1.decimeters + 2.3.decimeters == 3.4.decimeters) - - // Test kilograms. - println("Addition Kilograms: " + 1.1.kilograms) - assert (1.1.kilograms + 2.3.kilograms == 3.4.kilograms) - - // Test milligrams. - println("Addition Milligrams: " + 1.1.milligrams) - assert (1.1.milligrams + 2.3.milligrams == 3.4.milligrams) - - // Test angstroms. - println("Addition Angstroms: " + 1.1.angstroms) - assert (1.1.angstroms + 2.3.angstroms == 3.4.angstroms) - - // Test pounds. - println("Addition Pounds: " + 1.1.pounds) - assert (1.1.pounds + 2.3.pounds == 3.4.pounds) - - // Test grams. - println("Addition Grams: " + 1.1.grams) - assert (1.1.grams + 2.3.grams == 3.4.grams) - - // Test amperes. - println("Addition Amperes: " + 1.1.amperes) - assert (1.1.amperes + 2.3.amperes == 3.4.amperes) - - // Test becquerels. - println("Addition Becquerels: " + 1.1.becquerels) - assert (1.1.becquerels + 2.3.becquerels == 3.4.becquerels) - - // Test kilobecquerels. - println("Addition Kilobecquerels: " + 1.1.kilobecquerels) - assert (1.1.kilobecquerels + 2.3.kilobecquerels == 3.4.kilobecquerels) - - // Test megabecquerels. - println("Addition Megabecquerels: " + 1.1.megabecquerels) - assert (1.1.megabecquerels + 2.3.megabecquerels == 3.4.megabecquerels) - - // Test gigabecquerels. - println("Addition Gigabecquerels: " + 1.1.gigabecquerels) - assert (1.1.gigabecquerels + 2.3.gigabecquerels == 3.4.gigabecquerels) - - // Test bits. - println("Addition Bits: " + 1.1.bits) - assert (1.1.bits + 2.3.bits == 3.4.bits) - - // Test kilobits. - println("Addition Kilobits: " + 1.1.kilobits) - assert (1.1.kilobits + 2.3.kilobits == 3.4.kilobits) - - // Test megabits. - println("Addition Megabits: " + 1.1.megabits) - assert (1.1.megabits + 2.3.megabits == 3.4.megabits) - - // Test gigabits. - println("Addition Gigabits: " + 1.1.gigabits) - assert (1.1.gigabits + 2.3.gigabits == 3.4.gigabits) - - // Test terabits. - println("Addition Terabits: " + 1.1.terabits) - assert (1.1.terabits + 2.3.terabits == 3.4.terabits) - - // Test candelas. - println("Addition Candelas: " + 1.1.candelas) - assert (1.1.candelas + 2.3.candelas == 3.4.candelas) - - // Test celsius. - println("Addition Celsius: " + 1.1.celsius) - assert (1.1.celsius + 2.3.celsius == 3.4.celsius) - - // Test coulombs. - println("Addition Coulombs: " + 1.1.coulombs) - assert (1.1.coulombs + 2.3.coulombs == 3.4.coulombs) - - // Test cubic meters. - println("Addition Cubic_meters: " + 1.1.cubic_meters) - assert (1.1.cubic_meters + 2.3.cubic_meters == 3.4.cubic_meters) - - // Test farads. - println("Addition Farads: " + 1.1.farads) - assert (1.1.farads + 2.3.farads == 3.4.farads) - - // Test microfarads. - println("Addition Microfarads: " + 1.1.microfarads) - assert (1.1.microfarads + 2.3.microfarads == 3.4.microfarads) - - // Test nanofarads. - println("Addition Nanofarads: " + 1.1.nanofarads) - assert (1.1.nanofarads + 2.3.nanofarads == 3.4.nanofarads) - - // Test picofarads. - println("Addition Picofarads: " + 1.1.picofarads) - assert (1.1.picofarads + 2.3.picofarads == 3.4.picofarads) - - // Test grays. - println("Addition Grays: " + 1.1.grays) - assert (1.1.grays + 2.3.grays == 3.4.grays) - - // Test milligrays. - println("Addition Milligrays: " + 1.1.milligrays) - assert (1.1.milligrays + 2.3.milligrays == 3.4.milligrays) - - // Test henrys. - println("Addition Henrys: " + 1.1.henrys) - assert (1.1.henrys + 2.3.henrys == 3.4.henrys) - - // Test hertz. - println("Addition Hertz: " + 1.1.hertz) - assert (1.1.hertz + 2.3.hertz == 3.4.hertz) - - // Test kilohertz. - println("Addition Kilohertz: " + 1.1.kilohertz) - assert (1.1.kilohertz + 2.3.kilohertz == 3.4.kilohertz) - - // Test megahertz. - println("Addition Megahertz: " + 1.1.megahertz) - assert (1.1.megahertz + 2.3.megahertz == 3.4.megahertz) - - // Test joules. - println("Addition Joules: " + 1.1.joules) - assert (1.1.joules + 2.3.joules == 3.4.joules) - - // Test kilojoules. - println("Addition Kilojoules: " + 1.1.kilojoules) - assert (1.1.kilojoules + 2.3.kilojoules == 3.4.kilojoules) - - // Test katals. - println("Addition Katals: " + 1.1.katals) - assert (1.1.katals + 2.3.katals == 3.4.katals) - - // Test kelvin. - println("Addition Kelvin: " + 1.1.kelvin) - assert (1.1.kelvin + 2.3.kelvin == 3.4.kelvin) - - // Test lumens. - println("Addition Lumens: " + 1.1.lumens) - assert (1.1.lumens + 2.3.lumens == 3.4.lumens) - - // Test lux. - println("Addition Lux: " + 1.1.lux) - assert (1.1.lux + 2.3.lux == 3.4.lux) - - // Test microlux. - println("Addition Microlux: " + 1.1.microlux) - assert (1.1.microlux + 2.3.microlux == 3.4.microlux) - - // Test millilux. - println("Addition Millilux: " + 1.1.millilux) - assert (1.1.millilux + 2.3.millilux == 3.4.millilux) - - // Test kilolux. - println("Addition Kilolux: " + 1.1.kilolux) - assert (1.1.kilolux + 2.3.kilolux == 3.4.kilolux) - - // Test meter per second. - println("Addition Meter_per_second: " + 1.1.meter_per_second) - assert (1.1.meter_per_second + 2.3.meter_per_second == 3.4.meter_per_second) - - // Test meter per square second. - println("Addition Meter_per_square_second: " + 1.1.meter_per_square_second) - assert (1.1.meter_per_square_second + 2.3.meter_per_square_second == 3.4.meter_per_square_second) - - // Test moles. - println("Addition Moles: " + 1.1.moles) - assert (1.1.moles + 2.3.moles == 3.4.moles) - - // Test newtons. - println("Addition Newtons: " + 1.1.newtons) - assert (1.1.newtons + 2.3.newtons == 3.4.newtons) - - // Test ohms. - println("Addition Ohms: " + 1.1.ohms) - assert (1.1.ohms + 2.3.ohms == 3.4.ohms) - - // Test pascals. - println("Addition Pascals: " + 1.1.pascals) - assert (1.1.pascals + 2.3.pascals == 3.4.pascals) - - // Test kilopascals. - println("Addition Kilopascals: " + 1.1.kilopascals) - assert (1.1.kilopascals + 2.3.kilopascals == 3.4.kilopascals) - - // Test radians. - println("Addition Radians: " + 1.1.radians) - assert (1.1.radians + 2.3.radians == 3.4.radians) - - // Test milliradians. - println("Addition Milliradians: " + 1.1.milliradians) - assert (1.1.milliradians + 2.3.milliradians == 3.4.milliradians) - - // Test microradians. - println("Addition Microradians: " + 1.1.microradians) - assert (1.1.microradians + 2.3.microradians == 3.4.microradians) - - // Test nanoradians. - println("Addition Nanoradians: " + 1.1.nanoradians) - assert (1.1.nanoradians + 2.3.nanoradians == 3.4.nanoradians) - - // Test seconds. - println("Addition Seconds: " + 1.1.seconds) - assert (1.1.seconds + 2.3.seconds == 3.4.seconds) - - // Test siemens. - println("Addition Siemens: " + 1.1.siemens) - assert (1.1.siemens + 2.3.siemens == 3.4.siemens) - - // Test sieverts. - println("Addition Sieverts: " + 1.1.sieverts) - assert (1.1.sieverts + 2.3.sieverts == 3.4.sieverts) - - // Test millisieverts. - println("Addition Millisieverts: " + 1.1.millisieverts) - assert (1.1.millisieverts + 2.3.millisieverts == 3.4.millisieverts) - - // Test microsieverts. - println("Addition Microsieverts: " + 1.1.microsieverts) - assert (1.1.microsieverts + 2.3.microsieverts == 3.4.microsieverts) - - // Test square meters. - println("Addition Square_meters: " + 1.1.square_meters) - assert (1.1.square_meters + 2.3.square_meters == 3.4.square_meters) - - // Test steradians. - println("Addition Steradians: " + 1.1.steradians) - assert (1.1.steradians + 2.3.steradians == 3.4.steradians) - - // Test teslas. - println("Addition Teslas: " + 1.1.teslas) - assert (1.1.teslas + 2.3.teslas == 3.4.teslas) - - // Test volts. - println("Addition Volts: " + 1.1.volts) - assert (1.1.volts + 2.3.volts == 3.4.volts) - - // Test kilovolts. - println("Addition Kilovolts: " + 1.1.kilovolts) - assert (1.1.kilovolts + 2.3.kilovolts == 3.4.kilovolts) - - // Test watts. - println("Addition Watts: " + 1.1.watts) - assert (1.1.watts + 2.3.watts == 3.4.watts) - - // Test kilowatts. - println("Addition Kilowatts: " + 1.1.kilowatts) - assert (1.1.kilowatts + 2.3.kilowatts == 3.4.kilowatts) - - // Test megawatts. - println("Addition Megawatts: " + 1.1.megawatts) - assert (1.1.megawatts + 2.3.megawatts == 3.4.megawatts) - - // Test webers. - println("Addition Webers: " + 1.1.webers) - assert (1.1.webers + 2.3.webers == 3.4.webers) - - // Test ares. - println("Addition Ares: " + 1.1.ares) - assert (1.1.ares + 2.3.ares == 3.4.ares) - - // Test astronomical_units. - println("Addition Astronomical_units: " + 1.1.astronomical_units) - assert (1.1.astronomical_units + 2.3.astronomical_units == 3.4.astronomical_units) - - // Test atmospheres. - println("Addition Atmospheres: " + 1.1.atmospheres) - assert (1.1.atmospheres + 2.3.atmospheres == 3.4.atmospheres) - - // Test atoms. - println("Addition Atoms: " + 1.1.atoms) - assert (1.1.atoms + 2.3.atoms == 3.4.atoms) - - // Test atomic mass. - println("Addition Atomic_mass: " + 1.1.atomic_mass) - assert (1.1.atomic_mass + 2.3.atomic_mass == 3.4.atomic_mass) - - // Test bars. - println("Addition Bars: " + 1.1.bars) - assert (1.1.bars + 2.3.bars == 3.4.bars) - - // Test bytes. - println("Addition Bytes: " + 1.1.bytes) - assert (1.1.bytes + 2.3.bytes == 3.4.bytes) - - // Test c. - println("Addition C: " + 1.1.c) - assert (1.1.c + 2.3.c == 3.4.c) - - // Test centiradians. - println("Addition Centiradians: " + 1.1.centiradians) - assert (1.1.centiradians + 2.3.centiradians == 3.4.centiradians) - - // Test computer_point. - println("Addition Computer_point: " + 1.1.computer_point) - assert (1.1.computer_point + 2.3.computer_point == 3.4.computer_point) - - // Test cubic inches. - println("Addition Cubic_inches: " + 1.1.cubic_inches) - assert (1.1.cubic_inches + 2.3.cubic_inches == 3.4.cubic_inches) - - // Test curies. - println("Addition Curies: " + 1.1.curies) - assert (1.1.curies + 2.3.curies == 3.4.curies) - - // Test days. - println("Addition Days: " + 1.1.days) - assert (1.1.days + 2.3.days == 3.4.days) - - // Test day sidereal. - println("Addition Day_sidereal: " + 1.1.day_sidereal) - assert (1.1.day_sidereal + 2.3.day_sidereal == 3.4.day_sidereal) - - // Test decibels. - println("Addition Decibels: " + 1.1.decibels) - assert (1.1.decibels + 2.3.decibels == 3.4.decibels) - - // Test degree angle. - println("Addition Degree_angle: " + 1.1.degree_angle) - assert (1.1.degree_angle + 2.3.degree_angle == 3.4.degree_angle) - - // Test dynes. - println("Addition Dynes: " + 1.1.dynes) - assert (1.1.dynes + 2.3.dynes == 3.4.dynes) - - // Test e. - println("Addition E: " + 1.1.e) - assert (1.1.e + 2.3.e == 3.4.e) - - // Test electron mass. - println("Addition Electron_mass: " + 1.1.electron_mass) - assert (1.1.electron_mass + 2.3.electron_mass == 3.4.electron_mass) - - // Test electron volt. - println("Addition Electron_volt: " + 1.1.electron_volt) - assert (1.1.electron_volt + 2.3.electron_volt == 3.4.electron_volt) - - // Test ergs. - println("Addition Ergs: " + 1.1.ergs) - assert (1.1.ergs + 2.3.ergs == 3.4.ergs) - - // Test fahrenheit. - println("Addition Fahrenheit: " + 1.1.fahrenheit) - assert (1.1.fahrenheit + 2.3.fahrenheit == 3.4.fahrenheit) - - // Test faradays. - println("Addition Faradays: " + 1.1.faradays) - assert (1.1.faradays + 2.3.faradays == 3.4.faradays) - - // Test feet. - println("Addition Feet: " + 1.1.feet) - assert (1.1.feet + 2.3.feet == 3.4.feet) - - // Test foot_survey_us. - println("Addition Foot_survey_us: " + 1.1.foot_survey_us) - assert (1.1.foot_survey_us + 2.3.foot_survey_us == 3.4.foot_survey_us) - - // Test franklins. - println("Addition Franklins: " + 1.1.franklins) - assert (1.1.franklins + 2.3.franklins == 3.4.franklins) - - // Test g. - println("Addition G: " + 1.1.g) - assert (1.1.g + 2.3.g == 3.4.g) - - // Test gallon dry us. - println("Addition Gallon_dry_us: " + 1.1.gallon_dry_us) - assert (1.1.gallon_dry_us + 2.3.gallon_dry_us == 3.4.gallon_dry_us) - - // Test gallon liquid us. - println("Addition Gallon_liquid_us: " + 1.1.gallon_liquid_us) - assert (1.1.gallon_liquid_us + 2.3.gallon_liquid_us == 3.4.gallon_liquid_us) - - // Test gallon uk. - println("Addition Gallon_uk: " + 1.1.gallon_uk) - assert (1.1.gallon_uk + 2.3.gallon_uk == 3.4.gallon_uk) - - // Test gauss. - println("Addition Gauss: " + 1.1.gauss) - assert (1.1.gauss + 2.3.gauss == 3.4.gauss) - - // Test gilberts. - println("Addition Gilberts: " + 1.1.gilberts) - assert (1.1.gilberts + 2.3.gilberts == 3.4.gilberts) - - // Test grades. - println("Addition Grades: " + 1.1.grades) - assert (1.1.grades + 2.3.grades == 3.4.grades) - - // Test hectares. - println("Addition Hectares: " + 1.1.hectares) - assert (1.1.hectares + 2.3.hectares == 3.4.hectares) - - // Test horsepower. - println("Addition Horsepower: " + 1.1.horsepower) - assert (1.1.horsepower + 2.3.horsepower == 3.4.horsepower) - - // Test hours. - println("Addition Hours: " + 1.1.hours) - assert (1.1.hours + 2.3.hours == 3.4.hours) - - // Test inches. - println("Addition Inches: " + 1.1.inches) - assert (1.1.inches + 2.3.inches == 3.4.inches) - - // Test inch of mercury. - println("Addition Inch_of_mercury: " + 1.1.inch_of_mercury) - assert (1.1.inch_of_mercury + 2.3.inch_of_mercury == 3.4.inch_of_mercury) - - // Test kilogram force. - println("Addition Kilogram_force: " + 1.1.kilogram_force) - assert (1.1.kilogram_force + 2.3.kilogram_force == 3.4.kilogram_force) - - // Test knots. - println("Addition Knots: " + 1.1.knots) - assert (1.1.knots + 2.3.knots == 3.4.knots) - - // Test lamberts. - println("Addition Lamberts: " + 1.1.lamberts) - assert (1.1.lamberts + 2.3.lamberts == 3.4.lamberts) - - // Test light years. - println("Addition Light_years: " + 1.1.light_years) - assert (1.1.light_years + 2.3.light_years == 3.4.light_years) - - // Test liters. - println("Addition Liters: " + 1.1.liters) - assert (1.1.liters + 2.3.liters == 3.4.liters) - - // Test mach. - println("Addition Mach: " + 1.1.mach) - assert (1.1.mach + 2.3.mach == 3.4.mach) - - // Test maxwells. - println("Addition Maxwells: " + 1.1.maxwells) - assert (1.1.maxwells + 2.3.maxwells == 3.4.maxwells) - - // Test metric tons. - println("Addition Metric_tons: " + 1.1.metric_tons) - assert (1.1.metric_tons + 2.3.metric_tons == 3.4.metric_tons) - - // Test miles. - println("Addition Miles: " + 1.1.miles) - assert (1.1.miles + 2.3.miles == 3.4.miles) - - // Test millimeters of mercury. - println("Addition Millimeters_of_mercury: " + 1.1.millimeters_of_mercury) - assert (1.1.millimeters_of_mercury + 2.3.millimeters_of_mercury == 3.4.millimeters_of_mercury) - - // Test minutes. - println("Addition Minutes: " + 1.1.minutes) - assert (1.1.minutes + 2.3.minutes == 3.4.minutes) - - // Test minute angle. - println("Addition Minute_angle: " + 1.1.minute_angle) - assert (1.1.minute_angle + 2.3.minute_angle == 3.4.minute_angle) - - // Test months. - println("Addition Months: " + 1.1.months) - assert (1.1.months + 2.3.months == 3.4.months) - - // Test nautical miles. - println("Addition Nautical_miles: " + 1.1.nautical_miles) - assert (1.1.nautical_miles + 2.3.nautical_miles == 3.4.nautical_miles) - - // Test octets. - println("Addition Octets: " + 1.1.octets) - assert (1.1.octets + 2.3.octets == 3.4.octets) - - // Test ounces. - println("Addition Ounces: " + 1.1.ounces) - assert (1.1.ounces + 2.3.ounces == 3.4.ounces) - - // Test ounce liquid uk. - println("Addition Ounce_liquid_uk: " + 1.1.ounce_liquid_uk) - assert (1.1.ounce_liquid_uk + 2.3.ounce_liquid_uk == 3.4.ounce_liquid_uk) - - // Test ounce liquid us. - println("Addition Ounce_liquid_us: " + 1.1.ounce_liquid_us) - assert (1.1.ounce_liquid_us + 2.3.ounce_liquid_us == 3.4.ounce_liquid_us) - - // Test parsecs. - println("Addition Parsecs: " + 1.1.parsecs) - assert (1.1.parsecs + 2.3.parsecs == 3.4.parsecs) - - // Test percent. - println("Addition Percent: " + 1.1.percent) - assert (1.1.percent + 2.3.percent == 3.4.percent) - - // Test pixels. - println("Addition Pixels: " + 1.1.pixels) - assert (1.1.pixels + 2.3.pixels == 3.4.pixels) - - // Test points. - println("Addition Points: " + 1.1.points) - assert (1.1.points + 2.3.points == 3.4.points) - - // Test poise. - println("Addition Poise: " + 1.1.poise) - assert (1.1.poise + 2.3.poise == 3.4.poise) - - // Test pound force. - println("Addition Pound_force: " + 1.1.pound_force) - assert (1.1.pound_force + 2.3.pound_force == 3.4.pound_force) - - // Test rads. - println("Addition Rads: " + 1.1.rads) - assert (1.1.rads + 2.3.rads == 3.4.rads) - - // Test rankines. - println("Addition Rankines: " + 1.1.rankines) - assert (1.1.rankines + 2.3.rankines == 3.4.rankines) - - // Test rems. - println("Addition Rems: " + 1.1.rems) - assert (1.1.rems + 2.3.rems == 3.4.rems) - - // Test revolutions. - println("Addition Revolutions: " + 1.1.revolutions) - assert (1.1.revolutions + 2.3.revolutions == 3.4.revolutions) - - // Test roentgens. - println("Addition Roentgens: " + 1.1.roentgens) - assert (1.1.roentgens + 2.3.roentgens == 3.4.roentgens) - - // Test rutherfords. - println("Addition Rutherfords: " + 1.1.rutherfords) - assert (1.1.rutherfords + 2.3.rutherfords == 3.4.rutherfords) - - // Test second angle. - println("Addition Second_angle: " + 1.1.second_angle) - assert (1.1.second_angle + 2.3.second_angle == 3.4.second_angle) - - // Test spheres. - println("Addition Spheres: " + 1.1.spheres) - assert (1.1.spheres + 2.3.spheres == 3.4.spheres) - - // Test stokes. - println("Addition Stokes: " + 1.1.stokes) - assert (1.1.stokes + 2.3.stokes == 3.4.stokes) - - // Test ton uk. - println("Addition Ton_uk: " + 1.1.ton_uk) - assert (1.1.ton_uk + 2.3.ton_uk == 3.4.ton_uk) - - // Test ton us. - println("Addition Ton_us: " + 1.1.ton_us) - assert (1.1.ton_us + 2.3.ton_us == 3.4.ton_us) - - // Test weeks. - println("Addition Weeks: " + 1.1.weeks) - assert (1.1.weeks + 2.3.weeks == 3.4.weeks) - - // Test yards. - println("Addition Yards: " + 1.1.yards) - assert (1.1.yards + 2.3.yards == 3.4.yards) - - // Test years. - println("Addition Years: " + 1.1.years) - assert (1.1.years + 2.3.years == 3.4.years) - - // Test year_calendar. - println("Addition Year_calendar: " + 1.1.year_calendar) - assert (1.1.year_calendar + 2.3.year_calendar == 3.4.year_calendar) - - // Test year_sidereal. - println("Addition Year_sidereal: " + 1.1.year_sidereal) - assert (1.1.year_sidereal + 2.3.year_sidereal == 3.4.year_sidereal) - - } - - } - - void testMultiplication() { - - use(UnitsCategory) { - - // Test meters. - println("Multiplication Meters: " + 1.1.meters * 2.3.meters) - assert (1.1.meters * 2.3.meters == 2.3.meters * 1.1.meters) - - // Test kilometers. - println("Multiplication Kilometers: " + 1.1.kilometers * 2.3.kilometers) - assert (1.1.kilometers * 2.3.kilometers == 2.3.kilometers * 1.1.kilometers) - - // Test centimeters. - println("Multiplication Centimeters: " + 1.1.centimeters * 2.3.centimeters) - assert (1.1.centimeters * 2.3.centimeters == 2.3.centimeters * 1.1.centimeters) - - // Test millimeters. - println("Multiplication Millimeters: " + 1.1.millimeters * 2.3.millimeters) - assert (1.1.millimeters * 2.3.millimeters == 2.3.millimeters * 1.1.millimeters) - - // Test micrometers. - println("Multiplication Micrometers: " + 1.1.micrometers * 2.3.micrometers) - assert (1.1.micrometers * 2.3.micrometers == 2.3.micrometers * 1.1.micrometers) - - // Test decimeters. - println("Multiplication Decimeters: " + 1.1.decimeters * 2.3.decimeters) - assert (1.1.decimeters * 2.3.decimeters == 2.3.decimeters * 1.1.decimeters) - - // Test kilograms. - println("Multiplication Kilograms: " + 1.1.kilograms * 2.3.kilograms) - assert (1.1.kilograms * 2.3.kilograms == 2.3.kilograms * 1.1.kilograms) - - // Test milligrams. - println("Multiplication Milligrams: " + 1.1.milligrams * 2.3.milligrams) - assert (1.1.milligrams * 2.3.milligrams == 2.3.milligrams * 1.1.milligrams) - - // Test angstroms. - println("Multiplication Angstroms: " + 1.1.angstroms * 2.3.angstroms) - assert (1.1.angstroms * 2.3.angstroms == 2.3.angstroms * 1.1.angstroms) - - // Test pounds. - println("Multiplication Pounds: " + 1.1.pounds * 2.3.pounds) - assert (1.1.pounds * 2.3.pounds == 2.3.pounds * 1.1.pounds) - - // Test grams. - println("Multiplication Grams: " + 1.1.grams * 2.3.grams) - assert (1.1.grams * 2.3.grams == 2.3.grams * 1.1.grams) - - // Test amperes. - println("Multiplication Amperes: " + 1.1.amperes * 2.3.amperes) - assert (1.1.amperes * 2.3.amperes == 2.3.amperes * 1.1.amperes) - - // Test becquerels. - println("Multiplication Becquerels: " + 1.1.becquerels * 2.3.becquerels) - assert (1.1.becquerels * 2.3.becquerels == 2.3.becquerels * 1.1.becquerels) - - // Test kilobecquerels. - println("Multiplication Kilobecquerels: " + 1.1.kilobecquerels * 2.3.kilobecquerels) - assert (1.1.kilobecquerels * 2.3.kilobecquerels == 2.3.kilobecquerels * 1.1.kilobecquerels) - - // Test megabecquerels. - println("Multiplication Megabecquerels: " + 1.1.megabecquerels * 2.3.megabecquerels) - assert (1.1.megabecquerels * 2.3.megabecquerels == 2.3.megabecquerels * 1.1.megabecquerels) - - // Test gigabecquerels. - println("Multiplication Gigabecquerels: " + 1.1.gigabecquerels * 2.3.gigabecquerels) - assert (1.1.gigabecquerels * 2.3.gigabecquerels == 2.3.gigabecquerels * 1.1.gigabecquerels) - - // Test bits. - println("Multiplication Bits: " + 1.1.bits * 2.3.bits) - assert (1.1.bits * 2.3.bits == 2.3.bits * 1.1.bits) - - // Test kilobits. - println("Multiplication Kilobits: " + 1.1.kilobits * 2.3.kilobits) - assert (1.1.kilobits * 2.3.kilobits == 2.3.kilobits * 1.1.kilobits) - - // Test megabits. - println("Multiplication Megabits: " + 1.1.megabits * 2.3.megabits) - assert (1.1.megabits * 2.3.megabits == 2.3.megabits * 1.1.megabits) - - // Test gigabits. - println("Multiplication Gigabits: " + 1.1.gigabits * 2.3.gigabits) - assert (1.1.gigabits * 2.3.gigabits == 2.3.gigabits * 1.1.gigabits) - - // Test terabits. - println("Multiplication Terabits: " + 1.1.terabits * 2.3.terabits) - assert (1.1.terabits * 2.3.terabits == 2.3.terabits * 1.1.terabits) - - // Test candelas. - println("Multiplication Candelas: " + 1.1.candelas * 2.3.candelas) - assert (1.1.candelas * 2.3.candelas == 2.3.candelas * 1.1.candelas) - - // Test celsius. - println("Multiplication Celsius: " + 1.1.celsius * 2.3.celsius) - assert (1.1.celsius * 2.3.celsius == 2.3.celsius * 1.1.celsius) - - // Test coulombs. - println("Multiplication Coulombs: " + 1.1.coulombs * 2.3.coulombs) - assert (1.1.coulombs * 2.3.coulombs == 2.3.coulombs * 1.1.coulombs) - - // Test cubic meters. - println("Multiplication Cubic_meters: " + 1.1.cubic_meters * 2.3.cubic_meters) - assert (1.1.cubic_meters * 2.3.cubic_meters == 2.3.cubic_meters * 1.1.cubic_meters) - - // Test farads. - println("Multiplication Farads: " + 1.1.farads * 2.3.farads) - assert (1.1.farads * 2.3.farads == 2.3.farads * 1.1.farads) - - // Test microfarads. - println("Multiplication Microfarads: " + 1.1.microfarads * 2.3.microfarads) - assert (1.1.microfarads * 2.3.microfarads == 2.3.microfarads * 1.1.microfarads) - - // Test nanofarads. - println("Multiplication Nanofarads: " + 1.1.nanofarads * 2.3.nanofarads) - assert (1.1.nanofarads * 2.3.nanofarads == 2.3.nanofarads * 1.1.nanofarads) - - // Test picofarads. - println("Multiplication Picofarads: " + 1.1.picofarads * 2.3.picofarads) - assert (1.1.picofarads * 2.3.picofarads == 2.3.picofarads * 1.1.picofarads) - - // Test grays. - println("Multiplication Grays: " + 1.1.grays * 2.3.grays) - assert (1.1.grays * 2.3.grays == 2.3.grays * 1.1.grays) - - // Test milligrays. - println("Multiplication Milligrays: " + 1.1.milligrays * 2.3.milligrays) - assert (1.1.milligrays * 2.3.milligrays == 2.3.milligrays * 1.1.milligrays) - - // Test henrys. - println("Multiplication Henrys: " + 1.1.henrys * 2.3.henrys) - assert (1.1.henrys * 2.3.henrys == 2.3.henrys * 1.1.henrys) - - // Test hertz. - println("Multiplication Hertz: " + 1.1.hertz * 2.3.hertz) - assert (1.1.hertz * 2.3.hertz == 2.3.hertz * 1.1.hertz) - - // Test kilohertz. - println("Multiplication Kilohertz: " + 1.1.kilohertz * 2.3.kilohertz) - assert (1.1.kilohertz * 2.3.kilohertz == 2.3.kilohertz * 1.1.kilohertz) - - // Test megahertz. - println("Multiplication Megahertz: " + 1.1.megahertz * 2.3.megahertz) - assert (1.1.megahertz * 2.3.megahertz == 2.3.megahertz * 1.1.megahertz) - - // Test joules. - println("Multiplication Joules: " + 1.1.joules * 2.3.joules) - assert (1.1.joules * 2.3.joules == 2.3.joules * 1.1.joules) - - // Test kilojoules. - println("Multiplication Kilojoules: " + 1.1.kilojoules * 2.3.kilojoules) - assert (1.1.kilojoules * 2.3.kilojoules == 2.3.kilojoules * 1.1.kilojoules) - - // Test katals. - println("Multiplication Katals: " + 1.1.katals * 2.3.katals) - assert (1.1.katals * 2.3.katals == 2.3.katals * 1.1.katals) - - // Test kelvin. - println("Multiplication Kelvin: " + 1.1.kelvin * 2.3.kelvin) - assert (1.1.kelvin * 2.3.kelvin == 2.3.kelvin * 1.1.kelvin) - - // Test lumens. - println("Multiplication Lumens: " + 1.1.lumens * 2.3.lumens) - assert (1.1.lumens * 2.3.lumens == 2.3.lumens * 1.1.lumens) - - // Test lux. - println("Multiplication Lux: " + 1.1.lux * 2.3.lux) - assert (1.1.lux * 2.3.lux == 2.3.lux * 1.1.lux) - - // Test microlux. - println("Multiplication Microlux: " + 1.1.microlux * 2.3.microlux) - assert (1.1.microlux * 2.3.microlux == 2.3.microlux * 1.1.microlux) - - // Test millilux. - println("Multiplication Millilux: " + 1.1.millilux * 2.3.millilux) - assert (1.1.millilux * 2.3.millilux == 2.3.millilux * 1.1.millilux) - - // Test kilolux. - println("Multiplication Kilolux: " + 1.1.kilolux * 2.3.kilolux) - assert (1.1.kilolux * 2.3.kilolux == 2.3.kilolux * 1.1.kilolux) - - // Test meter per second. - println("Multiplication Meter_per_second: " + 1.1.meter_per_second * 2.3.meter_per_second) - assert (1.1.meter_per_second * 2.3.meter_per_second == 2.3.meter_per_second * 1.1.meter_per_second) - - // Test meter per square second. - println("Multiplication Meter_per_square_second: " + 1.1.meter_per_square_second * 2.3.meter_per_square_second) - assert (1.1.meter_per_square_second * 2.3.meter_per_square_second == 2.3.meter_per_square_second * 1.1.meter_per_square_second) - - // Test moles. - println("Multiplication Moles: " + 1.1.moles * 2.3.moles) - assert (1.1.moles * 2.3.moles == 2.3.moles * 1.1.moles) - - // Test newtons. - println("Multiplication Newtons: " + 1.1.newtons * 2.3.newtons) - assert (1.1.newtons * 2.3.newtons == 2.3.newtons * 1.1.newtons) - - // Test ohms. - println("Multiplication Ohms: " + 1.1.ohms * 2.3.ohms) - assert (1.1.ohms * 2.3.ohms == 2.3.ohms * 1.1.ohms) - - // Test pascals. - println("Multiplication Pascals: " + 1.1.pascals * 2.3.pascals) - assert (1.1.pascals * 2.3.pascals == 2.3.pascals * 1.1.pascals) - - // Test kilopascals. - println("Multiplication Kilopascals: " + 1.1.kilopascals * 2.3.kilopascals) - assert (1.1.kilopascals * 2.3.kilopascals == 2.3.kilopascals * 1.1.kilopascals) - - // Test radians. - println("Multiplication Radians: " + 1.1.radians * 2.3.radians) - assert (1.1.radians * 2.3.radians == 2.3.radians * 1.1.radians) - - // Test milliradians. - println("Multiplication Milliradians: " + 1.1.milliradians * 2.3.milliradians) - assert (1.1.milliradians * 2.3.milliradians == 2.3.milliradians * 1.1.milliradians) - - // Test microradians. - println("Multiplication Microradians: " + 1.1.microradians * 2.3.microradians) - assert (1.1.microradians * 2.3.microradians == 2.3.microradians * 1.1.microradians) - - // Test nanoradians. - println("Multiplication Nanoradians: " + 1.1.nanoradians * 2.3.nanoradians) - assert (1.1.nanoradians * 2.3.nanoradians == 2.3.nanoradians * 1.1.nanoradians) - - // Test seconds. - println("Multiplication Seconds: " + 1.1.seconds * 2.3.seconds) - assert (1.1.seconds * 2.3.seconds == 2.3.seconds * 1.1.seconds) - - // Test siemens. - println("Multiplication Siemens: " + 1.1.siemens * 2.3.siemens) - assert (1.1.siemens * 2.3.siemens == 2.3.siemens * 1.1.siemens) - - // Test sieverts. - println("Multiplication Sieverts: " + 1.1.sieverts * 2.3.sieverts) - assert (1.1.sieverts * 2.3.sieverts == 2.3.sieverts * 1.1.sieverts) - - // Test millisieverts. - println("Multiplication Millisieverts: " + 1.1.millisieverts * 2.3.millisieverts) - assert (1.1.millisieverts * 2.3.millisieverts == 2.3.millisieverts * 1.1.millisieverts) - - // Test microsieverts. - println("Multiplication Microsieverts: " + 1.1.microsieverts * 2.3.microsieverts) - assert (1.1.microsieverts * 2.3.microsieverts == 2.3.microsieverts * 1.1.microsieverts) - - // Test square meters. - println("Multiplication Square_meters: " + 1.1.square_meters * 2.3.square_meters) - assert (1.1.square_meters * 2.3.square_meters == 2.3.square_meters * 1.1.square_meters) - - // Test steradians. - println("Multiplication Steradians: " + 1.1.steradians * 2.3.steradians) - assert (1.1.steradians * 2.3.steradians == 2.3.steradians * 1.1.steradians) - - // Test teslas. - println("Multiplication Teslas: " + 1.1.teslas * 2.3.teslas) - assert (1.1.teslas * 2.3.teslas == 2.3.teslas * 1.1.teslas) - - // Test volts. - println("Multiplication Volts: " + 1.1.volts * 2.3.volts) - assert (1.1.volts * 2.3.volts == 2.3.volts * 1.1.volts) - - // Test kilovolts. - println("Multiplication Kilovolts: " + 1.1.kilovolts * 2.3.kilovolts) - assert (1.1.kilovolts * 2.3.kilovolts == 2.3.kilovolts * 1.1.kilovolts) - - // Test watts. - println("Multiplication Watts: " + 1.1.watts * 2.3.watts) - assert (1.1.watts * 2.3.watts == 2.3.watts * 1.1.watts) - - // Test kilowatts. - println("Multiplication Kilowatts: " + 1.1.kilowatts * 2.3.kilowatts) - assert (1.1.kilowatts * 2.3.kilowatts == 2.3.kilowatts * 1.1.kilowatts) - - // Test megawatts. - println("Multiplication Megawatts: " + 1.1.megawatts * 2.3.megawatts) - assert (1.1.megawatts * 2.3.megawatts == 2.3.megawatts * 1.1.megawatts) - - // Test webers. - println("Multiplication Webers: " + 1.1.webers * 2.3.webers) - assert (1.1.webers * 2.3.webers == 2.3.webers * 1.1.webers) - - // Test ares. - println("Multiplication Ares: " + 1.1.ares * 2.3.ares) - assert (1.1.ares * 2.3.ares == 2.3.ares * 1.1.ares) - - // Test astronomical_units. - println("Multiplication Astronomical_units: " + 1.1.astronomical_units * 2.3.astronomical_units) - assert (1.1.astronomical_units * 2.3.astronomical_units == 2.3.astronomical_units * 1.1.astronomical_units) - - // Test atmospheres. - println("Multiplication Atmospheres: " + 1.1.atmospheres * 2.3.atmospheres) - assert (1.1.atmospheres * 2.3.atmospheres == 2.3.atmospheres * 1.1.atmospheres) - - // Test atoms. - println("Multiplication Atoms: " + 1.1.atoms * 2.3.atoms) - assert (1.1.atoms * 2.3.atoms == 2.3.atoms * 1.1.atoms) - - // Test atomic mass. - println("Multiplication Atomic_mass: " + 1.1.atomic_mass * 2.3.atomic_mass) - assert (1.1.atomic_mass * 2.3.atomic_mass == 2.3.atomic_mass * 1.1.atomic_mass) - - // Test bars. - println("Multiplication Bars: " + 1.1.bars * 2.3.bars) - assert (1.1.bars * 2.3.bars == 2.3.bars * 1.1.bars) - - // Test bytes. - println("Multiplication Bytes: " + 1.1.bytes * 2.3.bytes) - assert (1.1.bytes * 2.3.bytes == 2.3.bytes * 1.1.bytes) - - // Test c. - println("Multiplication C: " + 1.1.c * 2.3.c) - assert (1.1.c * 2.3.c == 2.3.c * 1.1.c) - - // Test centiradians. - println("Multiplication Centiradians: " + 1.1.centiradians * 2.3.centiradians) - assert (1.1.centiradians * 2.3.centiradians == 2.3.centiradians * 1.1.centiradians) - - // Test computer point. - println("Multiplication Computer_point: " + 1.1.computer_point * 2.3.computer_point) - assert (1.1.computer_point * 2.3.computer_point == 2.3.computer_point * 1.1.computer_point) - - // Test cubic inches. - println("Multiplication Cubic_inches: " + 1.1.cubic_inches * 2.3.cubic_inches) - assert (1.1.cubic_inches * 2.3.cubic_inches == 2.3.cubic_inches * 1.1.cubic_inches) - - // Test curies. - println("Multiplication Curies: " + 1.1.curies * 2.3.curies) - assert (1.1.curies * 2.3.curies == 2.3.curies * 1.1.curies) - - // Test days. - println("Multiplication Days: " + 1.1.days * 2.3.days) - assert (1.1.days * 2.3.days == 2.3.days * 1.1.days) - - // Test day sidereal. - println("Multiplication Day_sidereal: " + 1.1.day_sidereal * 2.3.day_sidereal) - assert (1.1.day_sidereal * 2.3.day_sidereal == 2.3.day_sidereal * 1.1.day_sidereal) - - // Test decibels. - println("Multiplication Decibels: " + 1.1.decibels * 2.3.decibels) - assert (1.1.decibels * 2.3.decibels == 2.3.decibels * 1.1.decibels) - - // Test degree angle. - println("Multiplication Degree_angle: " + 1.1.degree_angle * 2.3.degree_angle) - assert (1.1.degree_angle * 2.3.degree_angle == 2.3.degree_angle * 1.1.degree_angle) - - // Test dynes. - println("Multiplication Dynes: " + 1.1.dynes * 2.3.dynes) - assert (1.1.dynes * 2.3.dynes == 2.3.dynes * 1.1.dynes) - - // Test e. - println("Multiplication E: " + 1.1.e * 2.3.e) - assert (1.1.e * 2.3.e == 2.3.e * 1.1.e) - - // Test elcetron mass. - println("Multiplication Electron_mass: " + 1.1.electron_mass * 2.3.electron_mass) - assert (1.1.electron_mass * 2.3.electron_mass == 2.3.electron_mass * 1.1.electron_mass) - - // Test elcetron volt. - println("Multiplication Electron_volt: " + 1.1.electron_volt * 2.3.electron_volt) - assert (1.1.electron_volt * 2.3.electron_volt == 2.3.electron_volt * 1.1.electron_volt) - - // Test ergs. - println("Multiplication Ergs: " + 1.1.ergs * 2.3.ergs) - assert (1.1.ergs * 2.3.ergs == 2.3.ergs * 1.1.ergs) - - // Test fahrenheit. - println("Multiplication Fahrenheit: " + 1.1.fahrenheit * 2.3.fahrenheit) - assert (1.1.fahrenheit * 2.3.fahrenheit == 2.3.fahrenheit * 1.1.fahrenheit) - - // Test faradays. - println("Multiplication Faradays: " + 1.1.faradays * 2.3.faradays) - assert (1.1.faradays * 2.3.faradays == 2.3.faradays * 1.1.faradays) - - // Test feet. - println("Multiplication Feet: " + 1.1.feet * 2.3.feet) - assert (1.1.feet * 2.3.feet == 2.3.feet * 1.1.feet) - - // Test foot_survey_us. - println("Multiplication Foot_survey_us: " + 1.1.foot_survey_us * 2.3.foot_survey_us) - assert (1.1.foot_survey_us * 2.3.foot_survey_us == 2.3.foot_survey_us * 1.1.foot_survey_us) - - // Test franklins. - println("Multiplication Franklins: " + 1.1.franklins * 2.3.franklins) - assert (1.1.franklins * 2.3.franklins == 2.3.franklins * 1.1.franklins) - - // Test g. - println("Multiplication G: " + 1.1.g * 2.3.g) - assert (1.1.g * 2.3.g == 2.3.g * 1.1.g) - - // Test gallon dry us. - println("Multiplication Gallon_dry_us: " + 1.1.gallon_dry_us * 2.3.gallon_dry_us) - assert (1.1.gallon_dry_us * 2.3.gallon_dry_us == 2.3.gallon_dry_us * 1.1.gallon_dry_us) - - // Test gallon liquid us. - println("Multiplication Gallon_liquid_us: " + 1.1.gallon_liquid_us * 2.3.gallon_liquid_us) - assert (1.1.gallon_liquid_us * 2.3.gallon_liquid_us == 2.3.gallon_liquid_us * 1.1.gallon_liquid_us) - - // Test gallon uk. - println("Multiplication Gallon_uk: " + 1.1.gallon_uk * 2.3.gallon_uk) - assert (1.1.gallon_uk * 2.3.gallon_uk == 2.3.gallon_uk * 1.1.gallon_uk) - - // Test gauss. - println("Multiplication Gauss: " + 1.1.gauss * 2.3.gauss) - assert (1.1.gauss * 2.3.gauss == 2.3.gauss * 1.1.gauss) - - // Test gilberts. - println("Multiplication Gilberts: " + 1.1.gilberts * 2.3.gilberts) - assert (1.1.gilberts * 2.3.gilberts == 2.3.gilberts * 1.1.gilberts) - - // Test grades. - println("Multiplication Grades: " + 1.1.grades * 2.3.grades) - assert (1.1.grades * 2.3.grades == 2.3.grades * 1.1.grades) - - // Test hectares. - println("Multiplication Hectares: " + 1.1.hectares * 2.3.hectares) - assert (1.1.hectares * 2.3.hectares == 2.3.hectares * 1.1.hectares) - - // Test horsepower. - println("Multiplication Horsepower: " + 1.1.horsepower * 2.3.horsepower) - assert (1.1.horsepower * 2.3.horsepower == 2.3.horsepower * 1.1.horsepower) - - // Test hours. - println("Multiplication Hours: " + 1.1.hours * 2.3.hours) - assert (1.1.hours * 2.3.hours == 2.3.hours * 1.1.hours) - - // Test inches. - println("Multiplication Inches: " + 1.1.inches * 2.3.inches) - assert (1.1.inches * 2.3.inches == 2.3.inches * 1.1.inches) - - // Test inch of mercury. - println("Multiplication Inch_of_mercury: " + 1.1.inch_of_mercury * 2.3.inch_of_mercury) - assert (1.1.inch_of_mercury * 2.3.inch_of_mercury == 2.3.inch_of_mercury * 1.1.inch_of_mercury) - - // Test kilogram force. - println("Multiplication Kilogram_force: " + 1.1.kilogram_force * 2.3.kilogram_force) - assert (1.1.kilogram_force * 2.3.kilogram_force == 2.3.kilogram_force * 1.1.kilogram_force) - - // Test knots. - println("Multiplication Knots: " + 1.1.knots * 2.3.knots) - assert (1.1.knots * 2.3.knots == 2.3.knots * 1.1.knots) - - // Test lamberts. - println("Multiplication Lamberts: " + 1.1.lamberts * 2.3.lamberts) - assert (1.1.lamberts * 2.3.lamberts == 2.3.lamberts * 1.1.lamberts) - - // Test light years. - println("Multiplication Light_years: " + 1.1.light_years * 2.3.light_years) - assert (1.1.light_years * 2.3.light_years == 2.3.light_years * 1.1.light_years) - - // Test liters. - println("Multiplication Liters: " + 1.1.liters * 2.3.liters) - assert (1.1.liters * 2.3.liters == 2.3.liters * 1.1.liters) - - // Test mach. - println("Multiplication Mach: " + 1.1.mach * 2.3.mach) - assert (1.1.mach * 2.3.mach == 2.3.mach * 1.1.mach) - - // Test maxwells. - println("Multiplication Maxwells: " + 1.1.maxwells * 2.3.maxwells) - assert (1.1.maxwells * 2.3.maxwells == 2.3.maxwells * 1.1.maxwells) - - // Test metric tons. - println("Multiplication Metric_tons: " + 1.1.metric_tons * 2.3.metric_tons) - assert (1.1.metric_tons * 2.3.metric_tons == 2.3.metric_tons * 1.1.metric_tons) - - // Test miles. - println("Multiplication Miles: " + 1.1.miles * 2.3.miles) - assert (1.1.miles * 2.3.miles == 2.3.miles * 1.1.miles) - - // Test millimeters of mercury. - println("Multiplication Millimeters_of_mercury: " + 1.1.millimeters_of_mercury * 2.3.millimeters_of_mercury) - assert (1.1.millimeters_of_mercury * 2.3.millimeters_of_mercury == 2.3.millimeters_of_mercury * 1.1.millimeters_of_mercury) - - // Test minutes. - println("Multiplication Minutes: " + 1.1.minutes * 2.3.minutes) - assert (1.1.minutes * 2.3.minutes == 2.3.minutes * 1.1.minutes) - - // Test minute angle. - println("Multiplication Minute_angle: " + 1.1.minute_angle * 2.3.minute_angle) - assert (1.1.minute_angle * 2.3.minute_angle == 2.3.minute_angle * 1.1.minute_angle) - - // Test months. - println("Multiplication Months: " + 1.1.months * 2.3.months) - assert (1.1.months * 2.3.months == 2.3.months * 1.1.months) - - // Test nautical miles. - println("Multiplication Nautical_miles: " + 1.1.nautical_miles * 2.3.nautical_miles) - assert (1.1.nautical_miles * 2.3.nautical_miles == 2.3.nautical_miles * 1.1.nautical_miles) - - // Test octets. - println("Multiplication Octets: " + 1.1.octets * 2.3.octets) - assert (1.1.octets * 2.3.octets == 2.3.octets * 1.1.octets) - - // Test ounces. - println("Multiplication Ounces: " + 1.1.ounces * 2.3.ounces) - assert (1.1.ounces * 2.3.ounces == 2.3.ounces * 1.1.ounces) - - // Test ounce liquid uk. - println("Multiplication Ounce_liquid_uk: " + 1.1.ounce_liquid_uk * 2.3.ounce_liquid_uk) - assert (1.1.ounce_liquid_uk * 2.3.ounce_liquid_uk == 2.3.ounce_liquid_uk * 1.1.ounce_liquid_uk) - - // Test ounce liquid us. - println("Multiplication Ounce_liquid_us: " + 1.1.ounce_liquid_us * 2.3.ounce_liquid_us) - assert (1.1.ounce_liquid_us * 2.3.ounce_liquid_us == 2.3.ounce_liquid_us * 1.1.ounce_liquid_us) - - // Test parsecs. - println("Multiplication Parsecs: " + 1.1.parsecs * 2.3.parsecs) - assert (1.1.parsecs * 2.3.parsecs == 2.3.parsecs * 1.1.parsecs) - - // Test percent. - println("Multiplication Percent: " + 1.1.percent * 2.3.percent) - assert (1.1.percent * 2.3.percent == 2.3.percent * 1.1.percent) - - // Test pixels. - println("Multiplication Pixels: " + 1.1.pixels * 2.3.pixels) - assert (1.1.pixels * 2.3.pixels == 2.3.pixels * 1.1.pixels) - - // Test points. - println("Multiplication Points: " + 1.1.points * 2.3.points) - assert (1.1.points * 2.3.points == 2.3.points * 1.1.points) - - // Test poise. - println("Multiplication Poise: " + 1.1.poise * 2.3.poise) - assert (1.1.poise * 2.3.poise == 2.3.poise * 1.1.poise) - - // Test pound force. - println("Multiplication Pound_force: " + 1.1.pound_force * 2.3.pound_force) - assert (1.1.pound_force * 2.3.pound_force == 2.3.pound_force * 1.1.pound_force) - - // Test rads. - println("Multiplication Rads: " + 1.1.rads * 2.3.rads) - assert (1.1.rads * 2.3.rads == 2.3.rads * 1.1.rads) - - // Test rankines. - println("Multiplication Rankines: " + 1.1.rankines * 2.3.rankines) - assert (1.1.rankines * 2.3.rankines == 2.3.rankines * 1.1.rankines) - - // Test rems. - println("Multiplication Rems: " + 1.1.rems * 2.3.rems) - assert (1.1.rems * 2.3.rems == 2.3.rems * 1.1.rems) - - // Test revolutions. - println("Multiplication Revolutions: " + 1.1.revolutions * 2.3.revolutions) - assert (1.1.revolutions * 2.3.revolutions == 2.3.revolutions * 1.1.revolutions) - - // Test roentgens. - println("Multiplication Roentgens: " + 1.1.roentgens * 2.3.roentgens) - assert (1.1.roentgens * 2.3.roentgens == 2.3.roentgens * 1.1.roentgens) - - // Test rutherfords. - println("Multiplication Rutherfords: " + 1.1.rutherfords * 2.3.rutherfords) - assert (1.1.rutherfords * 2.3.rutherfords == 2.3.rutherfords * 1.1.rutherfords) - - // Test second angle. - println("Multiplication Second_angle: " + 1.1.second_angle * 2.3.second_angle) - assert (1.1.second_angle * 2.3.second_angle == 2.3.second_angle * 1.1.second_angle) - - // Test spheres. - println("Multiplication Spheres: " + 1.1.spheres * 2.3.spheres) - assert (1.1.spheres * 2.3.spheres == 2.3.spheres * 1.1.spheres) - - // Test stokes. - println("Multiplication Stokes: " + 1.1.stokes * 2.3.stokes) - assert (1.1.stokes * 2.3.stokes == 2.3.stokes * 1.1.stokes) - - // Test ton uk. - println("Multiplication Ton_uk: " + 1.1.ton_uk * 2.3.ton_uk) - assert (1.1.ton_uk * 2.3.ton_uk == 2.3.ton_uk * 1.1.ton_uk) - - // Test ton us. - println("Multiplication Ton_us: " + 1.1.ton_us * 2.3.ton_us) - assert (1.1.ton_us * 2.3.ton_us == 2.3.ton_us * 1.1.ton_us) - - // Test weeks. - println("Multiplication Weeks: " + 1.1.weeks * 2.3.weeks) - assert (1.1.weeks * 2.3.weeks == 2.3.weeks * 1.1.weeks) - - // Test yards. - println("Multiplication Yards: " + 1.1.yards * 2.3.yards) - assert (1.1.yards * 2.3.yards == 2.3.yards * 1.1.yards) - - // Test years. - println("Multiplication Years: " + 1.1.years * 2.3.years) - assert (1.1.years * 2.3.years == 2.3.years * 1.1.years) - - // Test year_calendar. - println("Multiplication Year_calendar: " + 1.1.year_calendar * 2.3.year_calendar) - assert (1.1.year_calendar * 2.3.year_calendar == 2.3.year_calendar * 1.1.year_calendar) - - // Test year_sidereal. - println("Multiplication Year_sidereal: " + 1.1.year_sidereal * 2.3.year_sidereal) - assert (1.1.year_sidereal * 2.3.year_sidereal == 2.3.year_sidereal * 1.1.year_sidereal) - - } - - } - - void testSubtraction() { - - use(UnitsCategory) { - - // Test meters. - println("Subtraction Meters: " + (1.1.meters - 2.3.meters).abs()) - assert ((1.1.meters - 2.3.meters - (-1.2).meters).abs() < 0.001.meters) - - // Test kilometers. - println("Subtraction Kilometers: " + (1.1.kilometers - 2.3.kilometers).abs()) - assert ((1.1.kilometers - 2.3.kilometers - (-1.2).kilometers).abs() < 0.001.kilometers) - - // Test centimeters. - println("Subtraction Centimeters: " + (1.1.centimeters - 2.3.centimeters).abs()) - assert ((1.1.centimeters - 2.3.centimeters - (-1.2).centimeters).abs() < 0.001.centimeters) - - // Test millimeters. - println("Subtraction Millimeters: " + (1.1.millimeters - 2.3.millimeters).abs()) - assert ((1.1.millimeters - 2.3.millimeters - (-1.2).millimeters).abs() < 0.001.millimeters) - - // Test micrometers. - println("Subtraction Micrometers: " + (1.1.micrometers - 2.3.micrometers).abs()) - assert ((1.1.micrometers - 2.3.micrometers - (-1.2).micrometers).abs() < 0.001.micrometers) - - // Test decimeters. - println("Subtraction Decimeters: " + (1.1.decimeters - 2.3.decimeters).abs()) - assert ((1.1.decimeters - 2.3.decimeters - (-1.2).decimeters).abs() < 0.001.decimeters) - - // Test kilograms. - println("Subtraction Kilograms: " + (1.1.kilograms - 2.3.kilograms).abs()) - assert ((1.1.kilograms - 2.3.kilograms - (-1.2).kilograms).abs() < 0.001.kilograms) - - // Test milligrams. - println("Subtraction Milligrams: " + (1.1.milligrams - 2.3.milligrams).abs()) - assert ((1.1.milligrams - 2.3.milligrams - (-1.2).milligrams).abs() < 0.001.milligrams) - - // Test angstroms. - println("Subtraction Angstroms: " + (1.1.angstroms - 2.3.angstroms).abs()) - assert ((1.1.angstroms - 2.3.angstroms - (-1.2).angstroms).abs() < 0.001.angstroms) - - // Test pounds. - println("Subtraction Pounds: " + (1.1.pounds - 2.3.pounds).abs()) - assert ((1.1.pounds - 2.3.pounds - (-1.2).pounds).abs() < 0.001.pounds) - - // Test grams. - println("Subtraction Grams: " + (1.1.grams - 2.3.grams).abs()) - assert ((1.1.grams - 2.3.grams - (-1.2).grams).abs() < 0.001.grams) - - // Test amperes. - println("Subtraction Amperes: " + (1.1.amperes - 2.3.amperes).abs()) - assert ((1.1.amperes - 2.3.amperes - (-1.2).amperes).abs() < 0.001.amperes) - - // Test becquerels. - println("Subtraction Becquerels: " + (1.1.becquerels - 2.3.becquerels).abs()) - assert ((1.1.becquerels - 2.3.becquerels - (-1.2).becquerels).abs() < 0.001.becquerels) - - // Test kilobecquerels. - println("Subtraction Kilobecquerels: " + (1.1.kilobecquerels - 2.3.kilobecquerels).abs()) - assert ((1.1.kilobecquerels - 2.3.kilobecquerels - (-1.2).kilobecquerels).abs() < 0.001.kilobecquerels) - - // Test megabecquerels. - println("Subtraction Megabecquerels: " + (1.1.megabecquerels - 2.3.megabecquerels).abs()) - assert ((1.1.megabecquerels - 2.3.megabecquerels - (-1.2).megabecquerels).abs() < 0.001.megabecquerels) - - // Test gigabecquerels. - println("Subtraction Gigabecquerels: " + (1.1.gigabecquerels - 2.3.gigabecquerels).abs()) - assert ((1.1.gigabecquerels - 2.3.gigabecquerels - (-1.2).gigabecquerels).abs() < 0.001.gigabecquerels) - - // Test bits. - println("Subtraction Bits: " + (1.1.bits - 2.3.bits).abs()) - assert ((1.1.bits - 2.3.bits - (-1.2).bits).abs() < 0.001.bits) - - // Test kilobits. - println("Subtraction Kilobits: " + (1.1.kilobits - 2.3.kilobits).abs()) - assert ((1.1.kilobits - 2.3.kilobits - (-1.2).kilobits).abs() < 0.001.kilobits) - - // Test megabits. - println("Subtraction Megabits: " + (1.1.megabits - 2.3.megabits).abs()) - assert ((1.1.megabits - 2.3.megabits - (-1.2).megabits).abs() < 0.001.megabits) - - // Test gigabits. - println("Subtraction Gigabits: " + (1.1.gigabits - 2.3.gigabits).abs()) - assert ((1.1.gigabits - 2.3.gigabits - (-1.2).gigabits).abs() < 0.001.gigabits) - - // Test terabits. - println("Subtraction Terabits: " + (1.1.terabits - 2.3.terabits).abs()) - assert ((1.1.terabits - 2.3.terabits - (-1.2).terabits).abs() < 0.001.terabits) - - // Test candelas. - println("Subtraction Candelas: " + (1.1.candelas - 2.3.candelas).abs()) - assert ((1.1.candelas - 2.3.candelas - (-1.2).candelas).abs() < 0.001.candelas) - - // Test celsius. - println("Subtraction Celsius: " + (1.1.celsius - 2.3.celsius).abs()) - assert ((1.1.celsius - 2.3.celsius - (-1.2).celsius).abs() < 0.001.celsius) - - // Test coulombs. - println("Subtraction Coulombs: " + (1.1.coulombs - 2.3.coulombs).abs()) - assert ((1.1.coulombs - 2.3.coulombs - (-1.2).coulombs).abs() < 0.001.coulombs) - - // Test farads. - println("Subtraction Farads: " + (1.1.farads - 2.3.farads).abs()) - assert ((1.1.farads - 2.3.farads - (-1.2).farads).abs() < 0.001.farads) - - // Test microfarads. - println("Subtraction Microfarads: " + (1.1.microfarads - 2.3.microfarads).abs()) - assert ((1.1.microfarads - 2.3.microfarads - (-1.2).microfarads).abs() < 0.001.microfarads) - - // Test nanofarads. - println("Subtraction Nanofarads: " + (1.1.nanofarads - 2.3.nanofarads).abs()) - assert ((1.1.nanofarads - 2.3.nanofarads - (-1.2).nanofarads).abs() < 0.001.nanofarads) - - // Test picofarads. - println("Subtraction Picofarads: " + (1.1.picofarads - 2.3.picofarads).abs()) - assert ((1.1.picofarads - 2.3.picofarads - (-1.2).picofarads).abs() < 0.001.picofarads) - - // Test grays. - println("Subtraction Grays: " + (1.1.grays - 2.3.grays).abs()) - assert ((1.1.grays - 2.3.grays - (-1.2).grays).abs() < 0.001.grays) - - // Test milligrays. - println("Subtraction Milligrays: " + (1.1.milligrays - 2.3.milligrays).abs()) - assert ((1.1.milligrays - 2.3.milligrays - (-1.2).milligrays).abs() < 0.001.milligrays) - - // Test henrys. - println("Subtraction Henrys: " + (1.1.henrys - 2.3.henrys).abs()) - assert ((1.1.henrys - 2.3.henrys - (-1.2).henrys).abs() < 0.001.henrys) - - // Test hertz. - println("Subtraction Hertz: " + (1.1.hertz - 2.3.hertz).abs()) - assert ((1.1.hertz - 2.3.hertz - (-1.2).hertz).abs() < 0.001.hertz) - - // Test kilohertz. - println("Subtraction Kilohertz: " + (1.1.kilohertz - 2.3.kilohertz).abs()) - assert ((1.1.kilohertz - 2.3.kilohertz - (-1.2).kilohertz).abs() < 0.001.kilohertz) - - // Test megahertz. - println("Subtraction Megahertz: " + (1.1.megahertz - 2.3.megahertz).abs()) - assert ((1.1.megahertz - 2.3.megahertz - (-1.2).megahertz).abs() < 0.001.megahertz) - - // Test joules. - println("Subtraction Joules: " + (1.1.joules - 2.3.joules).abs()) - assert ((1.1.joules - 2.3.joules - (-1.2).joules).abs() < 0.001.joules) - - // Test kilojoules. - println("Subtraction Kilojoules: " + (1.1.kilojoules - 2.3.kilojoules).abs()) - assert ((1.1.kilojoules - 2.3.kilojoules - (-1.2).kilojoules).abs() < 0.001.kilojoules) - - // Test katals. - println("Subtraction Katals: " + (1.1.katals - 2.3.katals).abs()) - assert ((1.1.katals - 2.3.katals - (-1.2).katals).abs() < 0.001.katals) - - // Test kelvin. - println("Subtraction Kelvin: " + (1.1.kelvin - 2.3.kelvin).abs()) - assert ((1.1.kelvin - 2.3.kelvin - (-1.2).kelvin).abs() < 0.001.kelvin) - - // Test lumens. - println("Subtraction Lumens: " + (1.1.lumens - 2.3.lumens).abs()) - assert ((1.1.lumens - 2.3.lumens - (-1.2).lumens).abs() < 0.001.lumens) - - // Test lux. - println("Subtraction Lux: " + (1.1.lux - 2.3.lux).abs()) - assert ((1.1.lux - 2.3.lux - (-1.2).lux).abs() < 0.001.lux) - - // Test microlux. - println("Subtraction Microlux: " + (1.1.microlux - 2.3.microlux).abs()) - assert ((1.1.microlux - 2.3.microlux - (-1.2).microlux).abs() < 0.001.microlux) - - // Test millilux. - println("Subtraction Millilux: " + (1.1.millilux - 2.3.millilux).abs()) - assert ((1.1.millilux - 2.3.millilux - (-1.2).millilux).abs() < 0.001.millilux) - - // Test kilolux. - println("Subtraction Kilolux: " + (1.1.kilolux - 2.3.kilolux).abs()) - assert ((1.1.kilolux - 2.3.kilolux - (-1.2).kilolux).abs() < 0.001.kilolux) - - // Test meter per second. - println("Subtraction Meter_per_second: " + (1.1.meter_per_second - 2.3.meter_per_second).abs()) - assert ((1.1.meter_per_second - 2.3.meter_per_second - (-1.2).meter_per_second).abs() < 0.001.meter_per_second) - - // Test meter per square second. - println("Subtraction Meter_per_square_second: " + (1.1.meter_per_square_second - 2.3.meter_per_square_second).abs()) - assert ((1.1.meter_per_square_second - 2.3.meter_per_square_second - (-1.2).meter_per_square_second).abs() < 0.001.meter_per_square_second) - - // Test moles. - println("Subtraction Moles: " + (1.1.moles - 2.3.moles).abs()) - assert ((1.1.moles - 2.3.moles - (-1.2).moles).abs() < 0.001.moles) - - // Test newtons. - println("Subtraction Newtons: " + (1.1.newtons - 2.3.newtons).abs()) - assert ((1.1.newtons - 2.3.newtons - (-1.2).newtons).abs() < 0.001.newtons) - - // Test ohms. - println("Subtraction Ohms: " + (1.1.ohms - 2.3.ohms).abs()) - assert ((1.1.ohms - 2.3.ohms - (-1.2).ohms).abs() < 0.001.ohms) - - // Test pascals. - println("Subtraction Pascals: " + (1.1.pascals - 2.3.pascals).abs()) - assert ((1.1.pascals - 2.3.pascals - (-1.2).pascals).abs() < 0.001.pascals) - - // Test kilopascals. - println("Subtraction Kilopascals: " + (1.1.kilopascals - 2.3.kilopascals).abs()) - assert ((1.1.kilopascals - 2.3.kilopascals - (-1.2).kilopascals).abs() < 0.001.kilopascals) - - // Test radians. - println("Subtraction Radians: " + (1.1.radians - 2.3.radians).abs()) - assert ((1.1.radians - 2.3.radians - (-1.2).radians).abs() < 0.001.radians) - - // Test milliradians. - println("Subtraction Milliradians: " + (1.1.milliradians - 2.3.milliradians).abs()) - assert ((1.1.milliradians - 2.3.milliradians - (-1.2).milliradians).abs() < 0.001.milliradians) - - // Test microradians. - println("Subtraction Microradians: " + (1.1.microradians - 2.3.microradians).abs()) - assert ((1.1.microradians - 2.3.microradians - (-1.2).microradians).abs() < 0.001.microradians) - - // Test nanoradians. - println("Subtraction Nanoradians: " + (1.1.nanoradians - 2.3.nanoradians).abs()) - assert ((1.1.nanoradians - 2.3.nanoradians - (-1.2).nanoradians).abs() < 0.001.nanoradians) - - // Test seconds. - println("Subtraction Seconds: " + (1.1.seconds - 2.3.seconds).abs()) - assert ((1.1.seconds - 2.3.seconds - (-1.2).seconds).abs() < 0.001.seconds) - - // Test siemens. - println("Subtraction Siemens: " + (1.1.siemens - 2.3.siemens).abs()) - assert ((1.1.siemens - 2.3.siemens - (-1.2).siemens).abs() < 0.001.siemens) - - // Test sieverts. - println("Subtraction Sieverts: " + (1.1.sieverts - 2.3.sieverts).abs()) - assert ((1.1.sieverts - 2.3.sieverts - (-1.2).sieverts).abs() < 0.001.sieverts) - - // Test millisieverts. - println("Subtraction Millisieverts: " + (1.1.millisieverts - 2.3.millisieverts).abs()) - assert ((1.1.millisieverts - 2.3.millisieverts - (-1.2).millisieverts).abs() < 0.001.millisieverts) - - // Test microsieverts. - println("Subtraction Microsieverts: " + (1.1.microsieverts - 2.3.microsieverts).abs()) - assert ((1.1.microsieverts - 2.3.microsieverts - (-1.2).microsieverts).abs() < 0.001.microsieverts) - - // Test square meters. - println("Subtraction Square_meters: " + (1.1.square_meters - 2.3.square_meters).abs()) - assert ((1.1.square_meters - 2.3.square_meters - (-1.2).square_meters).abs() < 0.001.square_meters) - - // Test steradians. - println("Subtraction Steradians: " + (1.1.steradians - 2.3.steradians).abs()) - assert ((1.1.steradians - 2.3.steradians - (-1.2).steradians).abs() < 0.001.steradians) - - // Test teslas. - println("Subtraction Teslas: " + (1.1.teslas - 2.3.teslas).abs()) - assert ((1.1.teslas - 2.3.teslas - (-1.2).teslas).abs() < 0.001.teslas) - - // Test volts. - println("Subtraction Volts: " + (1.1.volts - 2.3.volts).abs()) - assert ((1.1.volts - 2.3.volts - (-1.2).volts).abs() < 0.001.volts) - - // Test kilovolts. - println("Subtraction Kilovolts: " + (1.1.kilovolts - 2.3.kilovolts).abs()) - assert ((1.1.kilovolts - 2.3.kilovolts - (-1.2).kilovolts).abs() < 0.001.kilovolts) - - // Test watts. - println("Subtraction Watts: " + (1.1.watts - 2.3.watts).abs()) - assert ((1.1.watts - 2.3.watts - (-1.2).watts).abs() < 0.001.watts) - - // Test kilowatts. - println("Subtraction Kilowatts: " + (1.1.kilowatts - 2.3.kilowatts).abs()) - assert ((1.1.kilowatts - 2.3.kilowatts - (-1.2).kilowatts).abs() < 0.001.kilowatts) - - // Test megawatts. - println("Subtraction Megawatts: " + (1.1.megawatts - 2.3.megawatts).abs()) - assert ((1.1.megawatts - 2.3.megawatts - (-1.2).megawatts).abs() < 0.001.megawatts) - - // Test webers. - println("Subtraction Webers: " + (1.1.webers - 2.3.webers).abs()) - assert ((1.1.webers - 2.3.webers - (-1.2).webers).abs() < 0.001.webers) - - // Test ares. - println("Subtraction Ares: " + (1.1.ares - 2.3.ares).abs()) - assert ((1.1.ares - 2.3.ares - (-1.2).ares).abs() < 0.001.ares) - - // Test astronomical_units. - println("Subtraction Astronomical_units: " + (1.1.astronomical_units - 2.3.astronomical_units).abs()) - assert ((1.1.astronomical_units - 2.3.astronomical_units - (-1.2).astronomical_units).abs() < 0.001.astronomical_units) - - // Test atmospheres. - println("Subtraction Atmospheres: " + (1.1.atmospheres - 2.3.atmospheres).abs()) - assert ((1.1.atmospheres - 2.3.atmospheres - (-1.2).atmospheres).abs() < 0.001.atmospheres) - - // Test atoms. - println("Subtraction Atoms: " + (1.1.atoms - 2.3.atoms).abs()) - assert ((1.1.atoms - 2.3.atoms - (-1.2).atoms).abs() < 0.001.atoms) - - // Test atomic mass. - println("Subtraction Atomic_mass: " + (1.1.atomic_mass - 2.3.atomic_mass).abs()) - assert ((1.1.atomic_mass - 2.3.atomic_mass - (-1.2).atomic_mass).abs() < 0.001.atomic_mass) - - // Test bars. - println("Subtraction Bars: " + (1.1.bars - 2.3.bars).abs()) - assert ((1.1.bars - 2.3.bars - (-1.2).bars).abs() < 0.001.bars) - - // Test bytes. - println("Subtraction Bytes: " + (1.1.bytes - 2.3.bytes).abs()) - assert ((1.1.bytes - 2.3.bytes - (-1.2).bytes).abs() < 0.001.bytes) - - // Test c. - println("Subtraction C: " + (1.1.c - 2.3.c).abs()) - assert ((1.1.c - 2.3.c - (-1.2).c).abs() < 0.001.c) - - // Test centiradians. - println("Subtraction Centiradians: " + (1.1.centiradians - 2.3.centiradians).abs()) - assert ((1.1.centiradians - 2.3.centiradians - (-1.2).centiradians).abs() < 0.001.centiradians) - - // Test computer point. - println("Subtraction Computer_point: " + (1.1.computer_point - 2.3.computer_point).abs()) - assert ((1.1.computer_point - 2.3.computer_point - (-1.2).computer_point).abs() < 0.001.computer_point) - - // Test cubic inches. - println("Subtraction Cubic_inches: " + (1.1.cubic_inches - 2.3.cubic_inches).abs()) - assert ((1.1.cubic_inches - 2.3.cubic_inches - (-1.2).cubic_inches).abs() < 0.001.cubic_inches) - - // Test curies. - println("Subtraction Curies: " + (1.1.curies - 2.3.curies).abs()) - assert ((1.1.curies - 2.3.curies - (-1.2).curies).abs() < 0.001.curies) - - // Test days. - println("Subtraction Days: " + (1.1.days - 2.3.days).abs()) - assert ((1.1.days - 2.3.days - (-1.2).days).abs() < 0.001.days) - - // Test decibels. - println("Subtraction Decibels: " + (1.1.decibels - 2.3.decibels).abs()) - assert ((1.1.decibels - 2.3.decibels - (-1.2).decibels).abs() < 0.001.decibels) - - // Test degree angle. - println("Subtraction Degree_angle: " + (1.1.degree_angle - 2.3.degree_angle).abs()) - assert ((1.1.degree_angle - 2.3.degree_angle - (-1.2).degree_angle).abs() < 0.001.degree_angle) - - // Test dynes. - println("Subtraction Dynes: " + (1.1.dynes - 2.3.dynes).abs()) - assert ((1.1.dynes - 2.3.dynes - (-1.2).dynes).abs() < 0.001.dynes) - - // Test e. - println("Subtraction E: " + (1.1.e - 2.3.e).abs()) - assert ((1.1.e - 2.3.e - (-1.2).e).abs() < 0.001.e) - - // Test electron mass. - println("Subtraction Electron_mass: " + (1.1.electron_mass - 2.3.electron_mass).abs()) - assert ((1.1.electron_mass - 2.3.electron_mass - (-1.2).electron_mass).abs() < 0.001.electron_mass) - - // Test electron volt. - println("Subtraction Electron_volt: " + (1.1.electron_volt - 2.3.electron_volt).abs()) - assert ((1.1.electron_volt - 2.3.electron_volt - (-1.2).electron_volt).abs() < 0.001.electron_volt) - - // Test ergs. - println("Subtraction Ergs: " + (1.1.ergs - 2.3.ergs).abs()) - assert ((1.1.ergs - 2.3.ergs - (-1.2).ergs).abs() < 0.001.ergs) - - // Test fahrenheit. - println("Subtraction Fahrenheit: " + (1.1.fahrenheit - 2.3.fahrenheit).abs()) - assert ((1.1.fahrenheit - 2.3.fahrenheit - (-1.2).fahrenheit).abs() < 0.001.fahrenheit) - - // Test faradays. - println("Subtraction Faradays: " + (1.1.faradays - 2.3.faradays).abs()) - assert ((1.1.faradays - 2.3.faradays - (-1.2).faradays).abs() < 0.001.faradays) - - // Test feet. - println("Subtraction Feet: " + (1.1.feet - 2.3.feet).abs()) - assert ((1.1.feet - 2.3.feet - (-1.2).feet).abs() < 0.001.feet) - - // Test franklins. - println("Subtraction Franklins: " + (1.1.franklins - 2.3.franklins).abs()) - assert ((1.1.franklins - 2.3.franklins - (-1.2).franklins).abs() < 0.001.franklins) - - // Test g. - println("Subtraction G: " + (1.1.g - 2.3.g).abs()) - assert ((1.1.g - 2.3.g - (-1.2).g).abs() < 0.001.g) - - // Test gallon dry us. - println("Subtraction Gallon_dry_us: " + (1.1.gallon_dry_us - 2.3.gallon_dry_us).abs()) - assert ((1.1.gallon_dry_us - 2.3.gallon_dry_us - (-1.2).gallon_dry_us).abs() < 0.001.gallon_dry_us) - - // Test gallon liquid us. - println("Subtraction Gallon_liquid_us: " + (1.1.gallon_liquid_us - 2.3.gallon_liquid_us).abs()) - assert ((1.1.gallon_liquid_us - 2.3.gallon_liquid_us - (-1.2).gallon_liquid_us).abs() < 0.001.gallon_liquid_us) - - // Test gallon uk. - println("Subtraction Gallon_uk: " + (1.1.gallon_uk - 2.3.gallon_uk).abs()) - assert ((1.1.gallon_uk - 2.3.gallon_uk - (-1.2).gallon_uk).abs() < 0.001.gallon_uk) - - // Test gauss. - println("Subtraction Gauss: " + (1.1.gauss - 2.3.gauss).abs()) - assert ((1.1.gauss - 2.3.gauss - (-1.2).gauss).abs() < 0.001.gauss) - - // Test gilberts. - println("Subtraction Gilberts: " + (1.1.gilberts - 2.3.gilberts).abs()) - assert ((1.1.gilberts - 2.3.gilberts - (-1.2).gilberts).abs() < 0.001.gilberts) - - // Test grades. - println("Subtraction Grades: " + (1.1.grades - 2.3.grades).abs()) - assert ((1.1.grades - 2.3.grades - (-1.2).grades).abs() < 0.001.grades) - - // Test hectares. - println("Subtraction Hectares: " + (1.1.hectares - 2.3.hectares).abs()) - assert ((1.1.hectares - 2.3.hectares - (-1.2).hectares).abs() < 0.001.hectares) - - // Test horsepower. - println("Subtraction Horsepower: " + (1.1.horsepower - 2.3.horsepower).abs()) - assert ((1.1.horsepower - 2.3.horsepower - (-1.2).horsepower).abs() < 0.001.horsepower) - - // Test hours. - println("Subtraction Hours: " + (1.1.hours - 2.3.hours).abs()) - assert ((1.1.hours - 2.3.hours - (-1.2).hours).abs() < 0.001.hours) - - // Test inches. - println("Subtraction Inches: " + (1.1.inches - 2.3.inches).abs()) - assert ((1.1.inches - 2.3.inches - (-1.2).inches).abs() < 0.001.inches) - - // Test inch of mercury. - println("Subtraction Inch_of_mercury: " + (1.1.inch_of_mercury - 2.3.inch_of_mercury).abs()) - assert ((1.1.inch_of_mercury - 2.3.inch_of_mercury - (-1.2).inch_of_mercury).abs() < 0.001.inch_of_mercury) - - // Test kilogram force. - println("Subtraction Kilogram_force: " + (1.1.kilogram_force - 2.3.kilogram_force).abs()) - assert ((1.1.kilogram_force - 2.3.kilogram_force - (-1.2).kilogram_force).abs() < 0.001.kilogram_force) - - // Test knots. - println("Subtraction Knots: " + (1.1.knots - 2.3.knots).abs()) - assert ((1.1.knots - 2.3.knots - (-1.2).knots).abs() < 0.001.knots) - - // Test lamberts. - println("Subtraction Lamberts: " + (1.1.lamberts - 2.3.lamberts).abs()) - assert ((1.1.lamberts - 2.3.lamberts - (-1.2).lamberts).abs() < 0.001.lamberts) - - // Test light years. - println("Subtraction Light_years: " + (1.1.light_years - 2.3.light_years).abs()) - assert ((1.1.light_years - 2.3.light_years - (-1.2).light_years).abs() < 0.001.light_years) - - // Test liters. - println("Subtraction Liters: " + (1.1.liters - 2.3.liters).abs()) - assert ((1.1.liters - 2.3.liters - (-1.2).liters).abs() < 0.001.liters) - - // Test mach. - println("Subtraction Mach: " + (1.1.mach - 2.3.mach).abs()) - assert ((1.1.mach - 2.3.mach - (-1.2).mach).abs() < 0.001.mach) - - // Test maxwells. - println("Subtraction Maxwells: " + (1.1.maxwells - 2.3.maxwells).abs()) - assert ((1.1.maxwells - 2.3.maxwells - (-1.2).maxwells).abs() < 0.001.maxwells) - - // Test metric tons. - println("Subtraction Metric_tons: " + (1.1.metric_tons - 2.3.metric_tons).abs()) - assert ((1.1.metric_tons - 2.3.metric_tons - (-1.2).metric_tons).abs() < 0.001.metric_tons) - - // Test miles. - println("Subtraction Miles: " + (1.1.miles - 2.3.miles).abs()) - assert ((1.1.miles - 2.3.miles - (-1.2).miles).abs() < 0.001.miles) - - // Test millimeters of mercury. - println("Subtraction Millimeters_of_mercury: " + (1.1.millimeters_of_mercury - 2.3.millimeters_of_mercury).abs()) - assert ((1.1.millimeters_of_mercury - 2.3.millimeters_of_mercury - (-1.2).millimeters_of_mercury).abs() < 0.001.millimeters_of_mercury) - - // Test minutes. - println("Subtraction Minutes: " + (1.1.minutes - 2.3.minutes).abs()) - assert ((1.1.minutes - 2.3.minutes - (-1.2).minutes).abs() < 0.001.minutes) - - // Test minute angle. - println("Subtraction Minute_angle: " + (1.1.minute_angle - 2.3.minute_angle).abs()) - assert ((1.1.minute_angle - 2.3.minute_angle - (-1.2).minute_angle).abs() < 0.001.minute_angle) - - // Test months. - println("Subtraction Months: " + (1.1.months - 2.3.months).abs()) - assert ((1.1.months - 2.3.months - (-1.2).months).abs() < 0.001.months) - - // Test nautical miles. - println("Subtraction Nautical_miles: " + (1.1.nautical_miles - 2.3.nautical_miles).abs()) - assert ((1.1.nautical_miles - 2.3.nautical_miles - (-1.2).nautical_miles).abs() < 0.001.nautical_miles) - - // Test octets. - println("Subtraction Octets: " + (1.1.octets - 2.3.octets).abs()) - assert ((1.1.octets - 2.3.octets - (-1.2).octets).abs() < 0.001.octets) - - // Test ounces. - println("Subtraction Ounces: " + (1.1.ounces - 2.3.ounces).abs()) - assert ((1.1.ounces - 2.3.ounces - (-1.2).ounces).abs() < 0.001.ounces) - - // Test ounce liquid uk. - println("Subtraction Ounce_liquid_uk: " + (1.1.ounce_liquid_uk - 2.3.ounce_liquid_uk).abs()) - assert ((1.1.ounce_liquid_uk - 2.3.ounce_liquid_uk - (-1.2).ounce_liquid_uk).abs() < 0.001.ounce_liquid_uk) - - // Test ounce liquid us. - println("Subtraction Ounce_liquid_us: " + (1.1.ounce_liquid_us - 2.3.ounce_liquid_us).abs()) - assert ((1.1.ounce_liquid_us - 2.3.ounce_liquid_us - (-1.2).ounce_liquid_us).abs() < 0.001.ounce_liquid_us) - - // Test parsecs. - println("Subtraction Parsecs: " + (1.1.parsecs - 2.3.parsecs).abs()) - assert ((1.1.parsecs - 2.3.parsecs - (-1.2).parsecs).abs() < 0.001.parsecs) - - // Test percent. - println("Subtraction Percent: " + (1.1.percent - 2.3.percent).abs()) - assert ((1.1.percent - 2.3.percent - (-1.2).percent).abs() < 0.001.percent) - - // Test pixels. - println("Subtraction Pixels: " + (1.1.pixels - 2.3.pixels).abs()) - assert ((1.1.pixels - 2.3.pixels - (-1.2).pixels).abs() < 0.001.pixels) - - // Test points. - println("Subtraction Points: " + (1.1.points - 2.3.points).abs()) - assert ((1.1.points - 2.3.points - (-1.2).points).abs() < 0.001.points) - - // Test poise. - println("Subtraction Poise: " + (1.1.poise - 2.3.poise).abs()) - assert ((1.1.poise - 2.3.poise - (-1.2).poise).abs() < 0.001.poise) - - // Test pound force. - println("Subtraction Pound_force: " + (1.1.pound_force - 2.3.pound_force).abs()) - assert ((1.1.pound_force - 2.3.pound_force - (-1.2).pound_force).abs() < 0.001.pound_force) - - // Test rads. - println("Subtraction Rads: " + (1.1.rads - 2.3.rads).abs()) - assert ((1.1.rads - 2.3.rads - (-1.2).rads).abs() < 0.001.rads) - - // Test rankines. - println("Subtraction Rankines: " + (1.1.rankines - 2.3.rankines).abs()) - assert ((1.1.rankines - 2.3.rankines - (-1.2).rankines).abs() < 0.001.rankines) - - // Test rems. - println("Subtraction Rems: " + (1.1.rems - 2.3.rems).abs()) - assert ((1.1.rems - 2.3.rems - (-1.2).rems).abs() < 0.001.rems) - - // Test revolutions. - println("Subtraction Revolutions: " + (1.1.revolutions - 2.3.revolutions).abs()) - assert ((1.1.revolutions - 2.3.revolutions - (-1.2).revolutions).abs() < 0.001.revolutions) - - // Test roentgens. - println("Subtraction Roentgens: " + (1.1.roentgens - 2.3.roentgens).abs()) - assert ((1.1.roentgens - 2.3.roentgens - (-1.2).roentgens).abs() < 0.001.roentgens) - - // Test rutherfords. - println("Subtraction Rutherfords: " + (1.1.rutherfords - 2.3.rutherfords).abs()) - assert ((1.1.rutherfords - 2.3.rutherfords - (-1.2).rutherfords).abs() < 0.001.rutherfords) - - // Test second angle. - println("Subtraction Second_angle: " + (1.1.second_angle - 2.3.second_angle).abs()) - assert ((1.1.second_angle - 2.3.second_angle - (-1.2).second_angle).abs() < 0.001.second_angle) - - // Test spheres. - println("Subtraction Spheres: " + (1.1.spheres - 2.3.spheres).abs()) - assert ((1.1.spheres - 2.3.spheres - (-1.2).spheres).abs() < 0.001.spheres) - - // Test stokes. - println("Subtraction Stokes: " + (1.1.stokes - 2.3.stokes).abs()) - assert ((1.1.stokes - 2.3.stokes - (-1.2).stokes).abs() < 0.001.stokes) - - // Test ton uk. - println("Subtraction Ton uk: " + (1.1.ton_uk - 2.3.ton_uk).abs()) - assert ((1.1.ton_uk - 2.3.ton_uk - (-1.2).ton_uk).abs() < 0.001.ton_uk) - - // Test ton us. - println("Subtraction Ton us: " + (1.1.ton_us - 2.3.ton_us).abs()) - assert ((1.1.ton_us - 2.3.ton_us - (-1.2).ton_us).abs() < 0.001.ton_us) - - // Test weeks. - println("Subtraction Weeks: " + (1.1.weeks - 2.3.weeks).abs()) - assert ((1.1.weeks - 2.3.weeks - (-1.2).weeks).abs() < 0.001.weeks) - - // Test yards. - println("Subtraction Yards: " + (1.1.yards - 2.3.yards).abs()) - assert ((1.1.yards - 2.3.yards - (-1.2).yards).abs() < 0.001.yards) - - // Test years. - println("Subtraction Years: " + (1.1.years - 2.3.years).abs()) - assert ((1.1.years - 2.3.years - (-1.2).years).abs() < 0.001.years) - - } - - } - - void testDivision() { - - use(UnitsCategory) { - - // Test meters. - println("Division Meters: " + 1.1.meters / 2.3.meters) - assert (1.1.meters / 2.3.meters == 0.4782608695652174.meters / 1.0.meters) - - // Test kilometers. - println("Division Kilometers: " + 1.1.kilometers / 2.3.kilometers) - assert (1.1.kilometers / 2.3.kilometers == 0.4782608695652174.kilometers / 1.0.kilometers) - - // Test centimeters. - println("Division Centimeters: " + 1.1.centimeters / 2.3.centimeters) - assert (1.1.centimeters / 2.3.centimeters == 0.4782608695652174.centimeters / 1.0.centimeters) - - // Test millimeters. - println("Division Millimeters: " + 1.1.millimeters / 2.3.millimeters) - assert (1.1.millimeters / 2.3.millimeters == 0.4782608695652174.millimeters / 1.0.millimeters) - - // Test micrometers. - println("Division Micrometers: " + 1.1.micrometers / 2.3.micrometers) - assert (1.1.micrometers / 2.3.micrometers == 0.4782608695652174.micrometers / 1.0.micrometers) - - // Test decimeters. - println("Division Decimeters: " + 1.1.decimeters / 2.3.decimeters) - assert (1.1.decimeters / 2.3.decimeters == 0.4782608695652174.decimeters / 1.0.decimeters) - - // Test kilograms. - println("Division Kilograms: " + 1.1.kilograms / 2.3.kilograms) - assert (1.1.kilograms / 2.3.kilograms == 0.4782608695652174.kilograms / 1.0.kilograms) - - // Test milligrams. - println("Division Milligrams: " + 1.1.milligrams / 2.3.milligrams) - assert (1.1.milligrams / 2.3.milligrams == 0.4782608695652174.milligrams / 1.0.milligrams) - - // Test angstroms. - println("Division Angstroms: " + 1.1.angstroms / 2.3.angstroms) - assert (1.1.angstroms / 2.3.angstroms == 0.4782608695652174.angstroms / 1.0.angstroms) - - // Test pounds. - println("Division Pounds: " + 1.1.pounds / 2.3.pounds) - assert (1.1.pounds / 2.3.pounds == 0.4782608695652174.pounds / 1.0.pounds) - - // Test grams. - println("Division Grams: " + 1.1.grams / 2.3.grams) - assert (1.1.grams / 2.3.grams == 0.4782608695652174.grams / 1.0.grams) - - // Test amperes. - println("Division Amperes: " + 1.1.amperes / 2.3.amperes) - assert (1.1.amperes / 2.3.amperes == 0.4782608695652174.amperes / 1.0.amperes) - - // Test becquerels. - println("Division Becquerels: " + 1.1.becquerels / 2.3.becquerels) - assert (1.1.becquerels / 2.3.becquerels == 0.4782608695652174.becquerels / 1.0.becquerels) - - // Test kilobecquerels. - println("Division Kilobecquerels: " + 1.1.kilobecquerels / 2.3.kilobecquerels) - assert (1.1.kilobecquerels / 2.3.kilobecquerels == 0.4782608695652174.kilobecquerels / 1.0.kilobecquerels) - - // Test megabecquerels. - println("Division Megabecquerels: " + 1.1.megabecquerels / 2.3.megabecquerels) - assert (1.1.megabecquerels / 2.3.megabecquerels == 0.4782608695652174.megabecquerels / 1.0.megabecquerels) - - // Test gigabecquerels. - println("Division Gigabecquerels: " + 1.1.gigabecquerels / 2.3.gigabecquerels) - assert (1.1.gigabecquerels / 2.3.gigabecquerels == 0.4782608695652174.gigabecquerels / 1.0.gigabecquerels) - - // Test bits. - println("Division Bits: " + 1.1.bits / 2.3.bits) - assert (1.1.bits / 2.3.bits == 0.4782608695652174.bits / 1.0.bits) - - // Test kilobits. - println("Division Kilobits: " + 1.1.kilobits / 2.3.kilobits) - assert (1.1.kilobits / 2.3.kilobits == 0.4782608695652174.kilobits / 1.0.kilobits) - - // Test megabits. - println("Division Megabits: " + 1.1.megabits / 2.3.megabits) - assert (1.1.megabits / 2.3.megabits == 0.4782608695652174.megabits / 1.0.megabits) - - // Test gigabits. - println("Division Gigabits: " + 1.1.gigabits / 2.3.gigabits) - assert (1.1.gigabits / 2.3.gigabits == 0.4782608695652174.gigabits / 1.0.gigabits) - - // Test terabits. - println("Division Terabits: " + 1.1.terabits / 2.3.terabits) - assert (1.1.terabits / 2.3.terabits == 0.4782608695652174.terabits / 1.0.terabits) - - // Test candelas. - println("Division Candelas: " + 1.1.candelas / 2.3.candelas) - assert (1.1.candelas / 2.3.candelas == 0.4782608695652174.candelas / 1.0.candelas) - - // Test celsius. - println("Division Celsius: " + 1.1.celsius / 2.3.celsius) - assert (1.1.celsius / 2.3.celsius == 0.4782608695652174.celsius / 1.0.celsius) - - // Test coulombs. - println("Division Coulombs: " + 1.1.coulombs / 2.3.coulombs) - assert (1.1.coulombs / 2.3.coulombs == 0.4782608695652174.coulombs / 1.0.coulombs) - - // Test cubic meters. - println("Division Cubic_meters: " + 1.1.cubic_meters / 2.3.cubic_meters) - assert (1.1.cubic_meters / 2.3.cubic_meters == 0.4782608695652174.cubic_meters / 1.0.cubic_meters) - - // Test farads. - println("Division Farads: " + 1.1.farads / 2.3.farads) - assert (1.1.farads / 2.3.farads == 0.4782608695652174.farads / 1.0.farads) - - // Test microfarads. - println("Division Microfarads: " + 1.1.microfarads / 2.3.microfarads) - assert (1.1.microfarads / 2.3.microfarads == 0.4782608695652174.microfarads / 1.0.microfarads) - - // Test nanofarads. - println("Division Nanofarads: " + 1.1.nanofarads / 2.3.nanofarads) - assert (1.1.nanofarads / 2.3.nanofarads == 0.4782608695652174.nanofarads / 1.0.nanofarads) - - // Test picofarads. - println("Division Picofarads: " + 1.1.picofarads / 2.3.picofarads) - assert (1.1.picofarads / 2.3.picofarads == 0.4782608695652174.picofarads / 1.0.picofarads) - - // Test grays. - println("Division Grays: " + 1.1.grays / 2.3.grays) - assert (1.1.grays / 2.3.grays == 0.4782608695652174.grays / 1.0.grays) - - // Test milligrays. - println("Division Milligrays: " + 1.1.milligrays / 2.3.milligrays) - assert (1.1.milligrays / 2.3.milligrays == 0.4782608695652174.milligrays / 1.0.milligrays) - - // Test henrys. - println("Division Henrys: " + 1.1.henrys / 2.3.henrys) - assert (1.1.henrys / 2.3.henrys == 0.4782608695652174.henrys / 1.0.henrys) - - // Test hertz. - println("Division Hertz: " + 1.1.hertz / 2.3.hertz) - assert (1.1.hertz / 2.3.hertz == 0.4782608695652174.hertz / 1.0.hertz) - - // Test kilohertz. - println("Division Kilohertz: " + 1.1.kilohertz / 2.3.kilohertz) - assert (1.1.kilohertz / 2.3.kilohertz == 0.4782608695652174.kilohertz / 1.0.kilohertz) - - // Test megahertz. - println("Division Megahertz: " + 1.1.megahertz / 2.3.megahertz) - assert (1.1.megahertz / 2.3.megahertz == 0.4782608695652174.megahertz / 1.0.megahertz) - - // Test joules. - println("Division Joules: " + 1.1.joules / 2.3.joules) - assert (1.1.joules / 2.3.joules == 0.4782608695652174.joules / 1.0.joules) - - // Test kilojoules. - println("Division Kilojoules: " + 1.1.kilojoules / 2.3.kilojoules) - assert (1.1.kilojoules / 2.3.kilojoules == 0.4782608695652174.kilojoules / 1.0.kilojoules) - - // Test katals. - println("Division Katals: " + 1.1.katals / 2.3.katals) - assert (1.1.katals / 2.3.katals == 0.4782608695652174.katals / 1.0.katals) - - // Test kelvin. - println("Division Kelvin: " + 1.1.kelvin / 2.3.kelvin) - assert (1.1.kelvin / 2.3.kelvin == 0.4782608695652174.kelvin / 1.0.kelvin) - - // Test lumens. - println("Division Lumens: " + 1.1.lumens / 2.3.lumens) - assert (1.1.lumens / 2.3.lumens == 0.4782608695652174.lumens / 1.0.lumens) - - // Test lux. - println("Division Lux: " + 1.1.lux / 2.3.lux) - assert (1.1.lux / 2.3.lux == 0.4782608695652174.lux / 1.0.lux) - - // Test microlux. - println("Division Microlux: " + 1.1.microlux / 2.3.microlux) - assert (1.1.microlux / 2.3.microlux == 0.4782608695652174.microlux / 1.0.microlux) - - // Test millilux. - println("Division Millilux: " + 1.1.millilux / 2.3.millilux) - assert (1.1.millilux / 2.3.millilux == 0.4782608695652174.millilux / 1.0.millilux) - - // Test kilolux. - println("Division Kilolux: " + 1.1.kilolux / 2.3.kilolux) - assert (1.1.kilolux / 2.3.kilolux == 0.4782608695652174.kilolux / 1.0.kilolux) - - // Test meter per second. - println("Division Meter_per_second: " + 1.1.meter_per_second / 2.3.meter_per_second) - assert (1.1.meter_per_second / 2.3.meter_per_second == 0.4782608695652174.meter_per_second / 1.0.meter_per_second) - - // Test meter per square second. - println("Division Meter_per_square_second: " + 1.1.meter_per_square_second / 2.3.meter_per_square_second) - assert (1.1.meter_per_square_second / 2.3.meter_per_square_second == 0.4782608695652174.meter_per_square_second / 1.0.meter_per_square_second) - - // Test moles. - println("Division Moles: " + 1.1.moles / 2.3.moles) - assert (1.1.moles / 2.3.moles == 0.4782608695652174.moles / 1.0.moles) - - // Test newtons. - println("Division Newtons: " + 1.1.newtons / 2.3.newtons) - assert (1.1.newtons / 2.3.newtons == 0.4782608695652174.newtons / 1.0.newtons) - - // Test ohms. - println("Division Ohms: " + 1.1.ohms / 2.3.ohms) - assert (1.1.ohms / 2.3.ohms == 0.4782608695652174.ohms / 1.0.ohms) - - // Test pascals. - println("Division Pascals: " + 1.1.pascals / 2.3.pascals) - assert (1.1.pascals / 2.3.pascals == 0.4782608695652174.pascals / 1.0.pascals) - - // Test kilopascals. - println("Division Kilopascals: " + 1.1.kilopascals / 2.3.kilopascals) - assert (1.1.kilopascals / 2.3.kilopascals == 0.4782608695652174.kilopascals / 1.0.kilopascals) - - // Test radians. - println("Division Radians: " + 1.1.radians / 2.3.radians) - assert (1.1.radians / 2.3.radians == 0.4782608695652174.radians / 1.0.radians) - - // Test milliradians. - println("Division Milliradians: " + 1.1.milliradians / 2.3.milliradians) - assert (1.1.milliradians / 2.3.milliradians == 0.4782608695652174.milliradians / 1.0.milliradians) - - // Test microradians. - println("Division Microradians: " + 1.1.microradians / 2.3.microradians) - assert (1.1.microradians / 2.3.microradians == 0.4782608695652174.microradians / 1.0.microradians) - - // Test nanoradians. - println("Division Nanoradians: " + 1.1.nanoradians / 2.3.nanoradians) - assert (1.1.nanoradians / 2.3.nanoradians == 0.4782608695652174.nanoradians / 1.0.nanoradians) - - // Test seconds. - println("Division Seconds: " + 1.1.seconds / 2.3.seconds) - assert (1.1.seconds / 2.3.seconds == 0.4782608695652174.seconds / 1.0.seconds) - - // Test siemens. - println("Division Siemens: " + 1.1.siemens / 2.3.siemens) - assert (1.1.siemens / 2.3.siemens == 0.4782608695652174.siemens / 1.0.siemens) - - // Test sieverts. - println("Division Sieverts: " + 1.1.sieverts / 2.3.sieverts) - assert (1.1.sieverts / 2.3.sieverts == 0.4782608695652174.sieverts / 1.0.sieverts) - - // Test millisieverts. - println("Division Millisieverts: " + 1.1.millisieverts / 2.3.millisieverts) - assert (1.1.millisieverts / 2.3.millisieverts == 0.4782608695652174.millisieverts / 1.0.millisieverts) - - // Test microsieverts. - println("Division Microsieverts: " + 1.1.microsieverts / 2.3.microsieverts) - assert (1.1.microsieverts / 2.3.microsieverts == 0.4782608695652174.microsieverts / 1.0.microsieverts) - - // Test square meters. - println("Division Square_meters: " + 1.1.square_meters / 2.3.square_meters) - assert (1.1.square_meters / 2.3.square_meters == 0.4782608695652174.square_meters / 1.0.square_meters) - - // Test steradians. - println("Division Steradians: " + 1.1.steradians / 2.3.steradians) - assert (1.1.steradians / 2.3.steradians == 0.4782608695652174.steradians / 1.0.steradians) - - // Test teslas. - println("Division Teslas: " + 1.1.teslas / 2.3.teslas) - assert (1.1.teslas / 2.3.teslas == 0.4782608695652174.teslas / 1.0.teslas) - - // Test volts. - println("Division Volts: " + 1.1.volts / 2.3.volts) - assert (1.1.volts / 2.3.volts == 0.4782608695652174.volts / 1.0.volts) - - // Test kilovolts. - println("Division Kilovolts: " + 1.1.kilovolts / 2.3.kilovolts) - assert (1.1.kilovolts / 2.3.kilovolts == 0.4782608695652174.kilovolts / 1.0.kilovolts) - - // Test watts. - println("Division Watts: " + 1.1.watts / 2.3.watts) - assert (1.1.watts / 2.3.watts == 0.4782608695652174.watts / 1.0.watts) - - // Test kilowatts. - println("Division Kilowatts: " + 1.1.kilowatts / 2.3.kilowatts) - assert (1.1.kilowatts / 2.3.kilowatts == 0.4782608695652174.kilowatts / 1.0.kilowatts) - - // Test megawatts. - println("Division Megawatts: " + 1.1.megawatts / 2.3.megawatts) - assert (1.1.megawatts / 2.3.megawatts == 0.4782608695652174.megawatts / 1.0.megawatts) - - // Test webers. - println("Division Webers: " + 1.1.webers / 2.3.webers) - assert (1.1.webers / 2.3.webers == 0.4782608695652174.webers / 1.0.webers) - - // Test ares. - println("Division Ares: " + 1.1.ares / 2.3.ares) - assert (1.1.ares / 2.3.ares == 0.4782608695652174.ares / 1.0.ares) - - // Test astronomical_units. - println("Division Astronomical_units: " + 1.1.astronomical_units / 2.3.astronomical_units) - assert (1.1.astronomical_units / 2.3.astronomical_units == 0.4782608695652174.astronomical_units / 1.0.astronomical_units) - - // Test atmospheres. - println("Division Atmospheres: " + 1.1.atmospheres / 2.3.atmospheres) - assert (1.1.atmospheres / 2.3.atmospheres == 0.4782608695652174.atmospheres / 1.0.atmospheres) - - // Test atoms. - println("Division Atoms: " + 1.1.atoms / 2.3.atoms) - assert (1.1.atoms / 2.3.atoms == 0.4782608695652174.atoms / 1.0.atoms) - - // Test atomic mass. - println("Division Atomic_mass: " + 1.1.atomic_mass / 2.3.atomic_mass) - assert (1.1.atomic_mass / 2.3.atomic_mass == 0.4782608695652174.atomic_mass / 1.0.atomic_mass) - - // Test bars. - println("Division Bars: " + 1.1.bars / 2.3.bars) - assert (1.1.bars / 2.3.bars == 0.4782608695652174.bars / 1.0.bars) - - // Test bytes. - println("Division Bytes: " + 1.1.bytes / 2.3.bytes) - assert (1.1.bytes / 2.3.bytes == 0.4782608695652174.bytes / 1.0.bytes) - - // Test c. - println("Division C: " + 1.1.c / 2.3.c) - assert (1.1.c / 2.3.c == 0.4782608695652174.c / 1.0.c) - - // Test centiradians. - println("Division Centiradians: " + 1.1.centiradians / 2.3.centiradians) - assert (1.1.centiradians / 2.3.centiradians == 0.4782608695652174.centiradians / 1.0.centiradians) - - // Test computer point. - println("Division Computer_point: " + 1.1.computer_point / 2.3.computer_point) - assert (1.1.computer_point / 2.3.computer_point == 0.4782608695652174.computer_point / 1.0.computer_point) - - // Test cubic inches. - println("Division Cubic_inches: " + 1.1.cubic_inches / 2.3.cubic_inches) - assert (1.1.cubic_inches / 2.3.cubic_inches == 0.4782608695652174.cubic_inches / 1.0.cubic_inches) - - // Test curies. - println("Division Curies: " + 1.1.curies / 2.3.curies) - assert (1.1.curies / 2.3.curies == 0.4782608695652174.curies / 1.0.curies) - - // Test days. - println("Division Days: " + 1.1.days / 2.3.days) - assert (1.1.days / 2.3.days == 0.4782608695652174.days / 1.0.days) - - // Test day sidereal. - println("Division Day_sidereal: " + 1.1.day_sidereal / 2.3.day_sidereal) - assert (1.1.day_sidereal / 2.3.day_sidereal == 0.4782608695652174.day_sidereal / 1.0.day_sidereal) - - // Test decibels. - println("Division Decibels: " + 1.1.decibels / 2.3.decibels) - assert (1.1.decibels / 2.3.decibels == 0.4782608695652174.decibels / 1.0.decibels) - - // Test degree angle. - println("Division Degree_angle: " + 1.1.degree_angle / 2.3.degree_angle) - assert (1.1.degree_angle / 2.3.degree_angle == 0.4782608695652174.degree_angle / 1.0.degree_angle) - - // Test dynes. - println("Division Dynes: " + 1.1.dynes / 2.3.dynes) - assert (1.1.dynes / 2.3.dynes == 0.4782608695652174.dynes / 1.0.dynes) - - // Test e. - println("Division E: " + 1.1.e / 2.3.e) - assert (1.1.e / 2.3.e == 0.4782608695652174.e / 1.0.e) - - // Test electron mass. - println("Division Electron_mass: " + 1.1.electron_mass / 2.3.electron_mass) - assert (1.1.electron_mass / 2.3.electron_mass == 0.4782608695652174.electron_mass / 1.0.electron_mass) - - // Test electron volt. - println("Division Electron_volt: " + 1.1.electron_volt / 2.3.electron_volt) - assert (1.1.electron_volt / 2.3.electron_volt == 0.4782608695652174.electron_volt / 1.0.electron_volt) - - // Test ergs. - println("Division Ergs: " + 1.1.ergs / 2.3.ergs) - assert (1.1.ergs / 2.3.ergs == 0.4782608695652174.ergs / 1.0.ergs) - - // Test fahrenheit. - println("Division Fahrenheit: " + 1.1.fahrenheit / 2.3.fahrenheit) - assert (1.1.fahrenheit / 2.3.fahrenheit == 0.4782608695652174.fahrenheit / 1.0.fahrenheit) - - // Test faradays. - println("Division Faradays: " + 1.1.faradays / 2.3.faradays) - assert (1.1.faradays / 2.3.faradays == 0.4782608695652174.faradays / 1.0.faradays) - - // Test feet. - println("Division Feet: " + 1.1.feet / 2.3.feet) - assert (1.1.feet / 2.3.feet == 0.4782608695652174.feet / 1.0.feet) - - // Test foot_survey_us. - println("Division Foot_survey_us: " + 1.1.foot_survey_us / 2.3.foot_survey_us) - assert (1.1.foot_survey_us / 2.3.foot_survey_us == 0.4782608695652174.foot_survey_us / 1.0.foot_survey_us) - - // Test franklins. - println("Division Franklins: " + 1.1.franklins / 2.3.franklins) - assert (1.1.franklins / 2.3.franklins == 0.4782608695652174.franklins / 1.0.franklins) - - // Test g. - println("Division G: " + 1.1.g / 2.3.g) - assert (1.1.g / 2.3.g == 0.4782608695652174.g / 1.0.g) - - // Test gallon dry us. - println("Division Gallon_dry_us: " + 1.1.gallon_dry_us / 2.3.gallon_dry_us) - assert (1.1.gallon_dry_us / 2.3.gallon_dry_us == 0.4782608695652174.gallon_dry_us / 1.0.gallon_dry_us) - - // Test gallon liquid us. - println("Division Gallon_liquid_us: " + 1.1.gallon_liquid_us / 2.3.gallon_liquid_us) - assert (1.1.gallon_liquid_us / 2.3.gallon_liquid_us == 0.4782608695652174.gallon_liquid_us / 1.0.gallon_liquid_us) - - // Test gallon uk. - println("Division Gallon_uk: " + 1.1.gallon_uk / 2.3.gallon_uk) - assert (1.1.gallon_uk / 2.3.gallon_uk == 0.4782608695652174.gallon_uk / 1.0.gallon_uk) - - // Test gauss. - println("Division Gauss: " + 1.1.gauss / 2.3.gauss) - assert (1.1.gauss / 2.3.gauss == 0.4782608695652174.gauss / 1.0.gauss) - - // Test gilberts. - println("Division Gilberts: " + 1.1.gilberts / 2.3.gilberts) - assert (1.1.gilberts / 2.3.gilberts == 0.4782608695652174.gilberts / 1.0.gilberts) - - // Test grades. - println("Division Grades: " + 1.1.grades / 2.3.grades) - assert (1.1.grades / 2.3.grades == 0.4782608695652174.grades / 1.0.grades) - - // Test hectares. - println("Division Hectares: " + 1.1.hectares / 2.3.hectares) - assert (1.1.hectares / 2.3.hectares == 0.4782608695652174.hectares / 1.0.hectares) - - // Test horsepower. - println("Division Horsepower: " + 1.1.horsepower / 2.3.horsepower) - assert (1.1.horsepower / 2.3.horsepower == 0.4782608695652174.horsepower / 1.0.horsepower) - - // Test hours. - println("Division Hours: " + 1.1.hours / 2.3.hours) - assert (1.1.hours / 2.3.hours == 0.4782608695652174.hours / 1.0.hours) - - // Test inches. - println("Division Inches: " + 1.1.inches / 2.3.inches) - assert (1.1.inches / 2.3.inches == 0.4782608695652174.inches / 1.0.inches) - - // Test inches of mercury. - println("Division Inch_of_mercury: " + 1.1.inch_of_mercury / 2.3.inch_of_mercury) - assert (1.1.inch_of_mercury / 2.3.inch_of_mercury == 0.4782608695652174.inch_of_mercury / 1.0.inch_of_mercury) - - // Test kilogram force. - println("Division Kilogram_force: " + 1.1.kilogram_force / 2.3.kilogram_force) - assert (1.1.kilogram_force / 2.3.kilogram_force == 0.4782608695652174.kilogram_force / 1.0.kilogram_force) - - // Test knots. - println("Division Knots: " + 1.1.knots / 2.3.knots) - assert (1.1.knots / 2.3.knots == 0.4782608695652174.knots / 1.0.knots) - - // Test lamberts. - println("Division Lamberts: " + 1.1.lamberts / 2.3.lamberts) - assert (1.1.lamberts / 2.3.lamberts == 0.4782608695652174.lamberts / 1.0.lamberts) - - // Test light years. - println("Division Light_years: " + 1.1.light_years / 2.3.light_years) - assert (1.1.light_years / 2.3.light_years == 0.4782608695652174.light_years / 1.0.light_years) - - // Test liters. - println("Division Liters: " + 1.1.liters / 2.3.liters) - assert (1.1.liters / 2.3.liters == 0.4782608695652174.liters / 1.0.liters) - - // Test mach. - println("Division Mach: " + 1.1.mach / 2.3.mach) - assert (1.1.mach / 2.3.mach == 0.4782608695652174.mach / 1.0.mach) - - // Test maxwells. - println("Division Maxwells: " + 1.1.maxwells / 2.3.maxwells) - assert (1.1.maxwells / 2.3.maxwells == 0.4782608695652174.maxwells / 1.0.maxwells) - - // Test metric tons. - println("Division Metric_tons: " + 1.1.metric_tons / 2.3.metric_tons) - assert (1.1.metric_tons / 2.3.metric_tons == 0.4782608695652174.metric_tons / 1.0.metric_tons) - - // Test miles. - println("Division Miles: " + 1.1.miles / 2.3.miles) - assert (1.1.miles / 2.3.miles == 0.4782608695652174.miles / 1.0.miles) - - // Test millimeters of mercury. - println("Division Millimeters_of_mercury: " + 1.1.millimeters_of_mercury / 2.3.millimeters_of_mercury) - assert (1.1.millimeters_of_mercury / 2.3.millimeters_of_mercury == 0.4782608695652174.millimeters_of_mercury / 1.0.millimeters_of_mercury) - - // Test minutes. - println("Division Minutes: " + 1.1.minutes / 2.3.minutes) - assert (1.1.minutes / 2.3.minutes == 0.4782608695652174.minutes / 1.0.minutes) - - // Test minute angle. - println("Division Minute_angle: " + 1.1.minute_angle / 2.3.minute_angle) - assert (1.1.minute_angle / 2.3.minute_angle == 0.4782608695652174.minute_angle / 1.0.minute_angle) - - // Test months. - println("Division Months: " + 1.1.months / 2.3.months) - assert (1.1.months / 2.3.months == 0.4782608695652174.months / 1.0.months) - - // Test nautical miles. - println("Division Nautical_miles: " + 1.1.nautical_miles / 2.3.nautical_miles) - assert (1.1.nautical_miles / 2.3.nautical_miles == 0.4782608695652174.nautical_miles / 1.0.nautical_miles) - - // Test octets. - println("Division Octets: " + 1.1.octets / 2.3.octets) - assert (1.1.octets / 2.3.octets == 0.4782608695652174.octets / 1.0.octets) - - // Test ounces. - println("Division Ounces: " + 1.1.ounces / 2.3.ounces) - assert (1.1.ounces / 2.3.ounces == 0.4782608695652174.ounces / 1.0.ounces) - - // Test ounce liquid uk. - println("Division Ounce_liquid_uk: " + 1.1.ounce_liquid_uk / 2.3.ounce_liquid_uk) - assert (1.1.ounce_liquid_uk / 2.3.ounce_liquid_uk == 0.4782608695652174.ounce_liquid_uk / 1.0.ounce_liquid_uk) - - // Test ounce liquid us. - println("Division Ounce_liquid_us: " + 1.1.ounce_liquid_us / 2.3.ounce_liquid_us) - assert (1.1.ounce_liquid_us / 2.3.ounce_liquid_us == 0.4782608695652174.ounce_liquid_us / 1.0.ounce_liquid_us) - - // Test parsecs. - println("Division Parsecs: " + 1.1.parsecs / 2.3.parsecs) - assert (1.1.parsecs / 2.3.parsecs == 0.4782608695652174.parsecs / 1.0.parsecs) - - // Test percent. - println("Division Percent: " + 1.1.percent / 2.3.percent) - assert (1.1.percent / 2.3.percent == 0.4782608695652174.percent / 1.0.percent) - - // Test pixels. - println("Division Pixels: " + 1.1.pixels / 2.3.pixels) - assert (1.1.pixels / 2.3.pixels == 0.4782608695652174.pixels / 1.0.pixels) - - // Test points. - println("Division Points: " + 1.1.points / 2.3.points) - assert (1.1.points / 2.3.points == 0.4782608695652174.points / 1.0.points) - - // Test poise. - println("Division Poise: " + 1.1.poise / 2.3.poise) - assert (1.1.poise / 2.3.poise == 0.4782608695652174.poise / 1.0.poise) - - // Test pound force. - println("Division Pound_force: " + 1.1.pound_force / 2.3.pound_force) - assert (1.1.pound_force / 2.3.pound_force == 0.4782608695652174.pound_force / 1.0.pound_force) - - // Test rads. - println("Division Rads: " + 1.1.rads / 2.3.rads) - assert (1.1.rads / 2.3.rads == 0.4782608695652174.rads / 1.0.rads) - - // Test rankines. - println("Division Rankines: " + 1.1.rankines / 2.3.rankines) - assert (1.1.rankines / 2.3.rankines == 0.4782608695652174.rankines / 1.0.rankines) - - // Test rems. - println("Division Rems: " + 1.1.rems / 2.3.rems) - assert (1.1.rems / 2.3.rems == 0.4782608695652174.rems / 1.0.rems) - - // Test revolutions. - println("Division Revolutions: " + 1.1.revolutions / 2.3.revolutions) - assert (1.1.revolutions / 2.3.revolutions == 0.4782608695652174.revolutions / 1.0.revolutions) - - // Test roentgens. - println("Division Roentgens: " + 1.1.roentgens / 2.3.roentgens) - assert (1.1.roentgens / 2.3.roentgens == 0.4782608695652174.roentgens / 1.0.roentgens) - - // Test rutherfords. - println("Division Rutherfords: " + 1.1.rutherfords / 2.3.rutherfords) - assert (1.1.rutherfords / 2.3.rutherfords == 0.4782608695652174.rutherfords / 1.0.rutherfords) - - // Test second angle. - println("Division Second_angle: " + 1.1.second_angle / 2.3.second_angle) - assert (1.1.second_angle / 2.3.second_angle == 0.4782608695652174.second_angle / 1.0.second_angle) - - // Test spheres. - println("Division Spheres: " + 1.1.spheres / 2.3.spheres) - assert (1.1.spheres / 2.3.spheres == 0.4782608695652174.spheres / 1.0.spheres) - - // Test stokes. - println("Division Stokes: " + 1.1.stokes / 2.3.stokes) - assert (1.1.stokes / 2.3.stokes == 0.4782608695652174.stokes / 1.0.stokes) - - // Test ton uk. - println("Division Ton_uk: " + 1.1.ton_uk / 2.3.ton_uk) - assert (1.1.ton_uk / 2.3.ton_uk == 0.4782608695652174.ton_uk / 1.0.ton_uk) - - // Test ton us. - println("Division Ton_us: " + 1.1.ton_us / 2.3.ton_us) - assert (1.1.ton_us / 2.3.ton_us == 0.4782608695652174.ton_us / 1.0.ton_us) - - // Test weeks. - println("Division Weeks: " + 1.1.weeks / 2.3.weeks) - assert (1.1.weeks / 2.3.weeks == 0.4782608695652174.weeks / 1.0.weeks) - - // Test yards. - println("Division Yards: " + 1.1.yards / 2.3.yards) - assert (1.1.yards / 2.3.yards == 0.4782608695652174.yards / 1.0.yards) - - // Test years. - println("Division Years: " + 1.1.years / 2.3.years) - assert (1.1.years / 2.3.years == 0.4782608695652174.years / 1.0.years) - - // Test year_calendar. - println("Division Year_calendar: " + 1.1.year_calendar / 2.3.year_calendar) - assert (1.1.year_calendar / 2.3.year_calendar == 0.4782608695652174.year_calendar / 1.0.year_calendar) - - // Test year_sidereal. - println("Division Year_sidereal: " + 1.1.year_sidereal / 2.3.year_sidereal) - assert (1.1.year_sidereal / 2.3.year_sidereal == 0.4782608695652174.year_sidereal / 1.0.year_sidereal) - - } - - } - - void testUnitConversions() { - - use(UnitsCategory) { - - // Test kilograms. - println("Conversion Kilograms: " + (1.1.kilograms + 1.2.pounds)) - assert((1.1.kilograms + 1.2.pounds) == 1.6443108439999996.kilograms) - - // Test pounds. - println("Conversion Pounds: " + (1.1.pounds + 1.2.kilograms)) - assert(1.1.pounds + 1.2.kilograms) - - // Test feet. - println("Conversion Feet: " + (1.1.feet + 1.2.meters)) - assert(1.1.feet + 1.2.meters) - - // Test meters. - println("Conversion Meters: " + (1.1.meters + 1.2.feet)) - assert(1.1.meters + 1.2.feet) - - // Test yards. - println("Conversion Yards: " + (1.1.yards + 1.2.meters)) - assert(1.1.yards + 1.2.meters) - - // Test inches. - println("Conversion Inches: " + (1.1.inches + 1.2.centimeters)) - assert(1.1.inches + 1.2.centimeters) - - // Test centimeters. - println("Conversion Centimeters: " + (1.1.centimeters + 1.2.inches)) - assert(1.1.centimeters + 1.2.inches) - - // Test kilometers. - println("Conversion Kilometers: " + (1.1.kilometers + 1.2.miles)) - assert(1.1.kilometers + 1.2.miles) - - // Test miles. - println("Conversion Miles: " + (1.1.miles + 1.2.kilometers)) - assert(1.1.miles + 1.2.kilometers) - - // Test fahrenheit. - println("Conversion Fahrenheit: " + (1.1.fahrenheit + 1.2.celsius)) - assert(1.1.fahrenheit + 1.2.celsius) - - // Test celsius. - println("Conversion Celsius: " + (1.1.celsius + 1.2.fahrenheit)) - assert(1.1.celsius + 1.2.fahrenheit) - - // Test kelvin. - println("Conversion Kelvin: " + (1.1.kelvin + 1.2.rankines)) - assert(1.1.kelvin + 1.2.rankines) - - // Test rankines. - println("Conversion Rankines: " + (1.1.rankines + 1.2.kelvin)) - assert(1.1.rankines + 1.2.kelvin) - - // Test grams. - println("Conversion Grams: " + (1.1.grams + 1.2.ounces)) - assert(1.1.grams + 1.2.ounces) - - // Test ounces. - println("Conversion Ounces: " + (1.1.ounces + 1.2.grams)) - assert(1.1.ounces + 1.2.grams) - - // Test seconds. - println("Conversion Seconds: " + (1.1.seconds + 1.2.minutes)) - assert(1.1.seconds + 1.2.minutes) - - // Test minutes. - println("Conversion Minutes: " + (1.1.minutes + 1.2.hours)) - assert(1.1.minutes + 1.2.hours) - - // Test hours. - println("Conversion Hours: " + (1.1.hours + 1.2.days)) - assert(1.1.hours + 1.2.days) - - // Test days. - println("Conversion Days: " + (1.1.days + 1.2.weeks)) - assert(1.1.days + 1.2.weeks) - - // Test weeks. - println("Conversion Weeks: " + (1.1.weeks + 1.2.months)) - assert(1.1.weeks + 1.2.months) - - // Test months. - println("Conversion Months: " + (1.1.months + 1.2.years)) - assert(1.1.months + 1.2.years) - - // Test years. - println("Conversion Years: " + (1.1.years + 1.2.months)) - assert(1.1.years + 1.2.months) - - // Test g. - println("Conversion G: " + (1.1.g + 1.2.meter_per_square_second)) - assert(1.1.g + 1.2.meter_per_square_second) - - // Test meter per square second. - println("Conversion Meter_per_square_second: " + (1.1.meter_per_square_second + 1.2.g)) - assert(1.1.meter_per_square_second + 1.2.g) - - // Test liters. - println("Conversion Liters: " + (1.1.liters + 1.2.gallon_liquid_us)) - assert(1.1.liters + 1.2.gallon_liquid_us) - - // Test gallon liquid us. - println("Conversion Gallon_liquid_us: " + (1.1.gallon_liquid_us + 1.2.ounce_liquid_us)) - assert(1.1.gallon_liquid_us + 1.2.ounce_liquid_us) - - // Test ounce liquid us. - println("Conversion Ounce_liquid_us: " + (1.1.ounce_liquid_us + 1.2.gallon_liquid_us)) - assert(1.1.ounce_liquid_us + 1.2.gallon_liquid_us) - - // Test gallon uk. - println("Conversion Gallon_uk: " + (1.1.gallon_uk + 1.2.ounce_liquid_uk)) - assert(1.1.gallon_uk + 1.2.ounce_liquid_uk) - - // Test ounce_liquid_uk. - println("Conversion Ounce_liquid_uk: " + (1.1.ounce_liquid_uk + 1.2.gallon_uk)) - assert(1.1.ounce_liquid_uk + 1.2.gallon_uk) - - // Test gallon_dry_us. - println("Conversion Gallon_dry_us: " + (1.1.gallon_dry_us + 1.2.liters)) - assert(1.1.gallon_dry_us + 1.2.liters) - - // Test ares. - println("Conversion Ares: " + (1.1.ares + 1.2.hectares)) - assert(1.1.ares + 1.2.hectares) - - // Test hectares. - println("Conversion Hectares: " + (1.1.hectares + 1.2.ares)) - assert(1.1.hectares + 1.2.ares) - - // Test joules. - println("Conversion Joules: " + (1.1.joules + 1.2.ergs)) - assert(1.1.joules + 1.2.ergs) - - // Test ergs. - println("Conversion Ergs: " + (1.1.ergs + 1.2.joules)) - assert(1.1.ergs + 1.2.joules) - - // Test newtons. - println("Conversion Newtons: " + (1.1.newtons + 1.2.dynes)) - assert(1.1.newtons + 1.2.dynes) - - // Test dynes. - println("Conversion Dynes: " + (1.1.dynes + 1.2.newtons)) - assert(1.1.dynes + 1.2.newtons) - - // Test pound force. - println("Conversion Pound_force: " + (1.1.pound_force + 1.2.kilogram_force)) - assert(1.1.pound_force + 1.2.kilogram_force) - - // Test kilogram force. - println("Conversion Kilogram_force: " + (1.1.kilogram_force + 1.2.pound_force)) - assert(1.1.kilogram_force + 1.2.pound_force) - - // Test nautical miles. - println("Conversion Nautical_miles: " + (1.1.nautical_miles + 1.2.kilometers)) - assert(1.1.nautical_miles + 1.2.kilometers) - - // Test parsecs. - println("Conversion Parsecs: " + (1.1.parsecs + 1.2.astronomical_units)) - assert(1.1.parsecs + 1.2.astronomical_units) - - // Test astronomical units. - println("Conversion Astronomical_Units: " + (1.1.astronomical_units + 1.2.parsecs)) - assert(1.1.astronomical_units + 1.2.parsecs) - - // Test angstroms. - println("Conversion Angstroms: " + (1.1.angstroms + 1.2.millimeters)) - assert(1.1.angstroms + 1.2.millimeters) - - // Test light years. - println("Conversion Light_years: " + (1.1.light_years + 1.2.astronomical_units)) - assert(1.1.light_years + 1.2.astronomical_units) - - // Test ton us. - println("Conversion ton_us: " + (1.1.ton_us + 1.2.pounds)) - assert(1.1.ton_us + 1.2.pounds) - - // Test ton uk. - println("Conversion ton_uk: " + (1.1.ton_uk + 1.2.pounds)) - assert(1.1.ton_us + 1.2.pounds) - - // Test pascals. - println("Conversion pascals: " + (1.1.pascals + 1.2.inch_of_mercury)) - assert(1.1.pascals + 1.2.inch_of_mercury) - - // Test inch of mercury. - println("Conversion inch_of_mercury: " + (1.1.inch_of_mercury + 1.2.pascals)) - assert(1.1.inch_of_mercury + 1.2.pascals) - - // Test bars. - println("Conversion bars: " + (1.1.bars + 1.2.atmospheres)) - assert(1.1.bars + 1.2.atmospheres) - - // Test atmospheres. - println("Conversion atmospheres: " + (1.1.atmospheres + 1.2.bars)) - assert(1.1.atmospheres + 1.2.bars) - - // Test cubic inches. - println("Conversion Cubic_inches: " + (1.1.cubic_inches + 1.2.liters)) - assert(1.1.cubic_inches + 1.2.liters) - - // Test bytes. - println("Conversion Bytes: " + (1.1.bytes + 1.2.bits)) - assert(1.1.bytes + 1.2.bits) - - // Test bits. - println("Conversion Bits: " + (1.1.bits + 1.2.bytes)) - assert(1.1.bits + 1.2.bytes) - - // Test points. - println("Conversion Points: " + (1.1.points + 1.2.pixels)) - assert(1.1.points + 1.2.pixels) - - // Test pixels. - println("Conversion Pixels: " + (1.1.pixels + 1.2.points)) - assert(1.1.pixels + 1.2.points) - - } - - } - -} \ No newline at end of file diff --git a/repast.simphony.gui/META-INF/MANIFEST.MF b/repast.simphony.gui/META-INF/MANIFEST.MF index ce0fe7dd5..c749f609c 100644 --- a/repast.simphony.gui/META-INF/MANIFEST.MF +++ b/repast.simphony.gui/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Repast gui Bundle-SymbolicName: repast.simphony.gui -Bundle-Version: 2.9.1 +Bundle-Version: 2.10.0 Bundle-ClassPath: lib/jmf.jar, bin/, lib/spark-1.2.jar, diff --git a/repast.simphony.gui/plugin_jpf.xml b/repast.simphony.gui/plugin_jpf.xml index 7dc8f657f..44dc5814a 100644 --- a/repast.simphony.gui/plugin_jpf.xml +++ b/repast.simphony.gui/plugin_jpf.xml @@ -3,7 +3,7 @@ - + diff --git a/repast.simphony.gui/src/repast/simphony/ui/DefaultTickCountFormatter.java b/repast.simphony.gui/src/repast/simphony/ui/DefaultTickCountFormatter.java index e31861ea3..004221d42 100644 --- a/repast.simphony.gui/src/repast/simphony/ui/DefaultTickCountFormatter.java +++ b/repast.simphony.gui/src/repast/simphony/ui/DefaultTickCountFormatter.java @@ -1,6 +1,6 @@ package repast.simphony.ui; -import org.jscience.physics.amount.Amount; +import javax.measure.Quantity; import repast.simphony.engine.environment.RunEnvironment; import repast.simphony.ui.plugin.TickCountFormatter; @@ -26,13 +26,14 @@ public class DefaultTickCountFormatter implements TickCountFormatter { * @return a String representing the formatted tick. */ public String format(double tick) { - Amount units = RunEnvironment.getInstance().getCurrentSchedule().getTimeUnits(); - if (units == null) { + Quantity timeQuantity = RunEnvironment.getInstance().getCurrentSchedule().getTimeQuantity(); + if (timeQuantity == null) { return builder.delete(12, builder.length()).append(tick).toString(); - } else { - Amount tickInUnits = RunEnvironment.getInstance().getCurrentSchedule().getTickCountInTimeUnits(); - double timeValue = Math.round(tickInUnits.getEstimatedValue() * precision) / ((double) precision); - return ("Tick Count: " + timeValue + " " + tickInUnits.getUnit().toString()); + } + else { + Quantity tickInQuantity = RunEnvironment.getInstance().getCurrentSchedule().getTickCountInTimeQuantity(); + double timeValue = Math.round(tickInQuantity.getValue().doubleValue() * precision) / ((double) precision); + return ("Tick Count: " + timeValue + " " + timeQuantity.getUnit().toString()); } } diff --git a/repast.simphony.gui/src/repast/simphony/ui/RSApplication.java b/repast.simphony.gui/src/repast/simphony/ui/RSApplication.java index b420c4060..4b845f945 100644 --- a/repast.simphony.gui/src/repast/simphony/ui/RSApplication.java +++ b/repast.simphony.gui/src/repast/simphony/ui/RSApplication.java @@ -50,6 +50,8 @@ import simphony.util.messages.MessageCenter; import simphony.util.messages.MessageEvent; import simphony.util.messages.MessageEventListener; +import tech.units.indriya.function.Calculus; +import tech.units.indriya.function.DefaultNumberSystem; /** * Main application mediator type object for Repast Simphony runtime. @@ -58,6 +60,18 @@ */ public class RSApplication implements TickListener, RunListener { + /* + * The new java units api implementation "indriya" uses a java ServiceLoader that unfortunately + * uses the default classloader instead of the java plugin classloader, so it can't find + * the services. Fortunately there is only one NumberSystem implemented, so there is no + * reason to use the ServiceLoader approach and we can just mannually set it here. + * + * TODO Check if this is fixed in future units release then we can remove it. + */ + static { + Calculus.setCurrentNumberSystem(new DefaultNumberSystem()); + } + private static final String LAST_LOADED_SCENARIO_KEY = "LastLoadedScenario"; private static final String DEFAULT_LAYOUT_FILE = "default_frame_layout.xml"; diff --git a/repast.simphony.gui/src/repast/simphony/ui/probe/ProbeableBeanCreator.java b/repast.simphony.gui/src/repast/simphony/ui/probe/ProbeableBeanCreator.java index 20ac58df1..fd7444c95 100644 --- a/repast.simphony.gui/src/repast/simphony/ui/probe/ProbeableBeanCreator.java +++ b/repast.simphony.gui/src/repast/simphony/ui/probe/ProbeableBeanCreator.java @@ -11,6 +11,8 @@ import java.util.List; import java.util.Map; +import javax.measure.Quantity; + import javassist.CannotCompileException; import javassist.ClassPool; import javassist.CtClass; @@ -20,9 +22,6 @@ import javassist.LoaderClassPath; import javassist.Modifier; import javassist.NotFoundException; - -import org.jscience.physics.amount.Amount; - import repast.simphony.parameter.Parameter; import repast.simphony.parameter.StringConverter; import repast.simphony.util.ClassUtilities; @@ -63,7 +62,7 @@ public static ProbeableBeanCreator getInstance() { private Map converterMap = new HashMap(); private ProbeableBeanCreator() { - converterMap.put(Amount.class, new AmountConverter()); + converterMap.put(Quantity.class, new QuantityConverter()); } public ProbeableBeanInfo createProbeableBean(Object target) throws IntrospectionException, NoSuchMethodException, @@ -217,6 +216,9 @@ private List getProperties(Object target) throws IntrospectionExceptio PropertyDescriptor[] pds = info.getPropertyDescriptors(); List props = new ArrayList(); for (PropertyDescriptor pd : pds) { + + // TODO Note that this class isn't used anymore! + if (methods.length > 0) { // only add those properties that have a Parameter annotation Method readMethod = pd.getReadMethod(); diff --git a/repast.simphony.gui/src/repast/simphony/ui/probe/AmountConverter.java b/repast.simphony.gui/src/repast/simphony/ui/probe/QuantityConverter.java similarity index 59% rename from repast.simphony.gui/src/repast/simphony/ui/probe/AmountConverter.java rename to repast.simphony.gui/src/repast/simphony/ui/probe/QuantityConverter.java index dedee8c9e..765286775 100644 --- a/repast.simphony.gui/src/repast/simphony/ui/probe/AmountConverter.java +++ b/repast.simphony.gui/src/repast/simphony/ui/probe/QuantityConverter.java @@ -1,19 +1,16 @@ package repast.simphony.ui.probe; -import javax.measure.unit.Unit; - -import org.jscience.physics.amount.Amount; +import javax.measure.Quantity; import repast.simphony.parameter.StringConverter; +import tech.units.indriya.AbstractQuantity; /** * Converts an Amount to and from a String representation. * * @author Nick Collier */ -public class AmountConverter implements StringConverter { - - Unit units = Unit.ONE; +public class QuantityConverter implements StringConverter> { /** * Converts the specified object to a String representation and returns that @@ -24,11 +21,8 @@ public class AmountConverter implements StringConverter { * the Object to convert. * @return a String representation of the Object. */ - public String toString(Amount obj) { - Amount a = (Amount) obj; - if (units == null) - units = a.getUnit(); - return Utils.getNumberFormatInstance().format(obj.getEstimatedValue()); + public String toString(Quantity quantity) { + return quantity.toString(); } /** @@ -38,7 +32,7 @@ public String toString(Amount obj) { * the string representation * @return the created Object. */ - public Amount fromString(String strRep) { - return Amount.valueOf(Double.parseDouble(strRep), units); + public Quantity fromString(String strRep) { + return AbstractQuantity.parse(strRep); } } diff --git a/repast.simphony.gui/src/repast/simphony/ui/sparkline/PropertySourcedSparklineJComponent.java b/repast.simphony.gui/src/repast/simphony/ui/sparkline/PropertySourcedSparklineJComponent.java index 2f0bb4b98..4d523d03e 100644 --- a/repast.simphony.gui/src/repast/simphony/ui/sparkline/PropertySourcedSparklineJComponent.java +++ b/repast.simphony.gui/src/repast/simphony/ui/sparkline/PropertySourcedSparklineJComponent.java @@ -3,7 +3,7 @@ import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; -import org.jscience.physics.amount.Amount; +import javax.measure.Quantity; import repast.simphony.engine.environment.RunEnvironment; import repast.simphony.ui.probe.NumericProbedProperty; @@ -95,7 +95,7 @@ public void setData(Object newValue) { public void addData(Object newValue) { - if ((newValue != null) && ((newValue instanceof Number) || (newValue instanceof Amount))) { + if ((newValue != null) && ((newValue instanceof Number) || (newValue instanceof Quantity))) { if (RunEnvironment.getInstance() != null) { int tempLength = RunEnvironment.getInstance().getSparklineLength(); diff --git a/repast.simphony.gui/src/repast/simphony/ui/sparkline/SparklineJComponent.java b/repast.simphony.gui/src/repast/simphony/ui/sparkline/SparklineJComponent.java index 7f6228e3c..c5ad479ff 100644 --- a/repast.simphony.gui/src/repast/simphony/ui/sparkline/SparklineJComponent.java +++ b/repast.simphony.gui/src/repast/simphony/ui/sparkline/SparklineJComponent.java @@ -5,10 +5,9 @@ import java.awt.Graphics; import java.awt.image.BufferedImage; +import javax.measure.Quantity; import javax.swing.JPanel; -import org.jscience.physics.amount.Amount; - import simphony.util.ThreadUtilities; import com.representqueens.spark.BarGraph; @@ -86,7 +85,7 @@ public SparklineJComponent() { public void addData(Object newValue) { if ((newValue != null) - && ((newValue instanceof Number) || (newValue instanceof Amount))) { + && ((newValue instanceof Number) || (newValue instanceof Quantity))) { for (int i = 1; i < data.length; i++) { data[i - 1] = data[i]; @@ -94,8 +93,8 @@ public void addData(Object newValue) { Number newValueNumber; if (newValue instanceof Number) { newValueNumber = (Number) newValue; - } else if (newValue instanceof Amount) { - newValueNumber = ((Amount) newValue).getEstimatedValue(); + } else if (newValue instanceof Quantity) { + newValueNumber = ((Quantity) newValue).getValue(); } else { newValueNumber = 0.0; } @@ -117,11 +116,11 @@ public void setData(Number newData[]) { } - public void setData(Amount newAmountData[]) { + public void setData(Quantity newAmountData[]) { Double[] newData = new Double[newAmountData.length]; for (int i = 0; i < newAmountData.length; i++) { - newData[i] = newAmountData[i].getEstimatedValue(); + newData[i] = newAmountData[i].getValue().doubleValue(); } this.setData(newData); diff --git a/repast.simphony.integration/META-INF/MANIFEST.MF b/repast.simphony.integration/META-INF/MANIFEST.MF index fe2ce2ddf..9dcd8c4b7 100644 --- a/repast.simphony.integration/META-INF/MANIFEST.MF +++ b/repast.simphony.integration/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Repast integration Bundle-SymbolicName: repast.simphony.integration;singleton:=true -Bundle-Version: 2.9.1 +Bundle-Version: 2.10.0 Bundle-ClassPath: bin/, lib/cglib-nodep-2.1_3.jar, lib/commons-exec-1.1.jar, diff --git a/repast.simphony.integration/plugin_jpf.xml b/repast.simphony.integration/plugin_jpf.xml index c41bbc987..d520c14b5 100644 --- a/repast.simphony.integration/plugin_jpf.xml +++ b/repast.simphony.integration/plugin_jpf.xml @@ -3,7 +3,7 @@ - + diff --git a/repast.simphony.jasperreports/META-INF/MANIFEST.MF b/repast.simphony.jasperreports/META-INF/MANIFEST.MF index 4253fe0f2..86cbf4993 100644 --- a/repast.simphony.jasperreports/META-INF/MANIFEST.MF +++ b/repast.simphony.jasperreports/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Repast jasper reports Bundle-SymbolicName: repast.simphony.jasperreports -Bundle-Version: 2.9.1 +Bundle-Version: 2.10.0 Export-Package: net.sf.jasperreports.ant, net.sf.jasperreports.charts, diff --git a/repast.simphony.jasperreports/plugin_jpf.xml b/repast.simphony.jasperreports/plugin_jpf.xml index f7dcab6ff..58249543d 100644 --- a/repast.simphony.jasperreports/plugin_jpf.xml +++ b/repast.simphony.jasperreports/plugin_jpf.xml @@ -3,7 +3,7 @@ - + diff --git a/repast.simphony.jdbcfreezedryer/META-INF/MANIFEST.MF b/repast.simphony.jdbcfreezedryer/META-INF/MANIFEST.MF index dcabc59b6..f5c02dedc 100644 --- a/repast.simphony.jdbcfreezedryer/META-INF/MANIFEST.MF +++ b/repast.simphony.jdbcfreezedryer/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Repast jdbc freezedryer Bundle-SymbolicName: repast.simphony.jdbcfreezedryer -Bundle-Version: 2.9.1 +Bundle-Version: 2.10.0 Bundle-ClassPath: ., lib/commons-dbcp-1.4.jar, lib/commons-pool-1.6.jar diff --git a/repast.simphony.jdbcfreezedryer/plugin_jpf.xml b/repast.simphony.jdbcfreezedryer/plugin_jpf.xml index 63cb38466..fac0a58d7 100644 --- a/repast.simphony.jdbcfreezedryer/plugin_jpf.xml +++ b/repast.simphony.jdbcfreezedryer/plugin_jpf.xml @@ -3,7 +3,7 @@ - + diff --git a/repast.simphony.jung/META-INF/MANIFEST.MF b/repast.simphony.jung/META-INF/MANIFEST.MF index 1223e5e46..6494c04ab 100644 --- a/repast.simphony.jung/META-INF/MANIFEST.MF +++ b/repast.simphony.jung/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Repast jung Bundle-SymbolicName: repast.simphony.jung -Bundle-Version: 2.9.1 +Bundle-Version: 2.10.0 Require-Bundle: repast.simphony.gui, repast.simphony.data, repast.simphony.core, diff --git a/repast.simphony.jung/plugin_jpf.xml b/repast.simphony.jung/plugin_jpf.xml index 1c250c408..1d2d2d66d 100644 --- a/repast.simphony.jung/plugin_jpf.xml +++ b/repast.simphony.jung/plugin_jpf.xml @@ -3,7 +3,7 @@ - + diff --git a/repast.simphony.jung/src/repast/simphony/jung/JungWindow.java b/repast.simphony.jung/src/repast/simphony/jung/JungWindow.java index 82dadfec9..36c2feaaa 100644 --- a/repast.simphony.jung/src/repast/simphony/jung/JungWindow.java +++ b/repast.simphony.jung/src/repast/simphony/jung/JungWindow.java @@ -17,6 +17,7 @@ import java.util.List; import java.util.Map; +import javax.measure.Quantity; import javax.swing.DefaultComboBoxModel; import javax.swing.JButton; import javax.swing.JComboBox; @@ -28,8 +29,16 @@ import javax.swing.filechooser.FileFilter; import javax.swing.table.TableModel; -import org.jscience.physics.amount.Amount; +import com.jgoodies.forms.layout.CellConstraints; +import com.jgoodies.forms.layout.ColumnSpec; +import com.jgoodies.forms.layout.FormLayout; +import com.jgoodies.forms.layout.FormSpec; +import com.jgoodies.forms.layout.FormSpecs; +import com.jgoodies.forms.layout.RowSpec; +import com.jgoodies.forms.layout.Sizes; +import edu.uci.ics.jung.algorithms.importance.BetweennessCentrality; +import edu.uci.ics.jung.graph.Graph; import repast.simphony.context.Context; import repast.simphony.context.space.graph.ContextJungNetwork; import repast.simphony.engine.environment.RunState; @@ -47,17 +56,6 @@ import repast.simphony.ui.sparkline.SparklineJComponent; import repast.simphony.ui.table.TablePanel; -import com.jgoodies.forms.layout.CellConstraints; -import com.jgoodies.forms.layout.ColumnSpec; -import com.jgoodies.forms.layout.FormLayout; -import com.jgoodies.forms.layout.FormSpec; -import com.jgoodies.forms.layout.FormSpecs; -import com.jgoodies.forms.layout.RowSpec; -import com.jgoodies.forms.layout.Sizes; - -import edu.uci.ics.jung.algorithms.importance.BetweennessCentrality; -import edu.uci.ics.jung.graph.Graph; - /** * JPanel for displaying network anaylsis results. * @@ -264,8 +262,8 @@ private void redrawSparkline() { Object value = model.getValueAt(row, col); if (value instanceof Number) { newData[row] = ((Number) value).doubleValue(); - } else if (value instanceof Amount) { - newData[row] = ((Amount) value).getEstimatedValue(); + } else if (value instanceof Quantity) { + newData[row] = ((Quantity) value).getValue(); } else if (value instanceof String) { newData[row] = Double.parseDouble((String) value); } else { diff --git a/repast.simphony.pajek/META-INF/MANIFEST.MF b/repast.simphony.pajek/META-INF/MANIFEST.MF index 3661e8c51..1bc9a9030 100644 --- a/repast.simphony.pajek/META-INF/MANIFEST.MF +++ b/repast.simphony.pajek/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Repast pajek Bundle-SymbolicName: repast.simphony.pajek -Bundle-Version: 2.9.1 +Bundle-Version: 2.10.0 Require-Bundle: repast.simphony.gui, repast.simphony.data, repast.simphony.core, diff --git a/repast.simphony.pajek/plugin_jpf.xml b/repast.simphony.pajek/plugin_jpf.xml index 7f2193af6..6d08cd135 100644 --- a/repast.simphony.pajek/plugin_jpf.xml +++ b/repast.simphony.pajek/plugin_jpf.xml @@ -3,7 +3,7 @@ - + diff --git a/repast.simphony.plugin.util/META-INF/MANIFEST.MF b/repast.simphony.plugin.util/META-INF/MANIFEST.MF index dbb415849..af61c4cbf 100644 --- a/repast.simphony.plugin.util/META-INF/MANIFEST.MF +++ b/repast.simphony.plugin.util/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Repast plugin ui Bundle-SymbolicName: repast.simphony.plugin.util -Bundle-Version: 2.9.1 +Bundle-Version: 2.10.0 Bundle-ClassPath: . Export-Package: org.jdesktop.swingx.autocomplete, repast.simphony.util.wizard diff --git a/repast.simphony.plugin.util/plugin_jpf.xml b/repast.simphony.plugin.util/plugin_jpf.xml index 639c9b49c..a2bc5bd0c 100644 --- a/repast.simphony.plugin.util/plugin_jpf.xml +++ b/repast.simphony.plugin.util/plugin_jpf.xml @@ -2,7 +2,7 @@ - + diff --git a/repast.simphony.relogo.builder/META-INF/MANIFEST.MF b/repast.simphony.relogo.builder/META-INF/MANIFEST.MF index 64ecaaa89..04533c522 100644 --- a/repast.simphony.relogo.builder/META-INF/MANIFEST.MF +++ b/repast.simphony.relogo.builder/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Repast relogo builder Bundle-SymbolicName: repast.simphony.relogo.builder;singleton:=true -Bundle-Version: 2.9.1 +Bundle-Version: 2.10.0 Bundle-Activator: repast.simphony.relogo.builder.Activator Require-Bundle: org.eclipse.core.runtime, repast.simphony.eclipse, diff --git a/repast.simphony.relogo.ide/META-INF/MANIFEST.MF b/repast.simphony.relogo.ide/META-INF/MANIFEST.MF index 5f17f9a84..2e0f78de4 100644 --- a/repast.simphony.relogo.ide/META-INF/MANIFEST.MF +++ b/repast.simphony.relogo.ide/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Repast relogo ide Bundle-SymbolicName: repast.simphony.relogo.ide;singleton:=true -Bundle-Version: 2.9.1 +Bundle-Version: 2.10.0 Bundle-Activator: relogo.Activator Require-Bundle: org.eclipse.debug.core, org.eclipse.debug.ui, diff --git a/repast.simphony.relogo.ide/plugin_jpf.xml b/repast.simphony.relogo.ide/plugin_jpf.xml index aece5d330..f48b9a53e 100644 --- a/repast.simphony.relogo.ide/plugin_jpf.xml +++ b/repast.simphony.relogo.ide/plugin_jpf.xml @@ -3,7 +3,7 @@ - + diff --git a/repast.simphony.relogo.ide/src/repast/simphony/relogo/ide/wizards/NetlogoImportWizard.java b/repast.simphony.relogo.ide/src/repast/simphony/relogo/ide/wizards/NetlogoImportWizard.java index b10fc7f7c..d8d33fa42 100644 --- a/repast.simphony.relogo.ide/src/repast/simphony/relogo/ide/wizards/NetlogoImportWizard.java +++ b/repast.simphony.relogo.ide/src/repast/simphony/relogo/ide/wizards/NetlogoImportWizard.java @@ -82,6 +82,7 @@ import repast.simphony.relogo.image.NLImage; import com.thoughtworks.xstream.XStream; +import com.thoughtworks.xstream.security.AnyTypePermission; /** * This is a sample new wizard. Its role is to create a new file resource in the @@ -464,6 +465,12 @@ protected IFolder createStandardRelogoDirectories(IProject project, IProgressMon if (!imageList.isEmpty()) { XStream xstream = new XStream(); + + // Xstream Security settings. We can either allow any types to be deserialized, + // or filter by regex. Here we allow any since this class is used to de/serialize + // user model classes. JRE classes are allowed by default. + xstream.addPermission(AnyTypePermission.ANY); + String xml = xstream.toXML(imageList); createFileResource(shapesFolder, "turtleShapes.xml", new ByteArrayInputStream(xml.getBytes("UTF-8"))); diff --git a/repast.simphony.relogo.runtime/META-INF/MANIFEST.MF b/repast.simphony.relogo.runtime/META-INF/MANIFEST.MF index 7ad41e9e6..be5d2637c 100644 --- a/repast.simphony.relogo.runtime/META-INF/MANIFEST.MF +++ b/repast.simphony.relogo.runtime/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Repast relogo runtime Bundle-SymbolicName: repast.simphony.relogo.runtime -Bundle-Version: 2.9.1 +Bundle-Version: 2.10.0 Export-Package: repast.simphony.relogo, repast.simphony.relogo.factories, repast.simphony.relogo.image, diff --git a/repast.simphony.relogo.runtime/ReLogoReferenceCreator.launch b/repast.simphony.relogo.runtime/ReLogoReferenceCreator.launch new file mode 100644 index 000000000..c13ec3cd0 --- /dev/null +++ b/repast.simphony.relogo.runtime/ReLogoReferenceCreator.launch @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/repast.simphony.relogo.runtime/buildGroovyDocs.xml b/repast.simphony.relogo.runtime/buildGroovyDocs.xml index 717e8ec5c..a0bd24c4e 100644 --- a/repast.simphony.relogo.runtime/buildGroovyDocs.xml +++ b/repast.simphony.relogo.runtime/buildGroovyDocs.xml @@ -12,7 +12,7 @@ - + diff --git a/repast.simphony.relogo.runtime/buildGroovyDocs.xml.launch b/repast.simphony.relogo.runtime/buildGroovyDocs.xml.launch index cf7ed6864..887819fca 100644 --- a/repast.simphony.relogo.runtime/buildGroovyDocs.xml.launch +++ b/repast.simphony.relogo.runtime/buildGroovyDocs.xml.launch @@ -1,6 +1,6 @@ - + @@ -9,6 +9,7 @@ + @@ -48,7 +49,7 @@ - + diff --git a/repast.simphony.relogo.runtime/docs/Readme.txt b/repast.simphony.relogo.runtime/docs/Readme.txt index 27b9d2f97..fdc6542c5 100644 --- a/repast.simphony.relogo.runtime/docs/Readme.txt +++ b/repast.simphony.relogo.runtime/docs/Readme.txt @@ -8,6 +8,9 @@ The ReLogo API docs are generated in the following steps: 2. Update the release version number in repast.simphony.relogo.util.ReLogoReferenceCreator and then run it. + + ***** NOTE! Requires Java 11 and doesnt work with Java 17+. Set the Java execution + environment in the launch. - ReLogoPrimitives.html document generation (files in r.s.relogo.runtime): - there is an Excel file, separated into sheets for turtle, patch, link, diff --git a/repast.simphony.relogo.runtime/plugin_jpf.xml b/repast.simphony.relogo.runtime/plugin_jpf.xml index 8490294c7..344081634 100644 --- a/repast.simphony.relogo.runtime/plugin_jpf.xml +++ b/repast.simphony.relogo.runtime/plugin_jpf.xml @@ -3,7 +3,7 @@ - + diff --git a/repast.simphony.relogo.runtime/src/repast/simphony/relogo/Utility.java b/repast.simphony.relogo.runtime/src/repast/simphony/relogo/Utility.java index ee0c88946..32e3b3118 100644 --- a/repast.simphony.relogo.runtime/src/repast/simphony/relogo/Utility.java +++ b/repast.simphony.relogo.runtime/src/repast/simphony/relogo/Utility.java @@ -21,8 +21,6 @@ import javax.swing.SwingUtilities; import javax.swing.SwingWorker; -import javolution.util.FastSet; - import org.apache.commons.collections15.Predicate; import org.apache.commons.collections15.functors.EqualPredicate; import org.apache.commons.collections15.functors.InstanceofPredicate; @@ -1480,7 +1478,7 @@ public static ArrayList getWayPoints(Observer observer) { } public static AgentSet combineAgentSets(AgentSet a1, AgentSet a2) { - FastSet s = new FastSet(); + ArrayList s = new ArrayList(); s.addAll(a1); s.addAll(a2); return new AgentSet(s); diff --git a/repast.simphony.relogo.runtime/src/repast/simphony/relogo/UtilityG.groovy b/repast.simphony.relogo.runtime/src/repast/simphony/relogo/UtilityG.groovy index a044b14c4..29fdaf2db 100644 --- a/repast.simphony.relogo.runtime/src/repast/simphony/relogo/UtilityG.groovy +++ b/repast.simphony.relogo.runtime/src/repast/simphony/relogo/UtilityG.groovy @@ -24,7 +24,6 @@ import repast.simphony.space.grid.GridPoint; import javax.swing.JOptionPane import java.text.SimpleDateFormat -import javolution.util.FastSet; import static repast.simphony.essentials.RepastEssentials.* import repast.simphony.space.graph.Network import repast.simphony.util.collections.FilteredIterator import repast.simphony.engine.environment.RunState diff --git a/repast.simphony.relogo.runtime/src/repast/simphony/relogo/util/ReLogoReferenceCreator.groovy b/repast.simphony.relogo.runtime/src/repast/simphony/relogo/util/ReLogoReferenceCreator.groovy index 56c28a524..205ae50f4 100644 --- a/repast.simphony.relogo.runtime/src/repast/simphony/relogo/util/ReLogoReferenceCreator.groovy +++ b/repast.simphony.relogo.runtime/src/repast/simphony/relogo/util/ReLogoReferenceCreator.groovy @@ -29,7 +29,7 @@ import repast.simphony.relogo.UtilityG; class ReLogoReferenceCreator { - static final String docTitle = "ReLogo Primitives ver. 2.9" + static final String docTitle = "ReLogo Primitives ver. 2.10" static final String filename = "data/ReLogoPrimitives.xls" static final String docLocation = "docs/ReLogo API/repast/simphony/relogo/" static final String refURLbase = "repast/simphony/relogo/" diff --git a/repast.simphony.runtime/.classpath b/repast.simphony.runtime/.classpath index 7b53c1ec8..eec8058f2 100644 --- a/repast.simphony.runtime/.classpath +++ b/repast.simphony.runtime/.classpath @@ -1,26 +1,26 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/repast.simphony.runtime/META-INF/MANIFEST.MF b/repast.simphony.runtime/META-INF/MANIFEST.MF index 01ecbb685..1c1adebf4 100644 --- a/repast.simphony.runtime/META-INF/MANIFEST.MF +++ b/repast.simphony.runtime/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Repast runtime Bundle-SymbolicName: repast.simphony.runtime -Bundle-Version: 2.9.1 +Bundle-Version: 2.10.0 Bundle-ClassPath: testlib/jmock-1.0.1.jar, testlib/jmock-cglib-1.0.1.jar, lib/saf.core.runtime.jar, @@ -14,11 +14,11 @@ Bundle-ClassPath: testlib/jmock-1.0.1.jar, lib/javassist-3.17.1-GA.jar, lib/xmlpull-1.1.3.1.jar, lib/xpp3_min-1.1.4c.jar, - lib/xstream-1.4.7.jar, testlib/junit-addons-1.4.jar, lib/log4j-1.2-api-2.17.2.jar, lib/log4j-api-2.17.2.jar, - lib/log4j-core-2.17.2.jar + lib/log4j-core-2.17.2.jar, + lib/xstream-1.4.19.jar Export-Package: com.thoughtworks.xstream, com.thoughtworks.xstream.annotations, @@ -29,6 +29,7 @@ Export-Package: com.thoughtworks.xstream.converters.extended, com.thoughtworks.xstream.converters.javabean, com.thoughtworks.xstream.converters.reflection, + com.thoughtworks.xstream.converters.time, com.thoughtworks.xstream.core, com.thoughtworks.xstream.core.util, com.thoughtworks.xstream.io, @@ -41,6 +42,7 @@ Export-Package: com.thoughtworks.xstream.io.xml.xppdom, com.thoughtworks.xstream.mapper, com.thoughtworks.xstream.persistence, + com.thoughtworks.xstream.security, javassist, javassist.bytecode, javassist.bytecode.analysis, diff --git a/repast.simphony.runtime/boot.properties b/repast.simphony.runtime/boot.properties index 65b413d44..650733a47 100644 --- a/repast.simphony.runtime/boot.properties +++ b/repast.simphony.runtime/boot.properties @@ -10,4 +10,4 @@ org.java.plugin.standard.PluginLifecycleHandler = repast.simphony.plugin.PluginL org.java.plugin.boot.pluginFileName = plugin_jpf.xml # restriction to only load plugins with this tag and value -plugin.restrict.simphony = 2.9.1 +plugin.restrict.simphony = 2.10.0 diff --git a/repast.simphony.runtime/build.properties b/repast.simphony.runtime/build.properties index 3d3babc48..c61b19b96 100644 --- a/repast.simphony.runtime/build.properties +++ b/repast.simphony.runtime/build.properties @@ -22,11 +22,11 @@ bin.includes = Mousetrap.launch,\ lib/javassist-3.17.1-GA.jar,\ lib/xmlpull-1.1.3.1.jar,\ lib/xpp3_min-1.1.4c.jar,\ - lib/xstream-1.4.7.jar,\ testlib/junit-addons-1.4.jar,\ lib/log4j-1.2-api-2.17.2.jar,\ lib/log4j-api-2.17.2.jar,\ - lib/log4j-core-2.17.2.jar + lib/log4j-core-2.17.2.jar,\ + lib/xstream-1.4.19.jar src.includes = src/,\ test/,\ buildtools/ diff --git a/repast.simphony.runtime/lib/xstream-1.4.19.jar b/repast.simphony.runtime/lib/xstream-1.4.19.jar new file mode 100644 index 000000000..95d1c6a64 Binary files /dev/null and b/repast.simphony.runtime/lib/xstream-1.4.19.jar differ diff --git a/repast.simphony.runtime/lib/xstream-1.4.7.jar b/repast.simphony.runtime/lib/xstream-1.4.7.jar deleted file mode 100644 index ea4b6a281..000000000 Binary files a/repast.simphony.runtime/lib/xstream-1.4.7.jar and /dev/null differ diff --git a/repast.simphony.runtime/plugin_jpf.xml b/repast.simphony.runtime/plugin_jpf.xml index b50de761b..e1844e889 100644 --- a/repast.simphony.runtime/plugin_jpf.xml +++ b/repast.simphony.runtime/plugin_jpf.xml @@ -2,7 +2,7 @@ - + diff --git a/repast.simphony.scenario/META-INF/MANIFEST.MF b/repast.simphony.scenario/META-INF/MANIFEST.MF index 7cf6d9b3d..555ff8684 100644 --- a/repast.simphony.scenario/META-INF/MANIFEST.MF +++ b/repast.simphony.scenario/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Repast scenario Bundle-SymbolicName: repast.simphony.scenario;singleton:=true -Bundle-Version: 2.9.1 +Bundle-Version: 2.10.0 Require-Bundle: repast.simphony.runtime, repast.simphony.core, org.junit, diff --git a/repast.simphony.scenario/plugin_jpf.xml b/repast.simphony.scenario/plugin_jpf.xml index 171f2f639..072daf7f4 100644 --- a/repast.simphony.scenario/plugin_jpf.xml +++ b/repast.simphony.scenario/plugin_jpf.xml @@ -2,7 +2,7 @@ - + diff --git a/repast.simphony.scenario/src/repast/simphony/scenario/AbstractDescriptor.java b/repast.simphony.scenario/src/repast/simphony/scenario/AbstractDescriptor.java index 20f32117d..4d0216081 100644 --- a/repast.simphony.scenario/src/repast/simphony/scenario/AbstractDescriptor.java +++ b/repast.simphony.scenario/src/repast/simphony/scenario/AbstractDescriptor.java @@ -60,7 +60,7 @@ public void addScenarioChangedListener(ScenarioChangedListener listener) { } // required to set scs on deserialization - private Object readResolve() { + protected Object readResolve() { scs = new ScenarioChangedSupport(); return this; } diff --git a/repast.simphony.scenario/src/repast/simphony/scenario/ScenarioFileLoader.java b/repast.simphony.scenario/src/repast/simphony/scenario/ScenarioFileLoader.java index a3801bd16..db3db8ecf 100644 --- a/repast.simphony.scenario/src/repast/simphony/scenario/ScenarioFileLoader.java +++ b/repast.simphony.scenario/src/repast/simphony/scenario/ScenarioFileLoader.java @@ -1,23 +1,27 @@ package repast.simphony.scenario; -import com.thoughtworks.xstream.XStream; -import com.thoughtworks.xstream.io.xml.XStream11XmlFriendlyReplacer; -import com.thoughtworks.xstream.io.xml.XppDriver; -import org.xml.sax.Attributes; -import org.xml.sax.SAXException; -import org.xml.sax.ext.DefaultHandler2; -import repast.simphony.engine.environment.ControllerRegistry; -import repast.simphony.plugin.ControllerActionIOExtensions; - -import javax.xml.parsers.ParserConfigurationException; -import javax.xml.parsers.SAXParser; -import javax.xml.parsers.SAXParserFactory; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.util.ArrayList; import java.util.List; +import javax.xml.parsers.ParserConfigurationException; +import javax.xml.parsers.SAXParser; +import javax.xml.parsers.SAXParserFactory; + +import org.xml.sax.Attributes; +import org.xml.sax.SAXException; +import org.xml.sax.ext.DefaultHandler2; + +import com.thoughtworks.xstream.XStream; +import com.thoughtworks.xstream.io.xml.XStream11XmlFriendlyReplacer; +import com.thoughtworks.xstream.io.xml.XppDriver; +import com.thoughtworks.xstream.security.AnyTypePermission; + +import repast.simphony.engine.environment.ControllerRegistry; +import repast.simphony.plugin.ControllerActionIOExtensions; + /** * Parses a scenario.xml file and loads the serialized controller actions into a * ControllerRegistry. This also reads the other info in a scenario file as well. @@ -78,7 +82,19 @@ protected boolean useXStream11XmlFriendlyMapper() { return true; } }; + xstream.registerConverter(new FastMethodConvertor(xstream)); + + // Xstream Security settings. We can either allow any types to be deserialized, + // or filter by regex. Here we allow loading any class. + // JRE classes are allowed by default. + xstream.addPermission(AnyTypePermission.ANY); + + // Here we restrict to loading repast.simphony.* classes for + // the scenario descriptors. +// xstream.allowTypesByRegExp(new String[] { "repast.simphony.*" }); + + // xstream.alias("type", SProjectionType.class); // xstream.registerConverter(new SProjectionTypeConverter()); // xstream.registerConverter(new SGridConverter()); diff --git a/repast.simphony.scenario/test/data/TestDescriptor_1.xml b/repast.simphony.scenario/test/data/TestDescriptor_1.xml new file mode 100644 index 000000000..7e8e82035 --- /dev/null +++ b/repast.simphony.scenario/test/data/TestDescriptor_1.xml @@ -0,0 +1,4 @@ + + Test Desc 1 + 14 + \ No newline at end of file diff --git a/repast.simphony.scenario/test/data/context_copy.xml b/repast.simphony.scenario/test/data/context_copy.xml index 8bf30c796..f8c34261a 100644 --- a/repast.simphony.scenario/test/data/context_copy.xml +++ b/repast.simphony.scenario/test/data/context_copy.xml @@ -1,25 +1,25 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/repast.simphony.scenario/test/repast/simphony/scenario/ConverterTests.java b/repast.simphony.scenario/test/repast/simphony/scenario/ConverterTests.java index 588b9e610..2d1a9fc64 100644 --- a/repast.simphony.scenario/test/repast/simphony/scenario/ConverterTests.java +++ b/repast.simphony.scenario/test/repast/simphony/scenario/ConverterTests.java @@ -7,6 +7,7 @@ import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.io.xml.XmlFriendlyNameCoder; import com.thoughtworks.xstream.io.xml.XppDriver; +import com.thoughtworks.xstream.security.AnyTypePermission; /** * Tests the Repast Simphony Xstream converter. @@ -24,6 +25,8 @@ protected boolean useXStream11XmlFriendlyMapper() { } }; + xstream.addPermission(AnyTypePermission.ANY); + xstream.registerConverter(new FastMethodConvertor(xstream)); xstream.registerConverter( new DescriptorConverter(xstream.getMapper(), xstream.getReflectionProvider(), "1.0")); diff --git a/repast.simphony.scenario/test/repast/simphony/scenario/ScenarioLoaderTests.java b/repast.simphony.scenario/test/repast/simphony/scenario/ScenarioLoaderTests.java new file mode 100644 index 000000000..f386955d4 --- /dev/null +++ b/repast.simphony.scenario/test/repast/simphony/scenario/ScenarioLoaderTests.java @@ -0,0 +1,58 @@ +package repast.simphony.scenario; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +import java.io.BufferedReader; +import java.io.FileNotFoundException; +import java.io.FileReader; + +import org.junit.Test; + +import com.thoughtworks.xstream.XStream; +import com.thoughtworks.xstream.io.xml.XmlFriendlyNameCoder; +import com.thoughtworks.xstream.io.xml.XppDriver; +import com.thoughtworks.xstream.security.AnyTypePermission; + +/** + * Tests the Repast Simphony Xstream converter. + * + * @author Eric Tatara + */ +public class ScenarioLoaderTests { + + @Test + public void testLoadAbstractDescriptor() { + + XStream xstream = new XStream(new XppDriver(new XmlFriendlyNameCoder())) { + protected boolean useXStream11XmlFriendlyMapper() { + return true; + } + }; + + // Xstream Security settings. We can either allow any types to be deserialized, + // or filter by regex. Here we allow any since this class is used to de/serialize + // user model classes. JRE classes are allowed by default. + xstream.addPermission(AnyTypePermission.ANY); + +// xstream.allowTypesByRegExp(new String[] { "repast.simphony.*" }); +// xstream.addPermission(AnyTypePermission.ANY); + + BufferedReader reader = null; + try { + reader = new BufferedReader(new FileReader("./test/data/TestDescriptor_1.xml")); + } catch (FileNotFoundException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + TestDescriptor descriptor = (TestDescriptor)(xstream.fromXML(reader)); + + int foo = descriptor.getFoo(); + String name = descriptor.getName(); + + assertEquals(14, foo); + assertEquals("Test Desc 1", name); + assertNotNull(descriptor.getScs()); // Should be initialized on deserialization + + } +} diff --git a/repast.simphony.scenario/test/repast/simphony/scenario/TestDescriptor.java b/repast.simphony.scenario/test/repast/simphony/scenario/TestDescriptor.java new file mode 100644 index 000000000..24c86f81a --- /dev/null +++ b/repast.simphony.scenario/test/repast/simphony/scenario/TestDescriptor.java @@ -0,0 +1,28 @@ +package repast.simphony.scenario; + +public class TestDescriptor extends AbstractDescriptor { + + public TestDescriptor(String name) { + super(name); + } + + private int foo; + + + public int getFoo() { + return foo; + } + + public void setFoo(int foo) { + this.foo = foo; + } + + /* + * Transient field that should be initialized on deserialization. + */ + public ScenarioChangedSupport getScs() { + return scs; + } + + +} diff --git a/repast.simphony.server/META-INF/MANIFEST.MF b/repast.simphony.server/META-INF/MANIFEST.MF index aa7c4e869..730d0380f 100644 --- a/repast.simphony.server/META-INF/MANIFEST.MF +++ b/repast.simphony.server/META-INF/MANIFEST.MF @@ -2,18 +2,18 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Repast Simphony Server Bundle-SymbolicName: repast.simphony.server -Bundle-Version: 2.9.1 +Bundle-Version: 2.10.0 Automatic-Module-Name: repast.simphony.server Bundle-RequiredExecutionEnvironment: JavaSE-1.8 -Require-Bundle: repast.simphony.core;bundle-version="2.9.1", - repast.simphony.runtime;bundle-version="2.9.1", - repast.simphony.batch;bundle-version="2.9.1", - repast.simphony.chart;bundle-version="2.9.1", - repast.simphony.gis;bundle-version="2.9.1", - repast.simphony.gis.visualization;bundle-version="2.9.1", - repast.simphony.scenario;bundle-version="2.9.1", - repast.simphony.data;bundle-version="2.9.1", - repast.simphony.gui;bundle-version="2.9.1" +Require-Bundle: repast.simphony.core;bundle-version="2.10.0", + repast.simphony.runtime;bundle-version="2.10.0", + repast.simphony.batch;bundle-version="2.10.0", + repast.simphony.chart;bundle-version="2.10.0", + repast.simphony.gis;bundle-version="2.10.0", + repast.simphony.gis.visualization;bundle-version="2.10.0", + repast.simphony.scenario;bundle-version="2.10.0", + repast.simphony.data;bundle-version="2.10.0", + repast.simphony.gui;bundle-version="2.10.0" Bundle-ClassPath: lib/annotations-13.0.jar, lib/jackson-annotations-2.9.9.jar, lib/jackson-core-2.9.9.jar, diff --git a/repast.simphony.server/src/repast/simphony/ws/ChartServerControllerAction.java b/repast.simphony.server/src/repast/simphony/ws/ChartServerControllerAction.java index ead0f102f..bd64adc4e 100644 --- a/repast.simphony.server/src/repast/simphony/ws/ChartServerControllerAction.java +++ b/repast.simphony.server/src/repast/simphony/ws/ChartServerControllerAction.java @@ -19,6 +19,7 @@ import com.thoughtworks.xstream.converters.reflection.ReflectionConverter; import com.thoughtworks.xstream.io.xml.XStream11XmlFriendlyReplacer; import com.thoughtworks.xstream.io.xml.XppDriver; +import com.thoughtworks.xstream.security.AnyTypePermission; import repast.simphony.chart2.engine.TimeSeriesChartDescriptor; import repast.simphony.data2.DataConstants; @@ -75,6 +76,12 @@ protected boolean useXStream11XmlFriendlyMapper() { return true; } }; + + // Xstream Security settings. We can either allow any types to be deserialized, + // or filter by regex. Here we allow loading any class. + // JRE classes are allowed by default. + xstream.addPermission(AnyTypePermission.ANY); + xstream.registerConverter(new FastMethodConvertor(xstream)); xstream.alias("SeriesData", TimeSeriesChartDescriptor.SeriesData.class); // this is necessary to call the constructor of the TimeSeriesChartDescriptor. diff --git a/repast.simphony.server/src/repast/simphony/ws/DisplayServerControllerAction.java b/repast.simphony.server/src/repast/simphony/ws/DisplayServerControllerAction.java index 53e8433e2..c5e2f06a7 100644 --- a/repast.simphony.server/src/repast/simphony/ws/DisplayServerControllerAction.java +++ b/repast.simphony.server/src/repast/simphony/ws/DisplayServerControllerAction.java @@ -15,6 +15,7 @@ import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.io.xml.XStream11XmlFriendlyReplacer; import com.thoughtworks.xstream.io.xml.XppDriver; +import com.thoughtworks.xstream.security.AnyTypePermission; import repast.simphony.context.Context; import repast.simphony.engine.environment.DefaultControllerAction; @@ -109,6 +110,12 @@ protected boolean useXStream11XmlFriendlyMapper() { return true; } }; + + // Xstream Security settings. We can either allow any types to be deserialized, + // or filter by regex. Here we allow loading any class. + // JRE classes are allowed by default. + xstream.addPermission(AnyTypePermission.ANY); + xstream.registerConverter(new FastMethodConvertor(xstream)); List elements = parser .parseScenario(scenarioDirectory.resolve("scenario.xml")); diff --git a/repast.simphony.server/src/repast/simphony/ws/gis/StyledLayerGIS.java b/repast.simphony.server/src/repast/simphony/ws/gis/StyledLayerGIS.java index 70d31a6b1..d8a4dd9ad 100644 --- a/repast.simphony.server/src/repast/simphony/ws/gis/StyledLayerGIS.java +++ b/repast.simphony.server/src/repast/simphony/ws/gis/StyledLayerGIS.java @@ -5,8 +5,8 @@ import java.util.Map; import java.util.Set; -import com.vividsolutions.jts.geom.Coordinate; -import com.vividsolutions.jts.geom.Geometry; +import org.locationtech.jts.geom.Coordinate; +import org.locationtech.jts.geom.Geometry; import repast.simphony.space.gis.Geography; import repast.simphony.visualization.Layout; diff --git a/repast.simphony.server/src/repast/simphony/ws/gis/StyledNetLayerGIS.java b/repast.simphony.server/src/repast/simphony/ws/gis/StyledNetLayerGIS.java index e73bb68a1..e27fb437e 100644 --- a/repast.simphony.server/src/repast/simphony/ws/gis/StyledNetLayerGIS.java +++ b/repast.simphony.server/src/repast/simphony/ws/gis/StyledNetLayerGIS.java @@ -5,8 +5,8 @@ import java.util.Map; import java.util.Set; -import com.vividsolutions.jts.geom.Coordinate; -import com.vividsolutions.jts.geom.Geometry; +import org.locationtech.jts.geom.Coordinate; +import org.locationtech.jts.geom.Geometry; import cern.colt.Arrays; import repast.simphony.space.gis.Geography; diff --git a/repast.simphony.server/web/static/js/client.js b/repast.simphony.server/web/static/js/client.js index fa3a44f2d..31df381e8 100644 --- a/repast.simphony.server/web/static/js/client.js +++ b/repast.simphony.server/web/static/js/client.js @@ -183,8 +183,9 @@ var runner = (function() { function initSocket() { - //var socket = io.connect('http://localhost:5000'); - socket = new WebSocket('ws://localhost:5000/simphony/simsocket'); + let port = window.document.location.port + console.log(`Using port: ${port}`) + socket = new WebSocket(`ws://localhost:${port}/simphony/simsocket`); socket.onmessage = function(evt) { if (evt.data instanceof Blob) { diff --git a/repast.simphony.spreadsheet/META-INF/MANIFEST.MF b/repast.simphony.spreadsheet/META-INF/MANIFEST.MF index a20335b77..109447840 100644 --- a/repast.simphony.spreadsheet/META-INF/MANIFEST.MF +++ b/repast.simphony.spreadsheet/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Repast spreadsheet Bundle-SymbolicName: repast.simphony.spreadsheet -Bundle-Version: 2.9.1 +Bundle-Version: 2.10.0 Require-Bundle: repast.simphony.gui, repast.simphony.data, repast.simphony.core, diff --git a/repast.simphony.spreadsheet/plugin_jpf.xml b/repast.simphony.spreadsheet/plugin_jpf.xml index 26c14ed86..daa46c850 100644 --- a/repast.simphony.spreadsheet/plugin_jpf.xml +++ b/repast.simphony.spreadsheet/plugin_jpf.xml @@ -3,7 +3,7 @@ - + diff --git a/repast.simphony.sql/META-INF/MANIFEST.MF b/repast.simphony.sql/META-INF/MANIFEST.MF index d1ef0dc18..bfd748f0d 100644 --- a/repast.simphony.sql/META-INF/MANIFEST.MF +++ b/repast.simphony.sql/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Repast sql Bundle-SymbolicName: repast.simphony.sql -Bundle-Version: 2.9.1 +Bundle-Version: 2.10.0 Require-Bundle: repast.simphony.gui, repast.simphony.data, repast.simphony.core, diff --git a/repast.simphony.sql/plugin_jpf.xml b/repast.simphony.sql/plugin_jpf.xml index a1219e20b..c81e6f50c 100644 --- a/repast.simphony.sql/plugin_jpf.xml +++ b/repast.simphony.sql/plugin_jpf.xml @@ -3,7 +3,7 @@ - + diff --git a/repast.simphony.sql/src/repast/simphony/sql/SQLWindow.java b/repast.simphony.sql/src/repast/simphony/sql/SQLWindow.java index e03a6c6b7..9750b73db 100644 --- a/repast.simphony.sql/src/repast/simphony/sql/SQLWindow.java +++ b/repast.simphony.sql/src/repast/simphony/sql/SQLWindow.java @@ -14,6 +14,7 @@ import java.util.List; import java.util.Map; +import javax.measure.Quantity; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JFileChooser; @@ -31,15 +32,6 @@ import org.josql.QueryParseException; import org.josql.QueryResults; import org.josql.contrib.JoSQLSwingTableModel; -import org.jscience.physics.amount.Amount; - -import repast.simphony.context.Context; -import repast.simphony.engine.environment.RunState; -import repast.simphony.space.graph.Network; -import repast.simphony.space.graph.RepastEdge; -import repast.simphony.ui.filters.FileExtensionFilter; -import repast.simphony.ui.sparkline.SparklineJComponent; -import repast.simphony.ui.table.TablePanel; import com.jgoodies.forms.layout.CellConstraints; import com.jgoodies.forms.layout.ColumnSpec; @@ -49,6 +41,14 @@ import com.jgoodies.forms.layout.RowSpec; import com.jgoodies.forms.layout.Sizes; +import repast.simphony.context.Context; +import repast.simphony.engine.environment.RunState; +import repast.simphony.space.graph.Network; +import repast.simphony.space.graph.RepastEdge; +import repast.simphony.ui.filters.FileExtensionFilter; +import repast.simphony.ui.sparkline.SparklineJComponent; +import repast.simphony.ui.table.TablePanel; + /** * Panel for executing and displaying SQL results. * @@ -269,8 +269,8 @@ public void redrawSparkline() { Object value = model.getValueAt(row, col); if (value instanceof Number) { newData[row] = ((Number) value).doubleValue(); - } else if (value instanceof Amount) { - newData[row] = ((Amount) value).getEstimatedValue(); + } else if (value instanceof Quantity) { + newData[row] = ((Quantity) value).getValue(); } else if (value instanceof String) { newData[row] = Double.parseDouble((String) value); } else { diff --git a/repast.simphony.statecharts.diagram/META-INF/MANIFEST.MF b/repast.simphony.statecharts.diagram/META-INF/MANIFEST.MF index fa41e21d1..c405de4ef 100644 --- a/repast.simphony.statecharts.diagram/META-INF/MANIFEST.MF +++ b/repast.simphony.statecharts.diagram/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Repast statecharts diagram Bundle-SymbolicName: repast.simphony.statecharts.diagram; singleton:=true -Bundle-Version: 2.9.1 +Bundle-Version: 2.10.0 Bundle-ClassPath: bin/, . Bundle-Activator: repast.simphony.statecharts.part.StatechartDiagramEditorPlugin diff --git a/repast.simphony.statecharts.edit/META-INF/MANIFEST.MF b/repast.simphony.statecharts.edit/META-INF/MANIFEST.MF index ec4c5268f..aa9e80ca5 100644 --- a/repast.simphony.statecharts.edit/META-INF/MANIFEST.MF +++ b/repast.simphony.statecharts.edit/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Repast statecharts edit Bundle-SymbolicName: repast.simphony.statecharts.edit;singleton:=true -Bundle-Version: 2.9.1 +Bundle-Version: 2.10.0 Bundle-ClassPath: bin/ Bundle-Activator: repast.simphony.statecharts.scmodel.provider.StatechartEditPlugin$Implementation Bundle-Vendor: Argonne National Laboratory diff --git a/repast.simphony.statecharts.generator/META-INF/MANIFEST.MF b/repast.simphony.statecharts.generator/META-INF/MANIFEST.MF index 3aa8bf6ae..faa25fc67 100644 --- a/repast.simphony.statecharts.generator/META-INF/MANIFEST.MF +++ b/repast.simphony.statecharts.generator/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Repast statecharts generator Bundle-SymbolicName: repast.simphony.statecharts.generator; singleton:=true -Bundle-Version: 2.9.1 +Bundle-Version: 2.10.0 Require-Bundle: org.eclipse.jdt.core, org.eclipse.xtend.profiler;resolution:=optional, org.apache.commons.logging, diff --git a/repast.simphony.statecharts.model/META-INF/MANIFEST.MF b/repast.simphony.statecharts.model/META-INF/MANIFEST.MF index 50eec0a09..550c57f4c 100644 --- a/repast.simphony.statecharts.model/META-INF/MANIFEST.MF +++ b/repast.simphony.statecharts.model/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Repast statecharts model Bundle-SymbolicName: repast.simphony.statecharts.model;singleton:=true -Bundle-Version: 2.9.1 +Bundle-Version: 2.10.0 Bundle-ClassPath: bin/ Bundle-Vendor: Argonne National Laboratory Bundle-RequiredExecutionEnvironment: JavaSE-1.8 diff --git a/repast.simphony.statecharts.visualization/META-INF/MANIFEST.MF b/repast.simphony.statecharts.visualization/META-INF/MANIFEST.MF index f7be45467..dd576c399 100644 --- a/repast.simphony.statecharts.visualization/META-INF/MANIFEST.MF +++ b/repast.simphony.statecharts.visualization/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Repast statecharts visualization Bundle-SymbolicName: repast.simphony.statecharts.visualization -Bundle-Version: 2.9.1 +Bundle-Version: 2.10.0 Bundle-ClassPath: runtime.jar Require-Bundle: org.w3c.dom.svg, repast.simphony.statecharts, diff --git a/repast.simphony.statecharts.visualization/plugin_jpf.xml b/repast.simphony.statecharts.visualization/plugin_jpf.xml index 835ea2aa2..40597a5fb 100644 --- a/repast.simphony.statecharts.visualization/plugin_jpf.xml +++ b/repast.simphony.statecharts.visualization/plugin_jpf.xml @@ -3,7 +3,7 @@ - + diff --git a/repast.simphony.statecharts/META-INF/MANIFEST.MF b/repast.simphony.statecharts/META-INF/MANIFEST.MF index e8b92f70f..d4d73611b 100644 --- a/repast.simphony.statecharts/META-INF/MANIFEST.MF +++ b/repast.simphony.statecharts/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Repast statecharts Bundle-SymbolicName: repast.simphony.statecharts -Bundle-Version: 2.9.1 +Bundle-Version: 2.10.0 Export-Package: repast.simphony.statecharts Require-Bundle: repast.simphony.core;visibility:=reexport Bundle-RequiredExecutionEnvironment: JavaSE-1.8 diff --git a/repast.simphony.statecharts/plugin_jpf.xml b/repast.simphony.statecharts/plugin_jpf.xml index 632da3191..36067d6aa 100644 --- a/repast.simphony.statecharts/plugin_jpf.xml +++ b/repast.simphony.statecharts/plugin_jpf.xml @@ -3,7 +3,7 @@ - + diff --git a/repast.simphony.userpanel.ui/META-INF/MANIFEST.MF b/repast.simphony.userpanel.ui/META-INF/MANIFEST.MF index c77829189..554fe824d 100644 --- a/repast.simphony.userpanel.ui/META-INF/MANIFEST.MF +++ b/repast.simphony.userpanel.ui/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Repast userpanel Bundle-SymbolicName: repast.simphony.userpanel.ui -Bundle-Version: 2.9.1 +Bundle-Version: 2.10.0 Require-Bundle: repast.simphony.gui, saf.core.ui, repast.simphony.plugin.util, diff --git a/repast.simphony.userpanel.ui/plugin_jpf.xml b/repast.simphony.userpanel.ui/plugin_jpf.xml index ace349035..c8f48c377 100644 --- a/repast.simphony.userpanel.ui/plugin_jpf.xml +++ b/repast.simphony.userpanel.ui/plugin_jpf.xml @@ -3,7 +3,7 @@ - + diff --git a/repast.simphony.visualization/META-INF/MANIFEST.MF b/repast.simphony.visualization/META-INF/MANIFEST.MF index f8a9f3b1c..d91033edd 100644 --- a/repast.simphony.visualization/META-INF/MANIFEST.MF +++ b/repast.simphony.visualization/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Repast visualization Bundle-SymbolicName: repast.simphony.visualization -Bundle-Version: 2.9.1 +Bundle-Version: 2.10.0 Require-Bundle: repast.simphony.core, repast.simphony.scenario, repast.simphony.gui, diff --git a/repast.simphony.visualization/plugin_jpf.xml b/repast.simphony.visualization/plugin_jpf.xml index fc2ea364a..93792b670 100644 --- a/repast.simphony.visualization/plugin_jpf.xml +++ b/repast.simphony.visualization/plugin_jpf.xml @@ -3,7 +3,7 @@ - + diff --git a/repast.simphony.visualization/src/repast/simphony/visualization/editedStyle/EditedStyleUtils.java b/repast.simphony.visualization/src/repast/simphony/visualization/editedStyle/EditedStyleUtils.java index d6f9725bc..75df9fe7e 100644 --- a/repast.simphony.visualization/src/repast/simphony/visualization/editedStyle/EditedStyleUtils.java +++ b/repast.simphony.visualization/src/repast/simphony/visualization/editedStyle/EditedStyleUtils.java @@ -1,17 +1,20 @@ package repast.simphony.visualization.editedStyle; +import java.awt.Color; +import java.io.File; +import java.io.FileReader; +import java.lang.reflect.Method; + +import javax.measure.Quantity; + import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.io.xml.XStream11XmlFriendlyReplacer; import com.thoughtworks.xstream.io.xml.XppDriver; -import org.jscience.physics.amount.Amount; +import com.thoughtworks.xstream.security.AnyTypePermission; + import repast.simphony.scenario.ScenarioUtils; import simphony.util.messages.MessageCenter; -import java.awt.*; -import java.io.File; -import java.io.FileReader; -import java.lang.reflect.Method; - /** * @author Eric tatara */ @@ -34,6 +37,11 @@ protected boolean useXStream11XmlFriendlyMapper() { } }; stream.setClassLoader(EditedStyleData.class.getClassLoader()); + + // Xstream Security settings. We can either allow any types to be deserialized, + // or filter by regex. Here we allow loading any class. + // JRE classes are allowed by default. + stream.addPermission(AnyTypePermission.ANY); if (userStyleFile == null) return null; @@ -58,6 +66,11 @@ protected boolean useXStream11XmlFriendlyMapper() { }; stream.setClassLoader(EditedValueLayerStyleData.class.getClassLoader()); + // Xstream Security settings. We can either allow any types to be deserialized, + // or filter by regex. Here we allow loading any class. + // JRE classes are allowed by default. + stream.addPermission(AnyTypePermission.ANY); + if (userStyleFile == null) return null; @@ -81,6 +94,11 @@ protected boolean useXStream11XmlFriendlyMapper() { }; stream.setClassLoader(EditedStyleData.class.getClassLoader()); + // Xstream Security settings. We can either allow any types to be deserialized, + // or filter by regex. Here we allow loading any class. + // JRE classes are allowed by default. + stream.addPermission(AnyTypePermission.ANY); + if (userStyleFile == null) return null; @@ -131,8 +149,8 @@ public static String getLabel(EditedStyleData style, Object object) { if (method.getReturnType().equals(String.class)) return (String) method.invoke(object); - else if (method.getReturnType().equals(Amount.class)) - return ((Amount) method.invoke(object)).toString(); + else if (method.getReturnType().equals(Quantity.class)) + return ((Quantity) method.invoke(object)).toString(); else { label = ((Number) method.invoke(object)).toString(); @@ -154,10 +172,10 @@ public static float getMethodFloat(String methodName, Object object) { try { Method method = object.getClass().getMethod(methodName); - if (method.getReturnType().equals(Amount.class)){ - Amount amnt = (Amount) method.invoke(object); + if (method.getReturnType().equals(Quantity.class)){ + Quantity amnt = (Quantity) method.invoke(object); if (amnt != null){ - return (float) amnt.getEstimatedValue(); + return (float) amnt.getValue().floatValue(); } else { return 0; diff --git a/repast.simphony.visualization/src/repast/simphony/visualization/editor/AgentEditor.java b/repast.simphony.visualization/src/repast/simphony/visualization/editor/AgentEditor.java index 7f70b921a..6a23b2d7f 100644 --- a/repast.simphony.visualization/src/repast/simphony/visualization/editor/AgentEditor.java +++ b/repast.simphony.visualization/src/repast/simphony/visualization/editor/AgentEditor.java @@ -4,8 +4,6 @@ package repast.simphony.visualization.editor; -import groovy.lang.MetaClass; - import java.awt.Component; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; @@ -24,6 +22,7 @@ import java.util.List; import java.util.Map; +import javax.measure.Quantity; import javax.swing.AbstractAction; import javax.swing.DefaultListCellRenderer; import javax.swing.DefaultListModel; @@ -44,18 +43,6 @@ import javax.swing.event.ListSelectionListener; import javax.swing.table.DefaultTableCellRenderer; -import org.jscience.physics.amount.Amount; - -import repast.simphony.context.Context; -import repast.simphony.space.continuous.ContinuousSpace; -import repast.simphony.space.graph.RepastEdge; -import repast.simphony.space.grid.Grid; -import repast.simphony.ui.probe.GridLocationProbe; -import repast.simphony.ui.probe.ProbeID; -import repast.simphony.ui.probe.SpaceLocationProbe; -import repast.simphony.util.ClassUtilities; -import repast.simphony.util.ContextUtils; - import com.jgoodies.forms.layout.CellConstraints; import com.jgoodies.forms.layout.ColumnSpec; import com.jgoodies.forms.layout.FormLayout; @@ -67,6 +54,17 @@ import com.l2fprod.common.propertysheet.PropertySheet; import com.l2fprod.common.propertysheet.PropertySheetPanel; +import groovy.lang.MetaClass; +import repast.simphony.context.Context; +import repast.simphony.space.continuous.ContinuousSpace; +import repast.simphony.space.graph.RepastEdge; +import repast.simphony.space.grid.Grid; +import repast.simphony.ui.probe.GridLocationProbe; +import repast.simphony.ui.probe.ProbeID; +import repast.simphony.ui.probe.SpaceLocationProbe; +import repast.simphony.util.ClassUtilities; +import repast.simphony.util.ContextUtils; + /** * @author User #2 * @deprecated 2D piccolo based code is being removed @@ -423,7 +421,7 @@ private void updateProperties() { } agentProps.setProperties(pds.toArray(new PropertyDescriptor[pds.size()])); - agentProps.getEditorRegistry().registerEditor(Amount.class, new AmountPropertyEditor()); + agentProps.getEditorRegistry().registerEditor(Quantity.class, new QuantityPropertyEditor()); Property[] properties = agentProps.getProperties(); for (int i = 0, c = properties.length; i < c; i++) { diff --git a/repast.simphony.visualization/src/repast/simphony/visualization/editor/AmountPropertyEditor.java b/repast.simphony.visualization/src/repast/simphony/visualization/editor/QuantityPropertyEditor.java similarity index 62% rename from repast.simphony.visualization/src/repast/simphony/visualization/editor/AmountPropertyEditor.java rename to repast.simphony.visualization/src/repast/simphony/visualization/editor/QuantityPropertyEditor.java index c7ed25593..dc6faafd1 100644 --- a/repast.simphony.visualization/src/repast/simphony/visualization/editor/AmountPropertyEditor.java +++ b/repast.simphony.visualization/src/repast/simphony/visualization/editor/QuantityPropertyEditor.java @@ -1,25 +1,25 @@ package repast.simphony.visualization.editor; -import org.jscience.physics.amount.Amount; - -import repast.simphony.ui.probe.AmountConverter; +import javax.measure.Quantity; import com.l2fprod.common.beans.editor.StringConverterPropertyEditor; +import repast.simphony.ui.probe.QuantityConverter; + /** * Adapts an AmountConverter into a PropertyEditor usable by the property sheet. * * @author Nick Collier * @deprecated 2D piccolo based code is being removed */ -public class AmountPropertyEditor extends StringConverterPropertyEditor { +public class QuantityPropertyEditor extends StringConverterPropertyEditor { - AmountConverter converter = new AmountConverter(); + QuantityConverter converter = new QuantityConverter(); @Override protected String convertToString(Object o) { - if (o instanceof Amount) { - return converter.toString((Amount) o); + if (o instanceof Quantity) { + return converter.toString((Quantity) o); } else { return o.toString(); } diff --git a/repast.simphony.visualization/src/repast/simphony/visualization/gui/styleBuilder/AbstractStyleDialog.java b/repast.simphony.visualization/src/repast/simphony/visualization/gui/styleBuilder/AbstractStyleDialog.java index b72b0d26b..032688a10 100644 --- a/repast.simphony.visualization/src/repast/simphony/visualization/gui/styleBuilder/AbstractStyleDialog.java +++ b/repast.simphony.visualization/src/repast/simphony/visualization/gui/styleBuilder/AbstractStyleDialog.java @@ -13,11 +13,10 @@ import java.util.Set; import java.util.StringTokenizer; +import javax.measure.Quantity; import javax.swing.DefaultComboBoxModel; import javax.swing.JDialog; -import org.jscience.physics.amount.Amount; - import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.io.xml.XStream11XmlFriendlyReplacer; import com.thoughtworks.xstream.io.xml.XppDriver; @@ -47,7 +46,7 @@ public abstract class AbstractStyleDialog extends JDialog{ pTypes.add(long.class); pTypes.add(byte.class); pTypes.add(short.class); - pTypes.add(Amount.class); + pTypes.add(Quantity.class); } protected EditedEdgeStyleData userStyleData; diff --git a/repast.simphony.visualization/src/repast/simphony/visualization/gui/styleBuilder/EditedStyleDialog.java b/repast.simphony.visualization/src/repast/simphony/visualization/gui/styleBuilder/EditedStyleDialog.java index 7da43900e..67a07c753 100644 --- a/repast.simphony.visualization/src/repast/simphony/visualization/gui/styleBuilder/EditedStyleDialog.java +++ b/repast.simphony.visualization/src/repast/simphony/visualization/gui/styleBuilder/EditedStyleDialog.java @@ -21,6 +21,7 @@ import java.util.List; import java.util.Set; +import javax.measure.Quantity; import javax.swing.DefaultComboBoxModel; import javax.swing.JButton; import javax.swing.JColorChooser; @@ -33,8 +34,6 @@ import javax.swing.WindowConstants; import javax.swing.border.TitledBorder; -import org.jscience.physics.amount.Amount; - import com.jgoodies.forms.factories.Borders; import com.jgoodies.forms.layout.CellConstraints; import com.jgoodies.forms.layout.ColumnSpec; @@ -106,7 +105,7 @@ public class EditedStyleDialog extends JDialog { pTypes.add(long.class); pTypes.add(byte.class); pTypes.add(short.class); - pTypes.add(Amount.class); + pTypes.add(Quantity.class); pTypes.add(java.lang.Object.class); } diff --git a/repast.simphony.visualization/src/repast/simphony/visualization/visualization3D/AbstractLabel.java b/repast.simphony.visualization/src/repast/simphony/visualization/visualization3D/AbstractLabel.java index a8f0eebf1..82a59f7b5 100644 --- a/repast.simphony.visualization/src/repast/simphony/visualization/visualization3D/AbstractLabel.java +++ b/repast.simphony.visualization/src/repast/simphony/visualization/visualization3D/AbstractLabel.java @@ -29,12 +29,6 @@ */ public abstract class AbstractLabel implements Label { - // TODO Workaround to fix a problem in jogl Font3D that uses a ServiceLoader with - // the default Java classloader instead of the Repast classloader. - static { - Thread.currentThread().setContextClassLoader(AbstractLabel.class.getClassLoader()); - } - private static final float SCALE = 3800f; protected String label; protected Style3D.LabelPosition position; @@ -162,7 +156,13 @@ public BranchGroup getBranchGroup(Point3f center, Group object) { box.getUpper(textUpper); */ + // TODO Workaround to fix a problem in jogl Font3D that uses a ServiceLoader with + // the default Java classloader instead of the Repast classloader. + ClassLoader loader = Thread.currentThread().getContextClassLoader(); + Thread.currentThread().setContextClassLoader(AbstractLabel.class.getClassLoader()); Text3D text = new Text3D(font, label); + Thread.currentThread().setContextClassLoader(loader); + BoundingBox box = new BoundingBox(); text.getBoundingBox(box); box.getUpper(textUpper); diff --git a/repast.simphony.visualization/src/repast/simphony/visualization/visualization3D/layout/GEM3DLayout.java b/repast.simphony.visualization/src/repast/simphony/visualization/visualization3D/layout/GEM3DLayout.java index 31371a956..e951204d3 100644 --- a/repast.simphony.visualization/src/repast/simphony/visualization/visualization3D/layout/GEM3DLayout.java +++ b/repast.simphony.visualization/src/repast/simphony/visualization/visualization3D/layout/GEM3DLayout.java @@ -1,12 +1,12 @@ package repast.simphony.visualization.visualization3D.layout; +import java.util.HashMap; import java.util.Iterator; import java.util.Map; import org.jogamp.vecmath.Point3f; import org.jogamp.vecmath.Vector3f; -import javolution.util.FastMap; import repast.simphony.random.RandomHelper; import repast.simphony.space.graph.Network; import repast.simphony.visualization.Box; @@ -61,7 +61,7 @@ public class GEM3DLayout implements Layout { private float[] location = new float[3]; - private Map dataMap = new FastMap(); + private Map dataMap = new HashMap(); class VertexData { diff --git a/repast.simphony.weka/META-INF/MANIFEST.MF b/repast.simphony.weka/META-INF/MANIFEST.MF index bc4558a31..03156da4c 100644 --- a/repast.simphony.weka/META-INF/MANIFEST.MF +++ b/repast.simphony.weka/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Repast weka Bundle-SymbolicName: repast.simphony.weka -Bundle-Version: 2.9.1 +Bundle-Version: 2.10.0 Require-Bundle: repast.simphony.gui, repast.simphony.data, repast.simphony.core, diff --git a/repast.simphony.weka/plugin_jpf.xml b/repast.simphony.weka/plugin_jpf.xml index 402facc42..cd7879408 100644 --- a/repast.simphony.weka/plugin_jpf.xml +++ b/repast.simphony.weka/plugin_jpf.xml @@ -3,7 +3,7 @@ - + diff --git a/saf.core.ui/META-INF/MANIFEST.MF b/saf.core.ui/META-INF/MANIFEST.MF index 723b280b1..b4cfd5c9a 100644 --- a/saf.core.ui/META-INF/MANIFEST.MF +++ b/saf.core.ui/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Saf core ui Bundle-SymbolicName: saf.core.ui -Bundle-Version: 2.9.1 +Bundle-Version: 2.10.0 Export-Package: bibliothek.extension.gui.dock, bibliothek.extension.gui.dock.preference, diff --git a/saf.core.ui/plugin_jpf.xml b/saf.core.ui/plugin_jpf.xml index 45ba1e5e7..03dfa6314 100644 --- a/saf.core.ui/plugin_jpf.xml +++ b/saf.core.ui/plugin_jpf.xml @@ -3,7 +3,7 @@ - +