1 package org.simantics.db.common.utils;
\r
3 import java.io.UnsupportedEncodingException;
\r
4 import java.net.URLDecoder;
\r
5 import java.net.URLEncoder;
\r
7 import org.simantics.databoard.util.URIStringUtils;
\r
9 public class URITest {
\r
11 private static final int COUNT = 1000000;
\r
12 private static final String TEST_STR = "http://www.simantics.org/Layer0-1.0/HasInverse/Inverse";
\r
13 //private static final String TEST_STR = "http--www.simantics.org-Layer0-1.0-HasInverse-Inverse";
\r
15 public static void main(String[] args) {
\r
17 String s1 = URLEncoder.encode(TEST_STR, "UTF-8");
\r
18 String s2 = URIStringUtils.escape(TEST_STR);
\r
19 System.out.println("URLEncoder.encode(" + TEST_STR + "): " + s1);
\r
20 System.out.println("URIStringUtils.escapeAll(" + TEST_STR + "): " + s2);
\r
21 String ds1 = URLDecoder.decode(s1, "UTF-8");
\r
22 String ds2 = URIStringUtils.unescape(s2);
\r
23 System.out.println("ds1: " + ds1);
\r
24 System.out.println("ds2: " + ds2);
\r
25 String ds1x2 = URIStringUtils.unescape(s2);
\r
26 String ds2x1 = URLDecoder.decode(s1, "UTF-8");
\r
27 System.out.println("ds1x2: " + ds1x2);
\r
28 System.out.println("ds2x1: " + ds2x1);
\r
30 long start = System.nanoTime();
\r
31 for (int i = 0; i < COUNT; ++i) {
\r
32 String s = URLEncoder.encode(TEST_STR, "UTF-8");
\r
34 long end = System.nanoTime();
\r
35 System.out.println("URLEncoder: " + ((end-start)*1e-9));
\r
37 long start2 = System.nanoTime();
\r
38 for (int i = 0; i < COUNT; ++i) {
\r
39 String s = URIStringUtils.escape(TEST_STR);
\r
41 long end2 = System.nanoTime();
\r
42 System.out.println("URIStringUtils.escape: " + ((end2-start2)*1e-9));
\r
44 long start3 = System.nanoTime();
\r
45 for (int i = 0; i < COUNT; ++i) {
\r
46 String s = URLDecoder.decode(ds1, "UTF-8");
\r
48 long end3 = System.nanoTime();
\r
49 System.out.println("URLDecoder: " + ((end3-start3)*1e-9));
\r
51 long start4 = System.nanoTime();
\r
52 for (int i = 0; i < COUNT; ++i) {
\r
53 String s = URIStringUtils.unescape(ds2);
\r
55 long end4 = System.nanoTime();
\r
56 System.out.println("URIStringUtils.decode: " + ((end4-start4)*1e-9));
\r
58 } catch (UnsupportedEncodingException e1) {
\r
59 e1.printStackTrace();
\r