Return-Path: Delivered-To: apmail-cayenne-commits-archive@www.apache.org Received: (qmail 82415 invoked from network); 21 Nov 2008 07:05:28 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 21 Nov 2008 07:05:28 -0000 Received: (qmail 99599 invoked by uid 500); 21 Nov 2008 07:05:37 -0000 Delivered-To: apmail-cayenne-commits-archive@cayenne.apache.org Received: (qmail 99580 invoked by uid 500); 21 Nov 2008 07:05:37 -0000 Mailing-List: contact commits-help@cayenne.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cayenne.apache.org Delivered-To: mailing list commits@cayenne.apache.org Received: (qmail 99570 invoked by uid 99); 21 Nov 2008 07:05:37 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 20 Nov 2008 23:05:37 -0800 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 21 Nov 2008 07:04:22 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 5E0AD2388879; Thu, 20 Nov 2008 23:04:37 -0800 (PST) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r719515 - in /cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src: main/java/org/apache/cayenne/access/ main/java/org/apache/cayenne/access/trans/ main/java/org/apache/cayenne/query/ main/java/org/apache/cayenne/remote/ test/java/or... Date: Fri, 21 Nov 2008 07:04:36 -0000 To: commits@cayenne.apache.org From: aadamchik@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20081121070437.5E0AD2388879@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: aadamchik Date: Thu Nov 20 23:04:35 2008 New Revision: 719515 URL: http://svn.apache.org/viewvc?rev=719515&view=rev Log: CAY-1137 Deprecate and start ignoring QueryMetadata.isResolvingInherited() removed conditional inheritance processing Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataContext.java cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomainQueryAction.java cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/IncrementalFaultList.java cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/ObjectResolver.java cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/ObjectTreeResolver.java cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/trans/SelectTranslator.java cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/BaseQueryMetadata.java cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/ProcedureQuery.java cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/QueryMetadata.java cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/QueryMetadataWrapper.java cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/SQLTemplate.java cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/SelectQuery.java cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/remote/IncrementalQuery.java cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/remote/IncrementalSelectQuery.java cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/InheritanceTest.java Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataContext.java URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataContext.java?rev=719515&r1=719514&r2=719515&view=diff ============================================================================== --- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataContext.java (original) +++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataContext.java Thu Nov 20 23:04:35 2008 @@ -80,7 +80,6 @@ * container of an object graph, in a sense that any uncommitted changes to persistent * objects that are registered with the context, are not visible to the users of other * contexts. - * */ public class DataContext extends BaseContext implements DataChannel { @@ -130,8 +129,8 @@ /** * Binds a DataContext to the current thread. DataContext can later be retrieved by - * users in the same thread by calling {@link DataContext#getThreadDataContext}. - * Using null parameter will unbind currently bound DataContext. + * users in the same thread by calling {@link DataContext#getThreadDataContext}. Using + * null parameter will unbind currently bound DataContext. * * @since 1.1 * @deprecated since 3.0, replaced by BaseContex#getThreadObjectContext(). @@ -240,8 +239,6 @@ return queryCache; } - - /** * Returns a map of user-defined properties associated with this DataContext. * @@ -597,6 +594,9 @@ * Converts a list of data rows to a list of DataObjects. * * @since 1.1 + * @deprecated since 3.0 as refreshing and resolvingInheritanceHierarchy flags are + * deprecated. Use {@link #objectsFromDataRows(ClassDescriptor, List)} + * instead. */ public List objectsFromDataRows( ObjEntity entity, @@ -604,20 +604,31 @@ boolean refresh, boolean resolveInheritanceHierarchy) { - // TODO: andrus, 10/11/2006 - instead of doing ClassDescriptor lookup, deprecate - // this method, replacing it with the one that takes CD as argument. Or get rid of - // it all together ClassDescriptor descriptor = getEntityResolver().getClassDescriptor( entity.getName()); - return new ObjectResolver(this, descriptor, refresh, resolveInheritanceHierarchy) + return objectsFromDataRows(descriptor, dataRows); + } + + /** + * Converts a list of DataRows to a List of DataObject registered with this + * DataContext. + * + * @since 3.0 + */ + public List objectsFromDataRows( + ClassDescriptor descriptor, + List dataRows) { + return new ObjectResolver(this, descriptor, true) .synchronizedObjectsFromDataRows(dataRows); } /** * Converts a list of DataRows to a List of DataObject registered with this - * DataContext. Internally calls - * {@link #objectsFromDataRows(ObjEntity,List,boolean,boolean)}. + * DataContext. * + * @deprecated since 3.0 as refresh and resolveInheritanceHierarchy flags are + * deprecated. Use {@link #objectsFromDataRows(ClassDescriptor, List)} + * instead. * @since 1.1 * @see DataRow */ @@ -632,22 +643,31 @@ throw new CayenneRuntimeException("Unmapped Java class: " + objectClass); } - return objectsFromDataRows(entity, dataRows, refresh, resolveInheritanceHierarchy); + ClassDescriptor descriptor = getEntityResolver().getClassDescriptor( + entity.getName()); + return objectsFromDataRows(descriptor, dataRows); } /** - * Creates a DataObject from DataRow. This is a convenience shortcut to - * {@link #objectsFromDataRows(Class,java.util.List,boolean,boolean)}. + * Creates a DataObject from DataRow. * * @see DataRow */ - public DataObject objectFromDataRow( - Class objectClass, + public T objectFromDataRow( + Class objectClass, DataRow dataRow, boolean refresh) { - List list = objectsFromDataRows(objectClass, Collections - .singletonList(dataRow), refresh, true); - return (DataObject) list.get(0); + + ObjEntity entity = this.getEntityResolver().lookupObjEntity(objectClass); + + if (entity == null) { + throw new CayenneRuntimeException("Unmapped Java class: " + objectClass); + } + + ClassDescriptor descriptor = getEntityResolver().getClassDescriptor( + entity.getName()); + List list = objectsFromDataRows(descriptor, Collections.singletonList(dataRow)); + return list.get(0); } /** @@ -662,13 +682,9 @@ DataRow dataRow, boolean refresh) { - ObjEntity entity = getEntityResolver().getObjEntity(entityName); + ClassDescriptor descriptor = getEntityResolver().getClassDescriptor(entityName); + List list = objectsFromDataRows(descriptor, Collections.singletonList(dataRow)); - List list = objectsFromDataRows( - entity, - Collections.singletonList(dataRow), - refresh, - true); return (DataObject) list.get(0); } @@ -702,8 +718,9 @@ /** * Instantiates a new object and registers it with this context. Object class is * determined from the mapped entity. Object class must have a default constructor. - *

