package Ġcom . on eli ang . k tx . util . common Ċ Ċ import Ġcom . on eli ang . k tx . Constants Ċ Ċ /** Ċ Ġ* Ġ@ author ĠDan del ion Ċ Ġ* Ġ@ since Ġ 2 0 0 8 - 0 9 - 2 6 Ċ Ġ*/ Ċ object ĠRequest Util Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġparse Ġparameter Ġstring ĊĠĠĠĠ Ġ* Ġstring Ġlike Ġthis : class = com . l wx . test . loader . Test & method = test ( java . lang . String = a , java . lang . Integer = 1 0 )" ĊĠĠĠĠ Ġ* Ġ@ param Ġparameter String ĊĠĠĠĠ Ġ* Ġ@ return ĠMap < String ></ String >, String []> ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġparse Parameter String ( parameter String : ĠString ): ĠMap < String , ĠArray < String >> Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠstringArray Ġ= Ġparameter String . split ( Constants . Symbol . AND )// . drop Last While Ġ{ Ġit . isEmpty () Ġ}. to Typed Array () ĊĠĠĠĠĠĠĠ Ġval Ġmap Ġ= Ġmutable Map Of < String , ĠMutable List < String >>() ĊĠĠĠĠĠĠĠ Ġval Ġparameter Map Ġ= ĠHashMap < String , ĠArray < String >>() ĊĠĠĠĠĠĠĠ Ġfor Ġ( string Ġin ĠstringArray ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġequal Index Ġ= Ġstring . indexOf ( Constants . Symbol . EQUAL ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( equal Index Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġkey Ġ= Ġstring . substring ( 0 , Ġequal Index ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= Ġstring . substring ( equal Index Ġ+ Ġ 1 , Ġstring . length ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( map . containsKey ( key )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap [ key ] !!. add ( value ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvalue List Ġ= ĠArrayList < String >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue List . add ( value ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap [ key ] Ġ= Ġvalue List ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġmap . forEach Ġ{ Ġ( key , Ġvalue ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparameter Map [ key ] Ġ= Ġvalue . to Typed Array () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġparameter Map ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġto Parameter String ( parameter Map : ĠMap < String , ĠArray < String >> ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠstringBuilder Ġ= ĠStringBuilder () ĊĠĠĠĠĠĠĠ Ġparameter Map . forEach Ġ{ Ġ( key , Ġvalue ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue . forEach Ġ{ Ġit Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstringBuilder . append ( key ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstringBuilder . append ( Constants . Symbol . EQUAL ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstringBuilder . append ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstringBuilder . append ( Constants . Symbol . AND ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( string Builder . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstringBuilder . substring ( 0 , ĠstringBuilder . length Ġ- Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConstants . String . BLANK ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠMap < String , ĠArray < String >> . to Parameter String (): ĠString Ġ{ ĊĠĠĠ Ġreturn ĠRequest Util . to Parameter String ( this ) Ċ }