Author: torehalset
Date: Fri Sep 29 00:38:19 2006
New Revision: 451146

URL: http://svn.apache.org/viewvc?view=rev&rev=451146
Log:
validation work in progress. include DbEntity-stuff as it will(?) be
used for client side validation before commit.

Added:
    
incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYBeanValidationFailure.h
    
incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYBeanValidationFailure.m
    incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYDbAttribute.h
    incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYDbAttribute.m
    incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYDbEntity.h
    incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYDbEntity.m
    incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYEntity.h
    incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYEntity.m
    incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYValidationException.h
    incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYValidationException.m
    incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYValidationResult.h
    incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYValidationResult.m
Modified:
    incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYCocoaCayenne.m
    incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYDataMap.h
    incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYDataMap.m
    incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYObjEntity.h
    incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYObjEntity.m
    incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYObjectContext.m
    
incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CocoaCayenne.xcodeproj/project.pbxproj

Added: 
incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYBeanValidationFailure.h
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYBeanValidationFailure.h?view=auto&rev=451146
==============================================================================
--- 
incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYBeanValidationFailure.h 
(added)
+++ 
incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYBeanValidationFailure.h 
Fri Sep 29 00:38:19 2006
@@ -0,0 +1,38 @@
+/*****************************************************************
+*   Licensed to the Apache Software Foundation (ASF) under one
+*  or more contributor license agreements.  See the NOTICE file
+*  distributed with this work for additional information
+*  regarding copyright ownership.  The ASF licenses this file
+*  to you under the Apache License, Version 2.0 (the
+*  "License"); you may not use this file except in compliance
+*  with the License.  You may obtain a copy of the License at
+*
+*    http://www.apache.org/licenses/LICENSE-2.0
+*
+*  Unless required by applicable law or agreed to in writing,
+*  software distributed under the License is distributed on an
+*  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+*  KIND, either express or implied.  See the License for the
+*  specific language governing permissions and limitations
+*  under the License.
+****************************************************************/
+
+#import <Cocoa/Cocoa.h>
+
+
[EMAIL PROTECTED] CAYBeanValidationFailure : NSObject <NSCoding> {
+
+    id source;
+    id error;
+    NSString *property;
+    
+}
+
+-(void)setSource:(id)s;
+-(id)source;
+-(void)setError:(id)er;
+-(id)error;
+-(void)setProperty:(NSString *)prop;
+-(NSString *)property;
+
[EMAIL PROTECTED]

Added: 
incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYBeanValidationFailure.m
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYBeanValidationFailure.m?view=auto&rev=451146
==============================================================================
--- 
incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYBeanValidationFailure.m 
(added)
+++ 
incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYBeanValidationFailure.m 
Fri Sep 29 00:38:19 2006
@@ -0,0 +1,92 @@
+/*****************************************************************
+*   Licensed to the Apache Software Foundation (ASF) under one
+*  or more contributor license agreements.  See the NOTICE file
+*  distributed with this work for additional information
+*  regarding copyright ownership.  The ASF licenses this file
+*  to you under the Apache License, Version 2.0 (the
+*  "License"); you may not use this file except in compliance
+*  with the License.  You may obtain a copy of the License at
+*
+*    http://www.apache.org/licenses/LICENSE-2.0
+*
+*  Unless required by applicable law or agreed to in writing,
+*  software distributed under the License is distributed on an
+*  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+*  KIND, either express or implied.  See the License for the
+*  specific language governing permissions and limitations
+*  under the License.
+****************************************************************/
+
+#import "CAYBeanValidationFailure.h"
+
+
[EMAIL PROTECTED] CAYBeanValidationFailure
+
+-(id)initWithCoder:(NSCoder*)coder
+{
+       [super init];
+       [self setSource:[coder decodeObjectForKey:@"source"]];
+       [self setError:[coder decodeObjectForKey:@"error"]];
+       [self setProperty:[coder decodeObjectForKey:@"property"]];
+       return self;
+}
+
+-(void)encodeWithCoder:(NSCoder*)coder
+{
+       [coder encodeObject:[self source] forKey:@"source"];
+       [coder encodeObject:[self error] forKey:@"error"];
+       [coder encodeObject:[self property] forKey:@"property"];
+}
+
+-(void)setSource:(id)s
+{
+    [s retain];
+    [source release];
+    source = s;
+}
+
+-(id)source
+{
+    return source;
+}
+
+-(void)setError:(id)er
+{
+    [er retain];
+    [error release];
+    error = er;
+}
+
+-(id)error
+{
+    return error;
+}
+
+-(void)setProperty:(NSString *)prop
+{
+    [prop retain];
+    [property release];
+    property = prop;
+}
+
+-(NSString *)property
+{
+    return property;
+}
+
+-(NSString *)description
+{
+    NSString *description = [[NSString alloc] initWithFormat:@"%@ {error = %@, 
property = %@, source = [EMAIL PROTECTED]", [self class], [self error], [self 
property], [self source]];
+    [description autorelease];
+    return description;
+}
+
+-(void)dealloc
+{
+    [self setSource:nil];
+    [self setError:nil];
+    [self setProperty:nil];
+       [super dealloc];
+}
+
[EMAIL PROTECTED]

Modified: incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYCocoaCayenne.m
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYCocoaCayenne.m?view=diff&rev=451146&r1=451145&r2=451146
==============================================================================
--- incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYCocoaCayenne.m 
(original)
+++ incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYCocoaCayenne.m Fri 
Sep 29 00:38:19 2006
@@ -34,6 +34,8 @@
     [classMapping setObject:@"CAYObjectId" 
forKey:@"org.apache.cayenne.ObjectId"];
     [classMapping setObject:@"CAYObjEntity" 
forKey:@"org.apache.cayenne.map.ObjEntity"];
     [classMapping setObject:@"CAYObjAttribute" 
forKey:@"org.apache.cayenne.map.ObjAttribute"];
+    [classMapping setObject:@"CAYDbEntity" 
forKey:@"org.apache.cayenne.map.DbEntity"];
+    [classMapping setObject:@"CAYDbAttribute" 
forKey:@"org.apache.cayenne.map.DbAttribute"];
     [classMapping setObject:@"CAYClientObjRelationship" 
forKey:@"org.apache.cayenne.map.ClientObjRelationship"];
     [classMapping setObject:@"CAYEntityResolver" 
forKey:@"org.apache.cayenne.map.EntityResolver"];
     [classMapping setObject:@"CAYDataMap" 
forKey:@"org.apache.cayenne.map.DataMap"];

