Author: desruisseaux
Date: Tue Oct 30 16:16:46 2012
New Revision: 1403763

URL: http://svn.apache.org/viewvc?rev=1403763&view=rev
Log:
Removed X364 from public API (moved to internal package) because:
 - This is a very incomplete implementation of X3.64 standard;
 - Detection of whether X3.64 is supported or not is not very reliable;
 - X3.64 is a very old standard (back from VT100 days) and is kind deprecated 
today, despite being widely used.
 - There is other libraries dedicated to this standard, this is not Apache SIS 
job.

Added:
    
sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/internal/util/X364.java
      - copied, changed from r1403605, 
sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/io/X364.java
    
sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/internal/util/X364Test.java
      - copied, changed from r1403745, 
sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/io/X364Test.java
Removed:
    sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/io/X364.java
    sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/io/X364Test.java
Modified:
    
sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/internal/simple/package-info.java
    
sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/io/LineFormatter.java
    
sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/io/TableFormatter.java
    
sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/util/CharSequences.java
    
sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/io/LineFormatterTest.java
    
sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/io/TableFormatterTest.java
    
sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/test/suite/UtilityTestSuite.java

Modified: 
sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/internal/simple/package-info.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/internal/simple/package-info.java?rev=1403763&r1=1403762&r2=1403763&view=diff
==============================================================================
--- 
sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/internal/simple/package-info.java
 (original)
+++ 
sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/internal/simple/package-info.java
 Tue Oct 30 16:16:46 2012
@@ -16,7 +16,7 @@
  */
 
 /**
- * Simple implementations of some ISO interfaces.
+ * Simple implementations of some ISO or Java interfaces.
  *
  * <STRONG>Do not use!</STRONG>
  *

Copied: 
sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/internal/util/X364.java
 (from r1403605, 
sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/io/X364.java)
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/internal/util/X364.java?p2=sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/internal/util/X364.java&p1=sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/io/X364.java&r1=1403605&r2=1403763&rev=1403763&view=diff
==============================================================================
--- sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/io/X364.java 
(original)
+++ 
sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/internal/util/X364.java
 Tue Oct 30 16:16:46 2012
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sis.io;
+package org.apache.sis.internal.util;
 
 import org.apache.sis.util.CharSequences;
 import org.apache.sis.util.StringBuilders;
@@ -56,16 +56,16 @@ public enum X364 {
     /**
      * The first character of the {@link #START} escape string.
      */
-    static final char ESCAPE = '\u001B';
+    public static final char ESCAPE = '\u001B';
 
     /**
      * The second character of the {@link #START} escape string.
      */
-    static final char AFTER_ESCAPE = '[';
+    public static final char BRACKET = '[';
 
     /**
      * The Control Sequence Introducer (CSI).
-     * Must be the concatenation of {@link #ESCAPE} with {@link #AFTER_ESCAPE}.
+     * Must be the concatenation of {@link #ESCAPE} with {@link #BRACKET}.
      */
     private static final String START = "\u001B[";
 
