sis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From desruisse...@apache.org
Subject svn commit: r1719995 [2/2] - in /sis/ip-review: ./ rev/05922/ rev/06410/ rev/10894/ rev/20577/ rev/20874/ rev/24925/ rev/25707/ rev/25940/ rev/26086/ rev/26250/
Date Mon, 14 Dec 2015 19:56:58 GMT
Added: sis/ip-review/rev/20874/TableInfo.xhtml
URL: http://svn.apache.org/viewvc/sis/ip-review/rev/20874/TableInfo.xhtml?rev=1719995&view=auto
==============================================================================
--- sis/ip-review/rev/20874/TableInfo.xhtml (added)
+++ sis/ip-review/rev/20874/TableInfo.xhtml Mon Dec 14 19:56:58 2015
@@ -0,0 +1,58 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta charset="UTF-8"/>
+    <title>TableInfo changes for revisions 20873:20874</title>
+    <style type="text/css" media="all">
+      @import url("../../reports.css");
+    </style>
+  </head>
+  <body>
+    <div>
+      <h1>TableInfo changes for revisions 20873:20874</h1>
+<p>Changes in GeoTools header only. The removal of the <cite>"or (at your option)
any later version"</cite> clause
+must be keep in Geotk for every classes having contribution from a developer other than those
who accepted re-licensing.
+This header does not apply to Apache SIS, since the above-cited contributions are omitted.</p>
+<p><b>Command line:</b></p>
+<blockquote><code>svn diff --extensions "--unified --ignore-space-change --ignore-all-space
--ignore-eol-style" -r20873:20874 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/factory/epsg/TableInfo.java</code></blockquote>
+<table class="changes">
+<tr><th>Revision 20873</th><th>Revision 20874</th></tr>
+<tr><td><pre>/*
+<span class="del"> * Geotools 2 - OpenSource mapping toolkit</span>
+<span class="del"> * (C) 2005, Geotools Project Managment Committee (PMC)</span>
+ *
+ *    This library is free software; you can redistribute it and/or
+ *    modify it under the terms of the GNU Lesser General Public
+<span class="del"> *    License as published by the Free Software Foundation; either</span>
+<span class="del"> *    version 2.1 of the License, or (at your option) any later version.</span>
+ *
+ *    This library is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *    Lesser General Public License for more details.
+<span class="del"> *</span>
+<span class="del"> *    You should have received a copy of the GNU Lesser General Public</span>
+<span class="del"> *    License along with this library; if not, write to the Free
Software</span>
+<span class="del"> *    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
 USA</span>
+ */
+package org.geotools.referencing.factory.epsg;</pre></td>
+<td><pre>/*
+<span class="add"> *    GeoTools - OpenSource mapping toolkit</span>
+<span class="add"> *    http://geotools.org</span>
+<span class="add"> *    (C) 2005-2006, GeoTools Project Managment Committee (PMC)</span>
+ *
+ *    This library is free software; you can redistribute it and/or
+ *    modify it under the terms of the GNU Lesser General Public
+<span class="add"> *    License as published by the Free Software Foundation;</span>
+<span class="add"> *    version 2.1 of the License.</span>
+ *
+ *    This library is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *    Lesser General Public License for more details.
+ */
+package org.geotools.referencing.factory.epsg;</pre></td></tr>
+</table>
+    </div>
+  </body>
+</html>

Propchange: sis/ip-review/rev/20874/TableInfo.xhtml
------------------------------------------------------------------------------
    svn:eol-style = native

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

