sis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From desruisse...@apache.org
Subject svn commit: r1661716 - in /sis: branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/ branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/util/ branches/JDK8/core/sis-utility/src/main/java/org...
Date Mon, 23 Feb 2015 16:56:53 GMT
Author: desruisseaux
Date: Mon Feb 23 16:56:53 2015
New Revision: 1661716

URL: http://svn.apache.org/r1661716
Log:
Workaround for a JDK bug: ServiceLoader does not support usage of 2 iterators before one iteration
is finished.
To workaround this bug, we use the LazySet internal class.

Added:
    sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/util/LazySet.java
  (with props)
    sis/ip-review/LazySet.xhtml   (with props)
    sis/ip-review/rev/10796/LazySet.xhtml   (with props)
    sis/ip-review/rev/20874/LazySet.xhtml   (with props)
Modified:
    sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.java
    sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/OperationMethodSet.java
    sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/resources/Messages_fr.properties
    sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/test/suite/UtilityTestSuite.java

Modified: sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.java?rev=1661716&r1=1661715&r2=1661716&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.java
[UTF-8] (original)
+++ sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.java
[UTF-8] Mon Feb 23 16:56:53 2015
@@ -44,6 +44,7 @@ import org.opengis.referencing.operation
 import org.opengis.util.FactoryException;
 import org.opengis.util.NoSuchIdentifierException;
 
+import org.apache.sis.internal.util.LazySet;
 import org.apache.sis.internal.util.Constants;
 import org.apache.sis.internal.referencing.Formulas;
 import org.apache.sis.internal.referencing.ReferencingUtilities;
@@ -226,7 +227,25 @@ public class DefaultMathTransformFactory
      * @see #reload()
      */
     public DefaultMathTransformFactory() {
-        this(ServiceLoader.load(OperationMethod.class));
+        /*
+         * WORKAROUND for a JDK bug: ServiceLoader do not support usage of two Iterator.
+         * Steps to reproduce:
+         *
+         *     ServiceLoader<ServiceLoaderTest> loader = ServiceLoader.load(ServiceLoaderTest.class);
+         *
+         *     Iterator<ServiceLoaderTest> it1 = loader.iterator();
+         *     assertTrue   ( it1.hasNext() );
+         *     assertNotNull( it1.next())   );
+         *
+         *     Iterator<ServiceLoaderTest> it2 = loader.iterator();
+         *     assertTrue   ( it1.hasNext()) );
+         *     assertTrue   ( it2.hasNext()) );
+         *     assertNotNull( it1.next())    );
+         *     assertNotNull( it2.next())    );     // ConcurrentModificationException here
!!!
+         *
+         * Wrapping the ServiceLoader in a LazySet avoid this issue.
+         */
+        this(new LazySet<>(ServiceLoader.load(OperationMethod.class).iterator()));
     }
 
     /**
@@ -294,6 +313,7 @@ public class DefaultMathTransformFactory
      */
     @Override
     public Set<OperationMethod> getAvailableMethods(final Class<? extends SingleOperation>
type) {
+        ArgumentChecks.ensureNonNull("type", type);
         OperationMethodSet set;
         synchronized (methodsByType) {
             set = methodsByType.get(type);
@@ -455,6 +475,7 @@ public class DefaultMathTransformFactory
         }
         if (Double.isNaN(actual)) {
             parameter.setValue(expected, unit);
+            return false;
         }
         return true;
     }

