source: ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/services/ComponentListService.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 ComponentListService extends BrowserService {
9
10                private static var _instance:ComponentListService = new ComponentListService();
11                private static var _userSpaceInstance:ComponentListService = new ComponentListService(true);
12
13                public function ComponentListService(userSpace:Boolean = false) {
14                        super(Config.instance.componentListUrl, userSpace);
15                }
16
17                override protected function result(resultEvent:ResultEvent):void {
18                        var resultXml:XML = resultEvent.result as XML;
19                        var nodes:XMLList = resultXml.componentDescription;
20
21                        var tempArray:ArrayCollection = new ArrayCollection();
22                        for each (var node:XML in nodes) {
23                                var item:ItemDescription = new ItemDescription();
24                                item.createComponent(node, userSpace);
25                                tempArray.addItem(item);
26                        }
27                        tempArray.sort = BrowserColumns.getInitialSortForComponents();
28                        tempArray.refresh();
29            setItemDescriptions(new ArrayCollection(tempArray.toArray()));
30                    super.result(resultEvent);
31                }
32
33                public static function getInstance(userSpace:Boolean):ComponentListService {
34                        if (userSpace) {
35                                return _userSpaceInstance;
36                        } else {
37                                return _instance;
38                        }
39                }
40
41                public static function findDescription(componentId:String):ItemDescription {
42                        var result:ItemDescription = getInstance(true).lookUpDescription(componentId);
43                        if (result == null) {
44                                result = getInstance(false).lookUpDescription(componentId);
45                        }
46                        return result
47                }
48
49
50        }
51}
Note: See TracBrowser for help on using the repository browser.