From: Anjo K. <an...@us...> - 2006-09-11 05:09:48
|
Update of /cvsroot/wonder/Wonder/Common/Frameworks/ERExtensions/Sources/er/extensions In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv6009/Sources/er/extensions Modified Files: EOEnterpriseObjectClazz.java Log Message: added constructor that takes an entity name Index: EOEnterpriseObjectClazz.java =================================================================== RCS file: /cvsroot/wonder/Wonder/Common/Frameworks/ERExtensions/Sources/er/extensions/EOEnterpriseObjectClazz.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** EOEnterpriseObjectClazz.java 7 Jul 2006 18:57:07 -0000 1.6 --- EOEnterpriseObjectClazz.java 11 Sep 2006 05:09:37 -0000 1.7 *************** *** 84,93 **** /** ! * Default public constructor */ public EOEnterpriseObjectClazz() { } /** * Resets the clazz cache. */ --- 84,125 ---- /** ! * Default public constructor. */ public EOEnterpriseObjectClazz() { + /* + // AK: If your class is enclosed by a EO subclass the constructor + // will auto-discover the corresponding entity name. Not sure we need this, though. + String className = getClass().getName(); + int index = className.indexOf('$'); + if(index > 0) { + className = className.substring(0, index); + Class c = ERXPatcher.classForName(className); + if(c != null) { + // we should use the class description, but it's too early for that when we + // do this as a result of a static variable init. + NSArray entities = (NSArray) EOModelGroup.defaultGroup().models().valueForKeyPath("entities.@flatten"); + EOQualifier q = new EOKeyValueQualifier("className", EOQualifier.QualifierOperatorEqual, className); + NSArray candidates = EOQualifier.filteredArrayWithQualifier(entities, q); + if(candidates.count() > 1) { + log.warn("More than one entity found: " + candidates); + } + EOEntity entity = (EOEntity) candidates.lastObject(); + if(entity != null) { + setEntityName(entity.name()); + } + } + }*/ } /** + * Constructor that also supplies an entity name. + * @param entityName + */ + public EOEnterpriseObjectClazz(String entityName) { + setEntityName(entityName); + allClazzes.setObjectForKey(this, entityName); + } + + /** * Resets the clazz cache. */ |