Modified: sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/OperationMethodSet.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/OperationMethodSet.java?rev=1661716&r1=1661715&r2=1661716&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/OperationMethodSet.java
[UTF-8] (original)
+++ sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/OperationMethodSet.java
[UTF-8] Mon Feb 23 16:56:53 2015
@@ -116,7 +116,8 @@ final class OperationMethodSet extends A
         }
         // Maintenance note: following check shall be consistent with the one in 'contains(Object)'.
         if (method instanceof DefaultOperationMethod) {
-            if (!type.isAssignableFrom(((DefaultOperationMethod) method).getOperationType()))
{
+            final Class<? extends SingleOperation> c = ((DefaultOperationMethod) method).getOperationType();
+            if (c != null && !type.isAssignableFrom(c)) {
                 return false;
             }
         }
@@ -217,7 +218,8 @@ final class OperationMethodSet extends A
     public boolean contains(final Object object) {
         // Maintenance note: following check shall be consistent with the one in 'transfer()'.
         if (object instanceof DefaultOperationMethod) {
-            if (!type.isAssignableFrom(((DefaultOperationMethod) object).getOperationType()))
{
+            final Class<? extends SingleOperation> c = ((DefaultOperationMethod) object).getOperationType();
+            if (c != null && !type.isAssignableFrom(c)) {
                 return false;
             }
         } else if (!(object instanceof OperationMethod)) {

Added: sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/util/LazySet.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/util/LazySet.java?rev=1661716&view=auto
==============================================================================
--- sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/util/LazySet.java
(added)
+++ sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/util/LazySet.java
[UTF-8] Mon Feb 23 16:56:53 2015
@@ -0,0 +1,168 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sis.internal.util;
+
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.AbstractSet;
+import java.util.NoSuchElementException;
+
+
+/**
+ * An immutable set built from an iterator, which will be filled only when needed.
+ * This implementation do <strong>not</strong> check if all elements in the iterator
+ * are really unique; we assume that it was already verified by the caller.
+ *
+ * @param <E> The type of elements in the set.
+ *
+ * @author  Martin Desruisseaux (IRD)
+ * @since   0.6
+ * @version 0.6
+ * @module
+ */
+public final class LazySet<E> extends AbstractSet<E> {
+    /**
+     * The iterator to use for filling this set, or {@code null} if the iteration is over.
+     */
+    private Iterator<? extends E> iterator;
+
+    /**
+     * The elements in this set. This array will grown as needed.
+     */
+    private E[] elements;
+
+    /**
+     * The current position in the iteration. This position will be incremented as long as
+     * there is some elements remaining in the iterator.
+     */
+    private int position;
+
+    /**
+     * Constructs a set to be filled using the specified iterator.
+     * Iteration in the given iterator will occurs only when needed.
+     *
+     * @param iterator The iterator to use for filling the set.
+     */
+    @SuppressWarnings("unchecked")
+    public LazySet(final Iterator<? extends E> iterator) {
+        this.iterator = iterator;
+        elements = (E[]) new Object[4];
+    }
+
+    /**
+     * Returns {@code true} if the {@link #iterator} is non-null and have more elements to
return.
+     */
+    private boolean hasNext() {
+        if (iterator != null) {
+            if (iterator.hasNext()) {
+                return true;
+            }
+            iterator = null;
+        }
+        return false;
+    }
+
+    /**
+     * Tests if this set has no element.
+     *
+     * @return {@code true} if this set has no element.
+     */
+    @Override
+    public boolean isEmpty() {
+        return (position == 0) && !hasNext();
+    }
+
+    /**
+     * Returns the number of elements in this set. Invoking this method
+     * forces the set to immediately iterates through all remaining elements.
+     *
+     * @return Number of elements in the iterator.
+     */
+    @Override
+    public int size() {
+        if (iterator != null) {
+            while (iterator.hasNext()) {
+                addNext();
+            }
+            iterator = null;
+        }
+        return position;
+    }
+
+    /**
+     * Adds the next element from the iterator to this set. This method does not check if
more
+     * element were available; the check must have been done before to invoke this method.
+     */
+    private void addNext() {
+        if (position >= elements.length) {
+            elements = Arrays.copyOf(elements, position*2);
+        }
+        elements[position++] = iterator.next();
+    }
+
+    /**
+     * Returns {@code true} if an element exists at the given index.
+     * The element is not loaded immediately.
+     *
+     * <p><strong>NOTE: This method is for use by iterators only.</strong>
+     * It is not suited for more general usage since it does not check for
+     * negative index and for skipped elements.</p>
+     */
+    final boolean exists(final int index) {
+        return (index < position) || hasNext();
+    }
+
+    /**
+     * Returns the element at the specified position in this set.
+     *
+     * @param index The index at which to get an element.
+     * @return The element at the requested index.
+     */
+    final E get(final int index) {
+        if (index >= position) {
+            if (hasNext()) {
+                addNext();
+            } else {
+                throw new NoSuchElementException();
+            }
+        }
+        return elements[index];
+    }
+
+    /**
+     * Returns an iterator over the elements contained in this set.
+     * This is not the same iterator than the one given to the constructor.
+     *
+     * @return An iterator over the elements in this set.
+     */
+    @Override
+    public Iterator<E> iterator() {
+        return new Iterator<E>() {
+            private int cursor;
+
+            @Override
+            public boolean hasNext() {
+                return exists(cursor);
+            }
+
+            @Override
+            public E next() {
+                return get(cursor++);
+            }
+        };
+    }
+}

Propchange: sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/util/LazySet.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/util/LazySet.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain;charset=UTF-8

Modified: sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/resources/Messages_fr.properties
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/resources/Messages_fr.properties?rev=1661716&r1=1661715&r2=1661716&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/resources/Messages_fr.properties
[ISO-8859-1] (original)
+++ sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/resources/Messages_fr.properties
[ISO-8859-1] Mon Feb 23 16:56:53 2015
@@ -22,5 +22,5 @@ IgnoredPropertiesAfterFirst_1   = Des pr
 IgnoredPropertyAssociatedTo_1   = Une propri\u00e9t\u00e9 associ\u00e9e \u00e0 \u2018{0}\u2019
a \u00e9t\u00e9 ignor\u00e9e.
 PropertyHiddenBy_2              = La propri\u00e9t\u00e9 \u00ab\u202f{0}\u202f\u00bb est
masqu\u00e9e par \u00ab\u202f{1}\u202f\u00bb.
 LocalesDiscarded                = Des textes ont \u00e9t\u00e9 ignor\u00e9s pour certaines
langues.
-MismatchedEllipsoidAxisLength_3 = Le param\u00e8tre \u00ab\u202f{1}\u202f\u00bb aurait pu
\u00eatre omis. Mais il lui a \u00e9t\u00e9 donn\u00e9 la {2} qui ne correspond pas \u00e0
la d\u00e9finition de l'ellipso\u00efde \u00ab\u202f{0}\u202f\u00bb.
+MismatchedEllipsoidAxisLength_3 = Le param\u00e8tre \u00ab\u202f{1}\u202f\u00bb aurait pu
\u00eatre omis. Mais il lui a \u00e9t\u00e9 donn\u00e9 la valeur {2} qui ne correspond pas
\u00e0 la d\u00e9finition de l'ellipso\u00efde \u00ab\u202f{0}\u202f\u00bb.
 UnparsableValueStoredAsText_2   = La valeur \u00ab\u202f{1}\u202f\u00bb ne peut pas \u00eatre
interpr\u00e9t\u00e9e comme une instance de \u2018{0}\u2019. Elle est donc m\u00e9moris\u00e9e
sous sa forme textuelle, mais sera ignor\u00e9e par certains traitements.

Modified: sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/test/suite/UtilityTestSuite.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/test/suite/UtilityTestSuite.java?rev=1661716&r1=1661715&r2=1661716&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/test/suite/UtilityTestSuite.java
[UTF-8] (original)
+++ sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/test/suite/UtilityTestSuite.java
[UTF-8] Mon Feb 23 16:56:53 2015
@@ -26,7 +26,7 @@ import org.junit.BeforeClass;
  *
  * @author  Martin Desruisseaux (Geomatys)
  * @since   0.3
- * @version 0.5
+ * @version 0.6
  * @module
  */
 @Suite.SuiteClasses({
@@ -78,6 +78,7 @@ import org.junit.BeforeClass;
     org.apache.sis.util.collection.CodeListSetTest.class,
     org.apache.sis.internal.util.CollectionsExtTest.class,
     org.apache.sis.internal.util.AbstractMapTest.class,
+    org.apache.sis.internal.util.LazySetTest.class,
 
     // GeoAPI most basic types.
     org.apache.sis.internal.util.DefinitionURITest.class,

Added: sis/ip-review/LazySet.xhtml
URL: http://svn.apache.org/viewvc/sis/ip-review/LazySet.xhtml?rev=1661716&view=auto
==============================================================================
--- sis/ip-review/LazySet.xhtml (added)
+++ sis/ip-review/LazySet.xhtml Mon Feb 23 16:56:53 2015
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta charset="UTF-8"/>
+    <title>LazySet history</title>
+    <style type="text/css" media="all">
+      @import url("./reports.css");
+    </style>
+  </head>
+  <body>
+    <div>
+      <h1>LazySet history</h1>
+  <p>Click on the commit message for inspecting the <code>diff</code> and
how the code has been rewritten.</p>
+<p><b>Command line:</b></p>
+<blockquote><code>svn log -r31996:1 http://svn.osgeo.org/geotools/trunk/modules/library/metadata/src/main/java/org/geotools/resources/LazySet.java</code></blockquote>
+<table>
+  <tr>
+    <th>Rev.</th>
+    <th>Date</th>
+    <th>Author</th>
+    <th class="last">Message</th>
+  </tr>
+<tr><td class="rev">30640</td><td>2008-06-12</td><td>acuster</td><td>Copyright
headers: lib/metadata, this time with feeling (and the el in Toolkit)</td></tr>
+<tr><td class="rev">30637</td><td>2008-06-12</td><td>acuster</td><td>Copyright
headers: lib/metadata, now normalized to LGPL v2.1 only</td></tr>
+<tr><td class="rev">30519</td><td>2008-06-05</td><td>acuster</td><td>Metadata
header cleanup and copyright review.</td></tr>
+<tr><td class="rev">30258</td><td>2008-05-08</td><td>acuster</td><td>Reshuffle
the top level repo: drop uDig, move up trunk, tags, and branches.</td></tr>
+<tr><td class="rev">30257</td><td>2008-05-08</td><td>acuster</td><td>Move
trunk/gt/ directory contents up to trunk/ and drop gt</td></tr>
+<tr><td class="rev">28922</td><td>2008-01-24</td><td>acuster</td><td>Bump
the (at)since version to 2.5 since WKTParser was cut from 2.4</td></tr>
+<tr><td class="rev">28540</td><td>2007-12-29</td><td>acuster</td><td>Hide
buttons which are not yet used</td></tr>
+<tr><td class="rev">27923</td><td>2007-11-18</td><td>desruisseaux</td><td>Applying
some more generic types, especially in the factory package. Required slight changes in the
way FactoryRegistry is used, as documented in http://docs.codehaus.org/display/GEOTOOLS/Fixing+compilation+errors</td></tr>
+<tr><td class="rev">27575</td><td>2007-10-22</td><td>desruisseaux</td><td>Converted
Java source files from ISO-LATIN-1 encoding to UTF-8 (GEOT-1516).</td></tr>
+<tr><td class="rev">27500</td><td>2007-10-15</td><td>desruisseaux</td><td>First
round of Java 5 generic types applied to org.geotools.resources and org.geotools.util packages.
As a side effect, removed the deprecated org.geotools.resources.TestData class (moved to org.geotools.test).</td></tr>
+<tr><td class="rev">22443</td><td>2006-10-27</td><td>desruisseaux</td><td>Splitted
referencing, extracting metadata in their own module (GEOT-983). As a side effect, replaced
some calls of CRSUtilities.foo(...) by CRS.foo(...).</td></tr>
+<tr><td class="rev">22327</td><td>2006-10-23</td><td>desruisseaux</td><td>GEOT-982:
regroup 'module', 'plugin', 'ext' and 'unsupported' in a common directory.</td></tr>
+<tr><td class="rev">22315</td><td>2006-10-22</td><td>desruisseaux</td><td>Reorganisation
of directory tree structure (GEOT-982) phase 1: moved 'src' to 'src/main/java'.</td></tr>
+<tr><td class="rev">20874</td><td>2006-08-07</td><td class="unav">jgarnett</td><td><a
href="rev/20874/LazySet.xhtml">ip review</a></td></tr>
+<tr><td class="rev">17672</td><td>2006-01-19</td><td>desruisseaux</td><td>Added
@source tag.</td></tr>
+<tr><td class="rev">17660</td><td>2006-01-18</td><td>desruisseaux</td><td>Fixed
SVN attributes, including the addition of URL attribute.</td></tr>
+<tr><td class="rev">15350</td><td>2005-08-16</td><td>desruisseaux</td><td>Merged
the 'split-main' branch to trunk (GEOT-662)</td></tr>
+<tr><td class="rev">15256</td><td>2005-08-09</td><td>desruisseaux</td><td>Extraction
of referencing module from main</td></tr>
+<tr><td class="rev">15255</td><td>2005-08-09</td><td>desruisseaux</td><td>Prepare
branch for splitting main</td></tr>
+<tr><td class="rev">14834</td><td>2005-07-20</td><td>desruisseaux</td><td>Reorganized
I18N resources</td></tr>
+<tr><td class="rev">13925</td><td>2005-05-30</td><td>desruisseaux</td><td>Added
@since javadoc tag</td></tr>
+<tr><td class="rev">11001</td><td>2005-02-02</td><td>desruisseaux</td><td>Fixed
wrong encoding in main/src</td></tr>
+<tr><td class="rev">10796</td><td>2005-01-28</td><td class="unav">dzwiers</td><td><a
href="rev/10796/LazySet.xhtml">imports cleaned</a></td></tr>
+<tr><td class="rev">6440</td><td>2004-06-13</td><td>desruisseaux</td><td>Added
GeocentricTransform / Added registry service in TransformFactory / Refactored JUnit tests</td></tr>
+</table>
+    </div>
+  </body>
+</html>

Propchange: sis/ip-review/LazySet.xhtml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/ip-review/LazySet.xhtml
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: sis/ip-review/rev/10796/LazySet.xhtml
URL: http://svn.apache.org/viewvc/sis/ip-review/rev/10796/LazySet.xhtml?rev=1661716&view=auto
==============================================================================
--- sis/ip-review/rev/10796/LazySet.xhtml (added)
+++ sis/ip-review/rev/10796/LazySet.xhtml Mon Feb 23 16:56:53 2015
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta charset="UTF-8"/>
+    <title>LazySet changes for revisions 10795:10796</title>
+    <style type="text/css" media="all">
+      @import url("../../reports.css");
+    </style>
+  </head>
+  <body>
+    <div>
+      <h1>LazySet changes for revisions 10795:10796</h1>
+<p>Changes in this commit seem to be the result of some "<cite>auto reformat</cite>"
tool execution.
+The <cite>Java</cite> - <cite>GeoAPI</cite> - <cite>GeoTools</cite>
import ordering is altered,
+imports used only in Javadoc are lost and the encoding of non-ASCII characters is broken.
+This commit has been reverted, except for the removal of really unused imports which are
keep removed.</p>
+<p><b>Command line:</b></p>
+<blockquote><code>svn diff --extensions "--unified --ignore-space-change --ignore-all-space
--ignore-eol-style" -r10795:10796 http://svn.osgeo.org/geotools/trunk/modules/library/metadata/src/main/java/org/geotools/resources/LazySet.java</code></blockquote>
+<table class="changes">
+<tr><th>Revision 10795</th><th>Revision 10796</th></tr>
+<tr><td><pre>/*
+ * Geotools 2 - OpenSource mapping toolkit
+ * (C) 2004, Geotools Project Managment Committee (PMC)
+<span class="del"> * (C) 2004, Institut de Recherche pour le Développement</span>
+ *
+ *    This library is free software; you can redistribute it and/or
+ *    modify it under the terms of the GNU Lesser General Public</pre></td>
+<td><pre>/*
+ * Geotools 2 - OpenSource mapping toolkit
+ * (C) 2004, Geotools Project Managment Committee (PMC)
+<span class="add"> * (C) 2004, Institut de Recherche pour le D�veloppement</span>
+ *
+ *    This library is free software; you can redistribute it and/or
+ *    modify it under the terms of the GNU Lesser General Public</pre></td></tr>
+<tr><td><pre>package org.geotools.resources;
+
+// J2SE direct dependencies
+import java.util.Iterator;
+<span class="del">import java.util.AbstractSet;</span>
+
+
+/**</pre></td>
+<td><pre>package org.geotools.resources;
+
+// J2SE direct dependencies
+<span class="add">import java.util.AbstractSet;</span>
+import java.util.Iterator;
+
+
+/**</pre></td></tr>
+</table>
+    </div>
+  </body>
+</html>

Propchange: sis/ip-review/rev/10796/LazySet.xhtml
------------------------------------------------------------------------------
    svn:eol-style = native

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

Added: sis/ip-review/rev/20874/LazySet.xhtml
URL: http://svn.apache.org/viewvc/sis/ip-review/rev/20874/LazySet.xhtml?rev=1661716&view=auto
==============================================================================
--- sis/ip-review/rev/20874/LazySet.xhtml (added)
+++ sis/ip-review/rev/20874/LazySet.xhtml Mon Feb 23 16:56:53 2015
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta charset="UTF-8"/>
+    <title>LazySet changes for revisions 20873:20874</title>
+    <style type="text/css" media="all">
+      @import url("../../reports.css");
+    </style>
+  </head>
+  <body>
+    <div>
+      <h1>LazySet 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/metadata/src/main/java/org/geotools/resources/LazySet.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) 2004, Geotools Project Managment Committee (PMC)</span>
+ * (C) 2004, Institut de Recherche pour le Développement
+ *
+ *    This library is free software; you can redistribute it and/or</pre></td>
+<td><pre>/*
+<span class="add"> *    GeoTools - OpenSource mapping toolkit</span>
+<span class="add"> *    http://geotools.org</span>
+<span class="add"> *    (C) 2004-2006, Geotools Project Managment Committee (PMC)</span>
+ * (C) 2004, Institut de Recherche pour le Développement
+ *
+ *    This library is free software; you can redistribute it and/or</pre></td></tr>
+<tr><td><pre> *    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.resources;</pre></td>
+<td><pre> *    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.resources;</pre></td></tr>
+</table>
+    </div>
+  </body>
+</html>

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

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



Mime
View raw message