Added: sis/ip-review/rev/24925/EPSGFactory.xhtml
URL: http://svn.apache.org/viewvc/sis/ip-review/rev/24925/EPSGFactory.xhtml?rev=1719995&view=auto
==============================================================================
--- sis/ip-review/rev/24925/EPSGFactory.xhtml (added)
+++ sis/ip-review/rev/24925/EPSGFactory.xhtml Mon Dec 14 19:56:58 2015
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta charset="UTF-8"/>
+    <title>EPSGFactory changes for revisions 24924:24925</title>
+    <style type="text/css" media="all">
+      @import url("../../reports.css");
+    </style>
+  </head>
+  <body>
+    <div>
+      <h1>EPSGFactory changes for revisions 24924:24925</h1>
+      <p>The modified line has been removed.</p>
+<p><b>Command line:</b></p>
+<blockquote><code>svn diff --extensions "--unified --ignore-space-change --ignore-all-space
--ignore-eol-style" -r24924:24925 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/factory/epsg/DirectEpsgFactory.java</code></blockquote>
+<table class="changes">
+<tr><th>Revision 24924</th><th>Revision 24925</th></tr>
+<tr><td><pre>final QuantitativeResultImpl                 accuracyResult;
+final AbsoluteExternalPositionalAccuracyImpl accuracyElement;
+accuracyResult = new QuantitativeResultImpl(new double[]{accuracy});
+<span class="del">accuracyResult.setValueType(Float.class); // This is the type declared
in the MS-Access database.</span>
+accuracyResult.setValueUnit(SI.METER); // In meters by definition in the EPSG database.
+accuracyElement = new AbsoluteExternalPositionalAccuracyImpl(accuracyResult);
+accuracyElement.setMeasureDescription(TRANSFORMATION_ACCURACY);</pre></td>
+<td><pre>final QuantitativeResultImpl                 accuracyResult;
+final AbsoluteExternalPositionalAccuracyImpl accuracyElement;
+accuracyResult = new QuantitativeResultImpl(new double[]{accuracy});
+<span class="add">//accuracyResult.setValueType(Float.class); // This is the type declared
in the MS-Access database.</span>
+accuracyResult.setValueUnit(SI.METER); // In meters by definition in the EPSG database.
+accuracyElement = new AbsoluteExternalPositionalAccuracyImpl(accuracyResult);
+accuracyElement.setMeasureDescription(TRANSFORMATION_ACCURACY);</pre></td></tr>
+</table>
+    </div>
+  </body>
+</html>

Propchange: sis/ip-review/rev/24925/EPSGFactory.xhtml
------------------------------------------------------------------------------
    svn:eol-style = native

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

Added: sis/ip-review/rev/25707/EPSGFactory.xhtml
URL: http://svn.apache.org/viewvc/sis/ip-review/rev/25707/EPSGFactory.xhtml?rev=1719995&view=auto
==============================================================================
--- sis/ip-review/rev/25707/EPSGFactory.xhtml (added)
+++ sis/ip-review/rev/25707/EPSGFactory.xhtml Mon Dec 14 19:56:58 2015
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta charset="UTF-8"/>
+    <title>EPSGFactory changes for revisions 25706:25707</title>
+    <style type="text/css" media="all">
+      @import url("../../reports.css");
+    </style>
+  </head>
+  <body>
+    <div>
+      <h1>EPSGFactory changes for revisions 25706:25707</h1>
+      <p>This commit is mostly a reformatting of the comment; there is no obvious change
in the content.
+      Anyway, those comments have been reworded and expanded in SIS.</p>
+
+<p><b>Command line:</b></p>
+<blockquote><code>svn diff --extensions "--unified --ignore-space-change --ignore-all-space
--ignore-eol-style" -r25706:25707 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/factory/epsg/DirectEpsgFactory.java</code></blockquote>
+<table class="changes">
+<tr><th>Revision 25706</th><th>Revision 25707</th></tr>
+<tr><td><pre>/**
+ * The set of authority codes for different types. This map is used by the
+<span class="del"> * {@link #getAuthorityCodes} method. Note that this factory can't
be disposed</span>
+<span class="del"> * as long as some cached sets are in use (i.e. as long as this map
is not empty).</span>
+<span class="del"> * This is why a weak value map is mandatory here. The {@link AuthorityCodes#finalize}</span>
+<span class="del"> * methods take care of closing the stamenents used by the sets.</span>
+ */
+private final Map/*&lt;Class,Reference&lt;AuthorityCodes&gt;&gt;*/ authorityCodes
= new HashMap();</pre></td>
+<td><pre>/**
+ * The set of authority codes for different types. This map is used by the
+<span class="add"> * {@link #getAuthorityCodes} method.</span>
+<span class="add"> * &lt;p&gt;</span>
+<span class="add"> * Note that this factory can't be disposed as long as some cached
sets are in use (i.e. as long as this map is not empty).</span>
+<span class="add"> * This is why a weak value map is mandatory here.</span>
+<span class="add"> *</span>
+<span class="add"> * The {@link AuthorityCodes#finalize} methods take care of closing
the stamenents used by the sets.</span>
+ */
+private final Map/*&lt;Class,Reference&lt;AuthorityCodes&gt;&gt;*/ authorityCodes
= new HashMap();</pre></td></tr>
+</table>
+    </div>
+  </body>
+</html>

Propchange: sis/ip-review/rev/25707/EPSGFactory.xhtml
------------------------------------------------------------------------------
    svn:eol-style = native

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

