Author: desruisseaux
Date: Fri Feb 6 20:18:02 2015
New Revision: 1657946
URL: http://svn.apache.org/r1657946
Log:
Added IP reviews for DefaultMathTransformFactory and MathTransformProvider.
Added:
sis/ip-review/DefaultMathTransformFactory.xhtml (with props)
sis/ip-review/MathTransformProvider.xhtml (with props)
sis/ip-review/rev/06476/
sis/ip-review/rev/06476/DefaultMathTransformFactory.xhtml (with props)
sis/ip-review/rev/06476/HEADER.html (with props)
sis/ip-review/rev/07857/DefaultMathTransformFactory.xhtml (with props)
sis/ip-review/rev/07857/MathTransformProvider.xhtml (with props)
sis/ip-review/rev/10796/DefaultMathTransformFactory.xhtml (with props)
sis/ip-review/rev/10796/MathTransformProvider.xhtml (with props)
sis/ip-review/rev/11128/
sis/ip-review/rev/11128/DefaultMathTransformFactory.xhtml (with props)
sis/ip-review/rev/11128/HEADER.html (with props)
sis/ip-review/rev/20874/DefaultMathTransformFactory.xhtml (with props)
sis/ip-review/rev/20874/MathTransformProvider.xhtml (with props)
sis/ip-review/rev/26203/
sis/ip-review/rev/26203/DefaultMathTransformFactory.xhtml (with props)
sis/ip-review/rev/26203/HEADER.html (with props)
Added: sis/ip-review/DefaultMathTransformFactory.xhtml
URL:
http://svn.apache.org/viewvc/sis/ip-review/DefaultMathTransformFactory.xhtml?rev=1657946&view=auto
==============================================================================
--- sis/ip-review/DefaultMathTransformFactory.xhtml (added)
+++ sis/ip-review/DefaultMathTransformFactory.xhtml Fri Feb 6 20:18:02 2015
@@ -0,0 +1,104 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta charset="UTF-8"/>
+ <title>DefaultMathTransformFactory history</title>
+ <style type="text/css" media="all">
+ @import url("./reports.css");
+ </style>
+ </head>
+ <body>
+ <div>
+ <h1>DefaultMathTransformFactory history</h1>
+ <p>Click on the commit message for inspecting the <code>diff</code> and how
the code has been rewritten.</p>
+<p><b>Command line:</b></p>
+<blockquote><code>svn log -r31996:1
http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/operation/DefaultMathTransformFactory.java</code></blockquote>
+<table>
+ <tr>
+ <th>Rev.</th>
+ <th>Date</th>
+ <th>Author</th>
+ <th class="last">Message</th>
+ </tr>
+<tr><td
class="rev">31000</td><td>2008-07-10</td><td>desruisseaux</td><td>Avoid usage
of 2 deprecated constructors from CRSFactory. Their replacement were tricky and
required more sophesticated code in
ReferencingFactoryContainer.toGeodetic3D.</td></tr>
+<tr><td
class="rev">30760</td><td>2008-06-18</td><td>desruisseaux</td><td>Upgrated from
JSR-108 to JSR-275 (GEOT-1266). Some opportunist javadoc fixes and @Override
annotations in the process.</td></tr>
+<tr><td class="rev">30641</td><td>2008-06-12</td><td>acuster</td><td>Copyright
headers: lib/referencing, this time with feeling (and the el in
Toolkit)</td></tr>
+<tr><td
class="rev">30521</td><td>2008-06-05</td><td>acuster</td><td>Copyright: Update
referencing headers</td></tr>
+<tr><td class="rev">30258</td><td>2008-05-08</td><td>acuster</td><td>Reshuffle
the top level repo: drop uDig, move up trunk, tags, and branches.</td></tr>
+<tr><td class="rev">30257</td><td>2008-05-08</td><td>acuster</td><td>Move
trunk/gt/ directory contents up to trunk/ and drop gt</td></tr>
+<tr><td class="rev">29845</td><td>2008-04-08</td><td>desruisseaux</td><td>More
aggressive simplification of MathTransforms during concatenation. It is
probably related to GEOT-1419, but I have not verified. This fix results in
drastic performance improvement for the cases where
DefaultConcatenatedTransform previously failed to see concatenation that could
be simplified to identity transform. Those cases occured more often in 3D or 4D
cases. It may have some benefit in the pure 2D case as well, but probably less
often.</td></tr>
+<tr><td
class="rev">29753</td><td>2008-04-01</td><td>desruisseaux</td><td>Applied
parameterized types as a side-effect of hunting for a
DimensionMismatchException during reprojection.</td></tr>
+<tr><td
class="rev">29416</td><td>2008-02-21</td><td>desruisseaux</td><td>Added a
GeneralEnvelope.validate() method for restricting an envelope to its CRS or CS
domain of validity, wraping around longitude if needed. Relaxed the
transformations between GeographicBoundingBox and Envelope, accepting
GeographicCRS that are not necessarly WGS84.</td></tr>
+<tr><td class="rev">28922</td><td>2008-01-24</td><td>acuster</td><td>Bump the
(at)since version to 2.5 since WKTParser was cut from 2.4</td></tr>
+<tr><td class="rev">28540</td><td>2007-12-29</td><td>acuster</td><td>Hide
buttons which are not yet used</td></tr>
+<tr><td class="rev">27995</td><td>2007-11-22</td><td>desruisseaux</td><td>More
generics type, and moved two methods from ReferencingFactoryContainer to GeoAPI
MathTransformFactory interface. Note that the build fails in the arcsde module
for a reason that seems unrelated to this work.</td></tr>
+<tr><td
class="rev">27923</td><td>2007-11-18</td><td>desruisseaux</td><td>Applying some
more generic types, especially in the factory package. Required slight changes
in the way FactoryRegistry is used, as documented in
http://docs.codehaus.org/display/GEOTOOLS/Fixing+compilation+errors</td></tr>
+<tr><td
class="rev">27575</td><td>2007-10-22</td><td>desruisseaux</td><td>Converted
Java source files from ISO-LATIN-1 encoding to UTF-8 (GEOT-1516).</td></tr>
+<tr><td class="rev">26203</td><td>2007-07-11</td><td
class="unav">chorner</td><td><a
href="rev/26203/DefaultMathTransformFactory.xhtml">added synchronized to
MathTransformFactory.getProvider to control flow into non-thread-safe
FactoryRegistry</a></td></tr>
+<tr><td
class="rev">25972</td><td>2007-06-21</td><td>desruisseaux</td><td>Replaced
usage of deprecated classes/methods by the new ones. A side effect is to
restore the buffering in ThreadedEpsgFactory, which was partially disabled by
class name changes.</td></tr>
+<tr><td class="rev">24495</td><td>2007-02-19</td><td>desruisseaux</td><td>More
work on the command line tool.</td></tr>
+<tr><td
class="rev">24435</td><td>2007-02-16</td><td>desruisseaux</td><td>First draft
of a CRS.main(String[]) method, as a more generic replacement of
DefaultFactory.main(String[]). A bug in AllAuthorityFactory.getAuthorityCodes()
has been resolved in the process.</td></tr>
+<tr><td
class="rev">24427</td><td>2007-02-15</td><td>desruisseaux</td><td>Removed the
Collection<OperationMethod> hack in some MathTransform creators. Replaced
by a getLastUsedMethod() method implemented by a ThreadLocal.</td></tr>
+<tr><td
class="rev">24384</td><td>2007-02-14</td><td>desruisseaux</td><td>GEOT-1160:
First working implementation of
AbstractAuthorityFactory.find(IdentifiedObject). This includes a
package-privated AuthorityFactoryProxy class, together with many fix in the
code base in order to get CRS.equalsIgnoreCase to work in the ProjectedCRS
case.</td></tr>
+<tr><td
class="rev">22452</td><td>2006-10-28</td><td>desruisseaux</td><td>Moved some
methods from CRSUtilities to CRS (GEOT-547).</td></tr>
+<tr><td
class="rev">22327</td><td>2006-10-23</td><td>desruisseaux</td><td>GEOT-982:
regroup 'module', 'plugin', 'ext' and 'unsupported' in a common
directory.</td></tr>
+<tr><td
class="rev">22315</td><td>2006-10-22</td><td>desruisseaux</td><td>Reorganisation
of directory tree structure (GEOT-982) phase 1: moved 'src' to
'src/main/java'.</td></tr>
+<tr><td class="rev">20874</td><td>2006-08-07</td><td
class="unav">jgarnett</td><td><a
href="rev/20874/DefaultMathTransformFactory.xhtml">ip review</a></td></tr>
+<tr><td
class="rev">19755</td><td>2006-05-31</td><td>desruisseaux</td><td>Added
FORCE_LONGITUDE_FIRST_AXIS_ORDER hint (GEOT-858). This work implied a large
amount of work, hunting for infinite recursive method calls in many
places.</td></tr>
+<tr><td
class="rev">19603</td><td>2006-05-19</td><td>desruisseaux</td><td>Upgrated
maven-javadoc-plugin.</td></tr>
+<tr><td
class="rev">17902</td><td>2006-02-07</td><td>desruisseaux</td><td>Javadoc
fixes.</td></tr>
+<tr><td
class="rev">17720</td><td>2006-01-24</td><td>desruisseaux</td><td>Method
signature change in GeneraleEnvelope before 2.2-RC1 release. This is a
compatible change if the user recompile its code.</td></tr>
+<tr><td
class="rev">17672</td><td>2006-01-19</td><td>desruisseaux</td><td>Added @source
tag.</td></tr>
+<tr><td
class="rev">17660</td><td>2006-01-18</td><td>desruisseaux</td><td>Fixed SVN
attributes, including the addition of URL attribute.</td></tr>
+<tr><td
class="rev">17522</td><td>2006-01-11</td><td>desruisseaux</td><td>Added a few
experimental @tutorial javadoc tags.</td></tr>
+<tr><td
class="rev">16983</td><td>2005-11-25</td><td>desruisseaux</td><td>Replaced
references to static fields and methods of CitationImpl.* by
Citations.*</td></tr>
+<tr><td
class="rev">15350</td><td>2005-08-16</td><td>desruisseaux</td><td>Merged the
'split-main' branch to trunk (GEOT-662)</td></tr>
+<tr><td
class="rev">15256</td><td>2005-08-09</td><td>desruisseaux</td><td>Extraction of
referencing module from main</td></tr>
+<tr><td
class="rev">15255</td><td>2005-08-09</td><td>desruisseaux</td><td>Prepare
branch for splitting main</td></tr>
+<tr><td
class="rev">14834</td><td>2005-07-20</td><td>desruisseaux</td><td>Reorganized
I18N resources</td></tr>
+<tr><td
class="rev">14657</td><td>2005-07-01</td><td>desruisseaux</td><td>Ongoing work
for the port of grid coverage operations from 'legacy' to 'main' (GEOT-413):
ported SampleDimensionSelect</td></tr>
+<tr><td
class="rev">14550</td><td>2005-06-16</td><td>desruisseaux</td><td>Removed
deprecated fields and methods</td></tr>
+<tr><td
class="rev">13925</td><td>2005-05-30</td><td>desruisseaux</td><td>Added @since
javadoc tag</td></tr>
+<tr><td
class="rev">13922</td><td>2005-05-29</td><td>desruisseaux</td><td>Renaming of
remainding GeoAPI implementations. Renaming is now finished.</td></tr>
+<tr><td
class="rev">13906</td><td>2005-05-28</td><td>desruisseaux</td><td>Renamed some
'Default' prefix as 'Abstract'</td></tr>
+<tr><td
class="rev">13836</td><td>2005-05-26</td><td>desruisseaux</td><td>Added
'Default' suffix to some CRS implementations: partial work</td></tr>
+<tr><td
class="rev">13752</td><td>2005-05-23</td><td>desruisseaux</td><td>Added the
'Impl' suffix to direct implementations of all metadata interfaces; deprecated
the old implementations (not yet deleted).</td></tr>
+<tr><td
class="rev">11363</td><td>2005-02-12</td><td>desruisseaux</td><td>Milestone in
EPSG factory port: Datum now fully supported</td></tr>
+<tr><td
class="rev">11212</td><td>2005-02-09</td><td>desruisseaux</td><td>Initial work
on Z-values handling</td></tr>
+<tr><td
class="rev">11144</td><td>2005-02-07</td><td>desruisseaux</td><td>Fixed
GEOT-400 (create appropriate instance of Operation subclasses)</td></tr>
+<tr><td class="rev">11140</td><td>2005-02-06</td><td>desruisseaux</td><td>Work
in progres for GEOT-400 (CoordinateOperationFactory should create appropriate
subclass of CoordinateOperation)</td></tr>
+<tr><td
class="rev">11136</td><td>2005-02-05</td><td>desruisseaux</td><td>Refactored
ClassFinder static methods as ordinary methods in a ServiceRegistry subclass:
FactoryRegistry</td></tr>
+<tr><td class="rev">11128</td><td>2005-02-04</td><td
class="unav">rgould</td><td><a
href="rev/11128/DefaultMathTransformFactory.xhtml">Split the class loading out
of FactoryFinder and MathTransformFactory into one class,
ClassFinder.</a></td></tr>
+<tr><td class="rev">11100</td><td>2005-02-04</td><td>desruisseaux</td><td>More
tests and bug fixes in CRS</td></tr>
+<tr><td
class="rev">11093</td><td>2005-02-03</td><td>desruisseaux</td><td>Roolback to
createParameterizedTransform without classification parameter</td></tr>
+<tr><td
class="rev">11074</td><td>2005-02-03</td><td>desruisseaux</td><td>Revisited
CRSFactory.createProjectedCRS(...) API</td></tr>
+<tr><td class="rev">11008</td><td>2005-02-02</td><td>desruisseaux</td><td>Ask
OperationMethod to be specified explicitly</td></tr>
+<tr><td
class="rev">11001</td><td>2005-02-02</td><td>desruisseaux</td><td>Fixed wrong
encoding in main/src</td></tr>
+<tr><td class="rev">10944</td><td>2005-02-01</td><td>desruisseaux</td><td>Bug
fix in ProjectedCRS: axis swapping and units conversion were not correctly
handled</td></tr>
+<tr><td class="rev">10796</td><td>2005-01-28</td><td
class="unav">dzwiers</td><td><a
href="rev/10796/DefaultMathTransformFactory.xhtml">imports cleaned</a></td></tr>
+<tr><td
class="rev">10228</td><td>2005-01-04</td><td>desruisseaux</td><td>Renamed
'getDimSource' as 'getSourceDimension'</td></tr>
+<tr><td class="rev">9346</td><td>2004-11-30</td><td>desruisseaux</td><td>First
working version of CoordinateOperationFactory</td></tr>
+<tr><td class="rev">9266</td><td>2004-11-23</td><td>desruisseaux</td><td>Last
WKT tuning; parsing and formatting should now be functional</td></tr>
+<tr><td class="rev">9243</td><td>2004-11-22</td><td>desruisseaux</td><td>Tuned
WKT parsing and formatting</td></tr>
+<tr><td class="rev">9203</td><td>2004-11-19</td><td>desruisseaux</td><td>WKT
debugging / cleaning</td></tr>
+<tr><td
class="rev">9132</td><td>2004-11-16</td><td>desruisseaux</td><td>Factored out
WKT symbols in a Symbols class</td></tr>
+<tr><td
class="rev">9118</td><td>2004-11-14</td><td>desruisseaux</td><td>Mercator
projection port completed (but untested) as a use case for other projection
ports</td></tr>
+<tr><td class="rev">9117</td><td>2004-11-13</td><td>desruisseaux</td><td>Added
the capability to list all available MathTransforms</td></tr>
+<tr><td class="rev">9103</td><td>2004-11-12</td><td>desruisseaux</td><td>Fixed
and enabled test cases</td></tr>
+<tr><td
class="rev">9092</td><td>2004-11-11</td><td>desruisseaux</td><td>Slight
modification in the protected API for handling parameters</td></tr>
+<tr><td
class="rev">8875</td><td>2004-10-27</td><td>desruisseaux</td><td>Miscellaneous
cleaning</td></tr>
+<tr><td
class="rev">8833</td><td>2004-10-25</td><td>desruisseaux</td><td>Changed
MathTransform.getDefaultParameters() return type from GeneralParameterValue[]
to ParameterValueGroup</td></tr>
+<tr><td
class="rev">8796</td><td>2004-10-22</td><td>desruisseaux</td><td>Cleaning
referencing's operation basic package</td></tr>
+<tr><td class="rev">8518</td><td>2004-10-11</td><td>desruisseaux</td><td>Apply
changes voted in OGC meeting at Southampton: use of Identifier and
GenericName</td></tr>
+<tr><td class="rev">7857</td><td>2004-09-09</td><td
class="unav">jgarnett</td><td><a
href="rev/07857/DefaultMathTransformFactory.xhtml">name to getName().toString(
null )</a></td></tr>
+<tr><td class="rev">7848</td><td>2004-09-08</td><td
class="unav">jgarnett</td><td><a
href="rev/07857/DefaultMathTransformFactory.xhtml">round 2 of sync with
geoapi</a></td></tr>
+<tr><td class="rev">7845</td><td>2004-09-08</td><td
class="unav">jgarnett</td><td><a
href="rev/07857/DefaultMathTransformFactory.xhtml">First round of resync with
geoapi</a></td></tr>
+<tr><td
class="rev">6888</td><td>2004-07-14</td><td>desruisseaux</td><td>Update for
GeoAPI changes (Info --> IdentifiedObject)</td></tr>
+<tr><td class="rev">6536</td><td>2004-06-25</td><td>desruisseaux</td><td>Added
SingleCRS class / Renamed ObliqueCartesianCS as AffineCS / Moved Position as
super-interface for DirectPosition and Point</td></tr>
+<tr><td class="rev">6476</td><td>2004-06-19</td><td
class="unav">rschulz</td><td><a
href="rev/06476/DefaultMathTransformFactory.xhtml">implemented
createFromWKT()</a></td></tr>
+<tr><td class="rev">6440</td><td>2004-06-13</td><td>desruisseaux</td><td>Added
GeocentricTransform / Added registry service in TransformFactory / Refactored
JUnit tests</td></tr>
+<tr><td
class="rev">6387</td><td>2004-06-12</td><td>desruisseaux</td><td>Partial
implementation of MathTransformFactory and WKT parser</td></tr>
+</table>
+ </div>
+ </body>
+</html>
Propchange: sis/ip-review/DefaultMathTransformFactory.xhtml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: sis/ip-review/DefaultMathTransformFactory.xhtml
------------------------------------------------------------------------------
svn:mime-type = text/html
Added: sis/ip-review/MathTransformProvider.xhtml
URL:
http://svn.apache.org/viewvc/sis/ip-review/MathTransformProvider.xhtml?rev=1657946&view=auto
==============================================================================
--- sis/ip-review/MathTransformProvider.xhtml (added)
+++ sis/ip-review/MathTransformProvider.xhtml Fri Feb 6 20:18:02 2015
@@ -0,0 +1,98 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta charset="UTF-8"/>
+ <title>MathTransformProvider history</title>
+ <style type="text/css" media="all">
+ @import url("./reports.css");
+ </style>
+ </head>
+ <body>
+ <div>
+ <h1>MathTransformProvider history</h1>
+ <p>Click on the commit message for inspecting the <code>diff</code> and how
the code has been rewritten.</p>
+<p><b>Command line:</b></p>
+<blockquote><code>svn log -r31996:1
http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/operation/MathTransformProvider.java</code></blockquote>
+<table>
+ <tr>
+ <th>Rev.</th>
+ <th>Date</th>
+ <th>Author</th>
+ <th class="last">Message</th>
+ </tr>
+<tr><td
class="rev">31000</td><td>2008-07-10</td><td>desruisseaux</td><td>Avoid usage
of 2 deprecated constructors from CRSFactory. Their replacement were tricky and
required more sophesticated code in
ReferencingFactoryContainer.toGeodetic3D.</td></tr>
+<tr><td
class="rev">30760</td><td>2008-06-18</td><td>desruisseaux</td><td>Upgrated from
JSR-108 to JSR-275 (GEOT-1266). Some opportunist javadoc fixes and @Override
annotations in the process.</td></tr>
+<tr><td class="rev">30641</td><td>2008-06-12</td><td>acuster</td><td>Copyright
headers: lib/referencing, this time with feeling (and the el in
Toolkit)</td></tr>
+<tr><td
class="rev">30521</td><td>2008-06-05</td><td>acuster</td><td>Copyright: Update
referencing headers</td></tr>
+<tr><td
class="rev">30313</td><td>2008-05-16</td><td>desruisseaux</td><td>Changed 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.</td></tr>
+<tr><td class="rev">30258</td><td>2008-05-08</td><td>acuster</td><td>Reshuffle
the top level repo: drop uDig, move up trunk, tags, and branches.</td></tr>
+<tr><td class="rev">30257</td><td>2008-05-08</td><td>acuster</td><td>Move
trunk/gt/ directory contents up to trunk/ and drop gt</td></tr>
+<tr><td class="rev">29852</td><td>2008-04-08</td><td>desruisseaux</td><td>The
previous commit was about simplifying (in the sense of simplier MathTransform
result, not simplier code) ConcatenatedTransform. This commit is about
simplifying the ConcatenatedOperation which contains that
ConcatenatedTransform. Related to GEOT-1419.</td></tr>
+<tr><td
class="rev">29753</td><td>2008-04-01</td><td>desruisseaux</td><td>Applied
parameterized types as a side-effect of hunting for a
DimensionMismatchException during reprojection.</td></tr>
+<tr><td class="rev">28922</td><td>2008-01-24</td><td>acuster</td><td>Bump the
(at)since version to 2.5 since WKTParser was cut from 2.4</td></tr>
+<tr><td class="rev">28801</td><td>2008-01-17</td><td>desruisseaux</td><td>Made
CoverageStack more tolerant to heterogenous CRS (unfinished work). Some Java 5
type safety added.</td></tr>
+<tr><td class="rev">28540</td><td>2007-12-29</td><td>acuster</td><td>Hide
buttons which are not yet used</td></tr>
+<tr><td class="rev">27995</td><td>2007-11-22</td><td>desruisseaux</td><td>More
generics type, and moved two methods from ReferencingFactoryContainer to GeoAPI
MathTransformFactory interface. Note that the build fails in the arcsde module
for a reason that seems unrelated to this work.</td></tr>
+<tr><td
class="rev">27575</td><td>2007-10-22</td><td>desruisseaux</td><td>Converted
Java source files from ISO-LATIN-1 encoding to UTF-8 (GEOT-1516).</td></tr>
+<tr><td
class="rev">25262</td><td>2007-04-23</td><td>desruisseaux</td><td>Finished
review of metadata and factory hints change. Fixed a potential glitch in
parameter names handling (some code were disabled in AbstractIdentifiedObject
apparently in order to avoid a ClassCastException caused by the spit of
org.opengis.metadata.Identifier in two interfaces, Identifier and
ReferenceIdentifier. Fixed the exception and reenabled the code). Not sure yet
what the consequence was. It may help for the stereographic projection issue,
but need to check.</td></tr>
+<tr><td
class="rev">24607</td><td>2007-02-26</td><td>desruisseaux</td><td>Avoid
UnformattableObjectException for 'LOCAL_CS' and 'VERT_CS' WKT elements. Try to
provides some hints about the cause for the other cases of unformattable
WKT.</td></tr>
+<tr><td
class="rev">24384</td><td>2007-02-14</td><td>desruisseaux</td><td>GEOT-1160:
First working implementation of
AbstractAuthorityFactory.find(IdentifiedObject). This includes a
package-privated AuthorityFactoryProxy class, together with many fix in the
code base in order to get CRS.equalsIgnoreCase to work in the ProjectedCRS
case.</td></tr>
+<tr><td
class="rev">22327</td><td>2006-10-23</td><td>desruisseaux</td><td>GEOT-982:
regroup 'module', 'plugin', 'ext' and 'unsupported' in a common
directory.</td></tr>
+<tr><td
class="rev">22315</td><td>2006-10-22</td><td>desruisseaux</td><td>Reorganisation
of directory tree structure (GEOT-982) phase 1: moved 'src' to
'src/main/java'.</td></tr>
+<tr><td class="rev">20874</td><td>2006-08-07</td><td
class="unav">jgarnett</td><td><a
href="rev/20874/MathTransformProvider.xhtml">ip review</a></td></tr>
+<tr><td
class="rev">17672</td><td>2006-01-19</td><td>desruisseaux</td><td>Added @source
tag.</td></tr>
+<tr><td
class="rev">17660</td><td>2006-01-18</td><td>desruisseaux</td><td>Fixed SVN
attributes, including the addition of URL attribute.</td></tr>
+<tr><td
class="rev">17522</td><td>2006-01-11</td><td>desruisseaux</td><td>Added a few
experimental @tutorial javadoc tags.</td></tr>
+<tr><td
class="rev">16983</td><td>2005-11-25</td><td>desruisseaux</td><td>Replaced
references to static fields and methods of CitationImpl.* by
Citations.*</td></tr>
+<tr><td
class="rev">16205</td><td>2005-10-11</td><td>desruisseaux</td><td>Cleaned
javadoc warning. More work done on Maven 2 configuration (GEOT-691)</td></tr>
+<tr><td
class="rev">15350</td><td>2005-08-16</td><td>desruisseaux</td><td>Merged the
'split-main' branch to trunk (GEOT-662)</td></tr>
+<tr><td
class="rev">15256</td><td>2005-08-09</td><td>desruisseaux</td><td>Extraction of
referencing module from main</td></tr>
+<tr><td
class="rev">15255</td><td>2005-08-09</td><td>desruisseaux</td><td>Prepare
branch for splitting main</td></tr>
+<tr><td
class="rev">14834</td><td>2005-07-20</td><td>desruisseaux</td><td>Reorganized
I18N resources</td></tr>
+<tr><td
class="rev">14657</td><td>2005-07-01</td><td>desruisseaux</td><td>Ongoing work
for the port of grid coverage operations from 'legacy' to 'main' (GEOT-413):
ported SampleDimensionSelect</td></tr>
+<tr><td class="rev">14608</td><td>2005-06-25</td><td>desruisseaux</td><td>EPSG
authority factory now uses path informations for ConcatenatedOperation object
creations / Added PostgreSQL plugin (mostly as a demo) / Javadoc fixes</td></tr>
+<tr><td
class="rev">14593</td><td>2005-06-23</td><td>desruisseaux</td><td>First JUnit
test for 'createCoordinateOperation' (GEOT-589)</td></tr>
+<tr><td
class="rev">14570</td><td>2005-06-21</td><td>desruisseaux</td><td>Addition of
geocentric affine transform as of GEOT-591</td></tr>
+<tr><td
class="rev">14564</td><td>2005-06-20</td><td>desruisseaux</td><td>Initial
implementation of GEOT-589. Partially tested, more tests to come</td></tr>
+<tr><td
class="rev">14235</td><td>2005-06-10</td><td>desruisseaux</td><td>Replaced
_PROPERTY suffix by _KEY as of GEOT-577</td></tr>
+<tr><td
class="rev">14205</td><td>2005-06-09</td><td>desruisseaux</td><td>Updated to
GeoAPI 2.0 final release</td></tr>
+<tr><td
class="rev">13925</td><td>2005-05-30</td><td>desruisseaux</td><td>Added @since
javadoc tag</td></tr>
+<tr><td
class="rev">13922</td><td>2005-05-29</td><td>desruisseaux</td><td>Renaming of
remainding GeoAPI implementations. Renaming is now finished.</td></tr>
+<tr><td
class="rev">13778</td><td>2005-05-25</td><td>desruisseaux</td><td>Initial draft
of EPSG-HSQL plugin (database not yet included)</td></tr>
+<tr><td
class="rev">13773</td><td>2005-05-24</td><td>desruisseaux</td><td>Removed old
metadata implementations (they are now renamed with 'Impl' suffix) / Use OGC
citation instead of OPEN_GIS</td></tr>
+<tr><td
class="rev">13752</td><td>2005-05-23</td><td>desruisseaux</td><td>Added the
'Impl' suffix to direct implementations of all metadata interfaces; deprecated
the old implementations (not yet deleted).</td></tr>
+<tr><td
class="rev">13376</td><td>2005-05-05</td><td>desruisseaux</td><td>First working
version of WarpTransform2D</td></tr>
+<tr><td
class="rev">12020</td><td>2005-03-11</td><td>desruisseaux</td><td>First working
version of Resampler2D port (side effect: GEOT-390 fix)</td></tr>
+<tr><td class="rev">11367</td><td>2005-02-13</td><td>desruisseaux</td><td>Port
of EPSG authority factory now completed. Preliminary tests seem okay. Not yet
registered in FactoryFinder.</td></tr>
+<tr><td
class="rev">11366</td><td>2005-02-12</td><td>desruisseaux</td><td>Almost fully
functional EPSG factory (remaining bug in ProjectedCRS parameter
names)</td></tr>
+<tr><td
class="rev">11144</td><td>2005-02-07</td><td>desruisseaux</td><td>Fixed
GEOT-400 (create appropriate instance of Operation subclasses)</td></tr>
+<tr><td class="rev">11100</td><td>2005-02-04</td><td>desruisseaux</td><td>More
tests and bug fixes in CRS</td></tr>
+<tr><td
class="rev">11074</td><td>2005-02-03</td><td>desruisseaux</td><td>Revisited
CRSFactory.createProjectedCRS(...) API</td></tr>
+<tr><td
class="rev">11001</td><td>2005-02-02</td><td>desruisseaux</td><td>Fixed wrong
encoding in main/src</td></tr>
+<tr><td class="rev">10796</td><td>2005-01-28</td><td
class="unav">dzwiers</td><td><a
href="rev/10796/MathTransformProvider.xhtml">imports cleaned</a></td></tr>
+<tr><td
class="rev">9118</td><td>2004-11-14</td><td>desruisseaux</td><td>Mercator
projection port completed (but untested) as a use case for other projection
ports</td></tr>
+<tr><td class="rev">9117</td><td>2004-11-13</td><td>desruisseaux</td><td>Added
the capability to list all available MathTransforms</td></tr>
+<tr><td class="rev">9104</td><td>2004-11-12</td><td>desruisseaux</td><td>First
prototype of a MapProjection implementation</td></tr>
+<tr><td class="rev">9103</td><td>2004-11-12</td><td>desruisseaux</td><td>Fixed
and enabled test cases</td></tr>
+<tr><td
class="rev">9092</td><td>2004-11-11</td><td>desruisseaux</td><td>Slight
modification in the protected API for handling parameters</td></tr>
+<tr><td
class="rev">8841</td><td>2004-10-26</td><td>desruisseaux</td><td>org.geotools.referencing.Identifier
implementation implements GenericName as well, for use as alias</td></tr>
+<tr><td
class="rev">8796</td><td>2004-10-22</td><td>desruisseaux</td><td>Cleaning
referencing's operation basic package</td></tr>
+<tr><td class="rev">8729</td><td>2004-10-21</td><td>desruisseaux</td><td>Avoid
use of deprecated method 'getParameter'</td></tr>
+<tr><td class="rev">8518</td><td>2004-10-11</td><td>desruisseaux</td><td>Apply
changes voted in OGC meeting at Southampton: use of Identifier and
GenericName</td></tr>
+<tr><td class="rev">7857</td><td>2004-09-09</td><td
class="unav">jgarnett</td><td><a
href="rev/07857/MathTransformProvider.xhtml">name to getName().toString( null
)</a></td></tr>
+<tr><td class="rev">7845</td><td>2004-09-08</td><td
class="unav">jgarnett</td><td><a
href="rev/07857/MathTransformProvider.xhtml">First round of resync with
geoapi</a></td></tr>
+<tr><td class="rev">7707</td><td>2004-08-31</td><td
class="unav">jgarnett</td><td><a
href="rev/07857/MathTransformProvider.xhtml">Change over to parameter
descriptor.</a></td></tr>
+<tr><td class="rev">7307</td><td>2004-07-29</td><td
class="unav">rschulz</td><td><a
href="rev/07857/MathTransformProvider.xhtml">added stringValue() convenience
method</a></td></tr>
+<tr><td class="rev">7131</td><td>2004-07-21</td><td>desruisseaux</td><td>Added
FactoryException declaration</td></tr>
+<tr><td
class="rev">6888</td><td>2004-07-14</td><td>desruisseaux</td><td>Update for
GeoAPI changes (Info --> IdentifiedObject)</td></tr>
+<tr><td class="rev">6721</td><td>2004-07-05</td><td>desruisseaux</td><td>Fixed
unit test failure</td></tr>
+<tr><td
class="rev">6708</td><td>2004-07-04</td><td>desruisseaux</td><td>Initial draft
of MapProjection.Provider</td></tr>
+<tr><td class="rev">6704</td><td>2004-07-03</td><td>desruisseaux</td><td>Parse
MathTransform arguments using parametes available in providers</td></tr>
+<tr><td
class="rev">6575</td><td>2004-06-27</td><td>desruisseaux</td><td>MatrixParameters
now uses ParameterRealValue / In providers, moved parameters in a static
field.</td></tr>
+<tr><td class="rev">6440</td><td>2004-06-13</td><td>desruisseaux</td><td>Added
GeocentricTransform / Added registry service in TransformFactory / Refactored
JUnit tests</td></tr>
+<tr><td
class="rev">6383</td><td>2004-06-11</td><td>desruisseaux</td><td>Search for
parameters and operation methods by identifiers</td></tr>
+<tr><td class="rev">6375</td><td>2004-06-10</td><td>desruisseaux</td><td>Work
on parameters handling</td></tr>
+</table>
+ </div>
+ </body>
+</html>
Propchange: sis/ip-review/MathTransformProvider.xhtml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: sis/ip-review/MathTransformProvider.xhtml
------------------------------------------------------------------------------
svn:mime-type = text/html
Added: sis/ip-review/rev/06476/DefaultMathTransformFactory.xhtml
URL:
http://svn.apache.org/viewvc/sis/ip-review/rev/06476/DefaultMathTransformFactory.xhtml?rev=1657946&view=auto
==============================================================================
--- sis/ip-review/rev/06476/DefaultMathTransformFactory.xhtml (added)
+++ sis/ip-review/rev/06476/DefaultMathTransformFactory.xhtml Fri Feb 6
20:18:02 2015
@@ -0,0 +1,71 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta charset="UTF-8"/>
+ <title>DefaultMathTransformFactory changes for revisions 6475:6476</title>
+ <style type="text/css" media="all">
+ @import url("../../reports.css");
+ </style>
+ </head>
+ <body>
+ <div>
+ <h1>DefaultMathTransformFactory changes for revisions 6475:6476</h1>
+<p>This commit is only uncommenting a block of code written by Martin, with a
change in a class name, method name and a cast.</p>
+<p><b>Command line:</b></p>
+<blockquote><code>svn diff --extensions "--unified --ignore-space-change
--ignore-all-space --ignore-eol-style" -r6475:6476
http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/operation/DefaultMathTransformFactory.java</code></blockquote>
+<table class="changes">
+<tr><th>Revision 6475</th><th>Revision 6476</th></tr>
+<tr><td><pre>import
org.geotools.referencing.operation.transform.ProjectiveTransform;
+import org.geotools.referencing.operation.transform.PassThroughTransform;
+import org.geotools.referencing.operation.transform.ConcatenatedTransform;
+
+// Resources
+import org.geotools.util.WeakHashSet;</pre></td>
+<td><pre>import
org.geotools.referencing.operation.transform.ProjectiveTransform;
+import org.geotools.referencing.operation.transform.PassThroughTransform;
+import org.geotools.referencing.operation.transform.ConcatenatedTransform;
+<span class="add">import
org.geotools.referencing.wkt.MathTransformParser;</span>
+
+// Resources
+import org.geotools.util.WeakHashSet;</pre></td></tr>
+<tr><td><pre> // Not a big deal if we are not synchronized. If this
method is invoked in
+ // same time by two different threads, we may have two WKTParser
objects
+ // for a short time. It doesn't hurt...
+<span class="del">//TODO parser = new WKTParser(Locale.US,
this);</span>
+ }
+<span class="del"> throw new FactoryException("Not yet
implemented.");</span>
+<span class="del">// try {</span>
+<span class="del">// return parser.parseMathTransform(text);</span>
+<span class="del">// } catch (ParseException exception) {</span>
+<span class="del">// final Throwable cause =
exception.getCause();</span>
+<span class="del">// if (cause instanceof FactoryException) {</span>
+<span class="del">// throw (FactoryException) cause;</span>
+<span class="del">// }</span>
+<span class="del">// throw new
FactoryException(exception.getLocalizedMessage(), exception);</span>
+<span class="del">// }</span>
+ }
+
+ /**
+ * Scans for provider plug-ins on the application class path. This method
is needed because the</pre></td>
+<td><pre> // Not a big deal if we are not synchronized. If this method
is invoked in
+ // same time by two different threads, we may have two WKTParser
objects
+ // for a short time. It doesn't hurt...
+<span class="add"> parser = new MathTransformParser(Locale.US);</span>
+ }
+<span class="add"> try {</span>
+<span class="add"> return (MathTransform)
parser.parseObject(text);</span>
+<span class="add"> } catch (ParseException exception) {</span>
+<span class="add"> final Throwable cause = exception.getCause();</span>
+<span class="add"> if (cause instanceof FactoryException) {</span>
+<span class="add"> throw (FactoryException) cause;</span>
+}
+<span class="add"> throw new
FactoryException(exception.getLocalizedMessage(), exception);</span>
+<span class="add"> }</span>
+<span class="add">}</span>
+
+/**
+ * Scans for provider plug-ins on the application class path. This method is
needed because the</pre></td></tr>
+</table>
+ </div>
+ </body>
+</html>
Propchange: sis/ip-review/rev/06476/DefaultMathTransformFactory.xhtml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: sis/ip-review/rev/06476/DefaultMathTransformFactory.xhtml
------------------------------------------------------------------------------
svn:mime-type = text/html
Added: sis/ip-review/rev/06476/HEADER.html
URL:
http://svn.apache.org/viewvc/sis/ip-review/rev/06476/HEADER.html?rev=1657946&view=auto
==============================================================================
--- sis/ip-review/rev/06476/HEADER.html (added)
+++ sis/ip-review/rev/06476/HEADER.html Fri Feb 6 20:18:02 2015
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta charset="UTF-8"/>
+ <title>Revision 6476</title>
+ </head>
+ <body>
+ <div>
+ <h1>Revision 6476</h1>
+<table>
+ <tr><td><b>Author:</b></td><td>rschulz</td></tr>
+ <tr><td><b>Date:</b></td><td>2004-06-19</td></tr>
+ <tr><td><b>Message:</b></td><td>implemented createFromWKT()</td></tr>
+</table>
+ </div>
+ </body>
+</html>
Propchange: sis/ip-review/rev/06476/HEADER.html
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: sis/ip-review/rev/06476/HEADER.html
------------------------------------------------------------------------------
svn:mime-type = text/html
Added: sis/ip-review/rev/07857/DefaultMathTransformFactory.xhtml
URL:
http://svn.apache.org/viewvc/sis/ip-review/rev/07857/DefaultMathTransformFactory.xhtml?rev=1657946&view=auto
==============================================================================
--- sis/ip-review/rev/07857/DefaultMathTransformFactory.xhtml (added)
+++ sis/ip-review/rev/07857/DefaultMathTransformFactory.xhtml Fri Feb 6
20:18:02 2015
@@ -0,0 +1,76 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta charset="UTF-8"/>
+ <title>DefaultMathTransformFactory changes for revisions 7844:7857</title>
+ <style type="text/css" media="all">
+ @import url("../../reports.css");
+ </style>
+ </head>
+ <body>
+ <div>
+ <h1>DefaultMathTransformFactory changes for revisions 7844:7857</h1>
+<p>Most of the changes are only reflecting changes in GeoAPI interface names.
+ Furthermore this method has been rewritten since the return type is
different in current GeoAPI interface.</p>
+<p><b>Command line:</b></p>
+<blockquote><code>svn diff --extensions "--unified --ignore-space-change
--ignore-all-space --ignore-eol-style" -r7844:7857
http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/operation/DefaultMathTransformFactory.java</code></blockquote>
+<table class="changes">
+<tr><th>Revision 7844</th><th>Revision 7857</th></tr>
+<tr><td><pre>import org.opengis.referencing.FactoryException;
+import org.opengis.referencing.operation.Matrix;
+import org.opengis.referencing.operation.MathTransform;
+<span class="del">import
org.opengis.referencing.operation.MathTransform2D;</span>
+import org.opengis.referencing.NoSuchIdentifierException;
+<span class="del">import
org.opengis.parameter.GeneralOperationParameter;</span>
+import org.opengis.parameter.GeneralParameterValue;
+
+// Geotools dependencies
+import org.geotools.referencing.Identifier; // For javadoc
+import org.geotools.referencing.wkt.AbstractParser;
+<span class="del">import
org.geotools.referencing.operation.GeneralMatrix;</span>
+import org.geotools.referencing.operation.transform.ProjectiveTransform;
+import org.geotools.referencing.operation.transform.PassThroughTransform;
+import
org.geotools.referencing.operation.transform.ConcatenatedTransform;</pre></td>
+<td><pre>import org.opengis.referencing.FactoryException;
+import org.opengis.referencing.operation.Matrix;
+import org.opengis.referencing.operation.MathTransform;
+import org.opengis.referencing.NoSuchIdentifierException;
+import org.opengis.parameter.GeneralParameterValue;
+<span class="add">import org.opengis.parameter.ParameterDescriptorGroup;</span>
+<span class="add">import org.opengis.parameter.ParameterValueGroup;</span>
+
+// Geotools dependencies
+<span class="add">import org.geotools.parameter.Parameters;</span>
+import org.geotools.referencing.Identifier; // For javadoc
+import org.geotools.referencing.wkt.AbstractParser;
+import org.geotools.referencing.operation.transform.ProjectiveTransform;
+import org.geotools.referencing.operation.transform.PassThroughTransform;
+import
org.geotools.referencing.operation.transform.ConcatenatedTransform;</pre></td></tr>
+<tr><td><pre>public GeneralParameterValue[] getDefaultParameters(final String
identifier)
+ throws NoSuchIdentifierException
+{
+<span class="del"> final GeneralOperationParameter[] parameters =
getProvider(identifier).getParameters();</span>
+<span class="del"> final GeneralParameterValue[] values = new
GeneralParameterValue[parameters.length];</span>
+<span class="del"> for (int i=0; i<values.length; i++) {</span>
+<span class="del"> values[i] = parameters[i].createValue();</span>
+ }
+<span class="del"> return values;</span>
+<span class="del">}</span>
+
+/**
+ * Creates a transform from an {@linkplain
org.geotools.referencing.operation.OperationMethod</pre></td>
+<td><pre>public GeneralParameterValue[] getDefaultParameters(final String
identifier)
+ throws NoSuchIdentifierException
+{
+<span class="add"> ParameterDescriptorGroup type =
getProvider(identifier).getParameters();</span>
+<span class="add"> ParameterValueGroup group = (ParameterValueGroup)
type.createValue();</span>
+<span class="add"></span>
+<span class="add"> return Parameters.array( group );</span>
+ }
+
+/**
+ * Creates a transform from an {@linkplain
org.geotools.referencing.operation.OperationMethod</pre></td></tr>
+</table>
+ </div>
+ </body>
+</html>
Propchange: sis/ip-review/rev/07857/DefaultMathTransformFactory.xhtml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: sis/ip-review/rev/07857/DefaultMathTransformFactory.xhtml
------------------------------------------------------------------------------
svn:mime-type = text/html
Added: sis/ip-review/rev/07857/MathTransformProvider.xhtml
URL:
http://svn.apache.org/viewvc/sis/ip-review/rev/07857/MathTransformProvider.xhtml?rev=1657946&view=auto
==============================================================================
--- sis/ip-review/rev/07857/MathTransformProvider.xhtml (added)
+++ sis/ip-review/rev/07857/MathTransformProvider.xhtml Fri Feb 6 20:18:02 2015
@@ -0,0 +1,416 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta charset="UTF-8"/>
+ <title>MathTransformProvider changes for revisions 7306:7857</title>
+ <style type="text/css" media="all">
+ @import url("../../reports.css");
+ </style>
+ </head>
+ <body>
+ <div>
+ <h1>MathTransformProvider changes for revisions 7306:7857</h1>
+<p>Those changes do not apply anymore to Apache SIS, since this implementation
has been replaced by a functional interface
+ with only the <code>createMathTransform(â¦)</code> method.</p>
+<p><b>Command line:</b></p>
+<blockquote><code>svn diff --extensions "--unified --ignore-space-change
--ignore-all-space --ignore-eol-style" -r7306:7857
http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/operation/MathTransformProvider.java</code></blockquote>
+<table class="changes">
+<tr><th>Revision 7306</th><th>Revision 7857</th></tr>
+<tr><td><pre>package org.geotools.referencing.operation;
+
+// J2SE dependencies
+<span class="del">import java.util.Map;</span>
+import java.util.HashMap;
+<span class="del">import java.util.Collections;</span>
+import java.util.Locale;
+
+<span class="del">// OpenGIS dependencies</span>
+<span class="del">import org.opengis.parameter.ParameterValue;</span>
+<span class="del">import org.opengis.parameter.OperationParameter;</span>
+<span class="del">import org.opengis.parameter.ParameterValueGroup;</span>
+import org.opengis.parameter.GeneralParameterValue;
+<span class="del">import org.opengis.parameter.OperationParameterGroup;</span>
+<span class="del">import
org.opengis.parameter.GeneralOperationParameter;</span>
+<span class="del">import
org.opengis.parameter.ParameterNotFoundException;</span>
+<span class="del">import
org.opengis.parameter.ParameterNotFoundException;</span>
+import org.opengis.parameter.InvalidParameterNameException;
+import org.opengis.parameter.InvalidParameterValueException;
+<span class="del">import org.opengis.metadata.Identifier;</span>
+import org.opengis.referencing.IdentifiedObject;
+<span class="del">import org.opengis.referencing.FactoryException;</span>
+import org.opengis.referencing.operation.MathTransform;
+<span class="del">import
org.opengis.spatialschema.geometry.MismatchedDimensionException;</span>
+
+<span class="del">// Geotools dependencies</span>
+<span class="del">import org.geotools.resources.cts.Resources;</span>
+<span class="del">import org.geotools.resources.cts.ResourceKeys;</span>
+
+<span class="del"></span>
+/**
+ * An {@linkplain OperationMethod operation method} capable to creates a
{@linkplain MathTransform
+ * math transform} from set of {@linkplain GeneralParameterValue parameter
values}.</pre></td>
+<td><pre>package org.geotools.referencing.operation;
+
+// J2SE dependencies
+import java.util.HashMap;
+import java.util.Locale;
+<span class="add">import java.util.Map;</span>
+
+<span class="add">import org.geotools.parameter.Parameters;</span>
+<span class="add">import org.geotools.resources.cts.ResourceKeys;</span>
+<span class="add">import org.geotools.resources.cts.Resources;</span>
+<span class="add">import org.opengis.metadata.Identifier;</span>
+<span class="add">import
org.opengis.parameter.GeneralParameterDescriptor;</span>
+import org.opengis.parameter.GeneralParameterValue;
+import org.opengis.parameter.InvalidParameterNameException;
+import org.opengis.parameter.InvalidParameterValueException;
+<span class="add">import org.opengis.parameter.ParameterDescriptor;</span>
+<span class="add">import org.opengis.parameter.ParameterDescriptorGroup;</span>
+<span class="add">import
org.opengis.parameter.ParameterNotFoundException;</span>
+<span class="add">import org.opengis.parameter.ParameterValue;</span>
+<span class="add">import org.opengis.parameter.ParameterValueGroup;</span>
+<span class="add">import org.opengis.referencing.FactoryException;</span>
+import org.opengis.referencing.IdentifiedObject;
+import org.opengis.referencing.operation.MathTransform;
+
+
+/**
+ * An {@linkplain OperationMethod operation method} capable to creates a
{@linkplain MathTransform
+ * math transform} from set of {@linkplain GeneralParameterValue parameter
values}.</pre></td></tr>
+<tr><td><pre>private static final long serialVersionUID = 7530475536803158473L;
+
+/**
+<span class="del"> * The {@linkplain #getParameters parameters} represented as
a group of descriptors. This</span>
+<span class="del"> * convenience field make it easier to {@linkplain
OperationParameterGroup#getParameter(String)</span>
+<span class="del"> * search for named parameters}.</span>
+<span class="del"> */</span>
+<span class="del">protected final OperationParameterGroup parameters;</span>
+<span class="del"></span>
+<span class="del">/**</span>
+ * Constructs a math transform provider from a set of parameters. The provider
+ * {@linkplain #getIdentifiers identifiers} will be the same than the parameter
+ * ones.</pre></td>
+<td><pre>private static final long serialVersionUID = 7530475536803158473L;
+
+/**
+ * Constructs a math transform provider from a set of parameters. The provider
+ * {@linkplain #getIdentifiers identifiers} will be the same than the parameter
+ * ones.</pre></td></tr>
+<tr><td><pre> */
+public MathTransformProvider(final int sourceDimensions,
+ final int targetDimensions,
+<span class="del"> final OperationParameterGroup
parameters)</span>
+{
+ this(toMap(parameters, null), sourceDimensions, targetDimensions,
parameters);
+}</pre></td>
+<td><pre> */
+public MathTransformProvider(final int sourceDimensions,
+ final int targetDimensions,
+<span class="add"> final ParameterDescriptorGroup
parameters)</span>
+{
+ this(toMap(parameters, null), sourceDimensions, targetDimensions,
parameters);
+}</pre></td></tr>
+<tr><td><pre>/**
+ * Constructs a math transform provider from a set of properties.
+ * The properties map is given unchanged to the
+<span class="del"> * {@linkplain
OperationMethod#OperationMethod(Map,int,int,GeneralOperationParameter[])</span>
+ * super-class constructor}.
+ *
+ * @param properties Set of properties. Should contains at least
<code>"name"</code>.</pre></td>
+<td><pre>/**
+ * Constructs a math transform provider from a set of properties.
+ * The properties map is given unchanged to the
+<span class="add"> * {@linkplain
OperationMethod#OperationMethod(Map,int,int,GeneralParameterDescriptor[])</span>
+ * super-class constructor}.
+ *
+ * @param properties Set of properties. Should contains at least
<code>"name"</code>.</pre></td></tr>
+<tr><td><pre>public MathTransformProvider(final Map properties,
+ final int sourceDimensions,
+ final int targetDimensions,
+<span class="del"> final OperationParameterGroup
parameters)</span>
+{
+<span class="del"> super(properties, sourceDimensions, targetDimensions,
parameters.getParameters());</span>
+<span class="del"> this.parameters = parameters;</span>
+}
+
+/**</pre></td>
+<td><pre>public MathTransformProvider(final Map properties,
+ final int sourceDimensions,
+ final int targetDimensions,
+<span class="add"> final ParameterDescriptorGroup
parameters)</span>
+{
+<span class="add"> super(properties, sourceDimensions, targetDimensions,
parameters);</span>
+}
+
+/**</pre></td></tr>
+<tr><td><pre> throw new IllegalArgumentException();
+ }
+ final Map properties = new HashMap(4);
+<span class="del"> properties.put("name", (parameters!=null) ?
parameters.getName(null) : identifiers[0].getCode());</span>
+ properties.put("identifiers", identifiers);
+ return properties;
+}</pre></td>
+<td><pre> throw new IllegalArgumentException();
+ }
+ final Map properties = new HashMap(4);
+<span class="add"> properties.put("name", (parameters!=null) ?
parameters.getName().toString() : identifiers[0].getCode());</span>
+ properties.put("identifiers", identifiers);
+ return properties;
+}</pre></td></tr>
+<tr><td><pre> * @param identifiers The operation identifiers. Should contains
at least one identifier.
+ * @param parameters The set of parameters, or <code>null</code>
or an empty array if none.
+ */
+<span class="del">protected static OperationParameterGroup group(final
Identifier[] identifiers,</span>
+<span class="del"> final
GeneralOperationParameter[] parameters)</span>
+{
+<span class="del"> return new
org.geotools.parameter.OperationParameterGroup(toMap(null, identifiers),
parameters);</span>
+}
+
+/**</pre></td>
+<td><pre> * @param identifiers The operation identifiers. Should contains at
least one identifier.
+ * @param parameters The set of parameters, or <code>null</code>
or an empty array if none.
+ */
+<span class="add">protected static ParameterDescriptorGroup group(final
Identifier[] identifiers,</span>
+<span class="add"> final
GeneralParameterDescriptor[] parameters)</span>
+{
+<span class="add"> return new
org.geotools.parameter.ParameterGroupDescriptor(toMap(null, identifiers),
parameters);</span>
+}
+
+/**</pre></td></tr>
+<tr><td><pre>* compares all parameter names against the name declared in
{@link #parameters} and
+* thrown an exception if an unknow parameter is found. It also ensure that all
values
+* are assignable to the
+<span class="del">* {@linkplain
org.geotools.parameter.OperationParameter#getValueClass expected class}, are
between the</span>
+<span class="del">* {@linkplain
org.geotools.parameter.OperationParameter#getMinimumValue minimum} and</span>
+<span class="del">* {@linkplain
org.geotools.parameter.OperationParameter#getMaximumValue maximum} values and
are one of the</span>
+<span class="del">* {@linkplain
org.geotools.parameter.OperationParameter#getValidValues set of valid
values}.</span>
+* If the value fails any of those tests, then an exception is thrown.
+*
+* @param values The parameters values to check.</pre></td>
+<td><pre>* compares all parameter names against the name declared in {@link
#parameters} and
+* thrown an exception if an unknow parameter is found. It also ensure that all
values
+* are assignable to the
+<span class="add">* {@linkplain
org.geotools.parameter.ParameterDescriptor#getValueClass expected class}, are
between the</span>
+<span class="add">* {@linkplain
org.geotools.parameter.ParameterDescriptor#getMinimumValue minimum} and</span>
+<span class="add">* {@linkplain
org.geotools.parameter.ParameterDescriptor#getMaximumValue maximum} values and
are one of the</span>
+<span class="add">* {@linkplain
org.geotools.parameter.ParameterDescriptor#getValidValues set of valid
values}.</span>
+* If the value fails any of those tests, then an exception is thrown.
+*
+* @param values The parameters values to check.</pre></td></tr>
+<tr><td><pre>for (int i=0; i<values.length; i++) {
+ final GeneralParameterValue value = values[i];
+ if (value instanceof ParameterValueGroup) {
+<span class="del"> ensureValidValues(((ParameterValueGroup)
value).getValues());</span>
+ continue;
+ }
+ final String name;
+<span class="del"> final GeneralOperationParameter userDescriptor =
value.getDescriptor();</span>
+ final Identifier[] identifiers = userDescriptor.getIdentifiers();
+ if (identifiers!=null && identifiers.length!=0) {
+ name = identifiers[0].getCode();
+ } else {
+<span class="del"> name = userDescriptor.getName(null);</span>
+ }
+<span class="del"> final OperationParameter descriptor;</span>
+ try {
+<span class="del"> descriptor = parameters.getParameter(name);</span>
+ } catch (ParameterNotFoundException cause) {
+ final InvalidParameterNameException exception =
+ new InvalidParameterNameException(Resources.format(</pre></td>
+<td><pre>for (int i=0; i<values.length; i++) {
+ final GeneralParameterValue value = values[i];
+ if (value instanceof ParameterValueGroup) {
+<span class="add"> ensureValidValues(
Parameters.array((ParameterValueGroup) value));</span>
+ continue;
+ }
+ final String name;
+<span class="add"> final GeneralParameterDescriptor userDescriptor =
value.getDescriptor();</span>
+ final Identifier[] identifiers = userDescriptor.getIdentifiers();
+ if (identifiers!=null && identifiers.length!=0) {
+ name = identifiers[0].getCode();
+ } else {
+<span class="add"> name = userDescriptor.getName().toString();</span>
+ }
+<span class="add"> final ParameterDescriptor descriptor;</span>
+ try {
+<span class="add"> descriptor =
getParameters().getParameter(name);</span>
+ } catch (ParameterNotFoundException cause) {
+ final InvalidParameterNameException exception =
+ new
InvalidParameterNameException(Resources.format(</pre></td></tr>
+<tr><td><pre> throw exception;
+ }
+ if (value instanceof ParameterValue) {
+<span class="del">
org.geotools.parameter.ParameterValue.ensureValidValue(descriptor,</span>
+ ((ParameterValue)
value).getValue());
+ }
+}</pre></td>
+<td><pre> throw exception;
+ }
+ if (value instanceof ParameterValue) {
+<span class="add">
org.geotools.parameter.Parameter.ensureValidValue(descriptor,</span>
+ ((ParameterValue)
value).getValue());
+ }
+}</pre></td></tr>
+<tr><td><pre>* Creates a math transform from the specified set of parameter
values. The default
+* implementation ensures that the specified set of values do not contains any
parameter
+* unknow to {@link #parameters}. It also ensures that all values are
assignable to the
+<span class="del">* {@linkplain
org.geotools.parameter.OperationParameter#getValueClass expected class}, are
between the</span>
+<span class="del">* {@linkplain
org.geotools.parameter.OperationParameter#getMinimumValue minimum} and</span>
+<span class="del">* {@linkplain
org.geotools.parameter.OperationParameter#getMaximumValue maximum} values and
are one of the</span>
+<span class="del">* {@linkplain
org.geotools.parameter.OperationParameter#getValidValues set of valid
values}.</span>
+* Then it wraps wraps the values in a group and invokes
+* {@link #createMathTransform(ParameterValueGroup)}.
+*</pre></td>
+<td><pre>* Creates a math transform from the specified set of parameter
values. The default
+* implementation ensures that the specified set of values do not contains any
parameter
+* unknow to {@link #parameters}. It also ensures that all values are
assignable to the
+<span class="add">* {@linkplain
org.geotools.parameter.ParameterDescriptor#getValueClass expected class}, are
between the</span>
+<span class="add">* {@linkplain
org.geotools.parameter.ParameterDescriptor#getMinimumValue minimum} and</span>
+<span class="add">* {@linkplain
org.geotools.parameter.ParameterDescriptor#getMaximumValue maximum} values and
are one of the</span>
+<span class="add">* {@linkplain
org.geotools.parameter.ParameterDescriptor#getValidValues set of valid
values}.</span>
+* Then it wraps wraps the values in a group and invokes
+* {@link #createMathTransform(ParameterValueGroup)}.
+*</pre></td></tr>
+<tr><td><pre> ensureValidValues(values);
+ if (values.length == 1) {
+ final GeneralParameterValue value = values[0];
+<span class="del"> if (parameters.equals(value.getDescriptor()))
{</span>
+ if (value instanceof ParameterValueGroup) {
+ return createMathTransform((ParameterValueGroup) value);
+ }
+ }
+ }
+<span class="del"> return createMathTransform(new
FallbackParameterValueGroup(parameters, values));</span>
+}
+
+/**
+ * Creates a math transform from the specified group of parameter
values.</pre></td>
+<td><pre> ensureValidValues(values);
+ if (values.length == 1) {
+ final GeneralParameterValue value = values[0];
+<span class="add"> if (getParameters().equals(value.getDescriptor()))
{</span>
+ if (value instanceof ParameterValueGroup) {
+ return createMathTransform((ParameterValueGroup) value);
+ }
+ }
+ }
+<span class="add"> ParameterDescriptorGroup group = getParameters();</span>
+<span class="add"> System.out.println( group );</span>
+<span class="add"> ParameterValueGroup params = (ParameterValueGroup)
group.createValue();</span>
+<span class="add"> System.out.println( params );</span>
+<span class="add"> for( int i=0; i<values.length; i++){</span>
+<span class="add"> if( values[i] instanceof ParameterValue ){</span>
+<span class="add"> ParameterValue value = (ParameterValue)
values[i];</span>
+<span class="add"> ParameterDescriptor descriptor =
(ParameterDescriptor) value.getDescriptor();</span>
+<span class="add"> String name = descriptor.getName().toString(
null );</span>
+<span class="add"> if( descriptor.getMaximumOccurs() == 1
&&</span>
+<span class="add"> params.parameter( name ) != null ){</span>
+<span class="add"> params.parameter( name ).setValue(
value.getValue() );</span>
+}
+<span class="add"> else {</span>
+<span class="add"> params.add( value );</span>
+<span class="add"> }</span>
+<span class="add"> }</span>
+<span class="add"> else if (values[i] instanceof ParameterValueGroup
){</span>
+<span class="add"> params.add( (ParameterValueGroup) values[i]
);</span>
+<span class="add"> }</span>
+<span class="add"> }</span>
+<span class="add"> return createMathTransform( params );</span>
+<span class="add"> // return createMathTransform( new
FallbackParameterValueGroup( getParameters(), values) );</span>
+<span class="add">}</span>
+
+/**
+ * Creates a math transform from the specified group of parameter
values.</pre></td></tr>
+<tr><td><pre> * @todo Revisit if a more elaborated test is needed for choosing
an identifier.
+ */
+private static ParameterValue getValue(final ParameterValueGroup group,
+<span class="del"> final
OperationParameter param)</span>
+ throws ParameterNotFoundException
+{
+ final Identifier[] identifiers = param.getIdentifiers();</pre></td>
+<td><pre> * @todo Revisit if a more elaborated test is needed for choosing an
identifier.
+ */
+private static ParameterValue getValue(final ParameterValueGroup group,
+<span class="add"> final
ParameterDescriptor param)</span>
+ throws ParameterNotFoundException
+{
+ final Identifier[] identifiers = param.getIdentifiers();</pre></td></tr>
+<tr><td><pre> if (identifiers!=null && identifiers.length!=0) {
+ name = identifiers[0].getCode();
+ } else {
+<span class="del"> name = param.getName(null);</span>
+ }
+<span class="del"> return group.getValue(name);</span>
+}
+
+/**</pre></td>
+<td><pre> if (identifiers!=null && identifiers.length!=0) {
+ name = identifiers[0].getCode();
+ } else {
+<span class="add"> name = param.getName().toString();</span>
+ }
+<span class="add"> return group.parameter(name);</span>
+}
+
+/**</pre></td></tr>
+<tr><td><pre> * @throws ParameterNotFoundException if the parameter is not
found.
+ */
+protected static int intValue(final ParameterValueGroup group,
+<span class="del"> final OperationParameter
param)</span>
+ throws ParameterNotFoundException
+{
+ return getValue(group, param).intValue();</pre></td>
+<td><pre> * @throws ParameterNotFoundException if the parameter is not found.
+ */
+protected static int intValue(final ParameterValueGroup group,
+<span class="add"> final ParameterDescriptor
param)</span>
+ throws ParameterNotFoundException
+{
+ return getValue(group, param).intValue();</pre></td></tr>
+<tr><td><pre> * for null units).
+ */
+protected static double doubleValue(final ParameterValueGroup group,
+<span class="del"> final OperationParameter
param)</span>
+ throws ParameterNotFoundException
+{
+ return getValue(group, param).doubleValue();</pre></td>
+<td><pre> * for null units).
+ */
+protected static double doubleValue(final ParameterValueGroup group,
+<span class="add"> final
ParameterDescriptor param)</span>
+ throws ParameterNotFoundException
+{
+ return getValue(group, param).doubleValue();</pre></td></tr>
+<tr><td><pre>}
+
+/**
+ * Returns the resources key for {@linkplain #getName localized name}.
+ * This method is for internal purpose by Geotools implementation only.
+ */</pre></td>
+<td><pre>}
+
+/**
+<span class="add"> * Returns the parameter value for the specified operation
parameter.</span>
+<span class="add"> * This convenience method is used by constructor for
initializing</span>
+<span class="add"> * {@linkplain MathTransform math transform} from a set of
parameters.</span>
+<span class="add"> *</span>
+<span class="add"> * @param group The parameter value group to search
into.</span>
+<span class="add"> * @param param The parameter to look for.</span>
+<span class="add"> * @return The requested parameter value.</span>
+<span class="add"> * @throws ParameterNotFoundException if the parameter is
not found.</span>
+<span class="add"> */</span>
+<span class="add">protected static String stringValue(final
ParameterValueGroup group,</span>
+<span class="add"> final ParameterDescriptor
param)</span>
+<span class="add"> throws ParameterNotFoundException</span>
+<span class="add">{</span>
+<span class="add"> return getValue(group, param).stringValue();</span>
+<span class="add">}</span>
+<span class="add"></span>
+<span class="add">/**</span>
+ * Returns the resources key for {@linkplain #getName localized name}.
+ * This method is for internal purpose by Geotools implementation only.
+ */</pre></td></tr>
+</table>
+ </div>
+ </body>
+</html>
Propchange: sis/ip-review/rev/07857/MathTransformProvider.xhtml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: sis/ip-review/rev/07857/MathTransformProvider.xhtml
------------------------------------------------------------------------------
svn:mime-type = text/html
Added: sis/ip-review/rev/10796/DefaultMathTransformFactory.xhtml
URL:
http://svn.apache.org/viewvc/sis/ip-review/rev/10796/DefaultMathTransformFactory.xhtml?rev=1657946&view=auto
==============================================================================
--- sis/ip-review/rev/10796/DefaultMathTransformFactory.xhtml (added)
+++ sis/ip-review/rev/10796/DefaultMathTransformFactory.xhtml Fri Feb 6
20:18:02 2015
@@ -0,0 +1,121 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta charset="UTF-8"/>
+ <title>DefaultMathTransformFactory changes for revisions
10795:10796</title>
+ <style type="text/css" media="all">
+ @import url("../../reports.css");
+ </style>
+ </head>
+ <body>
+ <div>
+ <h1>DefaultMathTransformFactory changes for revisions 10795:10796</h1>
+<p>Changes in this commit seem to be the result of some "<cite>auto
reformat</cite>" tool execution.
+The <cite>Java</cite> - <cite>GeoAPI</cite> - <cite>GeoTools</cite> import
ordering is altered,
+imports used only in Javadoc are lost and the encoding of non-ASCII characters
is broken.
+This commit has been reverted, except for the removal of really unused imports
which are keep removed.</p>
+<p><b>Command line:</b></p>
+<blockquote><code>svn diff --extensions "--unified --ignore-space-change
--ignore-all-space --ignore-eol-style" -r10795:10796
http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/operation/DefaultMathTransformFactory.java</code></blockquote>
+<table class="changes">
+<tr><th>Revision 10795</th><th>Revision 10796</th></tr>
+<tr><td><pre>/*
+ * Geotools 2 - OpenSource mapping toolkit
+ * (C) 2003, Geotools Project Managment Committee (PMC)
+<span class="del"> * (C) 2001, Institut de Recherche pour le
Développement</span>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public</pre></td>
+<td><pre>/*
+ * Geotools 2 - OpenSource mapping toolkit
+ * (C) 2003, Geotools Project Managment Committee (PMC)
+<span class="add"> * (C) 2001, Institut de Recherche pour le
D�veloppement</span>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General
Public</pre></td></tr>
+<tr><td><pre>package org.geotools.referencing.operation;
+
+// J2SE dependencies
+import java.util.Set;
+import java.util.TreeSet;
+<span class="del">import java.util.Locale;</span>
+<span class="del">import java.util.Arrays;</span>
+<span class="del">import java.util.Iterator;</span>
+<span class="del">import java.util.Collections;</span>
+<span class="del">import java.io.IOException;</span>
+<span class="del">import java.text.ParseException;</span>
+import javax.imageio.spi.ServiceRegistry;
+
+<span class="del">// OpenGIS dependencies</span>
+import org.opengis.metadata.citation.Citation;
+import org.opengis.referencing.FactoryException;
+import org.opengis.referencing.operation.Matrix;
+<span class="del">import
org.opengis.referencing.operation.MathTransform;</span>
+import org.opengis.referencing.operation.OperationMethod;
+<span class="del">import
org.opengis.referencing.NoSuchIdentifierException;</span>
+<span class="del">import org.opengis.parameter.GeneralParameterValue;</span>
+<span class="del">import org.opengis.parameter.ParameterDescriptorGroup;</span>
+<span class="del">import org.opengis.parameter.ParameterValueGroup;</span>
+
+<span class="del">// Geotools dependencies</span>
+<span class="del">import org.geotools.referencing.Identifier; // For
javadoc</span>
+<span class="del">import org.geotools.referencing.IdentifiedObject;</span>
+<span class="del">import org.geotools.referencing.wkt.Symbols;</span>
+<span class="del">import
org.geotools.referencing.wkt.MathTransformParser;</span>
+<span class="del">import
org.geotools.referencing.operation.transform.ProjectiveTransform;</span>
+<span class="del">import
org.geotools.referencing.operation.transform.PassThroughTransform;</span>
+<span class="del">import
org.geotools.referencing.operation.transform.ConcatenatedTransform;</span>
+<span class="del">import org.geotools.parameter.ParameterWriter;</span>
+
+<span class="del">// Resources</span>
+<span class="del">import org.geotools.util.WeakHashSet;</span>
+<span class="del">import org.geotools.resources.LazySet;</span>
+<span class="del">import org.geotools.resources.Arguments;</span>
+<span class="del">import org.geotools.resources.cts.Resources;</span>
+<span class="del">import org.geotools.resources.cts.ResourceKeys;</span>
+<span class="del"></span>
+<span class="del"></span>
+/**
+ * Low level factory for creating {@linkplain MathTransform math transforms}.
+ * Many high level GIS applications will never need to use this factory
directly;</pre></td>
+<td><pre>package org.geotools.referencing.operation;
+
+// J2SE dependencies
+<span class="add">import java.text.ParseException;</span>
+<span class="add">import java.util.Arrays;</span>
+<span class="add">import java.util.Collections;</span>
+<span class="add">import java.util.Iterator;</span>
+import java.util.Set;
+import java.util.TreeSet;
+<span class="add"></span>
+import javax.imageio.spi.ServiceRegistry;
+
+<span class="add">import org.geotools.parameter.ParameterWriter;</span>
+<span class="add">import org.geotools.referencing.IdentifiedObject;</span>
+<span class="add">import org.geotools.referencing.Identifier;</span>
+<span class="add">import
org.geotools.referencing.operation.transform.ConcatenatedTransform;</span>
+<span class="add">import
org.geotools.referencing.operation.transform.PassThroughTransform;</span>
+<span class="add">import
org.geotools.referencing.operation.transform.ProjectiveTransform;</span>
+<span class="add">import
org.geotools.referencing.wkt.MathTransformParser;</span>
+<span class="add">import org.geotools.referencing.wkt.Symbols;</span>
+<span class="add">import org.geotools.resources.Arguments;</span>
+<span class="add">import org.geotools.resources.LazySet;</span>
+<span class="add">import org.geotools.resources.cts.ResourceKeys;</span>
+<span class="add">import org.geotools.resources.cts.Resources;</span>
+<span class="add">import org.geotools.util.WeakHashSet;</span>
+import org.opengis.metadata.citation.Citation;
+<span class="add">import org.opengis.parameter.ParameterDescriptorGroup;</span>
+<span class="add">import org.opengis.parameter.ParameterValueGroup;</span>
+import org.opengis.referencing.FactoryException;
+<span class="add">import
org.opengis.referencing.NoSuchIdentifierException;</span>
+<span class="add">import
org.opengis.referencing.operation.MathTransform;</span>
+import org.opengis.referencing.operation.Matrix;
+import org.opengis.referencing.operation.OperationMethod;
+
+
+/**
+ * Low level factory for creating {@linkplain MathTransform math transforms}.
+ * Many high level GIS applications will never need to use this factory
directly;</pre></td></tr>
+</table>
+ </div>
+ </body>
+</html>
Propchange: sis/ip-review/rev/10796/DefaultMathTransformFactory.xhtml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: sis/ip-review/rev/10796/DefaultMathTransformFactory.xhtml
------------------------------------------------------------------------------
svn:mime-type = text/html
Added: sis/ip-review/rev/10796/MathTransformProvider.xhtml
URL:
http://svn.apache.org/viewvc/sis/ip-review/rev/10796/MathTransformProvider.xhtml?rev=1657946&view=auto
==============================================================================
--- sis/ip-review/rev/10796/MathTransformProvider.xhtml (added)
+++ sis/ip-review/rev/10796/MathTransformProvider.xhtml Fri Feb 6 20:18:02 2015
@@ -0,0 +1,93 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta charset="UTF-8"/>
+ <title>MathTransformProvider changes for revisions 10795:10796</title>
+ <style type="text/css" media="all">
+ @import url("../../reports.css");
+ </style>
+ </head>
+ <body>
+ <div>
+ <h1>MathTransformProvider changes for revisions 10795:10796</h1>
+<p>Changes in this commit seem to be the result of some "<cite>auto
reformat</cite>" tool execution.
+The <cite>Java</cite> - <cite>GeoAPI</cite> - <cite>GeoTools</cite> import
ordering is altered,
+imports used only in Javadoc are lost and the encoding of non-ASCII characters
is broken.
+This commit has been reverted, except for the removal of really unused imports
which are keep removed.</p>
+<p><b>Command line:</b></p>
+<blockquote><code>svn diff --extensions "--unified --ignore-space-change
--ignore-all-space --ignore-eol-style" -r10795:10796
http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/operation/MathTransformProvider.java</code></blockquote>
+<table class="changes">
+<tr><th>Revision 10795</th><th>Revision 10796</th></tr>
+<tr><td><pre>/*
+ * Geotools 2 - OpenSource mapping toolkit
+ * (C) 2004, Geotools Project Managment Committee (PMC)
+<span class="del"> * (C) 2004, Institut de Recherche pour le
Développement</span>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public</pre></td>
+<td><pre>/*
+ * Geotools 2 - OpenSource mapping toolkit
+ * (C) 2004, Geotools Project Managment Committee (PMC)
+<span class="add"> * (C) 2004, Institut de Recherche pour le
D�veloppement</span>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General
Public</pre></td></tr>
+<tr><td><pre>package org.geotools.referencing.operation;
+
+// J2SE dependencies and extensions
+<span class="del">import java.util.Map;</span>
+<span class="del">import java.util.Arrays;</span>
+<span class="del">import java.util.Locale;</span>
+import java.util.HashMap;
+import java.util.Iterator;
+<span class="del">import java.util.Collection;</span>
+import javax.units.Unit;
+
+<span class="del">// OpenGIS dependencies</span>
+<span class="del">import org.opengis.util.GenericName;</span>
+<span class="del">import org.opengis.util.InternationalString; // For
javadoc</span>
+import org.opengis.metadata.Identifier;
+import org.opengis.parameter.GeneralParameterDescriptor;
+import org.opengis.parameter.GeneralParameterValue;</pre></td>
+<td><pre>package org.geotools.referencing.operation;
+
+// J2SE dependencies and extensions
+<span class="add">import java.util.Collection;</span>
+import java.util.HashMap;
+import java.util.Iterator;
+<span class="add">import java.util.Map;</span>
+<span class="add"></span>
+import javax.units.Unit;
+
+<span class="add">import org.geotools.resources.XArray;</span>
+<span class="add">import org.geotools.resources.cts.ResourceKeys;</span>
+<span class="add">import org.geotools.resources.cts.Resources;</span>
+import org.opengis.metadata.Identifier;
+import org.opengis.parameter.GeneralParameterDescriptor;
+import org.opengis.parameter.GeneralParameterValue;</pre></td></tr>
+<tr><td><pre>import org.opengis.referencing.FactoryException;
+import org.opengis.referencing.IdentifiedObject;
+import org.opengis.referencing.operation.MathTransform;
+
+<span class="del">// Geotools dependencies</span>
+<span class="del">import org.geotools.resources.XArray;</span>
+<span class="del">import org.geotools.resources.cts.Resources;</span>
+<span class="del">import org.geotools.resources.cts.ResourceKeys;</span>
+
+<span class="del"></span>
+/**
+ * An {@linkplain OperationMethod operation method} capable to creates a
{@linkplain MathTransform
+ * math transform} from set of {@linkplain GeneralParameterValue parameter
values}.</pre></td>
+<td><pre>import org.opengis.referencing.FactoryException;
+import org.opengis.referencing.IdentifiedObject;
+import org.opengis.referencing.operation.MathTransform;
+<span class="add">import org.opengis.util.GenericName;</span>
+
+
+/**
+ * An {@linkplain OperationMethod operation method} capable to creates a
{@linkplain MathTransform
+ * math transform} from set of {@linkplain GeneralParameterValue parameter
values}.</pre></td></tr>
+</table>
+ </div>
+ </body>
+</html>
Propchange: sis/ip-review/rev/10796/MathTransformProvider.xhtml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: sis/ip-review/rev/10796/MathTransformProvider.xhtml
------------------------------------------------------------------------------
svn:mime-type = text/html
Added: sis/ip-review/rev/11128/DefaultMathTransformFactory.xhtml
URL:
http://svn.apache.org/viewvc/sis/ip-review/rev/11128/DefaultMathTransformFactory.xhtml?rev=1657946&view=auto
==============================================================================
--- sis/ip-review/rev/11128/DefaultMathTransformFactory.xhtml (added)
+++ sis/ip-review/rev/11128/DefaultMathTransformFactory.xhtml Fri Feb 6
20:18:02 2015
@@ -0,0 +1,196 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta charset="UTF-8"/>
+ <title>DefaultMathTransformFactory changes for revisions
11127:11128</title>
+ <style type="text/css" media="all">
+ @import url("../../reports.css");
+ </style>
+ </head>
+ <body>
+ <div>
+ <h1>DefaultMathTransformFactory changes for revisions 11127:11128</h1>
+<p>This change do not apply to Apache SIS since <code>FactoryFinder</code> is
replaced by <code>java.util.ServiceLoader</code>.</p>
+<p><b>Command line:</b></p>
+<blockquote><code>svn diff --extensions "--unified --ignore-space-change
--ignore-all-space --ignore-eol-style" -r11127:11128
http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/operation/DefaultMathTransformFactory.java</code></blockquote>
+<table class="changes">
+<tr><th>Revision 11127</th><th>Revision 11128</th></tr>
+<tr><td><pre>import java.util.Iterator;
+import java.util.Set;
+import java.util.TreeSet;
+import javax.imageio.spi.ServiceRegistry;
+
+<span class="del">// OpenGIS dependencies</span>
+<span class="del">import org.opengis.metadata.citation.Citation;</span>
+<span class="del">import org.opengis.parameter.ParameterDescriptorGroup;</span>
+<span class="del">import org.opengis.parameter.ParameterValueGroup;</span>
+<span class="del">import org.opengis.referencing.FactoryException;</span>
+<span class="del">import
org.opengis.referencing.NoSuchIdentifierException;</span>
+<span class="del">import org.opengis.referencing.operation.Conversion;</span>
+<span class="del">import
org.opengis.referencing.operation.MathTransform;</span>
+<span class="del">import org.opengis.referencing.operation.Matrix;</span>
+<span class="del">import org.opengis.referencing.operation.Operation;</span>
+<span class="del">import
org.opengis.referencing.operation.OperationMethod;</span>
+<span class="del">import org.opengis.referencing.operation.Projection;</span>
+<span class="del"></span>
+<span class="del">// Geotools dependencies</span>
+import org.geotools.parameter.ParameterWriter;
+import org.geotools.referencing.IdentifiedObject;
+import org.geotools.referencing.Identifier;
+<span class="del">import
org.geotools.referencing.operation.transform.AbstractMathTransform;</span>
+import org.geotools.referencing.operation.transform.ConcatenatedTransform;
+import org.geotools.referencing.operation.transform.PassThroughTransform;
+import
org.geotools.referencing.operation.transform.ProjectiveTransform;</pre></td>
+<td><pre>import java.util.Iterator;
+import java.util.Set;
+import java.util.TreeSet;
+<span class="add"></span>
+import javax.imageio.spi.ServiceRegistry;
+
+import org.geotools.parameter.ParameterWriter;
+import org.geotools.referencing.IdentifiedObject;
+import org.geotools.referencing.Identifier;
+import org.geotools.referencing.operation.transform.ConcatenatedTransform;
+import org.geotools.referencing.operation.transform.PassThroughTransform;
+import
org.geotools.referencing.operation.transform.ProjectiveTransform;</pre></td></tr>
+<tr><td><pre>import org.geotools.resources.LazySet;
+import org.geotools.resources.cts.ResourceKeys;
+import org.geotools.resources.cts.Resources;
+import org.geotools.util.DerivedSet;
+import org.geotools.util.WeakHashSet;
+
+
+/**</pre></td>
+<td><pre>import org.geotools.resources.LazySet;
+import org.geotools.resources.cts.ResourceKeys;
+import org.geotools.resources.cts.Resources;
+<span class="add">import org.geotools.util.ClassFinder;</span>
+import org.geotools.util.DerivedSet;
+import org.geotools.util.WeakHashSet;
+<span class="add">import org.opengis.metadata.citation.Citation;</span>
+<span class="add">import org.opengis.parameter.ParameterDescriptorGroup;</span>
+<span class="add">import org.opengis.parameter.ParameterValueGroup;</span>
+<span class="add">import org.opengis.referencing.FactoryException;</span>
+<span class="add">import
org.opengis.referencing.NoSuchIdentifierException;</span>
+<span class="add">import org.opengis.referencing.operation.Conversion;</span>
+<span class="add">import
org.opengis.referencing.operation.MathTransform;</span>
+<span class="add">import org.opengis.referencing.operation.Matrix;</span>
+<span class="add">import org.opengis.referencing.operation.Operation;</span>
+<span class="add">import
org.opengis.referencing.operation.OperationMethod;</span>
+<span class="add">import org.opengis.referencing.operation.Projection;</span>
+
+
+/**</pre></td></tr>
+<tr><td><pre> */
+private final WeakHashSet pool = new WeakHashSet();
+
+<span class="del">/**</span>
+<span class="del"> * The service registry for finding {@link
MathTransformProvider} implementations.</span>
+<span class="del"> */</span>
+<span class="del">private final ServiceRegistry registry;</span>
+
+/**
+ * Construct a default {@link MathTransform math transform} factory.</pre></td>
+<td><pre> */
+private final WeakHashSet pool = new WeakHashSet();
+
+<span class="add">private ServiceRegistry registry;</span>
+
+/**
+ * Construct a default {@link MathTransform math transform}
factory.</pre></td></tr>
+<tr><td><pre> * @see #createParameterizedTransform
+ */
+public Set/*<OperationMethod>*/ getAvailableMethods(final Class type) {
+<span class="del"> Set methods = new
LazySet(getProviders(MathTransformProvider.class));</span>
+ if (type != null) {
+ methods = new FilteredSet(methods, type);
+ }</pre></td>
+<td><pre> * @see #createParameterizedTransform
+ */
+public Set/*<OperationMethod>*/ getAvailableMethods(final Class type) {
+<span class="add"> Set methods = new
LazySet(ClassFinder.getProviders(registry, MathTransformProvider.class));</span>
+ if (type != null) {
+ methods = new FilteredSet(methods, type);
+ }</pre></td></tr>
+<tr><td><pre>}
+
+/**
+<span class="del"> * Returns the providers for the specified category. This
method will scan for plugin the</span>
+<span class="del"> * first time it will be invoked.</span>
+<span class="del"> */</span>
+<span class="del">private synchronized Iterator getProviders(final Class
category) {</span>
+<span class="del"> Iterator iterator =
registry.getServiceProviders(category, false);</span>
+<span class="del"> if (!iterator.hasNext()) {</span>
+<span class="del"> /*</span>
+<span class="del"> * No plugin. This method is probably invoked the
first time for the specified</span>
+<span class="del"> * category, otherwise we should have found at least
the Geotools implementation.</span>
+<span class="del"> */</span>
+<span class="del"> scanForPlugins();</span>
+<span class="del"> iterator = registry.getServiceProviders(category,
false);</span>
+<span class="del"> }</span>
+<span class="del"> return iterator;</span>
+<span class="del">}</span>
+<span class="del"></span>
+<span class="del">/**</span>
+ * Returns the math transform provider for the specified operation method.
+ * This provider can be used in order to query parameter for a method name
+ * (e.g.
<code>getProvider("Transverse_Mercator").getParameters()</code>),</pre></td>
+<td><pre>}
+
+/**
+ * Returns the math transform provider for the specified operation method.
+ * This provider can be used in order to query parameter for a method name
+ * (e.g.
<code>getProvider("Transverse_Mercator").getParameters()</code>),</pre></td></tr>
+<tr><td><pre>if (provider!=null && provider.nameMatches(method)) {
+ return provider;
+}
+<span class="del">final Iterator providers =
getProviders(MathTransformProvider.class);</span>
+while (providers.hasNext()) {
+ provider = (MathTransformProvider) providers.next();
+ if (provider.nameMatches(method)) {</pre></td>
+<td><pre>if (provider!=null && provider.nameMatches(method)) {
+ return provider;
+}
+<span class="add">final Iterator providers =
ClassFinder.getProviders(registry, MathTransformProvider.class);</span>
+while (providers.hasNext()) {
+ provider = (MathTransformProvider) providers.next();
+ if (provider.nameMatches(method)) {</pre></td></tr>
+<tr><td><pre>}
+
+/**
+<span class="del"> * Scans for provider plug-ins on the application class
path. This method is needed because the</span>
+<span class="del"> * application class path can theoretically change, or
additional plug-ins may become available.</span>
+<span class="del"> * Rather than re-scanning the classpath on every invocation
of the API, the class path is</span>
+<span class="del"> * scanned automatically only on the first invocation.
Clients can call this method to prompt</span>
+<span class="del"> * a re-scan. Thus this method need only be invoked by
sophisticated applications which</span>
+<span class="del"> * dynamically make new plug-ins available at runtime.</span>
+<span class="del"> *</span>
+<span class="del"> * @todo Provides the same logging mechanism than in {@link
org.geotools.referencing.FactoryFinder}</span>
+<span class="del"> * once it will be implemented in the later.</span>
+<span class="del"> */</span>
+<span class="del">public synchronized void scanForPlugins() {</span>
+<span class="del"> final ClassLoader loader =
Thread.currentThread().getContextClassLoader();</span>
+<span class="del"> for (final Iterator categories=registry.getCategories();
categories.hasNext();) {</span>
+<span class="del"> final Class category = (Class)
categories.next();</span>
+<span class="del"> final Iterator providers =
ServiceRegistry.lookupProviders(category, loader);</span>
+<span class="del"> while (providers.hasNext()) {</span>
+<span class="del">
registry.registerServiceProvider(providers.next(), category);</span>
+<span class="del"> }</span>
+<span class="del"> }</span>
+<span class="del"> last = null;</span>
+<span class="del">}</span>
+<span class="del"></span>
+<span class="del">/**</span>
+ * Dump to the standard output stream a list of available operation method.
+ * This method can be invoked from the command line. It provides a mean to
+ * verify which transforms were found in the classpath. The syntax
is:</pre></td>
+<td><pre>}
+
+/**
+ * Dump to the standard output stream a list of available operation method.
+ * This method can be invoked from the command line. It provides a mean to
+ * verify which transforms were found in the classpath. The syntax
is:</pre></td></tr>
+</table>
+ </div>
+ </body>
+</html>
Propchange: sis/ip-review/rev/11128/DefaultMathTransformFactory.xhtml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: sis/ip-review/rev/11128/DefaultMathTransformFactory.xhtml
------------------------------------------------------------------------------
svn:mime-type = text/html
Added: sis/ip-review/rev/11128/HEADER.html
URL:
http://svn.apache.org/viewvc/sis/ip-review/rev/11128/HEADER.html?rev=1657946&view=auto
==============================================================================
--- sis/ip-review/rev/11128/HEADER.html (added)
+++ sis/ip-review/rev/11128/HEADER.html Fri Feb 6 20:18:02 2015
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta charset="UTF-8"/>
+ <title>Revision 11128</title>
+ </head>
+ <body>
+ <div>
+ <h1>Revision 11128</h1>
+<table>
+ <tr><td><b>Author:</b></td><td>rgould</td></tr>
+ <tr><td><b>Date:</b></td><td>2005-02-04</td></tr>
+ <tr><td><b>Message:</b></td><td>Split the class loading out of FactoryFinder
and MathTransformFactory into one class, ClassFinder.</td></tr>
+</table>
+ </div>
+ </body>
+</html>
Propchange: sis/ip-review/rev/11128/HEADER.html
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: sis/ip-review/rev/11128/HEADER.html
------------------------------------------------------------------------------
svn:mime-type = text/html