Note: in most cases {@link #newObject(Class)} method should be used, - * however this method is helpful when generic persistent classes are used. + *

+ * Note: in most cases {@link #newObject(Class)} method should be used, however + * this method is helpful when generic persistent classes are used. * * @since 3.0 */ @@ -765,8 +782,9 @@ /** * Registers a transient object with the context, recursively registering all - * transient persistent objects attached to this object via relationships.

Note - * that since 3.0 this method takes Object as an argument instead of a + * transient persistent objects attached to this object via relationships. + *

+ * Note that since 3.0 this method takes Object as an argument instead of a * {@link DataObject}. * * @param object new object that needs to be made persistent. @@ -944,8 +962,8 @@ /** * Refetches object data for ObjectId. This method is used internally by Cayenne to - * resolve objects in state PersistenceState.HOLLOW. It can also be - * used to refresh certain objects. + * resolve objects in state PersistenceState.HOLLOW. It can also be used + * to refresh certain objects. * * @throws CayenneRuntimeException if object id doesn't match any records, or if there * is more than one object is fetched. @@ -1032,11 +1050,11 @@ } /** - * "Flushes" the changes to the parent {@link DataChannel}. If the parent channel is - * a DataContext, it updates its objects with this context's changes, without a - * database update. If it is a DataDomain (the most common case), the changes are - * written to the database. To cause cascading commit all the way to the database, one - * must use {@link #commitChanges()}. + * "Flushes" the changes to the parent {@link DataChannel}. If the parent channel is a + * DataContext, it updates its objects with this context's changes, without a database + * update. If it is a DataDomain (the most common case), the changes are written to + * the database. To cause cascading commit all the way to the database, one must use + * {@link #commitChanges()}. * * @since 1.2 * @see #commitChanges() @@ -1364,8 +1382,8 @@ * @param queryName a name of a GenericSelectQuery defined in one of the DataMaps. If * no such query is defined, this method will throw a * CayenneRuntimeException. - * @param expireCachedLists A flag that determines whether refresh of cached lists - * is required in case a query uses caching. + * @param expireCachedLists A flag that determines whether refresh of cached + * lists is required in case a query uses caching. * @since 1.1 */ public List performQuery(String queryName, boolean expireCachedLists) { @@ -1381,8 +1399,8 @@ * no such query is defined, this method will throw a * CayenneRuntimeException. * @param parameters A map of parameters to use with stored query. - * @param expireCachedLists A flag that determines whether refresh of cached lists - * is required in case a query uses caching. + * @param expireCachedLists A flag that determines whether refresh of cached + * lists is required in case a query uses caching. * @since 1.1 */ public List performQuery( Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomainQueryAction.java URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomainQueryAction.java?rev=719515&r1=719514&r2=719515&view=diff ============================================================================== --- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomainQueryAction.java (original) +++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomainQueryAction.java Thu Nov 20 23:04:35 2008 @@ -588,7 +588,7 @@ // take a shortcut when no prefetches exist... if (prefetchTree == null) { objects = new ObjectResolver(context, descriptor, metadata - .isRefreshingObjects(), metadata.isResolvingInherited()) + .isRefreshingObjects()) .synchronizedObjectsFromDataRows(normalizedRows); } else { Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/IncrementalFaultList.java URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/IncrementalFaultList.java?rev=719515&r1=719514&r2=719515&view=diff ============================================================================== --- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/IncrementalFaultList.java (original) +++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/IncrementalFaultList.java Thu Nov 20 23:04:35 2008 @@ -53,10 +53,9 @@ * result in an exception. *

*

- * Performance note: certain operations like toArray would trigger full - * list fetch. + * Performance note: certain operations like toArray would trigger full list + * fetch. *

- * */ public class IncrementalFaultList implements List { @@ -133,7 +132,6 @@ // various parameters this.internalQuery = new SelectQuery(rootEntity); this.internalQuery.setFetchingDataRows(metadata.isFetchingDataRows()); - this.internalQuery.setResolvingInherited(metadata.isResolvingInherited()); this.internalQuery.setPrefetchTree(metadata.getPrefetchTree()); this.helper = createHelper(metadata); @@ -251,9 +249,9 @@ // fill in the first page AFTER the iterator was closed, otherwise we may // cause an (unobvious) deadlock due to connection pool exhaustion if (!fetchesDataRows && lastResolved > 0) { - List objects = dataContext.objectsFromDataRows(rootEntity, elementsList - .subList(0, lastResolved), info.isRefreshingObjects(), info - .isResolvingInherited()); + List objects = dataContext.objectsFromDataRows( + info.getClassDescriptor(), + elementsList.subList(0, lastResolved)); for (int i = 0; i < lastResolved; i++) { elementsList.set(i, objects.get(i)); Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/ObjectResolver.java URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/ObjectResolver.java?rev=719515&r1=719514&r2=719515&view=diff ============================================================================== --- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/ObjectResolver.java (original) +++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/ObjectResolver.java Thu Nov 20 23:04:35 2008 @@ -51,19 +51,13 @@ EntityInheritanceTree inheritanceTree; boolean refreshObjects; - boolean resolveInheritance; DataRowStore cache; - ObjectResolver(DataContext context, ClassDescriptor descriptor, boolean refresh, - boolean resolveInheritanceHierarchy) { - init(context, descriptor, refresh, resolveInheritanceHierarchy); + ObjectResolver(DataContext context, ClassDescriptor descriptor, boolean refresh) { + init(context, descriptor, refresh); } - void init( - DataContext context, - ClassDescriptor descriptor, - boolean refresh, - boolean resolveInheritanceHierarchy) { + void init(DataContext context, ClassDescriptor descriptor, boolean refresh) { // sanity check DbEntity dbEntity = descriptor.getEntity().getDbEntity(); if (dbEntity == null) { @@ -87,9 +81,6 @@ this.descriptor = descriptor; this.inheritanceTree = context.getEntityResolver().lookupInheritanceTree( descriptor.getEntity()); - this.resolveInheritance = (inheritanceTree != null) - ? resolveInheritanceHierarchy - : false; } /** @@ -119,11 +110,11 @@ while (it.hasNext()) { DataRow row = (DataRow) it.next(); Persistent object = objectFromDataRow(row); - + if (object == null) { throw new CayenneRuntimeException("Can't build Object from row: " + row); } - + results.add(object); } @@ -207,7 +198,7 @@ // determine entity to use ClassDescriptor classDescriptor; - if (resolveInheritance) { + if (inheritanceTree != null) { ObjEntity objectEntity = inheritanceTree.entityMatchingRow(row); // null probably means that inheritance qualifiers are messed up @@ -318,7 +309,7 @@ .getName(); Object val = dataRow.get(key); - + // this is possible when processing left outer joint prefetches if (val == null) { return null; Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/ObjectTreeResolver.java URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/ObjectTreeResolver.java?rev=719515&r1=719514&r2=719515&view=diff ============================================================================== --- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/ObjectTreeResolver.java (original) +++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/ObjectTreeResolver.java Thu Nov 20 23:04:35 2008 @@ -218,7 +218,7 @@ node.setDataRows(rows); node.setResolver(new ObjectResolver(context, descriptor, queryMetadata - .isRefreshingObjects(), queryMetadata.isResolvingInherited())); + .isRefreshingObjects())); node.setIncoming(arc); if (currentNode != null) { Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/trans/SelectTranslator.java URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/trans/SelectTranslator.java?rev=719515&r1=719514&r2=719515&view=diff ============================================================================== --- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/trans/SelectTranslator.java (original) +++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/trans/SelectTranslator.java Thu Nov 20 23:04:35 2008 @@ -347,12 +347,7 @@ } }; - if (query.isResolvingInherited()) { - descriptor.visitAllProperties(visitor); - } - else { - descriptor.visitProperties(visitor); - } + descriptor.visitAllProperties(visitor); // add remaining needed attrs from DbEntity DbEntity table = getRootDbEntity(); Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/BaseQueryMetadata.java URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/BaseQueryMetadata.java?rev=719515&r1=719514&r2=719515&view=diff ============================================================================== --- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/BaseQueryMetadata.java (original) +++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/BaseQueryMetadata.java Thu Nov 20 23:04:35 2008 @@ -50,7 +50,6 @@ int pageSize = QueryMetadata.PAGE_SIZE_DEFAULT; boolean fetchingDataRows = QueryMetadata.FETCHING_DATA_ROWS_DEFAULT; boolean refreshingObjects = QueryMetadata.REFRESHING_OBJECTS_DEFAULT; - boolean resolvingInherited = QueryMetadata.RESOLVING_INHERITED_DEFAULT; QueryCacheStrategy cacheStrategy = QueryCacheStrategy.getDefaultStrategy(); PrefetchTreeNode prefetchTree; @@ -77,7 +76,6 @@ this.fetchLimit = info.getFetchLimit(); this.pageSize = info.getPageSize(); this.refreshingObjects = info.isRefreshingObjects(); - this.resolvingInherited = info.isResolvingInherited(); this.cacheStrategy = info.getCacheStrategy(); this.cacheKey = info.getCacheKey(); @@ -159,9 +157,6 @@ Object fetchingDataRows = properties .get(QueryMetadata.FETCHING_DATA_ROWS_PROPERTY); - Object resolvingInherited = properties - .get(QueryMetadata.RESOLVING_INHERITED_PROPERTY); - // deprecated cache policy... handle it for backwards compatibility. Object cachePolicy = properties.get(QueryMetadata.CACHE_POLICY_PROPERTY); Object cacheStrategy = properties.get(QueryMetadata.CACHE_STRATEGY_PROPERTY); @@ -189,10 +184,6 @@ ? "true".equalsIgnoreCase(fetchingDataRows.toString()) : QueryMetadata.FETCHING_DATA_ROWS_DEFAULT; - this.resolvingInherited = (resolvingInherited != null) - ? "true".equalsIgnoreCase(resolvingInherited.toString()) - : QueryMetadata.RESOLVING_INHERITED_DEFAULT; - this.cacheStrategy = (cacheStrategy != null) ? QueryCacheStrategy .safeValueOf(cacheStrategy.toString()) : QueryCacheStrategy .getDefaultStrategy(); @@ -228,12 +219,6 @@ fetchingDataRows); } - if (resolvingInherited != QueryMetadata.RESOLVING_INHERITED_DEFAULT) { - encoder.printProperty( - QueryMetadata.RESOLVING_INHERITED_PROPERTY, - resolvingInherited); - } - if (fetchOffset != QueryMetadata.FETCH_OFFSET_DEFAULT) { encoder.printProperty(QueryMetadata.FETCH_OFFSET_PROPERTY, fetchOffset); } @@ -464,8 +449,11 @@ return refreshingObjects; } + /** + * @deprecated since 3.0. Inheritance resolving is not optional anymore. + */ public boolean isResolvingInherited() { - return resolvingInherited; + return true; } void setFetchingDataRows(boolean b) { @@ -488,10 +476,6 @@ refreshingObjects = b; } - void setResolvingInherited(boolean b) { - resolvingInherited = b; - } - /** * Adds a joint prefetch. * Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/ProcedureQuery.java URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/ProcedureQuery.java?rev=719515&r1=719514&r2=719515&view=diff ============================================================================== --- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/ProcedureQuery.java (original) +++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/ProcedureQuery.java Thu Nov 20 23:04:35 2008 @@ -367,7 +367,7 @@ } /** - * @deprecate since 3.0. With introduction of the cache strategies this setting is + * @deprecated since 3.0. With introduction of the cache strategies this setting is * redundant, although it is still being taken into account. It will be * removed in the later versions of Cayenne. */ @@ -376,7 +376,7 @@ } /** - * @deprecate since 3.0. With introduction of the cache strategies this setting is + * @deprecated since 3.0. With introduction of the cache strategies this setting is * redundant, although it is still being taken into account. It will be * removed in the later versions of Cayenne. */ @@ -384,12 +384,18 @@ metaData.setRefreshingObjects(flag); } + /** + * @deprecated since 3.0. Inheritance resolving is not optional anymore. + */ public boolean isResolvingInherited() { - return metaData.isResolvingInherited(); + return true; } + /** + * @deprecated since 3.0. Inheritance resolving is not optional anymore. + */ public void setResolvingInherited(boolean b) { - metaData.setResolvingInherited(b); + // noop } /** Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/QueryMetadata.java URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/QueryMetadata.java?rev=719515&r1=719514&r2=719515&view=diff ============================================================================== --- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/QueryMetadata.java (original) +++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/QueryMetadata.java Thu Nov 20 23:04:35 2008 @@ -72,7 +72,8 @@ public static final String SHARED_CACHE_REFRESH = "sharedcache_refresh"; /** - * Defines the name of the property for the query {@link #getFetchLimit() fetch limit}. + * Defines the name of the property for the query {@link #getFetchLimit() fetch limit} + * . */ public static final String FETCH_LIMIT_PROPERTY = "cayenne.GenericSelectQuery.fetchLimit"; @@ -81,14 +82,15 @@ * should be fetched. */ public static final int FETCH_LIMIT_DEFAULT = 0; - + /** - * Defines the name of the property for the query {@link #getFetchOffset() fetch offset}. + * Defines the name of the property for the query {@link #getFetchOffset() fetch + * offset}. * * @since 3.0 */ public static final String FETCH_OFFSET_PROPERTY = "cayenne.GenericSelectQuery.fetchOffset"; - + /** * Defines default query fetch start index, which is 0, meaning that matching rows * selected starting from the first. @@ -115,8 +117,14 @@ public static final boolean REFRESHING_OBJECTS_DEFAULT = true; + /** + * @deprecated since 3.0. Inheritance resolving is not optional anymore. + */ public static final String RESOLVING_INHERITED_PROPERTY = "cayenne.GenericSelectQuery.resolvingInherited"; + /** + * @deprecated since 3.0. Inheritance resolving is not optional anymore. + */ public static final boolean RESOLVING_INHERITED_DEFAULT = true; /** @@ -204,10 +212,9 @@ boolean isFetchingDataRows(); /** - * Returns true if the query results should replace any currently - * cached values, returns false otherwise. If - * {@link #isFetchingDataRows()}returns true, this setting is not - * applicable and has no effect. + * Returns true if the query results should replace any currently cached + * values, returns false otherwise. If {@link #isFetchingDataRows()} + * returns true, this setting is not applicable and has no effect. * * @deprecated since 3.0. With introduction of the cache strategies this setting is * redundant, although it is still being taken into account. It will be @@ -218,6 +225,8 @@ /** * Returns true if objects fetched via this query should be fully resolved according * to the inheritance hierarchy. + * + * @deprecated since 3.0. Inheritance resolving is not optional anymore. */ boolean isResolvingInherited(); @@ -234,7 +243,7 @@ * @since 3.0 */ int getFetchOffset(); - + /** * @deprecated since 3.0, renamed to {@link #getFetchOffset()}. */ Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/QueryMetadataWrapper.java URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/QueryMetadataWrapper.java?rev=719515&r1=719514&r2=719515&view=diff ============================================================================== --- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/QueryMetadataWrapper.java (original) +++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/QueryMetadataWrapper.java Thu Nov 20 23:04:35 2008 @@ -140,6 +140,9 @@ return b != null && b.booleanValue(); } + /** + * @deprecated since 3.0 as super is deprecated. + */ public boolean isRefreshingObjects() { if (!overrideExists(QueryMetadata.REFRESHING_OBJECTS_PROPERTY)) { return info.isRefreshingObjects(); @@ -149,13 +152,11 @@ return b != null && b.booleanValue(); } + /** + * @deprecated since 3.0 inheritance resolving is not optional. + */ public boolean isResolvingInherited() { - if (!overrideExists(QueryMetadata.RESOLVING_INHERITED_PROPERTY)) { - return info.isResolvingInherited(); - } - - Boolean b = (Boolean) overrides.get(QueryMetadata.RESOLVING_INHERITED_PROPERTY); - return b != null && b.booleanValue(); + return true; } public int getPageSize() { Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/SQLTemplate.java URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/SQLTemplate.java?rev=719515&r1=719514&r2=719515&view=diff ============================================================================== --- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/SQLTemplate.java (original) +++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/SQLTemplate.java Thu Nov 20 23:04:35 2008 @@ -31,7 +31,6 @@ import org.apache.cayenne.map.MapLoader; import org.apache.cayenne.map.ObjEntity; import org.apache.cayenne.map.Procedure; -import org.apache.cayenne.util.Util; import org.apache.cayenne.util.XMLEncoder; import org.apache.cayenne.util.XMLSerializable; import org.apache.commons.collections.IteratorUtils; @@ -410,7 +409,7 @@ } /** - * @deprecate since 3.0. With introduction of the cache strategies this setting is + * @deprecated since 3.0. With introduction of the cache strategies this setting is * redundant, although it is still being taken into account. It will be * removed in the later versions of Cayenne. */ @@ -419,7 +418,7 @@ } /** - * @deprecate since 3.0. With introduction of the cache strategies this setting is + * @deprecated since 3.0. With introduction of the cache strategies this setting is * redundant, although it is still being taken into account. It will be * removed in the later versions of Cayenne. */ @@ -427,12 +426,18 @@ metaData.setRefreshingObjects(flag); } + /** + * @deprecated since 3.0. Inheritance resolving is not optional anymore. + */ public boolean isResolvingInherited() { - return metaData.isResolvingInherited(); + return true; } + /** + * @deprecated since 3.0. Inheritance resolving is not optional anymore. + */ public void setResolvingInherited(boolean b) { - metaData.setResolvingInherited(b); + // noop } /** Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/SelectQuery.java URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/SelectQuery.java?rev=719515&r1=719514&r2=719515&view=diff ============================================================================== --- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/SelectQuery.java (original) +++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/SelectQuery.java Thu Nov 20 23:04:35 2008 @@ -32,7 +32,6 @@ import org.apache.cayenne.map.MapLoader; import org.apache.cayenne.map.ObjEntity; import org.apache.cayenne.map.Procedure; -import org.apache.cayenne.util.Util; import org.apache.cayenne.util.XMLEncoder; import org.apache.cayenne.util.XMLSerializable; @@ -515,7 +514,7 @@ * Returns refresh policy of this query. Default is true. * * @since 1.1 - * @deprecate since 3.0. With introduction of the cache strategies this setting is + * @deprecated since 3.0. With introduction of the cache strategies this setting is * redundant, although it is still being taken into account. It will be * removed in the later versions of Cayenne. */ @@ -525,7 +524,7 @@ /** * @since 1.1 - * @deprecate since 3.0. With introduction of the cache strategies this setting is + * @deprecated since 3.0. With introduction of the cache strategies this setting is * redundant, although it is still being taken into account. It will be * removed in the later versions of Cayenne. */ @@ -631,9 +630,10 @@ * to the inheritance hierarchy. * * @since 1.1 + * @deprecated since 3.0. Inheritance resolving is not optional anymore. */ public boolean isResolvingInherited() { - return metaData.isResolvingInherited(); + return true; } /** @@ -641,9 +641,10 @@ * to the inheritance hierarchy. * * @since 1.1 + * @deprecated since 3.0. Inheritance resolving is not optional anymore. */ public void setResolvingInherited(boolean b) { - metaData.setResolvingInherited(b); + // noop } /** Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/remote/IncrementalQuery.java URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/remote/IncrementalQuery.java?rev=719515&r1=719514&r2=719515&view=diff ============================================================================== --- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/remote/IncrementalQuery.java (original) +++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/remote/IncrementalQuery.java Thu Nov 20 23:04:35 2008 @@ -144,10 +144,16 @@ return metadata.isFetchingDataRows(); } + /** + * @deprecated since 3.0 + */ public boolean isRefreshingObjects() { return metadata.isRefreshingObjects(); } + /** + * @deprecated since 3.0. Inheritance resolving is not optional anymore. + */ public boolean isResolvingInherited() { return metadata.isResolvingInherited(); } Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/remote/IncrementalSelectQuery.java URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/remote/IncrementalSelectQuery.java?rev=719515&r1=719514&r2=719515&view=diff ============================================================================== --- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/remote/IncrementalSelectQuery.java (original) +++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/remote/IncrementalSelectQuery.java Thu Nov 20 23:04:35 2008 @@ -304,11 +304,17 @@ return query.isFetchingDataRows(); } + /** + * @deprecated since 3.0 + */ @Override public boolean isRefreshingObjects() { return query.isRefreshingObjects(); } + /** + * @deprecated since 3.0. Inheritance resolving is not optional anymore. + */ @Override public boolean isResolvingInherited() { return query.isResolvingInherited(); Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/InheritanceTest.java URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/InheritanceTest.java?rev=719515&r1=719514&r2=719515&view=diff ============================================================================== --- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/InheritanceTest.java (original) +++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/InheritanceTest.java Thu Nov 20 23:04:35 2008 @@ -148,27 +148,11 @@ assertEquals(1, countObjectOfClass(employees, Manager.class)); } - public void testSelectNoInheritanceResolving() throws Exception { - createTestData("testSelect"); - - // select Abstract Ppl - SelectQuery query = new SelectQuery(AbstractPerson.class); - query.setResolvingInherited(false); - assertFalse(query.isResolvingInherited()); - List abstractPpl = context.performQuery(query); - assertEquals(6, abstractPpl.size()); - assertEquals(0, countObjectOfClass(abstractPpl, CustomerRepresentative.class)); - assertEquals(0, countObjectOfClass(abstractPpl, Employee.class)); - assertEquals(0, countObjectOfClass(abstractPpl, Manager.class)); - } - public void testSelectInheritanceResolving() throws Exception { createTestData("testSelect"); // select Abstract Ppl SelectQuery query = new SelectQuery(AbstractPerson.class); - query.setResolvingInherited(true); - assertTrue(query.isResolvingInherited()); List abstractPpl = context.performQuery(query); assertEquals(6, abstractPpl.size());