Changeset 5699
- Timestamp:
- 10/09/14 14:04:19 (10 years ago)
- Location:
- ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex
- Files:
-
- 32 edited
Legend:
- Unmodified
- Added
- Removed
-
ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/browser/Browse.mxml
r4156 r5699 26 26 import clarin.cmdi.componentregistry.services.ProfileInfoService; 27 27 import clarin.cmdi.componentregistry.services.ProfileListService; 28 import clarin.cmdi.componentregistry.services.RegistrySpace; 28 29 29 30 import mx.controls.Alert; 30 31 import mx.events.IndexChangedEvent; 32 import mx.utils.object_proxy; 31 33 32 34 public static const START_ITEM_LOADED:String = "startItemLoaded"; 33 35 34 36 private var startupItemLoaded:Boolean = false; 35 private var _userSpace:String = Config.SPACE_PUBLIC; 36 37 [Bindable] 38 private var componentsSrv:ComponentListService = Config.instance.getComponentsSrv(Config.instance.space); 39 [Bindable] 40 private var profilesSrv:ProfileListService = Config.instance.getProfilesSrv(Config.instance.space); 37 38 [Bindable] 39 private var componentsSrv:ComponentListService = Config.instance.getComponentsSrv(); 40 [Bindable] 41 private var profilesSrv:ProfileListService = Config.instance.getProfilesSrv(); 41 42 42 43 [Bindable] … … 76 77 _deleteSrvComponents.addEventListener(_deleteSrvComponents.ITEM_DELETED, handleItemDeleted); 77 78 78 Config.instance.addEventListener(Config.USER_SPACE_TOGGLE_EVENT, toggleUserSpace); 79 Config.instance.addEventListener(Config.USER_SPACE_TOGGLE_EVENT, setUserSpace); 80 81 setUserSpace(); 82 83 } 84 85 private function toggleUserSpace(event:Event):void { 86 _userSpace = Config.instance.space; 87 componentsSrv = Config.instance.getComponentsSrv(_userSpace); 88 profilesSrv = Config.instance.getProfilesSrv(_userSpace); 89 refresh(); 79 Config.instance.addEventListener(Config.REGISTRY_SPACE_TOGGLE_EVENT, toggleRegistrySpace); 80 81 } 82 83 private function toggleRegistrySpace(event:Event):void { 84 componentsSrv = Config.instance.getComponentsSrv(); 85 profilesSrv = Config.instance.getProfilesSrv(); 86 refresh(); 87 registrySpaceComboBox.setSelectedIndex(); 90 88 } 91 89 … … 137 135 componentInfoPage.infoPanel.setPanel(Config.instance.browserPanel); 138 136 } else 139 loadGroupItem(startupItemId); 140 } 141 } 142 143 private function loadGroupItem(startupItemId:String):void{ 144 Config.instance.getComponentsSrv(Config.instance.space).getComponent(startupItemId, function(item:ItemDescription):void{ 145 Config.instance.getListGroupsOfItemService().addEventListener(ListGroupsOfItemService.GROUPS_LOADED, function():void{ 146 var group:Group = (Config.instance.getListGroupsOfItemService().groups.getItemAt(0)) as Group; 147 if (item.isProfile){ 148 selectedProfileSrv = new ProfileInfoService(); 149 profileInfoPage.infoPanel.setPanel(Config.instance.browserPanel); 150 } else { 151 selectedComponentSrv = new ComponentInfoService(); 152 componentInfoPage.infoPanel.setPanel(Config.instance.browserPanel); 153 } 154 155 userSpaceCB.setSelectedItem(null, ""+group.id); 156 Config.instance.selectedGroup = ""+group.id; 157 Config.instance.userSpace = Config.SPACE_USER; 158 loadStartupItem(item); 159 Config.instance.dispatchEvent(new GroupSelectionEvent(""+group.id, group.name)); 160 }); 161 Config.instance.getListGroupsOfItemService().loadGroupsForItem(startupItemId); 162 } 163 ); 164 } 137 throw "Cannot find the item "+startupItemId+" in the current registries. :S" 138 } 139 } 140 141 165 142 166 143 private function loadStartupItem(item:ItemDescription):void { … … 183 160 } 184 161 185 public function setSelectedDescription(desc:ItemDescription):void { 162 public function setSelectedDescription(desc:ItemDescription):void { 186 163 if (desc.isProfile) { 187 164 tabnav.selectedIndex = 0; … … 219 196 } 220 197 221 private function setUserSpace(event:Event = null):void { 222 _userSpace=Config.instance.space; 223 userSpaceCB.setSelectedItem(Config.instance.space, Config.instance.selectedGroup); 224 } 198 225 199 226 200 private function getSelectedIndex():int{ … … 272 246 horizontalCenter="-110" 273 247 > 274 <components:SpaceSwitch id="userSpaceCB" width="110" /> 248 <components:SpaceSwitch id="registrySpaceComboBox" 249 width="150" /> 250 251 275 252 </mx:Box> 276 253 -
ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/browser/BrowserOverviewList.mxml
r4156 r5699 79 79 80 80 private function init():void{ 81 Config.instance.addEventListener(Config. USER_SPACE_TOGGLE_EVENT, onSpaceChanged);81 Config.instance.addEventListener(Config.REGISTRY_SPACE_TOGGLE_EVENT, onSpaceChanged); 82 82 groups.addItem("Move to group..."); 83 83 Config.instance.getListUserGroupsMembershipService().addEventListener(ListUserGroupsMembershipService.GROUPS_LOADED, onGroupsLoaded); 84 Config.instance.addEventListener(Config. USER_SPACE_TOGGLE_EVENT, updateGroupVisibility);84 Config.instance.addEventListener(Config.REGISTRY_SPACE_TOGGLE_EVENT, updateGroupVisibility); 85 85 Config.instance.getListUserGroupsMembershipService().loadGroupsForUser(); 86 86 Config.instance.addEventListener(GroupSelectionEvent.GROUP_SELECTED, onGroupSelected); … … 89 89 90 90 private function onSpaceChanged(event:Event):void{ 91 userSpaceCB.setSelectedItem(Config.instance.space, Config.instance.selectedGroup); 92 createNewButton.visible = (!Config.instance.selectedGroup); 93 createNewButton.includeInLayout = (!Config.instance.selectedGroup); 94 importButton.visible = (!Config.instance.selectedGroup); 95 importButton.includeInLayout = (!Config.instance.selectedGroup); 91 92 createNewButton.visible = true; 93 createNewButton.includeInLayout = true; 94 createNewButton.enabled = true; 95 96 editAsNew.visible = Config.instance.registrySpace.space == Config.SPACE_PUBLISHED; 97 editAsNew.includeInLayout = Config.instance.registrySpace.space == Config.SPACE_PUBLISHED; 98 editAsNew.enabled = Config.instance.registrySpace.space == Config.SPACE_PUBLISHED && dataGrid.selectedItem != null; 99 100 edit.visible = Config.instance.registrySpace.space == Config.SPACE_PRIVATE || Config.instance.registrySpace.space == Config.SPACE_GROUP; 101 edit.includeInLayout = Config.instance.registrySpace.space == Config.SPACE_PRIVATE || Config.instance.registrySpace.space == Config.SPACE_GROUP; 102 edit.enabled = (Config.instance.registrySpace.space == Config.SPACE_PRIVATE || Config.instance.registrySpace.space == Config.SPACE_GROUP) && dataGrid.selectedItem != null; 103 104 importButton.visible = Config.instance.registrySpace.space == Config.SPACE_PRIVATE; 105 importButton.includeInLayout = Config.instance.registrySpace.space == Config.SPACE_PRIVATE; 106 importButton.enabled = Config.instance.registrySpace.space == Config.SPACE_PRIVATE; 107 108 groupPanel.visible = Config.instance.registrySpace.space == Config.SPACE_PRIVATE || Config.instance.registrySpace.space == Config.SPACE_GROUP; 109 groupPanel.includeInLayout = Config.instance.registrySpace.space == Config.SPACE_PRIVATE || Config.instance.registrySpace.space == Config.SPACE_GROUP; 110 groupPanel.enabled = (Config.instance.registrySpace.space == Config.SPACE_PRIVATE || Config.instance.registrySpace.space == Config.SPACE_GROUP) && dataGrid.selectedItem != null; 111 112 groupBox.visible = Config.instance.registrySpace.space == Config.SPACE_PRIVATE || Config.instance.registrySpace.space == Config.SPACE_GROUP; 113 groupBox.includeInLayout = Config.instance.registrySpace.space == Config.SPACE_PRIVATE || Config.instance.registrySpace.space == Config.SPACE_GROUP; 114 groupBox.enabled = (Config.instance.registrySpace.space == Config.SPACE_PRIVATE || Config.instance.registrySpace.space == Config.SPACE_GROUP) && dataGrid.selectedItem != null; 115 116 moveToGroupBtn.visible = Config.instance.registrySpace.space == Config.SPACE_PRIVATE || Config.instance.registrySpace.space == Config.SPACE_GROUP; 117 moveToGroupBtn.includeInLayout = Config.instance.registrySpace.space == Config.SPACE_PRIVATE || Config.instance.registrySpace.space == Config.SPACE_GROUP; 118 moveToGroupBtn.enabled = (Config.instance.registrySpace.space == Config.SPACE_PRIVATE || Config.instance.registrySpace.space == Config.SPACE_GROUP) && dataGrid.selectedItem != null; 96 119 } 97 120 … … 126 149 127 150 private function editItem():void { 128 var item:ItemDescription = dataGrid.selectedItem as ItemDescription; 129 viewStack.switchToEditor(item); 130 } 131 132 private function importItem():void{ 133 viewStack.switchToImport(); 134 } 135 136 private function dispatchCreateNewEvent():void{ 151 var item:ItemDescription = dataGrid.selectedItem as ItemDescription; 152 viewStack.switchToEditor(item); 153 } 154 155 private function importItem():void{ 156 viewStack.switchToImport(); 157 } 158 159 private function dispatchCreateNewEvent():void{ 137 160 dispatchEvent(new CreateNewComponentEvent()); 138 161 } … … 140 163 141 164 private function goToFeed():void{ 142 var request:URLRequest = new URLRequest(Config.getRssUriDescriptions(typeOfDescription ));165 var request:URLRequest = new URLRequest(Config.getRssUriDescriptions(typeOfDescription, Config.instance.registrySpace)); 143 166 navigateToURL(request, "_blank"); 144 167 } … … 149 172 150 173 for each (var group:Group in Config.instance.getListUserGroupsMembershipService().groups) { 151 groups.addItem({label:group.name, space:Config.SPACE_ USER, groupId:group.id});174 groups.addItem({label:group.name, space:Config.SPACE_GROUP, groupId:group.id}); 152 175 } 153 176 updateGroupVisibility(event); … … 156 179 157 180 private function updateGroupVisibility(event:Event):void{ 158 var showGroups:Boolean = Config.instance.getListUserGroupsMembershipService().groups.length>0 && Config.instance.space != Config.SPACE_PUBLIC;181 var showGroups:Boolean = Config.instance.getListUserGroupsMembershipService().groups.length>0; 159 182 groupPanel.visible = showGroups; 160 183 groupBox.selectedIndex = 0; … … 208 231 209 232 233 234 public function updateSelectedIndexForRegistryComobBox():void { 235 this.registrySpaceComboBox.setSelectedIndex(); 236 } 210 237 ]]> 211 238 </mx:Script> 212 239 213 <mx:HBox paddingLeft="5" 240 <mx:HBox 241 paddingLeft="5" 214 242 paddingRight="5" 215 243 width="100%"> 216 244 217 <mx:Box paddingTop="5" paddingLeft="5" 245 <mx:Box 246 paddingTop="5" paddingLeft="5" 218 247 visible="{spaceSwitchEnabled}" 219 248 includeInLayout="{spaceSwitchEnabled}"> 220 <comp:SpaceSwitch id="userSpaceCB" /> 249 <comp:SpaceSwitch id="registrySpaceComboBox" 250 /> 221 251 </mx:Box> 222 252 … … 231 261 label="Create new" 232 262 toolTip="Create a new item in the private workspace" 263 visible="{true}" 264 includeInLayout="{true}" 265 enabled="{true}" 233 266 click="dispatchCreateNewEvent()" 234 267 /> 235 <mx:Button label="Edit" 268 <mx:Button 269 id = "edit" 270 label="Edit" 236 271 toolTip="Edit the selected item in the editor" 237 visible="{Config.instance. space == Config.SPACE_USER}"238 includeInLayout="{Config.instance. space == Config.SPACE_USER}"239 enabled="{ Config.instance.space == Config.SPACE_USER&& dataGrid.selectedItem != null}"272 visible="{Config.instance.registrySpace.space == Config.SPACE_PRIVATE || Config.instance.registrySpace.space == Config.SPACE_GROUP}" 273 includeInLayout="{Config.instance.registrySpace.space == Config.SPACE_PRIVATE || Config.instance.registrySpace.space == Config.SPACE_GROUP}" 274 enabled="{(Config.instance.registrySpace.space == Config.SPACE_PRIVATE || Config.instance.registrySpace.space == Config.SPACE_GROUP) && dataGrid.selectedItem != null}" 240 275 click="editItem()" /> 241 <mx:Button label="Edit as new" 242 toolTip="Edit the selected item as a new item in the private workspace" 243 visible="{Config.instance.space != Config.SPACE_USER}" 244 includeInLayout="{Config.instance.space != Config.SPACE_USER}" 245 enabled="{Config.instance.space != Config.SPACE_USER && dataGrid.selectedItem != null}" 276 <mx:Button id = "editAsNew" 277 label="Edit as new" 278 toolTip="Edit the selected item as a new item in the private or group workspace" 279 visible="{Config.instance.registrySpace.space == Config.SPACE_PUBLISHED}" 280 includeInLayout="{Config.instance.registrySpace.space == Config.SPACE_PUBLISHED}" 281 enabled="{Config.instance.registrySpace.space == Config.SPACE_PUBLISHED && dataGrid.selectedItem != null}" 246 282 click="editItem()" /> 247 283 <mx:Button id="importButton" 248 284 label="Import" 285 visible="{Config.instance.registrySpace.space == Config.SPACE_PRIVATE}" 286 includeInLayout="{Config.instance.registrySpace.space == Config.SPACE_PRIVATE}" 287 enabled="{Config.instance.registrySpace.space == Config.SPACE_PRIVATE}" 249 288 toolTip="Import an item from a local file" 250 289 click="importItem()" /> 251 290 252 291 <mx:HBox id="groupPanel" 253 visible="true" 254 enabled="{Config.instance.space == Config.SPACE_USER && dataGrid.selectedItem != null}" 292 visible="{Config.instance.registrySpace.space != Config.SPACE_PUBLISHED}" 293 includeInLayout="{Config.instance.registrySpace.space != Config.SPACE_PUBLISHED}" 294 enabled="{Config.instance.registrySpace.space != Config.SPACE_PUBLISHED && dataGrid.selectedItem != null}" 255 295 > 256 296 <mx:ComboBox id="groupBox" 297 visible="{Config.instance.registrySpace.space != Config.SPACE_PUBLISHED}" 298 includeInLayout="{Config.instance.registrySpace.space != Config.SPACE_PUBLISHED}" 299 enabled="{Config.instance.registrySpace.space != Config.SPACE_PUBLISHED && dataGrid.selectedItem != null}" 257 300 dataProvider="{groups}" 258 301 /> 259 302 <mx:Button id="moveToGroupBtn" 260 303 label="Move to group" 304 visible="{Config.instance.registrySpace.space != Config.SPACE_PUBLISHED}" 305 includeInLayout="{Config.instance.registrySpace.space != Config.SPACE_PUBLISHED}" 306 enabled="{Config.instance.registrySpace.space != Config.SPACE_PUBLISHED && dataGrid.selectedItem != null}" 261 307 click="onMoveToGroupButtonClicked(event)"/> 262 308 </mx:HBox> … … 273 319 </mx:HBox> 274 320 <comp:RssLinkButton 275 enabled ="{Config.instance. space != Config.SPACE_USER}"276 visible="{Config.instance. space != Config.SPACE_USER}"321 enabled ="{Config.instance.registrySpace.space != Config.SPACE_PRIVATE}" 322 visible="{Config.instance.registrySpace.space != Config.SPACE_PRIVATE}" 277 323 contextMenu = "{(new RssDescriptionsContextMenu(typeOfDescription)).cm}" 278 324 click="goToFeed()" -
ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/browser/CommentsPanel.as
r3660 r5699 90 90 91 91 // Do actual loading 92 service = new CommentListService(_itemDescription , _itemDescription.space);92 service = new CommentListService(_itemDescription); 93 93 service.addEventListener(CommentListService.COMMENTS_LOADED, commentsLoaded); 94 94 service.load(); 95 95 96 96 // Rss feed "button" 97 if (_itemDescription. space != Config.SPACE_USER){97 if (_itemDescription.isPrivate != Config.SPACE_PRIVATE){ 98 98 var spacer:Spacer = new Spacer(); 99 99 spacer.percentWidth=100; -
ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/common/Group.as
r3660 r5699 10 10 { 11 11 [Bindable] 12 public var id: uint;12 public var id:String; 13 13 14 14 [Bindable] -
ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/common/ItemDescription.as
r4156 r5699 15 15 public var registrationDate:String; 16 16 public var registrationDateValue:Date; 17 public var space:String;17 public var isPrivate:Boolean; 18 18 public var commentsCount:int; 19 19 … … 22 22 } 23 23 24 private function create(itemDescription:XML, infoUrl:String, isProfileValue:Boolean, space:String):void {24 private function create(itemDescription:XML, infoUrl:String, isProfileValue:Boolean, isPrivate:Boolean):void { 25 25 this.id = itemDescription.id; 26 26 this.name = itemDescription.name; … … 32 32 this.commentsCount = itemDescription.commentsCount; 33 33 this.isProfile = isProfileValue; 34 this. space = space;34 this.isPrivate = isPrivate; 35 35 36 36 // getting ISO-8601 (GMT/UTC timezone) dates from the server. Need to convert this, flex does not support ISO-8601 times out of the box. … … 41 41 } 42 42 43 public function createProfile(itemDescription:XML, space:String):void {44 create(itemDescription, Config.instance.profileInfoUrl, true, space);43 public function createProfile(itemDescription:XML, isPrivate:Boolean):void { 44 create(itemDescription, Config.instance.profileInfoUrl, true, isPrivate); 45 45 } 46 46 47 public function createComponent(itemDescription:XML, space:String):void {48 create(itemDescription, Config.instance.componentInfoUrl, false, space);47 public function createComponent(itemDescription:XML, isPrivate:Boolean):void { 48 create(itemDescription, Config.instance.componentInfoUrl, false, isPrivate); 49 49 } 50 50 -
ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/common/ShowInfoPopUp.mxml
r3660 r5699 43 43 44 44 private function getBookmarkText():String { 45 if (item. space == Config.SPACE_USER) {45 if (item.isPrivate) { 46 46 return "Bookmark link (requires login):"; 47 47 } else { 48 48 return "Bookmark link:"; 49 49 } 50 50 51 } 51 52 -
ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/common/components/BrowseContextMenu.as
r3660 r5699 45 45 setItemStates(); 46 46 47 Config.instance.addEventListener(Config. USER_SPACE_TOGGLE_EVENT, setItemStates);47 Config.instance.addEventListener(Config.REGISTRY_SPACE_TOGGLE_EVENT, setItemStates); 48 48 } 49 49 … … 77 77 78 78 private function setItemStates(event:Event = null):void { 79 editMenuItem.visible = Config.instance.space == Config.SPACE_USER;80 editAsNewMenuItem.visible = (Config.instance. space!= Config.SPACE_USER);79 editMenuItem.visible = (Config.instance.registrySpace.space == Config.SPACE_PRIVATE || Config.instance.registrySpace.space == Config.SPACE_GROUP); 80 editAsNewMenuItem.visible = (Config.instance.registrySpace.space == Config.SPACE_PUBLISHED); 81 81 } 82 82 -
ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/common/components/ExpandingComponentLabel.as
r4143 r5699 41 41 this.editable = editable; 42 42 this.componentId = componentId; 43 this.item = Config.instance.getComponentsSrv(Config.SPACE_USER).findDescription(componentId); 44 if (this.item==null) { 45 this.item = Config.instance.getComponentsSrv(Config.SPACE_PUBLIC).findDescription(componentId); 46 } 43 this.item = Config.instance.getComponentsSrv().findDescription(componentId); 47 44 styleName = StyleConstants.EXPANDING_COMPONENT; 48 if (item && item. space == Config.SPACE_USER) {45 if (item && item.isPrivate) { 49 46 this.setStyle("borderColor", StyleConstants.USER_BORDER_COLOR); 50 47 } 51 48 if (item!=null) 52 49 updateView(); 53 //unfortunately the componend and profile services may overlook components from groups, so we have to ask the backend 54 else{ 55 Config.instance.getComponentsSrv(Config.SPACE_USER).getComponent(componentId, function(item:ItemDescription):void{ 56 setStyle("borderColor", StyleConstants.GROUP_BORDER_COLOR); 57 setItem(item); 58 updateView(); 59 }); 60 } 50 61 51 } 62 52 -
ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/common/components/LoginLabelButton.as
r3368 r5699 35 35 } 36 36 if (itemId) { 37 uri.setQueryValue(Config.REGISTRY_PARAM_ITEM , itemId);37 uri.setQueryValue(Config.REGISTRY_PARAM_ITEM_ID, itemId); 38 38 } 39 39 req.url = uri.toString(); -
ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/common/components/RegistryViewStack.as
r3907 r5699 8 8 import clarin.cmdi.componentregistry.importer.Importer; 9 9 import clarin.cmdi.componentregistry.services.Config; 10 import clarin.cmdi.componentregistry.services.RegistrySpace; 10 11 11 12 import flash.events.Event; … … 54 55 55 56 public function loadStartup():void { 56 if ( Config.instance.space == Config.SPACE_USER&& !Credentials.instance.isLoggedIn()) {57 if ((Config.instance.registrySpace.space == Config.SPACE_PRIVATE || Config.instance.registrySpace.space == Config.SPACE_GROUP) && !Credentials.instance.isLoggedIn()) { 57 58 checkLogin(); 58 59 } else { … … 76 77 77 78 public function switchToBrowse(itemDescription:ItemDescription):void { 78 if (itemDescription != null) { 79 if (Config.instance.space == itemDescription.space) { 80 browse.refresh(); 81 } else { 82 Config.instance.userSpace = itemDescription.space; 79 if (itemDescription != null) { 80 81 if (itemDescription.isPrivate && Config.instance.registrySpace.space == Config.SPACE_PUBLISHED) { 82 Config.instance.registrySpace = new RegistrySpace( Config.SPACE_PRIVATE, ""); 83 } else { 84 if (!itemDescription.isPrivate && Config.instance.registrySpace.space != Config.SPACE_PUBLISHED) { 85 // the item has been published, go to public space 86 Config.instance.registrySpace = new RegistrySpace( Config.SPACE_PUBLISHED, ""); 87 } else { 88 browse.refresh(); 89 } 83 90 } 84 91 browse.setSelectedDescription(itemDescription); 85 } 92 } 86 93 this.selectedItem = itemDescription; 87 94 this.selectedChild = browse; … … 110 117 itemId = selectedItem.id; 111 118 } 112 loginPanel.show(this, RegistryView(this.selectedChild).getType(), Config.instance. space, itemId);119 loginPanel.show(this, RegistryView(this.selectedChild).getType(), Config.instance.registrySpace.space, itemId); 113 120 } 114 121 } -
ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/common/components/RssDescriptionsContextMenu.as
r2515 r5699 21 21 22 22 override protected function copyRssLink(event:ContextMenuEvent):void { 23 System.setClipboard(Config.getRssUriDescriptions(_typeOfDescription ));23 System.setClipboard(Config.getRssUriDescriptions(_typeOfDescription, Config.instance.registrySpace)); 24 24 } 25 25 26 26 override protected function showRssLink(event:ContextMenuEvent):void{ 27 navigateToURL(new URLRequest(Config.getRssUriDescriptions(_typeOfDescription )), "_blank");27 navigateToURL(new URLRequest(Config.getRssUriDescriptions(_typeOfDescription, Config.instance.registrySpace)), "_blank"); 28 28 } 29 29 30 30 override protected function menuUpdateCaption(event:ContextMenuEvent):void { 31 _showRssLinkMenuItem.caption = Config.getRssUriDescriptions(_typeOfDescription );31 _showRssLinkMenuItem.caption = Config.getRssUriDescriptions(_typeOfDescription, Config.instance.registrySpace); 32 32 } 33 33 } -
ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/common/components/SpaceSwitch.mxml
r4098 r5699 3 3 dataProvider="{spaces}" 4 4 width="110" 5 close=" userSpaceCloseHandler(event)"5 close="registrySpaceCloseHandler(event)" 6 6 initialize="init()" 7 7 change="onSelectionChanged(event)" … … 15 15 import clarin.cmdi.componentregistry.services.Config; 16 16 import clarin.cmdi.componentregistry.services.ListUserGroupsMembershipService; 17 import clarin.cmdi.componentregistry.services.RegistrySpace; 17 18 18 19 import mx.collections.ArrayCollection; 19 20 import mx.controls.Alert; 20 21 21 private static const USERSPACE_LABEL:String = "Workspace";22 private static const PUBLIC SPACE_LABEL:String = "Public space";22 private static const PRIVATE_SPACE_LABEL:String = "Private space"; 23 private static const PUBLIC_SPACE_LABEL:String = "Public space"; 23 24 [Bindable] 24 public staticvar spaces:ArrayCollection;25 public var spaces:ArrayCollection; 25 26 26 private static function initSpaces():void{ 27 spaces = new ArrayCollection([{label: PUBLICSPACE_LABEL, space: Config.SPACE_PUBLIC, groupId:null}, {label: USERSPACE_LABEL, space: Config.SPACE_USER, groupId:null}]); 27 //before groups are known 28 private function initSpaces():void{ 29 spaces = new ArrayCollection([{label: PUBLIC_SPACE_LABEL, space: Config.SPACE_PUBLISHED, groupId:null}, {label: PRIVATE_SPACE_LABEL, space: Config.SPACE_PRIVATE, groupId:null}]); 28 30 } 29 31 30 32 private function onSelectionChanged(event:Event):void{ 31 var groupId:String = getSelectedGroup(event); 32 Config.instance.selectedGroup = ComboBox(event.target).selectedItem.groupId; 33 Config.instance.userSpace = ComboBox(event.target).selectedItem.space; 33 var space:String = ComboBox(event.target).selectedItem.space; 34 var groupId:String = ComboBox(event.target).selectedItem.groupId; 35 if ((groupId != null) && (groupId != "")) { 36 space = Config.SPACE_GROUP; 37 } 38 Config.instance.registrySpace = new RegistrySpace(space, groupId); 34 39 } 40 41 42 43 public function init():void{ 44 Config.instance.getListUserGroupsMembershipService().addEventListener(ListUserGroupsMembershipService.GROUPS_LOADED, onGroupsLoaded); 45 Config.instance.getListUserGroupsMembershipService().loadGroupsForUser(); // triggers the event ListUserGroupsMembershipService.GROUPS_LOADED 46 } 47 48 35 49 36 50 public function onGroupsLoaded(event:Event):void{ 37 51 initSpaces(); 38 52 for each (var group:Group in Config.instance.getListUserGroupsMembershipService().groups) { 39 spaces.addItem({label:group.name, space:Config.SPACE_USER, groupId:group.id}); 40 } 41 if (Config.instance.space == Config.SPACE_PUBLIC) 42 this.selectedIndex = 0; 43 else 44 if (Config.instance.space == Config.SPACE_USER){ 45 this.selectedIndex = 1; 46 } 53 spaces.addItem({label:group.name, space:Config.SPACE_GROUP, groupId:group.id}); 54 } 55 setSelectedIndex(); 47 56 } 48 49 public function init():void{ 50 Config.instance.getListUserGroupsMembershipService().addEventListener(ListUserGroupsMembershipService.GROUPS_LOADED, onGroupsLoaded); 51 Config.instance.getListUserGroupsMembershipService().loadGroupsForUser(); 52 } 53 54 private function getSelectedSpace(event:Event):String{ 55 return ComboBox(event.target).selectedItem.space; 56 } 57 58 private function getSelectedGroup(event:Event):String{ 59 var s:String; 60 var cb:ComboBox = ComboBox(event.target); 61 return cb.selectedItem.groupId; 62 } 63 64 private function userSpaceCloseHandler(event:Event):void { 57 58 private function registrySpaceCloseHandler(event:Event):void { 65 59 if (Credentials.instance.isLoggedIn()) { 66 } else if (selectedIndex != 0) { 67 selectedIndex = 0; 68 new Login().show(this.parent.parent, Config.VIEW_BROWSE, Config.SPACE_USER, null); 60 } else { 61 if (Config.instance.registrySpace.space != Config.SPACE_PUBLISHED) { 62 new Login().show(this.parent.parent, Config.VIEW_BROWSE, Config.instance.registrySpace.space, null); 63 //setSelectedIndex(); 64 } 65 69 66 } 70 67 } 71 68 72 public function setSelectedItem(space:String, groupId:String):void{ 73 var index:int = 0; 74 var found:Boolean = false; 75 if (groupId) 76 for each (var item:Object in spaces) { 77 if (item.groupId==groupId){ 78 this.selectedIndex = index; 79 found = true; 80 break; 69 public function setSelectedIndex():void{ 70 71 if (Config.instance.registrySpace.space==Config.SPACE_PUBLISHED) { 72 this.selectedIndex = 0; 73 return; 74 } 75 if (Config.instance.registrySpace.space==Config.SPACE_PRIVATE) { 76 this.selectedIndex = 1; 77 return; 78 } 79 80 var index:int; 81 if (Config.instance.registrySpace.space==Config.SPACE_GROUP) { 82 for (index=2;index<spaces.length; index++) { 83 if (spaces[index].groupId==Config.instance.registrySpace.groupId){ 84 trace("indeces:" + index+" " +Config.instance.registrySpace.groupId +" " +spaces[index].groupId); 85 this.selectedIndex = index; 86 return; 87 } 81 88 } 82 index++;83 89 } 84 index = 0; 85 if (!found) 86 for each (var item:Object in spaces) { 87 if (item.space==space){ 88 this.selectedIndex = index; 89 break; 90 91 // in case of #$%^-up: 92 var spacesDump:String= spaces[0].space + "; "+spaces[1].space; 93 for (index=2;index<spaces.length; index++) { 94 spacesDump=spacesDump+"; "+spaces[index].space + " " +spaces[index].groupId; 90 95 } 91 index++;92 }96 97 throw "Cannot indetify the selection index for registry-space combobox. space = "+Config.instance.registrySpace.space+ " group "+Config.instance.registrySpace.groupId + spacesDump; 93 98 } 99 100 94 101 ]]> 95 102 </mx:Script> -
ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/editor/ComponentSummary.mxml
r3660 r5699 29 29 > 30 30 <mx:Label text="ComponentId: " fontWeight="bold"/> 31 <mx:Label text="{Config.instance.getComponentsSrv( Config.instance.space).findDescription(component.componentId).name}" />31 <mx:Label text="{Config.instance.getComponentsSrv().findDescription(component.componentId).name}" /> 32 32 </mx:HBox> 33 33 -
ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/editor/Editor.mxml
r3907 r5699 19 19 width="100%" 20 20 height="90" 21 saveClick="saveSpec(Config.SPACE_ USER, UploadService.UPDATE)"22 saveAsNewClick="saveSpec(Config.SPACE_ USER, UploadService.NEW)"21 saveClick="saveSpec(Config.SPACE_PRIVATE, UploadService.UPDATE)" 22 saveAsNewClick="saveSpec(Config.SPACE_PRIVATE, UploadService.NEW)" 23 23 publishClick="publishSpec()" 24 24 cancelClick="cancel()" -
ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/editor/EditorAS.as
r4098 r5699 13 13 import clarin.cmdi.componentregistry.services.Config; 14 14 import clarin.cmdi.componentregistry.services.ProfileInfoService; 15 import clarin.cmdi.componentregistry.services.ProfileListService; 16 import clarin.cmdi.componentregistry.services.RegistrySpace; 15 17 import clarin.cmdi.componentregistry.services.UploadService; 16 18 … … 28 30 29 31 [Bindable] 30 private var componentsSrv:ComponentListService = Config.instance.getComponentsSrv(Config.instance.space); 32 private var componentsSrv:ComponentListService = Config.instance.getComponentsSrv(); 33 34 [Bindable] 35 private var profilesSrv:ProfileListService = Config.instance.getProfilesSrv(); 31 36 32 37 [Bindable] … … 51 56 uploadService.addEventListener(UploadCompleteEvent.UPLOAD_COMPLETE, handleSaveComplete); 52 57 uploadService.init(uploadProgress); 53 Config.instance.addEventListener(Config. USER_SPACE_TOGGLE_EVENT, toggleUserSpace);58 Config.instance.addEventListener(Config.REGISTRY_SPACE_TOGGLE_EVENT, toggleRegistrySpace); 54 59 viewStack = this.parent as RegistryViewStack; 55 60 } 56 61 57 62 58 private function toggleUserSpace(event:Event):void { 59 componentsSrv = Config.instance.getComponentsSrv(Config.instance.space); 63 private function toggleRegistrySpace(event:Event):void { 64 componentsSrv = Config.instance.getComponentsSrv(); 65 profilesSrv = Config.instance.getProfilesSrv(); 60 66 } 61 67 62 68 private function determineSaveButtonEnabled():void { 63 buttonBar.saveBtn.enabled = (itemDescription != null && itemDescription.space == Config.SPACE_USER && null != itemDescription.id && null != xmlEditor.cmdSpec.headerId);69 buttonBar.saveBtn.enabled = (itemDescription != null && itemDescription.isPrivate && itemDescription.id != null && xmlEditor.cmdSpec.headerId != null && ( Config.instance.registrySpace.space == Config.SPACE_PRIVATE || Config.SPACE_GROUP)); 64 70 } 65 71 … … 111 117 private function handlePublishAlert(event:CloseEvent):void { 112 118 if (event.detail == Alert.OK) { 113 saveSpec(Config.SPACE_PUBLI C, UploadService.PUBLISH);114 Config.instance. userSpace = Config.SPACE_PUBLIC;115 } 116 } 117 118 private function saveSpec( space:String, uploadAction:int):void {119 saveSpec(Config.SPACE_PUBLISHED, UploadService.PUBLISH); 120 Config.instance.registrySpace = new RegistrySpace(Config.SPACE_PUBLISHED, ""); 121 } 122 } 123 124 private function saveSpec(registrySpace:String, uploadAction:int):void { 119 125 if (xmlEditor.validate()) { 120 126 var item:ItemDescription = new ItemDescription(); … … 124 130 item.groupName = xmlEditor.cmdSpec.groupName; 125 131 item.domainName = xmlEditor.cmdSpec.domainName; 126 item. space = space;127 if (itemDescription && itemDescription. space == Config.SPACE_USER) {132 item.isPrivate = (registrySpace == Config.SPACE_PRIVATE || registrySpace == Config.SPACE_GROUP); 133 if (itemDescription && itemDescription.isPrivate ) { 128 134 item.id = xmlEditor.cmdSpec.headerId; 129 135 } 130 136 131 137 // Private components that are in updated require usage check call. If in use, the user can choose whether or not to save the changes . 132 if( space == Config.SPACE_USER&& uploadAction == UploadService.UPDATE && !item.isProfile){133 checkUsage(item, space);138 if((registrySpace == Config.SPACE_PRIVATE || registrySpace == Config.SPACE_GROUP) && uploadAction == UploadService.UPDATE && !item.isProfile){ 139 checkUsage(item, registrySpace); 134 140 }else{ 135 141 doUpload(uploadAction,item); 136 142 } 143 144 // if we are in public or group space but do "save as new" (i.e. in a private space) 145 // then we need to switch to the private space 146 if (registrySpace == Config.SPACE_PRIVATE) { 147 Config.instance.registrySpace=new RegistrySpace(Config.SPACE_PRIVATE, ""); 148 } 149 137 150 } else { 138 151 errorMessageField.text = "Validation errors: red colored fields are invalid."; … … 156 169 * Calls usage check for the specified component. If in use, asks user whether to proceed; if positive, initiates update. 157 170 */ 158 private function checkUsage(item:ItemDescription, space:String, uploadAction:int = UploadService.UPDATE):void{159 var componentUsageService:ComponentUsageService = new ComponentUsageService(item ,space);171 private function checkUsage(item:ItemDescription, space:String, uploadAction:int = 0):void{ 172 var componentUsageService:ComponentUsageService = new ComponentUsageService(item); 160 173 componentUsageService.addEventListener(ComponentUsageCheckEvent.COMPONENT_IN_USE, 161 174 function (event:ComponentUsageCheckEvent):void{ … … 183 196 } 184 197 185 private function handleSaveComplete(event:UploadCompleteEvent):void { 198 private function handleSaveComplete(event:UploadCompleteEvent):void { 186 199 setDescription(event.itemDescription); 187 parentApplication.viewStack.switchToBrowse(event.itemDescription); 200 parentApplication.viewStack.switchToBrowse(event.itemDescription); 188 201 } 189 202 … … 209 222 private function onGroupsLoaded(event:Event):void{ 210 223 var groups:ArrayCollection = Config.instance.getListGroupsOfItemService().groups; 211 //buttonBar.groupPanel.visible = (Config.instance.space != Config.SPACE_PUBLIC) && Config.instance.getListUserGroupsMembershipService().groups.length>0;212 224 if (groups.length < 1); 213 225 else{ -
ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/editor/EditorButtonBar.mxml
r3907 r5699 1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" 3 xmlns:editor="clarin.cmdi.componentregistry.editor.*" 3 4 width="400" 4 5 creationComplete="init()" … … 13 14 </mx:Metadata> 14 15 15 <mx:HBox width=" 400" height="30">16 <mx:HBox width="800" height="30"> 16 17 <mx:Button id="saveBtn" 17 18 label="Save" 18 click="dispatchEvent(new MouseEvent('saveClick'))" 19 enabled="false" 20 /> 19 click="dispatchEvent(new MouseEvent('saveClick'))"/> 21 20 <mx:Button id="saveAsNewBtn" 22 label="Save as new "21 label="Save as new in your private space" 23 22 click="dispatchEvent(new MouseEvent('saveAsNewClick'))"/> 24 23 <mx:Button id="publishBtn" … … 29 28 label="Cancel" 30 29 click="dispatchEvent(new MouseEvent('cancelClick'))"/> 31 32 30 </mx:HBox> 33 31 … … 35 33 <![CDATA[ 36 34 import clarin.cmdi.componentregistry.services.Config; 37 38 35 import mx.collections.ArrayCollection; 39 36 import mx.controls.Alert; … … 46 43 private static var currentSelectedGroup:String=""; 47 44 45 48 46 public function init():void{ 49 47 } 48 49 50 50 51 51 ]]> -
ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/importer/Importer.mxml
r3660 r5699 44 44 item.domainName = domainName.selectedItem.data; 45 45 item.isProfile = isProfile; 46 item. space = Config.SPACE_USER; //We only allow import into workspace it can be published from there.46 item.isPrivate = true; //We only allow import into workspace it can be published from there. 47 47 if (loadedXML) { 48 48 updateXMLFromFormFields(loadedXML); -
ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/services/BaseRemoteService.as
r4131 r5699 59 59 this.handleXmlResult(resultXml); 60 60 this.dispatchEvent(new Event(this.successEventName)); 61 61 62 } 62 63 -
ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/services/BrowserService.as
r4087 r5699 16 16 public var itemDescriptions:ArrayCollection; 17 17 18 protected var groupId:String; 18 19 protected var registrySpace:RegistrySpace; 19 20 20 public function BrowserService(successEvent:String, restUrl:URI, space:String) {21 public function BrowserService(successEvent:String, restUrl:URI, registrySpace_:RegistrySpace) { 21 22 super(successEvent, restUrl); 22 this. space = space;23 this.registrySpace = registrySpace_; 23 24 } 24 25 25 public function setGroupId(id:String):void{ 26 this.groupId = id; 26 [Bindable(event=REGISTRY_SPACE_TOGGLE_EVENT)] 27 public function setRegistrySpace(registrySpace_:RegistrySpace):void{ 28 this.registrySpace = registrySpace_; 27 29 } 30 28 31 32 // propagates to two child calsses: component and profile list services 29 33 override protected function dispatchRequest(url:URI):void { 30 34 var copy:URI = new URI(); 31 35 copy.copyURI(url); 32 if (space == Config.SPACE_USER) { 33 copy.setQueryValue(Config.PARAM_USERSPACE, "true"); 34 } 35 if (groupId){ 36 copy.setQueryValue("groupid",groupId); 37 } else 38 copy.setQueryValue("groupid",null); 36 if (this.registrySpace.space) { 37 copy.setQueryValue(Config.REGISTRY_PARAM_SPACE, this.registrySpace.space); 38 if ((this.registrySpace.space) == Config.SPACE_GROUP) { 39 if (this.registrySpace.groupId == null || this.registrySpace.groupId == "") { 40 throw "Group Id is not given"; 41 } 42 copy.setQueryValue(Config.REGISTRY_PARAM_GROUP_ID, this.registrySpace.groupId); 43 } 44 } 39 45 super.dispatchRequest(copy); 40 46 } -
ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/services/CommentListService.as
r3660 r5699 19 19 public var comments:ArrayCollection; 20 20 21 public function CommentListService(itemDescription:ItemDescription , userSpace:String) {21 public function CommentListService(itemDescription:ItemDescription) { 22 22 var url:String; 23 23 if(itemDescription.isProfile){ … … 29 29 30 30 this.itemDescription = itemDescription; 31 this.space = userSpace;32 31 } 33 32 -
ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/services/CommentPostService.as
r4098 r5699 44 44 public function upload(comment:Comment, itemDescription:ItemDescription):void { 45 45 createAndInitRequest(); 46 var uri:URI = createUri(comment, itemDescription.space);46 var uri:URI = createUri(comment, itemDescription); 47 47 submit(createByteArray(comment.toXml()), uri); 48 48 } 49 49 50 private function createUri(comment:Comment, userSpace:String):URI {50 private function createUri(comment:Comment, itemDescription:ItemDescription):URI { 51 51 var uri:URI = null; 52 if(comment.componentId){ 53 uri = new URI(Config.instance.getComponentCommentsPath(comment.componentId)); 52 if(itemDescription){ 53 if (itemDescription.isProfile) { 54 uri = new URI(Config.instance.getProfileCommentsPath(itemDescription.id)); 55 } else { 56 uri = new URI(Config.instance.getComponentCommentsPath(itemDescription.id)); 57 } 54 58 } else{ 55 59 return null; 56 60 } 57 if (userSpace == Config.SPACE_USER){ 58 uri.setQueryValue(Config.PARAM_USERSPACE, "true"); 59 } 61 60 62 return uri; 61 63 } -
ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/services/ComponentInfoService.as
r3660 r5699 26 26 component.description = item; 27 27 var url:URI = new URI(item.dataUrl); 28 if (item.space == Config.SPACE_USER) {29 url.setQueryValue(Config.PARAM_USERSPACE, "true");30 }31 28 dispatchRequest(url); 32 29 } -
ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/services/ComponentListService.as
r3660 r5699 13 13 public const COMPONENTS_LOADED:String = "componentsLoaded"; 14 14 15 public function ComponentListService( space:String) {16 super(COMPONENTS_LOADED, new URI(Config.instance.componentListUrl), space);15 public function ComponentListService(registrySpace:RegistrySpace) { 16 super(COMPONENTS_LOADED, new URI(Config.instance.componentListUrl), registrySpace); 17 17 } 18 18 … … 23 23 for each (var node:XML in nodes) { 24 24 var item:ItemDescription = new ItemDescription(); 25 item.createComponent(node, space); 25 var isPrivate:Boolean = (Config.instance.registrySpace.space == Config.SPACE_PRIVATE || Config.instance.registrySpace.space == Config.SPACE_GROUP); 26 item.createComponent(node, isPrivate); 26 27 tempArray.addItem(item); 27 28 } -
ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/services/ComponentRegistryService.as
r4141 r5699 14 14 15 15 protected var serviceUrl:URI; 16 protected var space:String;17 16 18 17 public function ComponentRegistryService(successEvent:String, serviceUrl:URI) { … … 21 20 } 22 21 22 23 23 override protected function dispatchRequest(url:URI):void { 24 24 url.setQueryValue("unique", new Date().getTime().toString()); 25 if (space == Config.SPACE_USER) { 26 url.setQueryValue(Config.PARAM_USERSPACE, "true"); 27 } else 28 url.setQueryValue(Config.PARAM_USERSPACE, null); 25 if (Config.instance.registrySpace != null) { 26 url.setQueryValue(Config.REGISTRY_PARAM_SPACE, Config.instance.registrySpace.space); 27 if (Config.instance.registrySpace.space==Config.SPACE_GROUP) { 28 url.setQueryValue(Config.REGISTRY_PARAM_GROUP_ID, Config.instance.registrySpace.groupId); 29 } 30 } else { 31 throw "Registry space is lost." 32 } 29 33 super.dispatchRequest(url); 30 34 } 35 36 31 37 32 38 public function load():void { … … 35 41 36 42 public function getComponent(componentId:String, callback:Function):void{ 37 readService.setUrl(new URI(Config.instance.serviceRootUrl+Config.ITEMS_URL+"/"+componentId +"?userspace=true"));43 readService.setUrl(new URI(Config.instance.serviceRootUrl+Config.ITEMS_URL+"/"+componentId)); 38 44 var token:AsyncToken = readService.send(); 39 45 token.addResponder(new Responder(function(resultEvent):void{ -
ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/services/ComponentUsageService.as
r3660 r5699 27 27 private var service:HTTPService; 28 28 29 public function ComponentUsageService(itemDescription:ItemDescription , space:String)29 public function ComponentUsageService(itemDescription:ItemDescription) 30 30 { 31 var url:URI = new URI(Config.instance.componentUsageUrl + itemDescription.id); 32 if (space == Config.SPACE_USER) { 33 url.setQueryValue(Config.PARAM_USERSPACE, "true"); 34 } 35 31 var url:URI = new URI(Config.instance.componentUsageUrl + itemDescription.id); 36 32 service = new HTTPService(); 37 33 service.url = url.toString(); -
ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/services/Config.as
r4156 r5699 12 12 import mx.controls.List; 13 13 14 [Event(name=" userSpaceToggle", type="flash.events.Event")]14 [Event(name="registrySpaceToggle", type="flash.events.Event")] 15 15 public final class Config extends EventDispatcher { 16 public static const USER_SPACE_TOGGLE_EVENT:String = "userSpaceToggle";16 public static const REGISTRY_SPACE_TOGGLE_EVENT:String = "registrySpaceToggle"; 17 17 18 18 public static const CLARIN_REGISTER_URL:String = "http://www.clarin.eu/user/register"; 19 public static const PARAM_USERSPACE:String = "userspace";20 19 public static const REGISTRY_PARAM_VIEW:String = "view"; 21 20 public static const REGISTRY_PARAM_BROWSER_VIEW:String = "browserview"; 22 public static const REGISTRY_PARAM_ITEM :String = "item";23 public static const REGISTRY_PARAM_SPACE:String = " space";21 public static const REGISTRY_PARAM_ITEM_ID:String = "itemId"; 22 public static const REGISTRY_PARAM_SPACE:String = "registrySpace"; 24 23 public static const REGISTRY_PARAM_DEBUG:String = "debug"; 24 public static const REGISTRY_PARAM_GROUP_ID:String = "groupId" 25 25 26 26 // REGISTRY_ID, COMPONENT_PREFIX, and PROFILE_PREFIX must be the same as on the server! … … 37 37 public static const VIEW_EDIT:String = "edit"; 38 38 public static const VIEW_IMPORT:String = "import"; 39 public static const FLAVOUR_PROFILES = "profiles";40 public static const FLAVOUR_COMPONENTS = "components";39 public static const FLAVOUR_PROFILES:String = "profiles"; 40 public static const FLAVOUR_COMPONENTS:String = "components"; 41 41 //Possible browser views to start with 42 42 public static const BROWSER_PANEL_VIEW:String = "view"; … … 44 44 public static const BROWSER_PANEL_COMMENTS:String = "comments"; 45 45 //Possible space to start with. 46 public static const SPACE_USER:String = "user"; 47 public static const SPACE_PUBLIC:String = "public"; 46 public static const SPACE_PRIVATE:String = "private"; 47 public static const SPACE_PUBLISHED:String = "published"; 48 public static const SPACE_GROUP:String = "group"; 48 49 49 50 public static const COMPONENT_LIST_URL:String = "/rest/registry/components"; … … 66 67 67 68 68 private var _startupItem :String; //item to be selected at startup, can be specified as a url parameter69 private var _startupItemId:String; //item to be selected at startup, can be specified as a url parameter 69 70 private var _serviceRootUrl:String = "http://localhost:8080/ComponentRegistry"; 70 71 //Default _serviceRootUrl value can be useful for testing. Set the proper value in your (index.)html that embeds the flash object. … … 73 74 private var _view:String = VIEW_BROWSE; 74 75 private var _browserPanel:String = BROWSER_PANEL_VIEW; 75 private var _space:String = SPACE_PUBLIC; 76 private var _selectedGroup:String = ""; 76 private var _registrySpace:RegistrySpace = new RegistrySpace(SPACE_PUBLISHED, ""); 77 77 private var _debug:Boolean = false; 78 private var _activeFlavour = FLAVOUR_PROFILES; 79 80 private var publicComponentsSrv:ComponentListService; 81 private var publicProfilesSrv:ProfileListService; 82 private var userComponentsSrv:ComponentListService; 83 private var userProfilesSrv:ProfileListService; 78 private var _activeFlavour:String = FLAVOUR_PROFILES; 79 80 private var componentsSrv:ComponentListService; 81 private var profilesSrv:ProfileListService; 84 82 private var listUserGroupsMembershipService:ListUserGroupsMembershipService; 85 83 private var listGroupsOfItemService:ListGroupsOfItemService; … … 103 101 } 104 102 105 public function set selectedGroup(value:String):void{ 106 _selectedGroup=value; 107 } 108 109 public function get selectedGroup():String{ 110 return _selectedGroup; 111 } 103 112 104 113 105 private function init(applicationParameters:Object):void { 114 var serviceRootUrl:String = applicationParameters.serviceRootUrl; 115 if (serviceRootUrl) { 116 _serviceRootUrl = serviceRootUrl; 117 } 118 var item:String = applicationParameters.item; 119 if (item) { 120 _startupItem = item; 121 } 122 var view:String = applicationParameters.view; 123 if (view) { 124 _view = view; 125 } 126 var browserPanel:String = applicationParameters.browserview; 127 if(browserPanel){ 128 _browserPanel = browserPanel; 129 } 130 var space:String = applicationParameters.space; 131 if (space) { 132 _space = space; 133 } 134 var debug:int = applicationParameters.debug; 135 if(debug) { 136 _debug = Boolean(debug); 137 } 138 139 publicProfilesSrv = new ProfileListService(SPACE_PUBLIC); 140 userProfilesSrv = new ProfileListService(SPACE_USER); 141 publicComponentsSrv = new ComponentListService(SPACE_PUBLIC); 142 userComponentsSrv = new ComponentListService(SPACE_USER); 106 var serviceRootUrl_:String = applicationParameters.serviceRootUrl; 107 if (serviceRootUrl_) { 108 _serviceRootUrl = serviceRootUrl_; 109 } 110 var itemId:String = applicationParameters.itemId; 111 if (itemId) { 112 _startupItemId = itemId; 113 } 114 var view_:String = applicationParameters.view; 115 if (view_) { 116 _view = view_; 117 } 118 var browserPanel_:String = applicationParameters.browserview; 119 if(browserPanel_){ 120 _browserPanel = browserPanel_; 121 } 122 123 var space_:String = applicationParameters.registrySpace; 124 if (!space_) { 125 space_ = SPACE_PUBLISHED; 126 }; 127 128 var groupId_:String = applicationParameters.groupId; 129 if (!groupId_) { 130 groupId_ = ""; 131 }; 132 133 registrySpace = new RegistrySpace(space_, groupId_); 134 135 var debug_:int = applicationParameters.debug; 136 if(debug_) { 137 _debug = Boolean(debug_); 138 } 139 143 140 listUserGroupsMembershipService = new ListUserGroupsMembershipService(); 144 listGroupsOfItemService = new ListGroupsOfItemService(); 141 listGroupsOfItemService = new ListGroupsOfItemService(); 142 145 143 } 146 144 … … 149 147 } 150 148 151 public function getProfilesSrv(userSpace:String):ProfileListService{ 152 if (userSpace == SPACE_USER) { 153 userProfilesSrv.setGroupId(_selectedGroup); 154 return userProfilesSrv; 155 } 156 else 157 if (userSpace == SPACE_PUBLIC) { 158 return publicProfilesSrv; 159 } 160 else throw "No selection"; 161 } 162 163 public function getComponentsSrv(userSpace:String):ComponentListService{ 164 if (userSpace == SPACE_USER) { 165 userComponentsSrv.setGroupId(_selectedGroup); 166 return userComponentsSrv; 167 } 168 else 169 if (userSpace == SPACE_PUBLIC) { 170 return publicComponentsSrv; 171 } 172 else throw "unknown component server"; 149 public function getProfilesSrv():ProfileListService{ 150 return profilesSrv; 151 } 152 153 public function getComponentsSrv():ComponentListService{ 154 return componentsSrv; 173 155 } 174 156 … … 246 228 } 247 229 248 public function set userSpace(userSpace:String):void { 249 _space = userSpace; 250 if (userSpace == Config.SPACE_PUBLIC){ 251 _selectedGroup = ""; 252 } 253 dispatchEvent(new Event(USER_SPACE_TOGGLE_EVENT)); 230 public function set registrySpace(registrySpace:RegistrySpace):void { 231 _registrySpace = registrySpace; 232 profilesSrv = new ProfileListService(registrySpace); 233 componentsSrv = new ComponentListService(registrySpace); 234 235 // everything is ready to open new componentBrowser instance 236 dispatchEvent(new Event(REGISTRY_SPACE_TOGGLE_EVENT)); 254 237 } 255 238 256 239 public function get startupItem():String { 257 return _startupItem ;240 return _startupItemId; 258 241 } 259 242 … … 266 249 } 267 250 268 [Bindable(event= "userSpaceToggle")]269 public function get space():String{270 return _ space;251 [Bindable(event=REGISTRY_SPACE_TOGGLE_EVENT)] 252 public function get registrySpace():RegistrySpace { 253 return _registrySpace; 271 254 } 272 255 … … 276 259 277 260 public static function getBookmarkUrl(item:ItemDescription):String { 278 var uri:URI = new URI(Config.instance.serviceRootUrl); 279 uri.setQueryValue(REGISTRY_PARAM_ITEM, item.id); 280 if (item.space == Config.SPACE_USER) { 281 uri.setQueryValue(REGISTRY_PARAM_SPACE, SPACE_USER); 282 } 261 var uri:URI = new URI(Config.instance.serviceRootUrl); 262 uri.setQueryValue(REGISTRY_PARAM_SPACE, Config.instance.registrySpace.space); 263 if (Config.instance.registrySpace.space == SPACE_GROUP){ 264 uri.setQueryValue(REGISTRY_PARAM_GROUP_ID, Config.instance.registrySpace.groupId); 265 } 266 uri.setQueryValue(REGISTRY_PARAM_ITEM_ID, item.id); 283 267 return uri.toString(); 284 268 } 285 269 286 public static function getRssUriDescriptions(typeOfDescription:String ):String {270 public static function getRssUriDescriptions(typeOfDescription:String, registrySpace:RegistrySpace):String { 287 271 var baseUri:String = (new URI(Config.instance.serviceRootUrl)).toString(); 288 272 var result:String=baseUri+"/rest/registry/"+typeOfDescription+"/rss"; 289 if (Config.instance.space == SPACE_USER) result=result+"?userspace=true"; 273 if (registrySpace.space == Config.SPACE_PRIVATE) { 274 result = result + "?registrySpace=private"; 275 } 276 if (registrySpace.space == Config.SPACE_GROUP) { 277 result = result + "?registrySpace=group&groupId="+registrySpace.groupId; 278 } 290 279 return result; 291 280 } … … 296 285 if (item.isProfile) {typeOfDescription="profiles/";} 297 286 else typeOfDescription="components/"; 298 var result:String=baseUri+"/rest/registry/"+typeOfDescription+item.id+"/comments/rss"; 299 if (item.space == Config.SPACE_USER) result=result+"?userspace=true"; 287 var result:String=baseUri+"/rest/registry/"+typeOfDescription+item.id+"/comments/rss"; 300 288 return result; 301 289 } -
ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/services/DeleteService.as
r3660 r5699 37 37 38 38 var deleteUrl:URI = new URI(item.dataUrl); 39 if (item.space == Config.SPACE_USER) { 40 deleteUrl.setQueryValue(Config.PARAM_USERSPACE, "true"); 39 40 if (item.isProfile) { 41 sendDelete(deleteUrl); 42 return; 41 43 } 42 44 43 var usageService:ComponentUsageService = new ComponentUsageService(item , item.space);45 var usageService:ComponentUsageService = new ComponentUsageService(item); 44 46 usageService.addEventListener(ComponentUsageCheckEvent.COMPONENT_IN_USE, 45 47 function (event:ComponentUsageCheckEvent):void{ … … 50 52 } 51 53 }); 52 usageService.checkUsage(); 54 usageService.checkUsage(); // dispatching the event 53 55 } 54 56 … … 64 66 public function deleteComment(comment:Comment):void { 65 67 CursorManager.setBusyCursor(); 66 var url:URI = new URI(comment.dataUrl); 67 if (comment.itemDescription.space == Config.SPACE_USER) { 68 url.setQueryValue(Config.PARAM_USERSPACE, "true"); 69 } 68 var url:URI = new URI(comment.dataUrl); 70 69 sendDelete(url); 71 70 } -
ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/services/ListUserGroupsMembershipService.as
r3660 r5699 23 23 } 24 24 25 public function loadGroupsForUser():void{ 26 if (groups!=null){ 27 this.dispatchEvent(new Event(this.successEventName)); 28 return; 29 } 25 public function loadGroupsForUser():void{ 30 26 groups = new ArrayCollection(); 31 27 var url:String; 32 28 url = Config.instance.getListGroupsOfUserPath(); 33 29 dispatchRequest(new URI(url)); 30 34 31 } 35 32 -
ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/services/ProfileInfoService.as
r3660 r5699 22 22 profile = new Profile(); 23 23 profile.description = item; 24 var url:URI = new URI(item.dataUrl); 25 if (item.space == Config.SPACE_USER) { 26 url.setQueryValue(Config.PARAM_USERSPACE, "true"); 27 } 24 var url:URI = new URI(item.dataUrl); 28 25 super.dispatchRequest(url); 29 26 } -
ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/services/ProfileListService.as
r3660 r5699 11 11 public const PROFILES_LOADED:String = "profilesLoaded"; 12 12 13 public function ProfileListService( space:String) {14 super(PROFILES_LOADED, new URI(Config.instance.profileListUrl), space);13 public function ProfileListService(registrySpace:RegistrySpace) { 14 super(PROFILES_LOADED, new URI(Config.instance.profileListUrl), registrySpace); 15 15 } 16 16 … … 20 20 for each (var node:XML in nodes) { 21 21 var item:ItemDescription = new ItemDescription(); 22 item.createProfile(node, space); 22 var isPrivate:Boolean = (Config.instance.registrySpace.space == Config.SPACE_PRIVATE || Config.instance.registrySpace.space == Config.SPACE_GROUP); 23 item.createProfile(node, isPrivate); 23 24 tempArray.addItem(item); 24 25 } -
ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/services/UploadService.as
r3660 r5699 108 108 switch (action) { 109 109 case UPDATE: 110 uri = new URI(uriBase + "/" + desc.id + "/update"); 111 if (desc.space == Config.SPACE_USER) { 112 uri.setQueryValue(Config.PARAM_USERSPACE, "true"); 113 } 110 uri = new URI(uriBase + "/" + desc.id + "/update"); 114 111 break; 115 112 case NEW: 116 113 uri = new URI(uriBase); 117 if (desc.space == Config.SPACE_USER) {118 uri.setQueryValue(Config.PARAM_USERSPACE, "true");119 }120 114 break; 121 115 case PUBLISH: … … 237 231 if (response.@registered == true) { 238 232 var item:ItemDescription = new ItemDescription(); 239 var is InUserSpace:Boolean = response.@isInUserSpace == true;233 var isPrivate:Boolean = response.@isPrivate == true; 240 234 if (response.@isProfile == true) { 241 item.createProfile(response.description[0], is InUserSpace?Config.SPACE_USER:Config.SPACE_PUBLIC);235 item.createProfile(response.description[0], isPrivate); 242 236 } else { 243 item.createComponent(response.description[0], is InUserSpace?Config.SPACE_USER:Config.SPACE_PUBLIC);237 item.createComponent(response.description[0], isPrivate); 244 238 } 245 239 dispatchEvent(new UploadCompleteEvent(item)); -
ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/main.mxml
r3660 r5699 9 9 <mx:Script> 10 10 <![CDATA[ 11 import com.flexspy.FlexSpy;12 13 import mx.controls.Button;14 import mx.managers.PopUpManager;15 16 11 import clarin.cmdi.componentregistry.common.AboutPopup; 17 12 import clarin.cmdi.componentregistry.common.Credentials; … … 19 14 import clarin.cmdi.componentregistry.services.Config; 20 15 import clarin.cmdi.componentregistry.services.PingSessionService; 16 import clarin.cmdi.componentregistry.services.RegistrySpace; 21 17 import clarin.cmdi.componentregistry.services.remote.ClientServiceFactoryImpl; 18 19 import com.flexspy.FlexSpy; 20 21 import mx.controls.Button; 22 import mx.managers.PopUpManager; 22 23 23 24 import org.hasseg.externalMouseWheel.ExternalMouseWheelSupport; … … 61 62 sessionPinger = PingSessionService.INSTANCE 62 63 sessionPinger.startPinging(); 63 if (Credentials.instance.isLoggedIn() && (Config.instance.space == Config.SPACE_USER)) {64 Config.instance. userSpace = Config.SPACE_USER;65 } 64 /* if (Credentials.instance.isLoggedIn() && (Config.instance.registrySpace.space == Config.SPACE_PRIVATE || Config.instance.registrySpace.space == Config.SPACE_GROUP)) { 65 Config.instance.registrySpace= new RegistrySpace(Config.SPACE_PRIVATE, ""); 66 } */ 66 67 viewStack.loadStartup(); 67 68
Note: See TracChangeset
for help on using the changeset viewer.