Changeset 2603


Ignore:
Timestamp:
02/21/13 13:58:18 (11 years ago)
Author:
olhsha
Message:

Making DeleteService? non-static. Making three instances of DeleteService?: for profiles (in Browse.mxml), for components (in Browse.mxml) and for comments (CommentsPanel?.as, also transferred to CommepPanel?.as as a parameter of its contructor))

Location:
ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/browser/Browse.mxml

    r2515 r2603  
    3838                        private var selectedComponentSrv:ComponentInfoService = new ComponentInfoService();
    3939                       
    40                         private var deleteSrv:DeleteService = DeleteService.instance;
     40                        private var _deleteSrvProfiles:DeleteService;
     41                        private var _deleteSrvComponents:DeleteService;
    4142                       
    4243                        [Bindable]
     
    5556                       
    5657                        public function init():void {
     58                               
     59                                _deleteSrvProfiles=new DeleteService();
     60                                _deleteSrvComponents=new DeleteService();
     61                               
    5762                                profilesMenu = new BrowseContextMenu();
    5863                                profilesMenu.viewStack = this.parent as RegistryViewStack;
    59                                 profilesMenu.deleteService = deleteSrv;
     64                                profilesMenu.deleteService = _deleteSrvProfiles;
    6065                                componentsMenu = new BrowseContextMenu(true);
    6166                                componentsMenu.viewStack = this.parent as RegistryViewStack;
    62                                 componentsMenu.deleteService = deleteSrv;
    63                                 deleteSrv.addEventListener(DeleteService.ITEM_DELETED, handleItemDeleted);
     67                                componentsMenu.deleteService = _deleteSrvProfiles;
     68                               
     69                                _deleteSrvProfiles.addEventListener(_deleteSrvProfiles.ITEM_DELETED, handleItemDeleted);
     70                                _deleteSrvComponents.addEventListener(_deleteSrvComponents.ITEM_DELETED, handleItemDeleted);
    6471                               
    6572                                Config.instance.addEventListener(Config.USER_SPACE_TOGGLE_EVENT, toggleUserSpace);
  • ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/browser/CommentPanel.as

    r1896 r2603  
    2121                private var commentText:Text = new Text();
    2222                private var comment:Comment;
     23                private var _deleteSrvOfCommentsPanel:DeleteService;
    2324               
    24                 public function CommentPanel(comment:Comment)
     25                public function CommentPanel(comment:Comment, deleteSrvOfCommentsPanel:DeleteService)
    2526                {
    2627                        super();
    2728                        this.comment = comment;
     29                        this._deleteSrvOfCommentsPanel = deleteSrvOfCommentsPanel;
    2830                       
    2931                        initLayout();
     
    7577                private function deleteHandler(event:CloseEvent):void {
    7678                        if(event.detail == Alert.OK){
    77                                 DeleteService.instance.deleteComment(comment);
     79                                _deleteSrvOfCommentsPanel.deleteComment(comment);
    7880                        }       
    7981                }
  • ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/browser/CommentsPanel.as

    r2595 r2603  
    3636                [Bindable]
    3737                private var _itemDescription:ItemDescription;
     38               
    3839                private var service:CommentListService;
    39                
     40                private var _deleteSrvComments:DeleteService;
    4041                private var commentsBox:VBox;
    4142               
     
    5960                        this.setStyle("paddingBottom", hPadding);
    6061                       
    61                         DeleteService.instance.addEventListener(DeleteService.COMMENT_DELETED, commentDeletedHandler);
     62                        _deleteSrvComments=new DeleteService();
     63                        _deleteSrvComments.addEventListener(_deleteSrvComments.COMMENT_DELETED, commentDeletedHandler);
    6264                }
    6365               
     
    126128                                if(commentsCount > 0) {
    127129                                        for each(var comment:Comment in service.comments) {
    128                                                 var panel:CommentPanel = new CommentPanel(comment);
     130                                                var panel:CommentPanel = new CommentPanel(comment, _deleteSrvComments);
    129131                                                commentsBox.addChild(panel);
    130132                                        }
  • ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/services/DeleteService.as

    r2595 r2603  
    1919       
    2020        public class DeleteService extends EventDispatcher {
    21                 public static const ITEM_DELETED:String = "itemDeleted";
    22                 public static const COMMENT_DELETED:String = "commentDeleted";
     21                public const ITEM_DELETED:String = "itemDeleted";
     22                public const COMMENT_DELETED:String = "commentDeleted";
     23
    2324                private var service:HTTPService;
    24                 private static const DELETE_METHOD:Object = {"method": "delete"};
     25                private const DELETE_METHOD:Object = {"method": "delete"};
    2526               
    2627               
    27                 // the item to be deleted can be either a comment, or profile/component
    28                 // depending on int, different events should be issues because different processing will take place
    29                 // default value is false
    30                 private var _isComment:Boolean=false;
    31                
    32                 private static var _instance:DeleteService = new DeleteService();
    33                
    3428                public function DeleteService() {
    35                         if (_instance != null) {
    36                                 throw new Error("DeleteService should only be accessed through DeleteService.instance");
    37                         }
    3829                        service = new HTTPService();
    3930                        service.addEventListener(FaultEvent.FAULT, handleError);
     
    7364               
    7465                public function deleteComment(comment:Comment):void {
    75                         // mark the moment that we want to delete a comment but not rofile/component
    76                         _isComment = true;
    7766                        CursorManager.setBusyCursor();
    7867                        var url:URI = new URI(comment.dataUrl);
     
    9180                        CursorManager.removeBusyCursor();
    9281                        if (resultEvent.statusCode >= 200 && resultEvent.statusCode < 300) {
    93                                 if (_isComment) {
    94                                         dispatchEvent(new Event(COMMENT_DELETED));
    95                                         // do not forget to reset the value back to false when a comment is deleated
    96                                         _isComment=false;
    97                                 }
    98                                 else  {
    9982                                        dispatchEvent(new Event(ITEM_DELETED));
    100                                 }
    10183                        } else {
    10284                                Alert.show("Unexpected error, server returned status: " + resultEvent.statusCode + "\n Message = ");
     
    10587               
    10688                public function handleError(faultEvent:FaultEvent):void {
    107                         _isComment = false;
    10889                        CursorManager.removeBusyCursor();
    10990                        if (faultEvent.statusCode == 401) { //Apparrently depending on browser status codes and errormessages are sometimes not passed along to flash.
     
    11697                }
    11798               
    118                 public static function get instance():DeleteService {
    119                         return _instance;
    120                 }
     99               
    121100        }
    122101}
Note: See TracChangeset for help on using the changeset viewer.