sis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From desruisse...@apache.org
Subject svn commit: r1718599 [6/6] - in /sis/ip-review: ./ rev/10799/ rev/11112/ rev/12132/ rev/20874/ rev/23110/ rev/24689/ rev/25050/ rev/25916/ rev/25919/ rev/25940/ rev/26059/ rev/26212/ rev/26250/ rev/26290/ rev/29105/ rev/29125/
Date Tue, 08 Dec 2015 13:33:16 GMT
Added: sis/ip-review/rev/25940/DirectAuthorityFactory.xhtml
URL: http://svn.apache.org/viewvc/sis/ip-review/rev/25940/DirectAuthorityFactory.xhtml?rev=1718599&view=auto
==============================================================================
--- sis/ip-review/rev/25940/DirectAuthorityFactory.xhtml (added)
+++ sis/ip-review/rev/25940/DirectAuthorityFactory.xhtml Tue Dec  8 13:33:15 2015
@@ -0,0 +1,87 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta charset="UTF-8"/>
+    <title>DirectAuthorityFactory changes for revisions 25939:25940</title>
+    <style type="text/css" media="all">
+      @import url("../../reports.css");
+    </style>
+  </head>
+  <body>
+    <div>
+      <h1>DirectAuthorityFactory changes for revisions 25939:25940</h1>
+<p>
+  The only change in this commit is to rename <code>FactoryGroup</code> as <code>ReferencingFactoryContainer</code>.
+  This change does not apply to SIS since we will try to avoid that <code>ReferencingFactoryContainer</code> class,
+  or find another name.
+</p>
+<p><b>Command line:</b></p>
+<blockquote><code>svn diff --extensions "--unified --ignore-space-change --ignore-all-space --ignore-eol-style" -r25939:25940 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/factory/DirectAuthorityFactory.java</code></blockquote>
+<table class="changes">
+<tr><th>Revision 25939</th><th>Revision 25940</th></tr>
+<tr><td><pre>import java.util.Set;
+import java.util.LinkedHashSet;
+import java.util.Collection;
+<span class="del">import java.util.Collections;</span>
+
+// OpenGIS dependencies
+import org.opengis.referencing.*;
+<span class="del">import org.opengis.referencing.crs.*;</span>
+
+// Geotools dependencies
+import org.geotools.factory.Hints;</pre></td>
+<td><pre>import java.util.Set;
+import java.util.LinkedHashSet;
+import java.util.Collection;
+
+// OpenGIS dependencies
+import org.opengis.referencing.*;
+
+// Geotools dependencies
+import org.geotools.factory.Hints;</pre></td></tr>
+<tr><td><pre>/**
+ * The underlying factories used for objects creation.
+ */
+<span class="del">protected final FactoryGroup factories;</span>
+
+/**
+ * Tells if {@link FactoryGroup#hints} has been invoked. It must be invoked exactly once,</pre></td>
+<td><pre>/**
+ * The underlying factories used for objects creation.
+ */
+<span class="add">protected final ReferencingFactoryContainer factories;</span>
+
+/**
+ * Tells if {@link FactoryGroup#hints} has been invoked. It must be invoked exactly once,</pre></td></tr>
+<tr><td><pre> *        {@link #MINIMUM_PRIORITY MINIMUM_PRIORITY} and
+ *        {@link #MAXIMUM_PRIORITY MAXIMUM_PRIORITY} inclusive.
+ */
+<span class="del">protected DirectAuthorityFactory(final FactoryGroup factories, final int priority) {</span>
+    super(priority);
+    this.factories = factories;
+    ensureNonNull("factories", factories);</pre></td>
+<td><pre> *        {@link #MINIMUM_PRIORITY MINIMUM_PRIORITY} and
+ *        {@link #MAXIMUM_PRIORITY MAXIMUM_PRIORITY} inclusive.
+ */
+<span class="add">protected DirectAuthorityFactory(final ReferencingFactoryContainer factories, final int priority) {</span>
+    super(priority);
+    this.factories = factories;
+    ensureNonNull("factories", factories);</pre></td></tr>
+<tr><td><pre> */
+protected DirectAuthorityFactory(final Hints hints, final int priority) {
+    super(priority);
+<span class="del">    factories = FactoryGroup.createInstance(hints);</span>
+    // Do not copies the user-provided hints to this.hints, because
+    // this is up to sub-classes to decide which hints are relevant.
+}</pre></td>
+<td><pre> */
+protected DirectAuthorityFactory(final Hints hints, final int priority) {
+    super(priority);
+<span class="add">    factories = ReferencingFactoryContainer.instance(hints);</span>
+    // Do not copies the user-provided hints to this.hints, because
+    // this is up to sub-classes to decide which hints are relevant.
+}</pre></td></tr>
+</table>
+    </div>
+  </body>
+</html>

Propchange: sis/ip-review/rev/25940/DirectAuthorityFactory.xhtml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/ip-review/rev/25940/DirectAuthorityFactory.xhtml
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: sis/ip-review/rev/25940/HEADER.html
URL: http://svn.apache.org/viewvc/sis/ip-review/rev/25940/HEADER.html?rev=1718599&view=auto
==============================================================================
--- sis/ip-review/rev/25940/HEADER.html (added)
+++ sis/ip-review/rev/25940/HEADER.html Tue Dec  8 13:33:15 2015
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta charset="UTF-8"/>
+    <title>Revision 25940</title>
+  </head>
+  <body>
+    <div>
+      <h1>Revision 25940</h1>
+<table>
+  <tr><td><b>Author:</b></td><td>jgarnett</td></tr>
+  <tr><td><b>Date:</b></td><td>2007-06-20</td></tr>
+  <tr><td><b>Message:</b></td><td>Set up XXXDialectEpsgFactory classes, GEOT-1343 and GEOT-1344</td></tr>
+</table>
+    </div>
+  </body>
+</html>

Propchange: sis/ip-review/rev/25940/HEADER.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/ip-review/rev/25940/HEADER.html
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: sis/ip-review/rev/25940/PropertyAuthorityFactory.xhtml
URL: http://svn.apache.org/viewvc/sis/ip-review/rev/25940/PropertyAuthorityFactory.xhtml?rev=1718599&view=auto
==============================================================================
--- sis/ip-review/rev/25940/PropertyAuthorityFactory.xhtml (added)
+++ sis/ip-review/rev/25940/PropertyAuthorityFactory.xhtml Tue Dec  8 13:33:15 2015
@@ -0,0 +1,53 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta charset="UTF-8"/>
+    <title>PropertyAuthorityFactory changes for revisions 25939:25940</title>
+    <style type="text/css" media="all">
+      @import url("../../reports.css");
+    </style>
+  </head>
+  <body>
+    <div>
+      <h1>PropertyAuthorityFactory changes for revisions 25939:25940</h1>
+<p>
+  The only change in this commit is to rename <code>FactoryGroup</code> as <code>ReferencingFactoryContainer</code>.
+  This change does not apply to SIS since we will try to avoid that <code>ReferencingFactoryContainer</code> class,
+  or find another name.
+</p>
+<p><b>Command line:</b></p>
+<blockquote><code>svn diff --extensions "--unified --ignore-space-change --ignore-all-space --ignore-eol-style" -r25939:25940 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/factory/PropertyAuthorityFactory.java</code></blockquote>
+<table class="changes">
+<tr><th>Revision 25939</th><th>Revision 25940</th></tr>
+<tr><td><pre> * @param  definitions URL to the definition file.
+ * @throws IOException if the definitions can't be read.
+ */
+<span class="del">public PropertyAuthorityFactory(final FactoryGroup factories,</span>
+                                final Citation     authority,
+                                final URL          definitions)
+        throws IOException</pre></td>
+<td><pre> * @param  definitions URL to the definition file.
+ * @throws IOException if the definitions can't be read.
+ */
+<span class="add">public PropertyAuthorityFactory(final ReferencingFactoryContainer factories,</span>
+                                final Citation     authority,
+                                final URL          definitions)
+        throws IOException</pre></td></tr>
+<tr><td><pre> *
+ * @since 2.4
+ */
+<span class="del">public PropertyAuthorityFactory(final FactoryGroup factories,</span>
+                                final Citation[]   authorities,
+                                final URL          definitions)
+        throws IOException</pre></td>
+<td><pre> *
+ * @since 2.4
+ */
+<span class="add">public PropertyAuthorityFactory(final ReferencingFactoryContainer factories,</span>
+                                final Citation[]   authorities,
+                                final URL          definitions)
+        throws IOException</pre></td></tr>
+</table>
+    </div>
+  </body>
+</html>

Propchange: sis/ip-review/rev/25940/PropertyAuthorityFactory.xhtml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/ip-review/rev/25940/PropertyAuthorityFactory.xhtml
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: sis/ip-review/rev/25940/TransformedAuthorityFactory.xhtml
URL: http://svn.apache.org/viewvc/sis/ip-review/rev/25940/TransformedAuthorityFactory.xhtml?rev=1718599&view=auto
==============================================================================
--- sis/ip-review/rev/25940/TransformedAuthorityFactory.xhtml (added)
+++ sis/ip-review/rev/25940/TransformedAuthorityFactory.xhtml Tue Dec  8 13:33:15 2015
@@ -0,0 +1,81 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta charset="UTF-8"/>
+    <title>TransformedAuthorityFactory changes for revisions 25939:25940</title>
+    <style type="text/css" media="all">
+      @import url("../../reports.css");
+    </style>
+  </head>
+  <body>
+    <div>
+      <h1>TransformedAuthorityFactory changes for revisions 25939:25940</h1>
+<p>
+  The only change in this commit is to rename <code>FactoryGroup</code> as <code>ReferencingFactoryContainer</code>.
+  This change does not apply to SIS since we will try to avoid that <code>ReferencingFactoryContainer</code> class,
+  or find another name.
+</p>
+<p><b>Command line:</b></p>
+<blockquote><code>svn diff --extensions "--unified --ignore-space-change --ignore-all-space --ignore-eol-style" -r25939:25940 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/factory/TransformedAuthorityFactory.java</code></blockquote>
+<table class="changes">
+<tr><th>Revision 25939</th><th>Revision 25940</th></tr>
+<tr><td><pre>    }
+}
+if (directionChanged || !oldUnits.equals(newUnits)) {
+<span class="del">    final FactoryGroup factories = getFactoryGroup(false);</span>
+    final CSFactory csFactory = factories.getCSFactory();
+    final Map properties = getProperties(axis);
+    axis = csFactory.createCoordinateSystemAxis(properties,</pre></td>
+<td><pre>    }
+}
+if (directionChanged || !oldUnits.equals(newUnits)) {
+<span class="add">    final ReferencingFactoryContainer factories = getFactoryGroup(false);</span>
+    final CSFactory csFactory = factories.getCSFactory();
+    final Map properties = getProperties(axis);
+    axis = csFactory.createCoordinateSystemAxis(properties,</pre></td></tr>
+<tr><td><pre>    return crs;
+}
+final Map properties = getProperties(crs);
+<span class="del">final FactoryGroup factories = getFactoryGroup(true);</span>
+final CRSFactory crsFactory = factories.getCRSFactory();
+Conversion fromBase = derivedCRS.getConversionFromBase();
+fromBase = new DefiningConversion(getProperties(fromBase),</pre></td>
+<td><pre>    return crs;
+}
+final Map properties = getProperties(crs);
+<span class="add">final ReferencingFactoryContainer factories = getFactoryGroup(true);</span>
+final CRSFactory crsFactory = factories.getCRSFactory();
+Conversion fromBase = derivedCRS.getConversionFromBase();
+fromBase = new DefiningConversion(getProperties(fromBase),</pre></td></tr>
+<tr><td><pre>    return crs;
+} else {
+    final Map properties = getProperties(crs);
+<span class="del">    final FactoryGroup factories = getFactoryGroup(true);</span>
+    final CRSFactory crsFactory = factories.getCRSFactory();
+    if (crs instanceof GeographicCRS) {
+        modified = crsFactory.createGeographicCRS(properties,</pre></td>
+<td><pre>    return crs;
+} else {
+    final Map properties = getProperties(crs);
+<span class="add">    final ReferencingFactoryContainer factories = getFactoryGroup(true);</span>
+    final CRSFactory crsFactory = factories.getCRSFactory();
+    if (crs instanceof GeographicCRS) {
+        modified = crsFactory.createGeographicCRS(properties,</pre></td></tr>
+<tr><td><pre>        throws FactoryException
+{
+    final int dimension = axis.length;
+<span class="del">    final FactoryGroup factories = getFactoryGroup(false);</span>
+    final CSFactory csFactory = factories.getCSFactory();
+    if (CartesianCS.class.isAssignableFrom(type)) {
+        switch (dimension) {</pre></td>
+<td><pre>        throws FactoryException
+{
+    final int dimension = axis.length;
+<span class="add">    final ReferencingFactoryContainer factories = getFactoryGroup(false);</span>
+    final CSFactory csFactory = factories.getCSFactory();
+    if (CartesianCS.class.isAssignableFrom(type)) {
+        switch (dimension) {</pre></td></tr>
+</table>
+    </div>
+  </body>
+</html>

Propchange: sis/ip-review/rev/25940/TransformedAuthorityFactory.xhtml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/ip-review/rev/25940/TransformedAuthorityFactory.xhtml
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: sis/ip-review/rev/26059/HEADER.html
URL: http://svn.apache.org/viewvc/sis/ip-review/rev/26059/HEADER.html?rev=1718599&view=auto
==============================================================================
--- sis/ip-review/rev/26059/HEADER.html (added)
+++ sis/ip-review/rev/26059/HEADER.html Tue Dec  8 13:33:15 2015
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta charset="UTF-8"/>
+    <title>Revision 26059</title>
+  </head>
+  <body>
+    <div>
+      <h1>Revision 26059</h1>
+<table>
+  <tr><td><b>Author:</b></td><td>chorner</td></tr>
+  <tr><td><b>Date:</b></td><td>2007-06-27</td></tr>
+  <tr><td><b>Message:</b></td><td>renamed ReferencingObjectCache; moved object cache to metadata util package; created new cache implementation</td></tr>
+</table>
+    </div>
+  </body>
+</html>

Propchange: sis/ip-review/rev/26059/HEADER.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/ip-review/rev/26059/HEADER.html
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: sis/ip-review/rev/26059/ThreadedAuthorityFactory.xhtml
URL: http://svn.apache.org/viewvc/sis/ip-review/rev/26059/ThreadedAuthorityFactory.xhtml?rev=1718599&view=auto
==============================================================================
--- sis/ip-review/rev/26059/ThreadedAuthorityFactory.xhtml (added)
+++ sis/ip-review/rev/26059/ThreadedAuthorityFactory.xhtml Tue Dec  8 13:33:15 2015
@@ -0,0 +1,114 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta charset="UTF-8"/>
+    <title>ThreadedAuthorityFactory changes for revisions 26023:26059</title>
+    <style type="text/css" media="all">
+      @import url("../../reports.css");
+    </style>
+  </head>
+  <body>
+    <div>
+      <h1>ThreadedAuthorityFactory changes for revisions 26023:26059</h1>
+      <p>The <code>[Old]ReferencingObjectCache</code> classes have not been ported.
+        They have been fully rewritten as the <code>Cache</code> class with a different design.</p>
+      <p>This commit moves the <code>findPool</code> cache from <code>ReferencingObjectCache</code> to this class.
+        The same change applies naturally to SIS because <code>Cache</code> is a general-purpose class with nothing
+        specific to the referencing module. Consequently the same move needs to be apply in SIS too, independently
+        to this commit.</p>
+
+<p><b>Command line:</b></p>
+<blockquote><code>svn diff --extensions "--unified --ignore-space-change --ignore-all-space --ignore-eol-style" -r26023:26059 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/factory/ThreadedAuthorityFactory.java</code></blockquote>
+<table class="changes">
+<tr><th>Revision 26023</th><th>Revision 26059</th></tr>
+<tr><td><pre>import java.util.Iterator;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.logging.LogRecord;
+import java.util.logging.Level;
+import javax.units.Unit;</pre></td>
+<td><pre>import java.util.Iterator;
+import java.util.Collection;
+import java.util.Collections;
+<span class="add">import java.util.WeakHashMap;</span>
+import java.util.logging.LogRecord;
+import java.util.logging.Level;
+import javax.units.Unit;</pre></td></tr>
+<tr><td><pre>/**
+ * The cache for referencing objects.
+ */
+<span class="del">private final ReferencingObjectCache objectCache;</span>
+
+/**
+ * Constructs an instance wrapping the specified factory with a default number
+ * of entries to keep by strong reference.
+ * &lt;p&gt;</pre></td>
+<td><pre>/**
+ * The cache for referencing objects.
+ */
+<span class="add">private final OldReferencingObjectCache objectCache;</span>
+
+/**
+<span class="add"> * The pool of objects identified by {@link find}.</span>
+<span class="add"> */</span>
+<span class="add">private final Map findPool = new WeakHashMap();</span>
+<span class="add"></span>
+<span class="add"></span>
+<span class="add">/**</span>
+ * Constructs an instance wrapping the specified factory with a default number
+ * of entries to keep by strong reference.
+ * &lt;p&gt;</pre></td></tr>
+<tr><td><pre>        factory = ((ThreadedAuthorityFactory) factory).backingStore;
+    }
+    this.backingStore = factory;
+<span class="del">    this.objectCache = new DefaultReferencingObjectCache(maxStrongReferences);</span>
+    completeHints();
+}</pre></td>
+<td><pre>        factory = ((ThreadedAuthorityFactory) factory).backingStore;
+    }
+    this.backingStore = factory;
+<span class="add">    this.objectCache = new OldReferencingObjectCache(maxStrongReferences);</span>
+    completeHints();
+}</pre></td></tr>
+<tr><td><pre> */
+ThreadedAuthorityFactory(final int priority, final int maxStrongReferences) {
+    super(priority);
+<span class="del">    this.objectCache = new DefaultReferencingObjectCache(maxStrongReferences);</span>
+    // completeHints() will be invoked by DeferredAuthorityFactory.getBackingStore()
+}</pre></td>
+<td><pre> */
+ThreadedAuthorityFactory(final int priority, final int maxStrongReferences) {
+    super(priority);
+<span class="add">    this.objectCache = new OldReferencingObjectCache(maxStrongReferences);</span>
+    // completeHints() will be invoked by DeferredAuthorityFactory.getBackingStore()
+}</pre></td></tr>
+<tr><td><pre> *       waste of CPU.
+ */
+IdentifiedObject candidate;
+<span class="del">final Map findPool = objectCache.findPool();</span>
+synchronized (findPool) {
+    candidate = (IdentifiedObject) findPool.get(object);
+}</pre></td>
+<td><pre> *       waste of CPU.
+ */
+IdentifiedObject candidate;
+synchronized (findPool) {
+    candidate = (IdentifiedObject) findPool.get(object);
+}</pre></td></tr>
+<tr><td><pre>//@Override
+public String findIdentifier(final IdentifiedObject object) throws FactoryException {
+    IdentifiedObject candidate;
+<span class="del">    final Map findPool = objectCache.findPool();</span>
+    synchronized (findPool) {
+        candidate = (IdentifiedObject) findPool.get(object);
+    }</pre></td>
+<td><pre>//@Override
+public String findIdentifier(final IdentifiedObject object) throws FactoryException {
+    IdentifiedObject candidate;
+    synchronized (findPool) {
+        candidate = (IdentifiedObject) findPool.get(object);
+    }</pre></td></tr>
+</table>
+    </div>
+  </body>
+</html>

Propchange: sis/ip-review/rev/26059/ThreadedAuthorityFactory.xhtml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/ip-review/rev/26059/ThreadedAuthorityFactory.xhtml
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: sis/ip-review/rev/26212/AuthorityFactoryAdapter.xhtml
URL: http://svn.apache.org/viewvc/sis/ip-review/rev/26212/AuthorityFactoryAdapter.xhtml?rev=1718599&view=auto
==============================================================================
--- sis/ip-review/rev/26212/AuthorityFactoryAdapter.xhtml (added)
+++ sis/ip-review/rev/26212/AuthorityFactoryAdapter.xhtml Tue Dec  8 13:33:15 2015
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta charset="UTF-8"/>
+    <title>AuthorityFactoryAdapter changes for revisions 26211:26212</title>
+    <style type="text/css" media="all">
+      @import url("../../reports.css");
+    </style>
+  </head>
+  <body>
+    <div>
+      <h1>AuthorityFactoryAdapter changes for revisions 26211:26212</h1>
+      <p>Change of lower case "t" into upper case "T" in "GeoTools". This change obviously do not apply to Apache SIS.</p>
+
+<p><b>Command line:</b></p>
+<blockquote><code>svn diff --extensions "--unified --ignore-space-change --ignore-all-space --ignore-eol-style" -r26211:26212 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/factory/AuthorityFactoryAdapter.java</code></blockquote>
+<table class="changes">
+<tr><th>Revision 26211</th><th>Revision 26212</th></tr>
+<tr><td><pre>}
+
+/**
+<span class="del"> * Returns one of the underlying factories as an instance of the Geotools implementation. If</span>
+ * there is none of them, then returns {@code null} or throws an exception if {@code caller}
+ * is not null.
+ */</pre></td>
+<td><pre>}
+
+/**
+<span class="add"> * Returns one of the underlying factories as an instance of the GeoTools implementation. If</span>
+ * there is none of them, then returns {@code null} or throws an exception if {@code caller}
+ * is not null.
+ */</pre></td></tr>
+</table>
+    </div>
+  </body>
+</html>

Propchange: sis/ip-review/rev/26212/AuthorityFactoryAdapter.xhtml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/ip-review/rev/26212/AuthorityFactoryAdapter.xhtml
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: sis/ip-review/rev/26212/AuthorityFactoryProxy.xhtml
URL: http://svn.apache.org/viewvc/sis/ip-review/rev/26212/AuthorityFactoryProxy.xhtml?rev=1718599&view=auto
==============================================================================
--- sis/ip-review/rev/26212/AuthorityFactoryProxy.xhtml (added)
+++ sis/ip-review/rev/26212/AuthorityFactoryProxy.xhtml Tue Dec  8 13:33:15 2015
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta charset="UTF-8"/>
+    <title>AuthorityFactoryProxy changes for revisions 26211:26212</title>
+    <style type="text/css" media="all">
+      @import url("../../reports.css");
+    </style>
+  </head>
+  <body>
+    <div>
+      <h1>AuthorityFactoryProxy changes for revisions 26211:26212</h1>
+      <p>This change fixes a spelling error: "unknow" to "unknown". This correction is still present in Apache SIS.
+      So we took this commit...</p>
+
+<p><b>Command line:</b></p>
+<blockquote><code>svn diff --extensions "--unified --ignore-space-change --ignore-all-space --ignore-eol-style" -r26211:26212 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/factory/AuthorityFactoryProxy.java</code></blockquote>
+<table class="changes">
+<tr><th>Revision 26211</th><th>Revision 26212</th></tr>
+<tr><td><pre>* method will reduce the amount of tables to be queried.
+* &lt;p&gt;
+* This class is useful when the same {@code create} method need to be invoked often,
+<span class="del">* but is unknow at compile time. It may also be used as a workaround for authority</span>
+* factories that don't implement the {@code createObject} method.
+* &lt;p&gt;
+* &lt;b&gt;Example:&lt;/b&gt; The following code creates a proxy which will delegates its work to the</pre></td>
+<td><pre>* method will reduce the amount of tables to be queried.
+* &lt;p&gt;
+* This class is useful when the same {@code create} method need to be invoked often,
+<span class="add">* but is unknown at compile time. It may also be used as a workaround for authority</span>
+* factories that don't implement the {@code createObject} method.
+* &lt;p&gt;
+* &lt;b&gt;Example:&lt;/b&gt; The following code creates a proxy which will delegates its work to the</pre></td></tr>
+</table>
+    </div>
+  </body>
+</html>

Propchange: sis/ip-review/rev/26212/AuthorityFactoryProxy.xhtml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/ip-review/rev/26212/AuthorityFactoryProxy.xhtml
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: sis/ip-review/rev/26212/GeodeticAuthorityFactory.xhtml
URL: http://svn.apache.org/viewvc/sis/ip-review/rev/26212/GeodeticAuthorityFactory.xhtml?rev=1718599&view=auto
==============================================================================
--- sis/ip-review/rev/26212/GeodeticAuthorityFactory.xhtml (added)
+++ sis/ip-review/rev/26212/GeodeticAuthorityFactory.xhtml Tue Dec  8 13:33:15 2015
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta charset="UTF-8"/>
+    <title>GeodeticAuthorityFactory changes for revisions 26173:26212</title>
+    <style type="text/css" media="all">
+      @import url("../../reports.css");
+    </style>
+  </head>
+  <body>
+    <div>
+      <h1>GeodeticAuthorityFactory changes for revisions 26173:26212</h1>
+      <p>This change fixes a spelling error: "unknow" to "unknown". This correction is still present in Apache SIS.
+      So we took this commit…</p>
+
+      <p>The second change ("occured" to "occurs") has been reverted to "occurred" (spelling fixed) for consistency
+      with other javadoc.</p>
+<p><b>Command line:</b></p>
+<blockquote><code>svn diff --extensions "--unified --ignore-space-change --ignore-all-space --ignore-eol-style" -r26173:26212 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/factory/AbstractAuthorityFactory.java</code></blockquote>
+<table class="changes">
+<tr><th>Revision 26173</th><th>Revision 26212</th></tr>
+<tr><td><pre>public abstract Citation getAuthority();
+
+/**
+<span class="del"> * Returns a description of the underlying backing store, or {@code null} if unknow.</span>
+ * This is for example the database software used for storing the data.
+ * The default implementation returns always {@code null}.
+ *
+<span class="del"> * @throws FactoryException if a failure occured while fetching the engine description.</span>
+ */
+public String getBackingStoreDescription() throws FactoryException {
+    return null;</pre></td>
+<td><pre>public abstract Citation getAuthority();
+
+/**
+<span class="add"> * Returns a description of the underlying backing store, or {@code null} if unknown.</span>
+ * This is for example the database software used for storing the data.
+ * The default implementation returns always {@code null}.
+ *
+<span class="add"> * @throws FactoryException if a failure occurs while fetching the engine description.</span>
+ */
+public String getBackingStoreDescription() throws FactoryException {
+    return null;</pre></td></tr>
+</table>
+    </div>
+  </body>
+</html>

Propchange: sis/ip-review/rev/26212/GeodeticAuthorityFactory.xhtml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/ip-review/rev/26212/GeodeticAuthorityFactory.xhtml
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: sis/ip-review/rev/26212/HEADER.html
URL: http://svn.apache.org/viewvc/sis/ip-review/rev/26212/HEADER.html?rev=1718599&view=auto
==============================================================================
--- sis/ip-review/rev/26212/HEADER.html (added)
+++ sis/ip-review/rev/26212/HEADER.html Tue Dec  8 13:33:15 2015
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta charset="UTF-8"/>
+    <title>Revision 26212</title>
+  </head>
+  <body>
+    <div>
+      <h1>Revision 26212</h1>
+<table>
+  <tr><td><b>Author:</b></td><td>jgarnett</td></tr>
+  <tr><td><b>Date:</b></td><td>2007-07-12</td></tr>
+  <tr><td><b>Message:</b></td><td>Took AuthorityFactory2 out of the way, extended AbstractAuthorityFactory the way martin intentended, and started hooking up Finder implementations that use a shared ObjectCache. Set up a Level1/Level2 ObjectCache chain in order to allow the finder's cache to pull in values from the real one.</td></tr>
+</table>
+    </div>
+  </body>
+</html>

Propchange: sis/ip-review/rev/26212/HEADER.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/ip-review/rev/26212/HEADER.html
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: sis/ip-review/rev/26250/AllAuthoritiesFactory.xhtml
URL: http://svn.apache.org/viewvc/sis/ip-review/rev/26250/AllAuthoritiesFactory.xhtml?rev=1718599&view=auto
==============================================================================
--- sis/ip-review/rev/26250/AllAuthoritiesFactory.xhtml (added)
+++ sis/ip-review/rev/26250/AllAuthoritiesFactory.xhtml Tue Dec  8 13:33:15 2015
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta charset="UTF-8"/>
+    <title>AllAuthoritiesFactory changes for revisions 26249:26250</title>
+    <style type="text/css" media="all">
+      @import url("../../reports.css");
+    </style>
+  </head>
+  <body>
+    <div>
+      <h1>AllAuthoritiesFactory changes for revisions 26249:26250</h1>
+      <p>Changes in this commit have been reverted: we do not provide a <code>getProxy()</code> method.</p>
+
+<p><b>Command line:</b></p>
+<blockquote><code>svn diff --extensions "--unified --ignore-space-change --ignore-all-space --ignore-eol-style" -r26249:26250 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/factory/AllAuthoritiesFactory.java</code></blockquote>
+<table class="changes">
+<tr><th>Revision 26249</th><th>Revision 26250</th></tr>
+<tr><td><pre> * Returns all factories to try.
+ */
+private Set/*&lt;AuthorityFactory&gt;*/ fromFactoryRegistry() {
+<span class="del">    final ManyAuthoritiesFactory factory = (ManyAuthoritiesFactory) proxy.getAuthorityFactory();</span>
+<span class="del">    final Class/*&lt;? extends AuthorityFactory&gt;*/ type = proxy.getType();</span>
+    final Set factories = new LinkedHashSet();
+    for (final Iterator it=ReferencingFactoryFinder.getAuthorityNames().iterator(); it.hasNext();) {
+        final String authority = (String) it.next();</pre></td>
+<td><pre> * Returns all factories to try.
+ */
+private Set/*&lt;AuthorityFactory&gt;*/ fromFactoryRegistry() {
+<span class="add">    final ManyAuthoritiesFactory factory = (ManyAuthoritiesFactory) getProxy().getAuthorityFactory();</span>
+<span class="add">    final Class/*&lt;? extends AuthorityFactory&gt;*/ type = getProxy().getType();</span>
+    final Set factories = new LinkedHashSet();
+    for (final Iterator it=ReferencingFactoryFinder.getAuthorityNames().iterator(); it.hasNext();) {
+        final String authority = (String) it.next();</pre></td></tr>
+</table>
+    </div>
+  </body>
+</html>

Propchange: sis/ip-review/rev/26250/AllAuthoritiesFactory.xhtml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/ip-review/rev/26250/AllAuthoritiesFactory.xhtml
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: sis/ip-review/rev/26250/FallbackAuthorityFactory.xhtml
URL: http://svn.apache.org/viewvc/sis/ip-review/rev/26250/FallbackAuthorityFactory.xhtml?rev=1718599&view=auto
==============================================================================
--- sis/ip-review/rev/26250/FallbackAuthorityFactory.xhtml (added)
+++ sis/ip-review/rev/26250/FallbackAuthorityFactory.xhtml Tue Dec  8 13:33:15 2015
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta charset="UTF-8"/>
+    <title>FallbackAuthorityFactory changes for revisions 26249:26250</title>
+    <style type="text/css" media="all">
+      @import url("../../reports.css");
+    </style>
+  </head>
+  <body>
+    <div>
+      <h1>FallbackAuthorityFactory changes for revisions 26249:26250</h1>
+      <p>Changes in this commit have been reverted: we do not provide a <code>getProxy()</code> method.</p>
+
+<p><b>Command line:</b></p>
+<blockquote><code>svn diff --extensions "--unified --ignore-space-change --ignore-all-space --ignore-eol-style" -r26249:26250 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/factory/FallbackAuthorityFactory.java</code></blockquote>
+<table class="changes">
+<tr><th>Revision 26249</th><th>Revision 26250</th></tr>
+<tr><td><pre> */
+private void ensureFallback() throws FactoryException {
+    if (fallback == null) {
+<span class="del">        fallback = FallbackAuthorityFactory.this.getIdentifiedObjectFinder(proxy.getType());</span>
+    }
+    fallback.setFullScanAllowed(isFullScanAllowed());
+}</pre></td>
+<td><pre> */
+private void ensureFallback() throws FactoryException {
+    if (fallback == null) {
+<span class="add">        fallback = FallbackAuthorityFactory.this.getIdentifiedObjectFinder(getProxy().getType());</span>
+    }
+    fallback.setFullScanAllowed(isFullScanAllowed());
+}</pre></td></tr>
+</table>
+    </div>
+  </body>
+</html>

Propchange: sis/ip-review/rev/26250/FallbackAuthorityFactory.xhtml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/ip-review/rev/26250/FallbackAuthorityFactory.xhtml
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: sis/ip-review/rev/26250/HEADER.html
URL: http://svn.apache.org/viewvc/sis/ip-review/rev/26250/HEADER.html?rev=1718599&view=auto
==============================================================================
--- sis/ip-review/rev/26250/HEADER.html (added)
+++ sis/ip-review/rev/26250/HEADER.html Tue Dec  8 13:33:15 2015
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta charset="UTF-8"/>
+    <title>Revision 26250</title>
+  </head>
+  <body>
+    <div>
+      <h1>Revision 26250</h1>
+<table>
+  <tr><td><b>Author:</b></td><td>jgarnett</td></tr>
+  <tr><td><b>Date:</b></td><td>2007-07-14</td></tr>
+  <tr><td><b>Message:</b></td><td>find now works between mediator and worker; the end result was pretty elegant - the worker is configured with a seperate findCache in order not to distrupt the normal course of events</td></tr>
+</table>
+    </div>
+  </body>
+</html>

Propchange: sis/ip-review/rev/26250/HEADER.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/ip-review/rev/26250/HEADER.html
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: sis/ip-review/rev/26250/IdentifiedObjectFinder.xhtml
URL: http://svn.apache.org/viewvc/sis/ip-review/rev/26250/IdentifiedObjectFinder.xhtml?rev=1718599&view=auto
==============================================================================
--- sis/ip-review/rev/26250/IdentifiedObjectFinder.xhtml (added)
+++ sis/ip-review/rev/26250/IdentifiedObjectFinder.xhtml Tue Dec  8 13:33:15 2015
@@ -0,0 +1,272 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta charset="UTF-8"/>
+    <title>IdentifiedObjectFinder changes for revisions 26211:26250</title>
+    <style type="text/css" media="all">
+      @import url("../../reports.css");
+    </style>
+  </head>
+  <body>
+    <div>
+      <h1>IdentifiedObjectFinder changes for revisions 26211:26250</h1>
+      <p>Changes in this commit have been reverted: we do not provide a <code>getProxy()</code> method,
+      and we do not log (at this time) object creation failures.</p>
+
+<p><b>Command line:</b></p>
+<blockquote><code>svn diff --extensions "--unified --ignore-space-change --ignore-all-space --ignore-eol-style" -r26211:26250 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/factory/IdentifiedObjectFinder.java</code></blockquote>
+<table class="changes">
+<tr><th>Revision 26211</th><th>Revision 26250</th></tr>
+<tr><td><pre>// J2SE dependencies
+import java.util.Set;
+import java.util.Iterator;
+
+// OpenGIS dependencies
+import org.opengis.util.GenericName;</pre></td>
+<td><pre>// J2SE dependencies
+import java.util.Set;
+import java.util.Iterator;
+<span class="add">import java.util.logging.Level;</span>
+<span class="add">import java.util.logging.Logger;</span>
+
+// OpenGIS dependencies
+import org.opengis.util.GenericName;</pre></td></tr>
+<tr><td><pre> * @author Martin Desruisseaux
+ */
+public class IdentifiedObjectFinder {
+    /**
+     * The proxy for object creation.
+     */
+<span class="del">    final AuthorityFactoryProxy proxy;</span>
+
+    /**
+     * {@code true} for performing full scans, or {@code false} otherwise.</pre></td>
+<td><pre> * @author Martin Desruisseaux
+ */
+public class IdentifiedObjectFinder {
+<span class="add">    public static final Logger LOGGER = Logger.getLogger("org.geotools.referencing.factory.finder");</span>
+<span class="add"></span>
+    /**
+     * The proxy for object creation.
+     */
+<span class="add">    private AuthorityFactoryProxy proxy;</span>
+
+    /**
+     * {@code true} for performing full scans, or {@code false} otherwise.</pre></td></tr>
+<tr><td><pre> */
+private boolean fullScan = true;
+
+/**
+ * Creates a finder using the same proxy than the specified finder.
+ */
+IdentifiedObjectFinder(final IdentifiedObjectFinder finder) {
+<span class="del">    this.proxy = finder.proxy;</span>
+}
+
+/**</pre></td>
+<td><pre> */
+private boolean fullScan = true;
+
+<span class="add">/** Default constructor, subclass should provide an override for getProxy */</span>
+<span class="add">protected IdentifiedObjectFinder() {</span>
+<span class="add">}</span>
+<span class="add"></span>
+/**
+ * Creates a finder using the same proxy than the specified finder.
+ */
+IdentifiedObjectFinder(final IdentifiedObjectFinder finder) {
+<span class="add">    this.setProxy(finder.getProxy());</span>
+}
+
+/**</pre></td></tr>
+<tr><td><pre>protected IdentifiedObjectFinder(final AuthorityFactory factory,
+                                 final Class/*&lt;? extends IdentifiedObject&gt;*/ type)
+{
+<span class="del">    proxy = AuthorityFactoryProxy.getInstance(factory, type);</span>
+}
+
+/*</pre></td>
+<td><pre>protected IdentifiedObjectFinder(final AuthorityFactory factory,
+                                 final Class/*&lt;? extends IdentifiedObject&gt;*/ type)
+{
+<span class="add">    setProxy(AuthorityFactoryProxy.getInstance(factory, type));</span>
+}
+
+/*</pre></td></tr>
+<tr><td><pre> */
+
+/**
+ * If {@code true}, an exhaustive full scan against all registered objects
+ * will be performed (may be slow). Otherwise only a fast lookup based on
+ * embedded identifiers and names will be performed. The default value is</pre></td>
+<td><pre> */
+
+/**
+<span class="add"> * @return the proxy</span>
+<span class="add"> */</span>
+<span class="add">protected AuthorityFactoryProxy getProxy() {</span>
+<span class="add">    return proxy;</span>
+<span class="add">}</span>
+<span class="add"></span>
+<span class="add">/**</span>
+ * If {@code true}, an exhaustive full scan against all registered objects
+ * will be performed (may be slow). Otherwise only a fast lookup based on
+ * embedded identifiers and names will be performed. The default value is</pre></td></tr>
+<tr><td><pre>}
+
+/**
+ * Returns the identifier for the specified object.
+ */
+final String getIdentifier(final IdentifiedObject object) {
+<span class="del">    Citation authority = proxy.getAuthorityFactory().getAuthority();</span>
+    if (ReferencingFactory.ALL.equals(authority)) {
+        /*
+         * "All" is a pseudo-authority declared by AllAuthoritiesFactory. This is not a real</pre></td>
+<td><pre>}
+
+/**
+<span class="add"> * The Authority for this Finder; used during get Identifier.</span>
+<span class="add"> * @return Citation for the authority being represented.</span>
+<span class="add"> */</span>
+<span class="add">protected Citation getAuthority(){</span>
+<span class="add">    return getProxy().getAuthorityFactory().getAuthority();</span>
+<span class="add">}</span>
+<span class="add">/**</span>
+ * Returns the identifier for the specified object.
+ */
+final String getIdentifier(final IdentifiedObject object) {
+<span class="add">    Citation authority = getAuthority();</span>
+    if (ReferencingFactory.ALL.equals(authority)) {
+        /*
+         * "All" is a pseudo-authority declared by AllAuthoritiesFactory. This is not a real</pre></td></tr>
+<tr><td><pre> * @throws FactoryException if an error occured while creating an object.
+ */
+final IdentifiedObject createFromIdentifiers(final IdentifiedObject object) throws FactoryException {
+<span class="del">    final Citation authority = proxy.getAuthorityFactory().getAuthority();</span>
+    final boolean isAll = ReferencingFactory.ALL.equals(authority);
+    for (final Iterator it=object.getIdentifiers().iterator(); it.hasNext();) {
+        final Identifier id = (Identifier) it.next();</pre></td>
+<td><pre> * @throws FactoryException if an error occured while creating an object.
+ */
+final IdentifiedObject createFromIdentifiers(final IdentifiedObject object) throws FactoryException {
+<span class="add">    final Citation authority = getProxy().getAuthorityFactory().getAuthority();</span>
+    final boolean isAll = ReferencingFactory.ALL.equals(authority);
+    for (final Iterator it=object.getIdentifiers().iterator(); it.hasNext();) {
+        final Identifier id = (Identifier) it.next();</pre></td></tr>
+<tr><td><pre>}
+IdentifiedObject candidate;
+try {
+<span class="del">    candidate = proxy.create(id.getCode());</span>
+} catch (NoSuchAuthorityCodeException e) {
+    // The identifier was not recognized. No problem, let's go on.
+    continue;</pre></td>
+<td><pre>}
+IdentifiedObject candidate;
+try {
+<span class="add">    candidate = getProxy().create(id.getCode());</span>
+} catch (NoSuchAuthorityCodeException e) {
+    // The identifier was not recognized. No problem, let's go on.
+    continue;</pre></td></tr>
+<tr><td><pre>final IdentifiedObject createFromNames(final IdentifiedObject object) throws FactoryException {
+    IdentifiedObject candidate;
+    try {
+<span class="del">        candidate = proxy.create(object.getName().getCode());</span>
+        candidate = deriveEquivalent(candidate, object);
+        if (candidate != null) {
+            return candidate;</pre></td>
+<td><pre>final IdentifiedObject createFromNames(final IdentifiedObject object) throws FactoryException {
+    IdentifiedObject candidate;
+    try {
+<span class="add">        candidate = getProxy().create(object.getName().getCode());</span>
+        candidate = deriveEquivalent(candidate, object);
+        if (candidate != null) {
+            return candidate;</pre></td></tr>
+<tr><td><pre>for (final Iterator it=object.getAlias().iterator(); it.hasNext();) {
+    final GenericName id = (GenericName) it.next();
+    try {
+<span class="del">        candidate = proxy.create(id.toString());</span>
+    } catch (FactoryException e) {
+        // The name was not recognized. No problem, let's go on.
+        continue;</pre></td>
+<td><pre>for (final Iterator it=object.getAlias().iterator(); it.hasNext();) {
+    final GenericName id = (GenericName) it.next();
+    try {
+<span class="add">        candidate = getProxy().create(id.toString());</span>
+    } catch (FactoryException e) {
+        // The name was not recognized. No problem, let's go on.
+        continue;</pre></td></tr>
+<tr><td><pre>final String code = (String) it.next();
+IdentifiedObject candidate;
+try {
+<span class="del">    candidate = proxy.create(code);</span>
+<span class="del">} catch (FactoryException e) {</span>
+    // Some object cannot be created properly.
+    continue;
+}
+candidate = deriveEquivalent(candidate, object);
+if (candidate != null) {
+    return candidate;</pre></td>
+<td><pre>final String code = (String) it.next();
+IdentifiedObject candidate;
+try {
+<span class="add">    candidate = getProxy().create(code);</span>
+<span class="add">}</span>
+<span class="add">catch (FactoryException e) {</span>
+<span class="add">    LOGGER.log( Level.FINEST, "Could not create '"+code+"':"+e );</span>
+    // Some object cannot be created properly.
+    continue;
+}
+<span class="add">catch (Exception problemCode ){</span>
+<span class="add">    LOGGER.log( Level.FINEST, "Could not create '"+code+"':"+problemCode, problemCode );</span>
+<span class="add">    continue;</span>
+<span class="add">}</span>
+<span class="add"></span>
+candidate = deriveEquivalent(candidate, object);
+if (candidate != null) {
+    return candidate;</pre></td></tr>
+<tr><td><pre> * @throws FactoryException if an error occured while fetching the set of code candidates.
+ */
+protected Set/*&lt;String&gt;*/ getCodeCandidates(final IdentifiedObject object) throws FactoryException {
+<span class="del">    return proxy.getAuthorityCodes();</span>
+}
+
+/*</pre></td>
+<td><pre> * @throws FactoryException if an error occured while fetching the set of code candidates.
+ */
+protected Set/*&lt;String&gt;*/ getCodeCandidates(final IdentifiedObject object) throws FactoryException {
+<span class="add">    return getProxy().getAuthorityCodes();</span>
+}
+
+/*</pre></td></tr>
+<tr><td><pre> */
+//@Override
+public String toString() {
+<span class="del">    return proxy.toString(IdentifiedObjectFinder.class);</span>
+}</pre></td>
+<td><pre> */
+//@Override
+public String toString() {
+<span class="add">    return getProxy().toString(IdentifiedObjectFinder.class);</span>
+}</pre></td></tr>
+<tr><td><pre>/**
+ * A finder which delegate part of its work to an other finder. This adapter forwards
+ * some method calls to the underlying finder. This class should not be public, because
+ * not all method are overriden. The choice is tuned for {@link BufferedAuthorityFactory}</pre></td>
+<td><pre>/**
+<span class="add"> * @param proxy the proxy to set</span>
+<span class="add"> */</span>
+<span class="add">public void setProxy( AuthorityFactoryProxy proxy ) {</span>
+<span class="add">    this.proxy = proxy;</span>
+<span class="add">}</span>
+<span class="add"></span>
+<span class="add"></span>
+<span class="add"></span>
+<span class="add"></span>
+<span class="add">/**</span>
+ * A finder which delegate part of its work to an other finder. This adapter forwards
+ * some method calls to the underlying finder. This class should not be public, because
+ * not all method are overriden. The choice is tuned for {@link BufferedAuthorityFactory}</pre></td></tr>
+</table>
+    </div>
+  </body>
+</html>

Propchange: sis/ip-review/rev/26250/IdentifiedObjectFinder.xhtml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/ip-review/rev/26250/IdentifiedObjectFinder.xhtml
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: sis/ip-review/rev/26290/HEADER.html
URL: http://svn.apache.org/viewvc/sis/ip-review/rev/26290/HEADER.html?rev=1718599&view=auto
==============================================================================
--- sis/ip-review/rev/26290/HEADER.html (added)
+++ sis/ip-review/rev/26290/HEADER.html Tue Dec  8 13:33:15 2015
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta charset="UTF-8"/>
+    <title>Revision 26290</title>
+  </head>
+  <body>
+    <div>
+      <h1>Revision 26290</h1>
+<table>
+  <tr><td><b>Author:</b></td><td>jgarnett</td></tr>
+  <tr><td><b>Date:</b></td><td>2007-07-18</td></tr>
+  <tr><td><b>Message:</b></td><td>GeometryFactoryFinder added to referencing</td></tr>
+</table>
+    </div>
+  </body>
+</html>

Propchange: sis/ip-review/rev/26290/HEADER.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/ip-review/rev/26290/HEADER.html
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: sis/ip-review/rev/26290/ManyAuthoritiesFactory.xhtml
URL: http://svn.apache.org/viewvc/sis/ip-review/rev/26290/ManyAuthoritiesFactory.xhtml?rev=1718599&view=auto
==============================================================================
--- sis/ip-review/rev/26290/ManyAuthoritiesFactory.xhtml (added)
+++ sis/ip-review/rev/26290/ManyAuthoritiesFactory.xhtml Tue Dec  8 13:33:15 2015
@@ -0,0 +1,103 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta charset="UTF-8"/>
+    <title>ManyAuthoritiesFactory changes for revisions 26211:26290</title>
+    <style type="text/css" media="all">
+      @import url("../../reports.css");
+    </style>
+  </head>
+  <body>
+    <div>
+      <h1>ManyAuthoritiesFactory changes for revisions 26211:26290</h1>
+      <p>Changes in this commit do not apply to SIS: we do not provide a <code>getProxy()</code> method,
+        and we abandon the <code>FactoryFinder</code> classes (to be replaced by dependency injections).</p>
+
+<p><b>Command line:</b></p>
+<blockquote><code>svn diff --extensions "--unified --ignore-space-change --ignore-all-space --ignore-eol-style" -r26211:26290 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/factory/ManyAuthoritiesFactory.java</code></blockquote>
+<table class="changes">
+<tr><th>Revision 26211</th><th>Revision 26290</th></tr>
+<tr><td><pre>* by {@code "EPSG:"}, then this class delegates the object creation to one of the authority
+* factories provided to the constructor.
+* &lt;p&gt;
+<span class="del">* This class is not registered in {@link ReferencingFactoryFinder}, because it is not a real</span>
+* authority factory. There is not a single authority name associated to this factory, but rather
+* a set of names determined from all available authority factories.
+*</pre></td>
+<td><pre>* by {@code "EPSG:"}, then this class delegates the object creation to one of the authority
+* factories provided to the constructor.
+* &lt;p&gt;
+<span class="add">* This class is not registered in {@link GeometryFactoryFinder}, because it is not a real</span>
+* authority factory. There is not a single authority name associated to this factory, but rather
+* a set of names determined from all available authority factories.
+*</pre></td></tr>
+<tr><td><pre>/**
+ * A set of user-specified factories to try before to delegate to
+<span class="del"> * {@link ReferencingFactoryFinder}, or {@code null} if none.</span>
+ */
+private final Collection/*&lt;AuthorityFactory&gt;*/ factories;</pre></td>
+<td><pre>/**
+ * A set of user-specified factories to try before to delegate to
+<span class="add"> * {@link GeometryFactoryFinder}, or {@code null} if none.</span>
+ */
+private final Collection/*&lt;AuthorityFactory&gt;*/ factories;</pre></td></tr>
+<tr><td><pre> *
+ * @param userHints An optional set of hints, or {@code null} if none.
+ * @param factories A set of user-specified factories to try before to delegate
+<span class="del"> *        to {@link ReferencingFactoryFinder}.</span>
+ */
+public ManyAuthoritiesFactory(final Hints userHints,
+        final Collection/*&lt;? extends AuthorityFactory&gt;*/ factories)</pre></td>
+<td><pre> *
+ * @param userHints An optional set of hints, or {@code null} if none.
+ * @param factories A set of user-specified factories to try before to delegate
+<span class="add"> *        to {@link GeometryFactoryFinder}.</span>
+ */
+public ManyAuthoritiesFactory(final Hints userHints,
+        final Collection/*&lt;? extends AuthorityFactory&gt;*/ factories)</pre></td></tr>
+<tr><td><pre>/**
+ * Searchs for a factory of the given type. This method first search in user-supplied
+ * factories. If no user factory is found, then this method request for a factory using
+<span class="del"> * {@link ReferencingFactoryFinder}. The authority name is inferred from the specified code.</span>
+ *
+ * @param  type The interface to be implemented.
+ * @param  code The code of the object to create.</pre></td>
+<td><pre>/**
+ * Searchs for a factory of the given type. This method first search in user-supplied
+ * factories. If no user factory is found, then this method request for a factory using
+<span class="add"> * {@link GeometryFactoryFinder}. The authority name is inferred from the specified code.</span>
+ *
+ * @param  type The interface to be implemented.
+ * @param  code The code of the object to create.</pre></td></tr>
+<tr><td><pre> * Returns the user-supplied factories.
+ */
+final Collection getFactories() {
+<span class="del">    return ((ManyAuthoritiesFactory) proxy.getAuthorityFactory()).factories;</span>
+}
+
+/**</pre></td>
+<td><pre> * Returns the user-supplied factories.
+ */
+final Collection getFactories() {
+<span class="add">    return ((ManyAuthoritiesFactory) getProxy().getAuthorityFactory()).factories;</span>
+}
+
+/**</pre></td></tr>
+<tr><td><pre>}
+if (factory instanceof AbstractAuthorityFactory) {
+    final IdentifiedObjectFinder finder = ((AbstractAuthorityFactory) factory).
+<span class="del">            getIdentifiedObjectFinder(proxy.getType());</span>
+    if (finder != null) {
+        finder.setFullScanAllowed(isFullScanAllowed());
+        return finder;</pre></td>
+<td><pre>}
+if (factory instanceof AbstractAuthorityFactory) {
+    final IdentifiedObjectFinder finder = ((AbstractAuthorityFactory) factory).
+<span class="add">            getIdentifiedObjectFinder(getProxy().getType());</span>
+    if (finder != null) {
+        finder.setFullScanAllowed(isFullScanAllowed());
+        return finder;</pre></td></tr>
+</table>
+    </div>
+  </body>
+</html>

Propchange: sis/ip-review/rev/26290/ManyAuthoritiesFactory.xhtml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/ip-review/rev/26290/ManyAuthoritiesFactory.xhtml
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: sis/ip-review/rev/26290/URN_AuthorityFactory.xhtml
URL: http://svn.apache.org/viewvc/sis/ip-review/rev/26290/URN_AuthorityFactory.xhtml?rev=1718599&view=auto
==============================================================================
--- sis/ip-review/rev/26290/URN_AuthorityFactory.xhtml (added)
+++ sis/ip-review/rev/26290/URN_AuthorityFactory.xhtml Tue Dec  8 13:33:15 2015
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta charset="UTF-8"/>
+    <title>URN_AuthorityFactory changes for revisions 26289:26290</title>
+    <style type="text/css" media="all">
+      @import url("../../reports.css");
+    </style>
+  </head>
+  <body>
+    <div>
+      <h1>URN_AuthorityFactory changes for revisions 26289:26290</h1>
+      <p>This class will not be ported to SIS. Experience has shown that attempts to handle HTTP and URN factories
+        as <code>AuthorityFactory</code> was more a source of complications than conveniences.</p>
+
+<p><b>Command line:</b></p>
+<blockquote><code>svn diff --extensions "--unified --ignore-space-change --ignore-all-space --ignore-eol-style" -r26289:26290 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/factory/URN_AuthorityFactory.java</code></blockquote>
+<table class="changes">
+<tr><th>Revision 26289</th><th>Revision 26290</th></tr>
+<tr><td><pre>* name space. An exemple of complete URN is {@code "urn:ogc:def:crs:EPSG:6.8:4326"}.
+* &lt;p&gt;
+* Users don't need to create an instance of this class, since one is automatically
+<span class="del">* registered for use in {@link org.opengis.referencing.ReferencingFactoryFinder}.</span>
+*
+* @since 2.4
+* @source $URL$</pre></td>
+<td><pre>* name space. An exemple of complete URN is {@code "urn:ogc:def:crs:EPSG:6.8:4326"}.
+* &lt;p&gt;
+* Users don't need to create an instance of this class, since one is automatically
+<span class="add">* registered for use in {@link org.opengis.referencing.GeometryFactoryFinder}.</span>
+*
+* @since 2.4
+* @source $URL$</pre></td></tr>
+</table>
+    </div>
+  </body>
+</html>

Propchange: sis/ip-review/rev/26290/URN_AuthorityFactory.xhtml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/ip-review/rev/26290/URN_AuthorityFactory.xhtml
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: sis/ip-review/rev/29105/HEADER.html
URL: http://svn.apache.org/viewvc/sis/ip-review/rev/29105/HEADER.html?rev=1718599&view=auto
==============================================================================
--- sis/ip-review/rev/29105/HEADER.html (added)
+++ sis/ip-review/rev/29105/HEADER.html Tue Dec  8 13:33:15 2015
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta charset="UTF-8"/>
+    <title>Revision 29105</title>
+  </head>
+  <body>
+    <div>
+      <h1>Revision 29105</h1>
+<table>
+  <tr><td><b>Author:</b></td><td>aaime</td></tr>
+  <tr><td><b>Date:</b></td><td>2008-02-06</td></tr>
+  <tr><td><b>Message:</b></td><td>GEOT-1699 Hints.FORCE_LONGITUDE_FIRST_AXIS_ORDER breaks epsg-extension like factories</td></tr>
+</table>
+    </div>
+  </body>
+</html>

Propchange: sis/ip-review/rev/29105/HEADER.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/ip-review/rev/29105/HEADER.html
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: sis/ip-review/rev/29105/PropertyAuthorityFactory.xhtml
URL: http://svn.apache.org/viewvc/sis/ip-review/rev/29105/PropertyAuthorityFactory.xhtml?rev=1718599&view=auto
==============================================================================
--- sis/ip-review/rev/29105/PropertyAuthorityFactory.xhtml (added)
+++ sis/ip-review/rev/29105/PropertyAuthorityFactory.xhtml Tue Dec  8 13:33:15 2015
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta charset="UTF-8"/>
+    <title>PropertyAuthorityFactory changes for revisions 29104:29105</title>
+    <style type="text/css" media="all">
+      @import url("../../reports.css");
+    </style>
+  </head>
+  <body>
+    <div>
+      <h1>PropertyAuthorityFactory changes for revisions 29104:29105</h1>
+      <p>This class will be rewritten from scratch on top of <code>GeodeticAuthorityFactory</code> and using <code>WKTFormat</code>.
+        Furthermore we do not port the <code>Hints</code> framework to SIS, so this commit does not apply anyway.</p>
+
+<p><b>Command line:</b></p>
+<blockquote><code>svn diff --extensions "--unified --ignore-space-change --ignore-all-space --ignore-eol-style" -r29104:29105 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/factory/PropertyAuthorityFactory.java</code></blockquote>
+<table class="changes">
+<tr><th>Revision 29104</th><th>Revision 29105</th></tr>
+<tr><td><pre>super(factories, MINIMUM_PRIORITY + 10);
+// The following hints have no effect on this class behaviour,
+// but tell to the user what this factory do about axis order.
+<span class="del">hints.put(Hints.FORCE_LONGITUDE_FIRST_AXIS_ORDER, Boolean.FALSE);</span>
+hints.put(Hints.FORCE_STANDARD_AXIS_DIRECTIONS,   Boolean.FALSE);
+hints.put(Hints.FORCE_STANDARD_AXIS_UNITS,        Boolean.FALSE);
+ensureNonNull("authorities", authorities);</pre></td>
+<td><pre>super(factories, MINIMUM_PRIORITY + 10);
+// The following hints have no effect on this class behaviour,
+// but tell to the user what this factory do about axis order.
+hints.put(Hints.FORCE_STANDARD_AXIS_DIRECTIONS,   Boolean.FALSE);
+hints.put(Hints.FORCE_STANDARD_AXIS_UNITS,        Boolean.FALSE);
+ensureNonNull("authorities", authorities);</pre></td></tr>
+<tr><td><pre>    final Symbols s = Symbols.DEFAULT;
+    for (final Object wkt : this.definitions.values()) {
+        if (s.containsAxis((String) wkt)) {
+<span class="del">            return;</span>
+        }
+    }
+<span class="del">    hints.remove(Hints.FORCE_LONGITUDE_FIRST_AXIS_ORDER);</span>
+}
+
+/**</pre></td>
+<td><pre>    final Symbols s = Symbols.DEFAULT;
+    for (final Object wkt : this.definitions.values()) {
+        if (s.containsAxis((String) wkt)) {
+<span class="add">            LOGGER.warning("Axis elements found in a wkt definition, the force longitude " +</span>
+<span class="add">                    "first axis order hint might not be respected:\n" + wkt);</span>
+        }
+    }
+}
+
+/**</pre></td></tr>
+</table>
+    </div>
+  </body>
+</html>

Propchange: sis/ip-review/rev/29105/PropertyAuthorityFactory.xhtml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/ip-review/rev/29105/PropertyAuthorityFactory.xhtml
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: sis/ip-review/rev/29125/FallbackAuthorityFactory.xhtml
URL: http://svn.apache.org/viewvc/sis/ip-review/rev/29125/FallbackAuthorityFactory.xhtml?rev=1718599&view=auto
==============================================================================
--- sis/ip-review/rev/29125/FallbackAuthorityFactory.xhtml (added)
+++ sis/ip-review/rev/29125/FallbackAuthorityFactory.xhtml Tue Dec  8 13:33:15 2015
@@ -0,0 +1,66 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta charset="UTF-8"/>
+    <title>FallbackAuthorityFactory changes for revisions 29117:29125</title>
+    <style type="text/css" media="all">
+      @import url("../../reports.css");
+    </style>
+  </head>
+  <body>
+    <div>
+      <h1>FallbackAuthorityFactory changes for revisions 29117:29125</h1>
+      <p>The change of <code>proxy</code> to <code>getProxy()</code> does not apply to SIS since we will not provide that method.</p>
+      <p>The change of <code>==</code> to <code>!=</code> is a bug fix. However it does not apply to SIS since we do not plan to port this class.
+      This class history is reported for documentation purpose and in case we want to revisit whether we support this class in the future.</p>
+
+<p><b>Command line:</b></p>
+<blockquote><code>svn diff --extensions "--unified --ignore-space-change --ignore-all-space --ignore-eol-style" -r29117:29125 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/factory/FallbackAuthorityFactory.java</code></blockquote>
+<table class="changes">
+<tr><th>Revision 29117</th><th>Revision 29125</th></tr>
+<tr><td><pre> */
+private void ensureFallback() throws FactoryException {
+    if (fallback == null) {
+<span class="del">        fallback = FallbackAuthorityFactory.this.getIdentifiedObjectFinder(getProxy().getType());</span>
+    }
+    fallback.setFullScanAllowed(isFullScanAllowed());
+}</pre></td>
+<td><pre> */
+private void ensureFallback() throws FactoryException {
+    if (fallback == null) {
+<span class="add">        fallback = FallbackAuthorityFactory.this.fallback.getIdentifiedObjectFinder(getProxy().getType());</span>
+    }
+    fallback.setFullScanAllowed(isFullScanAllowed());
+}</pre></td></tr>
+<tr><td><pre>@Override
+public IdentifiedObject find(final IdentifiedObject object) throws FactoryException {
+    IdentifiedObject candidate = finder.find(object);
+<span class="del">    if (candidate == null) {</span>
+        return candidate;
+    }
+    ensureFallback();</pre></td>
+<td><pre>@Override
+public IdentifiedObject find(final IdentifiedObject object) throws FactoryException {
+    IdentifiedObject candidate = finder.find(object);
+<span class="add">    if (candidate != null) {</span>
+        return candidate;
+    }
+    ensureFallback();</pre></td></tr>
+<tr><td><pre>@Override
+public String findIdentifier(final IdentifiedObject object) throws FactoryException {
+    String candidate = finder.findIdentifier(object);
+<span class="del">    if (candidate == null) {</span>
+        return candidate;
+    }
+    ensureFallback();</pre></td>
+<td><pre>@Override
+public String findIdentifier(final IdentifiedObject object) throws FactoryException {
+    String candidate = finder.findIdentifier(object);
+<span class="add">    if (candidate != null) {</span>
+        return candidate;
+    }
+    ensureFallback();</pre></td></tr>
+</table>
+    </div>
+  </body>
+</html>

Propchange: sis/ip-review/rev/29125/FallbackAuthorityFactory.xhtml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/ip-review/rev/29125/FallbackAuthorityFactory.xhtml
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: sis/ip-review/rev/29125/HEADER.html
URL: http://svn.apache.org/viewvc/sis/ip-review/rev/29125/HEADER.html?rev=1718599&view=auto
==============================================================================
--- sis/ip-review/rev/29125/HEADER.html (added)
+++ sis/ip-review/rev/29125/HEADER.html Tue Dec  8 13:33:15 2015
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta charset="UTF-8"/>
+    <title>Revision 29125</title>
+  </head>
+  <body>
+    <div>
+      <h1>Revision 29125</h1>
+<table>
+  <tr><td><b>Author:</b></td><td>aaime</td></tr>
+  <tr><td><b>Date:</b></td><td>2008-02-07</td></tr>
+  <tr><td><b>Message:</b></td><td>GEOT-1702) Stack overflow error doing crs lookup,this time with unit tests</td></tr>
+</table>
+    </div>
+  </body>
+</html>

Propchange: sis/ip-review/rev/29125/HEADER.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/ip-review/rev/29125/HEADER.html
------------------------------------------------------------------------------
    svn:mime-type = text/html



Mime
View raw message