@@ -78,17 +78,17 @@ public enum X364 {
     /**
      * The X3.64 code.
      */
-    private final byte code;
+    private final transient byte code;
 
     /**
-     * The X3.64 escape sequence. Created only when first needed.
+     * The X3.64 escape sequence, built when first needed.
      */
-    private transient String sequence;
+    private transient volatile String sequence;
 
     /**
      * Foreground or background flavors of this enum.
      */
-    private X364 foreground, background;
+    private transient X364 foreground, background;
 
     /**
      * Creates a new code.
@@ -136,10 +136,11 @@ public enum X364 {
      * @return The X3.64 escape sequence.
      */
     public String sequence() {
-        if (sequence == null) {
-            sequence = START + code + END;
+        String s = sequence;
+        if (s == null) {
+            sequence = s = START + code + END;
         }
-        return sequence;
+        return s;
     }
 
     /**

Modified: 
sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/io/LineFormatter.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/io/LineFormatter.java?rev=1403763&r1=1403762&r2=1403763&view=diff
==============================================================================
--- 
sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/io/LineFormatter.java
 (original)
+++ 
sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/io/LineFormatter.java
 Tue Oct 30 16:16:46 2012
@@ -22,6 +22,7 @@ import org.apache.sis.util.Decorator;
 import org.apache.sis.util.Characters;
 import org.apache.sis.util.CharSequences;
 import org.apache.sis.util.ArgumentChecks;
+import org.apache.sis.internal.util.X364;
 
 
 /**
@@ -53,10 +54,6 @@ import org.apache.sis.util.ArgumentCheck
  * length calculation; it does not replace tabulations by spaces. For 
tabulation expansion, see
  * {@link #setTabulationExpanded(boolean)}.</p>
  *
- * <p>The characters given to this filter can contain {@linkplain X364 X.364} 
escape sequences,
- * as this class will not count the space used by those escape sequences in 
the calculation of
- * line length.</p>
- *
  * @author  Martin Desruisseaux (Geomatys)
  * @since   0.3 (derived from geotk-3.00)
  * @version 0.3
@@ -129,7 +126,7 @@ public class LineFormatter extends Filte
 
     /**
      * {@code true} if an escape sequence is in progress. The escape sequence 
will stop
-     * after the first non-digit character other than {@link 
X364#AFTER_ESCAPE}.
+     * after the first non-digit character other than {@link X364#BRACKET}.
      */
     private boolean isEscapeSequence;
 
@@ -419,7 +416,7 @@ public class LineFormatter extends Filte
             if (previous != X364.ESCAPE) {
                 isEscapeSequence = (c >= '0' && c <= '9');
                 return; // The letter after the digits will be the last 
character to skip.
-            } else if (c == X364.AFTER_ESCAPE) {
+            } else if (c == X364.BRACKET) {
                 return; // Found the second part of the Control Sequence 
Introducer (CSI).
             }
             // [ESC] was not followed by '['. Proceed as a normal character.

Modified: 
sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/io/TableFormatter.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/io/TableFormatter.java?rev=1403763&r1=1403762&r2=1403763&view=diff
==============================================================================
--- 
sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/io/TableFormatter.java
 (original)
+++ 
sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/io/TableFormatter.java
 Tue Oct 30 16:16:46 2012
@@ -25,6 +25,7 @@ import java.io.IOException;
 import org.apache.sis.util.Decorator;
 import org.apache.sis.util.ArgumentChecks;
 import org.apache.sis.util.resources.Errors;
+import org.apache.sis.internal.util.X364;
 
 import static org.apache.sis.util.Arrays.EMPTY_INT;
 import static org.apache.sis.util.Characters.isLineOrParagraphSeparator;

Modified: 
sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/util/CharSequences.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/util/CharSequences.java?rev=1403763&r1=1403762&r2=1403763&view=diff
==============================================================================
--- 
sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/util/CharSequences.java
 (original)
+++ 
sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/util/CharSequences.java
 Tue Oct 30 16:16:46 2012
@@ -763,9 +763,9 @@ search:     for (; fromIndex <= stopAt; 
      *
      * <p>This method is similar in purpose to {@link String#trim()}, except 
that the later considers
      * every ASCII control codes below 32 to be a whitespace. This have the 
side effect of removing
-     * {@linkplain org.apache.sis.io.X364 X3.64} escape sequences as well. 
Users should invoke this
-     * {@code CharSequences.trimWhitespaces} method instead if they need to 
preserve X3.64 escape
-     * sequences.</p>
+     * ANSI escape sequences (a.k.a. X3.64) as well. Users should invoke this
+     * {@code CharSequences.trimWhitespaces} method instead if they need to 
preserve
+     * those ANSI escape sequences.</p>
      *
      * @param  text The text from which to remove leading and trailing white 
spaces, or {@code null}.
      * @return A characters sequence with leading and trailing white spaces 
removed,

Copied: 
sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/internal/util/X364Test.java
 (from r1403745, 
sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/io/X364Test.java)
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/internal/util/X364Test.java?p2=sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/internal/util/X364Test.java&p1=sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/io/X364Test.java&r1=1403745&r2=1403763&rev=1403763&view=diff
==============================================================================
--- sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/io/X364Test.java 
(original)
+++ 
sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/internal/util/X364Test.java
 Tue Oct 30 16:16:46 2012
@@ -14,13 +14,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sis.io;
+package org.apache.sis.internal.util;
 
 import org.junit.Test;
 import org.apache.sis.test.TestCase;
 
 import static org.junit.Assert.*;
-import static org.apache.sis.io.X364.*;
+import static org.apache.sis.internal.util.X364.*;
 
 
 /**

Modified: 
sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/io/LineFormatterTest.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/io/LineFormatterTest.java?rev=1403763&r1=1403762&r2=1403763&view=diff
==============================================================================
--- 
sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/io/LineFormatterTest.java
 (original)
+++ 
sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/io/LineFormatterTest.java
 Tue Oct 30 16:16:46 2012
@@ -20,7 +20,7 @@ import java.util.List;
 import java.util.Arrays;
 import java.io.IOException;
 import org.apache.sis.test.DependsOn;
-import org.apache.sis.util.CharSequencesTest;
+import org.apache.sis.internal.util.X364;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
 
@@ -39,7 +39,10 @@ import static org.apache.sis.util.Charac
  * @module
  */
 @RunWith(Parameterized.class)
-@DependsOn({CharSequencesTest.class, X364Test.class})
+@DependsOn({
+  org.apache.sis.util.CharSequencesTest.class,
+  org.apache.sis.internal.util.X364Test.class
+})
 public final strictfp class LineFormatterTest extends FormatterTestCase {
     /**
      * Returns all {@link LineFormatter} aspects to test. Each element of the 
returned list is

Modified: 
sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/io/TableFormatterTest.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/io/TableFormatterTest.java?rev=1403763&r1=1403762&r2=1403763&view=diff
==============================================================================
--- 
sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/io/TableFormatterTest.java
 (original)
+++ 
sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/io/TableFormatterTest.java
 Tue Oct 30 16:16:46 2012
@@ -18,7 +18,6 @@ package org.apache.sis.io;
 
 import java.io.IOException;
 import org.apache.sis.test.DependsOn;
-import org.apache.sis.util.CharSequencesTest;
 import org.junit.Test;
 
 import static org.junit.Assert.*;
@@ -32,7 +31,10 @@ import static org.junit.Assert.*;
  * @version 0.3
  * @module
  */
-@DependsOn({CharSequencesTest.class, X364Test.class, LineFormatterTest.class})
+@DependsOn({
+  org.apache.sis.util.CharSequencesTest.class,
+  org.apache.sis.internal.util.X364Test.class,
+  LineFormatterTest.class})
 public final strictfp class TableFormatterTest extends FormatterTestCase {
     /**
      * The table formatter to test. May not be same instance than {@link 
#formatter},

Modified: 
sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/test/suite/UtilityTestSuite.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/test/suite/UtilityTestSuite.java?rev=1403763&r1=1403762&r2=1403763&view=diff
==============================================================================
--- 
sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/test/suite/UtilityTestSuite.java
 (original)
+++ 
sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/test/suite/UtilityTestSuite.java
 Tue Oct 30 16:16:46 2012
@@ -58,7 +58,7 @@ import org.junit.runners.Suite;
   // Formatting
   org.apache.sis.measure.AngleFormatTest.class,
   org.apache.sis.measure.AngleTest.class,
-  org.apache.sis.io.X364Test.class,
+  org.apache.sis.internal.util.X364Test.class,
   org.apache.sis.io.LineFormatterTest.class,
   org.apache.sis.io.TableFormatterTest.class,
 


Reply via email to