Modified: incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYDataMap.h
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYDataMap.h?view=diff&rev=451146&r1=451145&r2=451146
==============================================================================
--- incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYDataMap.h (original)
+++ incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYDataMap.h Fri Sep 29 
00:38:19 2006
@@ -25,6 +25,7 @@
 
     NSString *name;
     NSMutableDictionary *objEntityMap;
+    NSMutableDictionary *dbEntityMap;
 
 }
 
@@ -32,6 +33,8 @@
 -(NSString *)name;
 -(void)setObjEntityMap:(NSMutableDictionary *)oem;
 -(NSMutableDictionary *)objEntityMap;
+-(void)setDbEntityMap:(NSMutableDictionary *)dem;
+-(NSMutableDictionary *)dbEntityMap;
 
 -(NSString *)classNameForObjEntity:(CAYObjEntity *)entity;
 

Modified: incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYDataMap.m
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYDataMap.m?view=diff&rev=451146&r1=451145&r2=451146
==============================================================================
--- incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYDataMap.m (original)
+++ incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYDataMap.m Fri Sep 29 
00:38:19 2006
@@ -27,18 +27,21 @@
        [super init];
        [self setName:[coder decodeObjectForKey:@"name"]];
        [self setObjEntityMap:[coder decodeObjectForKey:@"objEntityMap"]];
+       [self setDbEntityMap:[coder decodeObjectForKey:@"dbEntityMap"]];
     
     // remove extra entry created by hessian framework
     // TODO: fix in framework?
     [[self objEntityMap] removeObjectForKey:@"hessianClassName"];
+    [[self dbEntityMap] removeObjectForKey:@"hessianClassName"];
     
        return self;
 }
 
 -(void)encodeWithCoder:(NSCoder*)coder
 {
-       [coder encodeObject:name forKey:@"name"];
-       [coder encodeObject:objEntityMap forKey:@"objEntityMap"];
+       [coder encodeObject:[self name] forKey:@"name"];
+       [coder encodeObject:[self objEntityMap] forKey:@"objEntityMap"];
+       [coder encodeObject:[self dbEntityMap] forKey:@"dbEntityMap"];
 }
 
 -(void)setName:(NSString *)n
@@ -65,6 +68,18 @@
     return objEntityMap;
 }
 
