item2.length) return 1 ; else if ( item1.length == item2.length) return 0 ; else return -1 ; }else if ( fields.length == 1 ) { //var name:String = fields[0] ; //trace ( fields[0].toString() ) ; var aStr:String = item1[fdName] ; var bStr:String = item2[fdName] ; if ( aStr == null && bStr == null ) return 0 ; if (aStr.length > bStr.length) return 1 ; else if ( aStr.length == bStr.length) return 0 ; else return -1 ; }else return 1 ; } // this is used for testing invalid compreFunction public function myInvalidCompareFunction(str1:Object, fields:Array = null):int { return 0 ; } public function sort_arraycollection(field:String):String { //make a copy of orig ac var ac:ArrayCollection = getTestList() as ArrayCollection ; var origAC:ArrayCollection = new ArrayCollection ( ac.source ) ; var myAr:Array ; if ( field == "invalid"){ // test sort invalid parameter //myAr = "abcd" ; }else if ( field == "nullParameter" ) { // test sort null parameter myAr = null ; }else if ( field == null ) { myAr = origAC.toArray() ; }else { myAr = origAC.toArray() ; } try{ mySort.sort(myAr) }catch ( e:Error) { //return e.toString() ; return "Error" } if ( myAr == null ) return null ; var newAC:ArrayCollection = new ArrayCollection ( myAr ) ; return SFCommon.getSorttedStringFromCollection(newAC , field , null , null , null ) ; } public function sort_xmlListCollection( sort:spark.collections.Sort ):String { var myAr:Array = baseDataComp.dataXmlListArrS.toArray() ; sort.sort(myAr) ; return SFCommon.getSorttedStringFromCollection(new ArrayCollection(myAr), null, null, null , null) ; } public function sort_arrayCollection_array(field:String , sort:spark.collections.Sort):Array { var ac:ArrayCollection = getTestList() as ArrayCollection ; var origAC:ArrayCollection = new ArrayCollection ( ac.source ) ; var myAr:Array ; myAr = origAC.toArray() ; sort.sort(myAr) ; return SFConstant.getArrayOfField(field, new ArrayCollection(myAr) ) ; } public function sortScript_arraycollection(field:String):String { var ac:ArrayCollection = getTestList() as ArrayCollection ; var origAC:ArrayCollection = new ArrayCollection ( ac.source ) ; var myAr:Array ; if ( field == "invalid"){ // test sort invalid parameter //myAr = "abcd" ; }else if ( field == "nullParameter" ) { // test sort null parameter myAr = null ; }else if ( field == null ) { myAr= origAC.toArray() ; ; }else { myAr = origAC.toArray() ; } try{ mySortScript.sort(myAr) }catch ( e:Error) { return e.toString() ; } if ( myAr == null ) return null ; var newAC:ArrayCollection = new ArrayCollection ( myAr ) ; return SFCommon.getSorttedStringFromCollection(newAC , field , null , null , null ) ; } public function sorttedStringWithSparkCollator(field:String):String { //make a copy of ac first var ac:ArrayCollection = getTestList() as ArrayCollection ; var origAC:ArrayCollection = new ArrayCollection ( ac.source ) ; var myAr:Array ; if ( field == "invalid"){ // test sort invalid parameter //myAr = "abcd" ; }else if ( field == "nullParameter" ) { // test sort null parameter myAr = null ; }else if ( field == null ) { myAr = SFConstant.getArrayOfField(null, origAC) ; myAr.sort(sparkCollator.compare); }else { myAr = SFConstant.getArrayOfField(field, origAC); myAr.sort(sparkCollator.compare); } return SFCommon.getSorttedStringFromCollection( new ArrayCollection (myAr) , null , null , null , null ) ; } public function sorttedArraywithSparkCollection ( field:String ):Array { var ac:ArrayCollection = getTestList() as ArrayCollection ; var origAC:ArrayCollection = new ArrayCollection ( ac.source ) ; var myAr:Array ; myAr = SFConstant.getArrayOfField(field, origAC); myAr.sort(sparkCollator.compare); return myAr ; } public function getSorttedSimpleXML() :String { var myAr:Array = baseDataComp.dataXmlListArrS.toArray() ; myAr.sort(sparkCollator.compare) ; return SFCommon.getSorttedStringFromCollection(new ArrayCollection(myAr), null ,null ,null , null) ; } ]]>