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];


Reply via email to