+-(void)setDbEntityMap:(NSMutableDictionary *)dem
+{
+    [dem retain];
+    [dbEntityMap release];
+    dbEntityMap = dem;
+}
+
+-(NSMutableDictionary *)dbEntityMap
+{
+    return dbEntityMap;
+}
+
 -(NSString *)classNameForObjEntity:(CAYObjEntity *)entity;
 {
     // TODO: handle prefix for class name. Like MYPROJECTArtist
@@ -75,6 +90,7 @@
 {
     [self setName:nil];
     [self setObjEntityMap:nil];
+    [self setDbEntityMap:nil];
        [super dealloc];
 }
 

Added: incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYDbAttribute.h
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYDbAttribute.h?view=auto&rev=451146
==============================================================================
--- incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYDbAttribute.h (added)
+++ incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYDbAttribute.h Fri 
Sep 29 00:38:19 2006
@@ -0,0 +1,40 @@
+/*****************************************************************
+*   Licensed to the Apache Software Foundation (ASF) under one
+*  or more contributor license agreements.  See the NOTICE file
+*  distributed with this work for additional information
+*  regarding copyright ownership.  The ASF licenses this file
+*  to you under the Apache License, Version 2.0 (the
+*  "License"); you may not use this file except in compliance
+*  with the License.  You may obtain a copy of the License at
+*
+*    http://www.apache.org/licenses/LICENSE-2.0
+*
+*  Unless required by applicable law or agreed to in writing,
+*  software distributed under the License is distributed on an
+*  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+*  KIND, either express or implied.  See the License for the
+*  specific language governing permissions and limitations
+*  under the License.
+****************************************************************/
+
+#import <Cocoa/Cocoa.h>
+
[EMAIL PROTECTED] CAYDbAttribute : NSObject <NSCoding> {
+
+    NSString *name;
+    BOOL mandatory;
+    BOOL primaryKey;
+    unsigned int maxLength;
+    
+}
+
+-(void)setName:(NSString *)n;
+-(NSString *)name;
+-(void)setMandatory:(BOOL)m;
+-(BOOL)isMandatory;
+-(void)setPrimaryKey:(BOOL)pk;
+-(BOOL)isPrimaryKey;
+-(void)setMaxLength:(unsigned int)ml;
+-(unsigned int)maxLength;
+
[EMAIL PROTECTED]

Added: incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYDbAttribute.m
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYDbAttribute.m?view=auto&rev=451146
==============================================================================
--- incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYDbAttribute.m (added)
+++ incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYDbAttribute.m Fri 
Sep 29 00:38:19 2006
@@ -0,0 +1,92 @@
+/*****************************************************************
+*   Licensed to the Apache Software Foundation (ASF) under one
+*  or more contributor license agreements.  See the NOTICE file
+*  distributed with this work for additional information
+*  regarding copyright ownership.  The ASF licenses this file
+*  to you under the Apache License, Version 2.0 (the
+*  "License"); you may not use this file except in compliance
+*  with the License.  You may obtain a copy of the License at
+*
+*    http://www.apache.org/licenses/LICENSE-2.0
+*
+*  Unless required by applicable law or agreed to in writing,
+*  software distributed under the License is distributed on an
+*  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+*  KIND, either express or implied.  See the License for the
+*  specific language governing permissions and limitations
+*  under the License.
+****************************************************************/
+
+#import "CAYDbAttribute.h"
+
+
[EMAIL PROTECTED] CAYDbAttribute
+
+-(id)initWithCoder:(NSCoder*)coder
+{
+       [super init];
+       [self setName:[coder decodeObjectForKey:@"name"]];
+       [self setMandatory:[coder decodeBoolForKey:@"mandatory"]];
+       [self setPrimaryKey:[coder decodeBoolForKey:@"primaryKey"]];
+       [self setMaxLength:[coder decodeIntForKey:@"maxLength"]];
+    
+       return self;
+}
+
+-(void)encodeWithCoder:(NSCoder*)coder
+{
+       [coder encodeObject:[self name] forKey:@"name"];
+       [coder encodeBool:[self isMandatory] forKey:@"mandatory"];
+       [coder encodeBool:[self isPrimaryKey] forKey:@"primaryKey"];
+       [coder encodeInt:[self maxLength] forKey:@"maxLength"];
+}
+
+-(void)setName:(NSString *)n
+{
+       [n retain];
+       [name release];
+       name = n;
+}
+
+-(NSString *)name
+{
+       return name;
+}
+
+-(void)setMandatory:(BOOL)m
+{
+    mandatory = m;
+}
+
+-(BOOL)isMandatory
+{
+    return mandatory;
+}
+
+-(void)setPrimaryKey:(BOOL)pk
+{
+    primaryKey = pk;
+}
+
+-(BOOL)isPrimaryKey
+{
+    return primaryKey;
+}
+
+-(void)setMaxLength:(unsigned int)ml
+{
+    maxLength = ml;
+}
+
+-(unsigned int)maxLength
+{
+    return maxLength;
+}
+
+-(void)dealloc
+{
+       [self setName:nil];
+       [super dealloc];
+}
+
[EMAIL PROTECTED]

Added: incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYDbEntity.h
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYDbEntity.h?view=auto&rev=451146
==============================================================================
--- incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYDbEntity.h (added)
+++ incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYDbEntity.h Fri Sep 
29 00:38:19 2006
@@ -0,0 +1,39 @@
+/*****************************************************************
+*   Licensed to the Apache Software Foundation (ASF) under one
+*  or more contributor license agreements.  See the NOTICE file
+*  distributed with this work for additional information
+*  regarding copyright ownership.  The ASF licenses this file
+*  to you under the Apache License, Version 2.0 (the
+*  "License"); you may not use this file except in compliance
+*  with the License.  You may obtain a copy of the License at
+*
+*    http://www.apache.org/licenses/LICENSE-2.0
+*
+*  Unless required by applicable law or agreed to in writing,
+*  software distributed under the License is distributed on an
+*  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+*  KIND, either express or implied.  See the License for the
+*  specific language governing permissions and limitations
+*  under the License.
+****************************************************************/
+
+#import <Cocoa/Cocoa.h>
+
+#import "CAYEntity.h"
+
[EMAIL PROTECTED] CAYDbEntity : CAYEntity <NSCoding> {
+
+    NSString *catalog;
+    NSString *schema;
+    NSArray *primaryKey;
+
+}
+
+-(void)setCatalog:(NSString *)c;
+-(NSString *)catalog;
+-(void)setSchema:(NSString *)s;
+-(NSString *)schema;
+-(void)setPrimaryKey:(NSArray *)pk;
+-(NSArray *)primaryKey;
+
[EMAIL PROTECTED]

Added: incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYDbEntity.m
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYDbEntity.m?view=auto&rev=451146
==============================================================================
--- incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYDbEntity.m (added)
+++ incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYDbEntity.m Fri Sep 
29 00:38:19 2006
@@ -0,0 +1,87 @@
+/*****************************************************************
+*   Licensed to the Apache Software Foundation (ASF) under one
+*  or more contributor license agreements.  See the NOTICE file
+*  distributed with this work for additional information
+*  regarding copyright ownership.  The ASF licenses this file
+*  to you under the Apache License, Version 2.0 (the
+*  "License"); you may not use this file except in compliance
+*  with the License.  You may obtain a copy of the License at
+*
+*    http://www.apache.org/licenses/LICENSE-2.0
+*
+*  Unless required by applicable law or agreed to in writing,
+*  software distributed under the License is distributed on an
+*  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+*  KIND, either express or implied.  See the License for the
+*  specific language governing permissions and limitations
+*  under the License.
+****************************************************************/
+
+#import "CAYDbEntity.h"
+
+
[EMAIL PROTECTED] CAYDbEntity
+
+-(id)initWithCoder:(NSCoder*)coder
+{
+       [super initWithCoder:coder];
+       [self setCatalog:[coder decodeObjectForKey:@"catalog"]];
+       [self setSchema:[coder decodeObjectForKey:@"schema"]];
+       [self setPrimaryKey:[coder decodeObjectForKey:@"primaryKey"]];
+    
+       return self;
+}
+
+-(void)encodeWithCoder:(NSCoder*)coder
+{
+    [super encodeWithCoder:coder];
+       [coder encodeObject:[self catalog] forKey:@"catalog"];
+       [coder encodeObject:[self schema] forKey:@"schema"];
+       [coder encodeObject:[self primaryKey] forKey:@"primaryKey"];
+}
+
+-(void)setCatalog:(NSString *)c
+{
+    [c retain];
+    [catalog release];
+    catalog = c;
+}
+
+-(NSString *)catalog
+{
+    return catalog;
+}
+
+-(void)setSchema:(NSString *)s
+{
+    [s retain];
+    [schema release];
+    schema = s;
+}
+
+-(NSString *)schema
+{
+    return schema;
+}
+
+-(void)setPrimaryKey:(NSArray *)pk
+{
+    [pk retain];
+    [primaryKey release];
+    primaryKey = pk;
+}
+
+-(NSArray *)primaryKey
+{
+    return primaryKey;
+}
+
+-(void)dealloc
+{
+    [self setCatalog:nil];
+    [self setSchema:nil];
+    [self setPrimaryKey:nil];
+       [super dealloc];
+}
+
[EMAIL PROTECTED]

Added: incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYEntity.h
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYEntity.h?view=auto&rev=451146
==============================================================================
--- incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYEntity.h (added)
+++ incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYEntity.h Fri Sep 29 
00:38:19 2006
@@ -0,0 +1,38 @@
+/*****************************************************************
+*   Licensed to the Apache Software Foundation (ASF) under one
+*  or more contributor license agreements.  See the NOTICE file
+*  distributed with this work for additional information
+*  regarding copyright ownership.  The ASF licenses this file
+*  to you under the Apache License, Version 2.0 (the
+*  "License"); you may not use this file except in compliance
+*  with the License.  You may obtain a copy of the License at
+*
+*    http://www.apache.org/licenses/LICENSE-2.0
+*
+*  Unless required by applicable law or agreed to in writing,
+*  software distributed under the License is distributed on an
+*  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+*  KIND, either express or implied.  See the License for the
+*  specific language governing permissions and limitations
+*  under the License.
+****************************************************************/
+
+#import <Cocoa/Cocoa.h>
+
+
[EMAIL PROTECTED] CAYEntity : NSObject <NSCoding> {
+
+       NSMutableDictionary *attributes;
+       NSString *name;
+       NSMutableDictionary *relationships;
+    
+}
+
+-(void)setAttributes:(NSMutableDictionary *)a;
+-(NSMutableDictionary *)attributes;
+-(void)setName:(NSString *)n;
+-(NSString *)name;
+-(void)setRelationships:(NSMutableDictionary *)r;
+-(NSMutableDictionary *)relationships;
+
[EMAIL PROTECTED]

Added: incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYEntity.m
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYEntity.m?view=auto&rev=451146
==============================================================================
--- incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYEntity.m (added)
+++ incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYEntity.m Fri Sep 29 
00:38:19 2006
@@ -0,0 +1,91 @@
+/*****************************************************************
+*   Licensed to the Apache Software Foundation (ASF) under one
+*  or more contributor license agreements.  See the NOTICE file
+*  distributed with this work for additional information
+*  regarding copyright ownership.  The ASF licenses this file
+*  to you under the Apache License, Version 2.0 (the
+*  "License"); you may not use this file except in compliance
+*  with the License.  You may obtain a copy of the License at
+*
+*    http://www.apache.org/licenses/LICENSE-2.0
+*
+*  Unless required by applicable law or agreed to in writing,
+*  software distributed under the License is distributed on an
+*  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+*  KIND, either express or implied.  See the License for the
+*  specific language governing permissions and limitations
+*  under the License.
+****************************************************************/
+
+#import "CAYEntity.h"
+
+
[EMAIL PROTECTED] CAYEntity
+
+-(id)initWithCoder:(NSCoder*)coder
+{
+       [super init];
+       [self setAttributes:[coder decodeObjectForKey:@"attributes"]];
+       [self setName:[coder decodeObjectForKey:@"name"]];
+       [self setRelationships:[coder decodeObjectForKey:@"relationships"]];
+    
+    // remove extra entry created by hessian framework
+    // TODO: fix in framework?
+    [[self relationships] removeObjectForKey:@"hessianClassName"];
+    [[self attributes] removeObjectForKey:@"hessianClassName"];
+    
+       return self;
+}
+
+-(void)encodeWithCoder:(NSCoder*)coder
+{
+       [coder encodeObject:[self  attributes] forKey:@"attributes"];
+       [coder encodeObject:[self name] forKey:@"name"];
+       [coder encodeObject:[self relationships] forKey:@"relationships"];
+}
+
+-(void)setAttributes:(NSMutableDictionary *)a
+{
+       [a retain];
+       [attributes release];
+       attributes = a;
+}
+
+-(NSMutableDictionary *)attributes
+{
+       return attributes;
+}
+
+-(void)setName:(NSString *)n
+{
+       [n retain];
+       [name release];
+       name = n;
+}
+
+-(NSString *)name
+{
+       return name;
+}
+
+-(void)setRelationships:(NSMutableDictionary *)r
+{
+       [r retain];
+       [relationships release];
+       relationships = r;
+}
+
+-(NSMutableDictionary *)relationships
+{
+       return relationships;
+}
+
+-(void)dealloc
+{
+       [self setAttributes:nil];
+       [self setName:nil];
+       [self setRelationships:nil];
+       [super dealloc];
+}
+
[EMAIL PROTECTED]

Modified: incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYObjEntity.h
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYObjEntity.h?view=diff&rev=451146&r1=451145&r2=451146
==============================================================================
--- incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYObjEntity.h 
(original)
+++ incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYObjEntity.h Fri Sep 
29 00:38:19 2006
@@ -19,23 +19,15 @@
 
 #import <Cocoa/Cocoa.h>
 
+#import "CAYEntity.h"
 
[EMAIL PROTECTED] CAYObjEntity : NSObject <NSCoding> {
[EMAIL PROTECTED] CAYObjEntity : CAYEntity <NSCoding> {
 
-       NSMutableDictionary *attributes;
-       NSString *name;
     NSString *serverClassName;
-       NSMutableDictionary *relationships;
        
 }
 
--(void)setAttributes:(NSMutableDictionary *)a;
--(NSMutableDictionary *)attributes;
--(void)setName:(NSString *)n;
--(NSString *)name;
 -(void)setServerClassName:(NSString *)n;
 -(NSString *)serverClassName;
--(void)setRelationships:(NSMutableDictionary *)r;
--(NSMutableDictionary *)relationships;
 
 @end

Modified: incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYObjEntity.m
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYObjEntity.m?view=diff&rev=451146&r1=451145&r2=451146
==============================================================================
--- incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYObjEntity.m 
(original)
+++ incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYObjEntity.m Fri Sep 
29 00:38:19 2006
@@ -24,50 +24,16 @@
 
 -(id)initWithCoder:(NSCoder*)coder
 {
-       [super init];
-       [self setAttributes:[coder decodeObjectForKey:@"attributes"]];
-       [self setName:[coder decodeObjectForKey:@"name"]];
+       [super initWithCoder:coder];
        [self setServerClassName:[coder decodeObjectForKey:@"className"]];
-       [self setRelationships:[coder decodeObjectForKey:@"relationships"]];
-    
-    // remove extra entry created by hessian framework
-    // TODO: fix in framework?
-    [[self relationships] removeObjectForKey:@"hessianClassName"];
-    [[self attributes] removeObjectForKey:@"hessianClassName"];
     
        return self;
 }
 
 -(void)encodeWithCoder:(NSCoder*)coder
 {
-       [coder encodeObject:attributes forKey:@"attributes"];
-       [coder encodeObject:name forKey:@"name"];
+    [super encodeWithCoder:coder];
        [coder encodeObject:serverClassName forKey:@"className"];
-       [coder encodeObject:relationships forKey:@"relationships"];
-}
-
--(void)setAttributes:(NSMutableDictionary *)a
-{
-       [a retain];
-       [attributes release];
-       attributes = a;
-}
-
--(NSMutableDictionary *)attributes
-{
-       return attributes;
-}
-
--(void)setName:(NSString *)n
-{
-       [n retain];
-       [name release];
-       name = n;
-}
-
--(NSString *)name
-{
-       return name;
 }
 
 -(void)setServerClassName:(NSString *)n
@@ -79,29 +45,13 @@
 
 -(NSString *)serverClassName
 {
-       return serverClassName;
-}
-
--(void)setRelationships:(NSMutableDictionary *)r
-{
-       [r retain];
-       [relationships release];
-       relationships = r;
-}
-
--(NSMutableDictionary *)relationships
-{
-       return relationships;
+    return serverClassName;
 }
 
 -(void)dealloc
 {
-       [attributes release];
-       [name release];
-       [relationships release];
-    [serverClassName release];
+    [self setServerClassName:nil];
        [super dealloc];
 }
-
 
 @end

Modified: incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYObjectContext.m
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYObjectContext.m?view=diff&rev=451146&r1=451145&r2=451146
==============================================================================
--- incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYObjectContext.m 
(original)
+++ incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYObjectContext.m Fri 
Sep 29 00:38:19 2006
@@ -194,15 +194,12 @@
 
 -(void)commitChanges
 {
-    NSLog(@"%i unsaved changes before commit. %@", [diffs count], diffs);
+    NSLog(@"DEBUG: %i unsaved changes before commit. %@", [diffs count], 
diffs);
     CAYCompoundDiff *diffWithDiffs = [[CAYCompoundDiff alloc] 
initWithDiffs:diffs];
-    // TODO: handle different types?
     CAYSyncMessage *msg = [[CAYSyncMessage alloc] initWithObjectSource:nil 
type:2 senderChanges:diffWithDiffs];
     
-    // TODO: handle result?
     id result = [[self connection] sendMessage:msg];
-    NSLog(@"commit result: %@", result);
-    [diffs removeAllObjects];
+    NSLog(@"DEBUG: commit result: %@", result);
     
     // apply any resulting diffs. typicaly server generated primary key values
     // for new values
@@ -210,15 +207,23 @@
     {
         CAYNodeDiff *resultDiff = (CAYNodeDiff *)result;
         [resultDiff apply:objectByObjectId];
+        // even if no diffs a CAYNodeDiff are returned. so this is the
+        // place to clear out the diffs
+        [diffs removeAllObjects];
+    }
+    else if ([result isKindOfClass:[NSError class]])
+    {
+        // TODO: handle returned NSError
+        NSLog(@"ERROR: not able to handle NSError commit result", [result 
class]);
     }
     else
     {
-        NSLog(@"ERROR: not able to handle commit result of type %@", [result 
class]);
+        NSLog(@"ERROR: unknown commit result type %@", [result class]);
     }
     
     [msg release];
     [diffWithDiffs release];
-    NSLog(@"%i unsaved changes after commit", [diffs count]);
+    NSLog(@"DEBUG: %i unsaved changes after commit", [diffs count]);
 }
 
 -(void)setEntityResolver:(CAYEntityResolver *)er

Added: 
incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYValidationException.h
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYValidationException.h?view=auto&rev=451146
==============================================================================
--- 
incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYValidationException.h 
(added)
+++ 
incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYValidationException.h 
Fri Sep 29 00:38:19 2006
@@ -0,0 +1,34 @@
+/*****************************************************************
+*   Licensed to the Apache Software Foundation (ASF) under one
+*  or more contributor license agreements.  See the NOTICE file
+*  distributed with this work for additional information
+*  regarding copyright ownership.  The ASF licenses this file
+*  to you under the Apache License, Version 2.0 (the
+*  "License"); you may not use this file except in compliance
+*  with the License.  You may obtain a copy of the License at
+*
+*    http://www.apache.org/licenses/LICENSE-2.0
+*
+*  Unless required by applicable law or agreed to in writing,
+*  software distributed under the License is distributed on an
+*  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+*  KIND, either express or implied.  See the License for the
+*  specific language governing permissions and limitations
+*  under the License.
+****************************************************************/
+
+#import <Cocoa/Cocoa.h>
+
+#import "CAYCayenneRuntimeException.h"
+#import "CAYValidationResult.h"
+
[EMAIL PROTECTED] CAYValidationException : CAYCayenneRuntimeException 
<NSCoding> {
+
+    CAYValidationResult *result;
+    
+}
+
+-(void)setResult:(CAYValidationResult *)res;
+-(CAYValidationResult *)result;
+
[EMAIL PROTECTED]

Added: 
incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYValidationException.m
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYValidationException.m?view=auto&rev=451146
==============================================================================
--- 
incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYValidationException.m 
(added)
+++ 
incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYValidationException.m 
Fri Sep 29 00:38:19 2006
@@ -0,0 +1,63 @@
+/*****************************************************************
+*   Licensed to the Apache Software Foundation (ASF) under one
+*  or more contributor license agreements.  See the NOTICE file
+*  distributed with this work for additional information
+*  regarding copyright ownership.  The ASF licenses this file
+*  to you under the Apache License, Version 2.0 (the
+*  "License"); you may not use this file except in compliance
+*  with the License.  You may obtain a copy of the License at
+*
+*    http://www.apache.org/licenses/LICENSE-2.0
+*
+*  Unless required by applicable law or agreed to in writing,
+*  software distributed under the License is distributed on an
+*  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+*  KIND, either express or implied.  See the License for the
+*  specific language governing permissions and limitations
+*  under the License.
+****************************************************************/
+
+#import "CAYValidationException.h"
+
+
[EMAIL PROTECTED] CAYValidationException
+
+-(id)initWithCoder:(NSCoder*)coder
+{
+       [super initWithCoder:coder];
+       [self setResult:[coder decodeObjectForKey:@"result"]];
+       return self;
+}
+
+-(void)encodeWithCoder:(NSCoder*)coder
+{
+    [super encodeWithCoder:coder];
+       [coder encodeObject:[self result] forKey:@"result"];
+}
+
+-(void)setResult:(CAYValidationResult *)res
+{
+    [res retain];
+    [result release];
+    result = res;
+}
+
+-(CAYValidationResult *)result
+{
+    return result;
+}
+
+-(NSString *)description
+{
+    NSString *description = [[NSString alloc] initWithFormat:@"%@ 
{detailMessage = %@, result = [EMAIL PROTECTED]", [self class], [self 
detailMessage], [self result]];
+    [description autorelease];
+    return description;
+}
+
+-(void)dealloc
+{
+    [self setResult:nil];
+       [super dealloc];
+}
+
[EMAIL PROTECTED]

Added: incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYValidationResult.h
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYValidationResult.h?view=auto&rev=451146
==============================================================================
--- incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYValidationResult.h 
(added)
+++ incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYValidationResult.h 
Fri Sep 29 00:38:19 2006
@@ -0,0 +1,30 @@
+/*****************************************************************
+*   Licensed to the Apache Software Foundation (ASF) under one
+*  or more contributor license agreements.  See the NOTICE file
+*  distributed with this work for additional information
+*  regarding copyright ownership.  The ASF licenses this file
+*  to you under the Apache License, Version 2.0 (the
+*  "License"); you may not use this file except in compliance
+*  with the License.  You may obtain a copy of the License at
+*
+*    http://www.apache.org/licenses/LICENSE-2.0
+*
+*  Unless required by applicable law or agreed to in writing,
+*  software distributed under the License is distributed on an
+*  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+*  KIND, either express or implied.  See the License for the
+*  specific language governing permissions and limitations
+*  under the License.
+****************************************************************/
+
+#import <Cocoa/Cocoa.h>
+
+
[EMAIL PROTECTED] CAYValidationResult : NSObject <NSCoding> {
+    NSMutableArray *failures;
+}
+
+-(void)setFailures:(NSMutableArray *)fails;
+-(NSMutableArray *)failures;
+
[EMAIL PROTECTED]

Added: incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYValidationResult.m
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYValidationResult.m?view=auto&rev=451146
==============================================================================
--- incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYValidationResult.m 
(added)
+++ incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYValidationResult.m 
Fri Sep 29 00:38:19 2006
@@ -0,0 +1,61 @@
+/*****************************************************************
+*   Licensed to the Apache Software Foundation (ASF) under one
+*  or more contributor license agreements.  See the NOTICE file
+*  distributed with this work for additional information
+*  regarding copyright ownership.  The ASF licenses this file
+*  to you under the Apache License, Version 2.0 (the
+*  "License"); you may not use this file except in compliance
+*  with the License.  You may obtain a copy of the License at
+*
+*    http://www.apache.org/licenses/LICENSE-2.0
+*
+*  Unless required by applicable law or agreed to in writing,
+*  software distributed under the License is distributed on an
+*  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+*  KIND, either express or implied.  See the License for the
+*  specific language governing permissions and limitations
+*  under the License.
+****************************************************************/
+
+#import "CAYValidationResult.h"
+
[EMAIL PROTECTED] CAYValidationResult
+
+-(id)initWithCoder:(NSCoder*)coder
+{
+       [super init];
+       [self setFailures:[coder decodeObjectForKey:@"failures"]];
+       return self;
+}
+
+-(void)encodeWithCoder:(NSCoder*)coder
+{
+       [coder encodeObject:[self failures] forKey:@"failures"];
+}
+
+-(void)setFailures:(NSMutableArray *)fails
+{
+    [fails retain];
+    [failures release];
+    failures = fails;
+}
+
+-(NSMutableArray *)failures
+{
+    return failures;
+}
+
+-(NSString *)description
+{
+    NSString *description = [[NSString alloc] initWithFormat:@"%@ {failures = 
[EMAIL PROTECTED]", [self class], [self failures]];
+    [description autorelease];
+    return description;
+}
+
+-(void)dealloc
+{
+    [self setFailures:nil];
+       [super dealloc];
+}
+
[EMAIL PROTECTED]

Modified: 
incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CocoaCayenne.xcodeproj/project.pbxproj
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CocoaCayenne.xcodeproj/project.pbxproj?view=diff&rev=451146&r1=451145&r2=451146
==============================================================================
--- 
incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CocoaCayenne.xcodeproj/project.pbxproj
 (original)
+++ 
incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CocoaCayenne.xcodeproj/project.pbxproj
 Fri Sep 29 00:38:19 2006
@@ -69,6 +69,22 @@
                444DAB1A0AACB74C006E1768 /* CAYArcCreateOperation.m in Sources 
*/ = {isa = PBXBuildFile; fileRef = 444DAB180AACB74C006E1768 /* 
CAYArcCreateOperation.m */; };
                444DAB270AACB7B1006E1768 /* CAYArcDeleteOperation.h in Headers 
*/ = {isa = PBXBuildFile; fileRef = 444DAB250AACB7B1006E1768 /* 
CAYArcDeleteOperation.h */; settings = {ATTRIBUTES = (Public, ); }; };
                444DAB280AACB7B1006E1768 /* CAYArcDeleteOperation.m in Sources 
*/ = {isa = PBXBuildFile; fileRef = 444DAB260AACB7B1006E1768 /* 
CAYArcDeleteOperation.m */; };
+               444F26280AC973C70097052B /* CAYValidationException.h in Headers 
*/ = {isa = PBXBuildFile; fileRef = 444F26260AC973C70097052B /* 
CAYValidationException.h */; settings = {ATTRIBUTES = (Public, ); }; };
+               444F26290AC973C70097052B /* CAYValidationException.m in Sources 
*/ = {isa = PBXBuildFile; fileRef = 444F26270AC973C70097052B /* 
CAYValidationException.m */; };
+               444F262E0AC9742D0097052B /* CAYBeanValidationFailure.h in 
Headers */ = {isa = PBXBuildFile; fileRef = 444F262C0AC9742D0097052B /* 
CAYBeanValidationFailure.h */; settings = {ATTRIBUTES = (Public, ); }; };
+               444F262F0AC9742D0097052B /* CAYBeanValidationFailure.m in 
Sources */ = {isa = PBXBuildFile; fileRef = 444F262D0AC9742D0097052B /* 
CAYBeanValidationFailure.m */; };
+               444F263F0AC975E50097052B /* CAYValidationResult.h in Headers */ 
= {isa = PBXBuildFile; fileRef = 444F263D0AC975E50097052B /* 
CAYValidationResult.h */; settings = {ATTRIBUTES = (Public, ); }; };
+               444F26400AC975E50097052B /* CAYValidationResult.m in Sources */ 
= {isa = PBXBuildFile; fileRef = 444F263E0AC975E50097052B /* 
CAYValidationResult.m */; };
+               444F27A80AC9EDFF0097052B /* CAYCayenneRuntimeException.h in 
Headers */ = {isa = PBXBuildFile; fileRef = 444F27A60AC9EDFF0097052B /* 
CAYCayenneRuntimeException.h */; settings = {ATTRIBUTES = (Public, ); }; };
+               444F27A90AC9EDFF0097052B /* CAYCayenneRuntimeException.m in 
Sources */ = {isa = PBXBuildFile; fileRef = 444F27A70AC9EDFF0097052B /* 
CAYCayenneRuntimeException.m */; };
+               444F27F50AC9F4B80097052B /* CAYMissingSessionException.h in 
Headers */ = {isa = PBXBuildFile; fileRef = 444F27F30AC9F4B80097052B /* 
CAYMissingSessionException.h */; };
+               444F27F60AC9F4B80097052B /* CAYMissingSessionException.m in 
Sources */ = {isa = PBXBuildFile; fileRef = 444F27F40AC9F4B80097052B /* 
CAYMissingSessionException.m */; };
+               444F28B70ACC17B30097052B /* CAYDbEntity.h in Headers */ = {isa 
= PBXBuildFile; fileRef = 444F28B50ACC17B30097052B /* CAYDbEntity.h */; };
+               444F28B80ACC17B30097052B /* CAYDbEntity.m in Sources */ = {isa 
= PBXBuildFile; fileRef = 444F28B60ACC17B30097052B /* CAYDbEntity.m */; };
+               444F29210ACCF9DF0097052B /* CAYDbAttribute.h in Headers */ = 
{isa = PBXBuildFile; fileRef = 444F291F0ACCF9DE0097052B /* CAYDbAttribute.h */; 
};
+               444F29220ACCF9DF0097052B /* CAYDbAttribute.m in Sources */ = 
{isa = PBXBuildFile; fileRef = 444F29200ACCF9DE0097052B /* CAYDbAttribute.m */; 
};
+               444F292B0ACCFBAB0097052B /* CAYEntity.h in Headers */ = {isa = 
PBXBuildFile; fileRef = 444F29290ACCFBAB0097052B /* CAYEntity.h */; };
+               444F292C0ACCFBAB0097052B /* CAYEntity.m in Sources */ = {isa = 
PBXBuildFile; fileRef = 444F292A0ACCFBAB0097052B /* CAYEntity.m */; };
                448E1BA90AC0882F00D137DF /* CAYArrayController.h in Headers */ 
= {isa = PBXBuildFile; fileRef = 448E1BA70AC0882F00D137DF /* 
CAYArrayController.h */; settings = {ATTRIBUTES = (Public, ); }; };
                448E1BAA0AC0882F00D137DF /* CAYArrayController.m in Sources */ 
= {isa = PBXBuildFile; fileRef = 448E1BA80AC0882F00D137DF /* 
CAYArrayController.m */; };
                44BD0F9D0ABF08320005EE1E /* CAYDataMapIO.h in Headers */ = {isa 
= PBXBuildFile; fileRef = 44BD0F9B0ABF08320005EE1E /* CAYDataMapIO.h */; 
settings = {ATTRIBUTES = (Public, ); }; };
@@ -146,6 +162,22 @@
                444DAB180AACB74C006E1768 /* CAYArcCreateOperation.m */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path 
= CAYArcCreateOperation.m; sourceTree = "<group>"; };
                444DAB250AACB7B1006E1768 /* CAYArcDeleteOperation.h */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = 
CAYArcDeleteOperation.h; sourceTree = "<group>"; };
                444DAB260AACB7B1006E1768 /* CAYArcDeleteOperation.m */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path 
= CAYArcDeleteOperation.m; sourceTree = "<group>"; };
+               444F26260AC973C70097052B /* CAYValidationException.h */ = {isa 
= PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path 
= CAYValidationException.h; sourceTree = "<group>"; };
+               444F26270AC973C70097052B /* CAYValidationException.m */ = {isa 
= PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; 
path = CAYValidationException.m; sourceTree = "<group>"; };
+               444F262C0AC9742D0097052B /* CAYBeanValidationFailure.h */ = 
{isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; 
path = CAYBeanValidationFailure.h; sourceTree = "<group>"; };
+               444F262D0AC9742D0097052B /* CAYBeanValidationFailure.m */ = 
{isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = 
sourcecode.c.objc; path = CAYBeanValidationFailure.m; sourceTree = "<group>"; };
+               444F263D0AC975E50097052B /* CAYValidationResult.h */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = 
CAYValidationResult.h; sourceTree = "<group>"; };
+               444F263E0AC975E50097052B /* CAYValidationResult.m */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path 
= CAYValidationResult.m; sourceTree = "<group>"; };
+               444F27A60AC9EDFF0097052B /* CAYCayenneRuntimeException.h */ = 
{isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; 
path = CAYCayenneRuntimeException.h; sourceTree = "<group>"; };
+               444F27A70AC9EDFF0097052B /* CAYCayenneRuntimeException.m */ = 
{isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = 
sourcecode.c.objc; path = CAYCayenneRuntimeException.m; sourceTree = "<group>"; 
};
+               444F27F30AC9F4B80097052B /* CAYMissingSessionException.h */ = 
{isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; 
path = CAYMissingSessionException.h; sourceTree = "<group>"; };
+               444F27F40AC9F4B80097052B /* CAYMissingSessionException.m */ = 
{isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = 
sourcecode.c.objc; path = CAYMissingSessionException.m; sourceTree = "<group>"; 
};
+               444F28B50ACC17B30097052B /* CAYDbEntity.h */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = 
CAYDbEntity.h; sourceTree = "<group>"; };
+               444F28B60ACC17B30097052B /* CAYDbEntity.m */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path 
= CAYDbEntity.m; sourceTree = "<group>"; };
+               444F291F0ACCF9DE0097052B /* CAYDbAttribute.h */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = 
CAYDbAttribute.h; sourceTree = "<group>"; };
+               444F29200ACCF9DE0097052B /* CAYDbAttribute.m */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path 
= CAYDbAttribute.m; sourceTree = "<group>"; };
+               444F29290ACCFBAB0097052B /* CAYEntity.h */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = 
CAYEntity.h; sourceTree = "<group>"; };
+               444F292A0ACCFBAB0097052B /* CAYEntity.m */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path 
= CAYEntity.m; sourceTree = "<group>"; };
                448E1BA70AC0882F00D137DF /* CAYArrayController.h */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = 
