From: Miltiadis Vasilakis Date: Thu, 10 Nov 2011 11:53:04 +0000 (+0200) Subject: Added default storage url prefix for grnet accounts when X-Storage-Url is not available. X-Git-Tag: v1.0~14 X-Git-Url: https://code.grnet.gr/git/pithos-ios/commitdiff_plain/c178bd2102220555d680f364ce6eaba55ea523a8 Added default storage url prefix for grnet accounts when X-Storage-Url is not available. --- diff --git a/Classes/AccountDetailsViewController.m b/Classes/AccountDetailsViewController.m index 263bbb4..1c5fc70 100755 --- a/Classes/AccountDetailsViewController.m +++ b/Classes/AccountDetailsViewController.m @@ -45,7 +45,15 @@ if ([request isSuccess]) { account.authToken = [[request responseHeaders] objectForKey:@"X-Auth-Token"]; account.serversURL = [NSURL URLWithString:[[request responseHeaders] objectForKey:@"X-Server-Management-Url"]]; - account.filesURL = [NSURL URLWithString:[[request responseHeaders] objectForKey:@"X-Storage-Url"]]; + + if (![[request responseHeaders] objectForKey:@"X-Storage-URL"] && [account.provider isGRNet]) { + NSString *filesStorageURL = [NSString stringWithFormat:@"%@%@", + [[[NSBundle mainBundle] infoDictionary] objectForKey:@"GRNetStorageUrlPrefix"], + [account username]]; + account.filesURL = [NSURL URLWithString:filesStorageURL]; + } else { + account.filesURL = [NSURL URLWithString:[[request responseHeaders] objectForKey:@"X-Storage-Url"]]; + } NSString *cdnStr = [[request responseHeaders] objectForKey:@"X-Cdn-Management-Url"]; if (!cdnStr) { diff --git a/Classes/AccountManager.m b/Classes/AccountManager.m index 4e698a0..9aa1453 100755 --- a/Classes/AccountManager.m +++ b/Classes/AccountManager.m @@ -893,7 +893,16 @@ if ([request isSuccess]) { self.account.authToken = [[request responseHeaders] objectForKey:@"X-Auth-Token"]; self.account.serversURL = [NSURL URLWithString:[[request responseHeaders] objectForKey:@"X-Server-Management-Url"]]; - self.account.filesURL = [NSURL URLWithString:[[request responseHeaders] objectForKey:@"X-Storage-Url"]]; + + if ([account.provider isGRNet]) { + NSString *filesStorageURL = [NSString stringWithFormat:@"%@%@", + [[[NSBundle mainBundle] infoDictionary] objectForKey:@"GRNetStorageUrlPrefix"], + [self.account username]]; + self.account.filesURL = [NSURL URLWithString:filesStorageURL]; + } else { + self.account.filesURL = [NSURL URLWithString:[[request responseHeaders] objectForKey:@"X-Storage-Url"]]; + } + self.account.cdnURL = [NSURL URLWithString:[[request responseHeaders] objectForKey:@"X-Cdn-Management-Url"]]; [self.account persist]; diff --git a/Classes/AccountSettingsViewController.m b/Classes/AccountSettingsViewController.m index e7aeabc..59d3c83 100755 --- a/Classes/AccountSettingsViewController.m +++ b/Classes/AccountSettingsViewController.m @@ -36,8 +36,16 @@ if ([request isSuccess]) { account.authToken = [[request responseHeaders] objectForKey:@"X-Auth-Token"]; account.serversURL = [NSURL URLWithString:[[request responseHeaders] objectForKey:@"X-Server-Management-Url"]]; - account.filesURL = [NSURL URLWithString:[[request responseHeaders] objectForKey:@"X-Storage-Url"]]; + if (![[request responseHeaders] objectForKey:@"X-Storage-URL"] && [account.provider isGRNet]) { + NSString *filesStorageURL = [NSString stringWithFormat:@"%@%@", + [[[NSBundle mainBundle] infoDictionary] objectForKey:@"GRNetStorageUrlPrefix"], + [self.account username]]; + account.filesURL = [NSURL URLWithString:filesStorageURL]; + } else { + account.filesURL = [NSURL URLWithString:[[request responseHeaders] objectForKey:@"X-Storage-Url"]]; + } + NSString *cdnStr = [[request responseHeaders] objectForKey:@"X-Cdn-Management-Url"]; if (!cdnStr) { cdnStr = [[request responseHeaders] objectForKey:@"X-CDN-Management-Url"]; diff --git a/Classes/FolderViewController.h b/Classes/FolderViewController.h index 5fe40fd..241ae95 100755 --- a/Classes/FolderViewController.h +++ b/Classes/FolderViewController.h @@ -43,7 +43,7 @@ @property (nonatomic, assign) BOOL contentsLoaded; @property (nonatomic, retain) IBOutlet UITableView *tableView; -- (void)reloadFolders; +- (void)reloadFolderViewControllers; - (IBAction)homeButtonPressed:(id)sender; - (IBAction)refreshButtonPressed:(id)sender; diff --git a/Classes/FolderViewController.m b/Classes/FolderViewController.m index 9d25201..510bd03 100755 --- a/Classes/FolderViewController.m +++ b/Classes/FolderViewController.m @@ -92,7 +92,7 @@ queue:[NSOperationQueue mainQueue] usingBlock:^(NSNotification* notification) { contentsLoaded = YES; - [self reloadFolders]; + [self reloadFolderViewControllers]; [[NSNotificationCenter defaultCenter] removeObserver:successObserver]; [activityIndicatorView removeFromSuperviewAndRelease]; }]; @@ -108,7 +108,7 @@ } -- (void)reloadFolders +- (void)reloadFolderViewControllers { NSArray *viewControllers = [self.navigationController viewControllers]; int rootFolderControllerIndex = [viewControllers indexOfObject:self.containersViewController] + 1; diff --git a/Classes/StorageObjectViewController.m b/Classes/StorageObjectViewController.m index c82dbb3..88851af 100755 --- a/Classes/StorageObjectViewController.m +++ b/Classes/StorageObjectViewController.m @@ -543,14 +543,18 @@ if ([actionSheet isEqual:deleteActionSheet]) { if (buttonIndex == 0) { // delete the file and pop out - [self showToolbarActivityMessage:@"Deleting file..."]; + + NSString *activityMessage = @"Deleting file"; + + activityIndicatorView = [[ActivityIndicatorView alloc] initWithFrame:[ActivityIndicatorView frameForText:activityMessage] text:activityMessage]; + [activityIndicatorView addToView:self.view]; [self.account.manager deleteObject:self.container object:self.object]; deleteSuccessObserver = [[NSNotificationCenter defaultCenter] addObserverForName:@"deleteObjectSucceeded" object:self.object queue:[NSOperationQueue mainQueue] usingBlock:^(NSNotification* notification) { - [self hideToolbarActivityMessage]; + [activityIndicatorView removeFromSuperviewAndRelease]; performingAction = NO; [self.folder.objects removeObjectForKey:self.object.name]; [self.navigationController popViewControllerAnimated:YES]; @@ -566,6 +570,7 @@ deleteFailureObserver = [[NSNotificationCenter defaultCenter] addObserverForName:@"deleteObjectFailed" object:self.object queue:[NSOperationQueue mainQueue] usingBlock:^(NSNotification* notification) { + [activityIndicatorView removeFromSuperviewAndRelease]; [self hideToolbarActivityMessage]; performingAction = NO; [self alert:@"There was a problem deleting this file." request:[notification.userInfo objectForKey:@"request"]]; diff --git a/OpenStack-Info.plist b/OpenStack-Info.plist index 8638128..90d278f 100755 --- a/OpenStack-Info.plist +++ b/OpenStack-Info.plist @@ -48,6 +48,8 @@ MainWindow-iPad PithosLoginURLPrefix https://pithos.dev.grnet.gr/login + GRNetStorageUrlPrefix + http://pithos.dev.grnet.gr/v1/ UIApplicationExitsOnSuspend UIFileSharingEnabled diff --git a/OpenStack.xcodeproj/project.pbxproj b/OpenStack.xcodeproj/project.pbxproj index 0343389..a834f49 100755 --- a/OpenStack.xcodeproj/project.pbxproj +++ b/OpenStack.xcodeproj/project.pbxproj @@ -4552,6 +4552,7 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_LABEL = YES; INFOPLIST_FILE = "OpenStack-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 4.3; LIBRARY_SEARCH_PATHS = ( "$(inherited)", "\"$(SRCROOT)/Classes\"", @@ -4585,6 +4586,7 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_LABEL = YES; INFOPLIST_FILE = "OpenStack-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 4.3; LIBRARY_SEARCH_PATHS = ( "$(inherited)", "\"$(SRCROOT)/Classes\"",