Re: svn commit: r1648642 - /commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/DomainValidatorTest.java
On 31 December 2014 at 13:02, sebb wrote: > On 31 December 2014 at 04:42, Adrian Crum > 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, s...@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-unsubscr...@commons.apache.org >> For additional commands, e-mail: dev-h...@commons.apache.org >> - To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org
Re: svn commit: r1648642 - /commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/DomainValidatorTest.java
On 31 December 2014 at 04:42, Adrian Crum 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, s...@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-unsubscr...@commons.apache.org > For additional commands, e-mail: dev-h...@commons.apache.org > - To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org
Re: svn commit: r1648642 - /commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/DomainValidatorTest.java
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, s...@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-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org