You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by se...@apache.org on 2014/12/31 02:23:26 UTC
svn commit: r1648642 -
/commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/DomainValidatorTest.java
Author: sebb
Date: Wed Dec 31 01:23:26 2014
New Revision: 1648642
URL: http://svn.apache.org/r1648642
Log:
Add code for developers to check inbuilt list against iana tld
Modified:
commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/DomainValidatorTest.java
Modified: commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/DomainValidatorTest.java
URL: http://svn.apache.org/viewvc/commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/DomainValidatorTest.java?rev=1648642&r1=1648641&r2=1648642&view=diff
==============================================================================
--- commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/DomainValidatorTest.java (original)
+++ commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/DomainValidatorTest.java Wed Dec 31 01:23:26 2014
@@ -16,6 +16,15 @@
*/
package org.apache.commons.validator.routines;
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.FileReader;
+import java.io.InputStream;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.util.Locale;
+
import junit.framework.TestCase;
/**
@@ -110,4 +119,37 @@ public class DomainValidatorTest extends
public void testIDN() {
assertTrue("b\u00fccher.ch in IDN should validate", validator.isValid("www.xn--bcher-kva.ch"));
}
+
+ // Download and process local copy of http://data.iana.org/TLD/tlds-alpha-by-domain.txt
+ // Check if the internal TLD table is up to date
+ public static void main(String a[]) throws Exception {
+ DomainValidator dv = DomainValidator.getInstance();;
+ File f = new File("target/tlds-alpha-by-domain.txt");
+ if (!f.canRead()) {
+ String tldurl="http://data.iana.org/TLD/tlds-alpha-by-domain.txt";
+ System.out.println("Downloading " + tldurl);
+ byte buff[] = new byte[1024];
+ HttpURLConnection hc = (HttpURLConnection) new URL(tldurl).openConnection();
+ InputStream is = hc.getInputStream();
+ FileOutputStream fos = new FileOutputStream(f);
+ while(is.read(buff) != -1) {
+ fos.write(buff);
+ }
+ fos.close();
+ is.close();
+ System.out.println("Done");
+ }
+ BufferedReader br = new BufferedReader(new FileReader(f));
+ System.out.println("Entries missing from TLD List");
+ String line;
+ while((line = br.readLine()) != null) {
+ if (!line.startsWith("#")) {
+ if (!dv.isValidTld(line)) {
+ System.out.println(line.toLowerCase(Locale.ENGLISH));
+ }
+ }
+ }
+ br.close();
+ System.out.println("Done");
+ }
}
Re: svn commit: r1648642 - /commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/DomainValidatorTest.java
Posted by sebb <se...@gmail.com>.
On 31 December 2014 at 13:02, sebb <se...@gmail.com> wrote:
> On 31 December 2014 at 04:42, Adrian Crum
> <ad...@sandglass-software.com> wrote:
>> Be aware that the file contains encoded Chinese TLDs (XN--*). So, it needs
>> additional parsing.
>
> Oops.
>
> These entries use PunyCode. This is available in Java 6 onwards (java.net.IDN)
>
> There are other possible implementations but that is out of scope for
> the 1.4.1 release.
>
> I'll exclude these entries for now.
Just realised that the code that downloads and checks the IANA entries
is not done as a unit test.
It is intended to be run by a Commons developer only.
So it can be run using a later version of Java, as long as the code compiles.
I hope to update the code soon.
>> Adrian Crum
>> Sandglass Software
>> www.sandglass-software.com
>>
>> On 12/30/2014 5:23 PM, sebb@apache.org wrote:
>>>
>>> Author: sebb
>>> Date: Wed Dec 31 01:23:26 2014
>>> New Revision: 1648642
>>>
>>> URL: http://svn.apache.org/r1648642
>>> Log:
>>> Add code for developers to check inbuilt list against iana tld
>>>
>>> Modified:
>>>
>>> commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/DomainValidatorTest.java
>>>
>>> Modified:
>>> commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/DomainValidatorTest.java
>>> URL:
>>> http://svn.apache.org/viewvc/commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/DomainValidatorTest.java?rev=1648642&r1=1648641&r2=1648642&view=diff
>>>
>>> ==============================================================================
>>> ---
>>> commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/DomainValidatorTest.java
>>> (original)
>>> +++
>>> commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/DomainValidatorTest.java
>>> Wed Dec 31 01:23:26 2014
>>> @@ -16,6 +16,15 @@
>>> */
>>> package org.apache.commons.validator.routines;
>>>
>>> +import java.io.BufferedReader;
>>> +import java.io.File;
>>> +import java.io.FileOutputStream;
>>> +import java.io.FileReader;
>>> +import java.io.InputStream;
>>> +import java.net.HttpURLConnection;
>>> +import java.net.URL;
>>> +import java.util.Locale;
>>> +
>>> import junit.framework.TestCase;
>>>
>>> /**
>>> @@ -110,4 +119,37 @@ public class DomainValidatorTest extends
>>> public void testIDN() {
>>> assertTrue("b\u00fccher.ch in IDN should validate",
>>> validator.isValid("www.xn--bcher-kva.ch"));
>>> }
>>> +
>>> + // Download and process local copy of
>>> http://data.iana.org/TLD/tlds-alpha-by-domain.txt
>>> + // Check if the internal TLD table is up to date
>>> + public static void main(String a[]) throws Exception {
>>> + DomainValidator dv = DomainValidator.getInstance();;
>>> + File f = new File("target/tlds-alpha-by-domain.txt");
>>> + if (!f.canRead()) {
>>> + String
>>> tldurl="http://data.iana.org/TLD/tlds-alpha-by-domain.txt";
>>> + System.out.println("Downloading " + tldurl);
>>> + byte buff[] = new byte[1024];
>>> + HttpURLConnection hc = (HttpURLConnection) new
>>> URL(tldurl).openConnection();
>>> + InputStream is = hc.getInputStream();
>>> + FileOutputStream fos = new FileOutputStream(f);
>>> + while(is.read(buff) != -1) {
>>> + fos.write(buff);
>>> + }
>>> + fos.close();
>>> + is.close();
>>> + System.out.println("Done");
>>> + }
>>> + BufferedReader br = new BufferedReader(new FileReader(f));
>>> + System.out.println("Entries missing from TLD List");
>>> + String line;
>>> + while((line = br.readLine()) != null) {
>>> + if (!line.startsWith("#")) {
>>> + if (!dv.isValidTld(line)) {
>>> + System.out.println(line.toLowerCase(Locale.ENGLISH));
>>> + }
>>> + }
>>> + }
>>> + br.close();
>>> + System.out.println("Done");
>>> + }
>>> }
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
>> For additional commands, e-mail: dev-help@commons.apache.org
>>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org
Re: svn commit: r1648642 - /commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/DomainValidatorTest.java
Posted by sebb <se...@gmail.com>.
On 31 December 2014 at 04:42, Adrian Crum
<ad...@sandglass-software.com> wrote:
> Be aware that the file contains encoded Chinese TLDs (XN--*). So, it needs
> additional parsing.
Oops.
These entries use PunyCode. This is available in Java 6 onwards (java.net.IDN)
There are other possible implementations but that is out of scope for
the 1.4.1 release.
I'll exclude these entries for now.
> Adrian Crum
> Sandglass Software
> www.sandglass-software.com
>
> On 12/30/2014 5:23 PM, sebb@apache.org wrote:
>>
>> Author: sebb
>> Date: Wed Dec 31 01:23:26 2014
>> New Revision: 1648642
>>
>> URL: http://svn.apache.org/r1648642
>> Log:
>> Add code for developers to check inbuilt list against iana tld
>>
>> Modified:
>>
>> commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/DomainValidatorTest.java
>>
>> Modified:
>> commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/DomainValidatorTest.java
>> URL:
>> http://svn.apache.org/viewvc/commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/DomainValidatorTest.java?rev=1648642&r1=1648641&r2=1648642&view=diff
>>
>> ==============================================================================
>> ---
>> commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/DomainValidatorTest.java
>> (original)
>> +++
>> commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/DomainValidatorTest.java
>> Wed Dec 31 01:23:26 2014
>> @@ -16,6 +16,15 @@
>> */
>> package org.apache.commons.validator.routines;
>>
>> +import java.io.BufferedReader;
>> +import java.io.File;
>> +import java.io.FileOutputStream;
>> +import java.io.FileReader;
>> +import java.io.InputStream;
>> +import java.net.HttpURLConnection;
>> +import java.net.URL;
>> +import java.util.Locale;
>> +
>> import junit.framework.TestCase;
>>
>> /**
>> @@ -110,4 +119,37 @@ public class DomainValidatorTest extends
>> public void testIDN() {
>> assertTrue("b\u00fccher.ch in IDN should validate",
>> validator.isValid("www.xn--bcher-kva.ch"));
>> }
>> +
>> + // Download and process local copy of
>> http://data.iana.org/TLD/tlds-alpha-by-domain.txt
>> + // Check if the internal TLD table is up to date
>> + public static void main(String a[]) throws Exception {
>> + DomainValidator dv = DomainValidator.getInstance();;
>> + File f = new File("target/tlds-alpha-by-domain.txt");
>> + if (!f.canRead()) {
>> + String
>> tldurl="http://data.iana.org/TLD/tlds-alpha-by-domain.txt";
>> + System.out.println("Downloading " + tldurl);
>> + byte buff[] = new byte[1024];
>> + HttpURLConnection hc = (HttpURLConnection) new
>> URL(tldurl).openConnection();
>> + InputStream is = hc.getInputStream();
>> + FileOutputStream fos = new FileOutputStream(f);
>> + while(is.read(buff) != -1) {
>> + fos.write(buff);
>> + }
>> + fos.close();
>> + is.close();
>> + System.out.println("Done");
>> + }
>> + BufferedReader br = new BufferedReader(new FileReader(f));
>> + System.out.println("Entries missing from TLD List");
>> + String line;
>> + while((line = br.readLine()) != null) {
>> + if (!line.startsWith("#")) {
>> + if (!dv.isValidTld(line)) {
>> + System.out.println(line.toLowerCase(Locale.ENGLISH));
>> + }
>> + }
>> + }
>> + br.close();
>> + System.out.println("Done");
>> + }
>> }
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org
Re: svn commit: r1648642 - /commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/DomainValidatorTest.java
Posted by Adrian Crum <ad...@sandglass-software.com>.
Be aware that the file contains encoded Chinese TLDs (XN--*). So, it
needs additional parsing.
Adrian Crum
Sandglass Software
www.sandglass-software.com
On 12/30/2014 5:23 PM, sebb@apache.org wrote:
> Author: sebb
> Date: Wed Dec 31 01:23:26 2014
> New Revision: 1648642
>
> URL: http://svn.apache.org/r1648642
> Log:
> Add code for developers to check inbuilt list against iana tld
>
> Modified:
> commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/DomainValidatorTest.java
>
> Modified: commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/DomainValidatorTest.java
> URL: http://svn.apache.org/viewvc/commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/DomainValidatorTest.java?rev=1648642&r1=1648641&r2=1648642&view=diff
> ==============================================================================
> --- commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/DomainValidatorTest.java (original)
> +++ commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/DomainValidatorTest.java Wed Dec 31 01:23:26 2014
> @@ -16,6 +16,15 @@
> */
> package org.apache.commons.validator.routines;
>
> +import java.io.BufferedReader;
> +import java.io.File;
> +import java.io.FileOutputStream;
> +import java.io.FileReader;
> +import java.io.InputStream;
> +import java.net.HttpURLConnection;
> +import java.net.URL;
> +import java.util.Locale;
> +
> import junit.framework.TestCase;
>
> /**
> @@ -110,4 +119,37 @@ public class DomainValidatorTest extends
> public void testIDN() {
> assertTrue("b\u00fccher.ch in IDN should validate", validator.isValid("www.xn--bcher-kva.ch"));
> }
> +
> + // Download and process local copy of http://data.iana.org/TLD/tlds-alpha-by-domain.txt
> + // Check if the internal TLD table is up to date
> + public static void main(String a[]) throws Exception {
> + DomainValidator dv = DomainValidator.getInstance();;
> + File f = new File("target/tlds-alpha-by-domain.txt");
> + if (!f.canRead()) {
> + String tldurl="http://data.iana.org/TLD/tlds-alpha-by-domain.txt";
> + System.out.println("Downloading " + tldurl);
> + byte buff[] = new byte[1024];
> + HttpURLConnection hc = (HttpURLConnection) new URL(tldurl).openConnection();
> + InputStream is = hc.getInputStream();
> + FileOutputStream fos = new FileOutputStream(f);
> + while(is.read(buff) != -1) {
> + fos.write(buff);
> + }
> + fos.close();
> + is.close();
> + System.out.println("Done");
> + }
> + BufferedReader br = new BufferedReader(new FileReader(f));
> + System.out.println("Entries missing from TLD List");
> + String line;
> + while((line = br.readLine()) != null) {
> + if (!line.startsWith("#")) {
> + if (!dv.isValidTld(line)) {
> + System.out.println(line.toLowerCase(Locale.ENGLISH));
> + }
> + }
> + }
> + br.close();
> + System.out.println("Done");
> + }
> }
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org