You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@chemistry.apache.org by pw...@apache.org on 2013/02/20 14:19:00 UTC

svn commit: r1448154 [3/3] - in /chemistry/objectivecmis/trunk: ObjectiveCMIS.xcodeproj/ ObjectiveCMIS/Bindings/ ObjectiveCMIS/Bindings/AtomPub/ ObjectiveCMIS/Bindings/AtomPub/AtomPubParser/ ObjectiveCMIS/Client/ ObjectiveCMIS/Common/ ObjectiveCMIS/Uti...

Modified: chemistry/objectivecmis/trunk/ObjectiveCMIS/Utils/CMISFileUtil.h
URL: http://svn.apache.org/viewvc/chemistry/objectivecmis/trunk/ObjectiveCMIS/Utils/CMISFileUtil.h?rev=1448154&r1=1448153&r2=1448154&view=diff
==============================================================================
--- chemistry/objectivecmis/trunk/ObjectiveCMIS/Utils/CMISFileUtil.h (original)
+++ chemistry/objectivecmis/trunk/ObjectiveCMIS/Utils/CMISFileUtil.h Wed Feb 20 13:18:59 2013
@@ -19,8 +19,7 @@
 
 #import <Foundation/Foundation.h>
 
-
-@interface FileUtil : NSObject
+@interface CMISFileUtil : NSObject
 /// appends data to a file with given path
 + (void)appendToFileAtPath:(NSString *)filePath data:(NSData *)data;
 /// returns the size of a file at path filePath

Modified: chemistry/objectivecmis/trunk/ObjectiveCMIS/Utils/CMISFileUtil.m
URL: http://svn.apache.org/viewvc/chemistry/objectivecmis/trunk/ObjectiveCMIS/Utils/CMISFileUtil.m?rev=1448154&r1=1448153&r2=1448154&view=diff
==============================================================================
--- chemistry/objectivecmis/trunk/ObjectiveCMIS/Utils/CMISFileUtil.m (original)
+++ chemistry/objectivecmis/trunk/ObjectiveCMIS/Utils/CMISFileUtil.m Wed Feb 20 13:18:59 2013
@@ -20,7 +20,7 @@
 #import "CMISFileUtil.h"
 
 
