Author: desruisseaux Date: Mon Mar 10 10:38:40 2014 New Revision: 1575895 URL: http://svn.apache.org/r1575895 Log: Added IP review. Added: sis/ip-review/MatrixParameterDescriptors.xhtml (with props) sis/ip-review/MatrixParameters.xhtml (with props) sis/ip-review/MeasurementParameter.xhtml (with props) sis/ip-review/ParameterFormat.xhtml (with props) sis/ip-review/rev/07846/MatrixParameterDescriptors.xhtml (with props) sis/ip-review/rev/07857/MeasurementParameter.xhtml (with props) sis/ip-review/rev/07860/ sis/ip-review/rev/07860/HEADER.html (with props) sis/ip-review/rev/07860/MatrixParameters.xhtml (with props) sis/ip-review/rev/10796/MatrixParameterDescriptors.xhtml (with props) sis/ip-review/rev/10796/MatrixParameters.xhtml (with props) sis/ip-review/rev/10796/MeasurementParameter.xhtml (with props) sis/ip-review/rev/10796/ParameterFormat.xhtml (with props) sis/ip-review/rev/20874/MatrixParameterDescriptors.xhtml (with props) sis/ip-review/rev/20874/MatrixParameters.xhtml (with props) sis/ip-review/rev/20874/MeasurementParameter.xhtml (with props) sis/ip-review/rev/20874/ParameterFormat.xhtml (with props) sis/ip-review/rev/24973/MatrixParameters.xhtml (with props) Added: sis/ip-review/MatrixParameterDescriptors.xhtml URL: http://svn.apache.org/viewvc/sis/ip-review/MatrixParameterDescriptors.xhtml?rev=1575895&view=auto ============================================================================== --- sis/ip-review/MatrixParameterDescriptors.xhtml (added) +++ sis/ip-review/MatrixParameterDescriptors.xhtml Mon Mar 10 10:38:40 2014 @@ -0,0 +1,73 @@ + + + + + MatrixParameterDescriptors history + + + +
+

MatrixParameterDescriptors history

+

Click on the commit message for inspecting the diff and how the code has been rewritten.

+

Command line:

+
svn log -r31996:1 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/parameter/MatrixParameterDescriptors.java
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rev.DateAuthorMessage
310002008-07-10desruisseauxAvoid usage of 2 deprecated constructors from CRSFactory. Their replacement were tricky and required more sophesticated code in ReferencingFactoryContainer.toGeodetic3D.
307602008-06-18desruisseauxUpgrated from JSR-108 to JSR-275 (GEOT-1266). Some opportunist javadoc fixes and @Override annotations in the process.
306412008-06-12acusterCopyright headers: lib/referencing, this time with feeling (and the el in Toolkit)
305212008-06-05acusterCopyright: Update referencing headers
303132008-05-16desruisseauxChanged my mind about Utilities.shallowEquals(Object,Object) and renamed it as equals, since a few tests show that the compiler always select the best overloaded flavor working on primitive types (except if an argument is a boolean and the other a different primitive type). Updated a few references. Fixed a few javadoc warnings by explicit declaration of parameter and return values.
302582008-05-08acusterReshuffle the top level repo: drop uDig, move up trunk, tags, and branches.
302572008-05-08acusterMove trunk/gt/ directory contents up to trunk/ and drop gt
297532008-04-01desruisseauxApplied parameterized types as a side-effect of hunting for a DimensionMismatchException during reprojection.
289222008-01-24acusterBump the (at)since version to 2.5 since WKTParser was cut from 2.4
285402007-12-29acusterHide buttons which are not yet used
282672007-12-06desruisseauxGeoTools trunk now build against GeoAPI 2.2-SNAPSHOT.
280692007-11-27desruisseauxJava 5 generics in org.geotools.image.io, and partially in org.geotools.parameters.
275752007-10-22desruisseauxConverted Java source files from ISO-LATIN-1 encoding to UTF-8 (GEOT-1516).
223272006-10-23desruisseauxGEOT-982: regroup 'module', 'plugin', 'ext' and 'unsupported' in a common directory.
223152006-10-22desruisseauxReorganisation of directory tree structure (GEOT-982) phase 1: moved 'src' to 'src/main/java'.
208742006-08-07jgarnettip review
176722006-01-19desruisseauxAdded @source tag.
176602006-01-18desruisseauxFixed SVN attributes, including the addition of URL attribute.
153502005-08-16desruisseauxMerged the 'split-main' branch to trunk (GEOT-662)
153252005-08-13desruisseauxCreated a matrix package on top of vecmath / Fixed 'getPositionalAccuracy' issues
152562005-08-09desruisseauxExtraction of referencing module from main
152552005-08-09desruisseauxPrepare branch for splitting main
148342005-07-20desruisseauxReorganized I18N resources
146082005-06-25desruisseauxEPSG authority factory now uses path informations for ConcatenatedOperation object creations / Added PostgreSQL plugin (mostly as a demo) / Javadoc fixes
145502005-06-16desruisseauxRemoved deprecated fields and methods
142352005-06-10desruisseauxReplaced _PROPERTY suffix by _KEY as of GEOT-577
139252005-05-30desruisseauxAdded @since javadoc tag
139222005-05-29desruisseauxRenaming of remainding GeoAPI implementations. Renaming is now finished.
139062005-05-28desruisseauxRenamed some 'Default' prefix as 'Abstract'
138362005-05-26desruisseauxAdded 'Default' suffix to some CRS implementations: partial work
110012005-02-02desruisseauxFixed wrong encoding in main/src
107962005-01-28dzwiersimports cleaned
91182004-11-14desruisseauxMercator projection port completed (but untested) as a use case for other projection ports
87262004-10-21desruisseauxVarious bug fixes in parameter handling
86212004-10-14desruisseauxEnforced 'maximumOccurs==1' in ParameterValue implementation
86102004-10-13desruisseauxChanged ParameterDescriptorGroup.descriptor(String) return type from 'ParameterValue' to 'GeneralParameterValue'
85962004-10-12desruisseauxRedirected javadoc links toward org.opengis.* instead org.geotools.* when the discussion is general enough
85182004-10-11desruisseauxApply changes voted in OGC meeting at Southampton: use of Identifier and GenericName
78462004-09-08jgarnettCleaned up opengis/geotools split
78362004-09-08jgarnettFirst round of resync with geoapi
77062004-08-31jgarnettChange over to parameter descriptor and added parse( text ), text() methods.
68882004-07-14desruisseauxUpdate for GeoAPI changes (Info --> IdentifiedObject)
65752004-06-27desruisseauxMatrixParameters now uses ParameterRealValue / In providers, moved parameters in a static field.
63832004-06-11desruisseauxSearch for parameters and operation methods by identifiers
63752004-06-10desruisseauxWork on parameters handling
63712004-06-09desruisseauxAdded test cases for parameters
63662004-06-09desruisseauxFirst working implementation of MatrixParameters
+
+ + Propchange: sis/ip-review/MatrixParameterDescriptors.xhtml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: sis/ip-review/MatrixParameterDescriptors.xhtml ------------------------------------------------------------------------------ svn:mime-type = text/html Added: sis/ip-review/MatrixParameters.xhtml URL: http://svn.apache.org/viewvc/sis/ip-review/MatrixParameters.xhtml?rev=1575895&view=auto ============================================================================== --- sis/ip-review/MatrixParameters.xhtml (added) +++ sis/ip-review/MatrixParameters.xhtml Mon Mar 10 10:38:40 2014 @@ -0,0 +1,68 @@ + + + + + MatrixParameters history + + + +
+