CAYArrayController.h; sourceTree = "<group>"; };
                448E1BA80AC0882F00D137DF /* CAYArrayController.m */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path 
= CAYArrayController.m; sourceTree = "<group>"; };
                44BD0F9B0ABF08320005EE1E /* CAYDataMapIO.h */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = 
CAYDataMapIO.h; sourceTree = "<group>"; };
@@ -217,6 +249,7 @@
                                44463DCD0AA37590006BAA58 /* graph */,
                                44463DCE0AA375F8006BAA58 /* query */,
                                4407C06F0ABACE700065409F /* model */,
+                               444F26300AC974360097052B /* validation */,
                                44463D7B0AA37577006BAA58 /* 
CAYGenericResponse.h */,
                                44463D7C0AA37577006BAA58 /* 
CAYGenericResponse.m */,
                                44463D850AA37577006BAA58 /* CAYObjectContext.h 
*/,
@@ -231,6 +264,8 @@
                                444DA8040AA61E54006E1768 /* CAYCocoaCayenne.m 
*/,
                                448E1BA70AC0882F00D137DF /* 
CAYArrayController.h */,
                                448E1BA80AC0882F00D137DF /* 
CAYArrayController.m */,
+                               444F27A60AC9EDFF0097052B /* 
CAYCayenneRuntimeException.h */,
+                               444F27A70AC9EDFF0097052B /* 
CAYCayenneRuntimeException.m */,
                        );
                        name = Classes;
                        sourceTree = "<group>";