-@implementation FileUtil
+@implementation CMISFileUtil
 
 + (void)appendToFileAtPath:(NSString *)filePath data:(NSData *)data
 {

Modified: chemistry/objectivecmis/trunk/ObjectiveCMIS/Utils/CMISHttpDownloadRequest.h
URL: http://svn.apache.org/viewvc/chemistry/objectivecmis/trunk/ObjectiveCMIS/Utils/CMISHttpDownloadRequest.h?rev=1448154&r1=1448153&r2=1448154&view=diff
==============================================================================
--- chemistry/objectivecmis/trunk/ObjectiveCMIS/Utils/CMISHttpDownloadRequest.h (original)
+++ chemistry/objectivecmis/trunk/ObjectiveCMIS/Utils/CMISHttpDownloadRequest.h Wed Feb 20 13:18:59 2013
@@ -19,7 +19,7 @@
 
 #import "CMISHttpRequest.h"
 
-@interface CMISHttpDownloadRequest : CMISHttpRequest
+@interface CMISHttpDownloadRequest : CMISHttpRequest 
 
 // the outputStream should be unopened but if it is already open it will not be reset but used as is;
 // it is closed on completion; if no outputStream is provided, download goes to httpResponse.data
@@ -33,16 +33,12 @@
 /** starts a URL request for download. Data are written to the provided output stream
  * completionBlock returns a CMISHttpResponse object or nil if unsuccessful
  */
-+ (CMISHttpDownloadRequest*)startRequest:(NSMutableURLRequest*)urlRequest
++ (id)startRequest:(NSMutableURLRequest*)urlRequest
                               httpMethod:(CMISHttpRequestMethod)httpRequestMethod
                             outputStream:(NSOutputStream*)outputStream
                            bytesExpected:(unsigned long long)bytesExpected
                   authenticationProvider:(id<CMISAuthenticationProvider>) authenticationProvider
                          completionBlock:(void (^)(CMISHttpResponse *httpResponse, NSError *error))completionBlock
                            progressBlock:(void (^)(unsigned long long bytesDownloaded, unsigned long long bytesTotal))progressBlock;
-/// designated initialiser. Do not use directly, instead call the startRequest class method above
-- (id)initWithHttpMethod:(CMISHttpRequestMethod)httpRequestMethod
-         completionBlock:(void (^)(CMISHttpResponse *httpResponse, NSError *error))completionBlock
-           progressBlock:(void (^)(unsigned long long bytesDownloaded, unsigned long long bytesTotal))progressBlock;
 
 @end

Modified: chemistry/objectivecmis/trunk/ObjectiveCMIS/Utils/CMISHttpDownloadRequest.m
URL: http://svn.apache.org/viewvc/chemistry/objectivecmis/trunk/ObjectiveCMIS/Utils/CMISHttpDownloadRequest.m?rev=1448154&r1=1448153&r2=1448154&view=diff
==============================================================================
--- chemistry/objectivecmis/trunk/ObjectiveCMIS/Utils/CMISHttpDownloadRequest.m (original)
+++ chemistry/objectivecmis/trunk/ObjectiveCMIS/Utils/CMISHttpDownloadRequest.m Wed Feb 20 13:18:59 2013
@@ -24,6 +24,9 @@
 
 @property (nonatomic, copy) void (^progressBlock)(unsigned long long bytesDownloaded, unsigned long long bytesTotal);
 @property (nonatomic, assign) unsigned long long bytesDownloaded;
+- (id)initWithHttpMethod:(CMISHttpRequestMethod)httpRequestMethod
+         completionBlock:(void (^)(CMISHttpResponse *httpResponse, NSError *error))completionBlock
+           progressBlock:(void (^)(unsigned long long bytesDownloaded, unsigned long long bytesTotal))progressBlock;
 
 @end
 
@@ -31,7 +34,7 @@
 @implementation CMISHttpDownloadRequest
 
 
-+ (CMISHttpDownloadRequest*)startRequest:(NSMutableURLRequest *)urlRequest
++ (id)startRequest:(NSMutableURLRequest *)urlRequest
                               httpMethod:(CMISHttpRequestMethod)httpRequestMethod
                             outputStream:(NSOutputStream*)outputStream
                            bytesExpected:(unsigned long long)bytesExpected

Modified: chemistry/objectivecmis/trunk/ObjectiveCMIS/Utils/CMISHttpRequest.h
URL: http://svn.apache.org/viewvc/chemistry/objectivecmis/trunk/ObjectiveCMIS/Utils/CMISHttpRequest.h?rev=1448154&r1=1448153&r2=1448154&view=diff
==============================================================================
--- chemistry/objectivecmis/trunk/ObjectiveCMIS/Utils/CMISHttpRequest.h (original)
+++ chemistry/objectivecmis/trunk/ObjectiveCMIS/Utils/CMISHttpRequest.h Wed Feb 20 13:18:59 2013
@@ -20,10 +20,10 @@
 #import <Foundation/Foundation.h>
 #import "CMISBindingSession.h"
 #import "CMISNetworkProvider.h"
-
+#import "CMISRequest.h"
 @class CMISAuthenticationProvider;
 
-@interface CMISHttpRequest : NSObject <NSURLConnectionDataDelegate>
+@interface CMISHttpRequest : NSObject <NSURLConnectionDataDelegate, CMISCancellableRequest>
 
 @property (nonatomic, assign) CMISHttpRequestMethod requestMethod;
 @property (nonatomic, strong) NSURLConnection *connection;
@@ -41,7 +41,7 @@
  * @param authenticationProvider (required)
  * completionBlock returns a CMISHTTPResponse object or nil if unsuccessful
  */
-+ (CMISHttpRequest*)startRequest:(NSMutableURLRequest *)urlRequest
++ (id)startRequest:(NSMutableURLRequest *)urlRequest
                       httpMethod:(CMISHttpRequestMethod)httpRequestMethod
                      requestBody:(NSData*)requestBody
                          headers:(NSDictionary*)additionalHeaders
@@ -49,8 +49,7 @@
                  completionBlock:(void (^)(CMISHttpResponse *httpResponse, NSError *error))completionBlock;
 
 /**
- * designated initialiser. Do not use this initialiser directly. Instead use the
- * class method startRequest:withHttpMethod:requestBody:headers:authenticationProvider:completionBlock
+ * initialises with a specified HTTP method
  */
 - (id)initWithHttpMethod:(CMISHttpRequestMethod)httpRequestMethod
          completionBlock:(void (^)(CMISHttpResponse *httpResponse, NSError *error))completionBlock;
@@ -58,7 +57,4 @@
 /// starts the URL request
 - (BOOL)startRequest:(NSMutableURLRequest*)urlRequest;
 
-/// cancel method. This may be called from a CMISRequest object
-- (void)cancel;
-
 @end

Modified: chemistry/objectivecmis/trunk/ObjectiveCMIS/Utils/CMISHttpRequest.m
URL: http://svn.apache.org/viewvc/chemistry/objectivecmis/trunk/ObjectiveCMIS/Utils/CMISHttpRequest.m?rev=1448154&r1=1448153&r2=1448154&view=diff
==============================================================================
--- chemistry/objectivecmis/trunk/ObjectiveCMIS/Utils/CMISHttpRequest.m (original)
+++ chemistry/objectivecmis/trunk/ObjectiveCMIS/Utils/CMISHttpRequest.m Wed Feb 20 13:18:59 2013
@@ -41,7 +41,7 @@ NSString * const kCMISExceptionVersionin
 @implementation CMISHttpRequest
 
 
-+ (CMISHttpRequest*)startRequest:(NSMutableURLRequest *)urlRequest
++ (id)startRequest:(NSMutableURLRequest *)urlRequest
                       httpMethod:(CMISHttpRequestMethod)httpRequestMethod
                      requestBody:(NSData*)requestBody
                          headers:(NSDictionary*)additionalHeaders

Modified: chemistry/objectivecmis/trunk/ObjectiveCMIS/Utils/CMISHttpResponse.h
URL: http://svn.apache.org/viewvc/chemistry/objectivecmis/trunk/ObjectiveCMIS/Utils/CMISHttpResponse.h?rev=1448154&r1=1448153&r2=1448154&view=diff
==============================================================================
--- chemistry/objectivecmis/trunk/ObjectiveCMIS/Utils/CMISHttpResponse.h (original)
+++ chemistry/objectivecmis/trunk/ObjectiveCMIS/Utils/CMISHttpResponse.h Wed Feb 20 13:18:59 2013
@@ -36,6 +36,7 @@
                                 responseData:(NSData *)data;
 
 - (NSString*)exception;
+
 - (NSString*)errorMessage;
 
 @end

Modified: chemistry/objectivecmis/trunk/ObjectiveCMIS/Utils/CMISHttpUploadRequest.h
URL: http://svn.apache.org/viewvc/chemistry/objectivecmis/trunk/ObjectiveCMIS/Utils/CMISHttpUploadRequest.h?rev=1448154&r1=1448153&r2=1448154&view=diff
==============================================================================
--- chemistry/objectivecmis/trunk/ObjectiveCMIS/Utils/CMISHttpUploadRequest.h (original)
+++ chemistry/objectivecmis/trunk/ObjectiveCMIS/Utils/CMISHttpUploadRequest.h Wed Feb 20 13:18:59 2013
@@ -19,7 +19,7 @@
 
 #import "CMISHttpRequest.h"
 
-@interface CMISHttpUploadRequest : CMISHttpRequest
+@interface CMISHttpUploadRequest : CMISHttpRequest 
 
 @property (nonatomic, strong) NSInputStream *inputStream;
 @property (nonatomic, assign) unsigned long long bytesExpected; // optional; if not set, expected content length from HTTP header is used
@@ -30,7 +30,7 @@
  * setHTTPBodyStream method
  * completionBlock returns CMISHttpResponse instance or nil if unsuccessful
  */
-+ (CMISHttpUploadRequest*)startRequest:(NSMutableURLRequest *)urlRequest
++ (id)startRequest:(NSMutableURLRequest *)urlRequest
                             httpMethod:(CMISHttpRequestMethod)httpRequestMethod
                            inputStream:(NSInputStream*)inputStream
                                headers:(NSDictionary*)addionalHeaders
@@ -39,9 +39,5 @@
                        completionBlock:(void (^)(CMISHttpResponse *httpResponse, NSError *error))completionBlock
                          progressBlock:(void (^)(unsigned long long bytesUploaded, unsigned long long bytesTotal))progressBlock;
 
-/// designated initialiser. Do not call this method directly. Use the class method startRequest:withHttpMethod:inputStream:headers:bytesExpected:authenticationProvider:completionBlock:progressBlock instead
-- (id)initWithHttpMethod:(CMISHttpRequestMethod)httpRequestMethod
-         completionBlock:(void (^)(CMISHttpResponse *httpResponse, NSError *error))completionBlock
-           progressBlock:(void (^)(unsigned long long bytesUploaded, unsigned long long bytesTotal))progressBlock;
 
 @end

Modified: chemistry/objectivecmis/trunk/ObjectiveCMIS/Utils/CMISHttpUploadRequest.m
URL: http://svn.apache.org/viewvc/chemistry/objectivecmis/trunk/ObjectiveCMIS/Utils/CMISHttpUploadRequest.m?rev=1448154&r1=1448153&r2=1448154&view=diff
==============================================================================
--- chemistry/objectivecmis/trunk/ObjectiveCMIS/Utils/CMISHttpUploadRequest.m (original)
+++ chemistry/objectivecmis/trunk/ObjectiveCMIS/Utils/CMISHttpUploadRequest.m Wed Feb 20 13:18:59 2013
@@ -23,6 +23,9 @@
 
 @property (nonatomic, assign) unsigned long long bytesUploaded;
 @property (nonatomic, copy) void (^progressBlock)(unsigned long long bytesUploaded, unsigned long long bytesTotal);
+- (id)initWithHttpMethod:(CMISHttpRequestMethod)httpRequestMethod
+         completionBlock:(void (^)(CMISHttpResponse *httpResponse, NSError *error))completionBlock
+           progressBlock:(void (^)(unsigned long long bytesUploaded, unsigned long long bytesTotal))progressBlock;
 
 @end
 
@@ -30,7 +33,7 @@
 @implementation CMISHttpUploadRequest
 
 
-+ (CMISHttpUploadRequest*)startRequest:(NSMutableURLRequest *)urlRequest
++ (id)startRequest:(NSMutableURLRequest *)urlRequest
                             httpMethod:(CMISHttpRequestMethod)httpRequestMethod
                            inputStream:(NSInputStream*)inputStream
                                headers:(NSDictionary*)additionalHeaders
@@ -47,7 +50,7 @@
     httpRequest.bytesExpected = bytesExpected;
     httpRequest.authenticationProvider = authenticationProvider;
     
-    if ([httpRequest startRequest:urlRequest]) {
+    if ([httpRequest startRequest:urlRequest] == NO) {
         httpRequest = nil;
     }
     

Modified: chemistry/objectivecmis/trunk/ObjectiveCMISTests/ObjectiveCMISTests.m
URL: http://svn.apache.org/viewvc/chemistry/objectivecmis/trunk/ObjectiveCMISTests/ObjectiveCMISTests.m?rev=1448154&r1=1448153&r2=1448154&view=diff
==============================================================================
--- chemistry/objectivecmis/trunk/ObjectiveCMISTests/ObjectiveCMISTests.m (original)
+++ chemistry/objectivecmis/trunk/ObjectiveCMISTests/ObjectiveCMISTests.m Wed Feb 20 13:18:59 2013
@@ -474,9 +474,9 @@
                                    
                                    // Compare file sizes
                                    NSError *fileError;
-                                   unsigned long long originalFileSize = [FileUtil fileSizeForFileAtPath:fileToUploadPath error:&fileError];
+                                   unsigned long long originalFileSize = [CMISFileUtil fileSizeForFileAtPath:fileToUploadPath error:&fileError];
                                    STAssertNil(fileError, @"Got error while getting file size for %@: %@", fileToUploadPath, [fileError description]);
-                                   unsigned long long downloadedFileSize = [FileUtil fileSizeForFileAtPath:downloadedFilePath error:&fileError];
+                                   unsigned long long downloadedFileSize = [CMISFileUtil fileSizeForFileAtPath:downloadedFilePath error:&fileError];
                                    STAssertNil(fileError, @"Got error while getting file size for %@: %@", downloadedFilePath, [fileError description]);
                                    STAssertTrue(originalFileSize == downloadedFileSize, @"Original file size (%llu) is not equal to downloaded file size (%llu)", originalFileSize, downloadedFileSize);
                                    
@@ -644,7 +644,7 @@
         // Basic check if the service returns results that are usable
         [discoveryService query:@"SELECT * FROM cmis:document"
               searchAllVersions:NO
-                  relationShips:CMISIncludeRelationshipNone
+                  relationships:CMISIncludeRelationshipNone
                 renditionFilter:nil
             includeAllowableActions:YES
                        maxItems:[NSNumber numberWithInt:3]
@@ -665,7 +665,7 @@
              // Doing a query without any maxItems or skipCount, and also only requesting one property 'column'
              [discoveryService query:@"SELECT cmis:name FROM cmis:document WHERE cmis:name LIKE '%quote%'"
                    searchAllVersions:NO
-                       relationShips:CMISIncludeRelationshipNone
+                       relationships:CMISIncludeRelationshipNone
                      renditionFilter:nil
              includeAllowableActions:YES
                             maxItems:nil skipCount:nil completionBlock:^(CMISObjectList *objectList, NSError *error) {
@@ -919,15 +919,17 @@
     [self runTest:^ {
          // Upload test file
          [self uploadTestFileWithCompletionBlock:^(CMISDocument *originalDocument) {
+             STAssertTrue([originalDocument.contentStreamMediaType isEqualToString:@"text/plain"], @"Mime type for original document should be text/plain but it is: %@", originalDocument.contentStreamMediaType);
              // Change content of test file using overwrite
              __block long long previousUploadedBytes = -1;
              NSString *newContentFilePath = [[NSBundle bundleForClass:[self class]] pathForResource:@"test_file_2.txt" ofType:nil];
              [self.session.binding.objectService
               changeContentOfObject:[CMISStringInOutParameter inOutParameterUsingInParameter:originalDocument.identifier]
-                toContentOfFile:newContentFilePath
-                overwriteExisting:YES
-                changeToken:nil
-              completionBlock: ^(NSError *error) {
+                    toContentOfFile:newContentFilePath
+                           mimeType:originalDocument.contentStreamMediaType
+                  overwriteExisting:YES
+                        changeToken:nil
+                    completionBlock: ^(NSError *error) {
                   if (error == nil) {
                       NSLog(@"Content has been successfully changed");
                       
@@ -936,6 +938,7 @@
 //                      NSString *tempDownloadFilePath = @"temp_download_file.txt";
                       // some repos will up the version when uploading new content
                       [originalDocument retrieveObjectOfLatestVersionWithMajorVersion:NO completionBlock:^(CMISDocument *latestVersionOfDocument , NSError *error) {
+                          STAssertTrue([latestVersionOfDocument.contentStreamMediaType isEqualToString:@"text/plain"], @"Mime type for updated document should be text/plain but it is: %@", latestVersionOfDocument.contentStreamMediaType);
                           [latestVersionOfDocument downloadContentToFile:tempDownloadFilePath completionBlock:^(NSError *error) {
                               if (error == nil) {
                                   NSString *contentOfDownloadedFile = [NSString stringWithContentsOfFile:tempDownloadFilePath encoding:NSUTF8StringEncoding error:nil];