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