MatrixParameters history

+

Click on the commit message for inspecting the diff and how the code has been rewritten.

+

Command line:

+
svn log -r31996:1 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/parameter/MatrixParameters.java
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rev.DateAuthorMessage
306412008-06-12acusterCopyright headers: lib/referencing, this time with feeling (and the el in Toolkit)
305212008-06-05acusterCopyright: Update referencing headers
303132008-05-16desruisseauxChanged my mind about Utilities.shallowEquals(Object,Object) and renamed it as equals, since a few tests show that the compiler always select the best overloaded flavor working on primitive types (except if an argument is a boolean and the other a different primitive type). Updated a few references. Fixed a few javadoc warnings by explicit declaration of parameter and return values.
302582008-05-08acusterReshuffle the top level repo: drop uDig, move up trunk, tags, and branches.
302572008-05-08acusterMove trunk/gt/ directory contents up to trunk/ and drop gt
297532008-04-01desruisseauxApplied parameterized types as a side-effect of hunting for a DimensionMismatchException during reprojection.
289222008-01-24acusterBump the (at)since version to 2.5 since WKTParser was cut from 2.4
285402007-12-29acusterHide buttons which are not yet used
282672007-12-06desruisseauxGeoTools trunk now build against GeoAPI 2.2-SNAPSHOT.
280692007-11-27desruisseauxJava 5 generics in org.geotools.image.io, and partially in org.geotools.parameters.
275752007-10-22desruisseauxConverted Java source files from ISO-LATIN-1 encoding to UTF-8 (GEOT-1516).
249732007-03-30chornerGEO-93: GeoTools/GeoAPI ISO 19115 Metadata synchronization
223272006-10-23desruisseauxGEOT-982: regroup 'module', 'plugin', 'ext' and 'unsupported' in a common directory.
223152006-10-22desruisseauxReorganisation of directory tree structure (GEOT-982) phase 1: moved 'src' to 'src/main/java'.
208742006-08-07jgarnettip review
176722006-01-19desruisseauxAdded @source tag.
176602006-01-18desruisseauxFixed SVN attributes, including the addition of URL attribute.
153502005-08-16desruisseauxMerged the 'split-main' branch to trunk (GEOT-662)
153252005-08-13desruisseauxCreated a matrix package on top of vecmath / Fixed 'getPositionalAccuracy' issues
152562005-08-09desruisseauxExtraction of referencing module from main
152552005-08-09desruisseauxPrepare branch for splitting main
146082005-06-25desruisseauxEPSG authority factory now uses path informations for ConcatenatedOperation object creations / Added PostgreSQL plugin (mostly as a demo) / Javadoc fixes
145502005-06-16desruisseauxRemoved deprecated fields and methods
142052005-06-09desruisseauxUpdated to GeoAPI 2.0 final release
139252005-05-30desruisseauxAdded @since javadoc tag
139222005-05-29desruisseauxRenaming of remainding GeoAPI implementations. Renaming is now finished.
110012005-02-02desruisseauxFixed wrong encoding in main/src
107962005-01-28dzwiersimports cleaned
87262004-10-21desruisseauxVarious bug fixes in parameter handling
87012004-10-20desruisseauxAdded the 'remove' operation to ParameterValueGroup
86212004-10-14desruisseauxEnforced 'maximumOccurs==1' in ParameterValue implementation
86102004-10-13desruisseauxChanged ParameterDescriptorGroup.descriptor(String) return type from 'ParameterValue' to 'GeneralParameterValue'
85182004-10-11desruisseauxApply changes voted in OGC meeting at Southampton: use of Identifier and GenericName
78602004-09-09jgarnettMake use of values() override for toWKT to pick up on (3 hour bug hunt)
78462004-09-08jgarnettCleaned up opengis/geotools split
78362004-09-08jgarnettFirst round of resync with geoapi
77062004-08-31jgarnettChange over to parameter descriptor and added parse( text ), text() methods.
68882004-07-14desruisseauxUpdate for GeoAPI changes (Info --> IdentifiedObject)
66272004-06-29desruisseauxFinished refactoring of WKT formatting for MathTransform
65362004-06-25desruisseauxAdded SingleCRS class / Renamed ObliqueCartesianCS as AffineCS / Moved Position as super-interface for DirectPosition and Point
63832004-06-11desruisseauxSearch for parameters and operation methods by identifiers
63662004-06-09desruisseauxFirst working implementation of MatrixParameters
+
+ + Propchange: sis/ip-review/MatrixParameters.xhtml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: sis/ip-review/MatrixParameters.xhtml ------------------------------------------------------------------------------ svn:mime-type = text/html Added: sis/ip-review/MeasurementParameter.xhtml URL: http://svn.apache.org/viewvc/sis/ip-review/MeasurementParameter.xhtml?rev=1575895&view=auto ============================================================================== --- sis/ip-review/MeasurementParameter.xhtml (added) +++ sis/ip-review/MeasurementParameter.xhtml Mon Mar 10 10:38:40 2014 @@ -0,0 +1,66 @@ + + + + + MeasurementParameter history + + + +
+

