You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by dr...@apache.org on 2015/01/22 01:56:37 UTC
[13/50] [abbrv] directory-kerberos git commit: Many changes with
newname
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/7d9261af/kerby-kerb/kerb-util/src/test/resources/camellia-expect-vt.txt
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-util/src/test/resources/camellia-expect-vt.txt b/kerby-kerb/kerb-util/src/test/resources/camellia-expect-vt.txt
new file mode 100644
index 0000000..e6ebe8a
--- /dev/null
+++ b/kerby-kerb/kerb-util/src/test/resources/camellia-expect-vt.txt
@@ -0,0 +1,1036 @@
+
+KEYSIZE=128
+
+KEY=00000000000000000000000000000000
+
+I=1
+PT=80000000000000000000000000000000
+CT=07923A39EB0A817D1C4D87BDB82D1F1C
+
+I=2
+PT=40000000000000000000000000000000
+CT=48CD6419809672D2349260D89A08D3D3
+
+I=3
+PT=20000000000000000000000000000000
+CT=D07493CCB2E95CE0B4945A05ACC97D82
+
+I=4
+PT=10000000000000000000000000000000
+CT=5DBE1EAC9F7080A88DBED7F6DA101448
+
+I=5
+PT=08000000000000000000000000000000
+CT=F01EE477D199DF2701027034B229622F
+
+I=6
+PT=04000000000000000000000000000000
+CT=C841587ABD9A912E563774CB569D051E
+
+I=7
+PT=02000000000000000000000000000000
+CT=1D9BC0C04546F0915C8CCD11391A455C
+
+I=8
+PT=01000000000000000000000000000000
+CT=05E6EBB4BA167F5C479CEFF3152F943B
+
+I=9
+PT=00800000000000000000000000000000
+CT=93211E0F788845B9FC0E4551FFE92AC9
+
+I=10
+PT=00400000000000000000000000000000
+CT=B6D35701CD8FADDE383BBE8E6B70BAF7
+
+I=11
+PT=00200000000000000000000000000000
+CT=8358F9F4EBCFEE348CB30551ACB151A0
+
+I=12
+PT=00100000000000000000000000000000
+CT=D57516EB5AD93C523E40521BF447AFCE
+
+I=13
+PT=00080000000000000000000000000000
+CT=66B2534C279C439133F52E5AD8B439A9
+
+I=14
+PT=00040000000000000000000000000000
+CT=A71C69184A9F63C2992A5F18F77C1FE9
+
+I=15
+PT=00020000000000000000000000000000
+CT=1ADCBE49AEACB9ECEBBD492B10E82C7B
+
+I=16
+PT=00010000000000000000000000000000
+CT=27E3BCFB227C5561DB6CF7FC30387036
+
+I=17
+PT=00008000000000000000000000000000
+CT=F4AE20365CC9D06B0CAE6B695ED2CEC1
+
+I=18
+PT=00004000000000000000000000000000
+CT=3DD682F0B641ED32AD3D43EA2A0456E4
+
+I=19
+PT=00002000000000000000000000000000
+CT=6E5D14A95ECC290B509EA6B673652E3A
+
+I=20
+PT=00001000000000000000000000000000
+CT=F1CDF0F8D7B3FFD95422D7CC0CF40B7B
+
+I=21
+PT=00000800000000000000000000000000
+CT=A9253D459A34C385A1F1B2CFFA3935C5
+
+I=22
+PT=00000400000000000000000000000000
+CT=291024D99FF09A47A1DEE45BA700AE52
+
+I=23
+PT=00000200000000000000000000000000
+CT=49241D9459B277187BB10081C60361C0
+
+I=24
+PT=00000100000000000000000000000000
+CT=AD9BA365CC4DD5553D2D9FE303841D88
+
+I=25
+PT=00000080000000000000000000000000
+CT=C2ECA616664A249DC622CC11196B4AE1
+
+I=26
+PT=00000040000000000000000000000000
+CT=6E1A2D4794BB0DC08777A0BC7523E70E
+
+I=27
+PT=00000020000000000000000000000000
+CT=6DB1F0CF59656BDD235E82B8CEF0BE8E
+
+I=28
+PT=00000010000000000000000000000000
+CT=52F239C5EAF401EBDC54D2F011FF4B6A
+
+I=29
+PT=00000008000000000000000000000000
+CT=6B58A08F648414B67FD6847D2AA51CBF
+
+I=30
+PT=00000004000000000000000000000000
+CT=2959DD5367885A75EB48053CF3251A36
+
+I=31
+PT=00000002000000000000000000000000
+CT=630B292E3B88EF641CDFD531E206605E
+
+I=32
+PT=00000001000000000000000000000000
+CT=4BBB88EF82B70593FCC56AFD91540FDB
+
+I=33
+PT=00000000800000000000000000000000
+CT=0A13055B118A45C606999257BD191426
+
+I=34
+PT=00000000400000000000000000000000
+CT=5CF8E5C9F15D7E4F865020224853EB77
+
+I=35
+PT=00000000200000000000000000000000
+CT=3898805042C7A4315C5EE51AF2DE47E2
+
+I=36
+PT=00000000100000000000000000000000
+CT=8D3F96372E87CBB0B375425B3A10B9E7
+
+I=37
+PT=00000000080000000000000000000000
+CT=4D9510A378BD784A70A66BCC75B7D3C8
+
+I=38
+PT=00000000040000000000000000000000
+CT=70DB1902D37CFBDFB98F7C516F79D416
+
+I=39
+PT=00000000020000000000000000000000
+CT=383C6C2AABEF7FDE25CD470BF774A331
+
+I=40
+PT=00000000010000000000000000000000
+CT=47CBCB5288349B1A15DC9F81FBEE6B8F
+
+I=41
+PT=00000000008000000000000000000000
+CT=21DA34D4468EEB13AED95DAE0FF48310
+
+I=42
+PT=00000000004000000000000000000000
+CT=021C9A8E6BD36FBD036411E5D852A80F
+
+I=43
+PT=00000000002000000000000000000000
+CT=6A459E2F839AF60ACDE83774D0BB5574
+
+I=44
+PT=00000000001000000000000000000000
+CT=C19255121F1B933CAE09E58AEC0E9977
+
+I=45
+PT=00000000000800000000000000000000
+CT=7BA949E27B2BE148A6B801F9305F43D5
+
+I=46
+PT=00000000000400000000000000000000
+CT=E8CEB1026BCF7BCEA32E8A380EA76DB7
+
+I=47
+PT=00000000000200000000000000000000
+CT=63F97747ED56A8F521B20CC65F6F9465
+
+I=48
+PT=00000000000100000000000000000000
+CT=2091CFDC629819106188424AC694F75B
+
+I=49
+PT=00000000000080000000000000000000
+CT=A91BDF8E8B88407942423CCE000527C4
+
+I=50
+PT=00000000000040000000000000000000
+CT=73F9B44B9635A3FD683DBF8D49E9825B
+
+I=51
+PT=00000000000020000000000000000000
+CT=9DC64B2133FAD5069FD9A7CC2FFFD1CC
+
+I=52
+PT=00000000000010000000000000000000
+CT=28240F81FEC36B71E13F1FEA7A7641E3
+
+I=53
+PT=00000000000008000000000000000000
+CT=20DD39FEE96CD2EFF972872A692B28FD
+
+I=54
+PT=00000000000004000000000000000000
+CT=47A9E40483EC1925B635E47E964E8E93
+
+I=55
+PT=00000000000002000000000000000000
+CT=9C0EBD822C49FB3D853DF5B315A87BA0
+
+I=56
+PT=00000000000001000000000000000000
+CT=C18D813FDB45A594C6DC24E5A1F6CE32
+
+I=57
+PT=00000000000000800000000000000000
+CT=7E5467FF245ECF80CB55C2D8E91F0711
+
+I=58
+PT=00000000000000400000000000000000
+CT=394D4365B77954FDEA4145FCF7A7A041
+
+I=59
+PT=00000000000000200000000000000000
+CT=B1D8311A492ED11F11E57B29221610C4
+
+I=60
+PT=00000000000000100000000000000000
+CT=E5FBB947A63AEA90163AF04AD6951EF8
+
+I=61
+PT=00000000000000080000000000000000
+CT=CA0627DDF580F0E7D59562825C9D0492
+
+I=62
+PT=00000000000000040000000000000000
+CT=EF98FFD1AED295AAE1860F0274C8F555
+
+I=63
+PT=00000000000000020000000000000000
+CT=8C698E5CFFF08FACE10C2DC5FF1E2A81
+
+I=64
+PT=00000000000000010000000000000000
+CT=35A7767E02032C35B5CE1A6F49C57C28
+
+I=65
+PT=00000000000000008000000000000000
+CT=AB36F8734E76EBA306CF00D6763D90B0
+
+I=66
+PT=00000000000000004000000000000000
+CT=E854EB66D4EC66889B5E6CD4F44A5806
+
+I=67
+PT=00000000000000002000000000000000
+CT=15B66DF1455ACD640B8716BCF5DB2D69
+
+I=68
+PT=00000000000000001000000000000000
+CT=4C57AB5333E5C2D4B7E30A007E449F48
+
+I=69
+PT=00000000000000000800000000000000
+CT=BA3E7FF28EB38EA09D8DB1440A9A3552
+
+I=70
+PT=00000000000000000400000000000000
+CT=64E60227AFD80C40C70186CC94804C1A
+
+I=71
+PT=00000000000000000200000000000000
+CT=CEB4423C20B4C91C2551F6FC227C9514
+
+I=72
+PT=00000000000000000100000000000000
+CT=F736894B843EF32DA28576DE500D448C
+
+I=73
+PT=00000000000000000080000000000000
+CT=58FDA98B678D15053D4B6C060368108C
+
+I=74
+PT=00000000000000000040000000000000
+CT=E28CAE384E578F47657755EBCD97996C
+
+I=75
+PT=00000000000000000020000000000000
+CT=0A64617BD4B5B166668240D105B7B6A2
+
+I=76
+PT=00000000000000000010000000000000
+CT=4BD090C7E3D365B5EA80F19B4798881E
+
+I=77
+PT=00000000000000000008000000000000
+CT=BC7B6CB9BFF4F72973BB2CD20A512C06
+
+I=78
+PT=00000000000000000004000000000000
+CT=4C7ADDC5C867594E9EE75F0AA6AB9C23
+
+I=79
+PT=00000000000000000002000000000000
+CT=1FBD05C71A36691AC6566A5298101D53
+
+I=80
+PT=00000000000000000001000000000000
+CT=42D7D6B1F499D412F8793972BD968DA2
+
+I=81
+PT=00000000000000000000800000000000
+CT=260EC86E2786FC68824576B934F32814
+
+I=82
+PT=00000000000000000000400000000000
+CT=576C26DFD7046F9357F34BEA7DFB26A0
+
+I=83
+PT=00000000000000000000200000000000
+CT=6D55E54BFB6F927174A02294C95E0F8F
+
+I=84
+PT=00000000000000000000100000000000
+CT=1A6CE91DD458229C7675A34950D10E23
+
+I=85
+PT=00000000000000000000080000000000
+CT=DAD0D5E7E000652825AA34D228EA8D8F
+
+I=86
+PT=00000000000000000000040000000000
+CT=E68013F48D75EAD2BBC0B0BDA5E690BF
+
+I=87
+PT=00000000000000000000020000000000
+CT=A07D92312FBAE37BFE8A834210AE4F9C
+
+I=88
+PT=00000000000000000000010000000000
+CT=6EEE5F8544CD7D456366EB448813989A
+
+I=89
+PT=00000000000000000000008000000000
+CT=F8E5C7FF4B79D7ABE8BFA2DD148820A8
+
+I=90
+PT=00000000000000000000004000000000
+CT=C6349D75C7472BBD66F95B3A07C79C91
+
+I=91
+PT=00000000000000000000002000000000
+CT=B85713C12D8658951CD1AD21C74D2CD2
+
+I=92
+PT=00000000000000000000001000000000
+CT=907AA00B9F7D47A97623FB55BA911F29
+
+I=93
+PT=00000000000000000000000800000000
+CT=DC3CD0ED23D11776FAB43A2A6A8F3557
+
+I=94
+PT=00000000000000000000000400000000
+CT=4BFE58A8FD69179C14765B09AB70B705
+
+I=95
+PT=00000000000000000000000200000000
+CT=A23996E0EA67EC280356E5F77130A551
+
+I=96
+PT=00000000000000000000000100000000
+CT=CDEADE859B3AACD273CCA85A3E2E45F2
+
+I=97
+PT=00000000000000000000000080000000
+CT=E0FC78489857D84DA03F40CE97147174
+
+I=98
+PT=00000000000000000000000040000000
+CT=7615EA6351F6BB12855E8579C6995D8E
+
+I=99
+PT=00000000000000000000000020000000
+CT=13E184344FE28C2E70ED0E4D0A8037F9
+
+I=100
+PT=00000000000000000000000010000000
+CT=A5FE395F568482B87BC3EB208C81C942
+
+I=101
+PT=00000000000000000000000008000000
+CT=B3103E11AF06C85565823F8CAA3159F6
+
+I=102
+PT=00000000000000000000000004000000
+CT=7EBC2234D271B89C519C396985300030
+
+I=103
+PT=00000000000000000000000002000000
+CT=0661D338F2E0C939BA1687820A768467
+
+I=104
+PT=00000000000000000000000001000000
+CT=EC2B42667C0195A90715499617884DA5
+
+I=105
+PT=00000000000000000000000000800000
+CT=AE077BA19D24E7188DDD3682FF196892
+
+I=106
+PT=00000000000000000000000000400000
+CT=98823C24B9C65A66073C7952DC2B4B5E
+
+I=107
+PT=00000000000000000000000000200000
+CT=6AB58432CBB3C2F503DA2D16796CC297
+
+I=108
+PT=00000000000000000000000000100000
+CT=EEB5EBB3A53E4196C2F22BC1A4DDF5E8
+
+I=109
+PT=00000000000000000000000000080000
+CT=33DC40AC5FDC126D38878416AF6C0FA6
+
+I=110
+PT=00000000000000000000000000040000
+CT=38EDDC08E18B4AD982CEA921D2765A9A
+
+I=111
+PT=00000000000000000000000000020000
+CT=7D6BEA038E9347C642E18631660A9558
+
+I=112
+PT=00000000000000000000000000010000
+CT=FDA57921A473B5EE3700AD5ADF035019
+
+I=113
+PT=00000000000000000000000000008000
+CT=699B4812E200337E9C1D2C397F0DFE4E
+
+I=114
+PT=00000000000000000000000000004000
+CT=7A1EADF68B0807145D6C414852DECFC8
+
+I=115
+PT=00000000000000000000000000002000
+CT=1645FFAA8AD76689C01DA8C40882781F
+
+I=116
+PT=00000000000000000000000000001000
+CT=BA0C053BE702FA62FC66D8FEB12FC97E
+
+I=117
+PT=00000000000000000000000000000800
+CT=841FD8AF69CF2C31F7D4D7B6959662B5
+
+I=118
+PT=00000000000000000000000000000400
+CT=F675D59BDB33231861268F539829DA0B
+
+I=119
+PT=00000000000000000000000000000200
+CT=A4967F45ABB4E8C7DC5E3806680F35E0
+
+I=120
+PT=00000000000000000000000000000100
+CT=4D7E08081CC82F92ABA7C58C99F8343F
+
+I=121
+PT=00000000000000000000000000000080
+CT=9AEFDB287C119B82353612B60ECCBFD8
+
+I=122
+PT=00000000000000000000000000000040
+CT=979BB6A1553A17592A86E78DF144A699
+
+I=123
+PT=00000000000000000000000000000020
+CT=A6FA8CAB06FD2E5BF3A858983C01757A
+
+I=124
+PT=00000000000000000000000000000010
+CT=BE8511254C31E25420B91D6FEF1710ED
+
+I=125
+PT=00000000000000000000000000000008
+CT=F589A908D18A21894971C0433581E1A5
+
+I=126
+PT=00000000000000000000000000000004
+CT=4237585130E7C9F715235EB1D8C94DE7
+
+I=127
+PT=00000000000000000000000000000002
+CT=DEFE3E0B5C54C94B4F2A0F5A46F6210D
+
+I=128
+PT=00000000000000000000000000000001
+CT=F5574ACC3148DFCB9015200631024DF9
+
+==========
+
+KEYSIZE=256
+
+KEY=0000000000000000000000000000000000000000000000000000000000000000
+
+I=1
+PT=80000000000000000000000000000000
+CT=B0C6B88AEA518AB09E847248E91B1B9D
+
+I=2
+PT=40000000000000000000000000000000
+CT=B8D7684E35FA1DB15BDCEE7A48659858
+
+I=3
+PT=20000000000000000000000000000000
+CT=F0CAD59AF92FBB79F36951E697492750
+
+I=4
+PT=10000000000000000000000000000000
+CT=117100F6635389560DC4A2DA24EBA70F
+
+I=5
+PT=08000000000000000000000000000000
+CT=DBDD62355553019ED84C35886421E532
+
+I=6
+PT=04000000000000000000000000000000
+CT=9CB8D04FA506F19848F7B9110518BFC8
+
+I=7
+PT=02000000000000000000000000000000
+CT=E4308E253BC3444D293500701BA82C6A
+
+I=8
+PT=01000000000000000000000000000000
+CT=EA2FAE53F7F30C0170A20E95A068503E
+
+I=9
+PT=00800000000000000000000000000000
+CT=14B14839EA221880B2C64D1FE000B93D
+
+I=10
+PT=00400000000000000000000000000000
+CT=A5CFC075B342D5101AACC334E73058BB
+
+I=11
+PT=00200000000000000000000000000000
+CT=477EA56B2EBAD0F8AC5E1936866560FF
+
+I=12
+PT=00100000000000000000000000000000
+CT=107E8598418404196EC59F63E45B7F6D
+
+I=13
+PT=00080000000000000000000000000000
+CT=FF6A891E7C1C074A68FEC291928FDD8D
+
+I=14
+PT=00040000000000000000000000000000
+CT=F64C250A13F45D377ADB7545B2B157A9
+
+I=15
+PT=00020000000000000000000000000000
+CT=FAD0F252086F11C830C65B63197CBC38
+
+I=16
+PT=00010000000000000000000000000000
+CT=9DCB89B209441F02AD0D25C6AB826629
+
+I=17
+PT=00008000000000000000000000000000
+CT=E62E4ED4E4F34EDC563710D960E09D4C
+
+I=18
+PT=00004000000000000000000000000000
+CT=98A1B926BA06895C3F2E84CCBACBC356
+
+I=19
+PT=00002000000000000000000000000000
+CT=29BE0BE4DB7F4D196718AEA38F3B0BFD
+
+I=20
+PT=00001000000000000000000000000000
+CT=F670C4EBECBA0B43E71F6D752BFD4854
+
+I=21
+PT=00000800000000000000000000000000
+CT=7D7666B4484CDB7E3605468E093A787C
+
+I=22
+PT=00000400000000000000000000000000
+CT=562D06B181C091DA6C43642AE99460C6
+
+I=23
+PT=00000200000000000000000000000000
+CT=AB0EFB5975E6186B7D76BC9672453488
+
+I=24
+PT=00000100000000000000000000000000
+CT=10C0756538E7BFF88D19AE2B1F7B859A
+
+I=25
+PT=00000080000000000000000000000000
+CT=AF7FCD5248F8C72F1695AA05DD1CADE0
+
+I=26
+PT=00000040000000000000000000000000
+CT=9841E555655609A75D7BE20B8A90EF1E
+
+I=27
+PT=00000020000000000000000000000000
+CT=27F9546E6A1B7464780000561783569C
+
+I=28
+PT=00000010000000000000000000000000
+CT=8671D935D7A8354EECB7288803D42D7A
+
+I=29
+PT=00000008000000000000000000000000
+CT=0DA44F508DEBC6F044394624FCEB8EBE
+
+I=30
+PT=00000004000000000000000000000000
+CT=AB137369BE6D93FBB18006BDB236EC09
+
+I=31
+PT=00000002000000000000000000000000
+CT=EB90C4E597A7E1779FFA260886E26F75
+
+I=32
+PT=00000001000000000000000000000000
+CT=618CF3588D5C128EAF252616230E08F7
+
+I=33
+PT=00000000800000000000000000000000
+CT=98DC4DB49D197AB9152D12B9DE2D73CA
+
+I=34
+PT=00000000400000000000000000000000
+CT=5BDDE24B15702A35E1F140C57D206443
+
+I=35
+PT=00000000200000000000000000000000
+CT=CF755809882BED8BA2F9F1A4ED296A2B
+
+I=36
+PT=00000000100000000000000000000000
+CT=F1A8DBB999538AE89D16F92A7F4D1DF1
+
+I=37
+PT=00000000080000000000000000000000
+CT=775222FDDAAECB81CF675C4E0B98179E
+
+I=38
+PT=00000000040000000000000000000000
+CT=12A648CADCD153C760A965826683119A
+
+I=39
+PT=00000000020000000000000000000000
+CT=0503FB10AB241E7CF45D8CDEEE474335
+
+I=40
+PT=00000000010000000000000000000000
+CT=3D299C0070CBBD831B802690B8E7CA24
+
+I=41
+PT=00000000008000000000000000000000
+CT=33105BD4D11D66753DC34D128BEFE3F4
+
+I=42
+PT=00000000004000000000000000000000
+CT=5EFCE2B4B987C0F77D27B44836881682
+
+I=43
+PT=00000000002000000000000000000000
+CT=7835449454128035D7F0EA99E327577B
+
+I=44
+PT=00000000001000000000000000000000
+CT=27BEDDA0601BE35122FB1D272D73AB3E
+
+I=45
+PT=00000000000800000000000000000000
+CT=54C3F99FF48E318CC515EDE75800C4B3
+
+I=46
+PT=00000000000400000000000000000000
+CT=C627C329F8E48299F6FDB23B9DBEA0BB
+
+I=47
+PT=00000000000200000000000000000000
+CT=1B6578F9E23BD8C1845A02431C5F9AA3
+
+I=48
+PT=00000000000100000000000000000000
+CT=6DB2FB8C0B9344D0547C0FF1292020C6
+
+I=49
+PT=00000000000080000000000000000000
+CT=4FAD9B2C37C131493FBEF53581FA4F83
+
+I=50
+PT=00000000000040000000000000000000
+CT=47502A01E93D2C87BD5584F6AFD3D99D
+
+I=51
+PT=00000000000020000000000000000000
+CT=056E1C6F651BFE50271B3B7A18E76D84
+
+I=52
+PT=00000000000010000000000000000000
+CT=5632BAF6627B3D96AD4E06FA6A561F55
+
+I=53
+PT=00000000000008000000000000000000
+CT=E29807CAACDFA2D41A7D9E91FA7FD8EB
+
+I=54
+PT=00000000000004000000000000000000
+CT=81DD44BB5D1822DEE605F9E6FF01D7B3
+
+I=55
+PT=00000000000002000000000000000000
+CT=5C3649925E47D7FF96482A8FBD9666FD
+
+I=56
+PT=00000000000001000000000000000000
+CT=695415A836E66E737887845EC08A1ADB
+
+I=57
+PT=00000000000000800000000000000000
+CT=F5416BCE292D9E2CEA5D1CC70BBAEED1
+
+I=58
+PT=00000000000000400000000000000000
+CT=7AEC4F1388FC29C47F7FED74ADDE8485
+
+I=59
+PT=00000000000000200000000000000000
+CT=82A9F1A6CE08BC4876E649D8A8EA7EB6
+
+I=60
+PT=00000000000000100000000000000000
+CT=B6296C88ADF1A792908B065EEB04BFC2
+
+I=61
+PT=00000000000000080000000000000000
+CT=E766A39AECCA40BDBFBE6FF3FA292913
+
+I=62
+PT=00000000000000040000000000000000
+CT=C6D081454EA00D83C23B5A62C84359E1
+
+I=63
+PT=00000000000000020000000000000000
+CT=85D259A79CCA80484504D1603F7A8F53
+
+I=64
+PT=00000000000000010000000000000000
+CT=D8291FA1C6DC250078824B2D0A20883F
+
+I=65
+PT=00000000000000008000000000000000
+CT=95387CB74C48FFBD1F8D64A6CC45E074
+
+I=66
+PT=00000000000000004000000000000000
+CT=A17F975F538F56CDF629B516011DE837
+
+I=67
+PT=00000000000000002000000000000000
+CT=B50B615A1654C6E1CB6AB33716C097FE
+
+I=68
+PT=00000000000000001000000000000000
+CT=7BBB2CBB874DF6C8B821DA7FB0F9011B
+
+I=69
+PT=00000000000000000800000000000000
+CT=E9EFE074D096A275E47CD2E6206DF6A1
+
+I=70
+PT=00000000000000000400000000000000
+CT=88F2F8D5A836406AE8BBB98C65BBDA55
+
+I=71
+PT=00000000000000000200000000000000
+CT=F64620D8D87585A3EF038B9AD58F5EA0
+
+I=72
+PT=00000000000000000100000000000000
+CT=694438EC141C8ED5F2F898B4554A298F
+
+I=73
+PT=00000000000000000080000000000000
+CT=3E6226EC7726A1EE5F5FA9B18CCE8C44
+
+I=74
+PT=00000000000000000040000000000000
+CT=8AB6949E79911647800B9E87362AB97A
+
+I=75
+PT=00000000000000000020000000000000
+CT=093C5CF24EDAF7F9F1C8A80DE4FF50A9
+
+I=76
+PT=00000000000000000010000000000000
+CT=28A36E50061F19E240351ED0E378CBF4
+
+I=77
+PT=00000000000000000008000000000000
+CT=B93BB36CB88BF26EA79198652AA51D3C
+
+I=78
+PT=00000000000000000004000000000000
+CT=DE4948083D044FAC9BCA6DA8CD67B8A6
+
+I=79
+PT=00000000000000000002000000000000
+CT=6E778B5BDA6CA118117E47470D080D3C
+
+I=80
+PT=00000000000000000001000000000000
+CT=0A9107324DA32B4281D032A3487EF875
+
+I=81
+PT=00000000000000000000800000000000
+CT=18ED5635312D71ABD123CCE779D4D68A
+
+I=82
+PT=00000000000000000000400000000000
+CT=2E3C63F95C4BC1F944BAB06DEDC9AA8E
+
+I=83
+PT=00000000000000000000200000000000
+CT=ACCC869EF07004C8C3C709083BE7BA2F
+
+I=84
+PT=00000000000000000000100000000000
+CT=DF60B34FB1A59147CC1FB049C1578206
+
+I=85
+PT=00000000000000000000080000000000
+CT=4228DC636C08E41021054AA0E1E2227A
+
+I=86
+PT=00000000000000000000040000000000
+CT=7CE27F66EFD735FFD6B3E1738C50495B
+
+I=87
+PT=00000000000000000000020000000000
+CT=F8E74B33A9CDE351DA0BBC06D69093D7
+
+I=88
+PT=00000000000000000000010000000000
+CT=AE0D22A5B37B8DC5D81CC641EED334D0
+
+I=89
+PT=00000000000000000000008000000000
+CT=C181C6CA5E163743458B9167A0B6A16A
+
+I=90
+PT=00000000000000000000004000000000
+CT=5171F4F6095E4B276CFBA1F07223FBE6
+
+I=91
+PT=00000000000000000000002000000000
+CT=2732F4D3A8C9D1D8D493840D6E0B864F
+
+I=92
+PT=00000000000000000000001000000000
+CT=3EF04E0059A061D973532CA5C1DFBE7B
+
+I=93
+PT=00000000000000000000000800000000
+CT=6D9A8F23579E4978EBAA87B5ADEB77E5
+
+I=94
+PT=00000000000000000000000400000000
+CT=BBD08873CC44BA4253C0C41FEEB7F124
+
+I=95
+PT=00000000000000000000000200000000
+CT=72E4B2437CBD283F3809CE686F6A591E
+
+I=96
+PT=00000000000000000000000100000000
+CT=6E5580514B92512B1BF4B1B987B9AA1B
+
+I=97
+PT=00000000000000000000000080000000
+CT=5EF5D0C5BCBDCB604D3A083B68CE0FA3
+
+I=98
+PT=00000000000000000000000040000000
+CT=9D991FDD723AD2182777A15CA0E0F665
+
+I=99
+PT=00000000000000000000000020000000
+CT=24440626EFC8F86BEA7DE78085AB8A22
+
+I=100
+PT=00000000000000000000000010000000
+CT=17C3630D62D13C1E826C0FCCBD74A864
+
+I=101
+PT=00000000000000000000000008000000
+CT=4CF5AB86A56AB134A7FE46CCE3F9FCE9
+
+I=102
+PT=00000000000000000000000004000000
+CT=3E6B9C0388F6D9B8F458F30221907607
+
+I=103
+PT=00000000000000000000000002000000
+CT=AD9C926B8A5CD98EEE88200617E59958
+
+I=104
+PT=00000000000000000000000001000000
+CT=AFF8AED5E075E02AF720CA4BF0028B3B
+
+I=105
+PT=00000000000000000000000000800000
+CT=D90EAFF909202BB209BB3BB8C7F9A954
+
+I=106
+PT=00000000000000000000000000400000
+CT=2C709B00E6A22F00F64A7D8EE341853F
+
+I=107
+PT=00000000000000000000000000200000
+CT=CCEC598F0D9F0BF201B2F487136D54A4
+
+I=108
+PT=00000000000000000000000000100000
+CT=73B2883A0A166AAE1BF14E60A5195FA3
+
+I=109
+PT=00000000000000000000000000080000
+CT=E676867BD9AD5EF915143388496779D7
+
+I=110
+PT=00000000000000000000000000040000
+CT=CDCB73D1BFCFD4BE7F1DAA9B1C6A4055
+
+I=111
+PT=00000000000000000000000000020000
+CT=02A3A5C89DAA24CD2C517F7A73286A89
+
+I=112
+PT=00000000000000000000000000010000
+CT=C0FA2AC9E92EE58C2DD12D6D43AB7035
+
+I=113
+PT=00000000000000000000000000008000
+CT=EDC2CB1F7291353BDBF2385519E6AE16
+
+I=114
+PT=00000000000000000000000000004000
+CT=B4B62D16D197A98CD3B978812B9D9884
+
+I=115
+PT=00000000000000000000000000002000
+CT=5CDFC95A529A905101CEA26BC1B891ED
+
+I=116
+PT=00000000000000000000000000001000
+CT=CC7150CD3650B98363296C7C4ED368D1
+
+I=117
+PT=00000000000000000000000000000800
+CT=CC57706B0C6526B8E25A5DBD32EACBDB
+
+I=118
+PT=00000000000000000000000000000400
+CT=30D30456AD98B182D64C649648F6AEC9
+
+I=119
+PT=00000000000000000000000000000200
+CT=D7E9DA7F631938EB649A08AF82FBD75F
+
+I=120
+PT=00000000000000000000000000000100
+CT=B8DA2AF6600B07895B5D0FFAF4991469
+
+I=121
+PT=00000000000000000000000000000080
+CT=0F6F64F930BA6C178943322B98114599
+
+I=122
+PT=00000000000000000000000000000040
+CT=8B1F247802E47C91BEE2AA34ECFD7A01
+
+I=123
+PT=00000000000000000000000000000020
+CT=7A6985778D3A66E97F23E01F0D0E45E7
+
+I=124
+PT=00000000000000000000000000000010
+CT=BA664AC39855518DFDEE10D1B3111FAE
+
+I=125
+PT=00000000000000000000000000000008
+CT=7C92854D801A1648F65CA81813DDBF83
+
+I=126
+PT=00000000000000000000000000000004
+CT=6A3F25AAB7E92D9CF378E5D9C040F26B
+
+I=127
+PT=00000000000000000000000000000002
+CT=3D4B2CDE666761BA5DFB305178E667FB
+
+I=128
+PT=00000000000000000000000000000001
+CT=9CDB269B5D293BC5DB9C55B057D9B591
+
+==========
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/7d9261af/kerby-kerb/kerb-util/src/test/resources/camellia128-cts-cmac.cc
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-util/src/test/resources/camellia128-cts-cmac.cc b/kerby-kerb/kerb-util/src/test/resources/camellia128-cts-cmac.cc
new file mode 100644
index 0000000..5d6f8a5
Binary files /dev/null and b/kerby-kerb/kerb-util/src/test/resources/camellia128-cts-cmac.cc differ
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/7d9261af/kerby-kerb/kerb-util/src/test/resources/camellia256-cts-cmac.cc
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-util/src/test/resources/camellia256-cts-cmac.cc b/kerby-kerb/kerb-util/src/test/resources/camellia256-cts-cmac.cc
new file mode 100644
index 0000000..c9a6ecd
Binary files /dev/null and b/kerby-kerb/kerb-util/src/test/resources/camellia256-cts-cmac.cc differ
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/7d9261af/kerby-kerb/kerb-util/src/test/resources/des-cbc-crc.cc
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-util/src/test/resources/des-cbc-crc.cc b/kerby-kerb/kerb-util/src/test/resources/des-cbc-crc.cc
new file mode 100644
index 0000000..b43fe30
Binary files /dev/null and b/kerby-kerb/kerb-util/src/test/resources/des-cbc-crc.cc differ
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/7d9261af/kerby-kerb/kerb-util/src/test/resources/des3-cbc-sha1.cc
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-util/src/test/resources/des3-cbc-sha1.cc b/kerby-kerb/kerb-util/src/test/resources/des3-cbc-sha1.cc
new file mode 100644
index 0000000..ba2f6ea
Binary files /dev/null and b/kerby-kerb/kerb-util/src/test/resources/des3-cbc-sha1.cc differ
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/7d9261af/kerby-kerb/kerb-util/src/test/resources/krbtgt.keytab
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-util/src/test/resources/krbtgt.keytab b/kerby-kerb/kerb-util/src/test/resources/krbtgt.keytab
new file mode 100644
index 0000000..08bd0c1
Binary files /dev/null and b/kerby-kerb/kerb-util/src/test/resources/krbtgt.keytab differ
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/7d9261af/kerby-kerb/kerb-util/src/test/resources/test.cc
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-util/src/test/resources/test.cc b/kerby-kerb/kerb-util/src/test/resources/test.cc
new file mode 100644
index 0000000..22a27e8
Binary files /dev/null and b/kerby-kerb/kerb-util/src/test/resources/test.cc differ
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/7d9261af/kerby-kerb/kerb-util/src/test/resources/test.keytab
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-util/src/test/resources/test.keytab b/kerby-kerb/kerb-util/src/test/resources/test.keytab
new file mode 100644
index 0000000..5a9c733
Binary files /dev/null and b/kerby-kerb/kerb-util/src/test/resources/test.keytab differ
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/7d9261af/kerby-kerb/pom.xml
----------------------------------------------------------------------
diff --git a/kerby-kerb/pom.xml b/kerby-kerb/pom.xml
new file mode 100644
index 0000000..048736b
--- /dev/null
+++ b/kerby-kerb/pom.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License. See accompanying LICENSE file.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.kerby</groupId>
+ <artifactId>kerby-all</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>kerby-kerb</artifactId>
+ <name>Kerby-kerb Project</name>
+ <version>1.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+
+ <modules>
+ <module>kerb-core</module>
+ <module>kerb-core-test</module>
+ <module>kerb-common</module>
+ <module>kerb-util</module>
+ <module>kerb-crypto</module>
+ <module>kerb-identity</module>
+ <module>kerb-client</module>
+ <module>kerb-server</module>
+ <module>kerb-kdc-test</module>
+ </modules>
+
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+</project>
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/7d9261af/lib/haox-config/README
----------------------------------------------------------------------
diff --git a/lib/haox-config/README b/lib/haox-config/README
deleted file mode 100644
index 37eb019..0000000
--- a/lib/haox-config/README
+++ /dev/null
@@ -1 +0,0 @@
-An unified configuration API that crosses various popular configuration formats like XML, JSON, INI and etc.
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/7d9261af/lib/haox-config/pom.xml
----------------------------------------------------------------------
diff --git a/lib/haox-config/pom.xml b/lib/haox-config/pom.xml
deleted file mode 100644
index b298f1f..0000000
--- a/lib/haox-config/pom.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License. See accompanying LICENSE file.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
- <parent>
- <groupId>org.haox</groupId>
- <artifactId>lib</artifactId>
- <version>1.0-SNAPSHOT</version>
- </parent>
-
- <modelVersion>4.0.0</modelVersion>
-
- <artifactId>haox-config</artifactId>
-
- <dependencies>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- </dependency>
- </dependencies>
-</project>
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/7d9261af/lib/haox-config/src/main/java/org/apache/haox/config/Conf.java
----------------------------------------------------------------------
diff --git a/lib/haox-config/src/main/java/org/apache/haox/config/Conf.java b/lib/haox-config/src/main/java/org/apache/haox/config/Conf.java
deleted file mode 100644
index caa9651..0000000
--- a/lib/haox-config/src/main/java/org/apache/haox/config/Conf.java
+++ /dev/null
@@ -1,285 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.haox.config;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.*;
-
-public class Conf implements Config {
- private static final Logger logger = LoggerFactory.getLogger(Conf.class);
-
- private List<ConfigLoader> resourceConfigs;
- private final ConfigImpl config;
- private boolean needReload;
-
- public Conf() {
- this.resourceConfigs = new ArrayList<ConfigLoader>(1);
- this.config = new ConfigImpl("Conf");
- this.needReload = true;
- }
-
- public void addXmlConfig(File xmlFile) throws IOException {
- addResource(Resource.createXmlResource(xmlFile));
- }
-
- public void addIniConfig(File iniFile) throws IOException {
- addResource(Resource.createIniResource(iniFile));
- }
-
- public void addJsonConfig(File jsonFile) throws IOException {
- addResource(Resource.createJsonResource(jsonFile));
- }
-
- public void addPropertiesConfig(File propertiesFile) throws IOException {
- addResource(Resource.createPropertiesFileResource(propertiesFile));
- }
-
- public void addPropertiesConfig(Properties propertiesConfig) {
- addResource(Resource.createPropertiesResource(propertiesConfig));
- }
-
- public void addMapConfig(Map<String, String> mapConfig) {
- addResource(Resource.createMapResource(mapConfig));
- }
-
- public void addResource(Resource resource) {
- ConfigLoader loader = getLoader(resource);
- resourceConfigs.add(loader);
- needReload = true;
- }
-
- private static ConfigLoader getLoader(Resource resource) {
- ConfigLoader loader = null;
-
- Class<? extends ConfigLoader> loaderClass = resource.getFormat().getLoaderClass();
- try {
- loader = loaderClass.newInstance();
- } catch (Exception e) {
- throw new RuntimeException("Failed to create org.haox.config loader for " + loaderClass.getName(), e);
- }
- loader.setResource(resource);
- return loader;
- }
-
- private void checkAndLoad() {
- if (needReload) {
- reload();
- needReload = false;
- }
- }
-
- public void reload() {
- config.reset();
- if (resourceConfigs.size() == 1) {
- ConfigLoader loader = resourceConfigs.get(0);
- loader.setConfig(config);
- loader.load();
- } else {
- for (ConfigLoader loader : resourceConfigs) {
- Config loaded = loader.load();
- config.add(loaded);
- }
- }
- }
-
- @Override
- public String getResource() {
- checkAndLoad();
- return config.getResource();
- }
-
- @Override
- public Set<String> getNames() {
- checkAndLoad();
- return config.getNames();
- }
-
- @Override
- public String getString(String name) {
- checkAndLoad();
- return config.getString(name);
- }
-
- @Override
- public String getString(ConfigKey name) {
- checkAndLoad();
- return config.getString(name);
- }
-
- @Override
- public String getString(String name, String defaultValue) {
- checkAndLoad();
- return config.getString(name, defaultValue);
- }
-
- @Override
- public String getTrimmed(String name) {
- checkAndLoad();
- return config.getTrimmed(name);
- }
-
- @Override
- public String getTrimmed(ConfigKey name) {
- checkAndLoad();
- return config.getTrimmed(name);
- }
-
- @Override
- public Boolean getBoolean(String name) {
- checkAndLoad();
- return config.getBoolean(name);
- }
-
- @Override
- public Boolean getBoolean(ConfigKey name) {
- checkAndLoad();
- return config.getBoolean(name);
- }
-
- @Override
- public Boolean getBoolean(String name, boolean defaultValue) {
- checkAndLoad();
- return config.getBoolean(name, defaultValue);
- }
-
- @Override
- public Integer getInt(String name) {
- checkAndLoad();
- return config.getInt(name);
- }
-
- @Override
- public Integer getInt(ConfigKey name) {
- checkAndLoad();
- return config.getInt(name);
- }
-
- @Override
- public Integer getInt(String name, int defaultValue) {
- checkAndLoad();
- return config.getInt(name, defaultValue);
- }
-
- @Override
- public Long getLong(String name) {
- checkAndLoad();
- return config.getLong(name);
- }
-
- @Override
- public Long getLong(ConfigKey name) {
- checkAndLoad();
- return config.getLong(name);
- }
-
- @Override
- public Long getLong(String name, long defaultValue) {
- checkAndLoad();
- return config.getLong(name, defaultValue);
- }
-
- @Override
- public Float getFloat(String name) {
- checkAndLoad();
- return config.getFloat(name);
- }
-
- @Override
- public Float getFloat(ConfigKey name) {
- checkAndLoad();
- return config.getFloat(name);
- }
-
- @Override
- public Float getFloat(String name, float defaultValue) {
- checkAndLoad();
- return config.getFloat(name, defaultValue);
- }
-
- @Override
- public List<String> getList(String name) {
- checkAndLoad();
- return config.getList(name);
- }
-
- @Override
- public List<String> getList(String name, String[] defaultValue) {
- checkAndLoad();
- return config.getList(name, defaultValue);
- }
-
- @Override
- public List<String> getList(ConfigKey name) {
- checkAndLoad();
- return config.getList(name);
- }
-
- @Override
- public Config getConfig(String name) {
- checkAndLoad();
- return config.getConfig(name);
- }
-
- @Override
- public Config getConfig(ConfigKey name) {
- checkAndLoad();
- return config.getConfig(name);
- }
-
- @Override
- public Class<?> getClass(String name) throws ClassNotFoundException {
- checkAndLoad();
- return config.getClass(name);
- }
-
- @Override
- public Class<?> getClass(String name, Class<?> defaultValue) throws ClassNotFoundException {
- checkAndLoad();
- return config.getClass(name, defaultValue);
- }
-
- @Override
- public Class<?> getClass(ConfigKey name) throws ClassNotFoundException {
- checkAndLoad();
- return config.getClass(name);
- }
-
- @Override
- public <T> T getInstance(String name) throws ClassNotFoundException {
- checkAndLoad();
- return config.getInstance(name);
- }
-
- @Override
- public <T> T getInstance(ConfigKey name) throws ClassNotFoundException {
- checkAndLoad();
- return config.getInstance(name);
- }
-
- @Override
- public <T> T getInstance(String name, Class<T> xface) throws ClassNotFoundException {
- checkAndLoad();
- return config.getInstance(name, xface);
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/7d9261af/lib/haox-config/src/main/java/org/apache/haox/config/Config.java
----------------------------------------------------------------------
diff --git a/lib/haox-config/src/main/java/org/apache/haox/config/Config.java b/lib/haox-config/src/main/java/org/apache/haox/config/Config.java
deleted file mode 100644
index f8c32f1..0000000
--- a/lib/haox-config/src/main/java/org/apache/haox/config/Config.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.haox.config;
-
-import java.util.List;
-import java.util.Set;
-
-public interface Config {
- public String getResource();
- public Set<String> getNames();
-
- public String getString(String name);
- public String getString(ConfigKey name);
- public String getString(String name, String defaultValue);
- public String getTrimmed(String name);
- public String getTrimmed(ConfigKey name);
- public Boolean getBoolean(String name);
- public Boolean getBoolean(ConfigKey name);
- public Boolean getBoolean(String name, boolean defaultValue);
- public Integer getInt(String name);
- public Integer getInt(ConfigKey name);
- public Integer getInt(String name, int defaultValue);
- public Long getLong(String name);
- public Long getLong(ConfigKey name);
- public Long getLong(String name, long defaultValue);
- public Float getFloat(String name);
- public Float getFloat(ConfigKey name);
- public Float getFloat(String name, float defaultValue);
- public List<String> getList(String name);
- public List<String> getList(String name, String[] defaultValue);
- public List<String> getList(ConfigKey name);
- public Config getConfig(String name);
- public Config getConfig(ConfigKey name);
-
- public Class<?> getClass(String name) throws ClassNotFoundException;
- public Class<?> getClass(String name, Class<?> defaultValue) throws ClassNotFoundException;
- public Class<?> getClass(ConfigKey name) throws ClassNotFoundException;
- public <T> T getInstance(String name) throws ClassNotFoundException;
- public <T> T getInstance(ConfigKey name) throws ClassNotFoundException;
- public <T> T getInstance(String name, Class<T> xface) throws ClassNotFoundException;
-}
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/7d9261af/lib/haox-config/src/main/java/org/apache/haox/config/ConfigImpl.java
----------------------------------------------------------------------
diff --git a/lib/haox-config/src/main/java/org/apache/haox/config/ConfigImpl.java b/lib/haox-config/src/main/java/org/apache/haox/config/ConfigImpl.java
deleted file mode 100644
index ad031a0..0000000
--- a/lib/haox-config/src/main/java/org/apache/haox/config/ConfigImpl.java
+++ /dev/null
@@ -1,346 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
-
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.haox.config;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.*;
-
-public class ConfigImpl implements Config {
- private static final Logger logger = LoggerFactory.getLogger(Config.class);
-
- private String resource;
- private Map<String, ConfigObject> properties;
- /**
- * Config resources
- */
- private List<Config> configs;
-
- private Set<String> propNames;
-
- protected ConfigImpl(String resource) {
- this.resource = resource;
- this.properties = new HashMap<String, ConfigObject>();
- this.configs = new ArrayList<Config>(0);
- }
-
- protected void reset() {
- this.properties.clear();
- this.configs.clear();
- }
-
- @Override
- public String getResource() {
- return resource;
- }
-
- @Override
- public Set<String> getNames() {
- reloadNames();
- return propNames;
- }
-
- @Override
- public String getString(String name) {
- String result = null;
-
- ConfigObject co = properties.get(name);
- if (co != null) {
- result = co.getPropertyValue();
- }
-
- if (result == null) {
- for (Config config : configs) {
- result = config.getString(name);
- if (result != null) break;
- }
- }
-
- return result;
- }
-
- @Override
- public String getString(ConfigKey name) {
- if (name.getDefaultValue() != null) {
- return getString(name.getPropertyKey(), (String) name.getDefaultValue());
- }
- return getString(name.getPropertyKey());
- }
-
- @Override
- public String getString(String name, String defaultValue) {
- String result = getString(name);
- if (result == null) {
- result = defaultValue;
- }
- return result;
- }
-
- @Override
- public String getTrimmed(String name) {
- String result = getString(name);
- if (null != result) {
- result = result.trim();
- }
- return result;
- }
-
- @Override
- public String getTrimmed(ConfigKey name) {
- return getTrimmed(name.getPropertyKey());
- }
-
- @Override
- public Integer getInt(String name) {
- Integer result = null;
- String value = getTrimmed(name);
- if (value != null) {
- result = Integer.valueOf(value);
- }
- return result;
- }
-
- @Override
- public Integer getInt(ConfigKey name) {
- if (name.getDefaultValue() != null) {
- return getInt(name.getPropertyKey(), (Integer) name.getDefaultValue());
- }
- return getInt(name.getPropertyKey());
- }
-
- @Override
- public Integer getInt(String name, int defaultValue) {
- Integer result = getInt(name);
- if (result == null) {
- result = defaultValue;
- }
- return result;
- }
-
- @Override
- public Long getLong(String name) {
- Long result = null;
- String value = getTrimmed(name);
- if (value != null) {
- result = Long.valueOf(value);
- }
- return result;
- }
-
- @Override
- public Long getLong(ConfigKey name) {
- if (name.getDefaultValue() != null) {
- return getLong(name.getPropertyKey(), (Long) name.getDefaultValue());
- }
- return getLong(name.getPropertyKey());
- }
-
- @Override
- public Long getLong(String name, long defaultValue) {
- Long result = getLong(name);
- if (result == null) {
- result = defaultValue;
- }
- return result;
- }
-
- @Override
- public Float getFloat(String name) {
- Float result = null;
- String value = getTrimmed(name);
- if (value != null) {
- result = Float.valueOf(value);
- }
- return result;
- }
-
- @Override
- public Float getFloat(ConfigKey name) {
- if (name.getDefaultValue() != null) {
- return getFloat(name.getPropertyKey(), (Float) name.getDefaultValue());
- }
- return getFloat(name.getPropertyKey());
- }
-
- @Override
- public Float getFloat(String name, float defaultValue) {
- Float result = getFloat(name);
- if (result == null) {
- result = defaultValue;
- }
- return result;
- }
-
- @Override
- public Boolean getBoolean(String name) {
- Boolean result = null;
- String value = getTrimmed(name);
- if (value != null) {
- result = Boolean.valueOf(value);
- }
- return result;
- }
-
- @Override
- public Boolean getBoolean(ConfigKey name) {
- if (name.getDefaultValue() != null) {
- return getBoolean(name.getPropertyKey(), (Boolean) name.getDefaultValue());
- }
- return getBoolean(name.getPropertyKey());
- }
-
- @Override
- public Boolean getBoolean(String name, boolean defaultValue) {
- Boolean result = getBoolean(name);
- if (result == null) {
- result = defaultValue;
- }
- return result;
- }
-
- @Override
- public List<String> getList(String name) {
- List<String> results = null;
- ConfigObject co = properties.get(name);
- if (co != null) {
- results = co.getListValues();
- }
- return results;
- }
-
- @Override
- public List<String> getList(String name, String[] defaultValue) {
- List<String> results = getList(name);
- if (results == null) {
- results = Arrays.asList(defaultValue);
- }
- return results;
- }
-
- @Override
- public List<String> getList(ConfigKey name) {
- if (name.getDefaultValue() != null) {
- return getList(name.getPropertyKey(), (String[]) name.getDefaultValue());
- }
- return getList(name.getPropertyKey());
- }
-
- @Override
- public Config getConfig(String name) {
- Config result = null;
- ConfigObject co = properties.get(name);
- if (co != null) {
- result = co.getConfigValue();
- }
- return result;
- }
-
- @Override
- public Config getConfig(ConfigKey name) {
- return getConfig(name.getPropertyKey());
- }
-
- @Override
- public Class<?> getClass(String name) throws ClassNotFoundException {
- Class<?> result = null;
-
- String valueString = getString(name);
- if (valueString != null) {
- Class<?> cls = Class.forName(name);
- result = cls;
- }
-
- return result;
- }
-
- @Override
- public Class<?> getClass(String name, Class<?> defaultValue) throws ClassNotFoundException {
- Class<?> result = getClass(name);
- if (result == null) {
- result = defaultValue;
- }
- return result;
- }
-
- @Override
- public Class<?> getClass(ConfigKey name) throws ClassNotFoundException {
- if (name.getDefaultValue() != null) {
- return getClass(name.getPropertyKey(), (Class<?>) name.getDefaultValue());
- }
- return getClass(name.getPropertyKey());
- }
-
- @Override
- public <T> T getInstance(String name) throws ClassNotFoundException {
- return getInstance(name, null);
- }
-
- @Override
- public <T> T getInstance(ConfigKey name) throws ClassNotFoundException {
- return getInstance(name.getPropertyKey());
- }
-
- @Override
- public <T> T getInstance(String name, Class<T> xface) throws ClassNotFoundException {
- T result = null;
-
- Class<?> cls = getClass(name, null);
- if (xface != null && !xface.isAssignableFrom(cls)) {
- throw new RuntimeException(cls + " does not implement " + xface);
- }
- try {
- result = (T) cls.newInstance();
- } catch (Exception e) {
- throw new RuntimeException("Failed to create instance with class " + cls.getName());
- }
-
- return result;
- }
-
- protected void set(String name, String value) {
- ConfigObject co = new ConfigObject(value);
- set(name, co);
- }
-
- protected void set(String name, Config value) {
- ConfigObject co = new ConfigObject(value);
- set(name, co);
- }
-
- protected void set(String name, ConfigObject value) {
- this.properties.put(name, value);
- }
-
- protected void add(Config config) {
- this.configs.add(config);
- }
-
- private void reloadNames() {
- if (propNames != null) {
- propNames.clear();
- }
- propNames = new HashSet<String>(properties.keySet());
- for (Config config : configs) {
- propNames.addAll(config.getNames());
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/7d9261af/lib/haox-config/src/main/java/org/apache/haox/config/ConfigKey.java
----------------------------------------------------------------------
diff --git a/lib/haox-config/src/main/java/org/apache/haox/config/ConfigKey.java b/lib/haox-config/src/main/java/org/apache/haox/config/ConfigKey.java
deleted file mode 100644
index 838a34c..0000000
--- a/lib/haox-config/src/main/java/org/apache/haox/config/ConfigKey.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.haox.config;
-
-public interface ConfigKey {
- public String getPropertyKey();
- public Object getDefaultValue();
-}
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/7d9261af/lib/haox-config/src/main/java/org/apache/haox/config/ConfigLoader.java
----------------------------------------------------------------------
diff --git a/lib/haox-config/src/main/java/org/apache/haox/config/ConfigLoader.java b/lib/haox-config/src/main/java/org/apache/haox/config/ConfigLoader.java
deleted file mode 100644
index 5f21cc9..0000000
--- a/lib/haox-config/src/main/java/org/apache/haox/config/ConfigLoader.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.haox.config;
-
-public abstract class ConfigLoader {
- private Resource resource;
- private ConfigImpl config;
-
- protected void setResource(Resource resource) {
- this.resource = resource;
- }
-
- protected void setConfig(ConfigImpl config) {
- this.config = config;
- }
-
- public Config load() {
- if (config == null) {
- config = new ConfigImpl(resource.getName());
- }
- config.reset();
-
- try {
- loadConfig(config, resource);
- } catch (Exception e) {
- throw new RuntimeException("Failed to load org.haox.config", e);
- }
-
- return this.config;
- }
-
- protected abstract void loadConfig(ConfigImpl config, Resource resource) throws Exception;
-}
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/7d9261af/lib/haox-config/src/main/java/org/apache/haox/config/ConfigObject.java
----------------------------------------------------------------------
diff --git a/lib/haox-config/src/main/java/org/apache/haox/config/ConfigObject.java b/lib/haox-config/src/main/java/org/apache/haox/config/ConfigObject.java
deleted file mode 100644
index 2f74e5b..0000000
--- a/lib/haox-config/src/main/java/org/apache/haox/config/ConfigObject.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.haox.config;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class ConfigObject {
- protected static enum VALUE_TYPE { PROPERTY, LIST, CONFIG };
-
- private VALUE_TYPE valueType;
- private Object value;
-
- public ConfigObject(String value) {
- this.value = value;
- this.valueType = VALUE_TYPE.PROPERTY;
- }
-
- public ConfigObject(String[] values) {
- List<String> valuesList = new ArrayList<String>();
- for (String v : values) {
- valuesList.add(v);
- }
-
- this.value = valuesList;
- this.valueType = VALUE_TYPE.LIST;
- }
-
- public ConfigObject(List<String> values) {
- this.value = new ArrayList<String>(values);
- this.valueType = VALUE_TYPE.LIST;
- }
-
- public ConfigObject(Config value) {
- this.value = value;
- this.valueType = VALUE_TYPE.CONFIG;
- }
-
- public String getPropertyValue() {
- String result = null;
- if (valueType == VALUE_TYPE.PROPERTY) {
- result = (String) value;
- }
- return result;
- }
-
- public List<String> getListValues() {
- List<String> results = null;
- if (valueType == VALUE_TYPE.LIST) {
- results = (List<String>) value;
- }
-
- return results;
- }
-
- public Config getConfigValue() {
- Config result = null;
- if (valueType == VALUE_TYPE.CONFIG) {
- result = (Config) value;
- }
- return result;
- }
-}
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/7d9261af/lib/haox-config/src/main/java/org/apache/haox/config/IniConfigLoader.java
----------------------------------------------------------------------
diff --git a/lib/haox-config/src/main/java/org/apache/haox/config/IniConfigLoader.java b/lib/haox-config/src/main/java/org/apache/haox/config/IniConfigLoader.java
deleted file mode 100644
index 05c163b..0000000
--- a/lib/haox-config/src/main/java/org/apache/haox/config/IniConfigLoader.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.haox.config;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-
-public class IniConfigLoader extends ConfigLoader {
- private static final String COMMENT_SYMBOL = "#";
-
- private ConfigImpl rootConfig;
- private ConfigImpl currentConfig;
-
- /**
- * Load configs form the INI configuration format file.
- */
- @Override
- protected void loadConfig(ConfigImpl config, Resource resource) throws IOException {
- rootConfig = config;
- currentConfig = config;
-
- InputStream is = (InputStream) resource.getResource();
- BufferedReader reader = new BufferedReader(new InputStreamReader(is));
-
- String line;
- while ((line = reader.readLine()) != null) {
- parseLine(line);
- }
- }
-
- private void parseLine(String line) {
- line = line.trim();
-
- if (line.startsWith(COMMENT_SYMBOL)) {
- return;
- }
-
- if (line.matches("\\[.*\\]")) {
- String subConfigName = line.replaceFirst("\\[(.*)\\]", "$1");
- ConfigImpl subConfig = new ConfigImpl(subConfigName);
- rootConfig.set(subConfigName, subConfig);
- currentConfig = subConfig;
- } else if (line.matches(".*=.*")) {
- int i = line.indexOf('=');
- String name = line.substring(0, i).trim();
- String value = line.substring(i + 1).trim();
- currentConfig.set(name, value);
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/7d9261af/lib/haox-config/src/main/java/org/apache/haox/config/JsonConfigLoader.java
----------------------------------------------------------------------
diff --git a/lib/haox-config/src/main/java/org/apache/haox/config/JsonConfigLoader.java b/lib/haox-config/src/main/java/org/apache/haox/config/JsonConfigLoader.java
deleted file mode 100644
index 302b626..0000000
--- a/lib/haox-config/src/main/java/org/apache/haox/config/JsonConfigLoader.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.haox.config;
-
-public class JsonConfigLoader extends ConfigLoader {
- @Override
- protected void loadConfig(ConfigImpl config, Resource resource) {
-
- }
-}
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/7d9261af/lib/haox-config/src/main/java/org/apache/haox/config/MapConfigLoader.java
----------------------------------------------------------------------
diff --git a/lib/haox-config/src/main/java/org/apache/haox/config/MapConfigLoader.java b/lib/haox-config/src/main/java/org/apache/haox/config/MapConfigLoader.java
deleted file mode 100644
index b67c2a9..0000000
--- a/lib/haox-config/src/main/java/org/apache/haox/config/MapConfigLoader.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.haox.config;
-
-import java.util.Map;
-
-public class MapConfigLoader extends ConfigLoader {
- @Override
- protected void loadConfig(ConfigImpl config, Resource resource) {
- Map<String, String> mapConfig = (Map<String, String>) resource.getResource();
- String value;
- for (String key : mapConfig.keySet()) {
- value = mapConfig.get(key);
- config.set(key, value);
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/7d9261af/lib/haox-config/src/main/java/org/apache/haox/config/PropertiesConfigLoader.java
----------------------------------------------------------------------
diff --git a/lib/haox-config/src/main/java/org/apache/haox/config/PropertiesConfigLoader.java b/lib/haox-config/src/main/java/org/apache/haox/config/PropertiesConfigLoader.java
deleted file mode 100644
index 899efd6..0000000
--- a/lib/haox-config/src/main/java/org/apache/haox/config/PropertiesConfigLoader.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.haox.config;
-
-import java.util.Properties;
-
-public class PropertiesConfigLoader extends ConfigLoader {
-
- @Override
- protected void loadConfig(ConfigImpl config, Resource resource) throws Exception {
- Properties propConfig = (Properties) resource.getResource();
- loadConfig(config, propConfig);
- }
-
- protected void loadConfig(ConfigImpl config, Properties propConfig) {
- Object value;
- for (Object key : propConfig.keySet()) {
- if (key instanceof String) {
- value = propConfig.getProperty((String) key);
- if (value != null && value instanceof String) {
- config.set((String) key, (String) value);
- }
- }
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/7d9261af/lib/haox-config/src/main/java/org/apache/haox/config/PropertiesFileConfigLoader.java
----------------------------------------------------------------------
diff --git a/lib/haox-config/src/main/java/org/apache/haox/config/PropertiesFileConfigLoader.java b/lib/haox-config/src/main/java/org/apache/haox/config/PropertiesFileConfigLoader.java
deleted file mode 100644
index 88d259a..0000000
--- a/lib/haox-config/src/main/java/org/apache/haox/config/PropertiesFileConfigLoader.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.haox.config;
-
-import java.io.InputStream;
-import java.util.Properties;
-
-public class PropertiesFileConfigLoader extends PropertiesConfigLoader {
-
- @Override
- protected void loadConfig(ConfigImpl config, Resource resource) throws Exception {
- Properties propConfig = new Properties();
- propConfig.load((InputStream) resource.getResource());
- loadConfig(config, propConfig);
- }
-}
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/7d9261af/lib/haox-config/src/main/java/org/apache/haox/config/Resource.java
----------------------------------------------------------------------
diff --git a/lib/haox-config/src/main/java/org/apache/haox/config/Resource.java b/lib/haox-config/src/main/java/org/apache/haox/config/Resource.java
deleted file mode 100644
index 090c381..0000000
--- a/lib/haox-config/src/main/java/org/apache/haox/config/Resource.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.haox.config;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.net.URL;
-import java.util.Map;
-import java.util.Properties;
-
-public class Resource {
- public static enum Format {
- XML_FILE(XmlConfigLoader.class),
- INI_FILE(IniConfigLoader.class),
- JSON_FILE(JsonConfigLoader.class),
- PROPERTIES_FILE(PropertiesFileConfigLoader.class),
- MAP(MapConfigLoader.class),
- PROPERTIES(PropertiesConfigLoader.class);
-
- private Class<? extends ConfigLoader> loaderClass;
-
- private Format(Class<? extends ConfigLoader> loaderClass) {
- this.loaderClass = loaderClass;
- }
-
- public Class<? extends ConfigLoader> getLoaderClass() {
- return loaderClass;
- }
- }
-
- private String name;
- private Object resource;
- private Format format;
-
- public static Resource createXmlResource(File xmlFile) throws IOException {
- return new Resource(xmlFile.getName(), xmlFile, Format.XML_FILE);
- }
-
- public static Resource createIniResource(File iniFile) throws IOException {
- return new Resource(iniFile.getName(), iniFile, Format.INI_FILE);
- }
-
- public static Resource createJsonResource(File jsonFile) throws IOException {
- return new Resource(jsonFile.getName(), jsonFile, Format.JSON_FILE);
- }
-
- public static Resource createXmlResource(URL xmlUrl) throws IOException {
- return new Resource(xmlUrl, Format.XML_FILE);
- }
-
- public static Resource createIniResource(URL iniUrl) throws IOException {
- return new Resource(iniUrl, Format.INI_FILE);
- }
-
- public static Resource createJsonResource(URL jsonUrl) throws IOException {
- return new Resource(jsonUrl, Format.JSON_FILE);
- }
-
- public static Resource createMapResource(Map<String,String> mapConfig) {
- return new Resource("mapConfig", mapConfig, Format.MAP);
- }
-
- public static Resource createPropertiesFileResource(File propFile) throws IOException {
- return new Resource(propFile.getName(), propFile, Format.PROPERTIES_FILE);
- }
-
- public static Resource createPropertiesResource(Properties propertiesConfig) {
- return new Resource("propConfig", propertiesConfig, Format.PROPERTIES);
- }
-
- private Resource(String name, File resourceFile, Format format) throws FileNotFoundException {
- this(name, new FileInputStream(resourceFile), format);
- }
-
- private Resource(URL resourceUrl, Format format) throws IOException {
- this(resourceUrl.toString(), resourceUrl.openStream(), format);
- }
-
- private Resource(String name, Object resourceStream, Format format) {
- this.name = name;
- this.resource = resourceStream;
- this.format = format;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public String getName() {
- return name;
- }
-
- public Object getResource() {
- return resource;
- }
-
- public Format getFormat() {
- return format;
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/7d9261af/lib/haox-config/src/main/java/org/apache/haox/config/XmlConfigLoader.java
----------------------------------------------------------------------
diff --git a/lib/haox-config/src/main/java/org/apache/haox/config/XmlConfigLoader.java b/lib/haox-config/src/main/java/org/apache/haox/config/XmlConfigLoader.java
deleted file mode 100644
index b507363..0000000
--- a/lib/haox-config/src/main/java/org/apache/haox/config/XmlConfigLoader.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.haox.config;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.w3c.dom.*;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.List;
-
-public class XmlConfigLoader extends ConfigLoader {
- private static final Logger logger = LoggerFactory.getLogger(Config.class);
-
- @Override
- protected void loadConfig(ConfigImpl config, Resource resource) throws Exception {
- Element doc = loadResourceDocument(resource);
- loadConfig((ConfigImpl) config, doc);
- }
-
- private Element loadResourceDocument(Resource resource) throws Exception {
- DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
-
- docBuilderFactory.setIgnoringComments(true);
- docBuilderFactory.setNamespaceAware(true);
- try {
- docBuilderFactory.setXIncludeAware(true);
- } catch (UnsupportedOperationException e) {
- logger.error("Failed to set setXIncludeAware(true) for parser", e);
- }
- DocumentBuilder builder = docBuilderFactory.newDocumentBuilder();
- InputStream is = (InputStream) resource.getResource();
- Document doc = null;
- try {
- doc = builder.parse(is);
- } finally {
- is.close();
- }
-
- Element root = doc.getDocumentElement();
- validateConfig(root);
-
- return root;
- }
-
- private boolean validateConfig(Element root) {
- boolean valid = false;
-
- if ("config".equals(root.getTagName())) {
- valid = true;
- } else {
- logger.error("bad conf element: top-level element not <configuration>");
- }
-
- return valid;
- }
-
- private void loadConfig(ConfigImpl conifg, Element element) {
- String name;
- ConfigObject value;
-
- NodeList props = element.getChildNodes();
- for (int i = 0; i < props.getLength(); i++) {
- Node subNode = props.item(i);
- if (!(subNode instanceof Element)) {
- continue;
- }
-
- Element prop = (Element)subNode;
- name = getElementName(prop);
- if (name == null) {
- continue;
- }
-
- value = null;
- String tagName = prop.getTagName();
- if ("property".equals(tagName) && prop.hasChildNodes()) {
- value = loadProperty(prop);
- } else if ("config".equals(tagName) && prop.hasChildNodes()) {
- ConfigImpl cfg = new ConfigImpl(name);
- loadConfig(cfg, prop);
- value = new ConfigObject(cfg);
- }
-
- if (name != null) {
- conifg.set(name, value);
- }
- }
- }
-
- private static ConfigObject loadProperty(Element ele) {
- String value = null;
- if (ele.getFirstChild() instanceof Text) {
- value = ((Text)ele.getFirstChild()).getData();
- return new ConfigObject(value);
- }
-
- ConfigObject result = null;
- NodeList nodes = ele.getChildNodes();
- List<String> values = new ArrayList<String>(nodes.getLength());
- for (int i = 0; i < nodes.getLength(); i++) {
- value = null;
- Node valueNode = nodes.item(i);
- if (!(valueNode instanceof Element))
- continue;
-
- Element valueEle = (Element)valueNode;
- if ("value".equals(valueEle.getTagName()) && valueEle.hasChildNodes()) {
- value = ((Text)valueEle.getFirstChild()).getData();
- }
-
- if (value != null) {
- values.add(value);
- }
- }
- return new ConfigObject(values);
- }
-
- private static String getElementName(Element ele) {
- String name, value;
- Node node;
- Attr attr;
-
- NamedNodeMap nnm = ele.getAttributes();
- for (int i = 0; i < nnm.getLength(); ++i) {
- node = nnm.item(i);
- if (!(node instanceof Attr))
- continue;
- attr = (Attr) node;
- name = attr.getName();
- value = attr.getValue();
-
- if ("name".equals(name)) {
- return value;
- }
- }
- return null;
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/7d9261af/lib/haox-config/src/test/java/org/apache/haox/config/ConfTest.java
----------------------------------------------------------------------
diff --git a/lib/haox-config/src/test/java/org/apache/haox/config/ConfTest.java b/lib/haox-config/src/test/java/org/apache/haox/config/ConfTest.java
deleted file mode 100644
index 592ed3d..0000000
--- a/lib/haox-config/src/test/java/org/apache/haox/config/ConfTest.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.haox.config;
-
-import org.apache.haox.config.Conf;
-import org.apache.haox.config.ConfigKey;
-import org.junit.Assert;
-import org.junit.Test;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Properties;
-
-/**
- * The test is base on the Conf level.
- * We hope users use the Conf object only, and don't need to care about its internal implementation.
- */
-public class ConfTest {
-
- @Test
- public void testMapConfig() {
- String strProp = "hello";
- Integer intProp = 123456;
- Boolean boolProp = true;
- Map<String, String> mapConfig = new HashMap<String, String>();
- mapConfig.put("strProp", strProp);
- mapConfig.put("intProp", String.valueOf(intProp));
- mapConfig.put("boolProp", String.valueOf(boolProp));
-
- Conf conf = new Conf();
- conf.addMapConfig(mapConfig);
- Assert.assertEquals(conf.getString("strProp"), strProp);
- Assert.assertEquals(conf.getInt("intProp"), intProp);
- Assert.assertEquals(conf.getBoolean("boolProp"), boolProp);
- }
-
- @Test
- public void testPropertiesConfig() {
- String strProp = "hello";
- Integer intProp = 123456;
- Boolean boolProp = true;
- Properties properties = new Properties();
- properties.setProperty("strProp", strProp);
- properties.setProperty("intProp", String.valueOf(intProp));
- properties.setProperty("boolProp", String.valueOf(boolProp));
-
- Conf conf = new Conf();
- conf.addPropertiesConfig(properties);
- Assert.assertEquals(conf.getString("strProp"), strProp);
- Assert.assertEquals(conf.getInt("intProp"), intProp);
- Assert.assertEquals(conf.getBoolean("boolProp"), boolProp);
- }
-
- /**
- * Test for whether can get right value form the conf which contains many config resources.
- */
- @Test
- public void testMixedConfig() {
- String mapStrProp = "hello map";
- Integer intProp = 123456;
- Map<String, String> mapConfig = new HashMap<String, String>();
- mapConfig.put("mapStrProp", mapStrProp);
- mapConfig.put("intProp", String.valueOf(intProp));
-
- String propertiesStrProp = "hello properties";
- Boolean boolProp = true;
- Properties properties = new Properties();
- properties.setProperty("propertiesStrProp", propertiesStrProp);
- properties.setProperty("boolProp", String.valueOf(boolProp));
-
- Conf conf = new Conf();
- conf.addMapConfig(mapConfig);
- conf.addPropertiesConfig(properties);
- Assert.assertEquals(conf.getConfig("mapConfig"), null);
- Assert.assertEquals(conf.getString("mapStrProp"), mapStrProp);
- Assert.assertEquals(conf.getString("propertiesStrProp"), propertiesStrProp);
- Assert.assertEquals(conf.getInt("intProp"), intProp);
- Assert.assertEquals(conf.getBoolean("boolProp"), boolProp);
- }
-
- static enum TestConfKey implements ConfigKey {
- ADDRESS("127.0.0.1"),
- PORT(8015),
- ENABLE(false);
-
- private Object defaultValue;
-
- private TestConfKey(Object defaultValue) {
- this.defaultValue = defaultValue;
- }
-
- @Override
- public String getPropertyKey() {
- return name().toLowerCase();
- }
-
- @Override
- public Object getDefaultValue() {
- return this.defaultValue;
- }
- }
-
- @Test
- public void testConfKey() {
- Conf conf = new Conf();
- Assert.assertEquals(conf.getString(TestConfKey.ADDRESS),
- TestConfKey.ADDRESS.getDefaultValue());
- Map<String, String> mapConfig = new HashMap<String, String>();
- String myAddress = "www.google.com";
- mapConfig.put(TestConfKey.ADDRESS.getPropertyKey(), myAddress);
- conf.addMapConfig(mapConfig);
- Assert.assertEquals(conf.getString(TestConfKey.ADDRESS), myAddress);
- Assert.assertEquals(conf.getInt(TestConfKey.PORT),
- TestConfKey.PORT.getDefaultValue());
- Assert.assertEquals(conf.getBoolean(TestConfKey.ENABLE),
- TestConfKey.ENABLE.getDefaultValue());
- }
-}
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/7d9261af/lib/haox-config/src/test/java/org/apache/haox/config/ConfigImplTest.java
----------------------------------------------------------------------
diff --git a/lib/haox-config/src/test/java/org/apache/haox/config/ConfigImplTest.java b/lib/haox-config/src/test/java/org/apache/haox/config/ConfigImplTest.java
deleted file mode 100644
index fd491e2..0000000
--- a/lib/haox-config/src/test/java/org/apache/haox/config/ConfigImplTest.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.haox.config;
-
-import org.junit.Assert;
-import org.junit.Test;
-
-/**
- * The test is on ConfigImpl level.
- * ConfigImpl is the internal implementation of Conf, only visual by developers.
- */
-public class ConfigImplTest {
-
- /**
- * Test for section config support.
- */
- @Test
- public void testSectionConfig() {
- ConfigImpl rootConfig = new ConfigImpl(null);
- rootConfig.set("globalConfig", "true");
-
- ConfigImpl sectionA = new ConfigImpl("libdefaults");
- rootConfig.set("libdefaults", sectionA);
- sectionA.set("default_realm", "EXAMPLE.COM");
- sectionA.set("forwardable", "true");
- sectionA.set("dns_lookup_realm", "false");
-
- ConfigImpl sectionB = new ConfigImpl("logging");
- rootConfig.set("logging", sectionB);
- sectionB.set("kdc", "FILE:/var/log/krb5kdc.log");
-
- Assert.assertEquals(rootConfig.getString("globalConfig"), "true");
- Assert.assertEquals(rootConfig.getString("default_realm"), null);
-
- Config subA = rootConfig.getConfig("libdefaults");
- Assert.assertEquals(subA.getString("default_realm"), "EXAMPLE.COM");
- Assert.assertEquals(subA.getString("globalConfig"), null);
- Assert.assertEquals(subA.getString("kdc"), null);
-
- Config subB = rootConfig.getConfig("logging");
- Assert.assertEquals(subB.getString("kdc"), "FILE:/var/log/krb5kdc.log");
- Assert.assertEquals(subB.getString("globalConfig"), null);
- Assert.assertEquals(subB.getBoolean("forwardable"), null);
- }
-}