@@ -268,6 +303,8 @@
                                44463D780AA37577006BAA58 /* CAYEntityResolver.m 
*/,
                                44463D750AA37577006BAA58 /* CAYDataMap.h */,
                                44463D760AA37577006BAA58 /* CAYDataMap.m */,
+                               444F29290ACCFBAB0097052B /* CAYEntity.h */,
+                               444F292A0ACCFBAB0097052B /* CAYEntity.m */,
                                44463D890AA37577006BAA58 /* CAYObjEntity.h */,
                                44463D8A0AA37577006BAA58 /* CAYObjEntity.m */,
                                44463D710AA37577006BAA58 /* 
CAYClientObjRelationship.h */,
@@ -276,6 +313,10 @@
                                4407C1310ABAD50D0065409F /* CAYObjAttribute.m 
*/,
                                44BD0F9B0ABF08320005EE1E /* CAYDataMapIO.h */,
                                44BD0F9C0ABF08320005EE1E /* CAYDataMapIO.m */,
+                               444F28B50ACC17B30097052B /* CAYDbEntity.h */,
+                               444F28B60ACC17B30097052B /* CAYDbEntity.m */,
+                               444F291F0ACCF9DE0097052B /* CAYDbAttribute.h */,
+                               444F29200ACCF9DE0097052B /* CAYDbAttribute.m */,
                        );
                        name = model;
                        sourceTree = "<group>";
