]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.db.common/testcases/org/simantics/db/common/utils/URITest.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.db.common / testcases / org / simantics / db / common / utils / URITest.java
1 package org.simantics.db.common.utils;\r
2 \r
3 import java.io.UnsupportedEncodingException;\r
4 import java.net.URLDecoder;\r
5 import java.net.URLEncoder;\r
6 \r
7 import org.simantics.databoard.util.URIStringUtils;\r
8 \r
9 public class URITest {\r
10 \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
14 \r
15     public static void main(String[] args) {\r
16         try {\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
29 \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
33             }\r
34             long end = System.nanoTime();\r
35             System.out.println("URLEncoder: " + ((end-start)*1e-9));\r
36 \r
37             long start2 = System.nanoTime();\r
38             for (int i = 0; i < COUNT; ++i) {\r
39                 String s = URIStringUtils.escape(TEST_STR);\r
40             }\r
41             long end2 = System.nanoTime();\r
42             System.out.println("URIStringUtils.escape: " + ((end2-start2)*1e-9));\r
43 \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
47             }\r
48             long end3 = System.nanoTime();\r
49             System.out.println("URLDecoder: " + ((end3-start3)*1e-9));\r
50 \r
51             long start4 = System.nanoTime();\r
52             for (int i = 0; i < COUNT; ++i) {\r
53                 String s = URIStringUtils.unescape(ds2);\r
54             }\r
55             long end4 = System.nanoTime();\r
56             System.out.println("URIStringUtils.decode: " + ((end4-start4)*1e-9));\r
57 \r
58         } catch (UnsupportedEncodingException e1) {\r
59             e1.printStackTrace();\r
60         }\r
61     }\r
62 \r
63 }\r