MeasurementParameter history

+

Click on the commit message for inspecting the diff and how the code has been rewritten.

+

Command line:

+
svn log -r31996:1 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/parameter/FloatParameter.java
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rev.DateAuthorMessage
307602008-06-18desruisseauxUpgrated from JSR-108 to JSR-275 (GEOT-1266). Some opportunist javadoc fixes and @Override annotations in the process.
306412008-06-12acusterCopyright headers: lib/referencing, this time with feeling (and the el in Toolkit)
305212008-06-05acusterCopyright: Update referencing headers
302582008-05-08acusterReshuffle the top level repo: drop uDig, move up trunk, tags, and branches.
302572008-05-08acusterMove trunk/gt/ directory contents up to trunk/ and drop gt
297532008-04-01desruisseauxApplied parameterized types as a side-effect of hunting for a DimensionMismatchException during reprojection.
289222008-01-24acusterBump the (at)since version to 2.5 since WKTParser was cut from 2.4
285402007-12-29acusterHide buttons which are not yet used
282672007-12-06desruisseauxGeoTools trunk now build against GeoAPI 2.2-SNAPSHOT.
282522007-12-04desruisseauxMore MosaicImageReader work. As a side effect, moved Utilities.getShort[Class]Name in a separated utilities class named 'Classes'. Also added a couple of @Override annotations.
280812007-11-27desruisseauxJava 5 constructs: replaced some StringBuffer by StringBuilder in order to avoid unecessary synchronisation; rely on auto-boxing in order to give a chance to the JVM to reuse its cached values.
280692007-11-27desruisseauxJava 5 generics in org.geotools.image.io, and partially in org.geotools.parameters.
275752007-10-22desruisseauxConverted Java source files from ISO-LATIN-1 encoding to UTF-8 (GEOT-1516).
223272006-10-23desruisseauxGEOT-982: regroup 'module', 'plugin', 'ext' and 'unsupported' in a common directory.
223152006-10-22desruisseauxReorganisation of directory tree structure (GEOT-982) phase 1: moved 'src' to 'src/main/java'.
208742006-08-07jgarnettip review
176722006-01-19desruisseauxAdded @source tag.
176602006-01-18desruisseauxFixed SVN attributes, including the addition of URL attribute.
162052005-10-11desruisseauxCleaned javadoc warning. More work done on Maven 2 configuration (GEOT-691)
153502005-08-16desruisseauxMerged the 'split-main' branch to trunk (GEOT-662)
152562005-08-09desruisseauxExtraction of referencing module from main
152552005-08-09desruisseauxPrepare branch for splitting main
148342005-07-20desruisseauxReorganized I18N resources
141752005-06-08desruisseauxImaging parameters tunning
141572005-06-07desruisseauxAdded parameter wrappers around JAI's ParameterList, for implementation of GridCoverage operations backed by JAI operators
139252005-05-30desruisseauxAdded @since javadoc tag
139222005-05-29desruisseauxRenaming of remainding GeoAPI implementations. Renaming is now finished.
129522005-04-03desruisseauxUpdated metadata implementation for GeoAPI changes (GEO-51 and GEO-56)
110012005-02-02desruisseauxFixed wrong encoding in main/src
107962005-01-28dzwiersimports cleaned
87262004-10-21desruisseauxVarious bug fixes in parameter handling
85962004-10-12desruisseauxRedirected javadoc links toward org.opengis.* instead org.geotools.* when the discussion is general enough
85182004-10-11desruisseauxApply changes voted in OGC meeting at Southampton: use of Identifier and GenericName
78572004-09-09jgarnettname to getName().toString( null )
78462004-09-08jgarnettCleaned up opengis/geotools split
78362004-09-08jgarnettFirst round of resync with geoapi
77062004-08-31jgarnettChange over to parameter descriptor and added parse( text ), text() methods.
65892004-06-28desruisseauxImproved parameters handling
65752004-06-27desruisseauxMatrixParameters now uses ParameterRealValue / In providers, moved parameters in a static field.
65652004-06-26desruisseauxFirst draft of a MapProjection port
+
+ + Propchange: sis/ip-review/MeasurementParameter.xhtml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: sis/ip-review/MeasurementParameter.xhtml ------------------------------------------------------------------------------ svn:mime-type = text/html Added: sis/ip-review/ParameterFormat.xhtml URL: http://svn.apache.org/viewvc/sis/ip-review/ParameterFormat.xhtml?rev=1575895&view=auto ============================================================================== --- sis/ip-review/ParameterFormat.xhtml (added) +++ sis/ip-review/ParameterFormat.xhtml Mon Mar 10 10:38:40 2014 @@ -0,0 +1,63 @@ + + + + + ParameterFormat history + + + +
+

ParameterFormat history

+

Click on the commit message for inspecting the diff and how the code has been rewritten.

+

Command line:

