source: ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/services/ProfileListService.as @ 867

Last change on this file since 867 was 867, checked in by patdui, 14 years ago
  • added initial sorting for profiles and components
File size: 1.6 KB
Line 
1package clarin.cmdi.componentregistry.services {
2        import clarin.cmdi.componentregistry.browser.BrowserColumns;
3        import clarin.cmdi.componentregistry.common.ItemDescription;
4       
5        import mx.collections.ArrayCollection;
6        import mx.rpc.events.ResultEvent;
7
8        public class ProfileListService extends BrowserService {
9               
10                private static var _instance:ProfileListService = new ProfileListService();
11                private static var _userSpaceInstance:ProfileListService = new ProfileListService(true);
12
13                public function ProfileListService(userSpace:Boolean=false) {
14                        super(Config.instance.profileListUrl, userSpace);
15                }
16
17                override protected function result(resultEvent:ResultEvent):void {
18                        var resultXml:XML = resultEvent.result as XML;
19                        var nodes:XMLList = resultXml.profileDescription;
20                        var tempArray:ArrayCollection = new ArrayCollection();
21                        for each (var node:XML in nodes) {
22                                var item:ItemDescription = new ItemDescription();
23                                item.createProfile(node, userSpace);
24                                tempArray.addItem(item);
25                        }
26                        tempArray.sort = BrowserColumns.getInitialSortForProfiles();
27                        tempArray.refresh();
28                        setItemDescriptions(new ArrayCollection(tempArray.toArray()));
29                    super.result(resultEvent);
30                }
31
32                public static function getInstance(userSpace:Boolean):ProfileListService {
33                        if (userSpace) {
34                                return _userSpaceInstance;
35                        } else {
36                                return _instance;
37                        }
38                }
39               
40                public static function findDescription(profileId:String):ItemDescription {
41                        var result:ItemDescription = getInstance(true).lookUpDescription(profileId);
42                        if (result == null) {
43                                result = getInstance(false).lookUpDescription(profileId);
44                        }
45                        return result
46                }
47
48        }
49}
Note: See TracBrowser for help on using the repository browser.