Revision 7db1712d Classes/AccountGroupsViewController.m

b/Classes/AccountGroupsViewController.m
41 41
#import "EditAccountGroupsViewController.h"
42 42
#import "UIViewController+Conveniences.h"
43 43
#import "NSString+Conveniences.h"
44
#import "APICallback.h"
44 45

  
45 46

  
46 47
@implementation AccountGroupsViewController
......
70 71
    activityIndicatorView = [[ActivityIndicatorView alloc] initWithFrame:[ActivityIndicatorView frameForText:activityMessage] text:activityMessage];
71 72
    [activityIndicatorView addToView:self.view];
72 73
    
73
    [self.account.manager getStorageAccountInfo];
74
    successObserver = [[NSNotificationCenter defaultCenter] addObserverForName:@"getStorageAccountInfoSucceeded" 
75
                                                                        object:account
76
                                                                         queue:[NSOperationQueue mainQueue]
77
                                                                    usingBlock:^(NSNotification *notification)
78
    {
79
        [activityIndicatorView removeFromSuperviewAndRelease];
80
        OpenStackRequest *request = [notification.userInfo objectForKey:@"request"];
81
        for (NSString *key in request.responseHeaders) {
82
            if ([key hasPrefix:@"X-Account-Group-"]) {
83
                NSString *groupUsers = [NSString decodeFromPercentEscape:[request.responseHeaders objectForKey:key]];
84
                NSString *groupName = [NSString decodeFromPercentEscape:[key substringFromIndex:16]];
85
                [groups setObject:groupUsers forKey:groupName];
86
            }
87
        }
88
        
89
        for (NSString *header in request.responseHeaders) {
90
            if ([header hasPrefix:@"X-Account-Meta-"])  {
91
                NSString *metadataKey = [NSString decodeFromPercentEscape:[header substringFromIndex:15]];
92
                NSString *metadataValue = [NSString decodeFromPercentEscape:[request.responseHeaders objectForKey:header]];
93
                [metadata setObject:metadataValue forKey:metadataKey];
94
            }
95
        }
96
        
97
        [self.tableView reloadData];
98
        [[NSNotificationCenter defaultCenter] removeObserver:successObserver];
99
    }];
100
    
101
    failureObserver = [[NSNotificationCenter defaultCenter] addObserverForName:@"getStorageAccountInfoFailed"
102
                                                                        object:account
103
                                                                         queue:[NSOperationQueue mainQueue]
104
                                                                    usingBlock:^(NSNotification *notification)
105
                       {
106
                           [activityIndicatorView removeFromSuperviewAndRelease];
107
                           [self alert:@"Error" message:@"Failed to get account information"];
108
                           [[NSNotificationCenter defaultCenter] removeObserver:successObserver];
109
                        }];
74
    [[self.account.manager getStorageAccountInfo] 
75
     success:^(OpenStackRequest *request) {
76
         [activityIndicatorView removeFromSuperviewAndRelease];
77
         for (NSString *key in request.responseHeaders) {
78
             if ([key hasPrefix:@"X-Account-Group-"]) {
79
                 NSString *groupUsers = [NSString decodeFromPercentEscape:[request.responseHeaders objectForKey:key]];
80
                 NSString *groupName = [NSString decodeFromPercentEscape:[key substringFromIndex:16]];
81
                 [groups setObject:groupUsers forKey:groupName];
82
             }
83
         }
84
         
85
         for (NSString *header in request.responseHeaders) {
86
             if ([header hasPrefix:@"X-Account-Meta-"])  {
87
                 NSString *metadataKey = [NSString decodeFromPercentEscape:[header substringFromIndex:15]];
88
                 NSString *metadataValue = [NSString decodeFromPercentEscape:[request.responseHeaders objectForKey:header]];
89
                 [metadata setObject:metadataValue forKey:metadataKey];
90
             }
91
         }
92

  
93
         [self.tableView reloadData];
94

  
95
     }
96
     failure:^(OpenStackRequest *request) {
97
         [activityIndicatorView removeFromSuperviewAndRelease];
98
         [self alert:@"Error" message:@"Failed to get account information"];
99
     }];
110 100
}
111 101

  
112 102
- (void)viewDidUnload

Also available in: Unified diff