+
svn log -r31996:1 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/parameter/ParameterWriter.java
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rev.DateAuthorMessage
311482008-08-07desruisseauxRenamed GenericName.name() as tip(). The old method still around as a deprecated one.
311392008-08-06desruisseauxAvoid usage of deprecated methods from the org.opengis.util.GenericName interface.
311322008-08-05desruisseauxAs a side effect of "geotidy" work, ported a few bug fixes in metadata. Avoid usage of deprecated GeneralName.getScope() method, replaced by scope().
306412008-06-12acusterCopyright headers: lib/referencing, this time with feeling (and the el in Toolkit)
305212008-06-05acusterCopyright: Update referencing headers
302582008-05-08acusterReshuffle the top level repo: drop uDig, move up trunk, tags, and branches.
302572008-05-08acusterMove trunk/gt/ directory contents up to trunk/ and drop gt
289222008-01-24acusterBump the (at)since version to 2.5 since WKTParser was cut from 2.4
285402007-12-29acusterHide buttons which are not yet used
285362007-12-28desruisseauxMosaicImageReader now take subsampling in account. The build is still failing for unrelated reason, see Hudson report #22.
282672007-12-06desruisseauxGeoTools trunk now build against GeoAPI 2.2-SNAPSHOT.
282522007-12-04desruisseauxMore MosaicImageReader work. As a side effect, moved Utilities.getShort[Class]Name in a separated utilities class named 'Classes'. Also added a couple of @Override annotations.
280812007-11-27desruisseauxJava 5 constructs: replaced some StringBuffer by StringBuilder in order to avoid unecessary synchronisation; rely on auto-boxing in order to give a chance to the JVM to reuse its cached values.
236322006-12-29desruisseauxGEOT-859: Refactored the URN syntax adapter for CRS factories. The adapter now apply to any factory. Some progress toward version management (but not yet there). NOTE: this new implementation forces axis order "as specified in the database", which is different from the original "URNEPSGAdapter" implementation which used (x,y) order. Various changes in many corners of "org.geotools.referencing.factory" as a side-effect of this work. Minor opportunist javadoc fixes in other modules.
223272006-10-23desruisseauxGEOT-982: regroup 'module', 'plugin', 'ext' and 'unsupported' in a common directory.
223152006-10-22desruisseauxReorganisation of directory tree structure (GEOT-982) phase 1: moved 'src' to 'src/main/java'.
208742006-08-07jgarnettip review
176722006-01-19desruisseauxAdded @source tag.
176602006-01-18desruisseauxFixed SVN attributes, including the addition of URL attribute.
162052005-10-11desruisseauxCleaned javadoc warning. More work done on Maven 2 configuration (GEOT-691)
153502005-08-16desruisseauxMerged the 'split-main' branch to trunk (GEOT-662)
152562005-08-09desruisseauxExtraction of referencing module from main
152552005-08-09desruisseauxPrepare branch for splitting main
152312005-08-08desruisseauxAdded NodataFilter and GradientMagnitude operation / Various bug fixes
148342005-07-20desruisseauxReorganized I18N resources
147252005-07-06desruisseauxRefactoring of GridCoverage operations: moved to a processing sub-package, operations are first-level classes (not inner classes), implementations hiden when possible, GridCoverageProcessor renamed as Processor and generalized (accepts Coverage instead of GridCoverage).
145702005-06-21desruisseauxAddition of geocentric affine transform as of GEOT-591
142052005-06-09desruisseauxUpdated to GeoAPI 2.0 final release
139252005-05-30desruisseauxAdded @since javadoc tag
118162005-03-07desruisseauxFirst draft of GridCoverage operation port
111462005-02-07desruisseauxCoordinateOperationFactory refactoring
111442005-02-07desruisseauxFixed GEOT-400 (create appropriate instance of Operation subclasses)
107962005-01-28dzwiersimports cleaned
92432004-11-22desruisseauxTuned WKT parsing and formatting
91332004-11-16desruisseauxParameter formatting tuning
91182004-11-14desruisseauxMercator projection port completed (but untested) as a use case for other projection ports
91172004-11-13desruisseauxAdded the capability to list all available MathTransforms
+
+ + Propchange: sis/ip-review/ParameterFormat.xhtml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: sis/ip-review/ParameterFormat.xhtml ------------------------------------------------------------------------------ svn:mime-type = text/html Added: sis/ip-review/rev/07846/MatrixParameterDescriptors.xhtml URL: http://svn.apache.org/viewvc/sis/ip-review/rev/07846/MatrixParameterDescriptors.xhtml?rev=1575895&view=auto ============================================================================== --- sis/ip-review/rev/07846/MatrixParameterDescriptors.xhtml (added) +++ sis/ip-review/rev/07846/MatrixParameterDescriptors.xhtml Mon Mar 10 10:38:40 2014 @@ -0,0 +1,301 @@ + + + + + MatrixParameterDescriptors changes for revisions 7705:7846 + + + +
+

MatrixParameterDescriptors changes for revisions 7705:7846

+

In this commit:

+ +

Command line:

+
svn diff --extensions "--unified --ignore-space-change --ignore-all-space --ignore-eol-style" -r7705:7846 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/parameter/MatrixParameterDescriptors.java
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Revision 7705Revision 7846
// OpenGIS dependencies
+import org.opengis.parameter.ParameterValue;
+import org.opengis.parameter.OperationParameter;
+import org.opengis.parameter.ParameterValueGroup;
+import org.opengis.parameter.GeneralParameterValue;
+import org.opengis.parameter.GeneralOperationParameter;
+import org.opengis.parameter.ParameterNotFoundException;
+import org.opengis.parameter.InvalidParameterNameException;
+import org.opengis.referencing.operation.Matrix;
// OpenGIS dependencies
+import org.opengis.parameter.ParameterValue;
+import org.opengis.parameter.ParameterDescriptor;
+import org.opengis.parameter.ParameterValueGroup;
+import org.opengis.parameter.GeneralParameterValue;
+import org.opengis.parameter.GeneralParameterDescriptor;
+import org.opengis.parameter.ParameterNotFoundException;
+import org.opengis.parameter.InvalidParameterNameException;
+import org.opengis.referencing.operation.Matrix;
 *