@@ -351,10 +392,25 @@
                                44463D6E0AA37577006BAA58 /* 
CAYClientConnection.m */,
                                44463D7D0AA37577006BAA58 /* 
CAYHessianConnection.h */,
                                44463D7E0AA37577006BAA58 /* 
CAYHessianConnection.m */,
+                               444F27F30AC9F4B80097052B /* 
CAYMissingSessionException.h */,
+                               444F27F40AC9F4B80097052B /* 
CAYMissingSessionException.m */,
                        );
                        name = connection;
                        sourceTree = "<group>";
                };
+               444F26300AC974360097052B /* validation */ = {
+                       isa = PBXGroup;
+                       children = (
+                               444F26260AC973C70097052B /* 
CAYValidationException.h */,
+                               444F26270AC973C70097052B /* 
CAYValidationException.m */,
+                               444F263D0AC975E50097052B /* 
CAYValidationResult.h */,
+                               444F263E0AC975E50097052B /* 
CAYValidationResult.m */,
+                               444F262C0AC9742D0097052B /* 
CAYBeanValidationFailure.h */,
+                               444F262D0AC9742D0097052B /* 
CAYBeanValidationFailure.m */,
+                       );
+                       name = validation;
+                       sourceTree = "<group>";
+               };
 /* End PBXGroup section */
 
 /* Begin PBXHeadersBuildPhase section */