Added: sis/ip-review/rev/25707/HEADER.html
URL: http://svn.apache.org/viewvc/sis/ip-review/rev/25707/HEADER.html?rev=1719995&view=auto
==============================================================================
--- sis/ip-review/rev/25707/HEADER.html (added)
+++ sis/ip-review/rev/25707/HEADER.html Mon Dec 14 19:56:58 2015
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta charset="UTF-8"/>
+    <title>Revision 25707</title>
+  </head>
+  <body>
+    <div>
+      <h1>Revision 25707</h1>
+<table>
+  <tr><td><b>Author:</b></td><td>jgarnett</td></tr>
+  <tr><td><b>Date:</b></td><td>2007-05-31</td></tr>
+  <tr><td><b>Message:</b></td><td>cleaned up comment
that confused me</td></tr>
+</table>
+    </div>
+  </body>
+</html>

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

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

Added: sis/ip-review/rev/25940/AuthorityCodes.xhtml
URL: http://svn.apache.org/viewvc/sis/ip-review/rev/25940/AuthorityCodes.xhtml?rev=1719995&view=auto
==============================================================================
--- sis/ip-review/rev/25940/AuthorityCodes.xhtml (added)
+++ sis/ip-review/rev/25940/AuthorityCodes.xhtml Mon Dec 14 19:56:58 2015
@@ -0,0 +1,69 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta charset="UTF-8"/>
+    <title>AuthorityCodes changes for revisions 25939:25940</title>
+    <style type="text/css" media="all">
+      @import url("../../reports.css");
+    </style>
+  </head>
+  <body>
+    <div>
+      <h1>AuthorityCodes changes for revisions 25939:25940</h1>
+      <p>This commit has been excluded from SIS as below:</p>
+      <ul>
+        <li>A new <code>serialVersionUID</code> number has been computed.</li>
+        <li>The renaming to <code>DirectEpsgFactory</code> has not been
retained.
+          Instead, SIS uses a plain <code>EPSGFactory</code> class name.</li>
+      </ul>
+
+<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/epsg/AuthorityCodes.java</code></blockquote>
+<table class="changes">
+<tr><th>Revision 25939</th><th>Revision 25940</th></tr>
+<tr><td><pre> * @author Martin Desruisseaux
+ */
+final class AuthorityCodes extends AbstractSet implements Serializable {
+    /**
+     * The logger name.
+     */</pre></td>
+<td><pre> * @author Martin Desruisseaux
+ */
+final class AuthorityCodes extends AbstractSet implements Serializable {
+<span class="add">    private static final long serialVersionUID = 7105664579449680562L;</span>
+<span class="add"></span>
+    /**
+     * The logger name.
+     */</pre></td></tr>
+<tr><td><pre> * set is in use. This is required because {@link FactoryUsingSQL#finalize}
closes the JDBC
+ * connections.
+ */
+<span class="del">private final FactoryUsingSQL factory;</span>
+
+/**
+ * The type for this code set. This is translated to the most appropriate</pre></td>
+<td><pre> * set is in use. This is required because {@link FactoryUsingSQL#finalize}
closes the JDBC
+ * connections.
+ */
+<span class="add">private final DirectEpsgFactory factory;</span>
+
+/**
+ * The type for this code set. This is translated to the most appropriate</pre></td></tr>
+<tr><td><pre>public AuthorityCodes(final Connection      connection,
+                      final TableInfo       table,
+                      final Class           type,
+<span class="del">                      final FactoryUsingSQL factory)</span>
+{
+    this.factory    = factory;
+    this.connection = connection;</pre></td>
+<td><pre>public AuthorityCodes(final Connection      connection,
+                      final TableInfo       table,
+                      final Class           type,
+<span class="add">                      final DirectEpsgFactory factory)</span>
+{
+    this.factory    = factory;
+    this.connection = connection;</pre></td></tr>
+</table>
+    </div>
+  </body>
+</html>

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

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

Added: sis/ip-review/rev/25940/EPSGFactory.xhtml
URL: http://svn.apache.org/viewvc/sis/ip-review/rev/25940/EPSGFactory.xhtml?rev=1719995&view=auto
==============================================================================
--- sis/ip-review/rev/25940/EPSGFactory.xhtml (added)
+++ sis/ip-review/rev/25940/EPSGFactory.xhtml Mon Dec 14 19:56:58 2015
@@ -0,0 +1,276 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta charset="UTF-8"/>
+    <title>EPSGFactory changes for revisions 25800:25940</title>
+    <style type="text/css" media="all">
+      @import url("../../reports.css");
+    </style>
+  </head>
+  <body>
+    <div>
+      <h1>EPSGFactory changes for revisions 25800:25940</h1>
+      <p>The main changes in those commits are:</p>
+      <ul>
+        <li>The most useful change is in the SQL statement where <code>AS FILE</code>
as been changed to <code>AS FILEREF</code>.
+            The issue here is that <code>FILE</code> is a reserved keyword in
Oracle database. This can be seen on the
+            <a href="http://docs.oracle.com/cd/B19306_01/server.102/b14200/ap_keywd.htm">Oracle
Database Reserved Words</a> page (verified December 14, 2015).
+            Once we know that <code>FILE</code> is a reserved keyword, the name
chosen as a substitute (<code>FILEREF</code> in this commit) is irrelevant.
+            In SIS, we use <code>PARAM_FILE</code> by analogy with the <code>PARAMETERFILE</code>
keyword defined in ISO 19162 (WKT 2) for the same thing.</li>
+        <li>Those commits rename <code>FactoryUsingSQL</code> as <code>DirectEpsgFactory</code>
and <code>DefaultFactory</code> as <code>ThreadedEpsgFactory</code>.
+            Apache SIS use different class names: <code>EPSGFactory</code> and
a subclass of <code>ConcurrentAuthorityFactory</code> (final name to be determined)
respectively.</li>
+        <li>Those commits make the class abstract and cite the subclasses in Javadoc.
This change has been reverted.</li>
+        <li>Those commits edit the comment for the <code>adaptSQL</code>
method. We reworded this comment in SIS.</li>
+      </ul>
+
+<p><b>Command line:</b></p>
+<blockquote><code>svn diff --extensions "--unified --ignore-space-change --ignore-all-space
--ignore-eol-style" -r25800:25940 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/factory/epsg/DirectEpsgFactory.java</code></blockquote>
+<table class="changes">
+<tr><th>Revision 25800</th><th>Revision 25940</th></tr>
+<tr><td><pre>import org.geotools.referencing.factory.AbstractAuthorityFactory;
+import org.geotools.referencing.factory.DirectAuthorityFactory;
+import org.geotools.referencing.factory.IdentifiedObjectFinder;
+<span class="del">import org.geotools.referencing.factory.FactoryGroup;</span>
+import org.geotools.referencing.NamedIdentifier;
+import org.geotools.referencing.datum.DefaultGeodeticDatum;
+import org.geotools.referencing.datum.BursaWolfParameters;</pre></td>
+<td><pre>import org.geotools.referencing.factory.AbstractAuthorityFactory;
+import org.geotools.referencing.factory.DirectAuthorityFactory;
+import org.geotools.referencing.factory.IdentifiedObjectFinder;
+import org.geotools.referencing.NamedIdentifier;
+import org.geotools.referencing.datum.DefaultGeodeticDatum;
+import org.geotools.referencing.datum.BursaWolfParameters;</pre></td></tr>
+<tr><td><pre>/**
+<span class="del"> * Default implementation for a coordinate reference system factory
backed by the EPSG database.</span>
+ * The EPSG database is freely available at &lt;A HREF="http://www.epsg.org"&gt;http://www.epsg.org&lt;/a&gt;.
+ * Current version of this class requires EPSG database version 6.6 or above.
+ * &lt;p&gt;
+ * This factory doesn't cache any result. Any call to a {@code createFoo} method will send
a new
+ * query to the EPSG database. For caching, this factory should be wrapped in some buffered
factory
+<span class="del"> * like {@link DefaultFactory}.</span>
+ * &lt;p&gt;
+<span class="del"> * This factory accepts names as well as numerical identifiers. For
example</span>
+ * "&lt;cite&gt;NTF (Paris) / France I&lt;/cite&gt;" and {@code "27581"}
both fetchs the same object.
+ * However, names may be ambiguous since the same name may be used for more than one object.
+ * This is the case of "WGS 84" for example. If such an ambiguity is found, an exception</pre></td>
+<td><pre>/**
+<span class="add"> * A coordinate reference system factory backed by the EPSG database
tables.</span>
+<span class="add"> * &lt;p&gt;</span>
+ * The EPSG database is freely available at &lt;A HREF="http://www.epsg.org"&gt;http://www.epsg.org&lt;/a&gt;.
+ * Current version of this class requires EPSG database version 6.6 or above.
+ * &lt;p&gt;
+ * This factory doesn't cache any result. Any call to a {@code createFoo} method will send
a new
+ * query to the EPSG database. For caching, this factory should be wrapped in some buffered
factory
+<span class="add"> * like {@link ThreadedEpsgFactory}.</span>
+ * &lt;p&gt;
+<span class="add"> * This class is abstract - please see the subclasses for dialect
specific implementations:</span>
+<span class="add"> * &lt;ul&gt;</span>
+<span class="add"> * &lt;li&gt;{@link AccessDialectEpsgFactory}</span>
+<span class="add"> * &lt;li&gt;{@link OracleDialectEpsgFactory}</span>
+<span class="add"> * &lt;li&gt;{@link OracleDialectEpsgFactory}</span>
+<span class="add"> * &lt;li&gt;{@link PostgreSQLDialectEpsgFactory}</span>
+<span class="add"> * &lt;/ul&gt;</span>
+<span class="add"> * These factories accepts names as well as numerical identifiers.
For example</span>
+ * "&lt;cite&gt;NTF (Paris) / France I&lt;/cite&gt;" and {@code "27581"}
both fetchs the same object.
+ * However, names may be ambiguous since the same name may be used for more than one object.
+ * This is the case of "WGS 84" for example. If such an ambiguity is found, an exception</pre></td></tr>
+<tr><td><pre>* will be thrown. If names are not wanted as a legal EPSG
code, subclasses can override the
+* {@link #isPrimaryKey} method.
+* &lt;p&gt;
+<span class="del">* This factory uses the MS-Access dialect of SQL, because the primary
distribution format for the</span>
+<span class="del">* EPSG database is MS-Access. For translating this SQL dialect into
an other one, subclasses</span>
+<span class="del">* should override the {@link #adaptSQL} method.</span>
+*
+* @since 2.1
+* @source $URL$</pre></td>
+<td><pre>* will be thrown. If names are not wanted as a legal EPSG code, subclasses
can override the
+* {@link #isPrimaryKey} method.
+* &lt;p&gt;
+*
+* @since 2.1
+* @source $URL$</pre></td></tr>
+<tr><td><pre> * @author Matthias Basler
+ * @author Andrea Aime
+ */
+<span class="del">public class FactoryUsingSQL extends DirectAuthorityFactory</span>
+        implements CRSAuthorityFactory, CSAuthorityFactory, DatumAuthorityFactory,
+                   CoordinateOperationAuthorityFactory
+{</pre></td>
+<td><pre> * @author Matthias Basler
+ * @author Andrea Aime
+ */
+<span class="add">public abstract class DirectEpsgFactory extends DirectAuthorityFactory</span>
+        implements CRSAuthorityFactory, CSAuthorityFactory, DatumAuthorityFactory,
+                   CoordinateOperationAuthorityFactory
+{</pre></td></tr>
+<tr><td><pre>/**
+ * The name of the thread to execute at JVM shutdown. This thread will be created
+<span class="del"> * by {@link DefaultFactory} on registration. It will be checked
by {@link #dispose}</span>
+ * in order to determine if we are in the process for shutting down the database engine.
+ */
+static final String SHUTDOWN_THREAD = "EPSG factory shutdown";</pre></td>
+<td><pre>/**
+ * The name of the thread to execute at JVM shutdown. This thread will be created
+<span class="add"> * by {@link ThreadedEpsgFactory} on registration. It will be checked
by {@link #dispose}</span>
+ * in order to determine if we are in the process for shutting down the database engine.
+ */
+static final String SHUTDOWN_THREAD = "EPSG factory shutdown";</pre></td></tr>
+<tr><td><pre> * the sets. The {@link AuthorityCodes} reference in this
map is then cleared by the garbage
+ * collector. The {@link #canDispose} method checks if there is any remaining live reference
+ * in this map, and returns {@code false} if some are found (thus blocking the call to
+<span class="del"> * {@link #dispose} by the {@link DefaultFactory} timer).</span>
+ */
+private final Map/*&lt;Class,Reference&lt;AuthorityCodes&gt;&gt;*/ authorityCodes
= new HashMap();</pre></td>
+<td><pre> * the sets. The {@link AuthorityCodes} reference in this map is then
cleared by the garbage
+ * collector. The {@link #canDispose} method checks if there is any remaining live reference
+ * in this map, and returns {@code false} if some are found (thus blocking the call to
+<span class="add"> * {@link #dispose} by the {@link ThreadedEpsgFactory} timer).</span>
+ */
+private final Map/*&lt;Class,Reference&lt;AuthorityCodes&gt;&gt;*/ authorityCodes
= new HashMap();</pre></td></tr>
+<tr><td><pre>/**
+ * The buffered authority factory, or {@code this} if none. This field is set
+<span class="del"> * to a different value by {@link DefaultFactory} only, which will
point toward a</span>
+ * buffered factory wrapping this {@code FactoryUsingSQL} for efficienty.
+ */
+AbstractAuthorityFactory buffered = this;</pre></td>
+<td><pre>/**
+ * The buffered authority factory, or {@code this} if none. This field is set
+<span class="add"> * to a different value by {@link ThreadedEpsgFactory} only, which
will point toward a</span>
+ * buffered factory wrapping this {@code FactoryUsingSQL} for efficienty.
+ */
+AbstractAuthorityFactory buffered = this;</pre></td></tr>
+<tr><td><pre> *
+ * @since 2.2
+ */
+<span class="del">public FactoryUsingSQL(final Hints userHints, final Connection connection)
{</span>
+    super(userHints, MAXIMUM_PRIORITY-20);
+    // The following hints have no effect on this class behaviour,
+    // but tell to the user what this factory do about axis order.</pre></td>
+<td><pre> *
+ * @since 2.2
+ */
+<span class="add">public DirectEpsgFactory(final Hints userHints, final Connection
connection) {</span>
+    super(userHints, MAXIMUM_PRIORITY-20);
+    // The following hints have no effect on this class behaviour,
+    // but tell to the user what this factory do about axis order.</pre></td></tr>
+<tr><td><pre>    statement.close();
+} catch (SQLException exception) {
+    org.geotools.util.Logging.unexpectedException(LOGGER.getName(),
+<span class="del">            FactoryUsingSQL.class, "getAuthority", exception);</span>
+    return Citations.EPSG;
+}
+return authority;</pre></td>
+<td><pre>    statement.close();
+} catch (SQLException exception) {
+    org.geotools.util.Logging.unexpectedException(LOGGER.getName(),
+<span class="add">            DirectEpsgFactory.class, "getAuthority", exception);</span>
+    return Citations.EPSG;
+}
+return authority;</pre></td></tr>
+<tr><td><pre>} catch (NumberFormatException exception) {
+    // Not a fatal error...
+    org.geotools.util.Logging.unexpectedException(LOGGER.getName(),
+<span class="del">            FactoryUsingSQL.class, "createDatum", exception);</span>
+}
+final DatumFactory factory = factories.getDatumFactory();
+final Datum datum;</pre></td>
+<td><pre>} catch (NumberFormatException exception) {
+    // Not a fatal error...
+    org.geotools.util.Logging.unexpectedException(LOGGER.getName(),
+<span class="add">            DirectEpsgFactory.class, "createDatum", exception);</span>
+}
+final DatumFactory factory = factories.getDatumFactory();
+final Datum datum;</pre></td></tr>
+<tr><td><pre> */
+final PreparedStatement units = prepareStatement("ParameterUnit",
+                                  "SELECT MIN(UOM_CODE) AS UOM,"
+<span class="del">                                 +      " MIN(PARAM_VALUE_FILE_REF)
AS FILE"</span>
+                                 +    " FROM [Coordinate_Operation Parameter Value]"
+                                 +   " WHERE (PARAMETER_CODE = ?)"
+                                 + " GROUP BY UOM_CODE"</pre></td>
+<td><pre> */
+final PreparedStatement units = prepareStatement("ParameterUnit",
+                                  "SELECT MIN(UOM_CODE) AS UOM,"
+<span class="add">                                 +      " MIN(PARAM_VALUE_FILE_REF)
AS FILEREF"</span>
+                                 +    " FROM [Coordinate_Operation Parameter Value]"
+                                 +   " WHERE (PARAMETER_CODE = ?)"
+                                 + " GROUP BY UOM_CODE"</pre></td></tr>
+<tr><td><pre>/**
+ * Returns a set of authority codes that &lt;strong&gt;may&lt;/strong&gt;
identify the same object
+ * than the specified one. This implementation tries to get a smaller set than what
+<span class="del"> * {@link FactoryUsingSQL#getAuthorityCodes} would produce.</span>
+ */
+//@Override
+protected Set getCodeCandidates(final IdentifiedObject object) throws FactoryException {</pre></td>
+<td><pre>/**
+ * Returns a set of authority codes that &lt;strong&gt;may&lt;/strong&gt;
identify the same object
+ * than the specified one. This implementation tries to get a smaller set than what
+<span class="add"> * {@link DirectEpsgFactory#getAuthorityCodes} would produce.</span>
+ */
+//@Override
+protected Set getCodeCandidates(final IdentifiedObject object) throws FactoryException {</pre></td></tr>
+<tr><td><pre> * Invoked when a new {@link PreparedStatement} is about to
be created from a SQL string.
+ * Since the &lt;A HREF="http://www.epsg.org"&gt;EPSG database&lt;/A&gt;
is available mainly in MS-Access
+ * format, SQL statements are formatted using some syntax specific to this particular database
+<span class="del"> * software (for example "&lt;code&gt;SELECT * FROM [Coordinate
Reference System]&lt;/code&gt;"). If the</span>
+<span class="del"> * EPSG database is ported to an other software, then this method
should be overridden in order</span>
+<span class="del"> * to adapt the SQL syntax. For example a subclass connecting to
a</span>
+<span class="del"> * &lt;cite&gt;PostgreSQL&lt;/cite&gt; database could
replace all spaces ("&amp;nbsp;") between</span>
+<span class="del"> * watching braces ("[" and "]") by underscore ("_").</span>
+<span class="del"> *</span>
+ * @param  statement The statement in MS-Access syntax.
+ * @return The SQL statement to use. The default implementation returns the string unchanged.
+ */
+<span class="del">protected String adaptSQL(final String statement) {</span>
+<span class="del">    return statement;</span>
+<span class="del">}</span>
+
+/**
+ * Returns {@code true} if the specified code may be a primary key in some table. This method</pre></td>
+<td><pre> * Invoked when a new {@link PreparedStatement} is about to be created
from a SQL string.
+ * Since the &lt;A HREF="http://www.epsg.org"&gt;EPSG database&lt;/A&gt;
is available mainly in MS-Access
+ * format, SQL statements are formatted using some syntax specific to this particular database
+<span class="add"> * software (for example "&lt;code&gt;SELECT * FROM [Coordinate
Reference System]&lt;/code&gt;"). When</span>
+<span class="add"> * prociding subclass targeting another database vendor, then this
method should be overridden</span>
+<span class="add"> * in order to adapt the local SQL syntax.</span>
+<span class="add"> * &lt;p&gt;</span>
+<span class="add"> * For example a subclass connecting to a &lt;cite&gt;PostgreSQL&lt;/cite&gt;
database could replace</span>
+<span class="add"> * all spaces ("&amp;nbsp;") between watching braces ("[" and
"]") by underscore ("_").</span>
+<span class="add"> * &lt;/p&gt;</span>
+ * @param  statement The statement in MS-Access syntax.
+ * @return The SQL statement to use. The default implementation returns the string unchanged.
+ */
+<span class="add">abstract protected String adaptSQL(final String statement);</span>
+
+/**
+ * Returns {@code true} if the specified code may be a primary key in some table. This method</pre></td></tr>
+<tr><td><pre>/**
+ * Returns {@code true} if it is safe to dispose this factory. This method is invoked indirectly
+<span class="del"> * by {@link DefaultFactory} after some timeout in order to release
resources. This method will</span>
+ * block the disposal if some {@linkplain #getAuthorityCodes set of authority codes} are
still
+ * in use.
+ */</pre></td>
+<td><pre>/**
+ * Returns {@code true} if it is safe to dispose this factory. This method is invoked indirectly
+<span class="add"> * by {@link ThreadedEpsgFactory} after some timeout in order to
release resources. This method will</span>
+ * block the disposal if some {@linkplain #getAuthorityCodes set of authority codes} are
still
+ * in use.
+ */</pre></td></tr>
+<tr><td><pre>}
+
+/**
+<span class="del"> * Shutdown the database engine. This method is invoked twice by
{@link DefaultFactory}</span>
+ * at JVM shutdown: one time before the {@linkplain #connection} is closed, and a second
+ * time after. This shutdown hook is usefull for &lt;cite&gt;embedded&lt;/cite&gt;
database engine
+ * starting a server process in addition to the client process. Just closing the connection</pre></td>
+<td><pre>}
+
+/**
+<span class="add"> * Shutdown the database engine. This method is invoked twice by
{@link ThreadedEpsgFactory}</span>
+ * at JVM shutdown: one time before the {@linkplain #connection} is closed, and a second
+ * time after. This shutdown hook is usefull for &lt;cite&gt;embedded&lt;/cite&gt;
database engine
+ * starting a server process in addition to the client process. Just closing the connection</pre></td></tr>
+</table>
+    </div>
+  </body>
+</html>

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

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

Added: sis/ip-review/rev/26086/HEADER.html
URL: http://svn.apache.org/viewvc/sis/ip-review/rev/26086/HEADER.html?rev=1719995&view=auto
==============================================================================
--- sis/ip-review/rev/26086/HEADER.html (added)
+++ sis/ip-review/rev/26086/HEADER.html Mon Dec 14 19:56:58 2015
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta charset="UTF-8"/>
+    <title>Revision 26086</title>
+  </head>
+  <body>
+    <div>
+      <h1>Revision 26086</h1>
+<table>
+  <tr><td><b>Author:</b></td><td>jgarnett</td></tr>
+  <tr><td><b>Date:</b></td><td>2007-06-29</td></tr>
+  <tr><td><b>Message:</b></td><td>Start in on AbstractEpsgFactory,
trying to collapse much of the abstraction</td></tr>
+</table>
+    </div>
+  </body>
+</html>

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

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

Added: sis/ip-review/rev/26086/TableInfo.xhtml
URL: http://svn.apache.org/viewvc/sis/ip-review/rev/26086/TableInfo.xhtml?rev=1719995&view=auto
==============================================================================
--- sis/ip-review/rev/26086/TableInfo.xhtml (added)
+++ sis/ip-review/rev/26086/TableInfo.xhtml Mon Dec 14 19:56:58 2015
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta charset="UTF-8"/>
+    <title>TableInfo changes for revisions 26085:26086</title>
+    <style type="text/css" media="all">
+      @import url("../../reports.css");
+    </style>
+  </head>
+  <body>
+    <div>
+      <h1>TableInfo changes for revisions 26085:26086</h1>
+<p>This change has been reverted.</p>
+<p><b>Command line:</b></p>
+<blockquote><code>svn diff --extensions "--unified --ignore-space-change --ignore-all-space
--ignore-eol-style" -r26085:26086 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/factory/epsg/TableInfo.java</code></blockquote>
+<table class="changes">
+<tr><th>Revision 26085</th><th>Revision 26086</th></tr>
+<tr><td><pre>        this.subTypes   = subTypes;
+        this.typeNames  = typeNames;
+    }
+}</pre></td>
+<td><pre>        this.subTypes   = subTypes;
+        this.typeNames  = typeNames;
+    }
+<span class="add"></span>
+<span class="add">    /**</span>
+<span class="add">     * We test 'isTypeOf' by checking isAssignableFrom both ways,
which may seems strange but try</span>
+<span class="add">     * to catch the following use cases:</span>
+<span class="add">     * &lt;ul&gt;</span>
+<span class="add">     * &lt;li&gt;table.type.isAssignableFrom(kind)</span>
+<span class="add">     *    is for the case where a table is for CoordinateReferenceSystem
while the user</span>
+<span class="add">     *    type is some subtype like GeographicCRS. The GeographicCRS
need to be queried</span>
+<span class="add">     *    into the CoordinateReferenceSystem table. An additional
filter will be applied</span>
+<span class="add">     *    inside the AuthorityCodes class implementation.</span>
+<span class="add">     * &lt;ul&gt;kind.isAssignableFrom(table.type)</span>
+<span class="add">     *    is for the case where the user type is IdentifiedObject
or Object, in which</span>
+<span class="add">     *    case we basically want to iterate through every tables.</span>
+<span class="add">     * &lt;/ul&gt;</span>
+<span class="add">     */</span>
+<span class="add">    public boolean isTypeOf( Class kind ){</span>
+<span class="add">        return (type.isAssignableFrom(kind) || kind.isAssignableFrom(type));</span>
+}
+<span class="add">}</span></pre></td></tr>
+</table>
+    </div>
+  </body>
+</html>

Propchange: sis/ip-review/rev/26086/TableInfo.xhtml
------------------------------------------------------------------------------
    svn:eol-style = native

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

Added: sis/ip-review/rev/26250/EPSGFactory.xhtml
URL: http://svn.apache.org/viewvc/sis/ip-review/rev/26250/EPSGFactory.xhtml?rev=1719995&view=auto
==============================================================================
--- sis/ip-review/rev/26250/EPSGFactory.xhtml (added)
+++ sis/ip-review/rev/26250/EPSGFactory.xhtml Mon Dec 14 19:56:58 2015
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta charset="UTF-8"/>
+    <title>EPSGFactory changes for revisions 26249:26250</title>
+    <style type="text/css" media="all">
+      @import url("../../reports.css");
+    </style>
+  </head>
+  <body>
+    <div>
+      <h1>EPSGFactory changes for revisions 26249:26250</h1>
+<p>This commit has been reverted.</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/epsg/DirectEpsgFactory.java</code></blockquote>
+<table class="changes">
+<tr><th>Revision 26249</th><th>Revision 26250</th></tr>
+<tr><td><pre>if (semiMinorAxis != 0) {
+    // Both 'inverseFlattening' and 'semiMinorAxis' are defined.
+    // Log a warning and create the ellipsoid using the inverse flattening.
+<span class="del">    LOGGER.log(Logging.format(Level.WARNING, LoggingKeys.AMBIGUOUS_ELLIPSOID));</span>
+}
+ellipsoid = factories.getDatumFactory().createFlattenedSphere(
+            properties, semiMajorAxis, inverseFlattening, unit);</pre></td>
+<td><pre>if (semiMinorAxis != 0) {
+    // Both 'inverseFlattening' and 'semiMinorAxis' are defined.
+    // Log a warning and create the ellipsoid using the inverse flattening.
+<span class="add">    LOGGER.log(Logging.format(Level.WARNING, LoggingKeys.AMBIGUOUS_ELLIPSOID,code));</span>
+}
+ellipsoid = factories.getDatumFactory().createFlattenedSphere(
+            properties, semiMajorAxis, inverseFlattening, unit);</pre></td></tr>
+</table>
+    </div>
+  </body>
+</html>

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

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




Mime
View raw message