Author: aadamchik Date: Fri Oct 13 12:08:11 2006 New Revision: 463781 URL: http://svn.apache.org/viewvc?view=rev&rev=463781 Log: CAY-690 Exception in the Modeler when changing schema on derived entities - 1.2 branch
Added: incubator/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-other/release-notes/RELEASE-NOTES-1.2.3.txt (with props) incubator/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-other/release-notes/UPGRADE-1.2.3.txt (with props) Modified: incubator/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/modeler/java/org/objectstyle/cayenne/modeler/dialog/datamap/SchemaUpdateController.java Modified: incubator/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/modeler/java/org/objectstyle/cayenne/modeler/dialog/datamap/SchemaUpdateController.java URL: http://svn.apache.org/viewvc/incubator/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/modeler/java/org/objectstyle/cayenne/modeler/dialog/datamap/SchemaUpdateController.java?view=diff&rev=463781&r1=463780&r2=463781 ============================================================================== --- incubator/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/modeler/java/org/objectstyle/cayenne/modeler/dialog/datamap/SchemaUpdateController.java (original) +++ incubator/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/modeler/java/org/objectstyle/cayenne/modeler/dialog/datamap/SchemaUpdateController.java Fri Oct 13 12:08:11 2006 @@ -59,6 +59,7 @@ import org.objectstyle.cayenne.map.DataMap; import org.objectstyle.cayenne.map.DbEntity; +import org.objectstyle.cayenne.map.DerivedDbEntity; import org.objectstyle.cayenne.map.Procedure; import org.objectstyle.cayenne.map.event.EntityEvent; import org.objectstyle.cayenne.map.event.ProcedureEvent; @@ -109,6 +110,10 @@ Iterator dbEntities = dataMap.getDbEntities().iterator(); while (dbEntities.hasNext()) { DbEntity entity = (DbEntity) dbEntities.next(); + if(entity instanceof DerivedDbEntity) { + continue; + } + if (doAll || Util.isEmptyString(entity.getSchema())) { if (!Util.nullSafeEquals(defaultSchema, entity.getSchema())) { entity.setSchema(defaultSchema); @@ -136,4 +141,4 @@ } shutdown(); } -} \ No newline at end of file +} Added: incubator/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-other/release-notes/RELEASE-NOTES-1.2.3.txt URL: http://svn.apache.org/viewvc/incubator/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-other/release-notes/RELEASE-NOTES-1.2.3.txt?view=auto&rev=463781 ============================================================================== --- incubator/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-other/release-notes/RELEASE-NOTES-1.2.3.txt (added) +++ incubator/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-other/release-notes/RELEASE-NOTES-1.2.3.txt Fri Oct 13 12:08:11 2006 @@ -0,0 +1,16 @@ +Cayenne Release Notes 1.2.2 +Date: +============================================ + +For the latest information visit project web site: +http://objectstyle.org/cayenne/ + +To browse individual bug reports check out project issue tracker: +http://issues.apache.org/cayenne/ + +Bug Fixes: + +CAY-565 LRUMap NPE +CAY-652 Exception with Tomcat's session restore capability +CAY-653 overriding setPersistentState() in unreliable in three tier environment with CayenneContext +CAY-690 Exception in the Modeler when changing schema on derived entities Propchange: incubator/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-other/release-notes/RELEASE-NOTES-1.2.3.txt ------------------------------------------------------------------------------ svn:eol-style = native Added: incubator/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-other/release-notes/UPGRADE-1.2.3.txt URL: http://svn.apache.org/viewvc/incubator/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-other/release-notes/UPGRADE-1.2.3.txt?view=auto&rev=463781 ============================================================================== --- incubator/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-other/release-notes/UPGRADE-1.2.3.txt (added) +++ incubator/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-other/release-notes/UPGRADE-1.2.3.txt Fri Oct 13 12:08:11 2006 @@ -0,0 +1,94 @@ +Cayenne Upgrade Information 1.2.2 +Date: +============================================ + + +GENERAL UPGRADE NOTES: + +* WARNING: API deprecated in 1.1 is removed from 1.2. + +* For the complete list of new features since the last stable release see User Guide page at + "[cayenne_install_dir]/doc/Documentation/User Guide/Introduction/Guide to 1.2 Features/index.html". + +* Upgrading Cayenne projects. Expect CayenneModeler to be backwards compatible and be able to read + older project files. However once you save old projects with new Modeler, + the latest format will be used, possibly making saved project incompatible + with older versions of the Modeler and runtime. + +* Clean Recompile: Cayenne 1.2 introduces a few API changes. Most of them are done + to the backend and should not affect the applications written with the earlier versions. + However it is a good idea to perform a clean compilation of all Java code that relies on + Cayenne. Updating calls to deprecated methods is also a very good idea. + +* (Optional) Delete CayenneModeler preferences. This is not strictly required, but recommended + (especially if you used intermediate 1.2 milestones and Betas). To do that delete + "$HOME/.cayenne/modeler.preferences" file and "$HOME/.cayenne/prefs" directory. + $HOME is a user home directory which is OS and machine specific. + +* Pay attention to CayenneModeler validation warnings. + + +UPGRADE FROM 1.1: + +* Cayenne tools and runtime now REQUIRE at least JDK 1.4 (or higher). They won't work on JDK 1.3. + If you are still on 1.3, upgrade your JDK if you can. If you can not, consider staying on + Cayenne 1.1. + +* 1.2 no longer needs Jakarta BeanUtils. + +* 1.2 no longer relies on ClassLoader provided by Configuration (this API is deprecated as + a matter of fact). Current code uses Thread.currentThread().getContextClassLoader(). + +* In 1.2 PostgreSQLAdapter uses DB sequences for primary key generation instead of + AUTO_PK_TABLE. To port an existing application, you will need to create those + sequences (e.g. using the Modeler) and assign correct current values to them + (e.g. taken from the old AUTO_PK_TABLE). After that AUTO_PK_TABLE can be dropped. + +* In 1.2 PostgreSQLAdapter's default "BLOB" mapping is changed from "bytea" to "oid". It + is still possible to use bytea, but watch for the Modeler-generated schema scripts - + they will contain "oid". The easiest way to migrate your mapping (if you don't want to + change the DB) is to remap all bytea columns as LONGVARBINARY DbAttributes instead of BLOB. + +* For extra portability encoding of entity type in the ObjectId is now based on ObjEntity name, + not Java class as before. If you had ObjEntities with matching names but different class names + in different DataMaps, you will need to ensure entity name uniqueness. See CAY-521 for details. + +* ObjectId methods "getObjClass" and "getObjectClass" are removed (it wasn't possible to deprecate + them and still preserve meaningful functionality). Constructors that take Class as the first argument + are deprecated and will only work if entity naming follows CayenneModeler default conventions of + using unqualified class name as the entity name. + +* TempObjectId is deprecated and is no longer used by Cayenne internally. If you were + referencing TempObjectId explicitly in your code (e.g. if(id instanceof TempObjectId) ... ), + you will need to modify the code and use "isTemporary()" superclass method. + +* The meaning of SnapshotEvent "source" and "postedBy" attributes is reversed per CAY-395 for + better efficiency. If you implemented custom listeners of SnapshotEvents, you may need to + doublecheck their logic. From now on events use DataRowStore as source, and EventBridge or + ObjectStore as postedBy, depending on whether this was a local or a remote event. I.e. the + new structure is the opposite to what we used in 1.1. + +* Cayenne stack events are no longer sent via a shared "default" EventManager. + If you were using EventManager.getDefaultManager() to communicate or receive Cayenne stack + events, you'll have to switch to Configuration.getEventManager(). Otherwise default manager + can be accessed as before. + +* Query.setLoggingLevel/getLoggingLevel methods are removed from the interface and AbstractQuery + implementor. As multi-tier Cayenne doesn't use Log4J, it was no longer possible to keep these methods + deprecated. + +* Thread-bound Transactions: + QueryEngine.performQueries(Collection,OperationObserver resultConsumer,Transaction) is deprecated and + no longer used internally to further decouple layers in the access stack. This DOES NOT AFFECT most + users. Only if you (a) implemented custom transactions and (b) manually manage their commit/rollback, + you will also have to bind and unbind such Transactions to the current thread manually, for Cayenne stack + classes to pick them up. + +* To force refresh of cached query results, one of the two new cache policies should be used + instead of "setRefreshingObjects(..)" ("setRefreshingObjects" should only be used for its + original purpose - refreshing individual objects, not list contents). + + http://objectstyle.org/confluence/display/CAYDOC/Caching+Query+Results + +* ObjectStore no longer stores database snapshots of object. As a result a method "retainSnapshot(DataObject object)" + is removed, as its meaningful deprecation is not possible. Propchange: incubator/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-other/release-notes/UPGRADE-1.2.3.txt ------------------------------------------------------------------------------ svn:eol-style = native