You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by to...@apache.org on 2006/08/30 23:39:44 UTC

svn commit: r438649 - /incubator/cayenne/sandbox/CocoaCayenne/CAYClient/AppController.m

Author: torehalset
Date: Wed Aug 30 14:39:44 2006
New Revision: 438649

URL: http://svn.apache.org/viewvc?rev=438649&view=rev
Log:
moved class mapping++ from CAYClient to framework

Modified:
    incubator/cayenne/sandbox/CocoaCayenne/CAYClient/AppController.m

Modified: incubator/cayenne/sandbox/CocoaCayenne/CAYClient/AppController.m
URL: http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/CAYClient/AppController.m?rev=438649&r1=438648&r2=438649&view=diff
==============================================================================
--- incubator/cayenne/sandbox/CocoaCayenne/CAYClient/AppController.m (original)
+++ incubator/cayenne/sandbox/CocoaCayenne/CAYClient/AppController.m Wed Aug 30 14:39:44 2006
@@ -26,6 +26,8 @@
 #import <CocoaCayenne/CAYHessianConnection.h>
 #import <CocoaCayenne/CAYObjEntity.h>
 #import <CocoaCayenne/CAYEntityResolver.h>
+#import <CocoaCayenne/CAYCocoaCayenne.h>
+#import <CocoaCayenne/CAYClientConnection.h>
 
 @implementation AppController
 
@@ -42,74 +44,18 @@
     if([self objectContext] == nil)
     {
         NSLog(@" *** initing cayenne client *** ");
-        // map cayenne java class name to local class name
-        NSMutableDictionary *classMapping = [[NSMutableDictionary dictionary] retain];
-        //[classMapping setObject:@"CAYRemoteSession" forKey:@"org.objectstyle.cayenne.remote.RemoteSession"];
-        [classMapping setObject:@"CAYNamedQuery" forKey:@"org.objectstyle.cayenne.query.NamedQuery"];
-        [classMapping setObject:@"CAYRelationshipQuery" forKey:@"org.objectstyle.cayenne.query.RelationshipQuery"];
-        [classMapping setObject:@"CAYGenericResponse" forKey:@"org.objectstyle.cayenne.util.GenericResponse"];
-        [classMapping setObject:@"CAYObjectId" forKey:@"org.objectstyle.cayenne.ObjectId"];
-        [classMapping setObject:@"CAYObjEntity" forKey:@"org.objectstyle.cayenne.map.ObjEntity"];
-        [classMapping setObject:@"CAYClientObjRelationship" forKey:@"org.objectstyle.cayenne.map.ClientObjRelationship"];
-        [classMapping setObject:@"CAYEntityResolver" forKey:@"org.objectstyle.cayenne.map.EntityResolver"];
-        [classMapping setObject:@"CAYDataMap" forKey:@"org.objectstyle.cayenne.map.DataMap"];
         
-        // message
-        [classMapping setObject:@"CAYBootstrapMessage" forKey:@"org.objectstyle.cayenne.remote.BootstrapMessage"];
-        [classMapping setObject:@"CAYQueryMessage" forKey:@"org.objectstyle.cayenne.remote.QueryMessage"];
-        [classMapping setObject:@"CAYSyncMessage" forKey:@"org.objectstyle.cayenne.remote.SyncMessage"];
-        
-        // graph
-        // abstract [classMapping setObject:@"CAYNodeDiff" forKey:@"org.objectstyle.cayenne.graph.NodeDiff"];
-        [classMapping setObject:@"CAYCompoundDiff" forKey:@"org.objectstyle.cayenne.graph.CompoundDiff"];
-        [classMapping setObject:@"CAYNodeCreateOperation" forKey:@"org.objectstyle.cayenne.graph.NodeCreateOperation"];
-        [classMapping setObject:@"CAYNodePropertyChangeOperation" forKey:@"org.objectstyle.cayenne.graph.NodePropertyChangeOperation"];
-        [classMapping setObject:@"CAYNodeDeleteOperation" forKey:@"org.objectstyle.cayenne.graph.NodeDeleteOperation"];
-        [classMapping setObject:@"CAYNodeIdChangeOperation" forKey:@"org.objectstyle.cayenne.graph.NodeIdChangeOperation"];
-        
-        // connect to the server
-        // TODO: basic authentication and/or session management
         NSURL * url = [NSURL URLWithString:@"http://localhost:8090/cayenne-service"];
-        BBSHessianProxy * proxy = [[BBSHessianProxy alloc] initWithUrl:url];
-        [BBSHessianProxy setClassMapping:classMapping];
-        
-        CAYHessianConnection *conn = [[CAYHessianConnection alloc] init];
-        [conn setProxy:proxy];
-        [proxy release];
+        CAYClientConnection *conn = [[CAYHessianConnection alloc] initWithUrl:url];
+        [conn connect];
         
         CAYObjectContext *ctxt = [[CAYObjectContext alloc] init];
         [ctxt setConnection:conn];
         [conn release];
         [self setObjectContext:ctxt];
-        
-        id result1 = [proxy callSynchronous:@"establishSession" withParameters:nil];
-        NSLog(@"establishSession result: %@", result1);
-        
-        // send bootstrap message to get the EntityResolver
-        CAYBootstrapMessage *bootstrapMsg = [[CAYBootstrapMessage alloc] init];
-        id bootresult = [conn sendMessage:bootstrapMsg];
-        if([bootresult isKindOfClass:[CAYEntityResolver class]])
-        {
-            CAYEntityResolver *resolver = (CAYEntityResolver *)bootresult;
-            [ctxt setEntityResolver:resolver];
-        }
-        else
-        {
-            NSLog(@"ERROR: bootstrap answer not of type CATEntityResolver, but %@", [bootresult class]);
-        }
-        [bootstrapMsg release];
-        
-        // update class mapping based on EntityResolver
-        [[ctxt entityResolver] updateClassMapping];
-        [classMapping addEntriesFromDictionary:[[ctxt entityResolver] classMapping]];
-        
-        // update class mapping
-        [BBSHessianProxy setClassMapping:classMapping];
-		
-        
-        [classMapping release];
         [ctxt release];
     }
+    
 	CAYNamedQuery *query = [[CAYNamedQuery alloc] init];
 	[query setName:@"objcquery"];
 	NSArray *rows = [[self objectContext] performQyery:query];