+ * @see MatrixParameterValues
+ */
+public class MatrixParameters extends OperationParameterGroup {
+    /**
+     * The default matrix size for the {@linkplain #MatrixParameters(Map) one-argument constructor}.
+     */
 *
+ * @see MatrixParameterValues
+ */
+public class MatrixParameters extends ParameterGroupDescriptor {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * The default matrix size for the {@linkplain #MatrixParameters(Map) one-argument constructor}.
+     */
 * on matrix element values. Concequently, the same descriptors can be reused for all
+ * {@link MatrixParameterValues} instances.
+ */
+private final OperationParameter[] parameters = new OperationParameter[CACHE_SIZE*CACHE_SIZE];
+
+/**
+ * The descriptor for the <code>"num_row"</code> parameter.
+ */
+protected final OperationParameter numRow;
+
+/**
+ * The descriptor for the <code>"num_col"</code> parameter.
+ */
+protected final OperationParameter numCol;
+
+/**
+ * The prefix to insert in front of parameter name for each matrix elements.
 * on matrix element values. Concequently, the same descriptors can be reused for all
+ * {@link MatrixParameterValues} instances.
+ */
+private final ParameterDescriptor[] parameters = new ParameterDescriptor[CACHE_SIZE*CACHE_SIZE];
+
+/**
+ * The descriptor for the <code>"num_row"</code> parameter.
+ */
+protected final ParameterDescriptor numRow;
+
+/**
+ * The descriptor for the <code>"num_col"</code> parameter.
+ */
+protected final ParameterDescriptor numCol;
+
+/**
+ * The prefix to insert in front of parameter name for each matrix elements.
     *       used in this implementation is inefficient  for large amount of matrix
+     *       elements.
+     */
+    this(properties, new OperationParameter[] {
+        new org.geotools.parameter.OperationParameter("num_row", DEFAULT_MATRIX_SIZE, 2, 50),
+        new org.geotools.parameter.OperationParameter("num_col", DEFAULT_MATRIX_SIZE, 2, 50)
+    }, "elt_", '_');
+}
     *       used in this implementation is inefficient  for large amount of matrix
+     *       elements.
+     */
+    this(properties, new ParameterDescriptor[] {
+        new org.geotools.parameter.ParameterDescriptor("num_row", DEFAULT_MATRIX_SIZE, 2, 50),
+        new org.geotools.parameter.ParameterDescriptor("num_col", DEFAULT_MATRIX_SIZE, 2, 50)
+    }, "elt_", '_');
+}
 * @param separator  The separator between the row and the column index in parameter names.
+ */
+public MatrixParameters(final Map            properties,
+                        OperationParameter[] parameters,
+                        final String         prefix,
+                        final char           separator)
+{
 * @param separator  The separator between the row and the column index in parameter names.
+ */
+public MatrixParameters(final Map            properties,
+                  ParameterDescriptor[] parameters,
+                        final String         prefix,
+                        final char           separator)
+{
 * @return The parameter for the given name.
+ * @throws ParameterNotFoundException if there is no parameter for the given name.
+ */
+public final OperationParameter getParameter(final String name)
+        throws ParameterNotFoundException
+{
+    return getParameter(name,
 * @return The parameter for the given name.
+ * @throws ParameterNotFoundException if there is no parameter for the given name.
+ */
+public final ParameterDescriptor getParameter(final String name)
+        throws ParameterNotFoundException
+{
+    return getParameter(name,
 * @return The parameter for the given name.
+ * @throws ParameterNotFoundException if there is no parameter for the given name.
+ */
+final OperationParameter getParameter(String name, final int numRow, final int numCol)
+        throws ParameterNotFoundException
+{
+    ensureNonNull("name", name);
 * @return The parameter for the given name.
+ * @throws ParameterNotFoundException if there is no parameter for the given name.
+ */
+final ParameterDescriptor getParameter(String name, final int numRow, final int numCol)
+        throws ParameterNotFoundException
+{
+    ensureNonNull("name", name);
/**
+ * Returns the parameter in this group for a matrix element at the specified
+ * index. row and column indices are 0 based. Indices must be lower that the
+ * {@link org.geotools.parameter.OperationParameter#getMaximumValue maximum values}
+ * given to the {@link #numRow} and {@link #numCol} parameters.
+ *
+ * @param  row    The row indice.
/**
+ * Returns the parameter in this group for a matrix element at the specified
+ * index. row and column indices are 0 based. Indices must be lower that the
+ * {@link org.geotools.parameter.ParameterDescriptor#getMaximumValue maximum values}
+ * given to the {@link #numRow} and {@link #numCol} parameters.
+ *
+ * @param  row    The row indice.
 * @return The parameter descriptor for the specified matrix element.
+ * @throws IndexOutOfBoundsException if <code>row</code> or <code>column</code> is out of bounds.
+ */
+public final OperationParameter getParameter(final int row, final int column)
+        throws IndexOutOfBoundsException
+{
+    return getParameter(row, column,
 * @return The parameter descriptor for the specified matrix element.
+ * @throws IndexOutOfBoundsException if <code>row</code> or <code>column</code> is out of bounds.
+ */
+public final ParameterDescriptor getParameter(final int row, final int column)
+        throws IndexOutOfBoundsException
+{
+    return getParameter(row, column,
 * @return The parameter descriptor for the specified matrix element.
+ * @throws IndexOutOfBoundsException if <code>row</code> or <code>column</code> is out of bounds.
+ */
+final OperationParameter getParameter(final int row,    final int column,
+                                      final int numRow, final int numCol)
+        throws IndexOutOfBoundsException
+{
 * @return The parameter descriptor for the specified matrix element.
+ * @throws IndexOutOfBoundsException if <code>row</code> or <code>column</code> is out of bounds.
+ */
+final ParameterDescriptor getParameter(final int row,    final int column,
+                                      final int numRow, final int numCol)
+        throws IndexOutOfBoundsException
+{
checkIndice("row",    row,    numRow);
+checkIndice("column", column, numCol);
+int index = -1;
+OperationParameter param;
+if (row<CACHE_SIZE && column<CACHE_SIZE) {
+    index = row*CACHE_SIZE + column;
+    param = parameters[index];
checkIndice("row",    row,    numRow);
+checkIndice("column", column, numCol);
+int index = -1;
+ParameterDescriptor param;
+if (row<CACHE_SIZE && column<CACHE_SIZE) {
+    index = row*CACHE_SIZE + column;
+    param = parameters[index];
 * Note that this cache is shared by all MatrixParameters instance. There is no need
+ * to synchronize since it is not a big deal if the same parameter is constructed twice.
+ */
+param = new org.geotools.parameter.OperationParameter(prefix + row + separator + column,
+        Double.TYPE, org.geotools.parameter.ParameterValue.wrap(row==column ? 1.0 : 0.0),
+        null, null, Unit.ONE);
+if (index >= 0) {
+    parameters[index] = param;
 * Note that this cache is shared by all MatrixParameters instance. There is no need
+ * to synchronize since it is not a big deal if the same parameter is constructed twice.
+ */
+param = new org.geotools.parameter.ParameterDescriptor(prefix + row + separator + column,
+        Double.TYPE, org.geotools.parameter.Parameter.wrap(row==column ? 1.0 : 0.0),
+        null, null, Unit.ONE);
+if (index >= 0) {
+    parameters[index] = param;
/**
+ * Returns the parameters in this group. The number or elements is inferred from the
+ * {@link org.geotools.parameter.OperationParameter#getDefaultValue default values}
+ * given to the {@link #numRow} and {@link #numCol} parameters.
+ *
+ * @return The matrix parameters, including all elements.
+ */
+public final GeneralOperationParameter[] getParameters() {
+    return getParameters(((Number) this.numRow.getDefaultValue()).intValue(),
+                         ((Number) this.numCol.getDefaultValue()).intValue());
+}
/**
+ * Returns the parameters in this group. The number or elements is inferred from the
+ * {@link org.geotools.parameter.ParameterDescriptor#getDefaultValue default values}
+ * given to the {@link #numRow} and {@link #numCol} parameters.
+ *
+ * @return The matrix parameters, including all elements.
+ */
+public final GeneralParameterDescriptor[] getParameters() {
+    return getParameters(((Number) this.numRow.getDefaultValue()).intValue(),
+                         ((Number) this.numCol.getDefaultValue()).intValue());
+}
 * @param numCol The number of columns.
+ * @return The matrix parameters, including all elements.
+ */
+final GeneralOperationParameter[] getParameters(final int numRow, final int numCol) {
+    final OperationParameter[] parameters = new OperationParameter[numRow*numCol + 2];
+    int k = 0;
+    parameters[k++] = this.numRow;
+    parameters[k++] = this.numCol;
 * @param numCol The number of columns.
+ * @return The matrix parameters, including all elements.
+ */
+final GeneralParameterDescriptor[] getParameters(final int numRow, final int numCol) {
+    final ParameterDescriptor[] parameters = new ParameterDescriptor[numRow*numCol + 2];
+    int k = 0;
+    parameters[k++] = this.numRow;
+    parameters[k++] = this.numCol;
    return ((MatrixParameterValues) parameters).getMatrix();
+}
+// Fallback on the general case (others implementations)
+final ParameterValue numRowParam = parameters.getValue(numRow.getName(null));
+final ParameterValue numColParam = parameters.getValue(numCol.getName(null));
+final int numRow = numRowParam.intValue();
+final int numCol = numColParam.intValue();
+final GeneralMatrix matrix = new GeneralMatrix(numRow, numCol);
+final GeneralParameterValue[] params = parameters.getValues();
+if (params != null) {
+    for (int i=0; i<params.length; i++) {
+        final GeneralParameterValue param = params[i];
    return ((MatrixParameterValues) parameters).getMatrix();
+}
+// Fallback on the general case (others implementations)
+final ParameterValue numRowParam = parameters.parameter(numRow.getName().toString());
+final ParameterValue numColParam = parameters.parameter(numCol.getName().toString());
+final int numRow = numRowParam.intValue();
+final int numCol = numColParam.intValue();
+final GeneralMatrix matrix = new GeneralMatrix(numRow, numCol);
+final GeneralParameterValue[] params = Parameters.array( parameters );
+if (params != null) {
+    for (int i=0; i<params.length; i++) {
+        final GeneralParameterValue param = params[i];
    continue;
+}
+RuntimeException cause = null;
+final String name = param.getDescriptor().getName(null);
+if (name.regionMatches(true, 0, prefix, 0, prefix.length())) {
+    final int split = name.indexOf(separator, prefix.length());
+    if (split >= 0) try {
    continue;
+}
+RuntimeException cause = null;
+final String name = param.getDescriptor().getName().toString();
+if (name.regionMatches(true, 0, prefix, 0, prefix.length())) {
+    final int split = name.indexOf(separator, prefix.length());
+    if (split >= 0) try {
+
+ + Propchange: sis/ip-review/rev/07846/MatrixParameterDescriptors.xhtml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: sis/ip-review/rev/07846/MatrixParameterDescriptors.xhtml ------------------------------------------------------------------------------ svn:mime-type = text/html Added: sis/ip-review/rev/07857/MeasurementParameter.xhtml URL: http://svn.apache.org/viewvc/sis/ip-review/rev/07857/MeasurementParameter.xhtml?rev=1575895&view=auto ============================================================================== --- sis/ip-review/rev/07857/MeasurementParameter.xhtml (added) +++ sis/ip-review/rev/07857/MeasurementParameter.xhtml Mon Mar 10 10:38:40 2014 @@ -0,0 +1,318 @@ + + + + + MeasurementParameter changes for revisions 7705:7857 + + + +
+

MeasurementParameter changes for revisions 7705:7857

+

In this commit:

+ +

Command line:

+
svn diff --extensions "--unified --ignore-space-change --ignore-all-space --ignore-eol-style" -r7705:7857 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/parameter/FloatParameter.java
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Revision 7705Revision 7857
 */
+package org.geotools.parameter;
+
+// J2SE dependencies
+import java.net.URL;
+import java.util.Set;
+import java.util.Arrays;
+import java.util.Locale;
+import javax.units.Unit;
+import javax.units.SI;
+import javax.units.NonSI;
+import javax.units.Converter;
+
+// OpenGIS dependencies
+import org.opengis.util.CodeList;
+import org.opengis.parameter.OperationParameter;
+import org.opengis.parameter.GeneralOperationParameter;
+import org.opengis.parameter.InvalidParameterTypeException;
+import org.opengis.parameter.InvalidParameterValueException;
+
+// Geotools dependencies
+import org.geotools.resources.Utilities;
+import org.geotools.resources.cts.Resources;
+import org.geotools.resources.cts.ResourceKeys;
+
+
+/**
+ * A parameter value as a real number. This class provides the same functionalities than
+ * {@link ParameterValue}, except that:
+ * <ul>
+ *   <li>Values are always floating point numbers of type <code>double</code>.</li>
+ *   <li>Units are the same than the {@linkplain OperationParameter#getUnit default units}.</li>
+ * </ul>
+ * When those conditions are meet, <code>ParameterRealValue</code> is slightly more efficient
+ * than <code>ParameterValue</code> since it avoid the creation of {@link Double} objects.
 */
+package org.geotools.parameter;
+
+
+import org.opengis.parameter.ParameterDescriptor;
+
+// J2SE dependencies
+import java.lang.reflect.Array;
+import java.net.URL;
+
+import javax.units.Unit;
+
+import org.geotools.resources.Utilities;
+import org.geotools.resources.cts.ResourceKeys;
+import org.geotools.resources.cts.Resources;
+import org.opengis.parameter.InvalidParameterTypeException;
+import org.opengis.parameter.InvalidParameterValueException;
+
+
+/**
+ * A parameter value as a real number. This class provides the same functionalities than
+ * {@link Parameter}, except that:
+ * <ul>
+ *   <li>Values are always floating point numbers of type <code>double</code>.</li>
+ *   <li>Units are the same than the {@linkplain ParameterDescriptor#getUnit default units}.</li>
+ * </ul>
+ * When those conditions are meet, <code>ParameterRealValue</code> is slightly more efficient
+ * than <code>ParameterValue</code> since it avoid the creation of {@link Double} objects.
 * @version $Id$
+ * @author Martin Desruisseaux
+ *
+ * @see org.geotools.parameter.OperationParameter
+ * @see org.geotools.parameter.ParameterValueGroup
+ */
+public class ParameterRealValue extends GeneralParameterValue
+                             implements org.opengis.parameter.ParameterValue
+{
+    /**
 * @version $Id$
+ * @author Martin Desruisseaux
+ *
+ * @see org.geotools.parameter.ParameterDescriptor
+ * @see org.geotools.parameter.ParameterGroup
+ */
+public class ParameterReal extends AbstractParameter
+                             implements org.opengis.parameter.ParameterValue
+{
+    /**
/**
+ * Construct a parameter from the specified descriptor. The descriptor
+ * {@linkplain org.geotools.parameter.OperationParameter#getValueClass() value class}
+ * must be <code>{@linkplain Double}.class</code>.
+ *
+ * @param  descriptor The abstract definition of this parameter.
+ * @throws IllegalArgumentException if the value class is not <code>Double.class</code>.
+ */
+public ParameterRealValue(final OperationParameter descriptor) {
+    super(descriptor);
+    final Class type = descriptor.getValueClass();
+    final Class expected = Double.class;
/**
+ * Construct a parameter from the specified descriptor. The descriptor
+ * {@linkplain org.geotools.parameter.ParameterDescriptor#getValueClass() value class}
+ * must be <code>{@linkplain Double}.class</code>.
+ *
+ * @param  descriptor The abstract definition of this parameter.
+ * @throws IllegalArgumentException if the value class is not <code>Double.class</code>.
+ */
+public ParameterReal(final ParameterDescriptor descriptor) {
+    super(descriptor);
+    final Class type = descriptor.getValueClass();
+    final Class expected = Double.class;
 * @param  value The parameter value.
+ * @throws IllegalArgumentException if the value class is not <code>Double.class</code>.
+ */
+public ParameterRealValue(final OperationParameter descriptor, final double value) {
+    this(descriptor);
+    setValue(value);
+}
 * @param  value The parameter value.
+ * @throws IllegalArgumentException if the value class is not <code>Double.class</code>.
+ */
+public ParameterReal(final ParameterDescriptor descriptor, final double value) {
+    this(descriptor);
+    setValue(value);
+}
/**
+ * Returns the unit of measure of the {@linkplain #doubleValue() parameter value}. The default
+ * implementation always delegates to {@link org.geotools.parameter.OperationParameter#getUnit}.
+ *
+ * @return The unit of measure, or <code>null</code> if none.
+ */
+public Unit getUnit() {
+    return ((OperationParameter) descriptor).getUnit();
+}
+
+/**
/**
+ * Returns the unit of measure of the {@linkplain #doubleValue() parameter value}. The default
+ * implementation always delegates to {@link org.geotools.parameter.ParameterDescriptor#getUnit}.
+ *
+ * @return The unit of measure, or <code>null</code> if none.
+ */
+public Unit getUnit() {
+    return ((ParameterDescriptor) descriptor).getUnit();
+}
+
+/**
final Unit thisUnit = getUnit();
+if (thisUnit == null) {
+    throw new IllegalStateException(Resources.format(
+          ResourceKeys.ERROR_UNITLESS_PARAMETER_$1, ParameterValue.getName(descriptor)));
+}
+final int expectedID = ParameterValue.getUnitMessageID(thisUnit);
+if (ParameterValue.getUnitMessageID(unit) != expectedID) {
+    throw new IllegalArgumentException(Resources.format(expectedID, unit));
+}
+return thisUnit.getConverterTo(unit).convert(value);
final Unit thisUnit = getUnit();
+if (thisUnit == null) {
+    throw new IllegalStateException(Resources.format(
+          ResourceKeys.ERROR_UNITLESS_PARAMETER_$1, Parameter.getName(descriptor)));
+}
+final int expectedID = Parameter.getUnitMessageID(thisUnit);
+if (Parameter.getUnitMessageID(unit) != expectedID) {
+    throw new IllegalArgumentException(Resources.format(expectedID, unit));
+}
+return thisUnit.getConverterTo(unit).convert(value);
 */
+public URL valueFile() throws InvalidParameterTypeException {
+    throw new InvalidParameterTypeException(getClassTypeError(),
+              ParameterValue.getName(descriptor));
+}
+
+/**
 */
+public URL valueFile() throws InvalidParameterTypeException {
+    throw new InvalidParameterTypeException(getClassTypeError(),
+              Parameter.getName(descriptor));
+}
+
+/**
 */
+public void setValue(double value, final Unit unit) throws InvalidParameterValueException {
+    ensureNonNull("unit", unit);
+    final Unit thisUnit = ((OperationParameter) descriptor).getUnit();
+    if (thisUnit == null) {
+        throw new IllegalStateException(Resources.format(
+              ResourceKeys.ERROR_UNITLESS_PARAMETER_$1, ParameterValue.getName(descriptor)));
+    }
+    final int expectedID = ParameterValue.getUnitMessageID(thisUnit);
+    if (ParameterValue.getUnitMessageID(unit) != expectedID) {
+        throw new IllegalArgumentException(Resources.format(expectedID, unit));
+    }
+    value = unit.getConverterTo(thisUnit).convert(value);
+    ParameterValue.ensureValidValue((OperationParameter) descriptor, new Double(value));
+    this.value = value;
+}
 */
+public void setValue(double value, final Unit unit) throws InvalidParameterValueException {
+    ensureNonNull("unit", unit);
+    final Unit thisUnit = ((ParameterDescriptor) descriptor).getUnit();
+    if (thisUnit == null) {
+        throw new IllegalStateException(Resources.format(
+              ResourceKeys.ERROR_UNITLESS_PARAMETER_$1, Parameter.getName(descriptor)));
+    }
+    final int expectedID = Parameter.getUnitMessageID(thisUnit);
+    if (Parameter.getUnitMessageID(unit) != expectedID) {
+        throw new IllegalArgumentException(Resources.format(expectedID, unit));
+    }
+    value = unit.getConverterTo(thisUnit).convert(value);
+    Parameter.ensureValidValue((ParameterDescriptor) descriptor, new Double(value));
+    this.value = value;
+}
 *         (for example a value out of range).
+ */
+public void setValue(final double value) throws InvalidParameterValueException {
+    ParameterValue.ensureValidValue((OperationParameter) descriptor, new Double(value));
+    this.value = value;
+}
 *         (for example a value out of range).
+ */
+public void setValue(final double value) throws InvalidParameterValueException {
+    Parameter.ensureValidValue((ParameterDescriptor) descriptor, new Double(value));
+    this.value = value;
+}
 *         the value is numeric and out of range).
+ */
+public void setValue(final Object value) throws InvalidParameterValueException {
+    ParameterValue.ensureValidValue((OperationParameter) descriptor, value);
+    this.value = ((Number) value).doubleValue();
+}
 *         the value is numeric and out of range).
+ */
+public void setValue(final Object value) throws InvalidParameterValueException {
+    Parameter.ensureValidValue((ParameterDescriptor) descriptor, value);
+    this.value = ((Number) value).doubleValue();
+}
 */
+public void setValue(double[] values, final Unit unit) throws InvalidParameterValueException {
+    throw new InvalidParameterTypeException(getClassTypeError(),
+              ParameterValue.getName(descriptor));
+}
+
+/**
 */
+public void setValue(double[] values, final Unit unit) throws InvalidParameterValueException {
+    throw new InvalidParameterTypeException(getClassTypeError(),
+              Parameter.getName(descriptor));
+}
+
+/**
 */
+public boolean equals(final Object object) {
+    if (super.equals(object)) {
+        final ParameterRealValue that = (ParameterRealValue) object;
+        return Double.doubleToLongBits(this.value) ==
+               Double.doubleToLongBits(that.value);
+    }
 */
+public boolean equals(final Object object) {
+    if (super.equals(object)) {
+        final ParameterReal that = (ParameterReal) object;
+        return Double.doubleToLongBits(this.value) ==
+               Double.doubleToLongBits(that.value);
+    }
        final long code = Double.doubleToLongBits(value);
+        return (int)code ^ (int)(code >>> 32) + super.hashCode()*37;
+    }
+}
        final long code = Double.doubleToLongBits(value);
+        return (int)code ^ (int)(code >>> 32) + super.hashCode()*37;
+    }
+    public String toString() {
+        String name = descriptor.getName().toString( null );
+        Object value = getValue();
+
+        StringBuffer buf = new StringBuffer();
+        buf.append( "[<" );
+        buf.append( descriptor.getName().toString( null ) );
+        buf.append( "> " );
+        if( value == null ){
+            buf.append( "null" );
+}
+        else {
+            buf.append( value );
+        }
+        buf.append("]");
+        return buf.toString();
+    }
+}
+
+ + Propchange: sis/ip-review/rev/07857/MeasurementParameter.xhtml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: sis/ip-review/rev/07857/MeasurementParameter.xhtml ------------------------------------------------------------------------------ svn:mime-type = text/html Added: sis/ip-review/rev/07860/HEADER.html URL: http://svn.apache.org/viewvc/sis/ip-review/rev/07860/HEADER.html?rev=1575895&view=auto ============================================================================== --- sis/ip-review/rev/07860/HEADER.html (added) +++ sis/ip-review/rev/07860/HEADER.html Mon Mar 10 10:38:40 2014 @@ -0,0 +1,17 @@ + + + + + Revision 7860 + + +
+

Revision 7860

+ + + + +
Author:jgarnett
Date:2004-09-09
Message:Make use of values() override for toWKT to pick up on (3 hour bug hunt)
+
+ + Propchange: sis/ip-review/rev/07860/HEADER.html ------------------------------------------------------------------------------ svn:eol-style = native Propchange: sis/ip-review/rev/07860/HEADER.html ------------------------------------------------------------------------------ svn:mime-type = text/html