@@ -395,6 +451,14 @@
                                4407C1320ABAD50D0065409F /* CAYObjAttribute.h 
in Headers */,
                                44BD0F9D0ABF08320005EE1E /* CAYDataMapIO.h in 
Headers */,
                                448E1BA90AC0882F00D137DF /* 
CAYArrayController.h in Headers */,
+                               444F26280AC973C70097052B /* 
CAYValidationException.h in Headers */,
+                               444F262E0AC9742D0097052B /* 
CAYBeanValidationFailure.h in Headers */,
+                               444F263F0AC975E50097052B /* 
CAYValidationResult.h in Headers */,
+                               444F27A80AC9EDFF0097052B /* 
CAYCayenneRuntimeException.h in Headers */,
+                               444F27F50AC9F4B80097052B /* 
CAYMissingSessionException.h in Headers */,
+                               444F28B70ACC17B30097052B /* CAYDbEntity.h in 
Headers */,
+                               444F29210ACCF9DF0097052B /* CAYDbAttribute.h in 
Headers */,
+                               444F292B0ACCFBAB0097052B /* CAYEntity.h in 
Headers */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
@@ -485,6 +549,14 @@
                                4407C1330ABAD50D0065409F /* CAYObjAttribute.m 
in Sources */,
                                44BD0F9E0ABF08320005EE1E /* CAYDataMapIO.m in 
Sources */,
                                448E1BAA0AC0882F00D137DF /* 
CAYArrayController.m in Sources */,
+                               444F26290AC973C70097052B /* 
CAYValidationException.m in Sources */,
+                               444F262F0AC9742D0097052B /* 
CAYBeanValidationFailure.m in Sources */,
+                               444F26400AC975E50097052B /* 
CAYValidationResult.m in Sources */,
+                               444F27A90AC9EDFF0097052B /* 
CAYCayenneRuntimeException.m in Sources */,
+                               444F27F60AC9F4B80097052B /* 
CAYMissingSessionException.m in Sources */,
+                               444F28B80ACC17B30097052B /* CAYDbEntity.m in 
Sources */,
+                               444F29220ACCF9DF0097052B /* CAYDbAttribute.m in 
Sources */,
+                               444F292C0ACCFBAB0097052B /* CAYEntity.m in 
Sources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };


Reply via email to