cayenne-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From torehal...@apache.org
Subject svn commit: r451146 - in /incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne: ./ CocoaCayenne.xcodeproj/
Date Fri, 29 Sep 2006 07:38:20 GMT
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>
+
+
+@interface 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;
+
+@end

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"
+
+
+@implementation 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 = %@}", [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];
+}
+
+@end

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>
+
+@interface 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;
+
+@end

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"
+
+
+@implementation 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];
+}
+
+@end

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"
+
+@interface 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;
+
+@end

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"
+
+
+@implementation 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];
+}
+
+@end

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>
+
+
+@interface 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;
+
+@end

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"
+
+
+@implementation 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];
+}
+
+@end

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"
 
-@interface CAYObjEntity : NSObject <NSCoding> {
+@interface 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"
+
+@interface CAYValidationException : CAYCayenneRuntimeException <NSCoding> {
+
+    CAYValidationResult *result;
+    
+}
+
+-(void)setResult:(CAYValidationResult *)res;
+-(CAYValidationResult *)result;
+
+@end

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"
+
+
+@implementation 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 = %@}", [self class], [self detailMessage], [self result]];
+    [description autorelease];
+    return description;
+}
+
+-(void)dealloc
+{
+    [self setResult:nil];
+	[super dealloc];
+}
+
+@end

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>
+
+
+@interface CAYValidationResult : NSObject <NSCoding> {
+    NSMutableArray *failures;
+}
+
+-(void)setFailures:(NSMutableArray *)fails;
+-(NSMutableArray *)failures;
+
+@end

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"
+
+@implementation 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 = %@}", [self class], [self failures]];
+    [description autorelease];
+    return description;
+}
+
+-(void)dealloc
+{
+    [self setFailures:nil];
+	[super dealloc];
+}
+
+@end

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



Mime
View raw message