Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormtaal2006-10-15 08:39:13 +0000
committermtaal2006-10-15 08:39:13 +0000
commit3f6495a4d4a5fcf5ac096e47972846b384b93ba7 (patch)
tree1fe5aad75ae471b1b9c20c1f45b832ed9fa54d3c
parent382a5adbc27584a8932537ae99f8af919b73f1de (diff)
downloadorg.eclipse.emf.teneo-3f6495a4d4a5fcf5ac096e47972846b384b93ba7.tar.gz
org.eclipse.emf.teneo-3f6495a4d4a5fcf5ac096e47972846b384b93ba7.tar.xz
org.eclipse.emf.teneo-3f6495a4d4a5fcf5ac096e47972846b384b93ba7.zip
Moved xml content to other plugin, this plugin now only contains the generated html files.
-rw-r--r--doc/org.eclipse.emf.teneo.doc/build.properties34
-rwxr-xr-xdoc/org.eclipse.emf.teneo.doc/build.xml2
-rwxr-xr-xdoc/org.eclipse.emf.teneo.doc/copysite1
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/contributors.xml44
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/download/elver-code-profile.xml249
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/elver.xml56
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/examples/Catalog.xsd48
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/examples/ExtendedPO2.ecore75
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/examples/PrimerPO.xsd54
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/examples/ecore.pty300
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/examples/forum.xsd47
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/examples/library.xsd38
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/examples/license.xml37
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/examples/play.xml3862
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/examples/play.xsd99
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/examples/schema_list.xml49
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/examples/sun_books.xsd74
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/goal.xml69
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/changelog.xml305
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/dynamic.xml207
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/ejb3_examples.xml181
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/ejb3_features.xml172
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/ejb3_format.xml119
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/emfhibsupport.xml45
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/featuremap.xml245
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/features.xml90
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/features_details.xml116
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/hbdatastore.xml74
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/hibernate_details.xml150
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/hibernate_helper.xml50
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/hibernate_relations.xml145
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/hibernateresources.xml155
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/Process.jpgbin76354 -> 0 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/Process.pptbin21504 -> 0 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/Process2.jpgbin22585 -> 0 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/Runtime.jpgbin51621 -> 0 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/Runtime.pptbin43520 -> 0 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/ormapping_menu.jpgbin25832 -> 0 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/plugin_dependency_reexport.gifbin49601 -> 0 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/plugin_error.jpgbin30020 -> 0 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/registerbuddy.jpgbin69953 -> 0 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/resourcefactory.jpgbin23363 -> 0 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/resourceutility.jpgbin40131 -> 0 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/index.xml64
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/inheritance.xml91
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/installation.xml82
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/knownissues.xml107
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/license.xml37
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/mailinglist.xml50
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/options.xml77
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/overview.xml61
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/quick_tutorial.xml117
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/resource_utility.xml81
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/samples/Dynamic.java178
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/samples/QuickStart.java108
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/samples/Tutorial1.java244
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/samples/library.ehb53
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/samples/library_export.xml8
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/samples/log4j.properties41
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/schema_list.xml40
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/status.xml53
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/svn.xml66
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/testcases.xml67
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/troubleshooting.xml195
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/hsqldb/hibernate.properties6
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/images/add_jpox.gifbin73819 -> 0 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/images/generate_hbm.jpgbin115323 -> 0 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/images/generate_jdo.gifbin65402 -> 0 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/images/jar_plugin.gifbin37344 -> 0 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/images/plugindependency.gifbin34523 -> 0 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/images/start.gifbin84552 -> 0 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/license.xml37
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/tutorial1_1.xml52
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/tutorial1_2.xml123
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/tutorial1_3.xml88
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/tutorial1_4.xml75
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/tutorial1_5.xml99
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/tutorial1_intro.xml54
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialtwo/license.xml37
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialtwo/tutorial2_1.xml102
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialtwo/tutorial2_2.xml43
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialtwo/tutorial2_intro.xml37
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate/upgrading.xml74
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/hibernate_wiki.txt40
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/images/ELV.gifbin4049 -> 0 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/images/ELV2.gifbin3939 -> 0 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/images/Glasseels.jpgbin40537 -> 0 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/images/empty.gifbin60 -> 0 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/images/omondo1.jpgbin39383 -> 0 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/images/omondo2.jpgbin35873 -> 0 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/images/omondo3.jpgbin40222 -> 0 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/images/omondo4.jpgbin14393 -> 0 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/images/omondo5.jpgbin38836 -> 0 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/images/rose.jpgbin48287 -> 0 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/index.xml59
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/anytype.xml161
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/changelog.xml454
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/download/library.ejdo51
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/download/library_export.xml8
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/download/log4j.properties9
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/ejb3_examples.xml181
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/ejb3_features.xml93
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/ejb3_format.xml119
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/elver.xml56
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/emf_rdb_modeling.xml39
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/emfjpoxsupport.xml48
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/featuremap.xml252
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/features.xml102
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/features_details.xml114
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/goal.xml69
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/history.xml57
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/images/ELV.gifbin4049 -> 0 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/images/Glasseels.jpgbin40537 -> 0 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/images/Runtime.jpgbin49273 -> 0 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/images/disable.gifbin68299 -> 0 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/images/elver_menu.gifbin127645 -> 0 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/images/empty.gifbin60 -> 0 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/images/enhancer_error_no_class.jpgbin22206 -> 0 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/images/error_jdo.jpgbin84625 -> 0 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/images/header2.gifbin23895 -> 0 bytes
-rwxr-xr-xdoc/org.eclipse.emf.teneo.doc/doc/jpox/images/icon.pngbin696 -> 0 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/images/jpox_eclipse_classpath.gifbin68050 -> 0 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/images/jpox_eclipse_classpath2.gifbin28671 -> 0 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/images/jpox_logo_small.gifbin2516 -> 0 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/images/log_file.jpgbin34165 -> 0 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/images/plugin_dependency.gifbin53424 -> 0 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/images/plugin_error.jpgbin13181 -> 0 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/images/resource_factory.gifbin20211 -> 0 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/images/resource_utility.jpgbin53819 -> 0 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/index.xml68
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/inheritance.xml86
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/installation.xml107
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/issues.txt195
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/jpox_details.xml236
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/jpox_plugin_error.xml70
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/jpoxdatastore.xml83
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/jpoxresources.xml151
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/knownissues.xml82
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/license.xml37
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/links.xml82
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/mailinglist.xml50
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/overview.xml74
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/philosophy.xml70
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/quick_tutorial.xml109
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/remove_plugin.xml41
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/resource_utility.xml80
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/runtime_configuration.xml403
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/sample/QuickStart.java102
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/sample/sample.html688
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/sample/sample.xml404
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/sample/wiki_markup.txt97
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/schema_list.xml41
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/skinconf.xml198
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/status.xml60
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/substitution.xml146
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/svn.xml66
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/testcases.xml77
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/troubleshooting.xml191
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/Tutorial1.java245
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/images/add_jpox.gifbin73819 -> 0 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/images/generate_jdo.gifbin62120 -> 0 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/images/jar_plugin.gifbin37344 -> 0 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/images/plugindependency.gifbin53424 -> 0 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/images/start.gifbin84552 -> 0 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/license.xml37
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/tutorial1_1.xml82
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/tutorial1_2.xml107
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/tutorial1_3.xml94
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/tutorial1_4.xml88
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/tutorial1_5.xml95
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/tutorial1_intro.xml56
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial2/license.xml37
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial2/tutorial2_1.xml118
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial2/tutorial2_2.xml44
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial2/tutorial2_intro.xml52
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/upgrading.xml96
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/jpox/xmlschema_types.xml91
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/license.xml45
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/links.xml82
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/services/index.xml53
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/services/license.xml54
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/site.xml153
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/skinconf.xml260
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/skinconf_orig.xml202
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/tabs.xml39
-rw-r--r--doc/org.eclipse.emf.teneo.doc/doc/teneo_jpox.xml64
-rw-r--r--doc/org.eclipse.emf.teneo.doc/forrest.properties30
-rw-r--r--doc/org.eclipse.emf.teneo.doc/toc.xml22
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/changelog.html35
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/download/persistence-mapping-hibernate.xsd (renamed from doc/org.eclipse.emf.teneo.doc/doc/hibernate/download/persistence-mapping-hibernate.xsd)0
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/dynamic.html18
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/ejb3_examples.html277
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/ejb3_features.html155
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/ejb3_format.html225
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/emfhibsupport.html14
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/featuremap.html24
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/features.html30
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/features_details.html16
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/hbdatastore.html36
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/hibernate_details.html70
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/hibernate_helper.html23
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/hibernate_relations.html62
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/hibernateresources.html115
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/images/Process2.jpgbin23776 -> 22585 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/images/Runtime.jpgbin52940 -> 51621 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/images/elver_menu.gif (renamed from doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/elver_menu.gif)bin127645 -> 127645 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/images/plugin_dependency.gif (renamed from doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/plugin_dependency.gif)bin43117 -> 43117 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/images/resourcefactory.jpgbin39704 -> 23363 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/images/resourceutility.jpgbin58726 -> 40131 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/index.html59
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/inheritance.html20
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/installation.html92
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/knownissues.html32
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/license.html37
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/mailinglist.html45
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/options.html99
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/overview.html38
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/quick_tutorial.html23
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/resource_utility.html32
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/resource_utility.xml28
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/samples/Dynamic.java6
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/samples/QuickStart.java10
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/samples/Tutorial1.java12
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/schema_list.html14
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/status.html38
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/svn.html104
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/testcases.html212
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/troubleshooting.html258
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialone/license.html46
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialone/tutorial1_1.html36
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialone/tutorial1_2.html16
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialone/tutorial1_3.html16
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialone/tutorial1_4.html14
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialone/tutorial1_5.html14
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialone/tutorial1_intro.html14
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialtwo/license.html46
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialtwo/tutorial2_1.html37
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialtwo/tutorial2_2.html14
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialtwo/tutorial2_intro.html14
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/upgrading.html39
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/index.html37
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/anytype.html23
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/changelog.html24
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/download/persistence-mapping-jpox.xsd (renamed from doc/org.eclipse.emf.teneo.doc/doc/jpox/download/persistence-mapping-jpox.xsd)0
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/ejb3_examples.html270
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/ejb3_features.html17
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/ejb3_format.html220
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/emfjpoxsupport.html9
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/featuremap.html111
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/features.html37
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/features_details.html11
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/images/Runtime.jpgbin50457 -> 49273 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/images/elver_menu.gifbin97823 -> 127645 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/images/resource_factory.gifbin18818 -> 20211 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/images/resource_utility.jpgbin61219 -> 53819 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/index.html52
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/inheritance.html21
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/installation.html73
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/jpox_details.html75
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/jpox_plugin_error.html23
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/jpoxdatastore.html25
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/jpoxresources.html132
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/knownissues.html29
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/license.html32
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/links.html23
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/mailinglist.html42
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/overview.html24
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/quick_tutorial.html18
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/resource_utility.html26
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/schema_list.html9
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/status.html31
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/substitution.html52
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/svn.html104
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/testcases.html200
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/troubleshooting.html225
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/Tutorial1.java354
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/images/plugindependency.gifbin34523 -> 53424 bytes
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/license.html46
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/tutorial1_1.html29
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/tutorial1_2.html9
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/tutorial1_3.html9
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/tutorial1_4.html9
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/tutorial1_5.html11
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/tutorial1_intro.html9
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial2/license.html46
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial2/tutorial2_1.html29
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial2/tutorial2_2.html9
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial2/tutorial2_intro.html9
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/upgrading.html38
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/license.html23
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/linkmap.html55
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/services/index.html2
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/services/license.html23
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/skin/inst.css2
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/skin/ns4_only.css2
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/skin/print.css2
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/skin/tigris.css2
297 files changed, 2699 insertions, 20650 deletions
diff --git a/doc/org.eclipse.emf.teneo.doc/build.properties b/doc/org.eclipse.emf.teneo.doc/build.properties
index 6b1c77c68..6860c0fbc 100644
--- a/doc/org.eclipse.emf.teneo.doc/build.properties
+++ b/doc/org.eclipse.emf.teneo.doc/build.properties
@@ -1,3 +1,33 @@
-bin.includes =
-jars.compile.order =
+#/**
+# * <copyright>
+# *
+# * Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
+# * All rights reserved. This program and the accompanying materials
+# * are made available under the terms of the Eclipse Public License v1.0
+# * which accompanies this distribution, and is available at
+# * http://www.eclipse.org/legal/epl-v10.html
+# *
+# * Contributors:
+# * Martin Taal - Initial API and implementation
+# *
+# * </copyright>
+# *
+# * $Id: build.properties,v 1.2 2006/10/15 08:39:14 mtaal Exp $
+# */
+bin.includes = META-INF/,\
+ about.html,\
+ about.ini,\
+ about.mappings,\
+ about.properties,\
+ eclipse.gif,\
+ eclipse.png,\
+ eclipse24.gif,\
+ eclipse32.gif,\
+ eclipse48.gif,\
+ eclipse32.png,\
+ eclipse48.png,\
+ eclipse_lg.gif,\
+ plugin.xml,\
+ plugin.properties,\
+ doc.zip
custom = true
diff --git a/doc/org.eclipse.emf.teneo.doc/build.xml b/doc/org.eclipse.emf.teneo.doc/build.xml
index db871d342..ecc403478 100755
--- a/doc/org.eclipse.emf.teneo.doc/build.xml
+++ b/doc/org.eclipse.emf.teneo.doc/build.xml
@@ -72,8 +72,6 @@
<!-- Zip up all of the documentation artifacts - references(including javadoc), images, tutorials, etc. -->
<zip destfile="doc.zip" compress="true">
<!-- Add new folders for documentation zip here. -->
- <zipfileset dir="references" prefix="references" excludes="**/internal,**/internal/**,**/*.internal.*,**/*.internal.*/**"/>
- <zipfileset dir="images" prefix="images"/>
<zipfileset dir="tutorials" prefix="tutorials"/>
</zip>
</target>
diff --git a/doc/org.eclipse.emf.teneo.doc/copysite b/doc/org.eclipse.emf.teneo.doc/copysite
deleted file mode 100755
index af25be4a0..000000000
--- a/doc/org.eclipse.emf.teneo.doc/copysite
+++ /dev/null
@@ -1 +0,0 @@
-scp -r build/site/* root@elver.org:/home/elverweb
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/contributors.xml b/doc/org.eclipse.emf.teneo.doc/doc/contributors.xml
deleted file mode 100644
index fa7ebcdb7..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/contributors.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2005-2006, Elver.org (http://www.elver.org).
-
- Licensed 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.
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.1 $ $Date: 2006/08/03 09:58:07 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Contributors</title>
- </header>
- <body>
- <p>The following persons contribute on a weekly basis to the Elver source code:</p>
- <ul>
- <li><a href="mailto:mtaal at elver.org">Martin Taal</a></li>
- <li><a href="mailto:lmfridael at elver.org">Laurens Fridael</a></li>
- </ul>
- <p>The following person(s) have contributed in the past</p>
- <ul>
- <li><a href="mailto:marchign at elver.org">Davide Marchignoli</a></li>
- </ul>
- <p>In addition, since its beginning Elver has been improved with help of several users who responded on the mailing list.
- We very much appreciate your feedback to improve the Elver solutions!</p>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/download/elver-code-profile.xml b/doc/org.eclipse.emf.teneo.doc/doc/download/elver-code-profile.xml
deleted file mode 100644
index 7404e3170..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/download/elver-code-profile.xml
+++ /dev/null
@@ -1,249 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<profiles version="9">
-<profile name="Elver" version="9">
-<setting id="org.eclipse.jdt.core.formatter.align_type_members_on_columns" value="false"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression" value="16"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant" value="16"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call" value="16"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation" value="16"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression" value="16"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_assignment" value="0"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_binary_expression" value="16"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_compact_if" value="16"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_conditional_expression" value="80"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_enum_constants" value="0"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer" value="16"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_multiple_fields" value="16"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration" value="16"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration" value="16"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation" value="16"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration" value="16"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration" value="16"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration" value="16"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration" value="16"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration" value="16"/>
-<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_imports" value="1"/>
-<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_package" value="1"/>
-<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_field" value="1"/>
-<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration" value="0"/>
-<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_imports" value="1"/>
-<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_member_type" value="1"/>
-<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_method" value="1"/>
-<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk" value="1"/>
-<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_package" value="0"/>
-<setting id="org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations" value="1"/>
-<setting id="org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration" value="end_of_line"/>
-<setting id="org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration" value="end_of_line"/>
-<setting id="org.eclipse.jdt.core.formatter.brace_position_for_array_initializer" value="end_of_line"/>
-<setting id="org.eclipse.jdt.core.formatter.brace_position_for_block" value="end_of_line"/>
-<setting id="org.eclipse.jdt.core.formatter.brace_position_for_block_in_case" value="end_of_line"/>
-<setting id="org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration" value="end_of_line"/>
-<setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_constant" value="end_of_line"/>
-<setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration" value="end_of_line"/>
-<setting id="org.eclipse.jdt.core.formatter.brace_position_for_method_declaration" value="end_of_line"/>
-<setting id="org.eclipse.jdt.core.formatter.brace_position_for_switch" value="end_of_line"/>
-<setting id="org.eclipse.jdt.core.formatter.brace_position_for_type_declaration" value="end_of_line"/>
-<setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines" value="false"/>
-<setting id="org.eclipse.jdt.core.formatter.comment.format_comments" value="true"/>
-<setting id="org.eclipse.jdt.core.formatter.comment.format_header" value="false"/>
-<setting id="org.eclipse.jdt.core.formatter.comment.format_html" value="true"/>
-<setting id="org.eclipse.jdt.core.formatter.comment.format_source_code" value="true"/>
-<setting id="org.eclipse.jdt.core.formatter.comment.indent_parameter_description" value="true"/>
-<setting id="org.eclipse.jdt.core.formatter.comment.indent_root_tags" value="true"/>
-<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.comment.line_length" value="120"/>
-<setting id="org.eclipse.jdt.core.formatter.compact_else_if" value="true"/>
-<setting id="org.eclipse.jdt.core.formatter.continuation_indentation" value="2"/>
-<setting id="org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer" value="2"/>
-<setting id="org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line" value="false"/>
-<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header" value="true"/>
-<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header" value="true"/>
-<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header" value="true"/>
-<setting id="org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases" value="true"/>
-<setting id="org.eclipse.jdt.core.formatter.indent_empty_lines" value="false"/>
-<setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_block" value="true"/>
-<setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_body" value="true"/>
-<setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases" value="true"/>
-<setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch" value="false"/>
-<setting id="org.eclipse.jdt.core.formatter.indentation.size" value="4"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_binary_operator" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_ellipsis" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_unary_operator" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_binary_operator" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_ellipsis" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_unary_operator" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line" value="false"/>
-<setting id="org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line" value="false"/>
-<setting id="org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line" value="false"/>
-<setting id="org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line" value="false"/>
-<setting id="org.eclipse.jdt.core.formatter.lineSplit" value="120"/>
-<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body" value="0"/>
-<setting id="org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve" value="1"/>
-<setting id="org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line" value="true"/>
-<setting id="org.eclipse.jdt.core.formatter.tabulation.char" value="tab"/>
-<setting id="org.eclipse.jdt.core.formatter.tabulation.size" value="4"/>
-<setting id="org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations" value="false"/>
-</profile>
-</profiles>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/elver.xml b/doc/org.eclipse.emf.teneo.doc/doc/elver.xml
deleted file mode 100644
index 79cd3c15b..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/elver.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2005-2006, Elver.org (http://www.elver.org).
-
- Licensed 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.
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.1 $ $Date: 2006/08/03 09:58:07 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>About the Elver</title>
- </header>
- <body>
- <p>
- The Elver is a so-called glass eel, which is a young eel of about two years old.
- Eels are fascinating animals that travel over half the globe and can reach a
- respectable age of upto 85 years. The life of an eel is not yet fully understood although eels
- have been studied for a number of years.
- </p>
- <p>
- As with many other animals on this planet, Eels are threatened by environmental changes,
- parasites and dams and other obstacles in rivers. About 20 years ago the number of Eels dropped dramatically, to 10-15% of their
- original levels.
- Eels are of significant economic value for a number of countries. Because of decline in
- Eel stock and rising demand the prise has risen to $1100,-/kg. in the past.
- </p>
- <p>
- Below an image of a number of glass eels.
- </p>
- <p><img src="images/Glasseels.jpg" alt="Image of the glass eel"/></p>
- <p>
- Here are two interesting articles which describe what is known about the Elver:</p>
- <ul>
- <li><a href="http://www.answers.com/eel%20life%20history">Eel Life History</a></li>
- <li><a href="http://www.sdgfp.info/Wildlife/Diversity/Digest%20Articles/eel.htm">The American Eel</a></li>
- </ul>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/examples/Catalog.xsd b/doc/org.eclipse.emf.teneo.doc/doc/examples/Catalog.xsd
deleted file mode 100644
index 090f8c988..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/examples/Catalog.xsd
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<schema targetNamespace="http://www.elver.org/store/test/emf/catalog/gen"
- xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
- xmlns:this="http://www.elver.org/store/test/emf/catalog/gen"
- xmlns:lib="http://www.elver.org/store/test/emf/catalog/gen"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns="http://www.w3.org/2001/XMLSchema">
-
- <complexType name="CatalogType">
- <sequence>
- <element name="Name" type="ID"/>
- <element name="Description" type="string"/>
- <element name="SubCatalog" type="xsd:IDREF" ecore:reference="this:CatalogType" maxOccurs="unbounded" minOccurs="0" />
- <element name="Product" type="xsd:IDREF" ecore:reference="this:ProductType" maxOccurs="unbounded" minOccurs="0" />
- </sequence>
- </complexType>
-
- <complexType name="ProductType">
- <sequence>
- <element name="Code" type="ID"/>
- <element name="Description" type="string" nillable="true"/>
- <element name="Remark" type="this:StringType" minOccurs="1" maxOccurs="unbounded"/>
- <element name="Price">
- <complexType>
- <sequence>
- <element name="Price" type="double"/>
- <element name="QuantityTo" type="double"/>
- <element name="Supplier" type="xsd:IDREF" ecore:reference="this:SupplierType"/>
- </sequence>
- </complexType>
- </element>
- </sequence>
- </complexType>
-
- <complexType name="SupplierType">
- <sequence>
- <element name="Name" type="string"/>
- <element name="NoOfEmployees" type="int"/>
- </sequence>
- </complexType>
-
- <complexType name="StringType">
- <sequence>
- <element name="Value" type="string"/>
- </sequence>
- </complexType>
-
-</schema> \ No newline at end of file
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/examples/ExtendedPO2.ecore b/doc/org.eclipse.emf.teneo.doc/doc/examples/ExtendedPO2.ecore
deleted file mode 100644
index 60d7c857d..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/examples/ExtendedPO2.ecore
+++ /dev/null
@@ -1,75 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ecore:EPackage xmi:version="2.0"
- xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="epo2"
- nsURI="http://www.elver.org/store/test/emf/extendedpo2" nsPrefix="com.example.epo2">
- <eClassifiers xsi:type="ecore:EClass" name="Item">
- <eStructuralFeatures xsi:type="ecore:EReference" name="order" lowerBound="1" eType="#//PurchaseOrder"
- transient="true" eOpposite="#//PurchaseOrder/items"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="productName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="quantity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="USPrice" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="comment" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="shipDate" eType="#//Date"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="partNum" eType="#//SKU"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="USAddress" eSuperTypes="#//Address">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="street" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="city" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="state" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="zip" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EDataType" name="SKU" instanceClassName="java.lang.String"/>
- <eClassifiers xsi:type="ecore:EDataType" name="Date" instanceClassName="java.util.Date"/>
- <eClassifiers xsi:type="ecore:EClass" name="PurchaseOrder">
- <eStructuralFeatures xsi:type="ecore:EReference" name="items" upperBound="-1"
- eType="#//Item" containment="true" eOpposite="#//Item/order"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="billTo" lowerBound="1"
- eType="#//Address" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="shipTo" eType="#//Address"
- containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="comment" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="orderDate" eType="#//Date"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="status" eType="#//OrderStatus"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="totalAmount" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
- changeable="false" volatile="true" transient="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="customer" lowerBound="1"
- eType="#//Customer" resolveProxies="false" eOpposite="#//Customer/orders"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="previousOrder" eType="#//PurchaseOrder"
- resolveProxies="false"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Address" abstract="true">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="country" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="OrderStatus">
- <eLiterals name="Pending"/>
- <eLiterals name="BackOrder" value="1"/>
- <eLiterals name="Complete" value="2"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Supplier">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="customers" upperBound="-1"
- eType="#//Customer" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="orders" upperBound="-1"
- eType="#//PurchaseOrder" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="pendingOrders" upperBound="-1"
- eType="#//PurchaseOrder" changeable="false" volatile="true" transient="true"
- resolveProxies="false"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="shippedOrders" upperBound="-1"
- eType="#//PurchaseOrder" changeable="false" volatile="true" transient="true"
- resolveProxies="false"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Customer">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="customerID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="orders" upperBound="-1"
- eType="#//PurchaseOrder" resolveProxies="false" eOpposite="#//PurchaseOrder/customer"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="GlobalAddress" eSuperTypes="#//Address #//GlobalLocation">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="location" upperBound="-1"
- eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="GlobalLocation">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="countryCode" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
- </eClassifiers>
-</ecore:EPackage>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/examples/PrimerPO.xsd b/doc/org.eclipse.emf.teneo.doc/doc/examples/PrimerPO.xsd
deleted file mode 100644
index 829e549bd..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/examples/PrimerPO.xsd
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://www.elver.org/store/test/emf/primerpo"
- xmlns:ppo="http://www.elver.org/store/test/emf/primerpo">
-
- <xsd:element name="order" type="ppo:PurchaseOrder"/>
-
- <xsd:element name="comment" type="xsd:string"/>
-
- <xsd:complexType name="PurchaseOrder">
- <xsd:sequence>
- <xsd:element name="shipTo" minOccurs="0" type="ppo:USAddress"/>
- <xsd:element name="billTo" type="ppo:USAddress"/>
- <xsd:element ref="ppo:comment" minOccurs="0"/>
- <xsd:element name="items" type="ppo:Item" minOccurs="0" maxOccurs="unbounded"/>
- </xsd:sequence>
- <xsd:attribute name="orderDate" type="xsd:date"/>
- </xsd:complexType>
-
- <xsd:complexType name="USAddress">
- <xsd:sequence>
- <xsd:element name="name" type="xsd:string"/>
- <xsd:element name="street" type="xsd:string"/>
- <xsd:element name="city" type="xsd:string"/>
- <xsd:element name="state" type="xsd:string"/>
- <xsd:element name="zip" type="xsd:decimal"/>
- </xsd:sequence>
- <xsd:attribute name="country" type="xsd:NMTOKEN" fixed="US"/>
- </xsd:complexType>
-
- <xsd:complexType name="Item">
- <xsd:sequence>
- <xsd:element name="productName" type="xsd:string"/>
- <xsd:element name="quantity">
- <xsd:simpleType>
- <xsd:restriction base="xsd:positiveInteger">
- <xsd:maxExclusive value="100"/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:element>
- <xsd:element name="USPrice" type="xsd:decimal"/>
- <xsd:element ref="ppo:comment" minOccurs="0"/>
- <xsd:element name="shipDate" type="xsd:date" minOccurs="0"/>
- </xsd:sequence>
- <xsd:attribute name="partNum" type="ppo:SKU" use="required"/>
- </xsd:complexType>
-
- <xsd:simpleType name="SKU">
- <xsd:restriction base="xsd:string">
- <xsd:pattern value="\d{3}-[A-Z]{2}"/>
- </xsd:restriction>
- </xsd:simpleType>
-
-</xsd:schema>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/examples/ecore.pty b/doc/org.eclipse.emf.teneo.doc/doc/examples/ecore.pty
deleted file mode 100644
index 3a9f0afda..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/examples/ecore.pty
+++ /dev/null
@@ -1,300 +0,0 @@
-(object Petal
- version 42)
-
-(list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "propertyId"
- value "809135969")
- (object Attribute
- tool "Ecore"
- name "default__Category"
- value (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "packageName"
- value "")
- (object Attribute
- tool "Ecore"
- name "nsPrefix"
- value "")
- (object Attribute
- tool "Ecore"
- name "nsURI"
- value "")
- (object Attribute
- tool "Ecore"
- name "basePackage"
- value "")
- (object Attribute
- tool "Ecore"
- name "prefix"
- value "")
- (object Attribute
- tool "Ecore"
- name "annotation"
- value "")))
- (object Attribute
- tool "Ecore"
- name "default__Class"
- value (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "classifierName"
- value "")
- (object Attribute
- tool "Ecore"
- name "constraints"
- value "")
- (object Attribute
- tool "Ecore"
- name "xmlName"
- value "")
-
- (object Attribute
- tool "Ecore"
- name "xmlContentKind"
- value ("ContentKind" 0))
-
- (object Attribute
- tool "Ecore"
- name "ContentKind"
- value (list Attribute_Set
-
- (object Attribute
- tool "Ecore"
- name "Unspecified"
- value 0)
- (object Attribute
- tool "Ecore"
- name "Empty"
- value 1)
- (object Attribute
- tool "Ecore"
- name "Simple"
- value 2)
- (object Attribute
- tool "Ecore"
- name "Mixed"
- value 3)
- (object Attribute
- tool "Ecore"
- name "ElementOnly"
- value 4)))
-
- (object Attribute
- tool "Ecore"
- name "annotation"
- value "")))
- (object Attribute
- tool "Ecore"
- name "default__Operation"
- value (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "operationName"
- value "")
- (object Attribute
- tool "Ecore"
- name "isUnique"
- value TRUE)
- (object Attribute
- tool "Ecore"
- name "annotation"
- value "")))
- (object Attribute
- tool "Ecore"
- name "default__Attribute"
- value (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "attributeName"
- value "")
- (object Attribute
- tool "Ecore"
- name "isTransient"
- value FALSE)
- (object Attribute
- tool "Ecore"
- name "isVolatile"
- value FALSE)
- (object Attribute
- tool "Ecore"
- name "isChangeable"
- value TRUE)
- (object Attribute
- tool "Ecore"
- name "isUnsettable"
- value FALSE)
- (object Attribute
- tool "Ecore"
- name "isUnique"
- value TRUE)
- (object Attribute
- tool "Ecore"
- name "isID"
- value FALSE)
- (object Attribute
- tool "Ecore"
- name "visibility"
- value ("VisibilityKind" 0))
- (object Attribute
- tool "Ecore"
- name "VisibilityKind"
- value (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "Unspecified"
- value 0)
- (object Attribute
- tool "Ecore"
- name "None"
- value 1)
- (object Attribute
- tool "Ecore"
- name "Read-only"
- value 2)
- (object Attribute
- tool "Ecore"
- name "Read-write"
- value 3)
- (object Attribute
- tool "Ecore"
- name "Read-only unsettable"
- value 4)
- (object Attribute
- tool "Ecore"
- name "Read-write unsettable"
- value 5)))
- (object Attribute
- tool "Ecore"
- name "xmlName"
- value "")
- (object Attribute
- tool "Ecore"
- name "xmlNamespace"
- value "")
- (object Attribute
- tool "Ecore"
- name "xmlFeatureKind"
- value ("FeatureKind" 0))
- (object Attribute
- tool "Ecore"
- name "FeatureKind"
- value (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "Unspecified"
- value 0)
- (object Attribute
- tool "Ecore"
- name "Simple"
- value 1)
- (object Attribute
- tool "Ecore"
- name "Attribute"
- value 2)
- (object Attribute
- tool "Ecore"
- name "Element"
- value 4)))
- (object Attribute
- tool "Ecore"
- name "annotation"
- value "")))
- (object Attribute
- tool "Ecore"
- name "default__Role"
- value (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "referenceName"
- value "")
- (object Attribute
- tool "Ecore"
- name "isTransient"
- value FALSE)
- (object Attribute
- tool "Ecore"
- name "isVolatile"
- value FALSE)
- (object Attribute
- tool "Ecore"
- name "isChangeable"
- value TRUE)
- (object Attribute
- tool "Ecore"
- name "isUnsettable"
- value FALSE)
- (object Attribute
- tool "Ecore"
- name "isResolveProxies"
- value TRUE)
- (object Attribute
- tool "Ecore"
- name "visibility"
- value ("VisibilityKind" 0))
- (object Attribute
- tool "Ecore"
- name "VisibilityKind"
- value (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "Unspecified"
- value 0)
- (object Attribute
- tool "Ecore"
- name "None"
- value 1)
- (object Attribute
- tool "Ecore"
- name "Read-only"
- value 2)
- (object Attribute
- tool "Ecore"
- name "Read-write"
- value 3)
- (object Attribute
- tool "Ecore"
- name "Read-only unsettable"
- value 4)
- (object Attribute
- tool "Ecore"
- name "Read-write unsettable"
- value 5)))
- (object Attribute
- tool "Ecore"
- name "xmlName"
- value "")
- (object Attribute
- tool "Ecore"
- name "xmlNamespace"
- value "")
- (object Attribute
- tool "Ecore"
- name "xmlFeatureKind"
- value ("FeatureKind" 0))
- (object Attribute
- tool "Ecore"
- name "FeatureKind"
- value (list Attribute_Set
- (object Attribute
- tool "Ecore"
- name "Unspecified"
- value 0)
- (object Attribute
- tool "Ecore"
- name "Simple"
- value 1)
- (object Attribute
- tool "Ecore"
- name "Attribute"
- value 2)
- (object Attribute
- tool "Ecore"
- name "Element"
- value 4)))
- (object Attribute
- tool "Ecore"
- name "annotation"
- value ""))))
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/examples/forum.xsd b/doc/org.eclipse.emf.teneo.doc/doc/examples/forum.xsd
deleted file mode 100644
index 80c1d3af3..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/examples/forum.xsd
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsd:schema targetNamespace="http://www.elver.org/store/test/emf/forum"
- xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
- xmlns:forum="http://www.elver.org/store/test/emf/forum"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <xsd:complexType name="Topic">
- <xsd:sequence>
- <xsd:element name="title" type="xsd:string"/>
- <xsd:element name="category" type="forum:TopicCategory"/>
- <xsd:element name="creator" type="xsd:IDREF" ecore:opposite="created" ecore:reference="forum:Member"/>
- <xsd:element maxOccurs="unbounded" minOccurs="0" ecore:opposite="topic"
- name="posts" type="xsd:IDREF" ecore:reference="forum:Post"/>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:complexType name="Member">
- <xsd:sequence>
- <xsd:element name="nickname" type="xsd:string"/>
- <xsd:element maxOccurs="unbounded" minOccurs="0" ecore:opposite="author"
- name="posts" type="xsd:IDREF" ecore:reference="forum:Post"/>
- <xsd:element maxOccurs="unbounded" minOccurs="0" ecore:opposite="creator"
- name="created" type="xsd:IDREF" ecore:reference="forum:Topic"/>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:complexType name="Post">
- <xsd:sequence>
- <xsd:element name="comment" type="xsd:string"/>
- <xsd:element name="author" type="xsd:IDREF" ecore:opposite="posts" ecore:reference="forum:Member"/>
- <xsd:element name="topic" type="xsd:IDREF" ecore:opposite="posts" ecore:reference="forum:Topic"/>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:complexType name="Forum">
- <xsd:sequence>
- <xsd:element name="title" type="xsd:string"/>
- <xsd:element maxOccurs="unbounded" minOccurs="0"
- name="members" type="forum:Member"/>
- <xsd:element maxOccurs="unbounded" minOccurs="0"
- name="topics" type="forum:Topic"/>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:simpleType name="TopicCategory">
- <xsd:restriction base="xsd:NCName">
- <xsd:enumeration value="Announcement"/>
- <xsd:enumeration value="GuestBook"/>
- <xsd:enumeration value="Discussion"/>
- </xsd:restriction>
- </xsd:simpleType>
-</xsd:schema>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/examples/library.xsd b/doc/org.eclipse.emf.teneo.doc/doc/examples/library.xsd
deleted file mode 100644
index 9c45f1d4d..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/examples/library.xsd
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsd:schema targetNamespace="http://www.elver.org/store/test/emf/Library"
- xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
- xmlns:lib="http://www.elver.org/store/test/emf/Library"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <xsd:complexType name="Book">
- <xsd:sequence>
- <xsd:element name="title" type="xsd:string"/>
- <xsd:element name="pages" type="xsd:int"/>
- <xsd:element name="category" type="lib:BookCategory"/>
- <xsd:element name="author" type="xsd:anyURI"
- ecore:reference="lib:Writer" ecore:opposite="books"/>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:complexType name="Writer">
- <xsd:sequence>
- <xsd:element name="name" type="xsd:string"/>
- <xsd:element maxOccurs="unbounded" minOccurs="0" name="books"
- type="xsd:anyURI" ecore:reference="lib:Book" ecore:opposite="author"/>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:complexType name="Library">
- <xsd:sequence>
- <xsd:element name="name" type="xsd:string"/>
- <xsd:element maxOccurs="unbounded" minOccurs="0"
- name="writers" type="lib:Writer"/>
- <xsd:element maxOccurs="unbounded" minOccurs="0"
- name="books" type="lib:Book"/>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:simpleType name="BookCategory">
- <xsd:restriction base="xsd:NCName">
- <xsd:enumeration value="Mystery"/>
- <xsd:enumeration value="ScienceFiction"/>
- <xsd:enumeration value="Biography"/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:schema>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/examples/license.xml b/doc/org.eclipse.emf.teneo.doc/doc/examples/license.xml
deleted file mode 100644
index 313a4ea45..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/examples/license.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- Licence page.
-
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 10:42:37 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>License</title>
- </header>
- <body>
- <p>Teneo is licensed under the <a href="http://www.eclipse.org/org/documents/epl-v10.php">Eclipse Public License</a>.
- In all documents and software the following copyright and license statement is present.
- </p>
- <source>
-Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
-All rights reserved. This program and the accompanying materials
-are made available under the terms of the Eclipse Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/epl-v10.html
- </source>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/examples/play.xml b/doc/org.eclipse.emf.teneo.doc/doc/examples/play.xml
deleted file mode 100644
index 78a09abc9..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/examples/play.xml
+++ /dev/null
@@ -1,3862 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<play:PlayType xmlns:play="http://www.elver.org/store/test/emf/sample/play" title="A Midsummer Night's Dream" sceneDescription="SCENE Athens, and a wood near it." playSubTitle="A MIDSUMMER NIGHT'S DREAM">
- <fm>
- <p>Text placed in the public domain by Moby Lexical Tools, 1992.</p>
- <p>SGML markup by Jon Bosak, 1992-1994.</p>
- <p>XML version by Jon Bosak, 1996-1998.</p>
- <p>Altered slightly by Bryan Dollery, 2003, for inclusion in an article on XML parsing in Java. Published in DevX (www.devx.com) in February 2003</p>
- <p>This work may be freely copied and distributed worldwide.</p>
- </fm>
- <personae>
- <title>Dramatis Personae</title>
- <persona>THESEUS, Duke of Athens.</persona>
- <persona>EGEUS, father to Hermia.</persona>
- <personaGroup groupDescription="in love with Hermia.">
- <persona>LYSANDER</persona>
- <persona>DEMETRIUS</persona>
- </personaGroup>
- <persona>PHILOSTRATE, master of the revels to Theseus.</persona>
- <persona>QUINCE, a carpenter.</persona>
- <persona>SNUG, a joiner.</persona>
- <persona>BOTTOM, a weaver.</persona>
- <persona>FLUTE, a bellows-mender.</persona>
- <persona>SNOUT, a tinker.</persona>
- <persona>STARVELING, a tailor.</persona>
- <persona>HIPPOLYTA, queen of the Amazons, betrothed to Theseus.</persona>
- <persona>HERMIA, daughter to Egeus, in love with Lysander.</persona>
- <persona>HELENA, in love with Demetrius.</persona>
- <persona>OBERON, king of the fairies.</persona>
- <persona>TITANIA, queen of the fairies.</persona>
- <persona>PUCK, or Robin Goodfellow.</persona>
- <personaGroup groupDescription="fairies.">
- <persona>PEASEBLOSSOM</persona>
- <persona>COBWEB</persona>
- <persona>MOTH</persona>
- <persona>MUSTARDSEED</persona>
- </personaGroup>
- <persona>Other fairies attending their King and Queen.</persona>
- <persona>Attendants on Theseus and Hippolyta.</persona>
- </personae>
- <act index="1" title="I">
- <scene index="1" title="SCENE I. Athens. The palace of THESEUS.">
- <stageDirections>Enter THESEUS, HIPPOLYTA, PHILOSTRATE, and Attendants</stageDirections>
- <speech>
- <speaker>THESEUS</speaker>
- <line>Now, fair Hippolyta, our nuptial hour</line>
- <line>Draws on apace; four happy days bring in</line>
- <line>Another moon: but, O, methinks, how slow</line>
- <line>This old moon wanes! she lingers my desires,</line>
- <line>Like to a step-dame or a dowager</line>
- <line>Long withering out a young man revenue.</line>
- </speech>
- <speech>
- <speaker>HIPPOLYTA</speaker>
- <line>Four days will quickly steep themselves in night;</line>
- <line>Four nights will quickly dream away the time;</line>
- <line>And then the moon, like to a silver bow</line>
- <line>New-bent in heaven, shall behold the night</line>
- <line>Of our solemnities.</line>
- </speech>
- <speech>
- <speaker>THESEUS</speaker>
- <line>Go, Philostrate,</line>
- <line>Stir up the Athenian youth to merriments;</line>
- <line>Awake the pert and nimble spirit of mirth;</line>
- <line>Turn melancholy forth to funerals;</line>
- <line>The pale companion is not for our pomp.</line>
- <stageDirections>Exit PHILOSTRATE</stageDirections>
- <line>Hippolyta, I woo'd thee with my sword,</line>
- <line>And won thy love, doing thee injuries;</line>
- <line>But I will wed thee in another key,</line>
- <line>With pomp, with triumph and with revelling.</line>
- </speech>
- <stageDirections>Enter EGEUS, HERMIA, LYSANDER, and DEMETRIUS</stageDirections>
- <speech>
- <speaker>EGEUS</speaker>
- <line>Happy be Theseus, our renowned duke!</line>
- </speech>
- <speech>
- <speaker>THESEUS</speaker>
- <line>Thanks, good Egeus: what's the news with thee?</line>
- </speech>
- <speech>
- <speaker>EGEUS</speaker>
- <line>Full of vexation come I, with complaint</line>
- <line>Against my child, my daughter Hermia.</line>
- <line>Stand forth, Demetrius. My noble lord,</line>
- <line>This man hath my consent to marry her.</line>
- <line>Stand forth, Lysander: and my gracious duke,</line>
- <line>This man hath bewitch'd the bosom of my child;</line>
- <line>Thou, thou, Lysander, thou hast given her rhymes,</line>
- <line>And interchanged love-tokens with my child:</line>
- <line>Thou hast by moonlight at her window sung,</line>
- <line>With feigning voice verses of feigning love,</line>
- <line>And stolen the impression of her fantasy</line>
- <line>With bracelets of thy hair, rings, gawds, conceits,</line>
- <line>Knacks, trifles, nosegays, sweetmeats, messengers</line>
- <line>Of strong prevailment in unharden'd youth:</line>
- <line>With cunning hast thou filch'd my daughter's heart,</line>
- <line>Turn'd her obedience, which is due to me,</line>
- <line>To stubborn harshness: and, my gracious duke,</line>
- <line>Be it so she; will not here before your grace</line>
- <line>Consent to marry with Demetrius,</line>
- <line>I beg the ancient privilege of Athens,</line>
- <line>As she is mine, I may dispose of her:</line>
- <line>Which shall be either to this gentleman</line>
- <line>Or to her death, according to our law</line>
- <line>Immediately provided in that case.</line>
- </speech>
- <speech>
- <speaker>THESEUS</speaker>
- <line>What say you, Hermia? be advised fair maid:</line>
- <line>To you your father should be as a god;</line>
- <line>One that composed your beauties, yea, and one</line>
- <line>To whom you are but as a form in wax</line>
- <line>By him imprinted and within his power</line>
- <line>To leave the figure or disfigure it.</line>
- <line>Demetrius is a worthy gentleman.</line>
- </speech>
- <speech>
- <speaker>HERMIA</speaker>
- <line>So is Lysander.</line>
- </speech>
- <speech>
- <speaker>THESEUS</speaker>
- <line>In himself he is;</line>
- <line>But in this kind, wanting your father's voice,</line>
- <line>The other must be held the worthier.</line>
- </speech>
- <speech>
- <speaker>HERMIA</speaker>
- <line>I would my father look'd but with my eyes.</line>
- </speech>
- <speech>
- <speaker>THESEUS</speaker>
- <line>Rather your eyes must with his judgment look.</line>
- </speech>
- <speech>
- <speaker>HERMIA</speaker>
- <line>I do entreat your grace to pardon me.</line>
- <line>I know not by what power I am made bold,</line>
- <line>Nor how it may concern my modesty,</line>
- <line>In such a presence here to plead my thoughts;</line>
- <line>But I beseech your grace that I may know</line>
- <line>The worst that may befall me in this case,</line>
- <line>If I refuse to wed Demetrius.</line>
- </speech>
- <speech>
- <speaker>THESEUS</speaker>
- <line>Either to die the death or to abjure</line>
- <line>For ever the society of men.</line>
- <line>Therefore, fair Hermia, question your desires;</line>
- <line>Know of your youth, examine well your blood,</line>
- <line>Whether, if you yield not to your father's choice,</line>
- <line>You can endure the livery of a nun,</line>
- <line>For aye to be in shady cloister mew'd,</line>
- <line>To live a barren sister all your life,</line>
- <line>Chanting faint hymns to the cold fruitless moon.</line>
- <line>Thrice-blessed they that master so their blood,</line>
- <line>To undergo such maiden pilgrimage;</line>
- <line>But earthlier happy is the rose distill'd,</line>
- <line>Than that which withering on the virgin thorn</line>
- <line>Grows, lives and dies in single blessedness.</line>
- </speech>
- <speech>
- <speaker>HERMIA</speaker>
- <line>So will I grow, so live, so die, my lord,</line>
- <line>Ere I will my virgin patent up</line>
- <line>Unto his lordship, whose unwished yoke</line>
- <line>My soul consents not to give sovereignty.</line>
- </speech>
- <speech>
- <speaker>THESEUS</speaker>
- <line>Take time to pause; and, by the nest new moon--</line>
- <line>The sealing-day betwixt my love and me,</line>
- <line>For everlasting bond of fellowship--</line>
- <line>Upon that day either prepare to die</line>
- <line>For disobedience to your father's will,</line>
- <line>Or else to wed Demetrius, as he would;</line>
- <line>Or on Diana's altar to protest</line>
- <line>For aye austerity and single life.</line>
- </speech>
- <speech>
- <speaker>DEMETRIUS</speaker>
- <line>Relent, sweet Hermia: and, Lysander, yield</line>
- <line>Thy crazed title to my certain right.</line>
- </speech>
- <speech>
- <speaker>LYSANDER</speaker>
- <line>You have her father's love, Demetrius;</line>
- <line>Let me have Hermia's: do you marry him.</line>
- </speech>
- <speech>
- <speaker>EGEUS</speaker>
- <line>Scornful Lysander! true, he hath my love,</line>
- <line>And what is mine my love shall render him.</line>
- <line>And she is mine, and all my right of her</line>
- <line>I do estate unto Demetrius.</line>
- </speech>
- <speech>
- <speaker>LYSANDER</speaker>
- <line>I am, my lord, as well derived as he,</line>
- <line>As well possess'd; my love is more than his;</line>
- <line>My fortunes every way as fairly rank'd,</line>
- <line>If not with vantage, as Demetrius';</line>
- <line>And, which is more than all these boasts can be,</line>
- <line>I am beloved of beauteous Hermia:</line>
- <line>Why should not I then prosecute my right?</line>
- <line>Demetrius, I'll avouch it to his head,</line>
- <line>Made love to Nedar's daughter, Helena,</line>
- <line>And won her soul; and she, sweet lady, dotes,</line>
- <line>Devoutly dotes, dotes in idolatry,</line>
- <line>Upon this spotted and inconstant man.</line>
- </speech>
- <speech>
- <speaker>THESEUS</speaker>
- <line>I must confess that I have heard so much,</line>
- <line>And with Demetrius thought to have spoke thereof;</line>
- <line>But, being over-full of self-affairs,</line>
- <line>My mind did lose it. But, Demetrius, come;</line>
- <line>And come, Egeus; you shall go with me,</line>
- <line>I have some private schooling for you both.</line>
- <line>For you, fair Hermia, look you arm yourself</line>
- <line>To fit your fancies to your father's will;</line>
- <line>Or else the law of Athens yields you up--</line>
- <line>Which by no means we may extenuate--</line>
- <line>To death, or to a vow of single life.</line>
- <line>Come, my Hippolyta: what cheer, my love?</line>
- <line>Demetrius and Egeus, go along:</line>
- <line>I must employ you in some business</line>
- <line>Against our nuptial and confer with you</line>
- <line>Of something nearly that concerns yourselves.</line>
- </speech>
- <speech>
- <speaker>EGEUS</speaker>
- <line>With duty and desire we follow you.</line>
- </speech>
- <stageDirections>Exeunt all but LYSANDER and HERMIA</stageDirections>
- <speech>
- <speaker>LYSANDER</speaker>
- <line>How now, my love! why is your cheek so pale?</line>
- <line>How chance the roses there do fade so fast?</line>
- </speech>
- <speech>
- <speaker>HERMIA</speaker>
- <line>Belike for want of rain, which I could well</line>
- <line>Beteem them from the tempest of my eyes.</line>
- </speech>
- <speech>
- <speaker>LYSANDER</speaker>
- <line>Ay me! for aught that I could ever read,</line>
- <line>Could ever hear by tale or history,</line>
- <line>The course of true love never did run smooth;</line>
- <line>But, either it was different in blood,--</line>
- </speech>
- <speech>
- <speaker>HERMIA</speaker>
- <line>O cross! too high to be enthrall'd to low.</line>
- </speech>
- <speech>
- <speaker>LYSANDER</speaker>
- <line>Or else misgraffed in respect of years,--</line>
- </speech>
- <speech>
- <speaker>HERMIA</speaker>
- <line>O spite! too old to be engaged to young.</line>
- </speech>
- <speech>
- <speaker>LYSANDER</speaker>
- <line>Or else it stood upon the choice of friends,--</line>
- </speech>
- <speech>
- <speaker>HERMIA</speaker>
- <line>O hell! to choose love by another's eyes.</line>
- </speech>
- <speech>
- <speaker>LYSANDER</speaker>
- <line>Or, if there were a sympathy in choice,</line>
- <line>War, death, or sickness did lay siege to it,</line>
- <line>Making it momentany as a sound,</line>
- <line>Swift as a shadow, short as any dream;</line>
- <line>Brief as the lightning in the collied night,</line>
- <line>That, in a spleen, unfolds both heaven and earth,</line>
- <line>And ere a man hath power to say 'Behold!'</line>
- <line>The jaws of darkness do devour it up:</line>
- <line>So quick bright things come to confusion.</line>
- </speech>
- <speech>
- <speaker>HERMIA</speaker>
- <line>If then true lovers have been ever cross'd,</line>
- <line>It stands as an edict in destiny:</line>
- <line>Then let us teach our trial patience,</line>
- <line>Because it is a customary cross,</line>
- <line>As due to love as thoughts and dreams and sighs,</line>
- <line>Wishes and tears, poor fancy's followers.</line>
- </speech>
- <speech>
- <speaker>LYSANDER</speaker>
- <line>A good persuasion: therefore, hear me, Hermia.</line>
- <line>I have a widow aunt, a dowager</line>
- <line>Of great revenue, and she hath no child:</line>
- <line>From Athens is her house remote seven leagues;</line>
- <line>And she respects me as her only son.</line>
- <line>There, gentle Hermia, may I marry thee;</line>
- <line>And to that place the sharp Athenian law</line>
- <line>Cannot pursue us. If thou lovest me then,</line>
- <line>Steal forth thy father's house to-morrow night;</line>
- <line>And in the wood, a league without the town,</line>
- <line>Where I did meet thee once with Helena,</line>
- <line>To do observance to a morn of May,</line>
- <line>There will I stay for thee.</line>
- </speech>
- <speech>
- <speaker>HERMIA</speaker>
- <line>My good Lysander!</line>
- <line>I swear to thee, by Cupid's strongest bow,</line>
- <line>By his best arrow with the golden head,</line>
- <line>By the simplicity of Venus' doves,</line>
- <line>By that which knitteth souls and prospers loves,</line>
- <line>And by that fire which burn'd the Carthage queen,</line>
- <line>When the false Troyan under sail was seen,</line>
- <line>By all the vows that ever men have broke,</line>
- <line>In number more than ever women spoke,</line>
- <line>In that same place thou hast appointed me,</line>
- <line>To-morrow truly will I meet with thee.</line>
- </speech>
- <speech>
- <speaker>LYSANDER</speaker>
- <line>Keep promise, love. Look, here comes Helena.</line>
- </speech>
- <stageDirections>Enter HELENA</stageDirections>
- <speech>
- <speaker>HERMIA</speaker>
- <line>God speed fair Helena! whither away?</line>
- </speech>
- <speech>
- <speaker>HELENA</speaker>
- <line>Call you me fair? that fair again unsay.</line>
- <line>Demetrius loves your fair: O happy fair!</line>
- <line>Your eyes are lode-stars; and your tongue's sweet air</line>
- <line>More tuneable than lark to shepherd's ear,</line>
- <line>When wheat is green, when hawthorn buds appear.</line>
- <line>Sickness is catching: O, were favour so,</line>
- <line>Yours would I catch, fair Hermia, ere I go;</line>
- <line>My ear should catch your voice, my eye your eye,</line>
- <line>My tongue should catch your tongue's sweet melody.</line>
- <line>Were the world mine, Demetrius being bated,</line>
- <line>The rest I'd give to be to you translated.</line>
- <line>O, teach me how you look, and with what art</line>
- <line>You sway the motion of Demetrius' heart.</line>
- </speech>
- <speech>
- <speaker>HERMIA</speaker>
- <line>I frown upon him, yet he loves me still.</line>
- </speech>
- <speech>
- <speaker>HELENA</speaker>
- <line>O that your frowns would teach my smiles such skill!</line>
- </speech>
- <speech>
- <speaker>HERMIA</speaker>
- <line>I give him curses, yet he gives me love.</line>
- </speech>
- <speech>
- <speaker>HELENA</speaker>
- <line>O that my prayers could such affection move!</line>
- </speech>
- <speech>
- <speaker>HERMIA</speaker>
- <line>The more I hate, the more he follows me.</line>
- </speech>
- <speech>
- <speaker>HELENA</speaker>
- <line>The more I love, the more he hateth me.</line>
- </speech>
- <speech>
- <speaker>HERMIA</speaker>
- <line>His folly, Helena, is no fault of mine.</line>
- </speech>
- <speech>
- <speaker>HELENA</speaker>
- <line>None, but your beauty: would that fault were mine!</line>
- </speech>
- <speech>
- <speaker>HERMIA</speaker>
- <line>Take comfort: he no more shall see my face;</line>
- <line>Lysander and myself will fly this place.</line>
- <line>Before the time I did Lysander see,</line>
- <line>Seem'd Athens as a paradise to me:</line>
- <line>O, then, what graces in my love do dwell,</line>
- <line>That he hath turn'd a heaven unto a hell!</line>
- </speech>
- <speech>
- <speaker>LYSANDER</speaker>
- <line>Helen, to you our minds we will unfold:</line>
- <line>To-morrow night, when Phoebe doth behold</line>
- <line>Her silver visage in the watery glass,</line>
- <line>Decking with liquid pearl the bladed grass,</line>
- <line>A time that lovers' flights doth still conceal,</line>
- <line>Through Athens' gates have we devised to steal.</line>
- </speech>
- <speech>
- <speaker>HERMIA</speaker>
- <line>And in the wood, where often you and I</line>
- <line>Upon faint primrose-beds were wont to lie,</line>
- <line>Emptying our bosoms of their counsel sweet,</line>
- <line>There my Lysander and myself shall meet;</line>
- <line>And thence from Athens turn away our eyes,</line>
- <line>To seek new friends and stranger companies.</line>
- <line>Farewell, sweet playfellow: pray thou for us;</line>
- <line>And good luck grant thee thy Demetrius!</line>
- <line>Keep word, Lysander: we must starve our sight</line>
- <line>From lovers' food till morrow deep midnight.</line>
- </speech>
- <speech>
- <speaker>LYSANDER</speaker>
- <line>I will, my Hermia.</line>
- <stageDirections>Exit HERMIA</stageDirections>
- <line>Helena, adieu:</line>
- <line>As you on him, Demetrius dote on you!</line>
- </speech>
- <stageDirections>Exit</stageDirections>
- <speech>
- <speaker>HELENA</speaker>
- <line>How happy some o'er other some can be!</line>
- <line>Through Athens I am thought as fair as she.</line>
- <line>But what of that? Demetrius thinks not so;</line>
- <line>He will not know what all but he do know:</line>
- <line>And as he errs, doting on Hermia's eyes,</line>
- <line>So I, admiring of his qualities:</line>
- <line>Things base and vile, folding no quantity,</line>
- <line>Love can transpose to form and dignity:</line>
- <line>Love looks not with the eyes, but with the mind;</line>
- <line>And therefore is wing'd Cupid painted blind:</line>
- <line>Nor hath Love's mind of any judgement taste;</line>
- <line>Wings and no eyes figure unheedy haste:</line>
- <line>And therefore is Love said to be a child,</line>
- <line>Because in choice he is so oft beguiled.</line>
- <line>As waggish boys in game themselves forswear,</line>
- <line>So the boy Love is perjured every where:</line>
- <line>For ere Demetrius look'd on Hermia's eyne,</line>
- <line>He hail'd down oaths that he was only mine;</line>
- <line>And when this hail some heat from Hermia felt,</line>
- <line>So he dissolved, and showers of oaths did melt.</line>
- <line>I will go tell him of fair Hermia's flight:</line>
- <line>Then to the wood will he to-morrow night</line>
- <line>Pursue her; and for this intelligence</line>
- <line>If I have thanks, it is a dear expense:</line>
- <line>But herein mean I to enrich my pain,</line>
- <line>To have his sight thither and back again.</line>
- </speech>
- <stageDirections>Exit</stageDirections>
- </scene>
- <scene index="2" title="SCENE II. Athens. QUINCE'S house.">
- <stageDirections>Enter QUINCE, SNUG, BOTTOM, FLUTE, SNOUT, and STARVELING</stageDirections>
- <speech>
- <speaker>QUINCE</speaker>
- <line>Is all our company here?</line>
- </speech>
- <speech>
- <speaker>BOTTOM</speaker>
- <line>You were best to call them generally, man by man,</line>
- <line>according to the scrip.</line>
- </speech>
- <speech>
- <speaker>QUINCE</speaker>
- <line>Here is the scroll of every man's name, which is</line>
- <line>thought fit, through all Athens, to play in our</line>
- <line>interlude before the duke and the duchess, on his</line>
- <line>wedding-day at night.</line>
- </speech>
- <speech>
- <speaker>BOTTOM</speaker>
- <line>First, good Peter Quince, say what the play treats</line>
- <line>on, then read the names of the actors, and so grow</line>
- <line>to a point.</line>
- </speech>
- <speech>
- <speaker>QUINCE</speaker>
- <line>Marry, our play is, The most lamentable comedy, and</line>
- <line>most cruel death of Pyramus and Thisby.</line>
- </speech>
- <speech>
- <speaker>BOTTOM</speaker>
- <line>A very good piece of work, I assure you, and a</line>
- <line>merry. Now, good Peter Quince, call forth your</line>
- <line>actors by the scroll. Masters, spread yourselves.</line>
- </speech>
- <speech>
- <speaker>QUINCE</speaker>
- <line>Answer as I call you. Nick Bottom, the weaver.</line>
- </speech>
- <speech>
- <speaker>BOTTOM</speaker>
- <line>Ready. Name what part I am for, and proceed.</line>
- </speech>
- <speech>
- <speaker>QUINCE</speaker>
- <line>You, Nick Bottom, are set down for Pyramus.</line>
- </speech>
- <speech>
- <speaker>BOTTOM</speaker>
- <line>What is Pyramus? a lover, or a tyrant?</line>
- </speech>
- <speech>
- <speaker>QUINCE</speaker>
- <line>A lover, that kills himself most gallant for love.</line>
- </speech>
- <speech>
- <speaker>BOTTOM</speaker>
- <line>That will ask some tears in the true performing of</line>
- <line>it: if I do it, let the audience look to their</line>
- <line>eyes; I will move storms, I will condole in some</line>
- <line>measure. To the rest: yet my chief humour is for a</line>
- <line>tyrant: I could play Ercles rarely, or a part to</line>
- <line>tear a cat in, to make all split.</line>
- <line>The raging rocks</line>
- <line>And shivering shocks</line>
- <line>Shall break the locks</line>
- <line>Of prison gates;</line>
- <line>And Phibbus' car</line>
- <line>Shall shine from far</line>
- <line>And make and mar</line>
- <line>The foolish Fates.</line>
- <line>This was lofty! Now name the rest of the players.</line>
- <line>This is Ercles' vein, a tyrant's vein; a lover is</line>
- <line>more condoling.</line>
- </speech>
- <speech>
- <speaker>QUINCE</speaker>
- <line>Francis Flute, the bellows-mender.</line>
- </speech>
- <speech>
- <speaker>FLUTE</speaker>
- <line>Here, Peter Quince.</line>
- </speech>
- <speech>
- <speaker>QUINCE</speaker>
- <line>Flute, you must take Thisby on you.</line>
- </speech>
- <speech>
- <speaker>FLUTE</speaker>
- <line>What is Thisby? a wandering knight?</line>
- </speech>
- <speech>
- <speaker>QUINCE</speaker>
- <line>It is the lady that Pyramus must love.</line>
- </speech>
- <speech>
- <speaker>FLUTE</speaker>
- <line>Nay, faith, let me not play a woman; I have a beard coming.</line>
- </speech>
- <speech>
- <speaker>QUINCE</speaker>
- <line>That's all one: you shall play it in a mask, and</line>
- <line>you may speak as small as you will.</line>
- </speech>
- <speech>
- <speaker>BOTTOM</speaker>
- <line>An I may hide my face, let me play Thisby too, I'll</line>
- <line>speak in a monstrous little voice. 'Thisne,</line>
- <line>Thisne;' 'Ah, Pyramus, lover dear! thy Thisby dear,</line>
- <line>and lady dear!'</line>
- </speech>
- <speech>
- <speaker>QUINCE</speaker>
- <line>No, no; you must play Pyramus: and, Flute, you Thisby.</line>
- </speech>
- <speech>
- <speaker>BOTTOM</speaker>
- <line>Well, proceed.</line>
- </speech>
- <speech>
- <speaker>QUINCE</speaker>
- <line>Robin Starveling, the tailor.</line>
- </speech>
- <speech>
- <speaker>STARVELING</speaker>
- <line>Here, Peter Quince.</line>
- </speech>
- <speech>
- <speaker>QUINCE</speaker>
- <line>Robin Starveling, you must play Thisby's mother.</line>
- <line>Tom Snout, the tinker.</line>
- </speech>
- <speech>
- <speaker>SNOUT</speaker>
- <line>Here, Peter Quince.</line>
- </speech>
- <speech>
- <speaker>QUINCE</speaker>
- <line>You, Pyramus' father: myself, Thisby's father:</line>
- <line>Snug, the joiner; you, the lion's part: and, I</line>
- <line>hope, here is a play fitted.</line>
- </speech>
- <speech>
- <speaker>SNUG</speaker>
- <line>Have you the lion's part written? pray you, if it</line>
- <line>be, give it me, for I am slow of study.</line>
- </speech>
- <speech>
- <speaker>QUINCE</speaker>
- <line>You may do it extempore, for it is nothing but roaring.</line>
- </speech>
- <speech>
- <speaker>BOTTOM</speaker>
- <line>Let me play the lion too: I will roar, that I will</line>
- <line>do any man's heart good to hear me; I will roar,</line>
- <line>that I will make the duke say 'Let him roar again,</line>
- <line>let him roar again.'</line>
- </speech>
- <speech>
- <speaker>QUINCE</speaker>
- <line>An you should do it too terribly, you would fright</line>
- <line>the duchess and the ladies, that they would shriek;</line>
- <line>and that were enough to hang us all.</line>
- </speech>
- <speech>
- <speaker>ALL</speaker>
- <line>That would hang us, every mother's son.</line>
- </speech>
- <speech>
- <speaker>BOTTOM</speaker>
- <line>I grant you, friends, if that you should fright the</line>
- <line>ladies out of their wits, they would have no more</line>
- <line>discretion but to hang us: but I will aggravate my</line>
- <line>voice so that I will roar you as gently as any</line>
- <line>sucking dove; I will roar you an 'twere any</line>
- <line>nightingale.</line>
- </speech>
- <speech>
- <speaker>QUINCE</speaker>
- <line>You can play no part but Pyramus; for Pyramus is a</line>
- <line>sweet-faced man; a proper man, as one shall see in a</line>
- <line>summer's day; a most lovely gentleman-like man:</line>
- <line>therefore you must needs play Pyramus.</line>
- </speech>
- <speech>
- <speaker>BOTTOM</speaker>
- <line>Well, I will undertake it. What beard were I best</line>
- <line>to play it in?</line>
- </speech>
- <speech>
- <speaker>QUINCE</speaker>
- <line>Why, what you will.</line>
- </speech>
- <speech>
- <speaker>BOTTOM</speaker>
- <line>I will discharge it in either your straw-colour</line>
- <line>beard, your orange-tawny beard, your purple-in-grain</line>
- <line>beard, or your French-crown-colour beard, your</line>
- <line>perfect yellow.</line>
- </speech>
- <speech>
- <speaker>QUINCE</speaker>
- <line>Some of your French crowns have no hair at all, and</line>
- <line>then you will play bare-faced. But, masters, here</line>
- <line>are your parts: and I am to entreat you, request</line>
- <line>you and desire you, to con them by to-morrow night;</line>
- <line>and meet me in the palace wood, a mile without the</line>
- <line>town, by moonlight; there will we rehearse, for if</line>
- <line>we meet in the city, we shall be dogged with</line>
- <line>company, and our devices known. In the meantime I</line>
- <line>will draw a bill of properties, such as our play</line>
- <line>wants. I pray you, fail me not.</line>
- </speech>
- <speech>
- <speaker>BOTTOM</speaker>
- <line>We will meet; and there we may rehearse most</line>
- <line>obscenely and courageously. Take pains; be perfect: adieu.</line>
- </speech>
- <speech>
- <speaker>QUINCE</speaker>
- <line>At the duke's oak we meet.</line>
- </speech>
- <speech>
- <speaker>BOTTOM</speaker>
- <line>Enough; hold or cut bow-strings.</line>
- </speech>
- <stageDirections>Exeunt</stageDirections>
- </scene>
- </act>
- <act index="2" title="II">
- <scene index="1" title="SCENE I. A wood near Athens.">
- <stageDirections>Enter, from opposite sides, a Fairy, and PUCK</stageDirections>
- <speech>
- <speaker>PUCK</speaker>
- <line>How now, spirit! whither wander you?</line>
- </speech>
- <speech>
- <speaker>Fairy</speaker>
- <line>Over hill, over dale,</line>
- <line>Thorough bush, thorough brier,</line>
- <line>Over park, over pale,</line>
- <line>Thorough flood, thorough fire,</line>
- <line>I do wander everywhere,</line>
- <line>Swifter than the moon's sphere;</line>
- <line>And I serve the fairy queen,</line>
- <line>To dew her orbs upon the green.</line>
- <line>The cowslips tall her pensioners be:</line>
- <line>In their gold coats spots you see;</line>
- <line>Those be rubies, fairy favours,</line>
- <line>In those freckles live their savours:</line>
- <line>I must go seek some dewdrops here</line>
- <line>And hang a pearl in every cowslip's ear.</line>
- <line>Farewell, thou lob of spirits; I'll be gone:</line>
- <line>Our queen and all our elves come here anon.</line>
- </speech>
- <speech>
- <speaker>PUCK</speaker>
- <line>The king doth keep his revels here to-night:</line>
- <line>Take heed the queen come not within his sight;</line>
- <line>For Oberon is passing fell and wrath,</line>
- <line>Because that she as her attendant hath</line>
- <line>A lovely boy, stolen from an Indian king;</line>
- <line>She never had so sweet a changeling;</line>
- <line>And jealous Oberon would have the child</line>
- <line>Knight of his train, to trace the forests wild;</line>
- <line>But she perforce withholds the loved boy,</line>
- <line>Crowns him with flowers and makes him all her joy:</line>
- <line>And now they never meet in grove or green,</line>
- <line>By fountain clear, or spangled starlight sheen,</line>
- <line>But, they do square, that all their elves for fear</line>
- <line>Creep into acorn-cups and hide them there.</line>
- </speech>
- <speech>
- <speaker>Fairy</speaker>
- <line>Either I mistake your shape and making quite,</line>
- <line>Or else you are that shrewd and knavish sprite</line>
- <line>Call'd Robin Goodfellow: are not you he</line>
- <line>That frights the maidens of the villagery;</line>
- <line>Skim milk, and sometimes labour in the quern</line>
- <line>And bootless make the breathless housewife churn;</line>
- <line>And sometime make the drink to bear no barm;</line>
- <line>Mislead night-wanderers, laughing at their harm?</line>
- <line>Those that Hobgoblin call you and sweet Puck,</line>
- <line>You do their work, and they shall have good luck:</line>
- <line>Are not you he?</line>
- </speech>
- <speech>
- <speaker>PUCK</speaker>
- <line>Thou speak'st aright;</line>
- <line>I am that merry wanderer of the night.</line>
- <line>I jest to Oberon and make him smile</line>
- <line>When I a fat and bean-fed horse beguile,</line>
- <line>Neighing in likeness of a filly foal:</line>
- <line>And sometime lurk I in a gossip's bowl,</line>
- <line>In very likeness of a roasted crab,</line>
- <line>And when she drinks, against her lips I bob</line>
- <line>And on her wither'd dewlap pour the ale.</line>
- <line>The wisest aunt, telling the saddest tale,</line>
- <line>Sometime for three-foot stool mistaketh me;</line>
- <line>Then slip I from her bum, down topples she,</line>
- <line>And 'tailor' cries, and falls into a cough;</line>
- <line>And then the whole quire hold their hips and laugh,</line>
- <line>And waxen in their mirth and neeze and swear</line>
- <line>A merrier hour was never wasted there.</line>
- <line>But, room, fairy! here comes Oberon.</line>
- </speech>
- <speech>
- <speaker>Fairy</speaker>
- <line>And here my mistress. Would that he were gone!</line>
- </speech>
- <stageDirections>Enter, from one side, OBERON, with his train; from the other, TITANIA, with hers</stageDirections>
- <speech>
- <speaker>OBERON</speaker>
- <line>Ill met by moonlight, proud Titania.</line>
- </speech>
- <speech>
- <speaker>TITANIA</speaker>
- <line>What, jealous Oberon! Fairies, skip hence:</line>
- <line>I have forsworn his bed and company.</line>
- </speech>
- <speech>
- <speaker>OBERON</speaker>
- <line>Tarry, rash wanton: am not I thy lord?</line>
- </speech>
- <speech>
- <speaker>TITANIA</speaker>
- <line>Then I must be thy lady: but I know</line>
- <line>When thou hast stolen away from fairy land,</line>
- <line>And in the shape of Corin sat all day,</line>
- <line>Playing on pipes of corn and versing love</line>
- <line>To amorous Phillida. Why art thou here,</line>
- <line>Come from the farthest Steppe of India?</line>
- <line>But that, forsooth, the bouncing Amazon,</line>
- <line>Your buskin'd mistress and your warrior love,</line>
- <line>To Theseus must be wedded, and you come</line>
- <line>To give their bed joy and prosperity.</line>
- </speech>
- <speech>
- <speaker>OBERON</speaker>
- <line>How canst thou thus for shame, Titania,</line>
- <line>Glance at my credit with Hippolyta,</line>
- <line>Knowing I know thy love to Theseus?</line>
- <line>Didst thou not lead him through the glimmering night</line>
- <line>From Perigenia, whom he ravished?</line>
- <line>And make him with fair AEgle break his faith,</line>
- <line>With Ariadne and Antiopa?</line>
- </speech>
- <speech>
- <speaker>TITANIA</speaker>
- <line>These are the forgeries of jealousy:</line>
- <line>And never, since the middle summer's spring,</line>
- <line>Met we on hill, in dale, forest or mead,</line>
- <line>By paved fountain or by rushy brook,</line>
- <line>Or in the beached margent of the sea,</line>
- <line>To dance our ringlets to the whistling wind,</line>
- <line>But with thy brawls thou hast disturb'd our sport.</line>
- <line>Therefore the winds, piping to us in vain,</line>
- <line>As in revenge, have suck'd up from the sea</line>
- <line>Contagious fogs; which falling in the land</line>
- <line>Have every pelting river made so proud</line>
- <line>That they have overborne their continents:</line>
- <line>The ox hath therefore stretch'd his yoke in vain,</line>
- <line>The ploughman lost his sweat, and the green corn</line>
- <line>Hath rotted ere his youth attain'd a beard;</line>
- <line>The fold stands empty in the drowned field,</line>
- <line>And crows are fatted with the murrion flock;</line>
- <line>The nine men's morris is fill'd up with mud,</line>
- <line>And the quaint mazes in the wanton green</line>
- <line>For lack of tread are undistinguishable:</line>
- <line>The human mortals want their winter here;</line>
- <line>No night is now with hymn or carol blest:</line>
- <line>Therefore the moon, the governess of floods,</line>
- <line>Pale in her anger, washes all the air,</line>
- <line>That rheumatic diseases do abound:</line>
- <line>And thorough this distemperature we see</line>
- <line>The seasons alter: hoary-headed frosts</line>
- <line>Far in the fresh lap of the crimson rose,</line>
- <line>And on old Hiems' thin and icy crown</line>
- <line>An odorous chaplet of sweet summer buds</line>
- <line>Is, as in mockery, set: the spring, the summer,</line>
- <line>The childing autumn, angry winter, change</line>
- <line>Their wonted liveries, and the mazed world,</line>
- <line>By their increase, now knows not which is which:</line>
- <line>And this same progeny of evils comes</line>
- <line>From our debate, from our dissension;</line>
- <line>We are their parents and original.</line>
- </speech>
- <speech>
- <speaker>OBERON</speaker>
- <line>Do you amend it then; it lies in you:</line>
- <line>Why should Titania cross her Oberon?</line>
- <line>I do but beg a little changeling boy,</line>
- <line>To be my henchman.</line>
- </speech>
- <speech>
- <speaker>TITANIA</speaker>
- <line>Set your heart at rest:</line>
- <line>The fairy land buys not the child of me.</line>
- <line>His mother was a votaress of my order:</line>
- <line>And, in the spiced Indian air, by night,</line>
- <line>Full often hath she gossip'd by my side,</line>
- <line>And sat with me on Neptune's yellow sands,</line>
- <line>Marking the embarked traders on the flood,</line>
- <line>When we have laugh'd to see the sails conceive</line>
- <line>And grow big-bellied with the wanton wind;</line>
- <line>Which she, with pretty and with swimming gait</line>
- <line>Following,--her womb then rich with my young squire,--</line>
- <line>Would imitate, and sail upon the land,</line>
- <line>To fetch me trifles, and return again,</line>
- <line>As from a voyage, rich with merchandise.</line>
- <line>But she, being mortal, of that boy did die;</line>
- <line>And for her sake do I rear up her boy,</line>
- <line>And for her sake I will not part with him.</line>
- </speech>
- <speech>
- <speaker>OBERON</speaker>
- <line>How long within this wood intend you stay?</line>
- </speech>
- <speech>
- <speaker>TITANIA</speaker>
- <line>Perchance till after Theseus' wedding-day.</line>
- <line>If you will patiently dance in our round</line>
- <line>And see our moonlight revels, go with us;</line>
- <line>If not, shun me, and I will spare your haunts.</line>
- </speech>
- <speech>
- <speaker>OBERON</speaker>
- <line>Give me that boy, and I will go with thee.</line>
- </speech>
- <speech>
- <speaker>TITANIA</speaker>
- <line>Not for thy fairy kingdom. Fairies, away!</line>
- <line>We shall chide downright, if I longer stay.</line>
- </speech>
- <stageDirections>Exit TITANIA with her train</stageDirections>
- <speech>
- <speaker>OBERON</speaker>
- <line>Well, go thy way: thou shalt not from this grove</line>
- <line>Till I torment thee for this injury.</line>
- <line>My gentle Puck, come hither. Thou rememberest</line>
- <line>Since once I sat upon a promontory,</line>
- <line>And heard a mermaid on a dolphin's back</line>
- <line>Uttering such dulcet and harmonious breath</line>
- <line>That the rude sea grew civil at her song</line>
- <line>And certain stars shot madly from their spheres,</line>
- <line>To hear the sea-maid's music.</line>
- </speech>
- <speech>
- <speaker>PUCK</speaker>
- <line>I remember.</line>
- </speech>
- <speech>
- <speaker>OBERON</speaker>
- <line>That very time I saw, but thou couldst not,</line>
- <line>Flying between the cold moon and the earth,</line>
- <line>Cupid all arm'd: a certain aim he took</line>
- <line>At a fair vestal throned by the west,</line>
- <line>And loosed his love-shaft smartly from his bow,</line>
- <line>As it should pierce a hundred thousand hearts;</line>
- <line>But I might see young Cupid's fiery shaft</line>
- <line>Quench'd in the chaste beams of the watery moon,</line>
- <line>And the imperial votaress passed on,</line>
- <line>In maiden meditation, fancy-free.</line>
- <line>Yet mark'd I where the bolt of Cupid fell:</line>
- <line>It fell upon a little western flower,</line>
- <line>Before milk-white, now purple with love's wound,</line>
- <line>And maidens call it love-in-idleness.</line>
- <line>Fetch me that flower; the herb I shew'd thee once:</line>
- <line>The juice of it on sleeping eye-lids laid</line>
- <line>Will make or man or woman madly dote</line>
- <line>Upon the next live creature that it sees.</line>
- <line>Fetch me this herb; and be thou here again</line>
- <line>Ere the leviathan can swim a league.</line>
- </speech>
- <speech>
- <speaker>PUCK</speaker>
- <line>I'll put a girdle round about the earth</line>
- <line>In forty minutes.</line>
- </speech>
- <stageDirections>Exit</stageDirections>
- <speech>
- <speaker>OBERON</speaker>
- <line>Having once this juice,</line>
- <line>I'll watch Titania when she is asleep,</line>
- <line>And drop the liquor of it in her eyes.</line>
- <line>The next thing then she waking looks upon,</line>
- <line>Be it on lion, bear, or wolf, or bull,</line>
- <line>On meddling monkey, or on busy ape,</line>
- <line>She shall pursue it with the soul of love:</line>
- <line>And ere I take this charm from off her sight,</line>
- <line>As I can take it with another herb,</line>
- <line>I'll make her render up her page to me.</line>
- <line>But who comes here? I am invisible;</line>
- <line>And I will overhear their conference.</line>
- </speech>
- <stageDirections>Enter DEMETRIUS, HELENA, following him</stageDirections>
- <speech>
- <speaker>DEMETRIUS</speaker>
- <line>I love thee not, therefore pursue me not.</line>
- <line>Where is Lysander and fair Hermia?</line>
- <line>The one I'll slay, the other slayeth me.</line>
- <line>Thou told'st me they were stolen unto this wood;</line>
- <line>And here am I, and wode within this wood,</line>
- <line>Because I cannot meet my Hermia.</line>
- <line>Hence, get thee gone, and follow me no more.</line>
- </speech>
- <speech>
- <speaker>HELENA</speaker>
- <line>You draw me, you hard-hearted adamant;</line>
- <line>But yet you draw not iron, for my heart</line>
- <line>Is true as steel: leave you your power to draw,</line>
- <line>And I shall have no power to follow you.</line>
- </speech>
- <speech>
- <speaker>DEMETRIUS</speaker>
- <line>Do I entice you? do I speak you fair?</line>
- <line>Or, rather, do I not in plainest truth</line>
- <line>Tell you, I do not, nor I cannot love you?</line>
- </speech>
- <speech>
- <speaker>HELENA</speaker>
- <line>And even for that do I love you the more.</line>
- <line>I am your spaniel; and, Demetrius,</line>
- <line>The more you beat me, I will fawn on you:</line>
- <line>Use me but as your spaniel, spurn me, strike me,</line>
- <line>Neglect me, lose me; only give me leave,</line>
- <line>Unworthy as I am, to follow you.</line>
- <line>What worser place can I beg in your love,--</line>
- <line>And yet a place of high respect with me,--</line>
- <line>Than to be used as you use your dog?</line>
- </speech>
- <speech>
- <speaker>DEMETRIUS</speaker>
- <line>Tempt not too much the hatred of my spirit;</line>
- <line>For I am sick when I do look on thee.</line>
- </speech>
- <speech>
- <speaker>HELENA</speaker>
- <line>And I am sick when I look not on you.</line>
- </speech>
- <speech>
- <speaker>DEMETRIUS</speaker>
- <line>You do impeach your modesty too much,</line>
- <line>To leave the city and commit yourself</line>
- <line>Into the hands of one that loves you not;</line>
- <line>To trust the opportunity of night</line>
- <line>And the ill counsel of a desert place</line>
- <line>With the rich worth of your virginity.</line>
- </speech>
- <speech>
- <speaker>HELENA</speaker>
- <line>Your virtue is my privilege: for that</line>
- <line>It is not night when I do see your face,</line>
- <line>Therefore I think I am not in the night;</line>
- <line>Nor doth this wood lack worlds of company,</line>
- <line>For you in my respect are all the world:</line>
- <line>Then how can it be said I am alone,</line>
- <line>When all the world is here to look on me?</line>
- </speech>
- <speech>
- <speaker>DEMETRIUS</speaker>
- <line>I'll run from thee and hide me in the brakes,</line>
- <line>And leave thee to the mercy of wild beasts.</line>
- </speech>
- <speech>
- <speaker>HELENA</speaker>
- <line>The wildest hath not such a heart as you.</line>
- <line>Run when you will, the story shall be changed:</line>
- <line>Apollo flies, and Daphne holds the chase;</line>
- <line>The dove pursues the griffin; the mild hind</line>
- <line>Makes speed to catch the tiger; bootless speed,</line>
- <line>When cowardice pursues and valour flies.</line>
- </speech>
- <speech>
- <speaker>DEMETRIUS</speaker>
- <line>I will not stay thy questions; let me go:</line>
- <line>Or, if thou follow me, do not believe</line>
- <line>But I shall do thee mischief in the wood.</line>
- </speech>
- <speech>
- <speaker>HELENA</speaker>
- <line>Ay, in the temple, in the town, the field,</line>
- <line>You do me mischief. Fie, Demetrius!</line>
- <line>Your wrongs do set a scandal on my sex:</line>
- <line>We cannot fight for love, as men may do;</line>
- <line>We should be wood and were not made to woo.</line>
- <stageDirections>Exit DEMETRIUS</stageDirections>
- <line>I'll follow thee and make a heaven of hell,</line>
- <line>To die upon the hand I love so well.</line>
- </speech>
- <stageDirections>Exit</stageDirections>
- <speech>
- <speaker>OBERON</speaker>
- <line>Fare thee well, nymph: ere he do leave this grove,</line>
- <line>Thou shalt fly him and he shall seek thy love.</line>
- <stageDirections>Re-enter PUCK</stageDirections>
- <line>Hast thou the flower there? Welcome, wanderer.</line>
- </speech>
- <speech>
- <speaker>PUCK</speaker>
- <line>Ay, there it is.</line>
- </speech>
- <speech>
- <speaker>OBERON</speaker>
- <line>I pray thee, give it me.</line>
- <line>I know a bank where the wild thyme blows,</line>
- <line>Where oxlips and the nodding violet grows,</line>
- <line>Quite over-canopied with luscious woodbine,</line>
- <line>With sweet musk-roses and with eglantine:</line>
- <line>There sleeps Titania sometime of the night,</line>
- <line>Lull'd in these flowers with dances and delight;</line>
- <line>And there the snake throws her enamell'd skin,</line>
- <line>Weed wide enough to wrap a fairy in:</line>
- <line>And with the juice of this I'll streak her eyes,</line>
- <line>And make her full of hateful fantasies.</line>
- <line>Take thou some of it, and seek through this grove:</line>
- <line>A sweet Athenian lady is in love</line>
- <line>With a disdainful youth: anoint his eyes;</line>
- <line>But do it when the next thing he espies</line>
- <line>May be the lady: thou shalt know the man</line>
- <line>By the Athenian garments he hath on.</line>
- <line>Effect it with some care, that he may prove</line>
- <line>More fond on her than she upon her love:</line>
- <line>And look thou meet me ere the first cock crow.</line>
- </speech>
- <speech>
- <speaker>PUCK</speaker>
- <line>Fear not, my lord, your servant shall do so.</line>
- </speech>
- <stageDirections>Exeunt</stageDirections>
- </scene>
- <scene index="2" title="SCENE II. Another part of the wood.">
- <stageDirections>Enter TITANIA, with her train</stageDirections>
- <speech>
- <speaker>TITANIA</speaker>
- <line>Come, now a roundel and a fairy song;</line>
- <line>Then, for the third part of a minute, hence;</line>
- <line>Some to kill cankers in the musk-rose buds,</line>
- <line>Some war with rere-mice for their leathern wings,</line>
- <line>To make my small elves coats, and some keep back</line>
- <line>The clamorous owl that nightly hoots and wonders</line>
- <line>At our quaint spirits. Sing me now asleep;</line>
- <line>Then to your offices and let me rest.</line>
- <stageDirections>The Fairies sing</stageDirections>
- <line>You spotted snakes with double tongue,</line>
- <line>Thorny hedgehogs, be not seen;</line>
- <line>Newts and blind-worms, do no wrong,</line>
- <line>Come not near our fairy queen.</line>
- <line>Philomel, with melody</line>
- <line>Sing in our sweet lullaby;</line>
- <line>Lulla, lulla, lullaby, lulla, lulla, lullaby:</line>
- <line>Never harm,</line>
- <line>Nor spell nor charm,</line>
- <line>Come our lovely lady nigh;</line>
- <line>So, good night, with lullaby.</line>
- <line>Weaving spiders, come not here;</line>
- <line>Hence, you long-legg'd spinners, hence!</line>
- <line>Beetles black, approach not near;</line>
- <line>Worm nor snail, do no offence.</line>
- <line>Philomel, with melody, &amp;c.</line>
- </speech>
- <speech>
- <speaker>Fairy</speaker>
- <line>Hence, away! now all is well:</line>
- <line>One aloof stand sentinel.</line>
- </speech>
- <stageDirections>Exeunt Fairies. TITANIA sleeps</stageDirections>
- <stageDirections>Enter OBERON and squeezes the flower on TITANIA's eyelids</stageDirections>
- <speech>
- <speaker>OBERON</speaker>
- <line>What thou seest when thou dost wake,</line>
- <line>Do it for thy true-love take,</line>
- <line>Love and languish for his sake:</line>
- <line>Be it ounce, or cat, or bear,</line>
- <line>Pard, or boar with bristled hair,</line>
- <line>In thy eye that shall appear</line>
- <line>When thou wakest, it is thy dear:</line>
- <line>Wake when some vile thing is near.</line>
- </speech>
- <stageDirections>Exit</stageDirections>
- <stageDirections>Enter LYSANDER and HERMIA</stageDirections>
- <speech>
- <speaker>LYSANDER</speaker>
- <line>Fair love, you faint with wandering in the wood;</line>
- <line>And to speak troth, I have forgot our way:</line>
- <line>We'll rest us, Hermia, if you think it good,</line>
- <line>And tarry for the comfort of the day.</line>
- </speech>
- <speech>
- <speaker>HERMIA</speaker>
- <line>Be it so, Lysander: find you out a bed;</line>
- <line>For I upon this bank will rest my head.</line>
- </speech>
- <speech>
- <speaker>LYSANDER</speaker>
- <line>One turf shall serve as pillow for us both;</line>
- <line>One heart, one bed, two bosoms and one troth.</line>
- </speech>
- <speech>
- <speaker>HERMIA</speaker>
- <line>Nay, good Lysander; for my sake, my dear,</line>
- <line>Lie further off yet, do not lie so near.</line>
- </speech>
- <speech>
- <speaker>LYSANDER</speaker>
- <line>O, take the sense, sweet, of my innocence!</line>
- <line>Love takes the meaning in love's conference.</line>
- <line>I mean, that my heart unto yours is knit</line>
- <line>So that but one heart we can make of it;</line>
- <line>Two bosoms interchained with an oath;</line>
- <line>So then two bosoms and a single troth.</line>
- <line>Then by your side no bed-room me deny;</line>
- <line>For lying so, Hermia, I do not lie.</line>
- </speech>
- <speech>
- <speaker>HERMIA</speaker>
- <line>Lysander riddles very prettily:</line>
- <line>Now much beshrew my manners and my pride,</line>
- <line>If Hermia meant to say Lysander lied.</line>
- <line>But, gentle friend, for love and courtesy</line>
- <line>Lie further off; in human modesty,</line>
- <line>Such separation as may well be said</line>
- <line>Becomes a virtuous bachelor and a maid,</line>
- <line>So far be distant; and, good night, sweet friend:</line>
- <line>Thy love ne'er alter till thy sweet life end!</line>
- </speech>
- <speech>
- <speaker>LYSANDER</speaker>
- <line>Amen, amen, to that fair prayer, say I;</line>
- <line>And then end life when I end loyalty!</line>
- <line>Here is my bed: sleep give thee all his rest!</line>
- </speech>
- <speech>
- <speaker>HERMIA</speaker>
- <line>With half that wish the wisher's eyes be press'd!</line>
- </speech>
- <stageDirections>They sleep</stageDirections>
- <stageDirections>Enter PUCK</stageDirections>
- <speech>
- <speaker>PUCK</speaker>
- <line>Through the forest have I gone.</line>
- <line>But Athenian found I none,</line>
- <line>On whose eyes I might approve</line>
- <line>This flower's force in stirring love.</line>
- <line>Night and silence.--Who is here?</line>
- <line>Weeds of Athens he doth wear:</line>
- <line>This is he, my master said,</line>
- <line>Despised the Athenian maid;</line>
- <line>And here the maiden, sleeping sound,</line>
- <line>On the dank and dirty ground.</line>
- <line>Pretty soul! she durst not lie</line>
- <line>Near this lack-love, this kill-courtesy.</line>
- <line>Churl, upon thy eyes I throw</line>
- <line>All the power this charm doth owe.</line>
- <line>When thou wakest, let love forbid</line>
- <line>Sleep his seat on thy eyelid:</line>
- <line>So awake when I am gone;</line>
- <line>For I must now to Oberon.</line>
- </speech>
- <stageDirections>Exit</stageDirections>
- <stageDirections>Enter DEMETRIUS and HELENA, running</stageDirections>
- <speech>
- <speaker>HELENA</speaker>
- <line>Stay, though thou kill me, sweet Demetrius.</line>
- </speech>
- <speech>
- <speaker>DEMETRIUS</speaker>
- <line>I charge thee, hence, and do not haunt me thus.</line>
- </speech>
- <speech>
- <speaker>HELENA</speaker>
- <line>O, wilt thou darkling leave me? do not so.</line>
- </speech>
- <speech>
- <speaker>DEMETRIUS</speaker>
- <line>Stay, on thy peril: I alone will go.</line>
- </speech>
- <stageDirections>Exit</stageDirections>
- <speech>
- <speaker>HELENA</speaker>
- <line>O, I am out of breath in this fond chase!</line>
- <line>The more my prayer, the lesser is my grace.</line>
- <line>Happy is Hermia, wheresoe'er she lies;</line>
- <line>For she hath blessed and attractive eyes.</line>
- <line>How came her eyes so bright? Not with salt tears:</line>
- <line>If so, my eyes are oftener wash'd than hers.</line>
- <line>No, no, I am as ugly as a bear;</line>
- <line>For beasts that meet me run away for fear:</line>
- <line>Therefore no marvel though Demetrius</line>
- <line>Do, as a monster fly my presence thus.</line>
- <line>What wicked and dissembling glass of mine</line>
- <line>Made me compare with Hermia's sphery eyne?</line>
- <line>But who is here? Lysander! on the ground!</line>
- <line>Dead? or asleep? I see no blood, no wound.</line>
- <line>Lysander if you live, good sir, awake.</line>
- </speech>
- <speech>
- <speaker>LYSANDER</speaker>
- <stageDirections>Awaking</stageDirections>
- <line>And run through fire I will for thy sweet sake.</line>
- <line>Transparent Helena! Nature shows art,</line>
- <line>That through thy bosom makes me see thy heart.</line>
- <line>Where is Demetrius? O, how fit a word</line>
- <line>Is that vile name to perish on my sword!</line>
- </speech>
- <speech>
- <speaker>HELENA</speaker>
- <line>Do not say so, Lysander; say not so</line>
- <line>What though he love your Hermia? Lord, what though?</line>
- <line>Yet Hermia still loves you: then be content.</line>
- </speech>
- <speech>
- <speaker>LYSANDER</speaker>
- <line>Content with Hermia! No; I do repent</line>
- <line>The tedious minutes I with her have spent.</line>
- <line>Not Hermia but Helena I love:</line>
- <line>Who will not change a raven for a dove?</line>
- <line>The will of man is by his reason sway'd;</line>
- <line>And reason says you are the worthier maid.</line>
- <line>Things growing are not ripe until their season</line>
- <line>So I, being young, till now ripe not to reason;</line>
- <line>And touching now the point of human skill,</line>
- <line>Reason becomes the marshal to my will</line>
- <line>And leads me to your eyes, where I o'erlook</line>
- <line>Love's stories written in love's richest book.</line>
- </speech>
- <speech>
- <speaker>HELENA</speaker>
- <line>Wherefore was I to this keen mockery born?</line>
- <line>When at your hands did I deserve this scorn?</line>
- <line>Is't not enough, is't not enough, young man,</line>
- <line>That I did never, no, nor never can,</line>
- <line>Deserve a sweet look from Demetrius' eye,</line>
- <line>But you must flout my insufficiency?</line>
- <line>Good troth, you do me wrong, good sooth, you do,</line>
- <line>In such disdainful manner me to woo.</line>
- <line>But fare you well: perforce I must confess</line>
- <line>I thought you lord of more true gentleness.</line>
- <line>O, that a lady, of one man refused.</line>
- <line>Should of another therefore be abused!</line>
- </speech>
- <stageDirections>Exit</stageDirections>
- <speech>
- <speaker>LYSANDER</speaker>
- <line>She sees not Hermia. Hermia, sleep thou there:</line>
- <line>And never mayst thou come Lysander near!</line>
- <line>For as a surfeit of the sweetest things</line>
- <line>The deepest loathing to the stomach brings,</line>
- <line>Or as tie heresies that men do leave</line>
- <line>Are hated most of those they did deceive,</line>
- <line>So thou, my surfeit and my heresy,</line>
- <line>Of all be hated, but the most of me!</line>
- <line>And, all my powers, address your love and might</line>
- <line>To honour Helen and to be her knight!</line>
- </speech>
- <stageDirections>Exit</stageDirections>
- <speech>
- <speaker>HERMIA</speaker>
- <stageDirections>Awaking</stageDirections>
- <line>Help me, Lysander, help me! do thy best</line>
- <line>To pluck this crawling serpent from my breast!</line>
- <line>Ay me, for pity! what a dream was here!</line>
- <line>Lysander, look how I do quake with fear:</line>
- <line>Methought a serpent eat my heart away,</line>
- <line>And you sat smiling at his cruel pray.</line>
- <line>Lysander! what, removed? Lysander! lord!</line>
- <line>What, out of hearing? gone? no sound, no word?</line>
- <line>Alack, where are you speak, an if you hear;</line>
- <line>Speak, of all loves! I swoon almost with fear.</line>
- <line>No? then I well perceive you all not nigh</line>
- <line>Either death or you I'll find immediately.</line>
- </speech>
- <stageDirections>Exit</stageDirections>
- </scene>
- </act>
- <act index="3" title="III">
- <scene index="1" title="SCENE I. The wood. TITANIA lying asleep.">
- <stageDirections>Enter QUINCE, SNUG, BOTTOM, FLUTE, SNOUT, and STARVELING</stageDirections>
- <speech>
- <speaker>BOTTOM</speaker>
- <line>Are we all met?</line>
- </speech>
- <speech>
- <speaker>QUINCE</speaker>
- <line>Pat, pat; and here's a marvellous convenient place</line>
- <line>for our rehearsal. This green plot shall be our</line>
- <line>stage, this hawthorn-brake our tiring-house; and we</line>
- <line>will do it in action as we will do it before the duke.</line>
- </speech>
- <speech>
- <speaker>BOTTOM</speaker>
- <line>Peter Quince,--</line>
- </speech>
- <speech>
- <speaker>QUINCE</speaker>
- <line>What sayest thou, bully Bottom?</line>
- </speech>
- <speech>
- <speaker>BOTTOM</speaker>
- <line>There are things in this comedy of Pyramus and</line>
- <line>Thisby that will never please. First, Pyramus must</line>
- <line>draw a sword to kill himself; which the ladies</line>
- <line>cannot abide. How answer you that?</line>
- </speech>
- <speech>
- <speaker>SNOUT</speaker>
- <line>By'r lakin, a parlous fear.</line>
- </speech>
- <speech>
- <speaker>STARVELING</speaker>
- <line>I believe we must leave the killing out, when all is done.</line>
- </speech>
- <speech>
- <speaker>BOTTOM</speaker>
- <line>Not a whit: I have a device to make all well.</line>
- <line>Write me a prologue; and let the prologue seem to</line>
- <line>say, we will do no harm with our swords, and that</line>
- <line>Pyramus is not killed indeed; and, for the more</line>
- <line>better assurance, tell them that I, Pyramus, am not</line>
- <line>Pyramus, but Bottom the weaver: this will put them</line>
- <line>out of fear.</line>
- </speech>
- <speech>
- <speaker>QUINCE</speaker>
- <line>Well, we will have such a prologue; and it shall be</line>
- <line>written in eight and six.</line>
- </speech>
- <speech>
- <speaker>BOTTOM</speaker>
- <line>No, make it two more; let it be written in eight and eight.</line>
- </speech>
- <speech>
- <speaker>SNOUT</speaker>
- <line>Will not the ladies be afeard of the lion?</line>
- </speech>
- <speech>
- <speaker>STARVELING</speaker>
- <line>I fear it, I promise you.</line>
- </speech>
- <speech>
- <speaker>BOTTOM</speaker>
- <line>Masters, you ought to consider with yourselves: to</line>
- <line>bring in--God shield us!--a lion among ladies, is a</line>
- <line>most dreadful thing; for there is not a more fearful</line>
- <line>wild-fowl than your lion living; and we ought to</line>
- <line>look to 't.</line>
- </speech>
- <speech>
- <speaker>SNOUT</speaker>
- <line>Therefore another prologue must tell he is not a lion.</line>
- </speech>
- <speech>
- <speaker>BOTTOM</speaker>
- <line>Nay, you must name his name, and half his face must</line>
- <line>be seen through the lion's neck: and he himself</line>
- <line>must speak through, saying thus, or to the same</line>
- <line>defect,--'Ladies,'--or 'Fair-ladies--I would wish</line>
- <line>You,'--or 'I would request you,'--or 'I would</line>
- <line>entreat you,--not to fear, not to tremble: my life</line>
- <line>for yours. If you think I come hither as a lion, it</line>
- <line>were pity of my life: no I am no such thing; I am a</line>
- <line>man as other men are;' and there indeed let him name</line>
- <line>his name, and tell them plainly he is Snug the joiner.</line>
- </speech>
- <speech>
- <speaker>QUINCE</speaker>
- <line>Well it shall be so. But there is two hard things;</line>
- <line>that is, to bring the moonlight into a chamber; for,</line>
- <line>you know, Pyramus and Thisby meet by moonlight.</line>
- </speech>
- <speech>
- <speaker>SNOUT</speaker>
- <line>Doth the moon shine that night we play our play?</line>
- </speech>
- <speech>
- <speaker>BOTTOM</speaker>
- <line>A calendar, a calendar! look in the almanac; find</line>
- <line>out moonshine, find out moonshine.</line>
- </speech>
- <speech>
- <speaker>QUINCE</speaker>
- <line>Yes, it doth shine that night.</line>
- </speech>
- <speech>
- <speaker>BOTTOM</speaker>
- <line>Why, then may you leave a casement of the great</line>
- <line>chamber window, where we play, open, and the moon</line>
- <line>may shine in at the casement.</line>
- </speech>
- <speech>
- <speaker>QUINCE</speaker>
- <line>Ay; or else one must come in with a bush of thorns</line>
- <line>and a lanthorn, and say he comes to disfigure, or to</line>
- <line>present, the person of Moonshine. Then, there is</line>
- <line>another thing: we must have a wall in the great</line>
- <line>chamber; for Pyramus and Thisby says the story, did</line>
- <line>talk through the chink of a wall.</line>
- </speech>
- <speech>
- <speaker>SNOUT</speaker>
- <line>You can never bring in a wall. What say you, Bottom?</line>
- </speech>
- <speech>
- <speaker>BOTTOM</speaker>
- <line>Some man or other must present Wall: and let him</line>
- <line>have some plaster, or some loam, or some rough-cast</line>
- <line>about him, to signify wall; and let him hold his</line>
- <line>fingers thus, and through that cranny shall Pyramus</line>
- <line>and Thisby whisper.</line>
- </speech>
- <speech>
- <speaker>QUINCE</speaker>
- <line>If that may be, then all is well. Come, sit down,</line>
- <line>every mother's son, and rehearse your parts.</line>
- <line>Pyramus, you begin: when you have spoken your</line>
- <line>speech, enter into that brake: and so every one</line>
- <line>according to his cue.</line>
- </speech>
- <stageDirections>Enter PUCK behind</stageDirections>
- <speech>
- <speaker>PUCK</speaker>
- <line>What hempen home-spuns have we swaggering here,</line>
- <line>So near the cradle of the fairy queen?</line>
- <line>What, a play toward! I'll be an auditor;</line>
- <line>An actor too, perhaps, if I see cause.</line>
- </speech>
- <speech>
- <speaker>QUINCE</speaker>
- <line>Speak, Pyramus. Thisby, stand forth.</line>
- </speech>
- <speech>
- <speaker>BOTTOM</speaker>
- <line>Thisby, the flowers of odious savours sweet,--</line>
- </speech>
- <speech>
- <speaker>QUINCE</speaker>
- <line>Odours, odours.</line>
- </speech>
- <speech>
- <speaker>BOTTOM</speaker>
- <line>--odours savours sweet:</line>
- <line>So hath thy breath, my dearest Thisby dear.</line>
- <line>But hark, a voice! stay thou but here awhile,</line>
- <line>And by and by I will to thee appear.</line>
- </speech>
- <stageDirections>Exit</stageDirections>
- <speech>
- <speaker>PUCK</speaker>
- <line>A stranger Pyramus than e'er played here.</line>
- </speech>
- <stageDirections>Exit</stageDirections>
- <speech>
- <speaker>FLUTE</speaker>
- <line>Must I speak now?</line>
- </speech>
- <speech>
- <speaker>QUINCE</speaker>
- <line>Ay, marry, must you; for you must understand he goes</line>
- <line>but to see a noise that he heard, and is to come again.</line>
- </speech>
- <speech>
- <speaker>FLUTE</speaker>
- <line>Most radiant Pyramus, most lily-white of hue,</line>
- <line>Of colour like the red rose on triumphant brier,</line>
- <line>Most brisky juvenal and eke most lovely Jew,</line>
- <line>As true as truest horse that yet would never tire,</line>
- <line>I'll meet thee, Pyramus, at Ninny's tomb.</line>
- </speech>
- <speech>
- <speaker>QUINCE</speaker>
- <line>'Ninus' tomb,' man: why, you must not speak that</line>
- <line>yet; that you answer to Pyramus: you speak all your</line>
- <line>part at once, cues and all Pyramus enter: your cue</line>
- <line>is past; it is, 'never tire.'</line>
- </speech>
- <speech>
- <speaker>FLUTE</speaker>
- <line>O,--As true as truest horse, that yet would</line>
- <line>never tire.</line>
- </speech>
- <stageDirections>Re-enter PUCK, and BOTTOM with an ass's head</stageDirections>
- <speech>
- <speaker>BOTTOM</speaker>
- <line>If I were fair, Thisby, I were only thine.</line>
- </speech>
- <speech>
- <speaker>QUINCE</speaker>
- <line>O monstrous! O strange! we are haunted. Pray,</line>
- <line>masters! fly, masters! Help!</line>
- </speech>
- <stageDirections>Exeunt QUINCE, SNUG, FLUTE, SNOUT, and STARVELING</stageDirections>
- <speech>
- <speaker>PUCK</speaker>
- <line>I'll follow you, I'll lead you about a round,</line>
- <line>Through bog, through bush, through brake, through brier:</line>
- <line>Sometime a horse I'll be, sometime a hound,</line>
- <line>A hog, a headless bear, sometime a fire;</line>
- <line>And neigh, and bark, and grunt, and roar, and burn,</line>
- <line>Like horse, hound, hog, bear, fire, at every turn.</line>
- </speech>
- <stageDirections>Exit</stageDirections>
- <speech>
- <speaker>BOTTOM</speaker>
- <line>Why do they run away? this is a knavery of them to</line>
- <line>make me afeard.</line>
- </speech>
- <stageDirections>Re-enter SNOUT</stageDirections>
- <speech>
- <speaker>SNOUT</speaker>
- <line>O Bottom, thou art changed! what do I see on thee?</line>
- </speech>
- <speech>
- <speaker>BOTTOM</speaker>
- <line>What do you see? you see an asshead of your own, do</line>
- <line>you?</line>
- </speech>
- <stageDirections>Exit SNOUT</stageDirections>
- <stageDirections>Re-enter QUINCE</stageDirections>
- <speech>
- <speaker>QUINCE</speaker>
- <line>Bless thee, Bottom! bless thee! thou art</line>
- <line>translated.</line>
- </speech>
- <stageDirections>Exit</stageDirections>
- <speech>
- <speaker>BOTTOM</speaker>
- <line>I see their knavery: this is to make an ass of me;</line>
- <line>to fright me, if they could. But I will not stir</line>
- <line>from this place, do what they can: I will walk up</line>
- <line>and down here, and I will sing, that they shall hear</line>
- <line>I am not afraid.</line>
- <stageDirections>Sings</stageDirections>
- <line>The ousel cock so black of hue,</line>
- <line>With orange-tawny bill,</line>
- <line>The throstle with his note so true,</line>
- <line>The wren with little quill,--</line>
- </speech>
- <speech>
- <speaker>TITANIA</speaker>
- <stageDirections>Awaking</stageDirections>
- <line>What angel wakes me from my flowery bed?</line>
- </speech>
- <speech>
- <speaker>BOTTOM</speaker>
- <stageDirections>Sings</stageDirections>
- <line>The finch, the sparrow and the lark,</line>
- <line>The plain-song cuckoo gray,</line>
- <line>Whose note full many a man doth mark,</line>
- <line>And dares not answer nay;--</line>
- <line>for, indeed, who would set his wit to so foolish</line>
- <line>a bird? who would give a bird the lie, though he cry</line>
- <line>'cuckoo' never so?</line>
- </speech>
- <speech>
- <speaker>TITANIA</speaker>
- <line>I pray thee, gentle mortal, sing again:</line>
- <line>Mine ear is much enamour'd of thy note;</line>
- <line>So is mine eye enthralled to thy shape;</line>
- <line>And thy fair virtue's force perforce doth move me</line>
- <line>On the first view to say, to swear, I love thee.</line>
- </speech>
- <speech>
- <speaker>BOTTOM</speaker>
- <line>Methinks, mistress, you should have little reason</line>
- <line>for that: and yet, to say the truth, reason and</line>
- <line>love keep little company together now-a-days; the</line>
- <line>more the pity that some honest neighbours will not</line>
- <line>make them friends. Nay, I can gleek upon occasion.</line>
- </speech>
- <speech>
- <speaker>TITANIA</speaker>
- <line>Thou art as wise as thou art beautiful.</line>
- </speech>
- <speech>
- <speaker>BOTTOM</speaker>
- <line>Not so, neither: but if I had wit enough to get out</line>
- <line>of this wood, I have enough to serve mine own turn.</line>
- </speech>
- <speech>
- <speaker>TITANIA</speaker>
- <line>Out of this wood do not desire to go:</line>
- <line>Thou shalt remain here, whether thou wilt or no.</line>
- <line>I am a spirit of no common rate;</line>
- <line>The summer still doth tend upon my state;</line>
- <line>And I do love thee: therefore, go with me;</line>
- <line>I'll give thee fairies to attend on thee,</line>
- <line>And they shall fetch thee jewels from the deep,</line>
- <line>And sing while thou on pressed flowers dost sleep;</line>
- <line>And I will purge thy mortal grossness so</line>
- <line>That thou shalt like an airy spirit go.</line>
- <line>Peaseblossom! Cobweb! Moth! and Mustardseed!</line>
- </speech>
- <stageDirections>Enter PEASEBLOSSOM, COBWEB, MOTH, and MUSTARDSEED</stageDirections>
- <speech>
- <speaker>PEASEBLOSSOM</speaker>
- <line>Ready.</line>
- </speech>
- <speech>
- <speaker>COBWEB</speaker>
- <line>And I.</line>
- </speech>
- <speech>
- <speaker>MOTH</speaker>
- <line>And I.</line>
- </speech>
- <speech>
- <speaker>MUSTARDSEED</speaker>
- <line>And I.</line>
- </speech>
- <speech>
- <speaker>ALL</speaker>
- <line>Where shall we go?</line>
- </speech>
- <speech>
- <speaker>TITANIA</speaker>
- <line>Be kind and courteous to this gentleman;</line>
- <line>Hop in his walks and gambol in his eyes;</line>
- <line>Feed him with apricocks and dewberries,</line>
- <line>With purple grapes, green figs, and mulberries;</line>
- <line>The honey-bags steal from the humble-bees,</line>
- <line>And for night-tapers crop their waxen thighs</line>
- <line>And light them at the fiery glow-worm's eyes,</line>
- <line>To have my love to bed and to arise;</line>
- <line>And pluck the wings from Painted butterflies</line>
- <line>To fan the moonbeams from his sleeping eyes:</line>
- <line>Nod to him, elves, and do him courtesies.</line>
- </speech>
- <speech>
- <speaker>PEASEBLOSSOM</speaker>
- <line>Hail, mortal!</line>
- </speech>
- <speech>
- <speaker>COBWEB</speaker>
- <line>Hail!</line>
- </speech>
- <speech>
- <speaker>MOTH</speaker>
- <line>Hail!</line>
- </speech>
- <speech>
- <speaker>MUSTARDSEED</speaker>
- <line>Hail!</line>
- </speech>
- <speech>
- <speaker>BOTTOM</speaker>
- <line>I cry your worship's mercy, heartily: I beseech your</line>
- <line>worship's name.</line>
- </speech>
- <speech>
- <speaker>COBWEB</speaker>
- <line>Cobweb.</line>
- </speech>
- <speech>
- <speaker>BOTTOM</speaker>
- <line>I shall desire you of more acquaintance, good Master</line>
- <line>Cobweb: if I cut my finger, I shall make bold with</line>
- <line>you. Your name, honest gentleman?</line>
- </speech>
- <speech>
- <speaker>PEASEBLOSSOM</speaker>
- <line>Peaseblossom.</line>
- </speech>
- <speech>
- <speaker>BOTTOM</speaker>
- <line>I pray you, commend me to Mistress Squash, your</line>
- <line>mother, and to Master Peascod, your father. Good</line>
- <line>Master Peaseblossom, I shall desire you of more</line>
- <line>acquaintance too. Your name, I beseech you, sir?</line>
- </speech>
- <speech>
- <speaker>MUSTARDSEED</speaker>
- <line>Mustardseed.</line>
- </speech>
- <speech>
- <speaker>BOTTOM</speaker>
- <line>Good Master Mustardseed, I know your patience well:</line>
- <line>that same cowardly, giant-like ox-beef hath</line>
- <line>devoured many a gentleman of your house: I promise</line>
- <line>you your kindred had made my eyes water ere now. I</line>
- <line>desire your more acquaintance, good Master</line>
- <line>Mustardseed.</line>
- </speech>
- <speech>
- <speaker>TITANIA</speaker>
- <line>Come, wait upon him; lead him to my bower.</line>
- <line>The moon methinks looks with a watery eye;</line>
- <line>And when she weeps, weeps every little flower,</line>
- <line>Lamenting some enforced chastity.</line>
- <line>Tie up my love's tongue bring him silently.</line>
- </speech>
- <stageDirections>Exeunt</stageDirections>
- </scene>
- <scene index="2" title="SCENE II. Another part of the wood.">
- <stageDirections>Enter OBERON</stageDirections>
- <speech>
- <speaker>OBERON</speaker>
- <line>I wonder if Titania be awaked;</line>
- <line>Then, what it was that next came in her eye,</line>
- <line>Which she must dote on in extremity.</line>
- <stageDirections>Enter PUCK</stageDirections>
- <line>Here comes my messenger.</line>
- <line>How now, mad spirit!</line>
- <line>What night-rule now about this haunted grove?</line>
- </speech>
- <speech>
- <speaker>PUCK</speaker>
- <line>My mistress with a monster is in love.</line>
- <line>Near to her close and consecrated bower,</line>
- <line>While she was in her dull and sleeping hour,</line>
- <line>A crew of patches, rude mechanicals,</line>
- <line>That work for bread upon Athenian stalls,</line>
- <line>Were met together to rehearse a play</line>
- <line>Intended for great Theseus' nuptial-day.</line>
- <line>The shallowest thick-skin of that barren sort,</line>
- <line>Who Pyramus presented, in their sport</line>
- <line>Forsook his scene and enter'd in a brake</line>
- <line>When I did him at this advantage take,</line>
- <line>An ass's nole I fixed on his head:</line>
- <line>Anon his Thisbe must be answered,</line>
- <line>And forth my mimic comes. When they him spy,</line>
- <line>As wild geese that the creeping fowler eye,</line>
- <line>Or russet-pated choughs, many in sort,</line>
- <line>Rising and cawing at the gun's report,</line>
- <line>Sever themselves and madly sweep the sky,</line>
- <line>So, at his sight, away his fellows fly;</line>
- <line>And, at our stamp, here o'er and o'er one falls;</line>
- <line>He murder cries and help from Athens calls.</line>
- <line>Their sense thus weak, lost with their fears</line>
- <line>thus strong,</line>
- <line>Made senseless things begin to do them wrong;</line>
- <line>For briers and thorns at their apparel snatch;</line>
- <line>Some sleeves, some hats, from yielders all</line>
- <line>things catch.</line>
- <line>I led them on in this distracted fear,</line>
- <line>And left sweet Pyramus translated there:</line>
- <line>When in that moment, so it came to pass,</line>
- <line>Titania waked and straightway loved an ass.</line>
- </speech>
- <speech>
- <speaker>OBERON</speaker>
- <line>This falls out better than I could devise.</line>
- <line>But hast thou yet latch'd the Athenian's eyes</line>
- <line>With the love-juice, as I did bid thee do?</line>
- </speech>
- <speech>
- <speaker>PUCK</speaker>
- <line>I took him sleeping,--that is finish'd too,--</line>
- <line>And the Athenian woman by his side:</line>
- <line>That, when he waked, of force she must be eyed.</line>
- </speech>
- <stageDirections>Enter HERMIA and DEMETRIUS</stageDirections>
- <speech>
- <speaker>OBERON</speaker>
- <line>Stand close: this is the same Athenian.</line>
- </speech>
- <speech>
- <speaker>PUCK</speaker>
- <line>This is the woman, but not this the man.</line>
- </speech>
- <speech>
- <speaker>DEMETRIUS</speaker>
- <line>O, why rebuke you him that loves you so?</line>
- <line>Lay breath so bitter on your bitter foe.</line>
- </speech>
- <speech>
- <speaker>HERMIA</speaker>
- <line>Now I but chide; but I should use thee worse,</line>
- <line>For thou, I fear, hast given me cause to curse,</line>
- <line>If thou hast slain Lysander in his sleep,</line>
- <line>Being o'er shoes in blood, plunge in the deep,</line>
- <line>And kill me too.</line>
- <line>The sun was not so true unto the day</line>
- <line>As he to me: would he have stolen away</line>
- <line>From sleeping Hermia? I'll believe as soon</line>
- <line>This whole earth may be bored and that the moon</line>
- <line>May through the centre creep and so displease</line>
- <line>Her brother's noontide with Antipodes.</line>
- <line>It cannot be but thou hast murder'd him;</line>
- <line>So should a murderer look, so dead, so grim.</line>
- </speech>
- <speech>
- <speaker>DEMETRIUS</speaker>
- <line>So should the murder'd look, and so should I,</line>
- <line>Pierced through the heart with your stern cruelty:</line>
- <line>Yet you, the murderer, look as bright, as clear,</line>
- <line>As yonder Venus in her glimmering sphere.</line>
- </speech>
- <speech>
- <speaker>HERMIA</speaker>
- <line>What's this to my Lysander? where is he?</line>
- <line>Ah, good Demetrius, wilt thou give him me?</line>
- </speech>
- <speech>
- <speaker>DEMETRIUS</speaker>
- <line>I had rather give his carcass to my hounds.</line>
- </speech>
- <speech>
- <speaker>HERMIA</speaker>
- <line>Out, dog! out, cur! thou drivest me past the bounds</line>
- <line>Of maiden's patience. Hast thou slain him, then?</line>
- <line>Henceforth be never number'd among men!</line>
- <line>O, once tell true, tell true, even for my sake!</line>
- <line>Durst thou have look'd upon him being awake,</line>
- <line>And hast thou kill'd him sleeping? O brave touch!</line>
- <line>Could not a worm, an adder, do so much?</line>
- <line>An adder did it; for with doubler tongue</line>
- <line>Than thine, thou serpent, never adder stung.</line>
- </speech>
- <speech>
- <speaker>DEMETRIUS</speaker>
- <line>You spend your passion on a misprised mood:</line>
- <line>I am not guilty of Lysander's blood;</line>
- <line>Nor is he dead, for aught that I can tell.</line>
- </speech>
- <speech>
- <speaker>HERMIA</speaker>
- <line>I pray thee, tell me then that he is well.</line>
- </speech>
- <speech>
- <speaker>DEMETRIUS</speaker>
- <line>An if I could, what should I get therefore?</line>
- </speech>
- <speech>
- <speaker>HERMIA</speaker>
- <line>A privilege never to see me more.</line>
- <line>And from thy hated presence part I so:</line>
- <line>See me no more, whether he be dead or no.</line>
- </speech>
- <stageDirections>Exit</stageDirections>
- <speech>
- <speaker>DEMETRIUS</speaker>
- <line>There is no following her in this fierce vein:</line>
- <line>Here therefore for a while I will remain.</line>
- <line>So sorrow's heaviness doth heavier grow</line>
- <line>For debt that bankrupt sleep doth sorrow owe:</line>
- <line>Which now in some slight measure it will pay,</line>
- <line>If for his tender here I make some stay.</line>
- </speech>
- <stageDirections>Lies down and sleeps</stageDirections>
- <speech>
- <speaker>OBERON</speaker>
- <line>What hast thou done? thou hast mistaken quite</line>
- <line>And laid the love-juice on some true-love's sight:</line>
- <line>Of thy misprision must perforce ensue</line>
- <line>Some true love turn'd and not a false turn'd true.</line>
- </speech>
- <speech>
- <speaker>PUCK</speaker>
- <line>Then fate o'er-rules, that, one man holding troth,</line>
- <line>A million fail, confounding oath on oath.</line>
- </speech>
- <speech>
- <speaker>OBERON</speaker>
- <line>About the wood go swifter than the wind,</line>
- <line>And Helena of Athens look thou find:</line>
- <line>All fancy-sick she is and pale of cheer,</line>
- <line>With sighs of love, that costs the fresh blood dear:</line>
- <line>By some illusion see thou bring her here:</line>
- <line>I'll charm his eyes against she do appear.</line>
- </speech>
- <speech>
- <speaker>PUCK</speaker>
- <line>I go, I go; look how I go,</line>
- <line>Swifter than arrow from the Tartar's bow.</line>
- </speech>
- <stageDirections>Exit</stageDirections>
- <speech>
- <speaker>OBERON</speaker>
- <line>Flower of this purple dye,</line>
- <line>Hit with Cupid's archery,</line>
- <line>Sink in apple of his eye.</line>
- <line>When his love he doth espy,</line>
- <line>Let her shine as gloriously</line>
- <line>As the Venus of the sky.</line>
- <line>When thou wakest, if she be by,</line>
- <line>Beg of her for remedy.</line>
- </speech>
- <stageDirections>Re-enter PUCK</stageDirections>
- <speech>
- <speaker>PUCK</speaker>
- <line>Captain of our fairy band,</line>
- <line>Helena is here at hand;</line>
- <line>And the youth, mistook by me,</line>
- <line>Pleading for a lover's fee.</line>
- <line>Shall we their fond pageant see?</line>
- <line>Lord, what fools these mortals be!</line>
- </speech>
- <speech>
- <speaker>OBERON</speaker>
- <line>Stand aside: the noise they make</line>
- <line>Will cause Demetrius to awake.</line>
- </speech>
- <speech>
- <speaker>PUCK</speaker>
- <line>Then will two at once woo one;</line>
- <line>That must needs be sport alone;</line>
- <line>And those things do best please me</line>
- <line>That befal preposterously.</line>
- </speech>
- <stageDirections>Enter LYSANDER and HELENA</stageDirections>
- <speech>
- <speaker>LYSANDER</speaker>
- <line>Why should you think that I should woo in scorn?</line>
- <line>Scorn and derision never come in tears:</line>
- <line>Look, when I vow, I weep; and vows so born,</line>
- <line>In their nativity all truth appears.</line>
- <line>How can these things in me seem scorn to you,</line>
- <line>Bearing the badge of faith, to prove them true?</line>
- </speech>
- <speech>
- <speaker>HELENA</speaker>
- <line>You do advance your cunning more and more.</line>
- <line>When truth kills truth, O devilish-holy fray!</line>
- <line>These vows are Hermia's: will you give her o'er?</line>
- <line>Weigh oath with oath, and you will nothing weigh:</line>
- <line>Your vows to her and me, put in two scales,</line>
- <line>Will even weigh, and both as light as tales.</line>
- </speech>
- <speech>
- <speaker>LYSANDER</speaker>
- <line>I had no judgment when to her I swore.</line>
- </speech>
- <speech>
- <speaker>HELENA</speaker>
- <line>Nor none, in my mind, now you give her o'er.</line>
- </speech>
- <speech>
- <speaker>LYSANDER</speaker>
- <line>Demetrius loves her, and he loves not you.</line>
- </speech>
- <speech>
- <speaker>DEMETRIUS</speaker>
- <stageDirections>Awaking</stageDirections>
- <line>O Helena, goddess, nymph, perfect, divine!</line>
- <line>To what, my love, shall I compare thine eyne?</line>
- <line>Crystal is muddy. O, how ripe in show</line>
- <line>Thy lips, those kissing cherries, tempting grow!</line>
- <line>That pure congealed white, high Taurus snow,</line>
- <line>Fann'd with the eastern wind, turns to a crow</line>
- <line>When thou hold'st up thy hand: O, let me kiss</line>
- <line>This princess of pure white, this seal of bliss!</line>
- </speech>
- <speech>
- <speaker>HELENA</speaker>
- <line>O spite! O hell! I see you all are bent</line>
- <line>To set against me for your merriment:</line>
- <line>If you we re civil and knew courtesy,</line>
- <line>You would not do me thus much injury.</line>
- <line>Can you not hate me, as I know you do,</line>
- <line>But you must join in souls to mock me too?</line>
- <line>If you were men, as men you are in show,</line>
- <line>You would not use a gentle lady so;</line>
- <line>To vow, and swear, and superpraise my parts,</line>
- <line>When I am sure you hate me with your hearts.</line>
- <line>You both are rivals, and love Hermia;</line>
- <line>And now both rivals, to mock Helena:</line>
- <line>A trim exploit, a manly enterprise,</line>
- <line>To conjure tears up in a poor maid's eyes</line>
- <line>With your derision! none of noble sort</line>
- <line>Would so offend a virgin, and extort</line>
- <line>A poor soul's patience, all to make you sport.</line>
- </speech>
- <speech>
- <speaker>LYSANDER</speaker>
- <line>You are unkind, Demetrius; be not so;</line>
- <line>For you love Hermia; this you know I know:</line>
- <line>And here, with all good will, with all my heart,</line>
- <line>In Hermia's love I yield you up my part;</line>
- <line>And yours of Helena to me bequeath,</line>
- <line>Whom I do love and will do till my death.</line>
- </speech>
- <speech>
- <speaker>HELENA</speaker>
- <line>Never did mockers waste more idle breath.</line>
- </speech>
- <speech>
- <speaker>DEMETRIUS</speaker>
- <line>Lysander, keep thy Hermia; I will none:</line>
- <line>If e'er I loved her, all that love is gone.</line>
- <line>My heart to her but as guest-wise sojourn'd,</line>
- <line>And now to Helen is it home return'd,</line>
- <line>There to remain.</line>
- </speech>
- <speech>
- <speaker>LYSANDER</speaker>
- <line>Helen, it is not so.</line>
- </speech>
- <speech>
- <speaker>DEMETRIUS</speaker>
- <line>Disparage not the faith thou dost not know,</line>
- <line>Lest, to thy peril, thou aby it dear.</line>
- <line>Look, where thy love comes; yonder is thy dear.</line>
- </speech>
- <stageDirections>Re-enter HERMIA</stageDirections>
- <speech>
- <speaker>HERMIA</speaker>
- <line>Dark night, that from the eye his function takes,</line>
- <line>The ear more quick of apprehension makes;</line>
- <line>Wherein it doth impair the seeing sense,</line>
- <line>It pays the hearing double recompense.</line>
- <line>Thou art not by mine eye, Lysander, found;</line>
- <line>Mine ear, I thank it, brought me to thy sound</line>
- <line>But why unkindly didst thou leave me so?</line>
- </speech>
- <speech>
- <speaker>LYSANDER</speaker>
- <line>Why should he stay, whom love doth press to go?</line>
- </speech>
- <speech>
- <speaker>HERMIA</speaker>
- <line>What love could press Lysander from my side?</line>
- </speech>
- <speech>
- <speaker>LYSANDER</speaker>
- <line>Lysander's love, that would not let him bide,</line>
- <line>Fair Helena, who more engilds the night</line>
- <line>Than all you fiery oes and eyes of light.</line>
- <line>Why seek'st thou me? could not this make thee know,</line>
- <line>The hate I bear thee made me leave thee so?</line>
- </speech>
- <speech>
- <speaker>HERMIA</speaker>
- <line>You speak not as you think: it cannot be.</line>
- </speech>
- <speech>
- <speaker>HELENA</speaker>
- <line>Lo, she is one of this confederacy!</line>
- <line>Now I perceive they have conjoin'd all three</line>
- <line>To fashion this false sport, in spite of me.</line>
- <line>Injurious Hermia! most ungrateful maid!</line>
- <line>Have you conspired, have you with these contrived</line>
- <line>To bait me with this foul derision?</line>
- <line>Is all the counsel that we two have shared,</line>
- <line>The sisters' vows, the hours that we have spent,</line>
- <line>When we have chid the hasty-footed time</line>
- <line>For parting us,--O, is it all forgot?</line>
- <line>All school-days' friendship, childhood innocence?</line>
- <line>We, Hermia, like two artificial gods,</line>
- <line>Have with our needles created both one flower,</line>
- <line>Both on one sampler, sitting on one cushion,</line>
- <line>Both warbling of one song, both in one key,</line>
- <line>As if our hands, our sides, voices and minds,</line>
- <line>Had been incorporate. So we grow together,</line>
- <line>Like to a double cherry, seeming parted,</line>
- <line>But yet an union in partition;</line>
- <line>Two lovely berries moulded on one stem;</line>
- <line>So, with two seeming bodies, but one heart;</line>
- <line>Two of the first, like coats in heraldry,</line>
- <line>Due but to one and crowned with one crest.</line>
- <line>And will you rent our ancient love asunder,</line>
- <line>To join with men in scorning your poor friend?</line>
- <line>It is not friendly, 'tis not maidenly:</line>
- <line>Our sex, as well as I, may chide you for it,</line>
- <line>Though I alone do feel the injury.</line>
- </speech>
- <speech>
- <speaker>HERMIA</speaker>
- <line>I am amazed at your passionate words.</line>
- <line>I scorn you not: it seems that you scorn me.</line>
- </speech>
- <speech>
- <speaker>HELENA</speaker>
- <line>Have you not set Lysander, as in scorn,</line>
- <line>To follow me and praise my eyes and face?</line>
- <line>And made your other love, Demetrius,</line>
- <line>Who even but now did spurn me with his foot,</line>
- <line>To call me goddess, nymph, divine and rare,</line>
- <line>Precious, celestial? Wherefore speaks he this</line>
- <line>To her he hates? and wherefore doth Lysander</line>
- <line>Deny your love, so rich within his soul,</line>
- <line>And tender me, forsooth, affection,</line>
- <line>But by your setting on, by your consent?</line>
- <line>What thought I be not so in grace as you,</line>
- <line>So hung upon with love, so fortunate,</line>
- <line>But miserable most, to love unloved?</line>
- <line>This you should pity rather than despise.</line>
- </speech>
- <speech>
- <speaker>HERNIA</speaker>
- <line>I understand not what you mean by this.</line>
- </speech>
- <speech>
- <speaker>HELENA</speaker>
- <line>Ay, do, persever, counterfeit sad looks,</line>
- <line>Make mouths upon me when I turn my back;</line>
- <line>Wink each at other; hold the sweet jest up:</line>
- <line>This sport, well carried, shall be chronicled.</line>
- <line>If you have any pity, grace, or manners,</line>
- <line>You would not make me such an argument.</line>
- <line>But fare ye well: 'tis partly my own fault;</line>
- <line>Which death or absence soon shall remedy.</line>
- </speech>
- <speech>
- <speaker>LYSANDER</speaker>
- <line>Stay, gentle Helena; hear my excuse:</line>
- <line>My love, my life my soul, fair Helena!</line>
- </speech>
- <speech>
- <speaker>HELENA</speaker>
- <line>O excellent!</line>
- </speech>
- <speech>
- <speaker>HERMIA</speaker>
- <line>Sweet, do not scorn her so.</line>
- </speech>
- <speech>
- <speaker>DEMETRIUS</speaker>
- <line>If she cannot entreat, I can compel.</line>
- </speech>
- <speech>
- <speaker>LYSANDER</speaker>
- <line>Thou canst compel no more than she entreat:</line>
- <line>Thy threats have no more strength than her weak prayers.</line>
- <line>Helen, I love thee; by my life, I do:</line>
- <line>I swear by that which I will lose for thee,</line>
- <line>To prove him false that says I love thee not.</line>
- </speech>
- <speech>
- <speaker>DEMETRIUS</speaker>
- <line>I say I love thee more than he can do.</line>
- </speech>
- <speech>
- <speaker>LYSANDER</speaker>
- <line>If thou say so, withdraw, and prove it too.</line>
- </speech>
- <speech>
- <speaker>DEMETRIUS</speaker>
- <line>Quick, come!</line>
- </speech>
- <speech>
- <speaker>HERMIA</speaker>
- <line>Lysander, whereto tends all this?</line>
- </speech>
- <speech>
- <speaker>LYSANDER</speaker>
- <line>Away, you Ethiope!</line>
- </speech>
- <speech>
- <speaker>DEMETRIUS</speaker>
- <line>No, no; he'll</line>
- <line>Seem to break loose; take on as you would follow,</line>
- <line>But yet come not: you are a tame man, go!</line>
- </speech>
- <speech>
- <speaker>LYSANDER</speaker>
- <line>Hang off, thou cat, thou burr! vile thing, let loose,</line>
- <line>Or I will shake thee from me like a serpent!</line>
- </speech>
- <speech>
- <speaker>HERMIA</speaker>
- <line>Why are you grown so rude? what change is this?</line>
- <line>Sweet love,--</line>
- </speech>
- <speech>
- <speaker>LYSANDER</speaker>
- <line>Thy love! out, tawny Tartar, out!</line>
- <line>Out, loathed medicine! hated potion, hence!</line>
- </speech>
- <speech>
- <speaker>HERMIA</speaker>
- <line>Do you not jest?</line>
- </speech>
- <speech>
- <speaker>HELENA</speaker>
- <line>Yes, sooth; and so do you.</line>
- </speech>
- <speech>
- <speaker>LYSANDER</speaker>
- <line>Demetrius, I will keep my word with thee.</line>
- </speech>
- <speech>
- <speaker>DEMETRIUS</speaker>
- <line>I would I had your bond, for I perceive</line>
- <line>A weak bond holds you: I'll not trust your word.</line>
- </speech>
- <speech>
- <speaker>LYSANDER</speaker>
- <line>What, should I hurt her, strike her, kill her dead?</line>
- <line>Although I hate her, I'll not harm her so.</line>
- </speech>
- <speech>
- <speaker>HERMIA</speaker>
- <line>What, can you do me greater harm than hate?</line>
- <line>Hate me! wherefore? O me! what news, my love!</line>
- <line>Am not I Hermia? are not you Lysander?</line>
- <line>I am as fair now as I was erewhile.</line>
- <line>Since night you loved me; yet since night you left</line>
- <line>me:</line>
- <line>Why, then you left me--O, the gods forbid!--</line>
- <line>In earnest, shall I say?</line>
- </speech>
- <speech>
- <speaker>LYSANDER</speaker>
- <line>Ay, by my life;</line>
- <line>And never did desire to see thee more.</line>
- <line>Therefore be out of hope, of question, of doubt;</line>
- <line>Be certain, nothing truer; 'tis no jest</line>
- <line>That I do hate thee and love Helena.</line>
- </speech>
- <speech>
- <speaker>HERMIA</speaker>
- <line>O me! you juggler! you canker-blossom!</line>
- <line>You thief of love! what, have you come by night</line>
- <line>And stolen my love's heart from him?</line>
- </speech>
- <speech>
- <speaker>HELENA</speaker>
- <line>Fine, i'faith!</line>
- <line>Have you no modesty, no maiden shame,</line>
- <line>No touch of bashfulness? What, will you tear</line>
- <line>Impatient answers from my gentle tongue?</line>
- <line>Fie, fie! you counterfeit, you puppet, you!</line>
- </speech>
- <speech>
- <speaker>HERMIA</speaker>
- <line>Puppet? why so? ay, that way goes the game.</line>
- <line>Now I perceive that she hath made compare</line>
- <line>Between our statures; she hath urged her height;</line>
- <line>And with her personage, her tall personage,</line>
- <line>Her height, forsooth, she hath prevail'd with him.</line>
- <line>And are you grown so high in his esteem;</line>
- <line>Because I am so dwarfish and so low?</line>
- <line>How low am I, thou painted maypole? speak;</line>
- <line>How low am I? I am not yet so low</line>
- <line>But that my nails can reach unto thine eyes.</line>
- </speech>
- <speech>
- <speaker>HELENA</speaker>
- <line>I pray you, though you mock me, gentlemen,</line>
- <line>Let her not hurt me: I was never curst;</line>
- <line>I have no gift at all in shrewishness;</line>
- <line>I am a right maid for my cowardice:</line>
- <line>Let her not strike me. You perhaps may think,</line>
- <line>Because she is something lower than myself,</line>
- <line>That I can match her.</line>
- </speech>
- <speech>
- <speaker>HERMIA</speaker>
- <line>Lower! hark, again.</line>
- </speech>
- <speech>
- <speaker>HELENA</speaker>
- <line>Good Hermia, do not be so bitter with me.</line>
- <line>I evermore did love you, Hermia,</line>
- <line>Did ever keep your counsels, never wrong'd you;</line>
- <line>Save that, in love unto Demetrius,</line>
- <line>I told him of your stealth unto this wood.</line>
- <line>He follow'd you; for love I follow'd him;</line>
- <line>But he hath chid me hence and threaten'd me</line>
- <line>To strike me, spurn me, nay, to kill me too:</line>
- <line>And now, so you will let me quiet go,</line>
- <line>To Athens will I bear my folly back</line>
- <line>And follow you no further: let me go:</line>
- <line>You see how simple and how fond I am.</line>
- </speech>
- <speech>
- <speaker>HERMIA</speaker>
- <line>Why, get you gone: who is't that hinders you?</line>
- </speech>
- <speech>
- <speaker>HELENA</speaker>
- <line>A foolish heart, that I leave here behind.</line>
- </speech>
- <speech>
- <speaker>HERMIA</speaker>
- <line>What, with Lysander?</line>
- </speech>
- <speech>
- <speaker>HELENA</speaker>
- <line>With Demetrius.</line>
- </speech>
- <speech>
- <speaker>LYSANDER</speaker>
- <line>Be not afraid; she shall not harm thee, Helena.</line>
- </speech>
- <speech>
- <speaker>DEMETRIUS</speaker>
- <line>No, sir, she shall not, though you take her part.</line>
- </speech>
- <speech>
- <speaker>HELENA</speaker>
- <line>O, when she's angry, she is keen and shrewd!</line>
- <line>She was a vixen when she went to school;</line>
- <line>And though she be but little, she is fierce.</line>
- </speech>
- <speech>
- <speaker>HERMIA</speaker>
- <line>'Little' again! nothing but 'low' and 'little'!</line>
- <line>Why will you suffer her to flout me thus?</line>
- <line>Let me come to her.</line>
- </speech>
- <speech>
- <speaker>LYSANDER</speaker>
- <line>Get you gone, you dwarf;</line>
- <line>You minimus, of hindering knot-grass made;</line>
- <line>You bead, you acorn.</line>
- </speech>
- <speech>
- <speaker>DEMETRIUS</speaker>
- <line>You are too officious</line>
- <line>In her behalf that scorns your services.</line>
- <line>Let her alone: speak not of Helena;</line>
- <line>Take not her part; for, if thou dost intend</line>
- <line>Never so little show of love to her,</line>
- <line>Thou shalt aby it.</line>
- </speech>
- <speech>
- <speaker>LYSANDER</speaker>
- <line>Now she holds me not;</line>
- <line>Now follow, if thou darest, to try whose right,</line>
- <line>Of thine or mine, is most in Helena.</line>
- </speech>
- <speech>
- <speaker>DEMETRIUS</speaker>
- <line>Follow! nay, I'll go with thee, cheek by jole.</line>
- </speech>
- <stageDirections>Exeunt LYSANDER and DEMETRIUS</stageDirections>
- <speech>
- <speaker>HERMIA</speaker>
- <line>You, mistress, all this coil is 'long of you:</line>
- <line>Nay, go not back.</line>
- </speech>
- <speech>
- <speaker>HELENA</speaker>
- <line>I will not trust you, I,</line>
- <line>Nor longer stay in your curst company.</line>
- <line>Your hands than mine are quicker for a fray,</line>
- <line>My legs are longer though, to run away.</line>
- </speech>
- <stageDirections>Exit</stageDirections>
- <speech>
- <speaker>HERMIA</speaker>
- <line>I am amazed, and know not what to say.</line>
- </speech>
- <stageDirections>Exit</stageDirections>
- <speech>
- <speaker>OBERON</speaker>
- <line>This is thy negligence: still thou mistakest,</line>
- <line>Or else committ'st thy knaveries wilfully.</line>
- </speech>
- <speech>
- <speaker>PUCK</speaker>
- <line>Believe me, king of shadows, I mistook.</line>
- <line>Did not you tell me I should know the man</line>
- <line>By the Athenian garment be had on?</line>
- <line>And so far blameless proves my enterprise,</line>
- <line>That I have 'nointed an Athenian's eyes;</line>
- <line>And so far am I glad it so did sort</line>
- <line>As this their jangling I esteem a sport.</line>
- </speech>
- <speech>
- <speaker>OBERON</speaker>
- <line>Thou see'st these lovers seek a place to fight:</line>
- <line>Hie therefore, Robin, overcast the night;</line>
- <line>The starry welkin cover thou anon</line>
- <line>With drooping fog as black as Acheron,</line>
- <line>And lead these testy rivals so astray</line>
- <line>As one come not within another's way.</line>
- <line>Like to Lysander sometime frame thy tongue,</line>
- <line>Then stir Demetrius up with bitter wrong;</line>
- <line>And sometime rail thou like Demetrius;</line>
- <line>And from each other look thou lead them thus,</line>
- <line>Till o'er their brows death-counterfeiting sleep</line>
- <line>With leaden legs and batty wings doth creep:</line>
- <line>Then crush this herb into Lysander's eye;</line>
- <line>Whose liquor hath this virtuous property,</line>
- <line>To take from thence all error with his might,</line>
- <line>And make his eyeballs roll with wonted sight.</line>
- <line>When they next wake, all this derision</line>
- <line>Shall seem a dream and fruitless vision,</line>
- <line>And back to Athens shall the lovers wend,</line>
- <line>With league whose date till death shall never end.</line>
- <line>Whiles I in this affair do thee employ,</line>
- <line>I'll to my queen and beg her Indian boy;</line>
- <line>And then I will her charmed eye release</line>
- <line>From monster's view, and all things shall be peace.</line>
- </speech>
- <speech>
- <speaker>PUCK</speaker>
- <line>My fairy lord, this must be done with haste,</line>
- <line>For night's swift dragons cut the clouds full fast,</line>
- <line>And yonder shines Aurora's harbinger;</line>
- <line>At whose approach, ghosts, wandering here and there,</line>
- <line>Troop home to churchyards: damned spirits all,</line>
- <line>That in crossways and floods have burial,</line>
- <line>Already to their wormy beds are gone;</line>
- <line>For fear lest day should look their shames upon,</line>
- <line>They willfully themselves exile from light</line>
- <line>And must for aye consort with black-brow'd night.</line>
- </speech>
- <speech>
- <speaker>OBERON</speaker>
- <line>But we are spirits of another sort:</line>
- <line>I with the morning's love have oft made sport,</line>
- <line>And, like a forester, the groves may tread,</line>
- <line>Even till the eastern gate, all fiery-red,</line>
- <line>Opening on Neptune with fair blessed beams,</line>
- <line>Turns into yellow gold his salt green streams.</line>
- <line>But, notwithstanding, haste; make no delay:</line>
- <line>We may effect this business yet ere day.</line>
- </speech>
- <stageDirections>Exit</stageDirections>
- <speech>
- <speaker>PUCK</speaker>
- <line>Up and down, up and down,</line>
- <line>I will lead them up and down:</line>
- <line>I am fear'd in field and town:</line>
- <line>Goblin, lead them up and down.</line>
- <line>Here comes one.</line>
- </speech>
- <stageDirections>Re-enter LYSANDER</stageDirections>
- <speech>
- <speaker>LYSANDER</speaker>
- <line>Where art thou, proud Demetrius? speak thou now.</line>
- </speech>
- <speech>
- <speaker>PUCK</speaker>
- <line>Here, villain; drawn and ready. Where art thou?</line>
- </speech>
- <speech>
- <speaker>LYSANDER</speaker>
- <line>I will be with thee straight.</line>
- </speech>
- <speech>
- <speaker>PUCK</speaker>
- <line>Follow me, then,</line>
- <line>To plainer ground.</line>
- </speech>
- <stageDirections>Exit LYSANDER, as following the voice</stageDirections>
- <stageDirections>Re-enter DEMETRIUS</stageDirections>
- <speech>
- <speaker>DEMETRIUS</speaker>
- <line>Lysander! speak again:</line>
- <line>Thou runaway, thou coward, art thou fled?</line>
- <line>Speak! In some bush? Where dost thou hide thy head?</line>
- </speech>
- <speech>
- <speaker>PUCK</speaker>
- <line>Thou coward, art thou bragging to the stars,</line>
- <line>Telling the bushes that thou look'st for wars,</line>
- <line>And wilt not come? Come, recreant; come, thou child;</line>
- <line>I'll whip thee with a rod: he is defiled</line>
- <line>That draws a sword on thee.</line>
- </speech>
- <speech>
- <speaker>DEMETRIUS</speaker>
- <line>Yea, art thou there?</line>
- </speech>
- <speech>
- <speaker>PUCK</speaker>
- <line>Follow my voice: we'll try no manhood here.</line>
- </speech>
- <stageDirections>Exeunt</stageDirections>
- <stageDirections>Re-enter LYSANDER</stageDirections>
- <speech>
- <speaker>LYSANDER</speaker>
- <line>He goes before me and still dares me on:</line>
- <line>When I come where he calls, then he is gone.</line>
- <line>The villain is much lighter-heel'd than I:</line>
- <line>I follow'd fast, but faster he did fly;</line>
- <line>That fallen am I in dark uneven way,</line>
- <line>And here will rest me.</line>
- <stageDirections>Lies down</stageDirections>
- <line>Come, thou gentle day!</line>
- <line>For if but once thou show me thy grey light,</line>
- <line>I'll find Demetrius and revenge this spite.</line>
- </speech>
- <stageDirections>Sleeps</stageDirections>
- <stageDirections>Re-enter PUCK and DEMETRIUS</stageDirections>
- <speech>
- <speaker>PUCK</speaker>
- <line>Ho, ho, ho! Coward, why comest thou not?</line>
- </speech>
- <speech>
- <speaker>DEMETRIUS</speaker>
- <line>Abide me, if thou darest; for well I wot</line>
- <line>Thou runn'st before me, shifting every place,</line>
- <line>And darest not stand, nor look me in the face.</line>
- <line>Where art thou now?</line>
- </speech>
- <speech>
- <speaker>PUCK</speaker>
- <line>Come hither: I am here.</line>
- </speech>
- <speech>
- <speaker>DEMETRIUS</speaker>
- <line>Nay, then, thou mock'st me. Thou shalt buy this dear,</line>
- <line>If ever I thy face by daylight see:</line>
- <line>Now, go thy way. Faintness constraineth me</line>
- <line>To measure out my length on this cold bed.</line>
- <line>By day's approach look to be visited.</line>
- </speech>
- <stageDirections>Lies down and sleeps</stageDirections>
- <stageDirections>Re-enter HELENA</stageDirections>
- <speech>
- <speaker>HELENA</speaker>
- <line>O weary night, O long and tedious night,</line>
- <line>Abate thy hour! Shine comforts from the east,</line>
- <line>That I may back to Athens by daylight,</line>
- <line>From these that my poor company detest:</line>
- <line>And sleep, that sometimes shuts up sorrow's eye,</line>
- <line>Steal me awhile from mine own company.</line>
- </speech>
- <stageDirections>Lies down and sleeps</stageDirections>
- <speech>
- <speaker>PUCK</speaker>
- <line>Yet but three? Come one more;</line>
- <line>Two of both kinds make up four.</line>
- <line>Here she comes, curst and sad:</line>
- <line>Cupid is a knavish lad,</line>
- <line>Thus to make poor females mad.</line>
- </speech>
- <stageDirections>Re-enter HERMIA</stageDirections>
- <speech>
- <speaker>HERMIA</speaker>
- <line>Never so weary, never so in woe,</line>
- <line>Bedabbled with the dew and torn with briers,</line>
- <line>I can no further crawl, no further go;</line>
- <line>My legs can keep no pace with my desires.</line>
- <line>Here will I rest me till the break of day.</line>
- <line>Heavens shield Lysander, if they mean a fray!</line>
- </speech>
- <stageDirections>Lies down and sleeps</stageDirections>
- <speech>
- <speaker>PUCK</speaker>
- <line>On the ground</line>
- <line>Sleep sound:</line>
- <line>I'll apply</line>
- <line>To your eye,</line>
- <line>Gentle lover, remedy.</line>
- <stageDirections>Squeezing the juice on LYSANDER's eyes</stageDirections>
- <line>When thou wakest,</line>
- <line>Thou takest</line>
- <line>True delight</line>
- <line>In the sight</line>
- <line>Of thy former lady's eye:</line>
- <line>And the country proverb known,</line>
- <line>That every man should take his own,</line>
- <line>In your waking shall be shown:</line>
- <line>Jack shall have Jill;</line>
- <line>Nought shall go ill;</line>
- <line>The man shall have his mare again, and all shall be well.</line>
- </speech>
- <stageDirections>Exit</stageDirections>
- </scene>
- </act>
- <act index="4" title="IV">
- <scene index="1" title="SCENE I. The same. LYSANDER, DEMETRIUS, HELENA, and HERMIA lying asleep.">
- <stageDirections>Enter TITANIA and BOTTOM; PEASEBLOSSOM, COBWEB, MOTH, MUSTARDSEED, and other Fairies attending; OBERON behind unseen</stageDirections>
- <speech>
- <speaker>TITANIA</speaker>
- <line>Come, sit thee down upon this flowery bed,</line>
- <line>While I thy amiable cheeks do coy,</line>
- <line>And stick musk-roses in thy sleek smooth head,</line>
- <line>And kiss thy fair large ears, my gentle joy.</line>
- </speech>
- <speech>
- <speaker>BOTTOM</speaker>
- <line>Where's Peaseblossom?</line>
- </speech>
- <speech>
- <speaker>PEASEBLOSSOM</speaker>
- <line>Ready.</line>
- </speech>
- <speech>
- <speaker>BOTTOM</speaker>
- <line>Scratch my head Peaseblossom. Where's Mounsieur Cobweb?</line>
- </speech>
- <speech>
- <speaker>COBWEB</speaker>
- <line>Ready.</line>
- </speech>
- <speech>
- <speaker>BOTTOM</speaker>
- <line>Mounsieur Cobweb, good mounsieur, get you your</line>
- <line>weapons in your hand, and kill me a red-hipped</line>
- <line>humble-bee on the top of a thistle; and, good</line>
- <line>mounsieur, bring me the honey-bag. Do not fret</line>
- <line>yourself too much in the action, mounsieur; and,</line>
- <line>good mounsieur, have a care the honey-bag break not;</line>
- <line>I would be loath to have you overflown with a</line>
- <line>honey-bag, signior. Where's Mounsieur Mustardseed?</line>
- </speech>
- <speech>
- <speaker>MUSTARDSEED</speaker>
- <line>Ready.</line>
- </speech>
- <speech>
- <speaker>BOTTOM</speaker>
- <line>Give me your neaf, Mounsieur Mustardseed. Pray you,</line>
- <line>leave your courtesy, good mounsieur.</line>
- </speech>
- <speech>
- <speaker>MUSTARDSEED</speaker>
- <line>What's your Will?</line>
- </speech>
- <speech>
- <speaker>BOTTOM</speaker>
- <line>Nothing, good mounsieur, but to help Cavalery Cobweb</line>
- <line>to scratch. I must to the barber's, monsieur; for</line>
- <line>methinks I am marvellous hairy about the face; and I</line>
- <line>am such a tender ass, if my hair do but tickle me,</line>
- <line>I must scratch.</line>
- </speech>
- <speech>
- <speaker>TITANIA</speaker>
- <line>What, wilt thou hear some music,</line>
- <line>my sweet love?</line>
- </speech>
- <speech>
- <speaker>BOTTOM</speaker>
- <line>I have a reasonable good ear in music. Let's have</line>
- <line>the tongs and the bones.</line>
- </speech>
- <speech>
- <speaker>TITANIA</speaker>
- <line>Or say, sweet love, what thou desirest to eat.</line>
- </speech>
- <speech>
- <speaker>BOTTOM</speaker>
- <line>Truly, a peck of provender: I could munch your good</line>
- <line>dry oats. Methinks I have a great desire to a bottle</line>
- <line>of hay: good hay, sweet hay, hath no fellow.</line>
- </speech>
- <speech>
- <speaker>TITANIA</speaker>
- <line>I have a venturous fairy that shall seek</line>
- <line>The squirrel's hoard, and fetch thee new nuts.</line>
- </speech>
- <speech>
- <speaker>BOTTOM</speaker>
- <line>I had rather have a handful or two of dried peas.</line>
- <line>But, I pray you, let none of your people stir me: I</line>
- <line>have an exposition of sleep come upon me.</line>
- </speech>
- <speech>
- <speaker>TITANIA</speaker>
- <line>Sleep thou, and I will wind thee in my arms.</line>
- <line>Fairies, begone, and be all ways away.</line>
- <stageDirections>Exeunt fairies</stageDirections>
- <line>So doth the woodbine the sweet honeysuckle</line>
- <line>Gently entwist; the female ivy so</line>
- <line>Enrings the barky fingers of the elm.</line>
- <line>O, how I love thee! how I dote on thee!</line>
- </speech>
- <stageDirections>They sleep</stageDirections>
- <stageDirections>Enter PUCK</stageDirections>
- <speech>
- <speaker>OBERON</speaker>
- <stageDirections>Advancing</stageDirections>
- <line>Welcome, good Robin.</line>
- <line>See'st thou this sweet sight?</line>
- <line>Her dotage now I do begin to pity:</line>
- <line>For, meeting her of late behind the wood,</line>
- <line>Seeking sweet favours from this hateful fool,</line>
- <line>I did upbraid her and fall out with her;</line>
- <line>For she his hairy temples then had rounded</line>
- <line>With a coronet of fresh and fragrant flowers;</line>
- <line>And that same dew, which sometime on the buds</line>
- <line>Was wont to swell like round and orient pearls,</line>
- <line>Stood now within the pretty flowerets' eyes</line>
- <line>Like tears that did their own disgrace bewail.</line>
- <line>When I had at my pleasure taunted her</line>
- <line>And she in mild terms begg'd my patience,</line>
- <line>I then did ask of her her changeling child;</line>
- <line>Which straight she gave me, and her fairy sent</line>
- <line>To bear him to my bower in fairy land.</line>
- <line>And now I have the boy, I will undo</line>
- <line>This hateful imperfection of her eyes:</line>
- <line>And, gentle Puck, take this transformed scalp</line>
- <line>From off the head of this Athenian swain;</line>
- <line>That, he awaking when the other do,</line>
- <line>May all to Athens back again repair</line>
- <line>And think no more of this night's accidents</line>
- <line>But as the fierce vexation of a dream.</line>
- <line>But first I will release the fairy queen.</line>
- <line>Be as thou wast wont to be;</line>
- <line>See as thou wast wont to see:</line>
- <line>Dian's bud o'er Cupid's flower</line>
- <line>Hath such force and blessed power.</line>
- <line>Now, my Titania; wake you, my sweet queen.</line>
- </speech>
- <speech>
- <speaker>TITANIA</speaker>
- <line>My Oberon! what visions have I seen!</line>
- <line>Methought I was enamour'd of an ass.</line>
- </speech>
- <speech>
- <speaker>OBERON</speaker>
- <line>There lies your love.</line>
- </speech>
- <speech>
- <speaker>TITANIA</speaker>
- <line>How came these things to pass?</line>
- <line>O, how mine eyes do loathe his visage now!</line>
- </speech>
- <speech>
- <speaker>OBERON</speaker>
- <line>Silence awhile. Robin, take off this head.</line>
- <line>Titania, music call; and strike more dead</line>
- <line>Than common sleep of all these five the sense.</line>
- </speech>
- <speech>
- <speaker>TITANIA</speaker>
- <line>Music, ho! music, such as charmeth sleep!</line>
- </speech>
- <stageDirections>Music, still</stageDirections>
- <speech>
- <speaker>PUCK</speaker>
- <line>Now, when thou wakest, with thine</line>
- <line>own fool's eyes peep.</line>
- </speech>
- <speech>
- <speaker>OBERON</speaker>
- <line>Sound, music! Come, my queen, take hands with me,</line>
- <line>And rock the ground whereon these sleepers be.</line>
- <line>Now thou and I are new in amity,</line>
- <line>And will to-morrow midnight solemnly</line>
- <line>Dance in Duke Theseus' house triumphantly,</line>
- <line>And bless it to all fair prosperity:</line>
- <line>There shall the pairs of faithful lovers be</line>
- <line>Wedded, with Theseus, all in jollity.</line>
- </speech>
- <speech>
- <speaker>PUCK</speaker>
- <line>Fairy king, attend, and mark:</line>
- <line>I do hear the morning lark.</line>
- </speech>
- <speech>
- <speaker>OBERON</speaker>
- <line>Then, my queen, in silence sad,</line>
- <line>Trip we after the night's shade:</line>
- <line>We the globe can compass soon,</line>
- <line>Swifter than the wandering moon.</line>
- </speech>
- <speech>
- <speaker>TITANIA</speaker>
- <line>Come, my lord, and in our flight</line>
- <line>Tell me how it came this night</line>
- <line>That I sleeping here was found</line>
- <line>With these mortals on the ground.</line>
- <stageDirections>Exeunt</stageDirections>
- </speech>
- <stageDirections>Horns winded within</stageDirections>
- <stageDirections>Enter THESEUS, HIPPOLYTA, EGEUS, and train</stageDirections>
- <speech>
- <speaker>THESEUS</speaker>
- <line>Go, one of you, find out the forester;</line>
- <line>For now our observation is perform'd;</line>
- <line>And since we have the vaward of the day,</line>
- <line>My love shall hear the music of my hounds.</line>
- <line>Uncouple in the western valley; let them go:</line>
- <line>Dispatch, I say, and find the forester.</line>
- <stageDirections>Exit an Attendant</stageDirections>
- <line>We will, fair queen, up to the mountain's top,</line>
- <line>And mark the musical confusion</line>
- <line>Of hounds and echo in conjunction.</line>
- </speech>
- <speech>
- <speaker>HIPPOLYTA</speaker>
- <line>I was with Hercules and Cadmus once,</line>
- <line>When in a wood of Crete they bay'd the bear</line>
- <line>With hounds of Sparta: never did I hear</line>
- <line>Such gallant chiding: for, besides the groves,</line>
- <line>The skies, the fountains, every region near</line>
- <line>Seem'd all one mutual cry: I never heard</line>
- <line>So musical a discord, such sweet thunder.</line>
- </speech>
- <speech>
- <speaker>THESEUS</speaker>
- <line>My hounds are bred out of the Spartan kind,</line>
- <line>So flew'd, so sanded, and their heads are hung</line>
- <line>With ears that sweep away the morning dew;</line>
- <line>Crook-knee'd, and dew-lapp'd like Thessalian bulls;</line>
- <line>Slow in pursuit, but match'd in mouth like bells,</line>
- <line>Each under each. A cry more tuneable</line>
- <line>Was never holla'd to, nor cheer'd with horn,</line>
- <line>In Crete, in Sparta, nor in Thessaly:</line>
- <line>Judge when you hear. But, soft! what nymphs are these?</line>
- </speech>
- <speech>
- <speaker>EGEUS</speaker>
- <line>My lord, this is my daughter here asleep;</line>
- <line>And this, Lysander; this Demetrius is;</line>
- <line>This Helena, old Nedar's Helena:</line>
- <line>I wonder of their being here together.</line>
- </speech>
- <speech>
- <speaker>THESEUS</speaker>
- <line>No doubt they rose up early to observe</line>
- <line>The rite of May, and hearing our intent,</line>
- <line>Came here in grace our solemnity.</line>
- <line>But speak, Egeus; is not this the day</line>
- <line>That Hermia should give answer of her choice?</line>
- </speech>
- <speech>
- <speaker>EGEUS</speaker>
- <line>It is, my lord.</line>
- </speech>
- <speech>
- <speaker>THESEUS</speaker>
- <line>Go, bid the huntsmen wake them with their horns.</line>
- <stageDirections>Horns and shout within. LYSANDER, DEMETRIUS, HELENA, and HERMIA wake and start up</stageDirections>
- <line>Good morrow, friends. Saint Valentine is past:</line>
- <line>Begin these wood-birds but to couple now?</line>
- </speech>
- <speech>
- <speaker>LYSANDER</speaker>
- <line>Pardon, my lord.</line>
- </speech>
- <speech>
- <speaker>THESEUS</speaker>
- <line>I pray you all, stand up.</line>
- <line>I know you two are rival enemies:</line>
- <line>How comes this gentle concord in the world,</line>
- <line>That hatred is so far from jealousy,</line>
- <line>To sleep by hate, and fear no enmity?</line>
- </speech>
- <speech>
- <speaker>LYSANDER</speaker>
- <line>My lord, I shall reply amazedly,</line>
- <line>Half sleep, half waking: but as yet, I swear,</line>
- <line>I cannot truly say how I came here;</line>
- <line>But, as I think,--for truly would I speak,</line>
- <line>And now do I bethink me, so it is,--</line>
- <line>I came with Hermia hither: our intent</line>
- <line>Was to be gone from Athens, where we might,</line>
- <line>Without the peril of the Athenian law.</line>
- </speech>
- <speech>
- <speaker>EGEUS</speaker>
- <line>Enough, enough, my lord; you have enough:</line>
- <line>I beg the law, the law, upon his head.</line>
- <line>They would have stolen away; they would, Demetrius,</line>
- <line>Thereby to have defeated you and me,</line>
- <line>You of your wife and me of my consent,</line>
- <line>Of my consent that she should be your wife.</line>
- </speech>
- <speech>
- <speaker>DEMETRIUS</speaker>
- <line>My lord, fair Helen told me of their stealth,</line>
- <line>Of this their purpose hither to this wood;</line>
- <line>And I in fury hither follow'd them,</line>
- <line>Fair Helena in fancy following me.</line>
- <line>But, my good lord, I wot not by what power,--</line>
- <line>But by some power it is,--my love to Hermia,</line>
- <line>Melted as the snow, seems to me now</line>
- <line>As the remembrance of an idle gaud</line>
- <line>Which in my childhood I did dote upon;</line>
- <line>And all the faith, the virtue of my heart,</line>
- <line>The object and the pleasure of mine eye,</line>
- <line>Is only Helena. To her, my lord,</line>
- <line>Was I betroth'd ere I saw Hermia:</line>
- <line>But, like in sickness, did I loathe this food;</line>
- <line>But, as in health, come to my natural taste,</line>
- <line>Now I do wish it, love it, long for it,</line>
- <line>And will for evermore be true to it.</line>
- </speech>
- <speech>
- <speaker>THESEUS</speaker>
- <line>Fair lovers, you are fortunately met:</line>
- <line>Of this discourse we more will hear anon.</line>
- <line>Egeus, I will overbear your will;</line>
- <line>For in the temple by and by with us</line>
- <line>These couples shall eternally be knit:</line>
- <line>And, for the morning now is something worn,</line>
- <line>Our purposed hunting shall be set aside.</line>
- <line>Away with us to Athens; three and three,</line>
- <line>We'll hold a feast in great solemnity.</line>
- <line>Come, Hippolyta.</line>
- </speech>
- <stageDirections>Exeunt THESEUS, HIPPOLYTA, EGEUS, and train</stageDirections>
- <speech>
- <speaker>DEMETRIUS</speaker>
- <line>These things seem small and undistinguishable,</line>
- </speech>
- <speech>
- <speaker>HERMIA</speaker>
- <line>Methinks I see these things with parted eye,</line>
- <line>When every thing seems double.</line>
- </speech>
- <speech>
- <speaker>HELENA</speaker>
- <line>So methinks:</line>
- <line>And I have found Demetrius like a jewel,</line>
- <line>Mine own, and not mine own.</line>
- </speech>
- <speech>
- <speaker>DEMETRIUS</speaker>
- <line>Are you sure</line>
- <line>That we are awake? It seems to me</line>
- <line>That yet we sleep, we dream. Do not you think</line>
- <line>The duke was here, and bid us follow him?</line>
- </speech>
- <speech>
- <speaker>HERMIA</speaker>
- <line>Yea; and my father.</line>
- </speech>
- <speech>
- <speaker>HELENA</speaker>
- <line>And Hippolyta.</line>
- </speech>
- <speech>
- <speaker>LYSANDER</speaker>
- <line>And he did bid us follow to the temple.</line>
- </speech>
- <speech>
- <speaker>DEMETRIUS</speaker>
- <line>Why, then, we are awake: let's follow him</line>
- <line>And by the way let us recount our dreams.</line>
- </speech>
- <stageDirections>Exeunt</stageDirections>
- <speech>
- <speaker>BOTTOM</speaker>
- <stageDirections>Awaking</stageDirections>
- <line>When my cue comes, call me, and I will</line>
- <line>answer: my next is, 'Most fair Pyramus.' Heigh-ho!</line>
- <line>Peter Quince! Flute, the bellows-mender! Snout,</line>
- <line>the tinker! Starveling! God's my life, stolen</line>
- <line>hence, and left me asleep! I have had a most rare</line>
- <line>vision. I have had a dream, past the wit of man to</line>
- <line>say what dream it was: man is but an ass, if he go</line>
- <line>about to expound this dream. Methought I was--there</line>
- <line>is no man can tell what. Methought I was,--and</line>
- <line>methought I had,--but man is but a patched fool, if</line>
- <line>he will offer to say what methought I had. The eye</line>
- <line>of man hath not heard, the ear of man hath not</line>
- <line>seen, man's hand is not able to taste, his tongue</line>
- <line>to conceive, nor his heart to report, what my dream</line>
- <line>was. I will get Peter Quince to write a ballad of</line>
- <line>this dream: it shall be called Bottom's Dream,</line>
- <line>because it hath no bottom; and I will sing it in the</line>
- <line>latter end of a play, before the duke:</line>
- <line>peradventure, to make it the more gracious, I shall</line>
- <line>sing it at her death.</line>
- </speech>
- <stageDirections>Exit</stageDirections>
- </scene>
- <scene index="2" title="SCENE II. Athens. QUINCE'S house.">
- <stageDirections>Enter QUINCE, FLUTE, SNOUT, and STARVELING</stageDirections>
- <speech>
- <speaker>QUINCE</speaker>
- <line>Have you sent to Bottom's house? is he come home yet?</line>
- </speech>
- <speech>
- <speaker>STARVELING</speaker>
- <line>He cannot be heard of. Out of doubt he is</line>
- <line>transported.</line>
- </speech>
- <speech>
- <speaker>FLUTE</speaker>
- <line>If he come not, then the play is marred: it goes</line>
- <line>not forward, doth it?</line>
- </speech>
- <speech>
- <speaker>QUINCE</speaker>
- <line>It is not possible: you have not a man in all</line>
- <line>Athens able to discharge Pyramus but he.</line>
- </speech>
- <speech>
- <speaker>FLUTE</speaker>
- <line>No, he hath simply the best wit of any handicraft</line>
- <line>man in Athens.</line>
- </speech>
- <speech>
- <speaker>QUINCE</speaker>
- <line>Yea and the best person too; and he is a very</line>
- <line>paramour for a sweet voice.</line>
- </speech>
- <speech>
- <speaker>FLUTE</speaker>
- <line>You must say 'paragon:' a paramour is, God bless us,</line>
- <line>a thing of naught.</line>
- </speech>
- <stageDirections>Enter SNUG</stageDirections>
- <speech>
- <speaker>SNUG</speaker>
- <line>Masters, the duke is coming from the temple, and</line>
- <line>there is two or three lords and ladies more married:</line>
- <line>if our sport had gone forward, we had all been made</line>
- <line>men.</line>
- </speech>
- <speech>
- <speaker>FLUTE</speaker>
- <line>O sweet bully Bottom! Thus hath he lost sixpence a</line>
- <line>day during his life; he could not have 'scaped</line>
- <line>sixpence a day: an the duke had not given him</line>
- <line>sixpence a day for playing Pyramus, I'll be hanged;</line>
- <line>he would have deserved it: sixpence a day in</line>
- <line>Pyramus, or nothing.</line>
- </speech>
- <stageDirections>Enter BOTTOM</stageDirections>
- <speech>
- <speaker>BOTTOM</speaker>
- <line>Where are these lads? where are these hearts?</line>
- </speech>
- <speech>
- <speaker>QUINCE</speaker>
- <line>Bottom! O most courageous day! O most happy hour!</line>
- </speech>
- <speech>
- <speaker>BOTTOM</speaker>
- <line>Masters, I am to discourse wonders: but ask me not</line>
- <line>what; for if I tell you, I am no true Athenian. I</line>
- <line>will tell you every thing, right as it fell out.</line>
- </speech>
- <speech>
- <speaker>QUINCE</speaker>
- <line>Let us hear, sweet Bottom.</line>
- </speech>
- <speech>
- <speaker>BOTTOM</speaker>
- <line>Not a word of me. All that I will tell you is, that</line>
- <line>the duke hath dined. Get your apparel together,</line>
- <line>good strings to your beards, new ribbons to your</line>
- <line>pumps; meet presently at the palace; every man look</line>
- <line>o'er his part; for the short and the long is, our</line>
- <line>play is preferred. In any case, let Thisby have</line>
- <line>clean linen; and let not him that plays the lion</line>
- <line>pair his nails, for they shall hang out for the</line>
- <line>lion's claws. And, most dear actors, eat no onions</line>
- <line>nor garlic, for we are to utter sweet breath; and I</line>
- <line>do not doubt but to hear them say, it is a sweet</line>
- <line>comedy. No more words: away! go, away!</line>
- </speech>
- <stageDirections>Exeunt</stageDirections>
- </scene>
- </act>
- <act index="4" title="V">
- <scene index="1" title="SCENE I. Athens. The palace of THESEUS.">
- <stageDirections>Enter THESEUS, HIPPOLYTA, PHILOSTRATE, Lords and Attendants</stageDirections>
- <speech>
- <speaker>HIPPOLYTA</speaker>
- <line>'Tis strange my Theseus, that these</line>
- <line>lovers speak of.</line>
- </speech>
- <speech>
- <speaker>THESEUS</speaker>
- <line>More strange than true: I never may believe</line>
- <line>These antique fables, nor these fairy toys.</line>
- <line>Lovers and madmen have such seething brains,</line>
- <line>Such shaping fantasies, that apprehend</line>
- <line>More than cool reason ever comprehends.</line>
- <line>The lunatic, the lover and the poet</line>
- <line>Are of imagination all compact:</line>
- <line>One sees more devils than vast hell can hold,</line>
- <line>That is, the madman: the lover, all as frantic,</line>
- <line>Sees Helen's beauty in a brow of Egypt:</line>
- <line>The poet's eye, in fine frenzy rolling,</line>
- <line>Doth glance from heaven to earth, from earth to heaven;</line>
- <line>And as imagination bodies forth</line>
- <line>The forms of things unknown, the poet's pen</line>
- <line>Turns them to shapes and gives to airy nothing</line>
- <line>A local habitation and a name.</line>
- <line>Such tricks hath strong imagination,</line>
- <line>That if it would but apprehend some joy,</line>
- <line>It comprehends some bringer of that joy;</line>
- <line>Or in the night, imagining some fear,</line>
- <line>How easy is a bush supposed a bear!</line>
- </speech>
- <speech>
- <speaker>HIPPOLYTA</speaker>
- <line>But all the story of the night told over,</line>
- <line>And all their minds transfigured so together,</line>
- <line>More witnesseth than fancy's images</line>
- <line>And grows to something of great constancy;</line>
- <line>But, howsoever, strange and admirable.</line>
- </speech>
- <speech>
- <speaker>THESEUS</speaker>
- <line>Here come the lovers, full of joy and mirth.</line>
- <stageDirections>Enter LYSANDER, DEMETRIUS, HERMIA, and HELENA</stageDirections>
- <line>Joy, gentle friends! joy and fresh days of love</line>
- <line>Accompany your hearts!</line>
- </speech>
- <speech>
- <speaker>LYSANDER</speaker>
- <line>More than to us</line>
- <line>Wait in your royal walks, your board, your bed!</line>
- </speech>
- <speech>
- <speaker>THESEUS</speaker>
- <line>Come now; what masques, what dances shall we have,</line>
- <line>To wear away this long age of three hours</line>
- <line>Between our after-supper and bed-time?</line>
- <line>Where is our usual manager of mirth?</line>
- <line>What revels are in hand? Is there no play,</line>
- <line>To ease the anguish of a torturing hour?</line>
- <line>Call Philostrate.</line>
- </speech>
- <speech>
- <speaker>PHILOSTRATE</speaker>
- <line>Here, mighty Theseus.</line>
- </speech>
- <speech>
- <speaker>THESEUS</speaker>
- <line>Say, what abridgement have you for this evening?</line>
- <line>What masque? what music? How shall we beguile</line>
- <line>The lazy time, if not with some delight?</line>
- </speech>
- <speech>
- <speaker>PHILOSTRATE</speaker>
- <line>There is a brief how many sports are ripe:</line>
- <line>Make choice of which your highness will see first.</line>
- </speech>
- <stageDirections>Giving a paper</stageDirections>
- <speech>
- <speaker>THESEUS</speaker>
- <stageDirections>Reads</stageDirections>
- <line>'The battle with the Centaurs, to be sung</line>
- <line>By an Athenian eunuch to the harp.'</line>
- <line>We'll none of that: that have I told my love,</line>
- <line>In glory of my kinsman Hercules.</line>
- <stageDirections>Reads</stageDirections>
- <line>'The riot of the tipsy Bacchanals,</line>
- <line>Tearing the Thracian singer in their rage.'</line>
- <line>That is an old device; and it was play'd</line>
- <line>When I from Thebes came last a conqueror.</line>
- <stageDirections>Reads</stageDirections>
- <line>'The thrice three Muses mourning for the death</line>
- <line>Of Learning, late deceased in beggary.'</line>
- <line>That is some satire, keen and critical,</line>
- <line>Not sorting with a nuptial ceremony.</line>
- <stageDirections>Reads</stageDirections>
- <line>'A tedious brief scene of young Pyramus</line>
- <line>And his love Thisbe; very tragical mirth.'</line>
- <line>Merry and tragical! tedious and brief!</line>
- <line>That is, hot ice and wondrous strange snow.</line>
- <line>How shall we find the concord of this discord?</line>
- </speech>
- <speech>
- <speaker>PHILOSTRATE</speaker>
- <line>A play there is, my lord, some ten words long,</line>
- <line>Which is as brief as I have known a play;</line>
- <line>But by ten words, my lord, it is too long,</line>
- <line>Which makes it tedious; for in all the play</line>
- <line>There is not one word apt, one player fitted:</line>
- <line>And tragical, my noble lord, it is;</line>
- <line>For Pyramus therein doth kill himself.</line>
- <line>Which, when I saw rehearsed, I must confess,</line>
- <line>Made mine eyes water; but more merry tears</line>
- <line>The passion of loud laughter never shed.</line>
- </speech>
- <speech>
- <speaker>THESEUS</speaker>
- <line>What are they that do play it?</line>
- </speech>
- <speech>
- <speaker>PHILOSTRATE</speaker>
- <line>Hard-handed men that work in Athens here,</line>
- <line>Which never labour'd in their minds till now,</line>
- <line>And now have toil'd their unbreathed memories</line>
- <line>With this same play, against your nuptial.</line>
- </speech>
- <speech>
- <speaker>THESEUS</speaker>
- <line>And we will hear it.</line>
- </speech>
- <speech>
- <speaker>PHILOSTRATE</speaker>
- <line>No, my noble lord;</line>
- <line>It is not for you: I have heard it over,</line>
- <line>And it is nothing, nothing in the world;</line>
- <line>Unless you can find sport in their intents,</line>
- <line>Extremely stretch'd and conn'd with cruel pain,</line>
- <line>To do you service.</line>
- </speech>
- <speech>
- <speaker>THESEUS</speaker>
- <line>I will hear that play;</line>
- <line>For never anything can be amiss,</line>
- <line>When simpleness and duty tender it.</line>
- <line>Go, bring them in: and take your places, ladies.</line>
- </speech>
- <stageDirections>Exit PHILOSTRATE</stageDirections>
- <speech>
- <speaker>HIPPOLYTA</speaker>
- <line>I love not to see wretchedness o'er charged</line>
- <line>And duty in his service perishing.</line>
- </speech>
- <speech>
- <speaker>THESEUS</speaker>
- <line>Why, gentle sweet, you shall see no such thing.</line>
- </speech>
- <speech>
- <speaker>HIPPOLYTA</speaker>
- <line>He says they can do nothing in this kind.</line>
- </speech>
- <speech>
- <speaker>THESEUS</speaker>
- <line>The kinder we, to give them thanks for nothing.</line>
- <line>Our sport shall be to take what they mistake:</line>
- <line>And what poor duty cannot do, noble respect</line>
- <line>Takes it in might, not merit.</line>
- <line>Where I have come, great clerks have purposed</line>
- <line>To greet me with premeditated welcomes;</line>
- <line>Where I have seen them shiver and look pale,</line>
- <line>Make periods in the midst of sentences,</line>
- <line>Throttle their practised accent in their fears</line>
- <line>And in conclusion dumbly have broke off,</line>
- <line>Not paying me a welcome. Trust me, sweet,</line>
- <line>Out of this silence yet I pick'd a welcome;</line>
- <line>And in the modesty of fearful duty</line>
- <line>I read as much as from the rattling tongue</line>
- <line>Of saucy and audacious eloquence.</line>
- <line>Love, therefore, and tongue-tied simplicity</line>
- <line>In least speak most, to my capacity.</line>
- </speech>
- <stageDirections>Re-enter PHILOSTRATE</stageDirections>
- <speech>
- <speaker>PHILOSTRATE</speaker>
- <line>So please your grace, the Prologue is address'd.</line>
- </speech>
- <speech>
- <speaker>THESEUS</speaker>
- <line>Let him approach.</line>
- </speech>
- <stageDirections>Flourish of trumpets</stageDirections>
- <stageDirections>Enter QUINCE for the Prologue</stageDirections>
- <speech>
- <speaker>Prologue</speaker>
- <line>If we offend, it is with our good will.</line>
- <line>That you should think, we come not to offend,</line>
- <line>But with good will. To show our simple skill,</line>
- <line>That is the true beginning of our end.</line>
- <line>Consider then we come but in despite.</line>
- <line>We do not come as minding to contest you,</line>
- <line>Our true intent is. All for your delight</line>
- <line>We are not here. That you should here repent you,</line>
- <line>The actors are at hand and by their show</line>
- <line>You shall know all that you are like to know.</line>
- </speech>
- <speech>
- <speaker>THESEUS</speaker>
- <line>This fellow doth not stand upon points.</line>
- </speech>
- <speech>
- <speaker>LYSANDER</speaker>
- <line>He hath rid his prologue like a rough colt; he knows</line>
- <line>not the stop. A good moral, my lord: it is not</line>
- <line>enough to speak, but to speak true.</line>
- </speech>
- <speech>
- <speaker>HIPPOLYTA</speaker>
- <line>Indeed he hath played on his prologue like a child</line>
- <line>on a recorder; a sound, but not in government.</line>
- </speech>
- <speech>
- <speaker>THESEUS</speaker>
- <line>His speech, was like a tangled chain; nothing</line>
- <line>impaired, but all disordered. Who is next?</line>
- </speech>
- <stageDirections>Enter Pyramus and Thisbe, Wall, Moonshine, and Lion</stageDirections>
- <speech>
- <speaker>Prologue</speaker>
- <line>Gentles, perchance you wonder at this show;</line>
- <line>But wonder on, till truth make all things plain.</line>
- <line>This man is Pyramus, if you would know;</line>
- <line>This beauteous lady Thisby is certain.</line>
- <line>This man, with lime and rough-cast, doth present</line>
- <line>Wall, that vile Wall which did these lovers sunder;</line>
- <line>And through Wall's chink, poor souls, they are content</line>
- <line>To whisper. At the which let no man wonder.</line>
- <line>This man, with lanthorn, dog, and bush of thorn,</line>
- <line>Presenteth Moonshine; for, if you will know,</line>
- <line>By moonshine did these lovers think no scorn</line>
- <line>To meet at Ninus' tomb, there, there to woo.</line>
- <line>This grisly beast, which Lion hight by name,</line>
- <line>The trusty Thisby, coming first by night,</line>
- <line>Did scare away, or rather did affright;</line>
- <line>And, as she fled, her mantle she did fall,</line>
- <line>Which Lion vile with bloody mouth did stain.</line>
- <line>Anon comes Pyramus, sweet youth and tall,</line>
- <line>And finds his trusty Thisby's mantle slain:</line>
- <line>Whereat, with blade, with bloody blameful blade,</line>
- <line>He bravely broach'd is boiling bloody breast;</line>
- <line>And Thisby, tarrying in mulberry shade,</line>
- <line>His dagger drew, and died. For all the rest,</line>
- <line>Let Lion, Moonshine, Wall, and lovers twain</line>
- <line>At large discourse, while here they do remain.</line>
- </speech>
- <stageDirections>Exeunt Prologue, Thisbe, Lion, and Moonshine</stageDirections>
- <speech>
- <speaker>THESEUS</speaker>
- <line>I wonder if the lion be to speak.</line>
- </speech>
- <speech>
- <speaker>DEMETRIUS</speaker>
- <line>No wonder, my lord: one lion may, when many asses do.</line>
- </speech>
- <speech>
- <speaker>Wall</speaker>
- <line>In this same interlude it doth befall</line>
- <line>That I, one Snout by name, present a wall;</line>
- <line>And such a wall, as I would have you think,</line>
- <line>That had in it a crannied hole or chink,</line>
- <line>Through which the lovers, Pyramus and Thisby,</line>
- <line>Did whisper often very secretly.</line>
- <line>This loam, this rough-cast and this stone doth show</line>
- <line>That I am that same wall; the truth is so:</line>
- <line>And this the cranny is, right and sinister,</line>
- <line>Through which the fearful lovers are to whisper.</line>
- </speech>
- <speech>
- <speaker>THESEUS</speaker>
- <line>Would you desire lime and hair to speak better?</line>
- </speech>
- <speech>
- <speaker>DEMETRIUS</speaker>
- <line>It is the wittiest partition that ever I heard</line>
- <line>discourse, my lord.</line>
- </speech>
- <stageDirections>Enter Pyramus</stageDirections>
- <speech>
- <speaker>THESEUS</speaker>
- <line>Pyramus draws near the wall: silence!</line>
- </speech>
- <speech>
- <speaker>Pyramus</speaker>
- <line>O grim-look'd night! O night with hue so black!</line>
- <line>O night, which ever art when day is not!</line>
- <line>O night, O night! alack, alack, alack,</line>
- <line>I fear my Thisby's promise is forgot!</line>
- <line>And thou, O wall, O sweet, O lovely wall,</line>
- <line>That stand'st between her father's ground and mine!</line>
- <line>Thou wall, O wall, O sweet and lovely wall,</line>
- <line>Show me thy chink, to blink through with mine eyne!</line>
- <stageDirections>Wall holds up his fingers</stageDirections>
- <line>Thanks, courteous wall: Jove shield thee well for this!</line>
- <line>But what see I? No Thisby do I see.</line>
- <line>O wicked wall, through whom I see no bliss!</line>
- <line>Cursed be thy stones for thus deceiving me!</line>
- </speech>
- <speech>
- <speaker>THESEUS</speaker>
- <line>The wall, methinks, being sensible, should curse again.</line>
- </speech>
- <speech>
- <speaker>Pyramus</speaker>
- <line>No, in truth, sir, he should not. 'Deceiving me'</line>
- <line>is Thisby's cue: she is to enter now, and I am to</line>
- <line>spy her through the wall. You shall see, it will</line>
- <line>fall pat as I told you. Yonder she comes.</line>
- </speech>
- <stageDirections>Enter Thisbe</stageDirections>
- <speech>
- <speaker>Thisbe</speaker>
- <line>O wall, full often hast thou heard my moans,</line>
- <line>For parting my fair Pyramus and me!</line>
- <line>My cherry lips have often kiss'd thy stones,</line>
- <line>Thy stones with lime and hair knit up in thee.</line>
- </speech>
- <speech>
- <speaker>Pyramus</speaker>
- <line>I see a voice: now will I to the chink,</line>
- <line>To spy an I can hear my Thisby's face. Thisby!</line>
- </speech>
- <speech>
- <speaker>Thisbe</speaker>
- <line>My love thou art, my love I think.</line>
- </speech>
- <speech>
- <speaker>Pyramus</speaker>
- <line>Think what thou wilt, I am thy lover's grace;</line>
- <line>And, like Limander, am I trusty still.</line>
- </speech>
- <speech>
- <speaker>Thisbe</speaker>
- <line>And I like Helen, till the Fates me kill.</line>
- </speech>
- <speech>
- <speaker>Pyramus</speaker>
- <line>Not Shafalus to Procrus was so true.</line>
- </speech>
- <speech>
- <speaker>Thisbe</speaker>
- <line>As Shafalus to Procrus, I to you.</line>
- </speech>
- <speech>
- <speaker>Pyramus</speaker>
- <line>O kiss me through the hole of this vile wall!</line>
- </speech>
- <speech>
- <speaker>Thisbe</speaker>
- <line>I kiss the wall's hole, not your lips at all.</line>
- </speech>
- <speech>
- <speaker>Pyramus</speaker>
- <line>Wilt thou at Ninny's tomb meet me straightway?</line>
- </speech>
- <speech>
- <speaker>Thisbe</speaker>
- <line>'Tide life, 'tide death, I come without delay.</line>
- </speech>
- <stageDirections>Exeunt Pyramus and Thisbe</stageDirections>
- <speech>
- <speaker>Wall</speaker>
- <line>Thus have I, Wall, my part discharged so;</line>
- <line>And, being done, thus Wall away doth go.</line>
- </speech>
- <stageDirections>Exit</stageDirections>
- <speech>
- <speaker>THESEUS</speaker>
- <line>Now is the mural down between the two neighbours.</line>
- </speech>
- <speech>
- <speaker>DEMETRIUS</speaker>
- <line>No remedy, my lord, when walls are so wilful to hear</line>
- <line>without warning.</line>
- </speech>
- <speech>
- <speaker>HIPPOLYTA</speaker>
- <line>This is the silliest stuff that ever I heard.</line>
- </speech>
- <speech>
- <speaker>THESEUS</speaker>
- <line>The best in this kind are but shadows; and the worst</line>
- <line>are no worse, if imagination amend them.</line>
- </speech>
- <speech>
- <speaker>HIPPOLYTA</speaker>
- <line>It must be your imagination then, and not theirs.</line>
- </speech>
- <speech>
- <speaker>THESEUS</speaker>
- <line>If we imagine no worse of them than they of</line>
- <line>themselves, they may pass for excellent men. Here</line>
- <line>come two noble beasts in, a man and a lion.</line>
- </speech>
- <stageDirections>Enter Lion and Moonshine</stageDirections>
- <speech>
- <speaker>Lion</speaker>
- <line>You, ladies, you, whose gentle hearts do fear</line>
- <line>The smallest monstrous mouse that creeps on floor,</line>
- <line>May now perchance both quake and tremble here,</line>
- <line>When lion rough in wildest rage doth roar.</line>
- <line>Then know that I, one Snug the joiner, am</line>
- <line>A lion-fell, nor else no lion's dam;</line>
- <line>For, if I should as lion come in strife</line>
- <line>Into this place, 'twere pity on my life.</line>
- </speech>
- <speech>
- <speaker>THESEUS</speaker>
- <line>A very gentle beast, of a good conscience.</line>
- </speech>
- <speech>
- <speaker>DEMETRIUS</speaker>
- <line>The very best at a beast, my lord, that e'er I saw.</line>
- </speech>
- <speech>
- <speaker>LYSANDER</speaker>
- <line>This lion is a very fox for his valour.</line>
- </speech>
- <speech>
- <speaker>THESEUS</speaker>
- <line>True; and a goose for his discretion.</line>
- </speech>
- <speech>
- <speaker>DEMETRIUS</speaker>
- <line>Not so, my lord; for his valour cannot carry his</line>
- <line>discretion; and the fox carries the goose.</line>
- </speech>
- <speech>
- <speaker>THESEUS</speaker>
- <line>His discretion, I am sure, cannot carry his valour;</line>
- <line>for the goose carries not the fox. It is well:</line>
- <line>leave it to his discretion, and let us listen to the moon.</line>
- </speech>
- <speech>
- <speaker>Moonshine</speaker>
- <line>This lanthorn doth the horned moon present;--</line>
- </speech>
- <speech>
- <speaker>DEMETRIUS</speaker>
- <line>He should have worn the horns on his head.</line>
- </speech>
- <speech>
- <speaker>THESEUS</speaker>
- <line>He is no crescent, and his horns are</line>
- <line>invisible within the circumference.</line>
- </speech>
- <speech>
- <speaker>Moonshine</speaker>
- <line>This lanthorn doth the horned moon present;</line>
- <line>Myself the man i' the moon do seem to be.</line>
- </speech>
- <speech>
- <speaker>THESEUS</speaker>
- <line>This is the greatest error of all the rest: the man</line>
- <line>should be put into the lanthorn. How is it else the</line>
- <line>man i' the moon?</line>
- </speech>
- <speech>
- <speaker>DEMETRIUS</speaker>
- <line>He dares not come there for the candle; for, you</line>
- <line>see, it is already in snuff.</line>
- </speech>
- <speech>
- <speaker>HIPPOLYTA</speaker>
- <line>I am aweary of this moon: would he would change!</line>
- </speech>
- <speech>
- <speaker>THESEUS</speaker>
- <line>It appears, by his small light of discretion, that</line>
- <line>he is in the wane; but yet, in courtesy, in all</line>
- <line>reason, we must stay the time.</line>
- </speech>
- <speech>
- <speaker>LYSANDER</speaker>
- <line>Proceed, Moon.</line>
- </speech>
- <speech>
- <speaker>Moonshine</speaker>
- <line>All that I have to say, is, to tell you that the</line>
- <line>lanthorn is the moon; I, the man in the moon; this</line>
- <line>thorn-bush, my thorn-bush; and this dog, my dog.</line>
- </speech>
- <speech>
- <speaker>DEMETRIUS</speaker>
- <line>Why, all these should be in the lanthorn; for all</line>
- <line>these are in the moon. But, silence! here comes Thisbe.</line>
- </speech>
- <stageDirections>Enter Thisbe</stageDirections>
- <speech>
- <speaker>Thisbe</speaker>
- <line>This is old Ninny's tomb. Where is my love?</line>
- </speech>
- <speech>
- <speaker>Lion</speaker>
- <stageDirections>Roaring</stageDirections>
- <line>Oh--</line>
- </speech>
- <stageDirections>Thisbe runs off</stageDirections>
- <speech>
- <speaker>DEMETRIUS</speaker>
- <line>Well roared, Lion.</line>
- </speech>
- <speech>
- <speaker>THESEUS</speaker>
- <line>Well run, Thisbe.</line>
- </speech>
- <speech>
- <speaker>HIPPOLYTA</speaker>
- <line>Well shone, Moon. Truly, the moon shines with a</line>
- <line>good grace.</line>
- </speech>
- <stageDirections>The Lion shakes Thisbe's mantle, and exit</stageDirections>
- <speech>
- <speaker>THESEUS</speaker>
- <line>Well moused, Lion.</line>
- </speech>
- <speech>
- <speaker>LYSANDER</speaker>
- <line>And so the lion vanished.</line>
- </speech>
- <speech>
- <speaker>DEMETRIUS</speaker>
- <line>And then came Pyramus.</line>
- </speech>
- <stageDirections>Enter Pyramus</stageDirections>
- <speech>
- <speaker>Pyramus</speaker>
- <line>Sweet Moon, I thank thee for thy sunny beams;</line>
- <line>I thank thee, Moon, for shining now so bright;</line>
- <line>For, by thy gracious, golden, glittering gleams,</line>
- <line>I trust to take of truest Thisby sight.</line>
- <line>But stay, O spite!</line>
- <line>But mark, poor knight,</line>
- <line>What dreadful dole is here!</line>
- <line>Eyes, do you see?</line>
- <line>How can it be?</line>
- <line>O dainty duck! O dear!</line>
- <line>Thy mantle good,</line>
- <line>What, stain'd with blood!</line>
- <line>Approach, ye Furies fell!</line>
- <line>O Fates, come, come,</line>
- <line>Cut thread and thrum;</line>
- <line>Quail, crush, conclude, and quell!</line>
- </speech>
- <speech>
- <speaker>THESEUS</speaker>
- <line>This passion, and the death of a dear friend, would</line>
- <line>go near to make a man look sad.</line>
- </speech>
- <speech>
- <speaker>HIPPOLYTA</speaker>
- <line>Beshrew my heart, but I pity the man.</line>
- </speech>
- <speech>
- <speaker>Pyramus</speaker>
- <line>O wherefore, Nature, didst thou lions frame?</line>
- <line>Since lion vile hath here deflower'd my dear:</line>
- <line>Which is--no, no--which was the fairest dame</line>
- <line>That lived, that loved, that liked, that look'd</line>
- <line>with cheer.</line>
- <line>Come, tears, confound;</line>
- <line>Out, sword, and wound</line>
- <line>The pap of Pyramus;</line>
- <line>Ay, that left pap,</line>
- <line>Where heart doth hop:</line>
- <stageDirections>Stabs himself</stageDirections>
- <line>Thus die I, thus, thus, thus.</line>
- <line>Now am I dead,</line>
- <line>Now am I fled;</line>
- <line>My soul is in the sky:</line>
- <line>Tongue, lose thy light;</line>
- <line>Moon take thy flight:</line>
- <stageDirections>Exit Moonshine</stageDirections>
- <line>Now die, die, die, die, die.</line>
- </speech>
- <stageDirections>Dies</stageDirections>
- <speech>
- <speaker>DEMETRIUS</speaker>
- <line>No die, but an ace, for him; for he is but one.</line>
- </speech>
- <speech>
- <speaker>LYSANDER</speaker>
- <line>Less than an ace, man; for he is dead; he is nothing.</line>
- </speech>
- <speech>
- <speaker>THESEUS</speaker>
- <line>With the help of a surgeon he might yet recover, and</line>
- <line>prove an ass.</line>
- </speech>
- <speech>
- <speaker>HIPPOLYTA</speaker>
- <line>How chance Moonshine is gone before Thisbe comes</line>
- <line>back and finds her lover?</line>
- </speech>
- <speech>
- <speaker>THESEUS</speaker>
- <line>She will find him by starlight. Here she comes; and</line>
- <line>her passion ends the play.</line>
- </speech>
- <stageDirections>Re-enter Thisbe</stageDirections>
- <speech>
- <speaker>HIPPOLYTA</speaker>
- <line>Methinks she should not use a long one for such a</line>
- <line>Pyramus: I hope she will be brief.</line>
- </speech>
- <speech>
- <speaker>DEMETRIUS</speaker>
- <line>A mote will turn the balance, which Pyramus, which</line>
- <line>Thisbe, is the better; he for a man, God warrant us;</line>
- <line>she for a woman, God bless us.</line>
- </speech>
- <speech>
- <speaker>LYSANDER</speaker>
- <line>She hath spied him already with those sweet eyes.</line>
- </speech>
- <speech>
- <speaker>DEMETRIUS</speaker>
- <line>And thus she means, videlicet:--</line>
- </speech>
- <speech>
- <speaker>Thisbe</speaker>
- <line>Asleep, my love?</line>
- <line>What, dead, my dove?</line>
- <line>O Pyramus, arise!</line>
- <line>Speak, speak. Quite dumb?</line>
- <line>Dead, dead? A tomb</line>
- <line>Must cover thy sweet eyes.</line>
- <line>These My lips,</line>
- <line>This cherry nose,</line>
- <line>These yellow cowslip cheeks,</line>
- <line>Are gone, are gone:</line>
- <line>Lovers, make moan:</line>
- <line>His eyes were green as leeks.</line>
- <line>O Sisters Three,</line>
- <line>Come, come to me,</line>
- <line>With hands as pale as milk;</line>
- <line>Lay them in gore,</line>
- <line>Since you have shore</line>
- <line>With shears his thread of silk.</line>
- <line>Tongue, not a word:</line>
- <line>Come, trusty sword;</line>
- <line>Come, blade, my breast imbrue:</line>
- <stageDirections>Stabs herself</stageDirections>
- <line>And, farewell, friends;</line>
- <line>Thus Thisby ends:</line>
- <line>Adieu, adieu, adieu.</line>
- </speech>
- <stageDirections>Dies</stageDirections>
- <speech>
- <speaker>THESEUS</speaker>
- <line>Moonshine and Lion are left to bury the dead.</line>
- </speech>
- <speech>
- <speaker>DEMETRIUS</speaker>
- <line>Ay, and Wall too.</line>
- </speech>
- <speech>
- <speaker>BOTTOM</speaker>
- <stageDirections>Starting up</stageDirections>
- <line>No assure you; the wall is down that</line>
- <line>parted their fathers. Will it please you to see the</line>
- <line>epilogue, or to hear a Bergomask dance between two</line>
- <line>of our company?</line>
- </speech>
- <speech>
- <speaker>THESEUS</speaker>
- <line>No epilogue, I pray you; for your play needs no</line>
- <line>excuse. Never excuse; for when the players are all</line>
- <line>dead, there needs none to be blamed. Marry, if he</line>
- <line>that writ it had played Pyramus and hanged himself</line>
- <line>in Thisbe's garter, it would have been a fine</line>
- <line>tragedy: and so it is, truly; and very notably</line>
- <line>discharged. But come, your Bergomask: let your</line>
- <line>epilogue alone.</line>
- <stageDirections>A dance</stageDirections>
- <line>The iron tongue of midnight hath told twelve:</line>
- <line>Lovers, to bed; 'tis almost fairy time.</line>
- <line>I fear we shall out-sleep the coming morn</line>
- <line>As much as we this night have overwatch'd.</line>
- <line>This palpable-gross play hath well beguiled</line>
- <line>The heavy gait of night. Sweet friends, to bed.</line>
- <line>A fortnight hold we this solemnity,</line>
- <line>In nightly revels and new jollity.</line>
- </speech>
- <stageDirections>Exeunt</stageDirections>
- <stageDirections>Enter PUCK</stageDirections>
- <speech>
- <speaker>PUCK</speaker>
- <line>Now the hungry lion roars,</line>
- <line>And the wolf behowls the moon;</line>
- <line>Whilst the heavy ploughman snores,</line>
- <line>All with weary task fordone.</line>
- <line>Now the wasted brands do glow,</line>
- <line>Whilst the screech-owl, screeching loud,</line>
- <line>Puts the wretch that lies in woe</line>
- <line>In remembrance of a shroud.</line>
- <line>Now it is the time of night</line>
- <line>That the graves all gaping wide,</line>
- <line>Every one lets forth his sprite,</line>
- <line>In the church-way paths to glide:</line>
- <line>And we fairies, that do run</line>
- <line>By the triple Hecate's team,</line>
- <line>From the presence of the sun,</line>
- <line>Following darkness like a dream,</line>
- <line>Now are frolic: not a mouse</line>
- <line>Shall disturb this hallow'd house:</line>
- <line>I am sent with broom before,</line>
- <line>To sweep the dust behind the door.</line>
- </speech>
- <stageDirections>Enter OBERON and TITANIA with their train</stageDirections>
- <speech>
- <speaker>OBERON</speaker>
- <line>Through the house give gathering light,</line>
- <line>By the dead and drowsy fire:</line>
- <line>Every elf and fairy sprite</line>
- <line>Hop as light as bird from brier;</line>
- <line>And this ditty, after me,</line>
- <line>Sing, and dance it trippingly.</line>
- </speech>
- <speech>
- <speaker>TITANIA</speaker>
- <line>First, rehearse your song by rote</line>
- <line>To each word a warbling note:</line>
- <line>Hand in hand, with fairy grace,</line>
- <line>Will we sing, and bless this place.</line>
- </speech>
- <stageDirections>Song and dance</stageDirections>
- <speech>
- <speaker>OBERON</speaker>
- <line>Now, until the break of day,</line>
- <line>Through this house each fairy stray.</line>
- <line>To the best bride-bed will we,</line>
- <line>Which by us shall blessed be;</line>
- <line>And the issue there create</line>
- <line>Ever shall be fortunate.</line>
- <line>So shall all the couples three</line>
- <line>Ever true in loving be;</line>
- <line>And the blots of Nature's hand</line>
- <line>Shall not in their issue stand;</line>
- <line>Never mole, hare lip, nor scar,</line>
- <line>Nor mark prodigious, such as are</line>
- <line>Despised in nativity,</line>
- <line>Shall upon their children be.</line>
- <line>With this field-dew consecrate,</line>
- <line>Every fairy take his gait;</line>
- <line>And each several chamber bless,</line>
- <line>Through this palace, with sweet peace;</line>
- <line>And the owner of it blest</line>
- <line>Ever shall in safety rest.</line>
- <line>Trip away; make no stay;</line>
- <line>Meet me all by break of day.</line>
- </speech>
- <stageDirections>Exeunt OBERON, TITANIA, and train</stageDirections>
- <speech>
- <speaker>PUCK</speaker>
- <line>If we shadows have offended,</line>
- <line>Think but this, and all is mended,</line>
- <line>That you have but slumber'd here</line>
- <line>While these visions did appear.</line>
- <line>And this weak and idle theme,</line>
- <line>No more yielding but a dream,</line>
- <line>Gentles, do not reprehend:</line>
- <line>if you pardon, we will mend:</line>
- <line>And, as I am an honest Puck,</line>
- <line>If we have unearned luck</line>
- <line>Now to 'scape the serpent's tongue,</line>
- <line>We will make amends ere long;</line>
- <line>Else the Puck a liar call;</line>
- <line>So, good night unto you all.</line>
- <line>Give me your hands, if we be friends,</line>
- <line>And Robin shall restore amends.</line>
- </speech>
- </scene>
- </act>
-</play:PlayType>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/examples/play.xsd b/doc/org.eclipse.emf.teneo.doc/doc/examples/play.xsd
deleted file mode 100644
index 6fc25493b..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/examples/play.xsd
+++ /dev/null
@@ -1,99 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema
- targetNamespace="http://www.elver.org/store/test/emf/sample/play"
- xmlns="http://www.elver.org/store/test/emf/sample/play"
- xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
- xmlns:xs="http://www.w3.org/2001/XMLSchema"
- xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
- jxb:version="1.0">
-
- <!-- Schema found in an older article here: http://www.devx.com/Java/Article/10904/0/page/1 -->
-
- <xs:annotation>
- <xs:appinfo>
- <jxb:globalBindings
- collectionType="java.util.Vector" />
- </xs:appinfo>
- </xs:annotation>
-
- <xs:element name="act">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="scene" maxOccurs="unbounded"/>
- </xs:sequence>
- <xs:attribute name="index" type="xs:byte" use="required"/>
- <xs:attribute name="title" type="xs:string" use="required"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="fm">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="p" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="groupDescription" type="xs:string"/>
- <xs:element name="line" type="xs:string"/>
- <xs:element name="p" type="xs:string"/>
- <xs:element name="persona" type="xs:string"/>
- <xs:element name="personaGroup">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="persona" maxOccurs="unbounded"/>
- <xs:element ref="groupDescription"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="personae">
- <xs:complexType>
- <xs:choice maxOccurs="unbounded">
- <xs:element ref="title"/>
- <xs:element ref="persona"/>
- <xs:element ref="personaGroup"/>
- </xs:choice>
- </xs:complexType>
- </xs:element>
- <xs:element name="play">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="title"/>
- <xs:element ref="fm"/>
- <xs:element ref="personae"/>
- <xs:element ref="sceneDescription"/>
- <xs:element ref="playSubTitle"/>
- <xs:element ref="act" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="playSubTitle" type="xs:string"/>
- <xs:element name="scene">
- <xs:complexType>
- <xs:choice maxOccurs="unbounded">
- <xs:element ref="stageDirections"/>
- <xs:element ref="speech"/>
- </xs:choice>
- <xs:attribute name="index" use="required">
- <xs:simpleType>
- <xs:restriction base="xs:NMTOKEN">
- <xs:enumeration value="1"/>
- <xs:enumeration value="2"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="title" type="xs:string" use="required"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="sceneDescription" type="xs:string"/>
- <xs:element name="speaker" type="xs:string"/>
- <xs:element name="speech">
- <xs:complexType>
- <xs:choice maxOccurs="unbounded">
- <xs:element ref="speaker"/>
- <xs:element ref="line"/>
- <xs:element ref="stageDirections"/>
- </xs:choice>
- </xs:complexType>
- </xs:element>
- <xs:element name="stageDirections" type="xs:string"/>
- <xs:element name="title" type="xs:string"/>
-</xs:schema>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/examples/schema_list.xml b/doc/org.eclipse.emf.teneo.doc/doc/examples/schema_list.xml
deleted file mode 100644
index 303c2a171..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/examples/schema_list.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2005-2006, Elver.org (http://www.elver.org).
-
- Licensed 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.
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.1 $ $Date: 2006/08/03 09:58:09 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>List of test XML Schemas</title>
- </header>
- <body>
- <p>The integration layer is tested with a number of different test cases. Some
- of these test cases are based on EMF classes generated from XML Schemas and ecore files.
- A subset of the used XML Schemas is provided below so they can be used to test the
- integration layer. For more details please get the test project from subversion (see
- <a href="../testcases.html">here</a>).</p>
- <p></p>
- <ul>
- <li><a href="library.xsd">Library.xsd</a>: the library example</li>
- <li><a href="Catalog.xsd">Catalog.xsd</a>: a simple product catalog</li>
- <li><a href="PrimerPO.xsd">PrimerPO.xsd</a>: the primer example used by XML Schema and others</li>
- <li><a href="ExtendedPO2.ecore">ExtendedPO2.ecore (note ecore file)</a>: the extended po example from the EMF book</li>
- <li><a href="forum.xsd">Forum.xsd</a>: a simple forum</li>
- <li><a href="sun_books.xsd">sun_books.xsd</a>: example as provided by Sun for Jaxb (see <a href="http://java.sun.com/developer/technicalArticles/WebServices/jaxb/">here</a>)</li>
- <li><a href="play.xsd">play.xsd</a>: example on how to model theatre plays, (copied from <a href="http://www.devx.com/Java/Article/10904/0/page/1">here</a>), the test case uses
- the following data file: <a href="play.xml">play.xml</a></li>
- </ul>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/examples/sun_books.xsd b/doc/org.eclipse.emf.teneo.doc/doc/examples/sun_books.xsd
deleted file mode 100644
index 9e3f185e9..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/examples/sun_books.xsd
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema targetNamespace="http://www.elver.org/store/test/emf/sun_books"
- xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
- xmlns="http://www.elver.org/store/test/emf/sun_books"
- xmlns:xs="http://www.w3.org/2001/XMLSchema"
- xmlns:jaxb="http://java.sun.com/xml/ns/jaxb">
-
-<!-- Example from Sun Jaxb site -->
-
-<xs:element name="Collection">
- <xs:complexType>
- <xs:sequence>
- <xs:element name ="books">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="book" type="bookType" minOccurs="1" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
-</xs:element>
-
-<xs:complexType name="bookType">
- <xs:sequence>
- <xs:element name="name" type="xs:string"/>
- <xs:element name="ISBN" type="xs:long"/>
- <xs:element name="price" type="xs:string"/>
- <xs:element name="authors" >
- <xs:complexType>
- <xs:sequence>
- <xs:element name="authorName" type="xs:string" minOccurs="1"
- maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="description" type="xs:string" minOccurs="0"/>
- <xs:element name="promotion">
- <xs:complexType>
- <xs:choice>
- <xs:element name="Discount" type="xs:string" />
- <xs:element name="None" type="xs:string"/>
- </xs:choice>
- </xs:complexType>
- </xs:element>
- <xs:element name="publicationDate" type="xs:date"/>
- <xs:element name="bookCategory">
- <xs:simpleType>
- <xs:restriction base="xs:NCName">
- <xs:enumeration value="magazine" />
- <xs:enumeration value="novel" />
- <xs:enumeration value="fiction" />
- <xs:enumeration value="other" />
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- </xs:sequence>
- <xs:attribute name="itemId" type="xs:string" />
-</xs:complexType>
-
-
-
-<xs:simpleType name="bookCategoryType" >
- <xs:restriction base="xs:string">
- <xs:enumeration value="magazine" />
- <xs:enumeration value="novel" />
- <xs:enumeration value="fiction" />
- <xs:enumeration value="other" />
- </xs:restriction>
-</xs:simpleType>
-
-
-</xs:schema>
-
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/goal.xml b/doc/org.eclipse.emf.teneo.doc/doc/goal.xml
deleted file mode 100644
index 27e1893f4..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/goal.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2005-2006, Elver.org (http://www.elver.org).
-
- Licensed 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.
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.1 $ $Date: 2006/08/03 09:58:07 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Project Goal</title>
- </header>
- <body>
- <p>The Elver project aims to combine existing open source technologies to develop
- a code and ui generation framework which takes away a lot of
- standard work of the software developer. The Elver project uses XML Schemas as the basis
- for modeling, code and ui generation.
- </p>
- <section>
- <title>XML Schema</title>
- <p>The experience with XML Schema over the past years have been very positive. We like the
- flexibility and power of the syntax. In addition we have noticed that it it is very efficient to
- define a model using XML Schemas (in contrast to using advanced and complex modeling tools).
- </p>
- </section>
- <section>
- <title>Code Generation</title>
- <p>It is our belief that code generation is the future for software development. Most, if not all, plumbing
- code can be replaced by a code generation framework. In addition code generation can take care of many
- business rules if supported by the modeling language. The <a href="http://www.eclipse.org/emf">EMF project</a>
- is an example of a code generation framework for XML Schemas.</p>
- </section>
- <section>
- <title>UI Generation</title>
- <p>Even more than with standard coding developers time is 'wasted' on ui development. Especially
- standard data maintenance views take to much development time in relation to the actual value these functions
- have for the end-customer. By using a powerfull modeling language as XML Schema as the
- input for a ui-generation framework it is possible to generate advanced web-UI's with
- very little coding.
- </p>
- </section>
- <section>
- <title>Project approach</title>
- <ul>
- <li>Use and adhere to open standards</li>
- <li>Integrate and extend existing technologies to assemble a complete solution</li>
- <li>Develop open source solutions to facilitate a broad use of our and other's technology</li>
- </ul>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/changelog.xml b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/changelog.xml
deleted file mode 100644
index 0f7618243..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/changelog.xml
+++ /dev/null
@@ -1,305 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.7 $ $Date: 2006/09/14 04:36:37 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Changelog</title>
- </header>
- <body>
- <p>Gives an overview of changes in different releases over time</p>
- <p></p>
- <p>
- <strong>From 12 September 2006: for changelog and release notes see the emft website: <a href="http://www.eclipse.org/emft/news/release-notes.php">here</a></strong>
- </p>
- <!--
- <p></p>
- <p>
- <strong>Release: 0.7.5 ALPHA - 27 Augustus 2006</strong>
- </p>
- <ul>
- <li>Changed default column names for version and synthetic id to e_version and e_id. These names should be valid for most databases and prevent nameclashes.
- You can be backward compatible by setting the names back to the old values using the relevant options, (see <a href="options.html">here</a>).</li>
- <li>For EAttribute, Unique attribute is not used anymore to set unique on property/column level.</li>
- Toplevel nested annotations not used anymore JoinColumns, etc.
- </ul>
- -->
- <p></p>
- <p>
- <strong>Release: 0.7.2 ALPHA - 7 June 2006</strong>
- </p>
- <ul>
- <li><strong>Changed source of annotations</strong>: ejb3 annotation now use ejb.elver.org, Elver specific annotation now use
- annotation.elver.org, Hibernate specific annotations now use hibernate.elver.org.
- For backward compatibility all ejb annotations can also still be used together with
- annotation.elver.org.</li>
- <li><strong>The hibernate jar files have been moved to a separate plugin: org.eclipse.emf.teneo.hibernate.libraries</strong>. This plugin contains the
- Hibernate 3.2 version. If you want to use a different Hibernate version then please replace the hibernate jars in this plugin (in the
- installation directory of Eclipse). In a later release this will possibly be made easier.</li>
- <li><strong>All table and column names are now in lowercase.</strong> The casing can be controlled with an option
- (see <a href="options.html">here</a>).</li>
- <li>EJB/Persistence annotations can be set on the EDataType, see <a href="ejb3_features.html#edatatype">here</a>.</li>
- <li>Cleaned up the interface for setting properties. The HbDataStore.setHibernateProperties can
- be used to set Hibernate specific properties, the HbDataStore.setPersistenceProperties can be used to set Elver specific
- persistence properties.</li>
- <li>The interface for getting the session has been changed, instead of getSession you need to call getSessionFactory().openSession() on the
- HbDataStore.</li>
- <li>Added different runtime properties (see <a href="options.html">here</a>), for example to handle column/table names which are too long.</li>
- <li>Multi level mapped super classes in the inheritance tree were not supported, this has been fixed now.</li>
- <li>Solved a bug related to mapping of non-indexed (bag) relations, this issue occurs when a type has a reference to itself.</li>
- <li>Solved a bug in handling of enumerates (String enumerates were stored as int)</li>
- <li>Unique attribute on eattributes is now used to generate a unique constraint</li>
- <li>Solved a bug related to handling of non-unique, non-indexed, one-to-many relations</li>
- <li>Added modest support for multiple inheritance (see <a href="inheritance.html#Multiple+Inheritance+Support">here</a>)</li>
- <li>Added/changed support for the following annotations:
- <ul>
- <li>Added secondary table(s), embedded id and lob, (see <a href="ejb3_features.html">here</a>)</li>
- <li>Added idbag</li>
- <li>Added type annotation on EDataType to support UserType</li>
- <li>Added columns (multiple) annotation</li>
- <li>Added transient annotation on EClass level (see <a href="ejb3_features.html#transient">here</a>).</li>
- <li>Changed the format of the Elver specific Indexed and Unique annotation (see <a href="hibernate_relations.html">here</a>)</li>
- </ul></li>
- <li>Testcases are now also run using MS Sql Server 2000/2005.</li>
- <li><strong>Default cacheprovider has been set to org.hibernate.cache.HashtableCacheProvider</strong>, because of ehcache issues which occur when using
- ehcache with the default values (and hibernate 3.2), see <a href="hibernate_details.html#Default+cacheprovider+has+been+set+to+org.hibernate.cache.HashtableCacheProvider">here</a>. You can override this default setting by setting the hibernate.cache.provider_class property with the cache provider class you want to use.
- </li>
- </ul>
- <p></p>
- <p>
- <strong>Release: 0.7.1 ALPHA - 8 May 2006</strong>
- </p>
- <ul>
- <li>EList (or multiplicity unbounded) is supported for Dynamic EMF persistency.</li>
- <li>Added support for Qualifying EClass names (based on an option) (see <a href="options.html">here</a>).</li>
- <li>Added Eclipse menu option to generate hibernate mapping file, the mapping file can be used instead of automatic mapping (see <a href="hibernate_details.html#orgeneration">here</a>).</li>
- <li>Solved a mapping bug which occurs when an id and column annotation are combined, thanks to Douglas Bitting for analysing and reporting this issue.</li>
- <li>Added support for PrimaryKeyJoinColumn for Hibernate, PrimaryKeyJoinColumn is translated to a one-to-one with constrained="true".</li>
- <li>Added automatic escaping of table names and column names of primitive types, join table names are not automatically escaped. This should be done manually
- by adding a JoinTable annotation (see <a href="hibernate_details.html#escaping">here</a>).</li>
- <li>JoinColumns were not supported correctly, has been fixed, thanks to Douglas Bitting for providing the patch.</li>
- <li>Added option to control the name of the automatically created version and id columns (see <a href="options.html">here</a>).</li>
- <li>Added support for xsd:list</li>
- </ul>
- <p></p>
- <p>
- <strong>Release: 0.7.0 ALPHA - 21 April 2006</strong>
- </p>
- <p>This release is a major rewrite compared to the previous release. This release is not backward compatible,
- mapping logic as well as interfaces have changed. An overview of the changes/new features:</p>
- <ul>
- <li>OR Mapping is now done on the basis of the ecore model (EPackages), source code is not parsed anymore,
- see <a href="overview.html">the overview</a>.</li>
- <li>Automatic runtime creation of mapping, no intermediate hibernate.hbm.xml required anymore.</li>
- <li>Support for ejb3 like annotations such as mapped superclass, composite id, UniqueConstraint etc. see
- <a href="ejb3_features.html">here</a>.</li>
- <li>Support for dynamic emf (with limitations though), see <a href="dynamic.html">here</a>.</li>
- <li>No extra ESet columns: before for each primitive type efeature an additional ESet column was created.
- From this release this is not done anymore.</li>
- <li>Added support for different class loader strategies, see <a href="hibernate_details.html">here</a>.</li>
- <li>Solved issues related to nullability of enum fields and using enums in primary keys.</li>
- <li>Added option to control if the database schema is updated at startup, see <a href="options.html">here</a>.</li>
- <li>Added new sections to the website: an overview, related to ejb3, options, dynamic EMF, etc.</li>
- <li>Upgraded to EMF 2.2 and Hibernate 3.1.3.</li>
- <li>Added eager loading of containment relations, is controlled by annotation, default
- behavior is lazy and not eager</li>
- <li>Tracking modification on a resource does now work with lazy loading. Before setting
- tracking modification to true (or add an adapter) ment that the whole resource was loaded,
- this is now not required anymore.</li>
- <li>Cut and paste in a the editor is now supported by setting the Cascade annotation, see
- <a href="hibernate_details.html#cutpaste">here</a>.</li>
- <li>Main things which have been changed since the 0.3.* release:
- <ul>
- <li>HQL queries should now use EClass names and EFeature names instead of java class names/members. See the tutorials
- on this website.</li>
- <li>Cleaned up the HibernateHelper interface, renamed HibernateHelper to HbHelper, introduced concept of a HbDataStore,
- see <a href="hbdatastore.html">here</a>.</li>
- <li>Replaced the Configuration Factory with a different more flexible approach, see <a href="hbdatastore.html">here</a>.</li>
- <li>FeatureMap support without generating additional source files, see <a href="featuremap.html">here</a>.</li>
- <li>The options which can be passed to the mapper and Elver runtime have been restructured, see
- <a href="hbdatastore.html#options">here</a>.</li>
- <li>The previous annotations for inheritance mapping, indexed or unique have changed. see
- <a href="inheritance.html">here</a> and <a href="hibernate_relations.html">here</a>.</li>
- <li>Added option to set all containment lists to eager loading, see <a href="hbdatastore.html#options">here</a>.</li>
- </ul></li>
- </ul>
- <p></p>
- <p>
- <strong>Release: 0.3.2 ALPHA - 15 November 2005</strong>
- </p>
- <ul>
- <li>New webpage which describes different topics related to mapping of
- associations/relations, see <a href="hibernate_relations.html">here</a>.</li>
- <li>Added support for non-indexed relations in the database. EMF only supports
- indexed relations, however indexing of a relation is often not required and gives a performance
- penalty. It is now possible to specify with annotations that specific relations should
- not be indexed, see <a href="hibernate_relations.html#Mapping+non-indexed+relations">here</a>.</li>
- <li>The non-indexed annotations can be used for nm relations also, this allows
- non-indexed nm relations to be persisted using one join table. See
- <a href="hibernate_relations.html#Mapping+non-indexed+nm+relations">here</a>.
- </li>
- <li>Annotations can be used to force a join table also for 1:n relations, see
- <a href="hibernate_relations.html#Support+duplicates%2C+Force+a+join+table+for+1%3An+relations">here</a>.
- </li>
- <li>Embedded types are now supported by tagging the embedded types with an annotation,
- see <a href="hibernate_relations.html#Embedded+components">here</a>.</li>
- <li>It can now be specified, using an annotation, that a member is an
- identifier for which Hibernate (or the database) must generate unique values,
- see <a href="hibernate_details.html#Identifier+fields">here</a>.</li>
- <li>Upgraded to qdox 1.6, now also jdk1.5 constructions are supported when
- generating hibernate mapping file.</li>
- <li>Solved an issue related to null-pointer exceptions when abstract types
-refered to eachother.</li>
- <li>Solved an issue which is related to types with interface="true" this issue
-resulted in missing model fields in the mapping file.</li>
- </ul>
- <p></p>
- <p>
- <strong>Release: 0.3.1 ALPHA - 24 October 2005</strong>
- </p>
- <ul>
- <li>Now both table-per-classhierarchy and table-per-subclass
- inheritance mapping is supported. These two
- inheritance mapping strategies are present in the elver submenu in the Eclipse plugin.
- See <a href="inheritance.html">here</a> for more information.</li>
- <li>It is now possible to control the inheritance mapping separately for each class hierarchy
- by adding specific annotations in the model, see <a href="inheritance.html">here</a> for more
- information.</li>
- <li>The mapping logic has been changed, now only implementation classes are present
- in the mapping file, interfaces are supported through Hibernate implicit polymorphism.
- See <a href="hibernate_details.html#Why+Elver+explicitly+maps+implementation+classes+and+implicitly+maps+interfaces">here</a>
- for more information on why this approach is chosen.</li>
- <li>XML Schema substitution group support has been added.</li>
- <li>It is now possible to register a HibernateConfigurationFactory, this allows the
- customization of the creation of SessionFactories and other Hibernate configuration settings.
- See <a href="hibernate_details.html#Configuration+Factory+or+add+your+own+Hibernate+Even+Listeners+%28and+other+customizations%29">here</a> for more information.</li>
- <li>A new createRegisterSessionFactory method has been made available. This method just
- expects a property bag, this allows more flexible configuration of the SessionFactory
- (for example to specify a datasource instead of connection information).</li>
- <li>The container field in the database has been changed from a binary field
- to a varchar field. See <a href="hibernate_details.html#Storing+container+relation">here</a> for more
- information.</li>
- <li>Upgraded to the latest Hibernate release: 3.1rc2.</li>
- <li>Notifications are now dispatched when an elist/featuremap is loaded (see
- <a href="hibernate_details.html#EList%2FFeaturemap+load+notification">here</a>), Hibernate now uses
- the property setters (with notifications) to set retrieved values from the
- db in the EMF object, a future release will
- add an option to disable notifications during load time.</li>
- <li>Resource TrackingModification is not automatically enabled anymore at load time, the client should
- do this explicitly. The reason for this is that tracking modification is an expensive operation
- because it walks the complete containment tree.</li>
- <li>The OR Mapping file generator will now also specify the tablename. The tablename
- is based on the classname of the persisted entity.</li>
- <li>Solved the following issues:
- <ul>
- <li>In some cases a session was not disconnected with ELists
- in combination with HibernateResource.</li>
- <li>In case of a deeper inheritance structure the econtainer
- fields/columns were not correctly defined in tables. This resulted in
- low-level sql errors (incorrect type for getInt().... or something similar).</li>
- <li>The toString method of an EList loaded the elist, in Hibernate
- this resulted in concurrent modification errors in logging code. The decision is
- made that toString is not 'important' enough to load a elist.</li>
- </ul></li>
- <li>Source code is distributed together with the jar files.</li>
- </ul>
- <p></p>
- <p>
- <strong>Release: 0.3.0 ALPHA - 10 October 2005</strong>
- </p>
- <ul>
- <li>Solved issue: for many-to-many combined with subclassing: an incorrect
- not-null attribute was placed in the many-to-many tag.</li>
- <li>Added support for a number of additional XML Schema constructions:
- <a href="featuremap.html#FeatureMap+for+Mixed+content">mixed</a>,
- restriction, extension, etc. Many XML Schema constructions are now supported,
- see <a href="features_details.html">here</a>.</li>
- <li>Added getCrossReferencer function. This allows you to retrieve (from the
- database) all objects which refer to a specific eobject. This function can
- for example be
- used to check (and report) all delete constraints before an
- object is deleted, see <a href="hibernate_helper.html">here</a>.</li>
- <li>Upgraded to Hibernate3.1rc1, for this release it is required to upgrade
- to the Hibernate3.1rc1 release, the Hibernate libraries are all present in
- the org.eclipse.emf.teneo.hibernate.runtime plugin. Note that in rc1 the
- methods session.reconnect/disconnect have been deprecated.</li>
- <li>Restructured the Tutorial &amp; Information part of the website.</li>
- </ul>
- <p></p>
- <p>
- <strong>Release: 0.2.2 ALPHA - 30 September 2005</strong>
- </p>
- <ul>
- <li>Support for many-to-many (mn) relations has been added, is still very alpha
- but can be tried (see <a href="hibernate_details.html#Mapping+many-to-many+%28nm%29+relations">here</a> for more information).</li>
- <li>Solved a bug related to showing incorrect top level objects in a resource.
- This was visible in the EMF editor because contained objects were displayed in the
- top of the editor. Credits to Pawel Sabina for identifying this issue and helping
- to solve it.</li>
- <li>It is now possible
- to select multiple packages when generating the hibernate.hbm.xml. Only one
- hibernate.hbm.xml file will be generated with all the mappings, this file is placed
- in the first selected package. Selecting multiple packages is only required
- if there are relations between classes of these packages. Note that this feature has not been tested
- thoroughly.</li>
- <li>Customize the load behavior of HibernateResource (see <a href="hibernateresources.html">here</a>):
- <ul>
- <li>The implementation of the
- HibernateResource has been changed so that the load behavior can easily be overridden by subclassing.</li>
- <li>The load behavior of the HibernateResource can also be controlled by
- passing queries in the url or in the ehb file.</li>
- </ul>
- </li>
- <li>Added possibility of XMI import and export to the resource utility. XMI
- is more powerful than the XML export/import because XMI
- supports multiple root objects when exporting/importing.
- See <a href="resource_utility.html">here</a>.</li>
- </ul>
- <p></p>
- <p>
- <strong>Release: 0.2.1 ALPHA - 28 September 2005</strong>
- </p>
- <ul>
- <li>FeatureMap support has been added, see <a href="featuremap.html">here</a>
- for more information.</li>
- <li>Container relation is now also stored in the child in the relation. This
- means that the eContainer and eContainerFeatureID is set in the EObject also when
- the EObject is read directly from the database.
- </li>
- <li>The resource utility has been improved. Now it is possible to validate the contents
- by explicitly selecting the validate option.</li>
- <li>The plugin structure has been improved, more functions have been moved to
- a generic plugin (org.eclipse.emf.teneo).</li>
- </ul>
- <p></p>
- <p>
- <strong>Release: 0.2.0.1 ALPHA - 19 September 2005</strong>
- </p>
- <ul>
- <li>Solved a very visible bug which resulted in an error in the editor. This error had the
- following symptoms, only part of the data is persisted and the following
- message is displayed in the console: <em>not-null property references a null or transient value</em>.
- </li>
- <li>Updated the website on various locations</li>
- <li>Solved an issue which resulted in class not found exceptions in the
- runtime enhancement by cglib when starting eclipse with an open EMF editor</li>
- </ul>
- <p>To make use of the above changes the hibernate.hbm.xml has to be regenerated.</p>
- <p></p>
- <p><strong>First Release: 0.2.0 ALPHA was on 15 September 2005</strong></p>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/dynamic.xml b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/dynamic.xml
deleted file mode 100644
index 4c974b12c..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/dynamic.xml
+++ /dev/null
@@ -1,207 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 10:42:34 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Persisting Dynamic EMF Models</title>
- </header>
- <body>
- <p>EMF allows you to dynamically change the in-memory ecore model by adding EPackages, EClasses and EStructuralFeatures.
- Teneo now supports persisting dynamically created models. There are however some (practical) limitations, see the bottom
- of this page.</p>
- <section id="before">
- <title>Before starting this tutorial</title>
- <p>Before starting this tutorial there are a number of things which you need to take into account:</p>
- <ul>
- <li>It uses the <a href="samples/QuickStart.java">QuickStart.java</a> described in the
- <a href="quick_tutorial.html">quick start tutorial</a> to create a database for the Library example and some content.
- So when running this tutorial you should also download the QuickStart.java file.</li>
- <li>The prerequisites of the quick start tutorial also apply.</li>
- <li>The tutorial assumes that there is an empty database with the name DynamicLibrary. When you rerun this tutorial you
- should make sure that this database is empty again (otherwise one of the smaller tests in the tutorial will fail).</li>
- </ul>
- <p>In this tutorial the Library example is extended with two new types: SchoolBook (which inherits from Book) and Course which refers to
- a SchoolBook.</p>
- <p>The source code of this tutorial can be downloaded here: <a href="samples/Dynamic.java">Dynamic.java</a> and
- <a href="samples/QuickStart.java">QuickStart.java</a>.</p>
- </section>
- <section id="step1">
- <title>Step 1: Create the Dynamic Model</title>
- <p>First call the relevant method in <a href="samples/QuickStart.java">QuickStart.java</a> to
- create a HbDataStore and some objects, next get some handles to the EMF base EPackage and EFactory.</p>
- <source>
-// first do the quick start with the correct dbname
-HbDataStore hbds = QuickStart.doQuickStart("DynamicLibrary");
-
-final EcoreFactory efactory = EcoreFactory.eINSTANCE;
-final EcorePackage epackage = EcorePackage.eINSTANCE;
- </source>
- <p>Create the SchoolBook EClass and set the Book from the LibraryPackage as the supertype:</p>
- <source>
-// create the SchoolBook EClass
-EClass schoolBookEClass = efactory.createEClass();
-schoolBookEClass.setName("SchoolBook");
-
-// create a new attribute for this EClass
-EAttribute level = efactory.createEAttribute();
-level.setName("level");
-level.setEType(epackage.getEInt());
-schoolBookEClass.getEStructuralFeatures().add(level);
-
-// Set the supertype of SchoolBook to the Book
-schoolBookEClass.getESuperTypes().add(LibraryPackage.eINSTANCE.getBook());
- </source>
- <p>Create a Course, a Course refers to a SchoolBook:</p>
- <source>
-// create a course
-EClass courseEClass = efactory.createEClass();
-courseEClass.setName("Course");
-
-// give the Course a name
-EAttribute courseName = efactory.createEAttribute();
-courseName.setName("courseName");
-courseName.setEType(epackage.getEString());
-courseEClass.getEStructuralFeatures().add(courseName);
-
-// A course always uses one SchoolBook
-EReference courseBook = efactory.createEReference();
-courseBook.setName("courseBook");
-courseBook.setEType(schoolBookEClass);
-courseBook.setContainment(false);
-courseEClass.getEStructuralFeatures().add(courseBook);
- </source>
- <p>Create an EPackage and add the SchoolBook and Course EClass:</p>
- <source>
-// Create a new EPackage and add the new EClasses
-EPackage schoolPackage = efactory.createEPackage();
-schoolPackage.setName("elv");
-schoolPackage.setNsPrefix("elv");
-schoolPackage.setNsURI("http:///www.elver.org/School");
-schoolPackage.getEClassifiers().add(courseEClass);
-schoolPackage.getEClassifiers().add(schoolBookEClass);
-EPackage.Registry.INSTANCE.put(schoolPackage.getNsURI(), schoolPackage);
- </source>
- </section>
- <section id="step2">
- <title>Step 2: Reconfigure Hibernate and the Relational Database</title>
- <p>The EPackage has been created now Hibernate should be reconfigured and the database schema should be updated.
- <em>To reinitialize a HbDataStore the reinitialize method should be called (not the initialize method).</em>
- </p>
- <source>
-// Now reset the epackages in the datastore, only required if you add an EPackage
-hbds.setEPackages(new EPackage[]{LibraryPackage.eINSTANCE, schoolPackage});
-
-// reinitialize hibernate and update the database schema
-hbds.reInitialize();
-
-// print the hibernate.hbm.xml
-System.err.println(hbds.getMappingXML());
- </source>
- <p>At this point the database schema should have been updated.</p>
- <p>There is an option to prevent Teneo from updating the schema, this option should be disabled or
- not set, otherwise the database schema will not be updated (see <a href="hbdatastore.html#options">here</a>).</p>
- </section>
- <section id="step3">
- <title>Step 3: Create and persist Dynamic EObject</title>
- <p>The dynamic EMF objects can now be created. Because SchoolBook inherits from Book a real Book
- object is created:</p>
- <source>
-// Now create an author, is used below
-Writer writer = LibraryFactory.eINSTANCE.createWriter();
-writer.setName("Teacher");
-
-// now create a schoolBook
-// NOTE: because schoolBook inherits from Book, the create method will return a Book
-Book bk = (Book)schoolPackage.getEFactoryInstance().create(schoolBookEClass);
-bk.setAuthor(writer);
-bk.setTitle("Biografie van Multatuli");
-bk.setCategory(BookCategory.BIOGRAPHY_LITERAL);
-bk.setPages(500);
-bk.eSet(level, new Integer(1));
-
-// and create a course
-EObject course = schoolPackage.getEFactoryInstance().create(courseEClass);
-course.eSet(courseName, "Dutch Literature Level 1");
-course.eSet(courseBook, bk);
-
-// now persist them all
-Session session = hbds.getSession();
-Transaction tx = session.getTransaction();
-tx.begin();
-session.save(writer);
-session.save(course);
-tx.commit();
- </source>
- </section>
- <section id="step4">
- <title>Step 4: Query for dynamic EMF objects</title>
- <p>The SchoolBook can be retrieved using a polymorphic query, for a Course the dynamic EAttribute can be used in
- the where clause.</p>
- <source>
-// Now query for the books, one of them should be a SchoolBook
-tx.begin();
-Query qry = session.createQuery("from Book");
-List list = qry.list();
-Book schoolBook = null;
-for (Iterator it = list.iterator(); it.hasNext();) {
- Book book = (Book)it.next();
- if (book.eClass() == schoolBookEClass) {
- if (schoolBook != null) {
- throw new Error("More than one schoolbook? Was the database not empty?");
- }
- schoolBook = book;
- }
-}
-if (schoolBook == null) {
- throw new Error("No schoolbook??");
-}
-
-// now query for all courses with the right name
-qry = session.createQuery("from Course where courseName='Dutch Literature Level 1'");
-list = qry.list();
-EObject eobject = (EObject)list.get(0);
-if (eobject.eClass() != courseEClass) {
- throw new Error("No Course?");
-}
-
-// the schoolBook should be the book of the course
-Book courseBk = (Book)eobject.eGet(courseBook);
-if (courseBk != schoolBook) {
- throw new Error("No schoolbook?");
-}
-// and the dynamic feature level should be 1
-if (((Integer)courseBk.eGet(level)).intValue() != 1) {
- throw new Error("Incorrect level?");
-}
-tx.commit();
-session.close();
- </source>
- </section>
- <section id="limitations">
- <title>Limitations</title>
- <ul>
- <li>It is not possible to create a containment relation between
- a dynamic model and a static model part. With static we mean the model for which java code has been generated.</li>
- <li>When the model is dynamically changed it is required to update the
- database schema. To change the database schema database servers can lock the whole database. This is probably not practical
- in a live production environment.</li>
- <li>A dynamic EClass can not have a composite-id.</li>
- </ul>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/ejb3_examples.xml b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/ejb3_examples.xml
deleted file mode 100644
index e015697b1..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/ejb3_examples.xml
+++ /dev/null
@@ -1,181 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 16:05:49 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>EJB3 Annotation examples</title>
- </header>
- <body>
- <section id="column">
- <title>Annotations on EDataType</title>
- <p>An example of the use of a Table annotation at EClass level and Column annotations
- on EDataType level, first in xml and then using the :</p>
- <source><![CDATA[
-<epackage namespace-uri="http://www.eclipse.org/emf/teneo/samples/emf/annotations/edatatype_column">
-
- <eclass name="Book">
- <table name="mybooktable"/>
- <property name="title">
- <column name="titel" unique="true" length="25"/>
- </property>
- </eclass>
-
- <edatatype name="TitleType">
- <column name="mytitle" unique="false" length="50"/>
- </edatatype>
-
- <edatatype name="PagesType">
- <column updatable="false" insertable="false"/>
- </edatatype>
-
- <edatatype name="WeightType">
- <column name="gewicht" nullable="true" precision="5" scale="2"/>
- </edatatype>
-
-</epackage>
- ]]></source>
- <p>And in java annotation syntax in EAnnotations:</p>
- <source><![CDATA[
-<xsd:complexType name="Book">
- <xsd:annotation>
- <xsd:appinfo source="teneo.jpa">@Table(name="mybooktable")</xsd:appinfo>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:element name="title" type="TitleType">
- <xsd:annotation>
- <xsd:appinfo source="teneo.jpa">@Column(name="titel" unique="true" length="25")</xsd:appinfo>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="pages" type="PagesType"/>
- <xsd:element name="weight" type="WeightType"/>
- <xsd:element name="author" type="xsd:string"/>
- </xsd:sequence>
-</xsd:complexType>
-
-<xsd:simpleType name="TitleType">
- <xsd:annotation>
- <xsd:appinfo source="teneo.jpa">@Column(name="mytitle" unique="false" length="50")</xsd:appinfo>
- </xsd:annotation>
- <xsd:restriction base="xsd:string">
- </xsd:restriction>
-</xsd:simpleType>
-
-<xsd:simpleType name="PagesType">
- <xsd:annotation>
- <xsd:appinfo source="teneo.jpa">@Column(updatable="false" insertable="false")</xsd:appinfo>
- </xsd:annotation>
- <xsd:restriction base="xsd:int">
- </xsd:restriction>
-</xsd:simpleType>
-
-<xsd:simpleType name="WeightType">
- <xsd:annotation>
- <xsd:appinfo source="teneo.jpa">@Column(name="gewicht" nullable="true" precision="5" scale="2")</xsd:appinfo>
- </xsd:annotation>
- <xsd:restriction base="xsd:decimal">
- </xsd:restriction>
-</xsd:simpleType>
- ]]></source>
- </section>
- <section id="mtm">
- <title>ManyToMany Annotations</title>
- <p>An example of the use of a ManyToMany annotation:</p>
- <source><![CDATA[
-<xsd:complexType name="Cntr">
- <xsd:sequence>
- <xsd:element name="rght" type="xsd:IDREF" ecore:reference="this:Rght" maxOccurs="unbounded" ecore:opposite="cntr">
- <xsd:annotation>
- <xsd:appinfo source="teneo.jpa">
- @ManyToMany(fetch=EAGER cascade={MERGE PERSIST} targetEntity="Rght" indexed="false")
- @JoinTable(name="RightCenter")
- </xsd:appinfo>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="lft" type="xsd:IDREF" ecore:reference="this:Lft" maxOccurs="unbounded" ecore:opposite="cntr">
- <xsd:annotation>
- <xsd:appinfo source="teneo.jpa">
- @ManyToMany(fetch=EAGER cascade={MERGE PERSIST} targetEntity="Lft")
- </xsd:appinfo>
- </xsd:annotation>
- </xsd:element>
- </xsd:sequence>
-</xsd:complexType>
-
-<xsd:complexType name="Lft">
- <xsd:sequence>
- <xsd:element name="cntr" type="xsd:IDREF" ecore:reference="this:Cntr" maxOccurs="unbounded" ecore:opposite="lft">
- <xsd:annotation>
- <xsd:appinfo source="teneo.jpa">
- @ManyToMany(fetch=LAZY cascade={MERGE PERSIST} targetEntity="Cntr" mappedBy="lft")
- </xsd:appinfo>
- </xsd:annotation>
- </xsd:element>
- </xsd:sequence>
-</xsd:complexType>
-
-<xsd:complexType name="Rght">
- <xsd:sequence>
- <xsd:element name="cntr" type="xsd:IDREF" ecore:reference="this:Cntr" maxOccurs="unbounded" ecore:opposite="rght">
- <xsd:annotation>
- <xsd:appinfo source="teneo.jpa">
- @ManyToMany(fetch=LAZY cascade={MERGE PERSIST} targetEntity="Cntr" mappedBy="rght" indexed="false")
- @JoinTable(name="RightCenter")
- </xsd:appinfo>
- </xsd:annotation>
- </xsd:element>
- </xsd:sequence>
-</xsd:complexType>
- ]]></source>
- </section>
- <section id="inheritance">
- <title>Inheritance and Discriminator Annotations</title>
- <p>An example of the use of an Inheritance and Discriminator related annotations:</p>
- <source><![CDATA[
-<xsd:complexType name="Price">
- <xsd:annotation>
- <xsd:appinfo source="teneo.jpa">
- @Table(name="myprice")
- @Inheritance(strategy=SINGLE_TABLE)
- @DiscriminatorColumn(name="DISCRIMINATOR" discriminatorType=STRING)
- @DiscriminatorValue("myPrice")
- </xsd:appinfo>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:element name="name" type="xsd:string"/>
- <xsd:element name="value" type="xsd:decimal"/>
- </xsd:sequence>
-</xsd:complexType>
- ]]></source>
- <p>In xml:</p>
- <source><![CDATA[
-<eclass name="Price">
- <table name="myprice" />
- <inheritance>SINGLE_TABLE</inheritance>
- <discriminator-column name="DISCRIMINATOR" discriminator-type="STRING" />
- <discriminator-value>myPrice</discriminator-value>
-</eclass>
- ]]></source>
-
- </section>
- <section id="other">
- <title>Other examples</title>
- <p>For other examples of annotations on this site see here: <a href="inheritance.html">Inheritance</a> and
- <a href="hibernate_details.html">Associations</a>.</p>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/ejb3_features.xml b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/ejb3_features.xml
deleted file mode 100644
index e976a0337..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/ejb3_features.xml
+++ /dev/null
@@ -1,172 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.3 $ $Date: 2006/09/29 20:33:14 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Supported JPA Annotation Features</title>
- </header>
- <body>
- <section id="featuresejb3">
- <title>JPA Annotation Features</title>
- <p>The goal is to support all JPA persistence annotations.</p>
- <p>You can download the EJB 3.0 Persistence Specification from the
- <a href="http://jcp.org/aboutJava/communityprocess/final/jsr220/index.html">jsr-220 download page</a>. The
- relevant document is &quot;ejb-3_0-fr-spec-persistence.pdf&quot;.</p>
- <p>The numbers in the listings below refer to the sections in chapter 9 of the specification.</p>
- </section>
- <section>
- <title>Supported JPA Annotations</title>
- <p>The JPA annotations listed below are supported as of the current release. &quot;Supported&quot; means that there are test
- cases showing the annotation is correctly translated to an object-relational mapping and that the annotation works as
- expected when persisting and retrieving objects to/from a database.</p>
- <p>Supported as of the current release:</p>
- <ul>
- <li>9.1.1 Table Annotation</li>
- <li>9.1.2: SecondaryTable Annotation</li>
- <li>9.1.3: SecondaryTables Annotation</li>
- <li>9.1.4: UniqueConstraint Annotation</li>
- <li>9.1.5: Column Annotation</li>
- <li>9.1.6: JoinColumn Annotation</li>
- <li>9.1.7: JoinColumns Annotation</li>
- <li>9.1.8: Id Annotation</li>
- <li>9.1.9: GeneratedValue Annotation</li>
- <li>9.1.10: AttributeOverride Annotation</li>
- <li>9.1.11: AttributeOverrides Annotation</li>
- <li>9.1.12: AssociationOverride Annotation</li>
- <li>9.1.13: AssociationOverrides Annotation</li>
- <li>9.1.14: EmbeddedId Annotation</li>
- <li>9.1.15: IdClass Annotation</li>
- <li>9.1.16: Transient Annotation</li>
- <li>9.1.17: Version Annotation</li>
- <li>9.1.18: Basic Annotation</li>
- <li>9.1.19: Lob Annotation</li>
- <li>9.1.20: Temporal Annotation (no special support required, handled automatically)</li>
- <li>9.1.21: Enumerated Annotation (the Enumerate class must have a get(int) and get(String) method which returns an instance of the Enumerate class)</li>
- <li>9.1.22: ManyToOne Annotation</li>
- <li>9.1.23: OneToOne Annotation</li>
- <li>9.1.24: OneToMany Annotation</li>
- <li>9.1.25: JoinTable Annotation</li>
- <li>9.1.26: ManyToMany Annotation</li>
- <li>9.1.28: OrderBy Annotation</li>
- <li>9.1.29: Inheritance Annotation</li>
- <li>9.1.30: DiscriminatorColumn Annotation</li>
- <li>9.1.31: Discriminator Annotation</li>
- <li>9.1.32: PrimaryKeyJoinColumn Annotation</li>
- <li>9.1.33: PrimaryKeyJoinColumns Annotation</li>
- <li>9.1.34: Embeddable Annotation</li>
- <li>9.1.35: Embedded Annotation</li>
- <li>9.1.36: MappedSuperclass Annotation</li>
- <li>9.1.37: SequenceGenerator Annotation</li>
- <li>9.1.38: TableGenerator Annotation</li>
- </ul>
- </section>
- <section>
- <title>Currently Unsupported JPA Annotations</title>
- <p>The following annotations are not yet supported:</p>
- <ul>
- <li>9.1.27: MapKey Annotation</li>
- </ul>
- </section>
- <section id="hbspecific">
- <title>Hibernate Annotations Extensions</title>
- <p>In addition to the JPA annotations, Teneo supports a number of
- <a href="http://www.hibernate.org/5.html#A7">Hibernate Annotations Extensions</a>.</p>
- <p>The following Hibernate specific annotations are supported:</p>
- <ul>
- <li>Columns</li>
- <li>GenericGenerator</li>
- <li>IdBag</li>
- <li>Type</li>
- </ul>
- <p>In future releases the support for hibernate specific annotations will be extended.</p>
- </section>
- <section>
- <title>Annotation notes</title>
- <section id="edatatype"><title>Annotations on EDataType</title>
- <p>Every JPA annotation which is relevant for a non-reference type java member can also be specified on an EDataType.
- Setting annotations on an EDataType has as advantage that the annotation is used in every location in which the EDataType is
- used. For example the column length annotation can be defined on EDataType level and is then automatically added to
- each EAttribute which uses this EDataType. The annotations on EAttribute level take precedence so if both the EAttribute
- and the EDataType have the same annotation then the annotation on the EAttribute is used.</p>
- </section>
- <section id="transient">
- <title>Transient on EClass</title>
- <p>The Transient annotation can also be used on an EClass. This prevents an EClass from being mapped and be persisted.</p>
- <p>This means also that in case that the super EClass of an EClass is transient that the properties of the super EClass are
- not persisted and that the sub EClass requires its own identifier/primary key properties.</p>
- </section>
-
- <section><title>Unique annotation added to OneToMany to force a join table for 1:n relations</title>
- <p>In a relational database 1:n relations are often modeled by adding a foreign-key (to the
- parent) in the child table/object. The disadvantage of this approach is that duplicates
- are not supported. To support duplicates in an elist a join table is required. To signal to
- Teneo, that a join table should be used, the annotation as in this example can be used:</p>
- <source><![CDATA[
-<xsd:element name="joinedItem" type="xsd:anyURI" ecore:reference="this:Item" maxOccurs="unbounded">
- <xsd:annotation>
- <xsd:appinfo source="teneo.jpa">@OneToMany(unique=false)</xsd:appinfo>
- </xsd:annotation>
-</xsd:element>
- ]]></source>
- <p>Based on this annotations Teneo will generate a join table for this model. Note that
- this annotation can be combined with the indexed annotation.</p>
- <p><em>The unique annotation does not exist in the EJB3 spec and is a Teneo extension.</em></p>
- </section>
-
- <section id="indexed"><title>Indexed Annotation</title>
- <p>The http://annotation.elver.org/Indexed annotation can be used to signal to Elver that a certain association does
- not require an index column and has a bag like behavior.
- See <a href="hibernate_relations.html#Mapping+non-indexed+relations">here</a>
- for more information.</p>
- </section>
-
- <section>
- <title>EmbeddedID annotation</title>
- <p>EmbeddedID lets you use an embedded class as an entity's composite primary key.</p>
- <p><em>Note: in general, composite primary keys are only necessary for legacy data models.
- It's strongly recommended to use single (non-composite) keys for new data models.</em></p>
- <p>Teneo requires that the composite key's class is an EObject, as it needs ECore metadata to define the correct mapping.</p>
- </section>
-
- <section id="lob_notes">
- <title>Lob annotation</title>
- <p>
- Some database engines - for example, MySQL - have different BLOB types for different data sizes.
- (TINYBLOB, MEDIUMBLOB, LARGEBLOB.)
- </p>
- <p>The actual BLOB type used by Hibernate is thus dependent upon the column length, but the default
- column length of 255 is often too small to acommodate typical BLOB data. </p>
- <p>Therefore you'll need to add a Column.length annotation to the property specifying the maximum possible size of the BLOB data, as shown below:</p>
- <source>
-<![CDATA[<xsd:element name="photo" type="xsd:base64Binary" minOccurs="0">
- <xsd:annotation>
- <!-- Map to a 'binary' field. -->
- <xsd:appinfo source="teneo.jpa">
- @Lob
- <!-- Use 1Mb maximum length. (MEDIUMBLOB in MySQL.) -->
- @Column(length=1048576)
- </xsd:appinfo>
- </xsd:annotation>
-</xsd:element>]]>
- </source>
- </section>
-
- </section>
-
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/ejb3_format.xml b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/ejb3_format.xml
deleted file mode 100644
index c15960474..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/ejb3_format.xml
+++ /dev/null
@@ -1,119 +0,0 @@
-<?xml version="1.0"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
-<document>
- <header>
- <title>Format of JPA/EJB3 Annotations as EAnnotations and as XML</title>
- </header>
- <body>
- <p>Teneo allows two ways to specify EJB3/JPA-like annotations: 1) using the java annotations syntax
- in EAnnotations, 2) a separate xml document.</p>
- <p>This page will show examples of both approaches.</p>
- <p>A JPA Annotation can have different targets: TYPE, METHOD and FIELD (see the EJB3/JPA spec). Annotations
- with a TYPE target can be used for EMF EClasses, annotations with METHOD and FIELD targets can be used for
- EStructuralFeatures. <em>Note:</em> JPA annotations relevant for a non-reference type java member can also be set on
- an EDataType (see <a href="ejb3_features.html#edatatype">here</a> for more information).</p>
- <section id="target">
- <title>JPA Annotations in EAnnotations using the java annotation syntax</title>
- <p>The EAnnotations should adhere to the following format:</p>
- <ul>
- <li>The source must be: <strong>teneo.jpa</strong></li>
- <li>The key must be: <strong>appinfo</strong> or <strong>value</strong></li>
- </ul>
- </section>
- <section id="xml">
- <title>JPA Annotations in XML</title>
- <p>JPA annotations can also be specified in a separate xml file.
- The xsd for the XML annotations can be downloaded <a href="download/persistence-mapping-hibernate.xsd">here</a>.</p>
- <p>The xsd shows that it is possible to specify annotations on EPackage, EClass, EAttribute, EReference and EDataType level.
- In addition there is a special property element which combines the annotations for EAttribute and EReference. The
- property tag is a convenience tag which can be used to in place of both an EAttribute and an EReference tag.</p>
- <p>When initializing a JpoxDataStore the location of the xml annotation file should be passed using the
- persistenceoption: PersistenceOptions.PERSISTENCE_XML. The location should be a resource
- path.</p>
- </section>
- <section id="simplenokeyvalye">
- <title>Simple Annotation Example</title>
- <p>An example of an JPA annotation without a key-value pair is the Embedded annotation.</p>
- <p>In a XML Schema model the Embedded annotation is specified as follows:</p>
- <source><![CDATA[
-<xsd:element name="secondEmbedded" type="this:Embeddable">
- <xsd:annotation>
- <xsd:appinfo source="teneo.jpa">@Embedded</xsd:appinfo>
- </xsd:annotation>
-</xsd:element>
- ]]></source>
- <p>An example of a (different) simple annotation in xml:</p>
- <source><![CDATA[
-<eclass name="Name">
- <embeddable />
-</eclass>
- ]]></source>
- </section>
- <section id="simple">
- <title>Annotation with key-value</title>
- <p>An example of an EJB3 annotation with a key-value pair is the Basic annotation.</p>
- <p>In a XML Schema model the Basic annotation is specified as follows:</p>
- <source><![CDATA[
-<xsd:element name="myOptionalBasic" type="xsd:string">
- <xsd:annotation>
- <xsd:appinfo source="teneo.jpa">@Basic(optional=true fetch=EAGER)</xsd:appinfo>
- </xsd:annotation>
-</xsd:element>
- ]]></source>
- <p>An example of a (different) key-value annotation in xml:</p>
- <source><![CDATA[
-<property name="head">
- <one-to-one fetch="EAGER" target-entity="Head" optional="true" cascade="ALL" />
-</property>
- ]]></source>
- <p>As you can see this example uses the property tag. The property tag is a convenience tag which
- can be used to in place of both an EAttribute and an EReference tag.</p>
- </section>
- <section id="multi">
- <title>Complex Annotation with multi-level structure</title>
- <p>An example of a more complex annotation is the
- SecondaryTable annotation which can contain a pkJoinColumns annotation:</p>
- <source><![CDATA[
-<xsd:annotation>
- <xsd:appinfo source="teneo.jpa">
- @SecondaryTable(name="THETONER" pkJoinColumns={@PrimaryKeyJoinColumn(name="PRINTER_ID")})
- </xsd:appinfo>
-</xsd:annotation>
- ]]></source>
- <p>An example of a (different) more complex annotation in xml:</p>
- <source><![CDATA[
-<eclass name="Employee">
- <association-override name="address">
- <join-column name="employee_address_id"/>
- </association-override>
-</eclass>
- ]]></source>
- </section>
-<!-- <section id="omondo"><title>Where/how to specify annotations in Omondo</title>
- <p>Double click on the element for which an annotation should be specified:</p>
- <figure src="../images/omondo1.jpg" alt="Omondo step 1"/>
- <p>Press Add in Annotations:</p>
- <figure src="../images/omondo2.jpg" alt="Omondo step 2"/>
- <p>Specify the Teneo annotation source in the annotations field. The http://... prefix will be removed from the view when you press enter:</p>
- <figure src="../images/omondo3.jpg" alt="Omondo step 3"/>
- <p>Press Add on the name/value attribute and specify one of the attributes for this annotation and press OK:</p>
- <figure src="../images/omondo4.jpg" alt="Omondo step 4"/>
- <p><br/></p>
- <figure src="../images/omondo5.jpg" alt="Omondo step 5"/>
- <p>and ready!</p>
- </section>
- <section id="rr">
- <title>Where to specify annotations in Rational Rose</title>
- <p>The image below illustrates where to specify annotations in Rational Rose:</p>
- <p>The ecore model properties (ecore A, ecore B) are added to Rational Rose using the <a href="../examples/ecore.pty">ecore.pty</a> file.</p>
- <figure src="../images/rose.jpg" alt="Setting annotations in Rational Rose"/>
- </section>
---> </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/emfhibsupport.xml b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/emfhibsupport.xml
deleted file mode 100644
index 19e67dee9..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/emfhibsupport.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 16:05:49 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>EMF and Hibernate Support</title>
- </header>
- <body>
- <p>
- It is possible that issues you may encounter are related to either EMF or Hibernate.
- We suggest that you first look in the documentation of the relevant website.
- If you cannot find the answer there, then you can try our <a href="mailinglist.html">mailing list</a>,
- before turning to the support of these projects. We will do our best to also answer EMF or Hibernate specific
- questions.
- </p>
- <section id="EMFSupport">
- <title>EMF Support</title>
- <p>
- EMF Support is given on a news group: news://news.eclipse.org/eclipse.tools.emf. The EMF documentation can be found
- <a href="http://www.eclipse.org/emf/docs.php">here</a>.
- </p>
- </section>
- <section id="HIBSupport">
- <title>Hibernate Support</title>
- <p>
- The <a href="http://www.hibernate.org">Hibernate website</a> has links to excellent documentation. Support on Hibernate is given on their forum.
- </p>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/featuremap.xml b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/featuremap.xml
deleted file mode 100644
index 6428f672f..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/featuremap.xml
+++ /dev/null
@@ -1,245 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 16:05:49 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>FeatureMap/Mixed content support</title>
- <abstract>Discusses how FeatureMaps are supported in the persistency solution</abstract>
- </header>
- <body>
- <p>EMF uses Feature Maps in a number of situations, for example to implement XML Schema repeating
- model groups or to implement derived features. The Teneo persistency layer supports
- Feature Maps and generates the required Hibernate mappings. Teneo FeatureMap support is hidden
- for the developer. The information here is mainly intended to help understand
- the created mappings and relational tables.</p>
- <p>See <a href="http://www.eclipse.org/emf/docs/overviews/FeatureMap.pdf">here</a> for
- a description on how EMF uses FeatureMaps to implement derived
- features. This page uses a similar example.</p>
- <section>
- <title>FeatureMap for derived features</title>
- <section>
- <title>Example Model</title>
- <p>This section illustrates how a FeatureMap for a derived feature is mapped and
- persisted. The model is defined below using an XML Schema.
- </p>
- <source><![CDATA[
-<xsd:complexType name="Supplier">
- <xsd:sequence>
- <xsd:element name="name" type="xsd:string"/>
- <xsd:choice maxOccurs="unbounded" ecore:name="orders">
- <xsd:element name="preferredOrders" type="PurchaseOrder"/>
- <xsd:element name="standardOrders" type="PurchaseOrder"/>
- <xsd:element name="hardCopyOrderReference" type="xsd:string"/>
- <xsd:element name="hardCopyOrderNumber" type="xsd:long"/>
- </xsd:choice>
- </xsd:sequence>
-</xsd:complexType>
- ]]></source>
- <p>The xsd:choice with maxOccurs="unbounded" results in a FeatureMap EAttribute with
- name orders. In the generated java code this will result in an extra member (named orders)
- and accessor methods. </p>
- <p>There are 4 derived features. The first two are references to PurchaseOrder, the last two
- are primitive/simple type derived features. </p>
- </section>
- <section>
- <title>Generated Code by EMF</title>
- <p>EMF will generate the relevant methods to access the derived features. Derived features
- will not have java members but will refer to accessor of the FeatureMap EAttribute. For example
- the following code shows how the getPreferredOrders uses the getOrders accessor.</p>
- <source>
-public EList getPreferredOrders() {
- return ((FeatureMap)getOrders()).list(SimplefeaturemapPackage.eINSTANCE.getSupplier_PreferredOrders());
-}
- </source>
- </section>
- <section>
- <title>Mapping to a relational store</title>
- <p>A FeatureMap is actually an EList with FeatureMap.Entry objects as elements.
- A FeatureMap.Entry has two members: 1) a StructuralFeature which defines what type of entry it is,
- and 2) the actual value.</p>
- <p>For the relational mapping this same structure is
- used. For each FeatureMap, Teneo will create a separate class mapping. This class mapping
- is persisted using the org.eclipse.emf.teneo.mapping.elist.FeatureMapEntryTuplizer.
- The created class mapping contains a property for each of the possible types in a featuremap. This
- ensures that foreign key constraints are created and enforced.</p>
- <p>The mapping for the example above is displayed here. First the mapping of the orders property in
- Supplier:</p>
- <source><![CDATA[
-<list name="orders" lazy="true" cascade="all,delete-orphan">
- <key update="true">
- <column name="SUPPLIER_ORDERS_ID" not-null="false" unique="false"/>
- </key>
- <list-index column="SUPPLIER_ORDERS_IDX"/>
- <one-to-many entity-name="Supplier_orders"/>
-</list>
- ]]></source>
- <p>The orders property is mapped as a list with a one-to-many with an entity with a specific name. This name is
- generated by Teneo and used in the class mapping of the feature map entry:</p>
- <source><![CDATA[
-<class entity-name="Supplier_orders" lazy="false" table="SUPPLIER_ORDERS">
-
- <meta attribute="eclass">Supplier</meta>
- <id type="long">
- <generator class="native"/>
- </id>
- <version name="_vn_"/>
-
- <property name="fme_feature" type="java.lang.String"/>
-
- <many-to-one name="preferredOrders" entity-name="PurchaseOrder" cascade="all" lazy="false"
- insert="true" update="true" not-null="false">
- <column not-null="false" unique="false" name="PURCHASEORDER_PREFERREDORDERS_ID"/>
- </many-to-one>
- <many-to-one name="standardOrders" entity-name="PurchaseOrder" cascade="all" lazy="false"
- insert="true" update="true" not-null="false">
- <column not-null="false" unique="false" name="PURCHASEORDER_STANDARDORDERS_ID"/>
- </many-to-one>
- <property name="hardCopyOrderReference" type="java.lang.String" lazy="false" not-null="false"/>
- <property name="hardCopyOrderNumber" type="long" lazy="false" not-null="false"/>
-</class>
- ]]></source>
- <p>The feature map entry mapping contains a property for each of the possible feature map entry types. In addition it
- contains a property (fme_feature) to store a String to identify the EFeature.
- </p>
- <p>The persistency logic is hidden for the developer. A FeatureMap which is read from a persistent store will contain
- entries which implement the FeatureMap.Entry interface.</p>
- </section>
- <section>
- <title>Using FeatureMaps</title>
- <p>The persisted FeatureMaps can be used in exactly the same way as 'standard' Feature Maps
- (See <a href="http://www.eclipse.org/emf/docs/overviews/FeatureMap.pdf">here</a>).
- As an example of this see the code below to create a supplier and set the orders feature.</p>
- <source>
-PurchaseOrder pref1 = factory.createPurchaseOrder();
-pref1.setName("preferred1");
-PurchaseOrder stand1 = factory.createPurchaseOrder();
-stand1.setName("standard1");
-PurchaseOrder stand2 = factory.createPurchaseOrder();
-stand2.setName("standard2");
-
-Supplier supplier = factory.createSupplier();
-supplier.setName("supplier");
-supplier.getOrders().add(SimplefeaturemapPackage.eINSTANCE.getSupplier_StandardOrders(), stand1);
-supplier.getOrders().add(SimplefeaturemapPackage.eINSTANCE.getSupplier_PreferredOrders(), pref1);
-supplier.getOrders().add(SimplefeaturemapPackage.eINSTANCE.getSupplier_HardCopyOrderReference(), "ref1");
-supplier.getOrders().add(SimplefeaturemapPackage.eINSTANCE.getSupplier_HardCopyOrderNumber(), new Long(1002));
-supplier.getOrders().add(SimplefeaturemapPackage.eINSTANCE.getSupplier_StandardOrders(), stand2);
- </source>
- <p>The source code below shows how this information can be retrieved using the
- derived feature accessors. As is illustrated the persistency extensions are
- not visible to the developer:</p>
- <source>
-EList standardList = supplier.getStandardOrders(); // returns the list of standard orders, there are 2
-EList preferredList = supplier.getPreferredOrders(); // returns the list of preferred orders, there is 1
-EList numberList = supplier.getHardCopyOrderNumber(); // returns the list of hard copy numbers
-EList referenceList = supplier.getHardCopyOrderReference(); // returns the list hard copy references
-
-// Will display java.lang.Long
-System.err.println(numberList.get(0).getClass().getName());
-
-// Will display preferred1
-System.err.println(((PurchaseOrder)preferredList.get(0)).getName());
-
-// Retrieve directly through the main featuremap member,
-// this is the same purchaseorder as in the previous step
-FeatureMap.Entry entry = (FeatureMap.Entry)supplier.getOrders().get(1);
-PurchaseOrder referencePO = (PurchaseOrder)entry.getValue();
-// this will also display preferred1
-System.err.println(referencePO.getName());
- </source>
- </section>
- </section>
- <section>
- <title>FeatureMap for Mixed content</title>
- <p>XML Schema allows text data to be mixed with XML nodes, this is called Mixed content. An
- example is the xml document below (copied from the
- <a href="http://www.w3.org/TR/xmlschema-0/#mixedContent">XML Schema Primer</a>). In this
- XML document text (such as 'Dear Mr.') is mixed with XML nodes (such as &lt;name&gt;Robert Smith&lt;/name&gt;).</p>
- <source><![CDATA[
-<letterBody>
-Dear Mr.<name>Robert Smith</name>.
-Your order of <quantity>1</quantity> <productName>Baby
-Monitor</productName> shipped from our warehouse on
-<shipDate>1999-05-21</shipDate>. ....
-</letterBody>
- ]]></source>
- <p>The support for mixed content is described in section 3.4 in the
- <a href="http://www.eclipse.org/emf/docs/overviews/XMLSchemaToEcoreMapping.pdf">XML Schema to Ecore Mapping</a>.
- In short EMF generates a FeatureMap EAttribute with the name mixed for each complexType with mixed="true".
- All elements of the complexType are part of this FeatureMap.
- </p>
- <p>For example the xsd below represents the xml document above. For this XML Schema, EMF will generate
- a java class with name LetterBody. This class has a FeatureMap member mixed. For the four elements
- no java members are generated but only accessor methods which use the mixed FeatureMap.</p>
- <source><![CDATA[
-<xsd:element name="letterBody">
- <xsd:complexType mixed="true">
- <xsd:sequence>
- <xsd:element name="name" type="xsd:string"/>
- <xsd:element name="quantity" type="xsd:positiveInteger"/>
- <xsd:element name="productName" type="xsd:string"/>
- <xsd:element name="shipDate" type="xsd:date" minOccurs="0"/>
- <!-- etc. -->
- </xsd:sequence>
- </xsd:complexType>
-</xsd:element>
- ]]></source>
- <p>Mixed content is mapped to a relational store in the same way as the FeatureMap above. The only difference with
- the standard FeatureMap mapping a mixed content FeatureMap will contain three fields for storing mixed content:
- fme_mixed_text, fme_mixed_cdata and fme_mixed_comment:</p>
- <source><![CDATA[
-<class entity-name="LetterBodyType_mixed" lazy="false" table="LETTERBODYTYPE_MIXED">
- <meta attribute="eclass">LetterBodyType</meta>
- <id type="long">
- <generator class="native"/>
- </id>
- <version name="_vn_"/>
-
- <property name="fme_feature" type="java.lang.String"/>
- <many-to-one name="salutation" entity-name="SalutationType" cascade="all" lazy="false"
- insert="true" update="true" not-null="false">
- <column not-null="false" unique="false" name="SALUTATIONTYPE_SALUTATION_ID"/>
- </many-to-one>
- <property name="quantity" type="java.math.BigInteger" lazy="false" not-null="false"/>
- <property name="productName" type="java.lang.String" lazy="false" not-null="false"/>
- <property name="shipDate" type="serializable" lazy="false" not-null="false"/>
- <property name="fme_mixed_text" type="java.lang.String"/>
- <property name="fme_mixed_cdata" type="java.lang.String"/>
- <property name="fme_mixed_comment" type="java.lang.String"/>
-</class>
- ]]></source>
- <p><em>The current implementation has one limitation: the text, cdata and comment parts of a mixed content can not be longer
- than 255 characters, this is the default length for a string column.</em></p>
- </section>
- <section>
- <title>Benefits of this approach</title>
- <p>The chosen approach has a number of benefits:</p>
- <ul>
- <li>Hidden implementation: The extensions to persist FeatureMaps are completely hidden for the application developer.
- He/She can use the standard EMF apis.</li>
- <li>No unnecessary columns: a (nullable) column is only created for the types which
- can be present in a FeatureMap.Entry.</li>
- <li>Advanced querying possible: foreign keys are created in the entry table for references
- to other classes (tables). This means that it is possible to join tables using advanced
- SQL or HQL queries.</li>
- <li>Features such as cascading deletes (containment) or delete restrictions work directly and without
- any further extra specifications.</li>
- </ul>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/features.xml b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/features.xml
deleted file mode 100644
index 39ef8a710..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/features.xml
+++ /dev/null
@@ -1,90 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.3 $ $Date: 2006/09/28 20:03:27 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Supported (EMF) Features</title>
- </header>
- <body>
- <p>
- The EMF - Hibernate Integration supports a number of important EMF features and features offered by Hibernate.
- </p>
- <section id="supported">
- <title>Supported EMF Features</title>
- <ul>
- <li>Many relevant primitive types (including Date)</li>
- <li>Lists of primitive types (EDataTypeEList)</li>
- <li>Single Reference: contained, non-contained, one-way, two-way</li>
- <li>One-To-Many relations (EList): contained, non-contained, one-way, two-way</li>
- <li>Feature maps</li>
- <li>EMap</li>
- <li>Notifications and adapters (limited testing done)</li>
- <li>Enumerations</li>
- <li>Resource implementation</li>
- <li>Lazy loading (similar to EMF proxy feature)</li>
- <li>Inheritance between types (limited testing done)</li>
- <li>No dependencies on EObjectImpl as root object or specific root object for persistency: EMF Objects are only required to implement org.eclipse.emf.ecore.InternalEObject</li>
- </ul>
- </section>
- <section id="xmlschema">
- <title>Supported XML Schema structures</title>
- <p>EMF allows models to be expressed in XML Schema. Through EMF the current solution supports
- many XML Schema structures, an overview:</p>
- <ul>
- <li>Element definition with all combinations of minOccurs and maxOccurs</li>
- <li>Repeating model group such as xsd:choice with maxOccurs="unbounded"</li>
- <li>all relevant simple types including xsd:IDREF, xsd:IDREFS and xsd:anyURI</li>
- <li>etc.</li>
- </ul>
- <p>For a detailed listing of XML Schema support see
- <a href="features_details.html">here</a>.</p>
- </section>
- <section id="ejb3">
- <title>EJB3/JPA Annotations</title>
- <p>The integration supports the following EJB3-like annotations:</p>
- <ul>
- <li>UniqueConstraints</li>
- <li>MappedSuperclass</li>
- <li>IdClass</li>
- <li>OneToMany, ManyToMany, ManyToOne</li>
- <li>etc.</li>
- </ul>
- <p>For a detailed listing of EJB3 annotation support see
- <a href="ejb3_features.html">here</a>.</p>
- </section>
- <section id="hibfeatures">
- <title>Hibernate Features</title>
- <p>The integration supports Hibernate features such as:</p>
- <ul>
- <li>OR Mapping of class hierarchies, 1:n, m:n relations (one- and twoway)</li>
- <li>Support for many relational databases</li>
- <li>HQL query language</li>
- <li>2 level caching</li>
- <li>etc.</li>
- </ul>
- </section>
- <section id="notsupported">
- <title>Not (yet) Supported EMF Features</title>
- <p>The following EMF features are (currently) not supported or have not been tested to ensure that they are supported:</p>
- <ul>
- <li>XML Schema constructions such as xsd:any, xsd:anytype etc.</li>
- <li>xsd:list, xsd:union</li>
- </ul>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/features_details.xml b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/features_details.xml
deleted file mode 100644
index c62029068..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/features_details.xml
+++ /dev/null
@@ -1,116 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 16:05:49 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Detailed Listing of Supported (EMF) XML Schema Features</title>
- </header>
- <body>
- <section id="xmlschema">
- <title>Supported XML Schema Structures</title>
- <p>The goal is to implement most XML Schema Structures/Datatypes supported by EMF also for the persistency layer.
- For a description of the mapping from XML Schema to EMF (ecore)
- see <a href="http://www.eclipse.org/emf/docs/overviews/XMLSchemaToEcoreMapping.pdf">here</a>.
- In the listing below the numbers refer to the sections in this document.</p>
- <p>Note: for each feature the following remarks are used:</p>
- <ul>
- <li>Supported: means that there are test cases which show
- that the XML Schema feature is correctly translated in an ecore construction and EMF
- object and that the resulting EMF object can be persisted and retrieved.</li>
- <li>Not yet supported: means that this feature will not work and EMF objects with this
- feature are not persisted correctly</li>
- <li>To be tested: means that this feature is expected to work but has not been tested yet</li>
- </ul>
- <p>The support by XML Schema Structure/Datatype:</p>
- <ul>
- <li>Schema (Chapter 1)
- <ul>
- <li>1.1 to 1.4: supported (not really relevant for persistency)</li>
- <li>1.5 and 1.6: DocumentRoot, currently the persistency solution will not
- persist a DocumentRoot object. The main reason for this is that the DocumentRoot is created to
- have a starting 'folder-like' point when loading a resource. In the Teneo persistency solution this
- is solved differently (see <a href="hibernateresources.html#Standard+load+behavior%3A+Top+level+types">here</a>).</li>
- <li>1.7: not relevant for persistency (is supported)</li>
- </ul></li>
- <li>Simple Type Definition (Chapter 2)
- <ul>
- <li>2.1 Simple Type with restriction: supported</li>
- <li>2.2 Simple Type with enumeration: supported</li>
- <li>2.3 and 2.4 List and Union Simple Type: list is supported, union is not yet supported</li>
- <li>2.5 Anonymous Simple Type: supported</li>
- <li>2.6 Simple Type with ecore:name: to be tested</li>
- <li>2.7 Simple Type with ecore:instanceClass: supported</li>
- </ul></li>
- <li>Complex Type Definition (Chapter 3)
- <ul>
- <li>3.1 Complex Type with extension or restriction: supported</li>
- <li>3.2 Anonymous Complex Type: supported</li>
- <li>3.3 Abstract Complex Type: supported</li>
- <li>3.4 Mixed Complex Type: supported</li>
- <li>3.5 Complex Type with ecore:name: supported</li>
- <li>3.6 Complex Type with ecore:featuremap: supported</li>
- <li>3.7 Complex Type with ecore:mixed: supported</li>
- </ul>
- </li>
- <li>Attribute declaration (Chapter 4), attributes have not been tested extensively.
- However because the java representation of EMF objects makes no difference between attributes and elements.
- The testcases for element declarations also in general apply to attribute declarations.
- <ul>
- <li>4.1 Attribute of type xsd:ID: supported</li>
- <li>4.2 Attribute of type xsd:IDREF, xsd:IDREFS, xsd:anyURI: supported</li>
- <li>4.3 Required Attribute: supported</li>
- <li>4.4 Attribute with default: to be tested</li>
- <li>4.5 Qualified Attribute: to be tested</li>
- <li>4.6 Attribute reference: supported</li>
- <li>4.7 Global Attribute: not relevant for persistence</li>
- <li>4.8 Attribute with ecore:name: supported</li>
- </ul></li>
- <li>Element Declaration (Chapter 5)
- <ul>
- <li>minOccurs/maxOccurs: all values of minOccurs and maxOccurs are supported</li>
- <li>5.1 Element of type xsd:anyType: not yet supported</li>
- <li>5.2 Element of type xsd:ID: supported</li>
- <li>5.3 Element of type xsd:IDREF, xsd:IDREFS, xsd:anyURI: supported</li>
- <li>5.4 Nillable Element: supported</li>
- <li>5.5 Element with default: supported</li>
- <li>5.6 Qualified element: to be tested</li>
- <li>5,7 Element reference: supported</li>
- <li>5.8 Global Element: not relevant for persistence</li>
- <li>5.9 Element with substitution group: supported</li>
- <li>5.10 Abstract Element: to be tested</li>
- <li>5.11 Element with ecore:name: supported</li>
- <li>5.12 Element with ecore:opposite: supported</li>
- <li>5.13 Element with ecore:featureMap: supported</li>
- </ul></li>
- <li>Model group (Chapter 6)
- <ul>
- <li>6.1 Non repeating xsd:choice: supported</li>
- <li>6.2 Repeating model group: supported</li>
- <li>6.3 Repeating model group reference: supported</li>
- <li>6.4 Model group with ecore:featureMap: supported</li>
- <li>6.5 Model group with ecore:name: supported</li>
- </ul>
- </li>
- <li>Wildcards (Chapter 7): not yet supported</li>
- <li>Annotations (Chapter 8): not relevant for persistence</li>
- <li>Predefined Schema Simple Types (Chapter 9): almost all simple types which are persistable are supported. The following types are
- not yet supported: gYear, gYearMonth, gDay, gMonthDay, duration.</li>
- </ul>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/hbdatastore.xml b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/hbdatastore.xml
deleted file mode 100644
index 5e1873683..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/hbdatastore.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 16:05:49 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>HbDataStore, HbContext and Runtime Options</title>
- </header>
- <body>
- <p>This page describes the functionality of the HbDataStore and describes how different parts of the Teneo runtime
- can be overridden by supplying your own specific implementation</p>
- <section id="HbDataStore">
- <title>The HbDataStore</title>
- <p>The HbDataStore object controls the persistence of a set of EPackage in a specific relational database. The HbDataStore
- contains a SessionFactory and is responsible for creating and updating the database schema.</p>
- <p>To create and initialize a HbDataStore, follow these steps:</p>
- <ol>
- <li>Create and register the HbDataStore using HbHelper.INSTANCE.createRegisterDataStore().</li>
- <li>Configure the EPackages to be handled by this DataStore using HbDataStore.setEPackages().</li>
- <li>Configure Hibernate properties for accessing the database. (Described
- <a href="tutorialone/tutorial1_2.html#Hibernate+database+configuration"> here</a>.)</li>
- <li>Call initialize() to build the Hibernate mapping and create the tables in the database.</li>
- </ol>
- <p>You can then obtain the Hibernate SessionFactory using HbDataStore.getSessionFactory().</p>
- <p>The HbDataStore can also be used to import and export xml and xmi through the importDataStore and exportDataStore
- methods.</p>
- <p>The HbDataStore has a specific method to retrieve all referers to a passed EObject: getCrossReferencers.</p>
- </section>
- <section id="hbcontext">
- <title>HbContext</title>
- <p>The The HbContext returns default implementations for Accessors, class names of Tuplizers and contains a method
- to create the Hibernate Configuration. HbContext is set in the HbDataStore using the setHbContext method, as a default the HbContextImpl is used.
- You can extend HbContextImpl to override only specific methods.</p>
- </section>
- <section id="overriding">
- <title>Overriding the HbDataStore</title>
- <p>In this release it is possible to override the HbDataStore with your own implementation. Next to the
- specific implementation of the HbDataStore you also need to register a HbDataStoreFactory which creates this
- specific HbDataStore, the HbDataStoreFactory is registered through the HbHelper.setHbDataStoreFactory method.
- </p>
- </section>
- <section id="options">
- <title>Runtime Options</title>
- <p>Options are passed to the HbDataStore using a Properties object which is set using the HbDataStore.setPersistenceProperties method.</p>
- <p>The available options are all present in the <em>org.eclipse.emf.teneo.PersistenceOptions</em> class. See the <a href="options.html">options</a>
- page for a complete overview.</p>
- </section>
- <section><title>Getting the Hibernate Mapping XML</title>
- <p>There are two methods to get to the hibernate mapping xml programmatically.</p>
- <p>The mapping xml which has been generated by Teneo automatically (if no hibernate.hbm.xml file was specified explicitly)
- can be retrieved using the method: getMappingXML on the HbDataStore.</p>
- <p>The method HbHelper.INSTANCE.generateMapping(....) can be used to programmatically generate the mapping file.</p>
- <p>You can save the generated mapping xml to a file and then use that file. See the persistence option to tell Teneo to
- use the mapping file, <a href="options.html">here</a>.</p>
- <p>The third method to get the hibernate mapping xml is by right clicking on an ecore file and select the appropriate
- Teneo submenu option, see <a href="hibernate_details.html#orgeneration">here</a>. The
- disadvantage of this method is that it does not allow you to pass your own menu options.</p>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/hibernate_details.xml b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/hibernate_details.xml
deleted file mode 100644
index d8a30e483..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/hibernate_details.xml
+++ /dev/null
@@ -1,150 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.3 $ $Date: 2006/09/26 12:45:14 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>EMF - Hibernate Integration Details</title>
- <abstract>Discusses a number of specific implementation and use details of the EMF - Hibernate integration.</abstract>
- </header>
- <body>
- <section><title>Classloader</title>
- <p>Teneo performs explicit classloading in specific locations. It is possible to set the classloader which is being
- user by Teneo. This can be done through the org.eclipse.emf.teneo.ClassLoaderResolver class. In this class you can
- register a org.eclipse.emf.teneo.classloader.ClassLoaderStrategy. The registered ClassLoaderStrategy is used by
- Teneo to explicitly load classes.</p>
- </section>
- <section><title>Requirements on EObjects: InternalEObject</title>
- <p>The EMF Hibernate persistency layer only requires that the persisted objects implement
- the org.eclipse.emf.ecore.InternalEObject interface.</p>
- </section>
- <section>
- <title>Relational Validation and EObject persistency</title>
- <p>When an object is made persistent by session.save() then at
- that moment also constraints, such as nullable fields, are checked. So when
- calling the session.save method the passed EObject should be valid.</p>
- </section>
- <section><title>Automatic creation of tables/Database Schema</title>
- <p>The EMF Hibernate persistency layer will automatically update the database schema
- when a new SessionFactory is registered. The Hibernate class org.hibernate.tool.hbm2ddl.SchemaUpdate class is used for
- this purpose.</p>
- <p>An <a href="hbdatastore.html#options">option</a> can be used to control if the database schema should be updated when a new HbDataStore
- is created.</p>
- </section>
- <section id="orgeneration"><title>Manual Generation of OR Mapping</title>
- <p>Standard Teneo will automatically map the model to Hibernate when a datastore is initialized. However, it can sometimes make sense to manually
- adapt the mapping or use a specific mapping file. For this purpose Teneo also allows you to manually generate the mapping file. To do this right
- click on one or more .ecore files and choose the relevant option in the Teneo submenu.</p>
- <p> </p>
- <figure src="images/elver_menu.gif" alt="Manual generation of hibernate or mapping"/>
- <p>The hibernate.hbm.xml is created in the folder of the selected .ecore file. To direct Teneo to use this mapping file you
- need to do the following:</p>
- <ol><li>Copy the hibernate.hbm.xml to the generated EPackage source tree and let it be copied to the output directory/destination when building.</li>
- <li>Pass the following option: PersistenceOptions.USE_MAPPING_FILE with the value "true" to the HbDataStore.</li>
- </ol>
- <p><strong>Note:</strong> the generation of the hibernate.hbm.xml will only work if the org.eclipse.emf.teneo.hibernate.runtime plugin has been added to the
- dependencies of the projects of the selected .ecore files.</p>
- </section>
- <section id="escaping"><title>Escaping of table and column names</title>
- <p>Teneo will escape table and column names of primitive types. Escaping is done by surrounding the name with backtics (`).</p>
- <p>Note that:</p>
- <ul>
- <li>Join table names are not escaped: Hibernate will in some cases automatically create a table to store the contents of a collection,
- for example the contents of a list with primitive types. Hibernate will not automatically escape this name. To escape such a join table you
- need to add a JoinTable annotation with an escaped name or a non-keyword name.</li>
- <li>Teneo will not escape column names of manually specified Column annotations</li>
- </ul>
- </section>
- <section><title>Lazy loading/fetching, Proxy</title>
- <p>The Hibernate integration does not make use of the Hibernate Proxy.</p>
- <p>Primitive features and single refererences are eagerly loaded. ELists are
- lazily loaded. In the future probably also single-references will be lazily loaded.</p>
- </section>
- <section><title>Synthetic ID and Version properties</title>
- <p>When Teneo detects that a certain type does not have an id or version annotated property then
- it will add these automatically. The synthetic id and version are hidden for the developer. You can
- retrieve the hidden synthetic id or version through the class org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierCacheHandler.
- You can prevent the automatic adding of a synthetic version property by setting the PersistenceOptions.ALWAYS_VERSION
- to false, see <a href="options.html">here</a>. If this property is false then only efeatures with a version annotation are
- translated into a version mapping.</p>
- <p>Synthetic id and version use object equality (==), this means that synthetic id and version will not
- work if objects are transferred to other systems and back (for example in case of client-server communication).</p>
- </section>
- <section id="cutpaste">
- <title>Move an EObject between EContainers or support cut and paste in the EMF editor</title>
- <p>In the standard approach it is not possible to move an EObject from one containment relation to another containment relation. A move
- between containment relations corresponds to a cut and paste in the EMF editor. The reason is that Teneo will
- specify an orphan-delete cascade for a containment relation. This has a consequence that Hibernate will throw
- an exception (deleted object would be re-saved by cascade, remove deleted object from associations) when you move an EObject from its container to another container.
- See <a href="http://opensource.atlassian.com/projects/hibernate/browse/HHH-785">here</a> for a description.</p>
- <p><em>Solution:</em> as a solution you can prevent the orphan-delete from being set as the cascade style, by specifying
- an annotation on the relevant EReference features or by setting the global runtime property PersistenceOptions.SET_CASCADE_ALL_ON_CONTAINMENT
- to false (see <a href="options.html">here</a>). As an example of the first approach:</p>
- <source><![CDATA[
-<xsd:element maxOccurs="unbounded" minOccurs="0" name="writers" type="lib:Writer">
- <xsd:annotation>
- <xsd:appinfo source="teneo.jpa">@OneToMany(cascade={MERGE,PERSIST,REFRESH,REMOVE})</xsd:appinfo>
- </xsd:annotation>
-</xsd:element>
- ]]></source>
- <p>This annotation means that cascading deletes are still enforced but a child (the Writer) can exist without its
- parent (the Library).</p>
- <p>When this annotation is used in the context of a Hibernate Resource then when an EObject is removed from
- its container then it will also be removed from the resource and from the database. However, when you set this
- annotation and not work with Hibernate Resources then the removed EObject is not removed from the database and will
- be present without a container!</p>
- </section>
- <section>
- <title>Validation</title>
- <p>When storing and retrieving EMF objects from a Hibernate store it is not required to work with a
- EMF type Resource. However the standard EMF validator checks if every EObject is
- present in an EMF resource and that all referenced EObjects are in the same resource. So, if
- this standard validator is used unnecessary errors are thrown.
- </p>
- <p>To prevent this situation you can register your own validator which does not perform this resource check.
- See the example here below.
- </p>
- <p>
- Validators are registered using a call to put method of the EValidator.Registry.INSTANCE object.
- </p>
- <source>
-public class MyValidator extends EObjectValidator
-{
- /**
- * Overrides the method from the superclass to prevent this check because it
- * is not required in the context of a hibernate store. Note that this assumes that
- * an object and its references are all stored in the same hibernate database.
- */
- public boolean validate_EveryReferenceIsContained(EObject eObject, DiagnosticChain diagnostics, Map context)
- {
- return true;
- }
-}
- </source>
- </section>
- <section><title>Default cacheprovider is org.hibernate.cache.HashtableCacheProvider</title>
- <p>Default cacheprovider has been set to org.hibernate.cache.HashtableCacheProvider because of ehcache issues which occur when using
- ehcache with the default values.</p>
- <p>Encountered error message was:
- <em>Attempt to restart an already started EhCacheProvider. Use sessionFactory.close() between repeated calls to buildSessionFactory. Consider using net.sf.ehcache.hibernate.SingletonEhCacheProvider. Error from ehcache was: Cannot parseConfiguration CacheManager. Attempt to create a new instance of CacheManager using the diskStorePath "/tmp" which is already used by an existing CacheManager. The source of the configuration was classpath.</em>
- </p>
- <p>The HashtableCacheProvider is not for production use. You can override this default setting by setting the hibernate.cache.provider_class property with the cache provider class you want to use.
- </p>
- </section>
-
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/hibernate_helper.xml b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/hibernate_helper.xml
deleted file mode 100644
index 08451e5f8..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/hibernate_helper.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2005-2006, Elver.org (http://www.elver.org).
-
- Licensed 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.
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.1 $ $Date: 2006/08/03 09:58:07 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Hibernate Helper: utility methods</title>
- </header>
- <body>
- <p>This page describes utility functions which are available in the
- Hibernate runtime plugin.</p>
- <section id="CrossReference">
- <title>Retrieving cross referencers</title>
- <p>The HibernateHelper class offers a method for retrieving EObjects which
- refer to a specified EObject:</p>
- <source>
-HibernateHelper.INSTANCE.getCrossReferencers(name, session, eobject);
- </source>
- <p>The first parameter is the name of the SessionFactory registered using the
- HibernateHelper.</p>
- <p>The second parameter is a session object. The caller of this method
- should ensure that a transaction has been started before calling getCrossReferencers.</p>
- <p>The third parameter is the EObject for which the referencers are to be retrieved.</p>
- <p>The method returns an array of EObjects which refer to the passed eobject. If
- no referencer is found then an array with length zero is returned.</p>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/hibernate_relations.xml b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/hibernate_relations.xml
deleted file mode 100644
index c1ad3c914..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/hibernate_relations.xml
+++ /dev/null
@@ -1,145 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.4 $ $Date: 2006/09/29 20:33:14 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>EMF - Hibernate Model Relations/Assocations</title>
- <abstract>Discusses specifics around modeling associations</abstract>
- </header>
- <body>
- <p><strong>The syntax of the annotations described here have been changed in the Teneo release,
- see <a href="ejb3_format.html">here</a>.</strong></p>
-
- <section><title>Mapping indexed 1:n relations</title>
- <p>This is the default for an EMF association. Indexed 1:n relations are mapped using the Hibernate
- list tag. This results in an additional column in the database to keep track of the order in the list.</p>
- </section>
- <section><title>Mapping non-indexed relations</title>
- <p>EMF only supports indexed 1:n and n:m relations. However many times the indexing of
- relations is not relevant for the model and the index gives a performance penalty when
- updating the relation in the database. By using annotations in the model it is
- possible to specify for a model element that it should not be indexed in the database.
- </p>
- <p>As an example see the the following xml schema model:</p>
- <source><![CDATA[
-<xsd:element name="containedItem" type="this:ContainedItem" maxOccurs="unbounded">
- <xsd:annotation>
- <xsd:appinfo source="teneo.jpa">@OneToMany(indexed=false)</xsd:appinfo>
- </xsd:annotation>
-</xsd:element>
- ]]></source>
- <p>In this example it is specified that the item member (an elist) should not be indexed.
- For EMF and java the relations will be represented as an elist, however the order of the
- elements in the list is not saved in the database.</p>
- <p>By adding the indexed annotation the system can identify that this relation should not
- be ordered/indexed in the database. This means that no index column is added to the relevant tables.
- <em>This also means that the order of a list when it is saved is not guaranteed to be the same
- as the order when the list is retrieved.</em>.</p>
- <p>The indexed attribute is also supported on the ManyToMany annotation.</p>
- <p>The above annotation can also be added in UML. Please use the same values for the
- source and the key.</p>
- <p><em>The indexed annotation does not exist in the EJB3 spec and is a Teneo extension.</em></p>
- </section>
- <section><title>Mapping indexed many-to-many (nm) relations</title>
- <p>A normal approach to model a nm relation in a database is to use a join table which
- contains foreign keys to both sides of the nm relation. EMF many-to-many relations have the additional
- special feature that they are indexed. So the join table should also contain the index for both sides
- of the nm relation. However Hibernate can not handle indexed collections on both sides of the nm relation.</p>
- <p>Therefore to enable support for nm relations in Hibernate two join tables are created, one for each
- side of the relation. Although this is less efficient it at least makes it possible to model nm relations.</p>
- <p>As an example consider the relation between books and authors. One author can write multiple books and
- a book can have multiple authors. To support this model 4 tables are created: Author to store authors, Book
- to store Books, AuthorBook to store the elist with books in the author object and BookAuthor to
- store the elist with authors in the book object.</p>
- </section>
- <section><title>Mapping non-indexed nm relations</title>
- <p>Non-indexed relations can be persisted using 1 join table. To specify that a nm relation
- is non-indexed both sides of the relation should have the indexed is false annotation. If
- Teneo encounters a non-indexed nm relations then only 1 join table will be used.</p>
- </section>
- <section><title>Force a join table for 1:n relations</title>
- <p>In a relational database 1:n relations are often modeled by adding a foreign-key (to the
- parent) in the child table/object. The disadvantage of this approach is that duplicates
- are not supported. To support duplicates in an elist a join table is required. To signal to
- Teneo, that a join table should be used, the annotation as in this example can be used:</p>
- <source><![CDATA[
-<xsd:element name="joinedItem" type="xsd:anyURI" ecore:reference="this:Item" maxOccurs="unbounded">
- <xsd:annotation>
- <xsd:appinfo source="teneo.jpa">@OneToMany(indexed=false unique=false)</xsd:appinfo>
- </xsd:annotation>
-</xsd:element>
- ]]></source>
- <p>Based on this annotations Teneo will generate a join table for this model. Note that
- this annotation can be combined with the indexed annotation.</p>
- <p><em>The unique annotation does not exist in the EJB3 spec and is a Teneo extension.</em></p>
- </section>
- <section><title>Embedded components</title>
- <p>Teneo supports relations in which the child should be embedded in the parent table.
- Embedding is defined on type level using an annotation:
- </p>
- <source><![CDATA[
-<xsd:element name="firstEmbedded" type="this:Embeddable">
- <xsd:annotation>
- <xsd:appinfo source="teneo.jpa">@Embedded</xsd:appinfo>
- </xsd:annotation>
-</xsd:element>
- ]]></source>
- <p>By adding the Embedded is true annotation to a type this type will always be embedded in
-its parent table. The column names for an embedded type are not made unique. To prevent column name clashes
-you should add AttributeOverride(s) annotations (see the EJB3 spec). <em>Only embedded component types with primitive properties
- have been tested, embedded components with associations to other types may work but this has not been tested</em>.</p>
- </section>
- <section>
- <title>Storing container relation</title>
- <p>From the 0.2.1 release the system will also store the relation from a eobject to its container.
- This relation is stored in three fields in the database table:</p>
- <ul>
- <li>ECONTAINER_CLASS: stores the type of the container eobject</li>
- <li>ECONTAINER: stores the database identification of the container eobject (as a varchar),</li>
- <li>ECONTAINER_FEATUREID: stores the id of the container feature which holds the eobject</li>
- </ul>
- <p>These fields are not present as properties in the hibernate.hbm.xml file.
- These fields are added at startup because at that moment it is possible to determine
- which classes are contained in other classes.</p>
- <p>For normal single column identifiers the system will use the
- Hibernate toString and fromStringValue methods of the org.hibernate.type.NullableType class.</p>
- <p><em>
- In case the identifier type is not a subclass of the hibernate NullableType (for example
- in case of a composite-id) then the system
- will set the ECONTAINER field differently. In this case the ECONTAINER field
- will contain the classname of the identifier object, a separator (a ;) and the
- value of the identifier object as a String. The String value of the identifier
- object is obtained by calling toString(). When reading the ECONTAINER field
- the system will use a
- constructor with a single String parameter. So the identifier class must have
- a constructor with a single String argument. In addition the toString method and this
- constructor must correctly translate to/from a String.</em></p>
- <p>These fields do not enforce referential integrity constraints, these are
- enforced by the relation from the container to the contained eobject.</p>
- <p>The container is eagerly loaded, so when a child object is loaded its container
- is also loaded. Note that the collections in the container are lazily loaded. It was required
- to eagerly load the container because the EMF editors access this value.</p>
- <p>The relation to the container is stored separately from any 1:n relation which is stored
- from the container to the contained object. This is required because one eobject type can be contained
- by multiple other eobject types which are not known when the hibernate.hbm.xml is generated.
- </p>
- <p><strong>The econtainer mapping creation can be disabled by setting the PersistenceOptions.DISABLE_ECONTAINER_MAPPING
- to true, see also <a href="options.html">here</a>.</strong></p>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/hibernateresources.xml b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/hibernateresources.xml
deleted file mode 100644
index 070ed5953..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/hibernateresources.xml
+++ /dev/null
@@ -1,155 +0,0 @@
-<?xml version="1.0"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
-<document>
- <header>
- <title>Hibernate EMF Resources</title>
- <notice>Describes the use of an EMF resource implemenation for Hibernate</notice>
- <abstract>The EMF Hibernate integration also contains a Resource implementation for
- integration with the EMF Editing Domain. The resource implementation
- extends the org.eclipse.emf.ecore.xmi.impl.XMIResourceImpl to enable easy importing
- and exporting of XML to/from the relational store.
- </abstract>
- </header>
- <body>
- <p></p>
- <section>
- <title>Resource URI</title>
- <p>The Hibernate EMFResource is registered using different extensions/protocols:</p>
- <ul>
- <li>Protocol: the Hibernate EMF Resource (factory) will be registered for the protocols hibernate and ehb</li>
- <li>Extension: the Hibernate EMF Resource (factory) will be registered for the extensions hibernate and ehb</li>
- </ul>
- <p>When the hibernate protocol is used to retrieve a Resource then the resource
- needs to know how to reach a data store. This is done by passing the registration name
- of a HbDataStore to the resource with the org.eclipse.emf.teneo.Resource.DS_NAME_PARAM parameter.
- </p>
- <p>An example of a URI which returns a Hibernate resource: <em>hibernate://dsname=library</em>.</p>
- </section>
- <section>
- <title>Hibernate Resource and session/transaction specifics</title>
- <p>The Hibernate Resource opens a session when it is loaded for the first time.
- A transaction is started when the load starts and committed at the end of the load.
- This session is disconnected at the end of the load action.</p>
- <p>The save action will reconnect the session, begin a transaction, do an update of
- the datastore and then commit and disconnect.</p>
- <p>In one of the next releases a new resource implementation will be added which will create a new session
- for each load and save action.</p>
- </section>
- <section>
- <title>Validation</title>
- <p>The Hibernate Resource automatically validates its content (the EObjects) when the
- resource is saved. This validation makes use of the EMF validation framework throug calls to
- the Diagnostician.INSTANCE.validate method. Validation fails when a ERROR level Diagnostic is
- encountered. In this case the resource save method will throw a org.eclipse.emf.teneo.StoreValidationException.
- This exception has a method to retrieve all Diagnostics.</p>
- </section>
- <section>
- <title>Standard load behavior: Top level types</title>
- <p>When a Hibernate EMF resource is loaded then only the so called top-level types are directly present in
- the resource contents. Top-level types are types which are not used as the
- the child in a containment relation. The assumption is that all contained types can be reached
- from a top-level type.</p>
- <p>See also the <a href="knownissues.html">Known Issues</a>.</p>
- </section>
- <section><title>Customizing load behavior</title>
- <p>It is possible to customize what the resource actually loads from the database.</p>
- <section><title>Extend the resource implementation in java</title>
- <p>It is possible to customize the load behavior by overriding the loadFromStore method
- in the HibernateResource. This method gets a PersistenceManager and should return a list of
- objects read from the Hibernate datastore.
- </p>
- </section>
- <section><title>Set specific queries to load the resource</title>
- <p>There are two ways to pass specific queries to the HibernateResource. The first method
- is using uri parameters:</p>
- <p><em>hibernate://?dsname=mystore&amp;query1=FROM Writer</em></p>
- <p>You can pass multiple queries by using parameter names which start with query, for
- example query1, query2 etc.</p>
- <p>The other way to pass queries to the resource are to specify them in the
- .ehb file (see resource utility <a href="resource_utility.html">here</a>). An
- example (commented out) of this can be found in the ehb file <a href="samples/library.ehb">here</a>.</p>
- </section>
- </section>
- <section>
- <title>Sharing one Session between Resources, One transaction when saving multiple resources</title>
- <p>As a standard behavior the resource will create its own session at load time.
- However, there are cases when you want to use one session to load and save multiple resources. This
- is for example the case when there are references between objects in different resources.
- In this case the load and save actions of multiple resources should use the same session and be done
- in the same transaction.</p>
- <p>To support this Teneo has the concept of a SessionController. A SessionController manages one session
- for multiple resources. A SessionController is registered using a specific name. When a resource is opened this
- name is passed as an uri parameter. Using this name the HibernateResource can then find the SessionController
- and retrieve a session. When a HibernateResource has a SessionController then the HibernateResource does not itself
- create a session or begin and commit transactions. Beginning and committing transactions is the responsibility
- of the application itself.</p>
- <p>Here is some example code illustrating the use of a SessionController:</p>
- <source>
- SessionController sc = new SessionController();
-
- // when creating a SessionController you have to pass your HbDataStore instance
- sc.setHbDataStore(hbDataStore);
-
- // register the SessionController, the name is used in the uri of the resource
- SessionController.registerSessionController("testsc", sc);
-
- // create an uri using the SessionController name
- URI uri1 = URI.createURI("hibernate://?" + HibernateResource.SESSION_CONTROLLER_PARAM + "=testsc&amp;query1=from Book");
- URI uri2 = URI.createURI("hibernate://?" + HibernateResource.SESSION_CONTROLLER_PARAM + "=testsc&amp;query1=from Writer");
- // resourceSet has to be set before somehow..
- final Resource res1 = resourceSet.createResource(uri1);
- final Resource res2 = resourceSet.createResource(uri2);
-
- // now load the resources
- sc.getSession().beginTransaction();
- res1.load(Collections.EMPTY_MAP);
- res2.load(Collections.EMPTY_MAP);
- sc.getSession().getTransaction().commit();
-
- // do something usefull with your loaded resources...
-
- // and save them
- sc.getSession().beginTransaction();
- res1.save(Collections.EMPTY_MAP);
- res2.save(Collections.EMPTY_MAP);
- sc.getSession().getTransaction().commit();
- </source>
- <p><strong>Loading different EObjects (refering to eachother) in different resources can have side-effects if
- there are containment relations to and from these EObjects (with resolving=false).
- If the containment relation is non-resolving then
- EMF will place an EObject always in the same resource as its container. If you use queries to load your resources
- then the containers are loaded also. For example: assume EObjects A1 and A2 both have container A0. If one resource
- loads A1 then A0 is also loaded automatically and A0 and A1 are in the same resource. If then a second resource loads
- A2 then A2 will be placed in the first resource because its container is located there. Overall this results in
- unpredictable behavior. So: to correctly work with multiple resources the containment relations should be set to
- resolving = true.</strong></p>
- </section>
- <section>
- <title>Closing a resource</title>
- <p>The Hibernate EMF resource can be closed by calling the unload method.
- This method will close the disconnected session. In case a SessionController is used
- the unload method will just nullify the internal session member, you should close
- the session explicitly.</p>
- </section>
- <section>
- <title>Other aspects</title>
- <section><title>Resource use after Hibernate exception</title>
- <p>When a Hibernate error/exception occurs when working with a Hibernate resource it can not
- be used anymore and should be unloaded (closed).</p>
- <p>In a future resource implementation this issue will be solved.</p>
- </section>
- <section>
- <title>Closing a resource</title>
- <p>The Hibernate EMF resource can be closed by calling the unload method.
- This method will close the disconnected session.</p>
- </section>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/Process.jpg b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/Process.jpg
deleted file mode 100644
index 8157ff4fc..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/Process.jpg
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/Process.ppt b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/Process.ppt
deleted file mode 100644
index ccfd9ad20..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/Process.ppt
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/Process2.jpg b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/Process2.jpg
deleted file mode 100644
index c2b58b8f4..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/Process2.jpg
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/Runtime.jpg b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/Runtime.jpg
deleted file mode 100644
index 3b42ad764..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/Runtime.jpg
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/Runtime.ppt b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/Runtime.ppt
deleted file mode 100644
index 1abef0a56..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/Runtime.ppt
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/ormapping_menu.jpg b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/ormapping_menu.jpg
deleted file mode 100644
index 70cef5973..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/ormapping_menu.jpg
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/plugin_dependency_reexport.gif b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/plugin_dependency_reexport.gif
deleted file mode 100644
index b339f1262..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/plugin_dependency_reexport.gif
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/plugin_error.jpg b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/plugin_error.jpg
deleted file mode 100644
index f532a8609..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/plugin_error.jpg
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/registerbuddy.jpg b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/registerbuddy.jpg
deleted file mode 100644
index 5fc95b0fa..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/registerbuddy.jpg
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/resourcefactory.jpg b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/resourcefactory.jpg
deleted file mode 100644
index 149b53d75..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/resourcefactory.jpg
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/resourceutility.jpg b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/resourceutility.jpg
deleted file mode 100644
index ff9a1028b..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/resourceutility.jpg
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/index.xml b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/index.xml
deleted file mode 100644
index 850c825d0..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/index.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.6 $ $Date: 2006/09/29 20:44:38 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title></title>
- </header>
- <body>
- <section>
- <title>Elver Persistency has moved to Eclipse.org as Teneo within EMFT</title>
- <p><strong>Elver persistency has moved to eclipse.org as the Teneo project within EMFT:</strong></p>
- <ul>
- <li>The elver.org website will remain the source for documentation of Teneo.</li>
- <li>The source code can be retrieved from Eclipse cvs. The new main java package name: org.eclipse.emf.teneo.</li>
- <li>Teneo/Elver is part of the EMFT build process, builds can be downloaded here:
- <a href="http://download.eclipse.org/technology/emft/downloads/">EMFT Downloads</a>
- (select the Teneo project in the listbox). For the Eclipse update manager use:
- http://download.eclipse.org/technology/emft/updates/site-interim.xml.</li>
- <li>Support is given on the EMFT newsgroup: news://news.eclipse.org/eclipse.technology.emft.</li>
- </ul>
- </section>
- <section>
- <title>EMF Persistency Solution using Hibernate</title>
- <p>The EMF - Hibernate integration currently supports a number of important EMF features and
- standard Hibernate features. EMF objects can be persisted in most major relational databases and retrieved using an EMF resource approach or
- HQL queries.
- </p>
- <p><strong>Current version (Teneo): 0.7.5 BETA for Eclipse 3.2/EMF 2.2/Hibernate3.2rc4 and jdk 1.4 and later,
- <a href="status.html">Status</a>, <a href="features.html">Features</a>, <a href="changelog.html">Changelog</a></strong></p>
- <p><strong>Releases are not guaranteed to be backward compatible. When upgrading: please read the <a href="changelog.html">Changelog</a>
- and the <a href="upgrading.html">Upgrading</a> pages</strong>.</p>
- <p><em>For troubleshooting please visit the <strong><a href="knownissues.html">Known Issues</a></strong>
- and <strong><a href="troubleshooting.html">Troubleshooting</a></strong> pages.</em></p>
- </section>
- <section>
- <title>Hibernate</title>
- <p>The EMF - Hibernate integration is a layer over the Hibernate product. The used Hibernate version is 3.2.
- For more information visit Hibernate at <a href="http://www.hibernate.org">http://www.hibernate.org</a>.
- </p>
- </section>
- <section>
- <title>EMF</title>
- <p>The <a href="http://www.eclipse.org">Eclipse Modeling Framwork (EMF)</a> is a modeling and
- code generation framework which generates source code from different sources: an UML diagram or
- a XML Schema. For more information see <a href="http://www.eclipse.org/emf">here</a>.
- </p>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/inheritance.xml b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/inheritance.xml
deleted file mode 100644
index 42e142945..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/inheritance.xml
+++ /dev/null
@@ -1,91 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 10:42:34 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Inheritance Mapping</title>
- <abstract>Discusses the supported inheritance mapping strategies</abstract>
- </header>
- <body>
- <section><title>Supported inheritance mapping strategies</title>
- <p>The Teneo OR Mapper supports two of the three inheritance mapping of Hibernate
- (see <a href="http://www.hibernate.org/hib_docs/v3/reference/en/html/inheritance.html">
- chapter 9</a> of the Hibernate manual):</p>
- <ul>
- <li>SINGLE_TABLE: Table-per-class-hierarchy, in this scenario the classes of one
- class hierarchy are all mapped to one table.</li>
- <li>JOINED: Table-per-subclass, in this strategy each subclass will have its own table. To
- retrieve an object from the database the superclass and subclass tables are joined.
- This also applies to subclasses of subclasses.</li>
- </ul>
- <p>As a default SINGLE_TABLE inheritance mapping is used. There are two methods by which the inheritance mapping
- can be set.</p>
- <ol>
- <li>Globally: pass the constant org.eclipse.emf.teneo.mapper.PersistenceMappingOptions.INHERITANCEMAPPING as a property
- when initializing a HbDataStore. This property can have two values: SINGLE_TABLE or JOINED.</li>
- <li>By using an (EJB3) annotation for individual types: see below.</li>
- </ol>
- <p>Hibernate has as main limitation that the two approaches above can not be mixed within one
- class hierarchy.</p>
- <p>There is also another way of mapping inheritance structures: MappedSuperclass. In this method the superclass
- is not persisted by itself and does not have its own table. All the properties of the superclass are stored in the
- table(s) of the subclass(es). MappedSuperclass is set by an EJB3-like annotation. For more information see the EJB3 spec.</p>
- </section>
- <section><title>Specifying inheritance mapping per class hierarchy</title>
- <p>There are cases where it is necessary
- to use different inheritance mapping techniques for different class hierarchy within
- one application or project. This can be achieved by adding specific EJB3-like annotations to the type definition
- (uml or XML Schema).</p>
- <p>As an example see the following type definition of Address which
- sets the inheritance mapping strategy to JOINED (joined subclass) for Address and all
- its subtypes:</p>
- <source><![CDATA[
-<xsd:complexType name="Address" abstract="true">
- <xsd:annotation>
- <xsd:appinfo source="teneo.jpa">@Inheritance(strategy=JOINED)</xsd:appinfo>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:element name="name" type="xsd:string"/>
- <xsd:element name="street" type="xsd:string"/>
- <xsd:element name="city" type="xsd:string"/>
- </xsd:sequence>
-</xsd:complexType>
- ]]></source>
- <p>The inheritance-mapping annotation can have one of the two following values: JOINED or SINGLE_TABLE.</p>
- <p>The above annotation can also be added in UML. Please use the same values for the
- source and the key.</p>
- <p><strong>The inheritance annotation has changed, from the 0.3.* to the 0.7.0 release, to an EJB3-like format.</strong></p>
- </section>
- <section><title>Multiple Inheritance Support</title>
- <p>In EMF it is possible to define multiple inheritance structures. However, Hibernate can not handle multiple inheritance.</p>
- <p>Therefore
- during the mapping the first supertype is considered to be the real parent (for Hibernate). The properties of the
- other super types are mapped together with the subclass. The other super types will have their own tables in the
- database but there will be no relations between the subclass table and its other superclass tables.
- </p>
- </section>
- <section><title>Links to Inheritance-Mapping Articles</title>
- <ul>
- <li><a href="http://www.hibernate.org/hib_docs/v3/reference/en/html/inheritance.html">Chapter 9</a>
- of the Hibernate manual</li>
- <li><a href="http://www.ambysoft.com/essays/mappingObjects.html">Mapping Objects To Relational Databases</a>
- by Scott Ambler</li>
- </ul>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/installation.xml b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/installation.xml
deleted file mode 100644
index e58afc5fb..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/installation.xml
+++ /dev/null
@@ -1,82 +0,0 @@
-<?xml version="1.0"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
-<document>
- <header>
- <title>Download and Install</title>
- <notice>Describes the steps to install hibernate and the hibernate emf integration.</notice>
- <abstract>The installation consists of the steps listed below.</abstract>
- </header>
- <body>
- <section id="emf">
- <title>EMF Installation</title>
- <p>EMF can be installed in Eclipse using the Eclipse update manager.
- See <a href="http://eclipse.org/emf/docs.php?doc=docs/UsingUpdateManager/UsingUpdateManager.html">here</a> for more information.
- It is best to install the EMF SDK 2.2.* which contains the complete bundle with emf, xsd and sdo.
- </p>
- </section>
- <section>
- <title>EMF - hibernate Persistency Plugin Installation</title>
- <p> The EMF Persistency plugin can be downloaded from the eclipse.org/emft update site.
- To configure this update site in Eclipse go to: <em>Help &gt; Software Updates &gt; Find and Install</em>. Select
- 'Search for new features to install' and click next.
- </p>
- <p> At this window create a new update site by clicking
- on 'New Remote Site'. Enter any name you want, as a url enter: <em>http://download.eclipse.org/technology/emft/updates/site-interim.xml</em>,
- and press ok.
- </p>
- <p>Select the newly created update site and press finish. When the update site contents are shown, select the
- Teneo EMF Persistency (possibly followed by version information) Feature.</p>
- <p>The feature consists of a number of plugins: org.eclipse.emf.teneo.hibernate.eclipse and org.eclipse.emf.teneo.hibernate. The first plugin contains the OR Mapper which
- generates jdo descriptor files. The second plugin contains the jar files for the EMF persistency runtime.
- </p>
- <p>After you have installed the plugin and restarted eclipse you will see a new menu entry called Teneo when
- you right click on an ecore file.
- </p>
- <p><em>Note, if you have a earlier version of the EMF persistency plugin installed then you it is possible that
- you need to manually disable the previous version of the EMF - hibernate feature, see <a href="upgrading.html">here</a>.</em></p>
- </section>
- <section>
- <title>Hibernate Libraries</title>
- <p>The EMF persistency feature does not contain the Hibernate libraries (and its dependencies).
- Please download the Hibernate libraries separately from: <a href="http://www.hibernate.org">the hibernate website</a>.</p>
- <p><strong>A common approach is to place the Hibernate libraries in a separate plugin on which your model plugin will depend.
- If you do this then you should also set the BuddyPolicy in the plugin containing the Hibernate jars (in the Manifest.MF),
- for example: Eclipse-BuddyPolicy: dependent.</strong></p>
- </section>
- <section id="emfhibernateruntime">
- <title>Install the EMF - Hibernate Runtime plugin</title>
- <p>The installed runtime plugin (org.eclipse.emf.teneo.hibernate) can be used in two ways:
- 1) in an EMF model plugin, 2) in a non-plugin project. </p>
- <section>
- <title>Using the runtime plugin in an EMF model plugin</title>
- <p>To install the runtime plugin in an EMF model plugin go through the following steps (in this order):</p>
- <ol>
- <li>In the plugin.xml, dependency tab, of the EMF model plugin project add a dependency to
- the org.eclipse.emf.teneo.hibernate plugin. Enable this plugin for export (reexport dependency).</li>
- <li>Add a JDBC driver to the EMF editor (or the model) plugin project. If only added to the
- EMF model project ensure that the EMF editor project has access to the jdbc driver.</li>
- </ol>
- <p></p>
- <p><strong>From here please follow either the <a href="quick_tutorial.html">Quick Start</a> or
- <a href="tutorialone/tutorial1_intro.html">the Library Tutorial</a>.</strong></p>
- </section>
- <section>
- <title>Installing the runtime layer in a non-plugin EMF project</title>
- <p>In case of a non-plugin project all the jar-files present in the following plugins should be in the classpath:</p>
- <ul>
- <li>org.eclipse.emf.teneo</li>
- <li>org.eclipse.emf.teneo.annotations</li>
- <li>org.eclipse.emf.teneo.hibernate</li>
- </ul>
- <p>In addition the hibernate libraries and a jdbc driver should be added to the classpath.</p>
- </section>
- </section>
- </body>
-</document> \ No newline at end of file
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/knownissues.xml b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/knownissues.xml
deleted file mode 100644
index 878aae2b3..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/knownissues.xml
+++ /dev/null
@@ -1,107 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 10:42:34 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Known issues (updated 13 September 2006)</title>
- </header>
- <body>
- <p><br/></p>
- <p>
- <strong>From 13 September 2006: for open issues please visit the EMFT <a href="https://bugs.eclipse.org/bugs/buglist.cgi?product=EMFT&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;query_format=advanced&amp;order=map_components.name">open bugs</a>
- page.</strong></p>
- <p><br/></p>
- <p>This page describes known issues (and possible work arounds) and gives an estimate on when they will be solved.</p>
- <p>Open issue(s):</p>
- <ul>
- <li><strong>Objects are not loaded in the resource, or the resource is empty:</strong> The standard behavior of a Hibernate resource is to only read types which have no container in the model. All other EObjects can
- be reached from these top-entities. However, this means that even if an EObject instance does not have a container but <em>can be</em> contained according to the model then
- it will still not be loaded in the resource. A common model is a an object which contains itself, for example a folder-like
- model. <strong>Workaround</strong>: to workaround this issue you should load the resource using specific queries, see customizing load behavior <a href="hibernateresources.html">here</a>.</li>
- </ul>
- <p>The following issues have been solved in the 0.7.0 release:</p>
- <ul>
- <li>Enumerated types are not supported as primarykey/id fields. This will be solved in the next release.
- <strong>Is solved with the remark that the EnumeratedType should be Seriliazable.</strong></li>
- <li>Enumerated type fields can not be nullable, they must be set as required. This will be solved in the next release.</li>
- <li>Java Annotations to Ecore, mapping file error: When starting the runtime the following error
- message is displayed (using the Library example):<em>Association references unmapped class: Book</em>.
- The issue is related to the fact that the model is generated from annotated java. Currently Elver uses the annotations in the source code to resolve java types. The java sources generated from the uml/xml schema have fully quallified names in the type attribute of the model tag:
- <source>
- * @model type="org.eclipse.example.library.Writer"
- * @generated
- */
- EList getWriters();
- </source>
-<p>
-While in the case the java annotations are the input the emf tutorial tells you to do this:</p>
-<source>
- /**
- * @model type="Writer" containment="true"
- */
- List getWriters();
-</source>
-<p>Elver should automatically resolve the Writer to a org.eclipse.example.library.Writer interface but does not do this.
-As a workaround you should specify the fully qualified class name in the type annotation.</p>
- </li>
- </ul>
- <p></p>
-
- <p>The following issues have been solved in the 3.2 release:</p>
- <ul>
- <li>After an elist/featuremap is loaded a notification is sent out.
- See <a href="hibernate_details.html#EList%2FFeaturemap+load+notification">here</a> for more information.
- Apparently this notification results in exceptions and double entries in rich client tree viewers.
- See the posts on the mailing list for this: <a href="http://comments.gmane.org/gmane.comp.java.emf.persistency/139">post 1</a>,
- <a href="http://comments.gmane.org/gmane.comp.java.emf.persistency/144">post 2</a>. As a workaround you should 'catch' the notification
- in the notifychanged of the EObjects ItemProvider. This will be solved in the next release
- or the function will be disabled until it is more stable.
- <strong>Load notification on EList load has been disabled.</strong></li>
- </ul>
- <p>The following issues have been solved in the 3.1 release:</p>
- <ul>
- <li>On the mailinglist (see <a href="http://comments.gmane.org/gmane.comp.java.emf.persistency/95">here</a>)
- it was reported that when saving a HibernateResource the
- error 'session already closed' occurs. This issue is not present (anymore) in the
- current development version so is solved with the next release on
- 24 Oct.</li>
- <li>In some cases a session will not be disconnected with ELists
- in combination with HibernateResource. This results in errors in the
- resource unload action and open transactions (is solved in 3.1).</li>
- <li>In case of a deeper inheritance structure the econtainer
- fields/columns are not correctly set in the relational tables. This results in
- low-level sql errors, incorrect type for getInt().... or something similar
- (is solved in 3.1).</li>
- <li>The toString method of an EList loads the elist, in Hibernate
- this results in concurrent modification errors in logging code. The decision is
- made that toString is not 'important' enough to load a elist
- (is solved in 3.1).</li>
- <li>multiple inheritance of an EObject from two EMF interfaces does
- not work correctly. An example is the GlobalAddress in the ExtendedPO example.
- The GlobalAddress inherits from both the Address and the GlobalLocation interfaces.
- Hibernate does not allow the definition of multiple 'parent' interfaces.
- <em>From the 3.1 release the mapping logic has changed so that only implementation
- classes are present in the mapping file. This effectively solves this issue.</em>
- </li>
- </ul>
- <p>
- Previous issues have been solved or a workaround or description is
- displayed on the <a href="troubleshooting.html">troubleshooting</a> page.
- </p>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/license.xml b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/license.xml
deleted file mode 100644
index ce8ada28e..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/license.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- Licence page.
-
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 10:42:34 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>License</title>
- </header>
- <body>
- <p>Teneo is licensed under the <a href="http://www.eclipse.org/org/documents/epl-v10.php">Eclipse Public License</a>.
- In all documents and software the following copyright and license statement is present.
- </p>
- <source>
-Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
-All rights reserved. This program and the accompanying materials
-are made available under the terms of the Eclipse Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/epl-v10.html
- </source>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/mailinglist.xml b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/mailinglist.xml
deleted file mode 100644
index 801f04d62..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/mailinglist.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.3 $ $Date: 2006/09/13 16:05:49 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Teneo Newsgroup</title>
- </header>
- <body>
- <section>
- <title>EMFT Newsgroup</title>
- <p>Support for Teneo is provided through the EMFT newsgroup: news://news.eclipse.org/eclipse.technology.emft.</p>
- </section>
- <section id="maillist">
- <title>Archived Mailing List</title>
- <p>The archive of the mailinglist posts before the move to EMFT can be viewed:
- <a href="http://blog.gmane.org/gmane.comp.java.emf.persistency">here (web)</a> or
- <a href="nntp://news.gmane.org/gmane.comp.java.emf.persistency">here (news, nntp)</a>.
- </p>
- </section>
- <section id="wedo">
- <title>How we can help you</title>
- <p>
- We will do our best to answer your questions as promptly as possible.
- We can help you in the best way if you include the following information:
- </p>
- <ul>
- <li>The genmodel file</li>
- <li>The package.jdo</li>
- <li>The stack trace</li>
- <li>The log file (see <a href="troubleshooting.html">here</a> on where to find it)</li>
- <li>The version of Elver Store, Eclipse, EMF, jdk, and database</li>
- </ul>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/options.xml b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/options.xml
deleted file mode 100644
index 47d3ca906..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/options.xml
+++ /dev/null
@@ -1,77 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.4 $ $Date: 2006/09/26 12:45:14 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Options to control OR Mapping and Runtime behavior</title>
- </header>
- <body>
- <p>The options described here are all present in the <em>org.eclipse.emf.teneo.PersistenceOptions</em> class. The constant names used
- in this page all refer to this class.</p>
- <p>Options are passed to the HbDataStore using a Properties object which is set using the HbDataStore.setPersistenceProperties method.</p>
- <p>Boolean options can have the lower case String values: "false" or "true".</p>
- <ul>
- <li><strong>PersistenceOptions.ALWAYS_VERSION</strong>: this option (boolean, default: true) determines if the system should automatically
- add a version attribute to each class mapping. If set to true (the default) then the system will add a version property to the mapping if
- no other eattribute has a version annotation. If set to false then the version property is not added automatically.</li>
- <li><strong>PersistenceOptions.DISABLE_ECONTAINER_MAPPING</strong>: this option (boolean) controls if the container relations
- are mapped explicitly in the database, see also <a href="hibernate_relations.html#Storing+container+relation">here</a>.</li>
- <li><strong>PersistenceOptions.FETCH_CONTAINMENT_EAGERLY</strong>: if set to "true" will set the fetch strategy of all
- containment references to EAGER. This means that containment relations are completely read in memory. Default is "false".</li>
- <li><strong>PersistenceOptions.ID_COLUMN_NAME</strong>: can be used to set the id column name which is used
- to store the id of an object. The id column is only added automatically if the model does not define a primary key for the
- type. Default the id column name is e_id, however not all databases support _ in the name.</li>
- <li><strong>PersistenceOptions.INHERITANCE_MAPPING</strong>: the default inheritance mapping strategy to use, this can be
- JOINED or SINGLE_TABLE, see <a href="inheritance.html">here</a> for more information. Default is SINGLE_TABLE.</li>
- <li><strong>PersistenceOptions.JOIN_TABLE_FOR_NON_CONTAINED_ASSOCIATIONS</strong>: boolean, if set to true then always a join table is created
- for one-to-many non-contained associations.</li>
- <li><strong>PersistenceOptions.MAXIMUM_SQL_NAME_LENGTH</strong>: can be used to control the column and table name length. This is especially
- relevant in case the default annotation process creates foreign key columns or your property names are too long.
- Foreign key column names are created by concatenating the name of the (e)class and the propertyname. The resulting name can be to long for certain databases.
- By setting this option the system will truncate column names to this length. If the column/table name has a suffix (separated by a _) then the
- system will truncate the part before the suffix.</li>
- <li><strong>PersistenceOptions.OPTIMISTIC</strong>: if this property is "false" then no version properties are added to the
- mapping of EClasses. Default is "true".</li>
- <li> <strong>PersistenceOptions.PERSISTENCE_XML</strong>: the location of the xml annotations file. The location should be a resource
- path.</li>
- <li><strong>PersistenceOptions.QUALIFY_ENTITY_NAME</strong>: if set to PersistenceOptions.QUALIFY_ENTITY_NAME_NSPREFIX then
- all EClass names (used as entityname) will be qualified with the nsprefix of the EPackage. The nsprefix is prepended to the
- EClass name with a dot as a separator, for example: library.Writer. Note that all HQL queries should then use the
- qualified EClass names.</li>
- <li><strong>PersistenceOptions.SET_CASCADE_ALL_ON_CONTAINMENT</strong>: as a default Teneo will set a cascade style ALL on a
- containment relation. This also enables dependent or orphan delete behavior. However it makes more difficult to support cut/paste
- operations using resources (see <a href="hibernate_details.html#cutpaste">here</a>). This option can be used to control the dependent or
- orphan delete behavior on a containment relation. If set to false then all cascade styles are set with
- dependent/orphan-delete disabled. If set to true (the default) then all cascade styles are set including orphan-delete/dependent.
- </li>
- <li> <strong>PersistenceOptions.SET_ENTITY_AUTOMATICALLY</strong>: if set to "false" then only EClasses which have an
- Entity annotation will be mapped. Default is "true", this means that all EClasses are mapped to the persistent store.</li>
- <li><strong>PersistenceOptions.SQL_CASE_STRATEGY</strong>: controls if the table and column names are uppercased, lowercased or
- no specific casing is done. The value lowercase will force lower case for all table/column name, the value
- uppercase will force uppercase for all table/column names, none wil do not casing. It is also possible to set this
- option to the classname of a class implementing the org.eclipse.emf.teneo.util.SQLCaseStrategy interface.</li>
- <li> <strong>PersistenceOptions.UPDATE_SCHEMA</strong>: if set to "false" then the database schema is not updated
- when initializing a HbDataStore. This improves startup times. Default is "true".</li>
- <li><strong>PersistenceOptions.USE_MAPPING_FILE</strong>: if set to "true" then Teneo will not do an automatic mapping of the
- ecore model to Hibernate but instead search for a hibernate.hbm.xml in the classpath of the EMF generated java classes.</li>
- <li><strong>PersistenceOptions.VERSION_COLUMN_NAME</strong>: can be used to set the version column name which is used
- to store the version of an object in case of optimistic locking. Default the version column name is e_version, however not all
- databases support _ in the name.</li>
- </ul>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/overview.xml b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/overview.xml
deleted file mode 100644
index d97edefc6..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/overview.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-<document>
- <header>
- <title>Overview</title>
- </header>
- <body>
- <section id="overview">
- <title>Overview</title>
- <p>The EMF - Hibernate integration consists of two main parts:</p>
- <ol>
- <li><strong>Mapping</strong>: the mapping layer is responsible for the automatic mapping of an EMF model to an in-memory Hibernate mapping. The
- mapping logic can be influenced by EJB3-like annotations in the model.</li>
- <li><strong>Runtime</strong>: the runtime layer takes care of handling specific EMF features such as lazy loading of ELists,
- setting EFeatures from the database, instantiating EObjects using the EClass name, etc. </li>
- </ol>
- </section>
- <section id="mapping">
- <title>Teneo Mapping Overview</title>
- <p>The image below illustrates the basic process from a set of EPackages or an ecore file to the Teneo runtime. The starting point
- is the EMF model represented by one or more EPackages. These EPackages can contain EJB3-like annotations.</p>
- <p><figure src="images/Process2.jpg" alt="Teneo Mapping Process"/></p>
- <p>The application starts up and registers the EPackages in Teneo. The registered EPackages (and their EAnnotations)
- are translated to an in-memory
- annotated model. This annotated model initially only contains the annotations which have been specified manually as EAnnotations
- in the original model.
- </p>
- <p>In the next step Teneo automatically adds annotations to map the EMF model to an or representation. The manually entered EAnnotations
- are retained and not overwritten.
- </p>
- <p>The model is now fully annotated and translated into an in-memory hibernate.hbm.xml String. This Hibernate mapping is then used
- to configure a <a href="hbdatastore.html">HbDataStore</a>.</p>
- </section>
- <section>
- <title>Runtime Layer</title>
- <p>The main visible component of the runtime layer is the <a href="hbdatastore.html">HbDataStore</a>. The <a href="hbdatastore.html">HbDataStore</a>
- controls a SessionFactory and a set of EPackages which are persisted using the sessions of this session factory. When using a Hibernate session,
- behind the scenes Teneo takes care of instantiating EMF objects and setting/getting EFeatures from the database.
- Teneo also handles lazy loading of ELists.</p>
- <p><figure src="images/Runtime.jpg" alt="Teneo Runtime Layer"/></p>
- </section>
- <section id="ejb3">
- <title>EJB3 Annotations</title>
- <p>Teneo can automatically map the EMF model to an object relational representation. However there are situations in which it makes
- sense to influence or control the mapping. For this purpose Teneo supports EJB3-like annotations in the model. The annotations
- can be used to control the way the inheritance structure is mapped to the relational store or how efeatures are mapped to database
- columns. For a complete overview of the supported EJB3 annotations see <a href="ejb3_features.html">here</a>.</p>
- <p>The EJB3 support has been developed in such a way that it is only required to specify annotations for those parts of the model for
- which the automatic behavior does not result in the required behavior. For example it is possible to specify a column annotation for
- one efeature in a model while all other efeatures and eclasses are automatically handled by Teneo.</p>
- <p><em>EJB3 annotations are defined in EAnnotations in a specific format. See
- <a href="ejb3_format.html">here</a> for more information.</em></p>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/quick_tutorial.xml b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/quick_tutorial.xml
deleted file mode 100644
index 174f0dc2a..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/quick_tutorial.xml
+++ /dev/null
@@ -1,117 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 10:42:34 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Quick Start</title>
- </header>
- <body>
- <p>
- This quick start describes in a few short steps how to setup, initialize and use the runtime layer.
- It uses the well-known EMF Library example. It does not go as far as the Library Tutorial but gives a quick idea on how to get up-and running.
- </p>
- <p>The source code of this quick start can be downloaded here: <a href="samples/QuickStart.java">QuickStart.java</a>.</p>
- <p>
- It is assumed that you have done one of the EMF Library tutorials (see
- <a href="http://eclipse.org/emf/docs.php?doc=tutorials/xlibmod/xlibmod.html">here</a> or
- <a href="http://eclipse.org/emf/docs.php?doc=tutorials/clibmod/clibmod.html">here</a>)
- </p>
- <p>The quick start consists of the following steps:</p>
- <ol>
- <li>Set Library model plugin dependency:
- <ul>
- <li>Add the EMF persistency runtime plugin (org.eclipse.emf.teneo.hibernate) to the plugin dependencies of the Library (model) project.
- Note enable reexport depencency for the plugin (right-click on entered dependency to find this option)</li>
- <li>Add a jdbc driver to the model project.</li>
- <li>Add the hibernate libraries to the model project.</li>
- </ul>
- </li>
- <li>Create an empty database (with the name library) in your database server</li>
- <li>Create a new class in the org.eclipse.example.library package with a static main method</li>
- <li>Initialize the runtime layer and create a HbDataStore: add the following to the main method. <em>Replace the
- database connection information here with your own information.</em>:
- <source>
-// the name of the datastore
-String hbName = "MySF";
-
-// the name of the database, this database should exist but does not need to contain tables
-String dbName = "library";
-
-// Set the database information, Environment is org.hibernate.cfg.Environment
-final Properties props = new Properties();
-props.setProperty(Environment.DRIVER, "com.mysql.jdbc.Driver");
-props.setProperty(Environment.USER, "root");
-props.setProperty(Environment.URL, "jdbc:mysql://127.0.0.1:3306/" + dbName);
-props.setProperty(Environment.PASS, "root");
-props.setProperty(Environment.DIALECT, org.hibernate.dialect.MySQLInnoDBDialect.class.getName());
-
-// create the HbDataStore
-HbDataStore hbds = HbHelper.INSTANCE.createRegisterDataStore(hbName);
-
-// sets its epackages stored in this datastore
-hbds.setEPackages(new EPackage[]{LibraryPackage.eINSTANCE});
-
-// set the relational database to use and other properties
-// to set Teneo specific options call hbds.setPersistenceProperties
-hbds.setHibernateProperties(props);
-
-// initialize, also creates the database tables
-hbds.initialize();
- </source>
- </li>
- <li>Create a Hibernate session and a transaction:
- <source>
-// Create a session and a transaction
-Session session = hbds.getSession();
-Transaction tx = session.getTransaction();
- </source></li>
- <li>Begin a transaction, create a library and make it persistent
- <source>
-// start a transaction, create a library and make it persistent
-tx.begin();
-Library lib = LibraryFactory.eINSTANCE.createLibrary();
-lib.setName("My Library");
-session.save(lib);
- </source></li>
- <li>Create a writer and book, add to the library and commit
- <source>
-// create a writer
-Writer writer = LibraryFactory.eINSTANCE.createWriter();
-writer.setName("JRR Tolkien");
-
-// and one of his books
-Book book = LibraryFactory.eINSTANCE.createBook();
-book.setAuthor(writer);
-book.setPages(305);
-book.setTitle("The Hobbit");
-book.setCategory(BookCategory.SCIENCE_FICTION_LITERAL);
-
-// add the writer/book to the library. The writer and book are automatically
-// made persistent because they are added to the library which is already
-// made persistent
-lib.getWriters().add(writer);
-lib.getBooks().add(book);
-
-// at commit the objects will be present in the database
-tx.commit();
-// and close of
-session.close();
- </source></li>
- </ol>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/resource_utility.xml b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/resource_utility.xml
deleted file mode 100644
index 2ecdc9296..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/resource_utility.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.3 $ $Date: 2006/09/14 08:03:54 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Resource Utility: directly open an editor, import/export</title>
- </header>
- <body>
- <p>As part of the EMF Hibernate plugin install a separate utility is also installed.
- This utility can be used to directly open a relational Hibernate database in
- the generated EMF editor.
- </p>
- <p><em>This resource utility is in many
- ways very basic. It may or may not be usefull for you and will be extended in the future.</em></p>
- <section><title>The ehb file</title>
- <p>The resource utility operates on files with the extension <em>ehb</em>. This file
- contains registration and database connection information for a Session Factory.
- An example ehb file with a description of its content can be downloaded here:
- <a href="samples/library.ehb">library.ehb</a>.</p>
- <p><em></em></p>
- </section>
- <section><title>Open Resource</title>
- <p>When rightclicking on an ehb file the Teneo menu option is displayed. Within this
- menu the option <em>Open Resource</em> is shown. Choosing this option will open a
- EMF editor which reads its contents from the connection/session information in the
- ehb file.</p>
- <p>
- <img src="images/resourceutility.jpg" alt="Resource utility"/>
- </p>
- </section>
- <section><title>Export/Import to and from XMI or XML</title>
- <p>The XML/XMI export
- function can be used to make a backup of your current data and import this
- data again in an empty (new) database. The main drawback
- of the XML/XMI import is that it will add all the content to the database and will
- not check if the content already exists in the database. Note that the XMI
- export/import is more powerfull (than XML) because it supports export/import of multiple
- root objects.</p>
- </section>
- <section><title>Throubleshooting: empty editor when opening resource, can not add</title>
- <p>When you open an empty resource (relational database) by right clicking on the
- ehb file an editor is opened which does not allow you to add the first document. This
- is a restriction of the generated EMF editor. So you should always have at least one
- document in the resource. This document can be created by importing from a XML document
- or by using the standard EMF open model wizard.</p>
- </section>
- <section><title>Throubleshooting: editor does not start, AssertionFailedException</title>
- <p>See <a href="troubleshooting.html#Editor+does+not+start%2C+AssertionFailedException">here</a>
- in the troubleshooting page.</p>
- </section>
-
- <section><title>Future extensions</title>
- <ul>
- <li>Instead of a property file offer a more advanced ui</li>
- <li>Extend the export/import to support different modes such as
- overwrite existing documents, add to the relational store etc.</li>
- <li>Support for xsl transformations when exporting/importing</li>
- <li>Export subsets of the relational store using HQL queries or other
- filtering</li>
- </ul>
- <p>Please post a message on the <a href="mailinglist.html">newsgroup</a> if you
- have other ideas or requirements for resource utilities.</p>
- <p></p>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/samples/Dynamic.java b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/samples/Dynamic.java
deleted file mode 100644
index 905b1483f..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/samples/Dynamic.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/**
- * <copyright>
- *
- * Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Taal
- * </copyright>
- *
- * $Id: Dynamic.java,v 1.2 2006/09/13 10:42:35 mtaal Exp $
- */
-
-package hbtutorial;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EcoreFactory;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.example.library.Book;
-import org.eclipse.example.library.BookCategory;
-import org.eclipse.example.library.LibraryFactory;
-import org.eclipse.example.library.LibraryPackage;
-import org.eclipse.example.library.Writer;
-import org.eclipse.emf.teneo.hibernate.HbDataStore;
-import org.hibernate.Query;
-import org.hibernate.Session;
-import org.hibernate.SessionFactory;
-import org.hibernate.Transaction;
-
-/**
- * Dynamic Tutorial
- *
- * @author <a href="mailto:mtaal@elver.org">Martin Taal</a>
- * @version $Revision: 1.2 $
-*/
-public class Dynamic {
-
- /** The main method */
- public static void main(String[] args) {
-
- // first do the quick start with the correct dbname
- HbDataStore hbds = QuickStart.doQuickStart("DynamicLibrary");
-
- // print the hibernate.hbm.xml for demo purposes
- System.err.println(hbds.getMappingXML());
-
- final EcoreFactory efactory = EcoreFactory.eINSTANCE;
- final EcorePackage epackage = EcorePackage.eINSTANCE;
-
- // This tutorial will create a new type of book which inherits from the standard
- // Book
-
- // create the SchoolBook EClass
- EClass schoolBookEClass = efactory.createEClass();
- schoolBookEClass.setName("SchoolBook");
-
- // create a new attribute for this EClass
- EAttribute level = efactory.createEAttribute();
- level.setName("level");
- level.setEType(epackage.getEInt());
- schoolBookEClass.getEStructuralFeatures().add(level);
-
- // Set the supertype of SchoolBook to the Book
- schoolBookEClass.getESuperTypes().add(LibraryPackage.eINSTANCE.getBook());
-
- // create a course
- EClass courseEClass = efactory.createEClass();
- courseEClass.setName("Course");
-
- // give the Course a name
- EAttribute courseName = efactory.createEAttribute();
- courseName.setName("courseName");
- courseName.setEType(epackage.getEString());
- courseEClass.getEStructuralFeatures().add(courseName);
-
- // A course always uses one SchoolBook
- EReference courseBook = efactory.createEReference();
- courseBook.setName("courseBook");
- courseBook.setEType(schoolBookEClass);
- courseBook.setContainment(false);
- courseEClass.getEStructuralFeatures().add(courseBook);
-
- // Create a new EPackage and add the new EClasses
- EPackage schoolPackage = efactory.createEPackage();
- schoolPackage.setName("elv");
- schoolPackage.setNsPrefix("elv");
- schoolPackage.setNsURI("http:///www.elver.org/School");
- schoolPackage.getEClassifiers().add(courseEClass);
- schoolPackage.getEClassifiers().add(schoolBookEClass);
- EPackage.Registry.INSTANCE.put(schoolPackage.getNsURI(), schoolPackage);
-
- // Now reset the epackages in the datastore
- hbds.setEPackages(new EPackage[]{LibraryPackage.eINSTANCE, schoolPackage});
-
- // recreate the database
- hbds.initialize();
-
- // print the hibernate.hbm.xml for demo purposes
- System.err.println(hbds.getMappingXML());
-
- // Now create an author, is used below
- Writer writer = LibraryFactory.eINSTANCE.createWriter();
- writer.setName("Teacher");
-
- // now create a schoolBook
- // NOTE: because schoolBook inherits from Book, the create method will return a Book
- Book bk = (Book)schoolPackage.getEFactoryInstance().create(schoolBookEClass);
- bk.setAuthor(writer);
- bk.setTitle("Biografie van Multatuli");
- bk.setCategory(BookCategory.BIOGRAPHY_LITERAL);
- bk.setPages(500);
- bk.eSet(level, new Integer(1));
-
- // and create a course
- EObject course = schoolPackage.getEFactoryInstance().create(courseEClass);
- course.eSet(courseName, "Dutch Literature Level 1");
- course.eSet(courseBook, bk);
-
- final SessionFactory sessionFactory = hbds.getSessionFactory();
-
- // now persist them all
-
- Session session = sessionFactory.openSession();
- Transaction tx = session.getTransaction();
- tx.begin();
- session.save(writer);
- session.save(course);
- tx.commit();
-
- // Now query for the books, at least one of them should be a SchoolBook
- tx.begin();
- Query qry = session.createQuery("from Book");
- List list = qry.list();
- Book schoolBook = null;
- for (Iterator it = list.iterator(); it.hasNext();) {
- Book book = (Book)it.next();
- if (book.eClass() == schoolBookEClass) {
- if (schoolBook != null) {
- throw new Error("More than one schoolbook? Was the database not empty?");
- }
- schoolBook = book;
- }
- }
- if (schoolBook == null) {
- throw new Error("No schoolbook??");
- }
-
- // now query for all courses the right name
- qry = session.createQuery("from Course where courseName='Dutch Literature Level 1'");
- list = qry.list();
- EObject eobject = (EObject)list.get(0);
- if (eobject.eClass() != courseEClass) {
- throw new Error("No Course?");
- }
- // the schoolBook should be the book of the course
- Book courseBk = (Book)eobject.eGet(courseBook);
- if (courseBk != schoolBook) {
- throw new Error("No schoolbook?");
- }
- // and the dynamic feature level should be 1
- if (((Integer)courseBk.eGet(level)).intValue() != 1) {
- throw new Error("Incorrect level?");
- }
-
- tx.commit();
- session.close();
- }
-}
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/samples/QuickStart.java b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/samples/QuickStart.java
deleted file mode 100644
index c6a4c6b39..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/samples/QuickStart.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/**
- * <copyright>
- *
- * Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Taal
- * </copyright>
- *
- * $Id: QuickStart.java,v 1.2 2006/09/13 10:42:35 mtaal Exp $
- */
-
-package hbtutorial;
-
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.example.library.Book;
-import org.eclipse.example.library.BookCategory;
-import org.eclipse.example.library.Library;
-import org.eclipse.example.library.LibraryFactory;
-import org.eclipse.example.library.LibraryPackage;
-import org.eclipse.example.library.Writer;
-import org.eclipse.emf.teneo.hibernate.HbDataStore;
-import org.eclipse.emf.teneo.hibernate.HbHelper;
-import org.hibernate.Session;
-import org.hibernate.SessionFactory;
-import org.hibernate.Transaction;
-
-/**
- * Quick Start Tutorial
- *
- * @author <a href="mailto:mtaal@elver.org">Martin Taal</a>
- * @version $Revision: 1.2 $
-*/
-public class QuickStart {
-
- /** The main method */
- public static void main(String[] args) {
- // the name of the database, this database should exist but does not need to contain tables
- String dbName = "library";
- doQuickStart(dbName); //ignore return
- }
-
- /** Methodn which can be called by others */
- public static HbDataStore doQuickStart(String dbName) {
- // the name of the session factory
- String hbName = "MySF";
-
- // create the HbDataStore
- HbDataStore hbds = (HbDataStore)HbHelper.INSTANCE.createRegisterDataStore(hbName);
-
- // The hibernate properties can be set by having a hibernate.properties file in the root of the classpath.
- // Another approach is setting the properties in the HbDataStore. To do this comment out the following lines
- // For more information see section 3.1 of the Hibernate manual
- //final Properties props = new Properties();
- //props.setProperty(Environment.DRIVER, "com.mysql.jdbc.Driver");
- //props.setProperty(Environment.USER, "root");
- //props.setProperty(Environment.URL, "jdbc:mysql://127.0.0.1:3306/" + dbName);
- //props.setProperty(Environment.PASS, "root");
- //props.setProperty(Environment.DIALECT, org.hibernate.dialect.MySQLInnoDBDialect.class.getName());
- //hbds.setHibernateProperties(props);
-
- // sets its epackages stored in this datastore
- hbds.setEPackages(new EPackage[]{LibraryPackage.eINSTANCE});
-
- // initialize, also creates the database tables
- hbds.initialize();
-
- SessionFactory sessionFactory = hbds.getSessionFactory();
-
- // Create a session and a transaction
- Session session = sessionFactory.openSession();
- Transaction tx = session.getTransaction();
-
- // Start a transaction, create a library and make it persistent
- tx.begin();
- Library lib = LibraryFactory.eINSTANCE.createLibrary();
- lib.setName("My Library");
- session.save(lib);
-
- // create a writer
- Writer writer = LibraryFactory.eINSTANCE.createWriter();
- writer.setName("JRR Tolkien");
-
- // and one of his books
- Book book = LibraryFactory.eINSTANCE.createBook();
- book.setAuthor(writer);
- book.setPages(305);
- book.setTitle("The Hobbit");
- book.setCategory(BookCategory.SCIENCE_FICTION_LITERAL);
-
- // add the writer/book to the library. The writer and book are automatically
- // made persistent because they are added to the library which is already
- // made persistent
- lib.getWriters().add(writer);
- lib.getBooks().add(book);
-
- // at commit the objects will be present in the database
- tx.commit();
- // and close of, this should actually be done in a finally block
- session.close();
-
- return hbds;
- }
-} \ No newline at end of file
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/samples/Tutorial1.java b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/samples/Tutorial1.java
deleted file mode 100644
index 3730e520e..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/samples/Tutorial1.java
+++ /dev/null
@@ -1,244 +0,0 @@
-/**
- * <copyright>
- *
- * Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Taal
- * </copyright>
- *
- * $Id: Tutorial1.java,v 1.2 2006/09/13 10:42:35 mtaal Exp $
- */
-
-package hbtutorial;
-
-import java.io.IOException;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-import org.eclipse.example.library.Book;
-import org.eclipse.example.library.BookCategory;
-import org.eclipse.example.library.Library;
-import org.eclipse.example.library.LibraryFactory;
-import org.eclipse.example.library.LibraryPackage;
-import org.eclipse.example.library.Writer;
-import org.eclipse.emf.teneo.hibernate.HbDataStore;
-import org.eclipse.emf.teneo.hibernate.HbHelper;
-import org.eclipse.emf.teneo.hibernate.resource.HibernateResource;
-import org.hibernate.Query;
-import org.hibernate.Session;
-import org.hibernate.SessionFactory;
-
-/**
- * Quick Start Tutorial
- *
- * @author <a href="mailto:mtaal@elver.org">Martin Taal</a>
- * @version $Revision: 1.2 $
- */
-public class Tutorial1 {
-
- /** The main method */
- public static void main(String[] args) {
-
- // Create the DataStore.
- final String dataStoreName = "LibraryDataStore";
- final HbDataStore dataStore = (HbDataStore)HbHelper.INSTANCE.createRegisterDataStore(dataStoreName);
-
- // the name of the database, this database should exist but does not
- // need to contain tables
- // String dbName = "library";
-
- // To configure Hibernate, supply properties describing the JDBC driver,
- // URL, username/password and SQL dialect.
- // By default the properties are obtained from the file
- // "hibernate.properties" at the classpath root.
- //
- // Alternatively, you can set the properties programmatically:
- //
- // Properties hibernateProperties = new Properties();
- //
- // 1) From a ".properties" file or stream.
- // InputStream in = ...
- // hibernateProperties.load(in);
- //
- // 2) or populated manually:
- // hibernateProperties.setProperty(Environment.DRIVER,
- // "com.mysql.jdbc.Driver");
- // hibernateProperties.setProperty(Environment.USER, "root");
- // hibernateProperties.setProperty(Environment.URL,
- // "jdbc:mysql://127.0.0.1:3306/library" + dbName
- // hibernateProperties.setProperty(Environment.PASS, "root");
- // hibernateProperties.setProperty(Environment.DIALECT,
- // "org.hibernate.dialect.MySQLInnoDBDialect");
- //
- // dataStore.setHibernateProperties(props);
- //
- // For more information see <a
- // href="http://www.hibernate.org/hib_docs/v3/reference/en/html/session-configuration.html#configuration-programmatic">
- // section 3.1 of the Hibernate manual</a>.
-
- // Configure the EPackages used by this DataStore.
- dataStore.setEPackages(new EPackage[] { LibraryPackage.eINSTANCE });
-
- // Initialize the DataStore. This sets up the Hibernate mapping and, in
- // turn, creates the corresponding tables in the database.
- dataStore.initialize();
-
- final SessionFactory sessionFactory = dataStore.getSessionFactory();
- {
- // Open a new Session and start transaction.
- final Session session = sessionFactory.openSession();
- session.beginTransaction();
-
- // Create a library.
- Library library = LibraryFactory.eINSTANCE.createLibrary();
- library.setName("My Library");
- // Make it persistent.
- session.save(library);
-
- // Create a writer...
- Writer writer = LibraryFactory.eINSTANCE.createWriter();
- writer.setName("JRR Tolkien");
-
- // ...and one of his books.
- Book book = LibraryFactory.eINSTANCE.createBook();
- book.setAuthor(writer);
- book.setPages(305);
- book.setTitle("The Hobbit");
- book.setCategory(BookCategory.SCIENCE_FICTION_LITERAL);
-
- // Add the Writer and Book to the Library. They are made
- // persistent automatically because the Library is already
- // persistent.
- library.getWriters().add(writer);
- library.getBooks().add(book);
-
- // Commit the changes to the database.
- session.getTransaction().commit();
- // Close the session. Not necessary if
- session.close();
- }
-
- {
- final Session session = sessionFactory.openSession();
- session.beginTransaction();
-
- // Retrieve the Library and its child objects.
- // Note that you must use the EClass name in the HQL query.
- Query query = session.createQuery("FROM Library");
- List libraries = query.list();
- Library library = (Library) libraries.get(0);
-
- // Obtain the Writer and Book
- Writer writer = (Writer) library.getWriters().get(0);
- System.out.println(writer.getName());
- Book book = (Book) library.getBooks().get(0);
- System.out.println(book.getTitle());
-
- // Verify that the eContainer and references are set correctly.
- assert (book.eContainer() == library);
- assert (writer.getBooks().get(0) == book);
-
- // Add a new Writer and Book
- Writer georgeOrwell = LibraryFactory.eINSTANCE.createWriter();
- georgeOrwell.setName("G. Orwell");
-
- // Create a new Book and set the Writer and Library.
- Book georgesBook = LibraryFactory.eINSTANCE.createBook();
- georgesBook.setPages(250);
- georgesBook.setTitle("1984");
- georgesBook.setCategory(BookCategory.SCIENCE_FICTION_LITERAL);
- georgesBook.setAuthor(georgeOrwell);
-
- library.getBooks().add(georgesBook);
- library.getWriters().add(georgeOrwell);
-
- // Commit.
- session.getTransaction().commit();
- session.close();
- }
-
- {
- final Session session = sessionFactory.openSession();
- session.beginTransaction();
-
- // Retrieve all Books and display their titles.
- Query query = session.createQuery("FROM Book");
- List books = query.list();
- for (Iterator it = books.iterator(); it.hasNext();) {
- Book book = (Book) it.next();
- System.out.println(book.getTitle());
- }
-
- // Retrieve George Orwell's book.
- query = session.createQuery("SELECT book FROM Book book, Writer writ WHERE "
- + " book.title='1984' AND book.author=writ AND writ.name='G. Orwell'");
- books = query.list();
-
- // Show some results
- System.out.println("There are " + books.size() + " in the Library."); // should be 1
- System.out.println(books.get(0).getClass().getName());
- Book book = (Book) books.get(0);
- System.out.println(book.getTitle()); // should be 1984
- System.out.println(book.getAuthor().getName()); // should be G. Orwell
-
- // Count the number of books in the library
- query = session.createQuery("SELECT count(allbooks) FROM Library lib LEFT JOIN lib.books AS allbooks "
- + " WHERE lib.name='My Library'");
- int count = ((Number) query.uniqueResult()).intValue();
- // there should be 2 books
- System.out.println("There are " + count + " books in the library");
- session.getTransaction().commit();
- }
-
- try {
- String uriStr = "hibernate://?" + HibernateResource.DS_NAME_PARAM + "=" + dataStoreName;
- final URI uri = URI.createURI(uriStr);
- ResourceSet resourceSet = new ResourceSetImpl();
- final Resource res = resourceSet.createResource(uri);
-
- res.load(Collections.EMPTY_MAP);
- Iterator it = res.getContents().iterator();
- Library libTest;
- while (it.hasNext()) {
- libTest = (Library) it.next();
- System.out.println(libTest.getName());
- }
-
- Library libNew = LibraryFactory.eINSTANCE.createLibrary();
- libNew.setName("My Second Library");
-
- // create a writer
- Writer writerNew = LibraryFactory.eINSTANCE.createWriter();
- writerNew.setName("I. Asimov");
-
- // and one of his books
- Book bookNew = LibraryFactory.eINSTANCE.createBook();
- bookNew.setAuthor(writerNew);
- bookNew.setPages(305);
- bookNew.setTitle("Foundation and Empire");
- bookNew.setCategory(BookCategory.SCIENCE_FICTION_LITERAL);
-
- // add the writer/book to the library.
- libNew.getWriters().add(writerNew);
- libNew.getBooks().add(bookNew);
-
- // now add the top-level object to the resource
- res.getContents().add(libNew);
-
- res.save(null);
- } catch (IOException e) {
- throw new Error("IOException", e);
- }
- }
-}
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/samples/library.ehb b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/samples/library.ehb
deleted file mode 100644
index d0b9758d9..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/samples/library.ehb
+++ /dev/null
@@ -1,53 +0,0 @@
-#
-# Copyright 2005-2006, Elver.org (http://www.elver.org).
-#
-# Licensed 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.
-# ----------------------------------------------------------------------
-#
-
-# Contains an example of the contents of an ehb file.
-
-# name: the name under which this information is used to register a EMFDataStore/Session Factory. Must be
-# unique. IMPORTANT: this should be the same name as used in the calls to HibernateHelper
-# in the initialization code in the EditorPlugin class.
-# In the Library examples the used name is: library.
-# nsuri: a comma delimited list of namespace uris (incl. http://) of epackages that are stored in
-# this EMFDataStore/Session Factory.
-# query1, query2, ...: can be used to filter the content of the resource at the load action
-# editorid: the id of the editor to use when opening this resource. This id can be found
-# in the MANIFEST.MF > extensions tab > org.eclipse.ui.editors extension >
-# Extension Element Details > id field.
-# Either the editorid or the editorextension can be specified
-# editorextension: the id of the editor to use when opening this resource. This id can be found
-# in the MANIFEST.MF > extensions tab > org.eclipse.ui.editors extension >
-# Extension Element Details > extensions field. In the Library EMF tutorial this extension
-# is: library.
-# Either the editorid or the editorextension can be specified
-# dbname: the database name
-# dburl: the database url with the database name.
-# dbdialect: the database dialect (see hibernate documentation at: http://www.hibernate.org/hib_docs/v3/reference/en/html/session-configuration.html#configuration-optional-dialects)
-# dbuser: the database user
-# dbpassword: the password of the database user
-# dbdriver: the class name of the database driver
-
-name=library
-#query1=FROM Writer
-#query2=FROM Book
-nsuri=http://www.example.eclipse.org/Library
-editorextension=library
-dbname=mylibrary
-dburl=jdbc:mysql://127.0.0.1:3306/mylibrary
-dbdialect=org.hibernate.dialect.MySQLInnoDBDialect
-dbuser=root
-dbpassword=root
-dbdriver=com.mysql.jdbc.Driver \ No newline at end of file
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/samples/library_export.xml b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/samples/library_export.xml
deleted file mode 100644
index ea446ba98..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/samples/library_export.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<library:Library xmlns:library="http://www.example.eclipse.org/Library" name="My Library">
- <writers name="G. Orwell" books="/0/@books.0"/>
- <writers name="JRR Tolkien" books="/0/@books.1 /0/@books.2"/>
- <books title="1985" pages="350" category="ScienceFiction" author="/0/@writers.0"/>
- <books title="Fellowship of the Rings" pages="356" category="ScienceFiction" author="/0/@writers.1"/>
- <books title="The Hobbit" pages="352" category="ScienceFiction" author="/0/@writers.1"/>
-</library:Library>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/samples/log4j.properties b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/samples/log4j.properties
deleted file mode 100644
index b94b12c30..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/samples/log4j.properties
+++ /dev/null
@@ -1,41 +0,0 @@
-# Set root logger level to DEBUG and its only appender to A1.
-log4j.rootCategory=DEBUG, A1
-
-# A1 is set to be a ConsoleAppender.
-log4j.appender.A1=org.apache.log4j.ConsoleAppender
-
-# A1 uses PatternLayout.
-log4j.appender.A1.layout=org.apache.log4j.PatternLayout
-log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
-
-#log4j.logger.org.hibernate=info
-log4j.logger.org.hibernate=debug
-
-### log HQL query parser activity
-#log4j.logger.org.hibernate.hql.ast.AST=debug
-
-### log just the SQL
-log4j.logger.org.hibernate.SQL=debug
-
-### log JDBC bind parameters ###
-log4j.logger.org.hibernate.type=debug
-#log4j.logger.org.hibernate.type=debug
-
-### log schema export/update ###
-log4j.logger.org.hibernate.tool.hbm2ddl=debug
-
-### log HQL parse trees
-log4j.logger.org.hibernate.hql=debug
-
-### log cache activity ###
-log4j.logger.org.hibernate.cache=debug
-
-### log transaction activity
-log4j.logger.org.hibernate.transaction=debug
-
-### log JDBC resource acquisition
-log4j.logger.org.hibernate.jdbc=debug
-
-### enable the following line if you want to track down connection ###
-### leakages when using DriverManagerConnectionProvider ###
-#log4j.logger.org.hibernate.connection.DriverManagerConnectionProvider=trace
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/schema_list.xml b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/schema_list.xml
deleted file mode 100644
index 2051ef10c..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/schema_list.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 16:05:49 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>List of test XML Schemas</title>
- </header>
- <body>
- <p>The integration layer is tested with a number of different test cases. Some
- of these test cases are based on EMF classes generated from XML Schemas and ecore files.
- A subset of the used XML Schemas is provided below so they can be used to test the
- integration layer. For more details please get the test project from subversion (see
- <a href="testcases.html">here</a>).</p>
- <p></p>
- <ul>
- <li><a href="../examples/library.xsd">Library.xsd</a>: the library example</li>
- <li><a href="../examples/Catalog.xsd">Catalog.xsd</a>: a simple product catalog</li>
- <li><a href="../examples/PrimerPO.xsd">PrimerPO.xsd</a>: the primer example used by XML Schema and others</li>
- <li><a href="../examples/forum.xsd">Forum.xsd</a>: a simple forum</li>
- <li><a href="../examples/sun_books.xsd">sun_books.xsd</a>: example as provided by Sun for Jaxb (see <a href="http://java.sun.com/developer/technicalArticles/WebServices/jaxb/">here</a>)</li>
- <li><a href="../examples/play.xsd">play.xsd</a>: example on how to model theatre plays, (copied from <a href="http://www.devx.com/Java/Article/10904/0/page/1">here</a>), the test case uses
- the following data file: <a href="../examples/play.xml">play.xml</a></li>
- </ul>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/status.xml b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/status.xml
deleted file mode 100644
index bdd6a953a..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/status.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Status</title>
- </header>
- <body>
- <section id="version">
- <title>Version</title>
- <p>The current version is 0.7.5. The integration should be tested further
- to increase its stability and assure that it is applicable to many different environments. Currently this release supports
- the features listed <a href="features.html">here</a>, these features pass the related testcases.</p>
- </section>
- <section id="Todo">
- <title>Todo</title>
- <p>The following topics will be implemented in the future:</p>
- <ol>
- <li>Extend EJB3 annotation support</li>
- <li>User defined collections/types (which extend the current EMF collections)</li>
- <li>Support notifications in emf-hibernate resources</li>
- <li>Extend XML Schema support to xsd:any, etc.</li>
- <li>One session/transaction covering multiple resources</li>
- <li>Automatic validation of persisted EMF objects at commit</li>
- <li>More tests...</li>
- </ol>
- </section>
- <section>
- <title>Next Steps</title>
- <p>Integrating EMF with other tools such as:</p>
- <ul>
- <li>Other OR layers such as <a href="http://www.versant.com/">Versant</a></li>
- <li>XML databases (such as <a href="http://exist.sourceforge.net/">Exist</a>)</li>
- <li>Frameworks such as the <a href="http://www.jcp.org/en/jsr/detail?id=170">Java Content Repository</a></li>
- </ul>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/svn.xml b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/svn.xml
deleted file mode 100644
index 950076ad1..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/svn.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.3 $ $Date: 2006/09/13 16:05:49 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>CVS</title>
- </header>
- <body>
- <p>The source code of the EMF - Hibernate integration is stored in Eclipse.org cvs here:</p>
- <ul>
- <li>host: dev.eclipse.org</li>
- <li>repository: /cvsroot/technology</li>
- <li>module: org.eclipse.emft/teneo</li>
- </ul>
- <p>
- <strong>The source code in cvs is updated on a daily basis and contains experimental
- new features which can (temporarily) break already existing functionality and tests.
- There is no guarantee that the code in cvs will work in anyway.</strong></p>
- <section id="projects">
- <title>Projects in CVS</title>
- <p>The cvs repository has the following structure and projects:</p>
- <ul>
- <li>doc: contains this website</li>
- <li>examples: contains the samples and tutorial projects. Samples has all the model projects which are used as the basis for the test cases. The tutorial project contains the tutorials used on this website.</li>
- <li>plugins: this is the main folder. The following hibernate related projects are present here:
- <ul><li>org.eclipse.emf.teneo: generic part of the runtime layer</li>
- <li>org.eclipse.emf.teneo.annotations: the jpa annotations</li>
- <li>org.eclipse.emf.teneo.eclipse: the generic part of the ui additions to eclipse for the Teneo right-click menus</li>
- <li>org.eclipse.emf.teneo.hibernate: the main hibernate project containing the mapping logic, hibernate annotations and runtime layer</li>
- <li>org.eclipse.emf.teneo.hibernate.eclipse: hibernate specific part of the ui additions to eclipse</li>
- <li>org.eclipse.emf.teneo.libraries: common libraries (for example log4j).</li>
- </ul>
- </li>
- <li>tests: contains the test cases:
- <ul>
- <li>org.eclipse.emf.teneo.commontest: this project contains the test case part which is common for Hibernate and JPOX</li>
- <li>org.eclipse.emf.teneo.hibernate.libraries: hibernate libraries, not distributed as part of the build, used during testing</li>
- <li>org.eclipse.emf.teneo.hibernate.test: hibernate test cases (junit)</li>
- </ul>
- </li>
- </ul>
- <p>In addition there are several feature projects and build related projects.</p>
- <p><strong>Several of the above projects use third party libraries during the build process. The
- plugin projects have dependencies defined on these libraries. However because of licensing these
- libraries are not publically accessible in Eclipse cvs. The third party libraries have to be
- downloaded separately.</strong></p>
- <p>We use the standard Eclipse code format with the line length set to 120, the formatter profile
- can be downloaded <a href="../download/elver-code-profile.xml">here</a>.</p>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/testcases.xml b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/testcases.xml
deleted file mode 100644
index 1bcf6d1f2..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/testcases.xml
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2005-2006, Elver.org (http://www.elver.org).
-
- Licensed 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.
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 16:05:49 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>EMF - Hibernate Testcases</title>
- </header>
- <body>
- <p>The EMF - Hibernate integration is being tested using a number (currently > 70) of testcases.
- Some testcases cover specific features such as one-to-many relations.
- Other testcases cover specific error conditions. In addition a number of
- EMF tutorials and examples have been added as testcases.
- </p>
- <p><em>The EMF - Hibernate integration is currently tested using a subset of the complete testset. As new features are
- added to the integration more test cases will be enabled. </em></p>
- <p>Test cases are run using the following environment: Eclipse 3.2/EMF 2.2, jdk 1.4.2, Hibernate 3.1.3.
- Mysql 4.1.14 and SQL Server 2000 and 2005.</p>
- <section id="download">
- <title>Download test case project</title>
- <p>To run the test cases you need to download a number of related Eclipse projects. See the <a href="svn.html">Subversion</a>
- page for download information.</p>
- </section>
- <section id="configuration">
- <title>Configuration</title>
- <p>
- Before running the testcases you have to specify the database connection information in the dbadapters.properties
- file in the org.eclipse.emf.teneo.hibernate.test project in the src folder. The properties are explained in the dbadapters.properties file.
- The test.properties file in the same folder determines which configuration is tested (for example which database and
- which inheritance mapping strategy).
- </p>
- <p>
- Note that the database driver specified in the dbadapters.properties file should be added to the project's
- class path (in project properties).
- </p>
- </section>
- <section id="structure">
- <title>Run the testcases</title>
- <p>The org.eclipse.emf.teneo.hibernate.test.AllTests class runs all testcases. More specific testruns are
- available in subpackages of org.eclipse.emf.teneo.hibernate.test.</p>
- <p>After you have done a test run, the system will store the generated hibernate.hbm.xml (for debug purposes) in the run directory of the
- org.eclipse.emf.teneo.hibernate.test project.</p>
- </section>
-</body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/troubleshooting.xml b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/troubleshooting.xml
deleted file mode 100644
index c4a78633a..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/troubleshooting.xml
+++ /dev/null
@@ -1,195 +0,0 @@
-<?xml version="1.0"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-<document>
- <header>
- <title>Troubleshooting</title>
- </header>
- <body>
- <br/>
- <p><em>For troubleshooting please also visit <strong>the EMFT open issues list <a href="https://bugs.eclipse.org/bugs/buglist.cgi?product=EMFT&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;query_format=advanced&amp;order=map_components.name">here</a>.</strong></em></p>
- <section id="runtime">
- <title>Troubleshooting the Mapping and Runtime layer/Hibernate</title>
- <p>The runtime layer uses commons-logging for logging. <a href="samples/log4j.properties">Here</a>
- you can find an example log4j.properties file. This file should be placed directly in
- the src directory of your EMF Model project.</p>
- <p>The example <a href="samples/log4j.properties">log4j.properties</a> also contains log4j settings
- for Hibernate.</p>
- <p>If you use the runtime layer within a plugin then log messages will not appear in the console. In this
- case check the error log view (<em>Window > Show View > Error Log</em>) or let the log messages be
- written to a file.
- </p>
- </section>
- <section id="ormapper">
- <title>Troubleshooting the automatic in-memory mapping</title>
- <p>The mapping is generated in memory. To view the mapping created by Teneo please call the method
- getMappingXML on the HbDataStore. The returned String contains the Hibernate mapping.</p>
- </section>
- <section id="manualormapper">
- <title>Troubleshooting the OR Mapper Menu Option</title>
- <p>If an error popup is shown or no popup box appears after the OR Mapper plugin is finished then an application
- error has occured within the OR Mapper.</p>
- <p>The OR Mapper menu option only works if the ecore file is located in the same Java Project as the generated
- EPackage sources.</p>
- <p>When the console shows this exception: <em>Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/emf/teneo/hibernate/mapper/GenerateHBM</em>
- then you have not added the org.eclipse.emf.teneo.hibernate plugin to the dependencies of the model plugin.</p>
- <p>
- To analyze what the problem is first view the error log. The error log
- can be opened through: <em>Window > Show View > Error Log</em>. By doubleclicking on the lines in
- the error log you can get more information.</p>
- <p>More information is present in the log file generated by the Teneo plugins. The log
- file can be found in the .metadata/.plugins/org.eclipse.emf.teneo.jpox.eclipse or .metadata/.plugins/org.eclipse.emf.teneo.eclipse subdirectory in the Eclipse workspace directory (note
- the dots before metadata and plugins).</p>
- <p>More information is present in the log file generated by the Teneo plugins. The log
- file can be found in the .metadata/.plugins/org.eclipse.emf.teneo.hibernate.eclipse or .metadata/.plugins/org.eclipse.emf.teneo.eclipse subdirectory in the Eclipse workspace directory (note
- the dots before metadata and plugins).</p>
- <p>When mailing a question regarding these type of errors please also post the logfile.
- Logfiles are automatically copied to a backup if 250kb has been reached, only one backup file is maintained.</p>
- </section>
- <section id="resourceplanning">
- <title>Troubleshooting the Resource Utilities</title>
- <p>If an error popup is shown then an application
- error has occured within the resource utility.</p>
- <p>
- To analyze what the problem is first view the error log. The error log
- can be opened through: <em>Window > Show View > Error Log</em>. By doubleclicking on the lines in
- the error log you can get more information.
- </p>
- <p>More information is present in the log file generated by the Teneo plugins. The log
- file can be found in the .metadata/.plugins/org.eclipse.emf.teneo.hibernate.eclipse or .metadata/.plugins/org.eclipse.emf.teneo.eclipse subdirectory in the Eclipse workspace directory (note
- the dots before metadata and plugins).</p>
- <p>When mailing a question regarding these type of errors please also post the logfile.
- Logfiles are automatically copied to a backup if 250kb has been reached, only one backup file is maintained.</p>
- </section>
- <section><title>More debug information from Eclipse</title>
- <p><em>As an extra debug enabling you can add the following line in the EMF editor plugin:</em></p>
- <source>
-org.eclipse.osgi.framework.debug.Debug.DEBUG_GENERAL = true;
- </source>
- <p>This will result in much more debugging information in the console.</p>
- </section>
- <section><title>Cut and Paste does not work in the Editor</title>
- <p>Please look <a href="hibernate_details.html#cutpaste">here</a></p>
- </section>
- <section><title>Column name e_version not supported by database</title>
- <p>Teneo will automatically add a version column to the database for each object. The default version column name
- is e_version. However not all databases support an _ in the column name. To set the version column name you can set
- an option as explained <a href="options.html">here</a>.</p>
- </section>
- <section><title>Column names too long</title>
- <p>Teneo creates foreign key column names by concatenating the name of the (e)class and the property name. The result can be
- a column name which is too long for certain databases. You can control the maximum column name length by setting the
- relevant runtime option, see <a href="options.html">here</a>.</p>
- </section>
- <section><title>org.hibernate.DuplicateMappingException: Duplicate class/entitymapping</title>
- <p>This exception occurs when two EClasses (of different EPackages) have the same name. To solve this you need to
- direct Teneo to use qualified EClass names, see <a href="options.html">here</a>. Note that when using qualified
- EClass names that also HQL needs to use the qualified EClass names. The EClass names are qualified by prepending
- the nsprefix of the EPackage with a dot (.) as a separator.</p>
- </section>
- <section><title>Created new model through new model wizard: diagnostic error</title>
- <p>The generated EMF model wizard allows invalid documents. When going through the
- wizard you need to select a type to create as the first document in the resource. The
- EMF model wizard creates an empty (all members are null) instance of this type and adds
- it to the Hibernate resource. Before the Hibernate resource is
- saved it checks if the content of the resource is valid. When nullable-constraints
- are violated a StoreValidationException (with Diagnostics) is thrown.</p>
- <p>To solve this you should make your model more relaxed (make elements nullable) or
- add a small amount of code, which sets the non-nullable fields, to the model wizard. An example of this last solution
- is illustrated in the Library Tutorial.
- </p>
- </section>
- <section>
- <title>java.lang.NoClassDefFoundError when starting/initializing runtime layer</title>
- <p>When your model is divided over different projects/plugins then the dependency on
- org.eclipse.emf.teneo.hibernate has to be set in the project with the 'widest' classpath (the project with a classpath containing the other plugins).
- For example if you have the following two emf projects:</p>
- <ul><li>Core</li><li>Specific (which uses/imports Core)</li></ul>
- <p>Then the dependency should preferably be in the META-INF of the 'Specific' project. This is required
- otherwise Hibernate will not see the 'Specific' project.</p>
- </section>
- <section><title>No class def found: org.hibernate.proxy.ProxyFactory</title>
- <p>This exception can occur when your classes have been enhanced by JPOX and you
- try to persist them via hibernate. Another reason can be that the name you used
- to register the SessionFactory does not correspond to the expected extension
- (e.g. library).
- </p>
- </section>
- <section><title>Could not determine type for: org.eclipse.emf.common.util.AbstractEnumerator, for columns: [org.hibernate.mapping.Column(enu)]</title>
- <p>This exception can occur when you have a enumerate object type in your model. An enumerate object type differs from a
- standard enumerate because it has a nillable="true" attribute on the element, for example:</p>
- <source><![CDATA[
-<element name="enu" type="this:SimpleEnum" nillable="true"/>
-
-<simpleType name="SimpleEnum">
- <restriction base="xsd:NCName">
- <enumeration value="Enum1"/>
- <enumeration value="Enum2"/>
- </restriction>
-</simpleType>
- ]]></source>
- <p>As a workaround add an Enumerated annotation (see ejb3 annotations on this site) to the element.</p>
- </section>
- <section>
- <title>The resource is empty in the generated editor</title>
- <p>See the <a href="knownissues.html">Known Issues</a>.</p>
- </section>
- <section><title>Update manager does not find the upgrade of the EMF Hibernate plugin</title>
- <p>As a workaround use find new features to install a new version of the EMF Hibernate plugin.</p>
- </section>
- <section><title>Editor does not start, the error log gives a sql error 'Missing column....'</title>
- <p>This can occur if your model has changed or you just upgraded the OR Mapper plugin and have generated a new
- hibernate.hbm.xml file. Before upgrading it is best
- to export the current database using the <a href="resource_utility.xml">Resource Utility</a>. After exporting start
- with a new database.</p>
- </section>
- <section><title>Editor does not start, ClassNotFoundException on the Editor Plugin</title>
- <p>This can happen when the Hibernate libraries can not find the model classes. You can check if
- you have set the BuddyPolicy in the Manifest.MF of the plugin containing the Hibernate jar files.
- If not add the following to the Manifest.MF of the plugin containing the Hibernate jar files:
- Eclipse-BuddyPolicy: dependent</p>
- </section>
- <section><title>Editor does not start, AssertionFailedException</title>
- <p>When you start the editor you get the following exteption (stacktrace truncated):</p>
- <source>
-org.eclipse.core.runtime.AssertionFailedException: assertion failed:
-at org.eclipse.core.runtime.Assert.isTrue(Assert.java:109)
-at org.eclipse.core.runtime.Assert.isTrue(Assert.java:95)
-at org.eclipse.ui.part.MultiPageEditorPart.setActivePage(MultiPageEditorPart.java:688)
-at org.eclipse.ui.part.MultiPageEditorPart.createPartControl(MultiPageEditorPart.java:280)
- </source>
- <p>You probably started the editor with an empty database, the editor does not support this.
- You should have at least one root object in the database (for example a Library object in
- the Library tutorial).</p>
- </section>
- <section>
- <title>Validation exception on enumerate properties when saving the editor content</title>
- <p>Symptom: a validation error is thrown (see the console) that certain enumerate fields have not been
- set.</p>
- <p>Cause: the EMF validator incorrectly enforces that the value of an enumerate field
- should not be the same as the default value.</p>
- <p>Solution: is an EMF issue which has been solved
- (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104723">see here</a>). Upgrading EMF to a 2.2 or a
- later 2.1 release solves this.</p>
- </section>
- <section><title>Stacktraces when starting Eclipse with already open EMF editor</title>
- <p>Symptom: This occurs when keeping an EMF generated editor open when closing eclipse and
- then starting eclipse again. When starting Eclipse again you see many stack traces in the console
- with messages like: class not found exception: org/hibernate/proxy/proxy.</p>
- <p>Consequence: The editor will open correctly and can be used. The only 'consequence' is that the
- data is not lazily loaded.</p>
- <p>Solution: A solution has been implemented in release 0.2.0.1.</p>
- </section>
- <section><title>Teneo does not see my changes in the ecore model</title>
- <p>Teneo uses the runtime version of the ecore model. The runtime version is present as java code in the
- generated EPackage implementation class. This runtime ecore can differ from the ecore file when the
- model code is not regenerated after a change in the ecore file. To let Teneo use the changes in the ecore
- file the model code needs to be regenerated.</p>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/hsqldb/hibernate.properties b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/hsqldb/hibernate.properties
deleted file mode 100644
index 4e996c6f6..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/hsqldb/hibernate.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-# Example properties for an HSQLDB database server.
-hibernate.connection.driver_class=org.hsqldb.jdbcDriver
-hibernate.connection.url=jdbc:hsqldb:hsql://127.0.0.1/library
-hibernate.connection.username=sa
-hibernate.connection.password=
-hibernate.dialect=org.hibernate.dialect.HSQLDialect
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/images/add_jpox.gif b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/images/add_jpox.gif
deleted file mode 100644
index 7fc150407..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/images/add_jpox.gif
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/images/generate_hbm.jpg b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/images/generate_hbm.jpg
deleted file mode 100644
index 12c9d7f1e..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/images/generate_hbm.jpg
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/images/generate_jdo.gif b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/images/generate_jdo.gif
deleted file mode 100644
index cf256430a..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/images/generate_jdo.gif
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/images/jar_plugin.gif b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/images/jar_plugin.gif
deleted file mode 100644
index 684cc1cd0..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/images/jar_plugin.gif
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/images/plugindependency.gif b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/images/plugindependency.gif
deleted file mode 100644
index 017431260..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/images/plugindependency.gif
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/images/start.gif b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/images/start.gif
deleted file mode 100644
index 819a91b7a..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/images/start.gif
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/license.xml b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/license.xml
deleted file mode 100644
index 5c6ccccf6..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/license.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- Licence page.
-
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 10:42:35 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>License</title>
- </header>
- <body>
- <p>Teneo is licensed under the <a href="http://www.eclipse.org/org/documents/epl-v10.php">Eclipse Public License</a>.
- In all documents and software the following copyright and license statement is present.
- </p>
- <source>
-Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
-All rights reserved. This program and the accompanying materials
-are made available under the terms of the Eclipse Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/epl-v10.html
- </source>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/tutorial1_1.xml b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/tutorial1_1.xml
deleted file mode 100644
index 2a527372f..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/tutorial1_1.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 10:42:35 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Step 1: Environment Setup</title>
- <abstract>The first step in the tutorial is to setup the environment</abstract>
- </header>
- <body>
- <section>
- <title>Add runtime plugin to dependencies of plugin.xml</title>
- <p>To enable the runtime layer the org.eclipse.emf.teneo.hibernate plugin needs to be added to the
- plugin dependencies of the plugin.xml (see image below). <em>The org.eclipse.emf.teneo.hibernate plugin
- should be re-exported.</em></p>
- <p>Your database JDBC driver should be added to classpath of the plugin and possible the packages
- of the jdbc driver have to be made visible to other plugins.</p>
- <p>Add the hibernate libraries to the model project and make the packages visible.</p>
- <p>
- <img src="../images/plugin_dependency.gif" alt="Setting dependency of plugin.xml"/>
- </p>
- </section>
- <section>
- <title>Create Empty Database</title>
- <p>The runtime layer will automatically create tables and foreign constraints. However it will not
- automatically create a database. For this tutorial you need to manually create an empty
- database in your database server, the database should have the name: <em>library</em>.</p>
- </section>
- <section>
- <title>Add Logging</title>
- <p>To view the log messages of Hibernate and Teneo you have to set the log4j properties. A
- simple sample log4j.properties file can be downloaded <a href="../samples/log4j.properties">here</a>.
- The log4j.properties file has to be placed directly in the src folder of the library model project.</p>
- <p></p>
- <p>Please click <a href="tutorial1_2.html">here</a> to go to the next step to create a library object and store it.</p>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/tutorial1_2.xml b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/tutorial1_2.xml
deleted file mode 100644
index d778b0835..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/tutorial1_2.xml
+++ /dev/null
@@ -1,123 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 10:42:35 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Step 2: Create and store EMF Objects</title>
- </header>
- <body>
- <p>
- The complete code for this tutorial can be found here: <a href="../samples/Tutorial1.java">Tutorial1.java</a>.
- </p>
- <section>
- <title>Hibernate database configuration</title>
- <p>To let Hibernate access your database, you must specify the JDBC driver, database URL, username/password and the
- database-specific dialect to use. These settings are specified using the standard Properties mechanism.</p>
- <p>Teneo allows you to configure Hibernate in two ways: </p>
- <ul>
- <li>Automatically: by placing the properties in the file "hibernate.properties" in a root directory of the classpath. We
- use this method in this tutorial.</li>
- <li>Programmatically: by creating a Properties instance and using HbDataStore.setHibernateProperties().</li>
- </ul>
- <p>A sample hibernate.properties file is shown below:</p>
-<source>hibernate.connection.driver_class=org.hsqldb.jdbcDriver
-hibernate.connection.url=jdbc:hsqldb:hsql://127.0.0.1/library
-hibernate.connection.username=sa
-hibernate.connection.password= hibernate.dialect=org.hibernate.dialect.HSQLDialect
-</source>
- <p> Example hibernate.properties: </p>
- <ul>
- <li>
- <a href="mysql/hibernate.properties">hibernate.properties</a> for
- <a href="http://www.mysql.com/">MySQL</a></li>
- <li>
- <a href="hsqldb/hibernate.properties">hibernate.properties</a> for
- <a href="http://www.hsqldb.org/">HSQLDB</a></li>
- </ul>
- <p>Note that Hibernate has many more configuration properties. For more information see the
- <a href="http://www.hibernate.org/hib_docs/v3/reference/en/html/session-configuration.html">Hibernate
- reference documentation</a>.</p>
- </section>
-
- <section>
- <title>Initialize runtime layer</title>
- <p>Create and initialize the runtime Hibernate EMF layer as follows:</p>
- <source>
-// Create the DataStore.
-final String dataStoreName = "LibraryDataStore";
-final HbDataStore dataStore = HbHelper.INSTANCE.createRegisterDataStore(dataStoreName);
-
-// Configure the EPackages used by this DataStore.
-dataStore.setEPackages(new EPackage[] { LibraryPackage.eINSTANCE });
-
-// Initialize the DataStore. This sets up the Hibernate mapping and
-// creates the corresponding tables in the database.
-dataStore.initialize();</source>
- </section>
-
- <section>
- <title>Obtain a SessionFactory and start a Transaction.</title>
- <p>The SessionFactory, Session and Transaction are the familiar Hibernate entry points:</p>
- <source>
-final SessionFactory sessionFactory = dataStore.getSessionFactory();
-
-// Open a new Session and start Transaction.
-Session session = sessionFactory.openSession();
-session.beginTransaction();</source>
-</section>
- <section>
- <title>Create and populate Library</title>
- <source>
-// Create a Library.
-Library library = LibraryFactory.eINSTANCE.createLibrary();
-library.setName("My Library");
-// Make it persistent.
-session.save(library);
-
-// Create a writer...
-Writer writer = LibraryFactory.eINSTANCE.createWriter();
-writer.setName("JRR Tolkien");
-
-// ...and one of his books.
-Book book = LibraryFactory.eINSTANCE.createBook();
-book.setAuthor(writer);
-book.setPages(305);
-book.setTitle("The Hobbit");
-book.setCategory(BookCategory.SCIENCE_FICTION_LITERAL);
-
-// Add the Writer and Book to the Library. They are made
-// persistent automatically because the Library is itself
-// already persistent.
-library.getWriters().add(writer);
-library.getBooks().add(book);</source>
- </section>
-
- <section>
- <title>Commit Transaction and close Session</title>
- <p>The Library is not stored in the database until you commit the Transaction:</p>
- <source>session.getTransaction().commit();
-session.close();</source>
- </section>
-
- <section>
- <title>Next Step</title>
- <p>In the next step of this tutorial we retrieve the Library from the database and add a new Book and Writer.</p>
- <p><a href="tutorial1_3.html">Click here</a> to go to the next step.</p>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/tutorial1_3.xml b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/tutorial1_3.xml
deleted file mode 100644
index 107771525..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/tutorial1_3.xml
+++ /dev/null
@@ -1,88 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 10:42:35 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Step 3: Retrieve and add EMF Objects</title>
- </header>
- <body>
-
- <p>In this part of the tutorial we retrieve the Library from the database back-end and perform some checks on and additions to the existing data.</p>
-
- <section>
- <title>Retrieve Library Object</title>
- <p>Obtain the Library we created in the previous step from the database:</p>
- <source>
-final Session session = sessionFactory.openSession();
-session.beginTransaction();
-
-// Retrieve the Library and its child objects.
-// Note that you must use the EClass name in the query.
-Query query = session.createQuery("FROM Library");
-List libraries = query.list();
-Library library = (Library) libraries.get(0);</source>
- </section>
- <p><em>As noted in the source, you must use the EClass name in the query. (In most cases it's identical to the Java class name).</em></p>
-
- <section>
- <title>Perform some checks</title>
- <p>Now that we have a Library object, we obtain a few of its child objects and verify that we have the correct information.</p>
- <source>
-// Obtain the Writer and Book
-Writer writer = (Writer) library.getWriters().get(0);
-System.out.println(writer.getName());
-Book book = (Book) library.getBooks().get(0);
-System.out.println(book.getTitle());
-
-// Verify that the eContainer and references are set correctly.
-assert (book.eContainer() == library);
-assert (writer.getBooks().get(0) == book);</source>
- <p>As expected, the objects retrieved from the database store comply to the ECore API. (EObject.eClass(), EObject.eContainer(), etc.)</p>
- </section>
-
- <section>
- <title>Add a new Book and Writer</title>
- <p>Now we add a new Book and Writer to the library:</p>
- <source>
-// Add a new Writer and Book
-Writer georgeOrwell = LibraryFactory.eINSTANCE.createWriter();
-georgeOrwell.setName("G. Orwell");
-
-// Create a new Book and set the Writer and Library.
-Book georgesBook = LibraryFactory.eINSTANCE.createBook();
-georgesBook.setPages(250);
-georgesBook.setTitle("1984");
-georgesBook.setCategory(BookCategory.SCIENCE_FICTION_LITERAL);
-georgesBook.setAuthor(georgeOrwell);
-
-library.getBooks().add(georgesBook);
-library.getWriters().add(georgeOrwell);
-
-// Commit.
-session.getTransaction().commit();
-session.close();</source>
- </section>
-
- <section>
- <title>Next Step</title>
- <p>The next step of the tutorial shows some Hibernate HQL queries that retrieve EMF objects from the database.</p>
- <p><a href="tutorial1_4.html">Click here</a> to go to the next step.</p>
- </section>
-
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/tutorial1_4.xml b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/tutorial1_4.xml
deleted file mode 100644
index 545c57ce3..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/tutorial1_4.xml
+++ /dev/null
@@ -1,75 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 10:42:35 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Step 4: Example Queries</title>
- </header>
- <body>
- <p>In this part we show Hibernate HSQL queries to retrieve information from the database back-end.</p>
- <p>(HQL is Hibernate's query language. It uses concepts similar to SQL.)</p>
-
- <section>
- <title>Query all books</title>
- <source>
-final Session session = sessionFactory.openSession();
-session.beginTransaction();
-
-// Retrieve all Books and display their titles.
-Query query = session.createQuery("FROM Book");
-List books = query.list();
-for (Iterator it = books.iterator(); it.hasNext();) {
- Book book = (Book) it.next();
- System.out.println(book.getTitle());
-}</source>
- </section>
-
- <section>
- <title>Parameterized query</title>
- <source>
-// Retrieve George Orwell's book.
-query = session.createQuery("SELECT book FROM Book book, Writer writ WHERE "
- + " book.title='1984' AND book.author=writ AND writ.name='G. Orwell'");
-books = query.list();
-
-// Show some results
-System.out.println("There are " + books.size() + " in the Library."); // should be 1
-System.out.println(books.get(0).getClass().getName());
-Book book = (Book) books.get(0);
-System.out.println(book.getTitle()); // should be 1984
-System.out.println(book.getAuthor().getName()); // should be G. Orwell</source>
- </section>
-
- <section>
- <title>Count query</title>
- <source>
-// Count the number of books in the library
-query = session.createQuery("SELECT count(allbooks) FROM Library lib LEFT JOIN lib.books AS allbooks "
- + " WHERE lib.name='My Library'");
-int count = ((Number) query.uniqueResult()).intValue();
-// there should be 2 books
-System.out.println("There are " + count + " books in the library");</source>
- </section>
-
- <section>
- <title>Next Step</title>
- <p>The final step of this tutorial discusses the use of the EMF Resource concept.</p>
- <p><a href="tutorial1_5.html">Click here</a> to go to the next step.</p>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/tutorial1_5.xml b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/tutorial1_5.xml
deleted file mode 100644
index 57ddd0419..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/tutorial1_5.xml
+++ /dev/null
@@ -1,99 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 10:42:35 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Step 5: Using Hibernate EMF Resources</title>
- </header>
- <body>
- <p>The EMF Resource concept is very different from a relational/querying approach. In this part of the
- tutorial it is described how objects can be loaded, updated and saved using the
- Hibernate EMF resource implementation.</p>
- <p>For more information on Hibernate EMF resource <a href="../hibernateresources.html">see</a>.</p>
- <section>
- <title>Create a resource</title>
- <p>An EMF resource is retrieved using a specific URL.
- An example of a URL which retrieves a hibernate resource is: hibernate://?dsname=MySF.
- The first (protocol) part of this
- URL should be <em>hibernate</em>. The rest of the URL in this example
- consists of one parameter, nl. dsname.
- The dsname parameter (or better the constant HibernateResource.DS_NAME_PARAM)
- should be set to the name of the SessionFactory
- created through the HibernateHelper.INSTANCE.createRegisterSessionFactory call. See
- <a href="tutorial1_2.html">step 2 of this tutorial.</a></p>
- <source>
-String uriStr = "hibernate://?" + HibernateResource.DS_NAME_PARAM + "=MySF";
-final URI uri = URI.createURI(uriStr);
-ResourceSet resourceSet = new ResourceSetImpl();
-final Resource res = resourceSet.createResource(uri);
- </source>
- </section>
- <section>
- <title>Load the resource</title>
- <p>The resource can now be loaded. In this example we also get the contents and iterate throught them.</p>
- <source>
-res.load(Collections.EMPTY_MAP);
-Iterator it = res.getContents().iterator();
-Library libTest;
-while (it.hasNext())
-{
- libTest = (Library)it.next();
- System.out.println(libTest.getName());
-}
-</source>
- <p><em>The above makes clear that only the Library objects are present as a top level object.</em>
- The other objects can always be reached from the library objects.
- See <a href="../hibernateresources.html">here</a> for a discussion of this characteristic.</p>
- </section>
- <section>
- <title>Update and add</title>
- <p>Now a new library, writer and book are added to the library example.</p>
- <source>
-Library libNew = LibraryFactory.eINSTANCE.createLibrary();
-libNew.setName("My Second Library");
-
-// create a writer
-Writer writerNew = LibraryFactory.eINSTANCE.createWriter();
-writerNew.setName("I. Asimov");
-
-// and one of his books
-Book bookNew = LibraryFactory.eINSTANCE.createBook();
-bookNew.setAuthor(writerNew);
-bookNew.setPages(305);
-bookNew.setTitle("Foundation and Empire");
-bookNew.setCategory(BookCategory.SCIENCE_FICTION_LITERAL);
-
-// add the writer/book to the library.
-libNew.getWriters().add(writerNew);
-libNew.getBooks().add(bookNew);
-
-// now add the top-level object to the resource
-res.getContents().add(libNew);
-</source>
- <p>Because the new library object is added to the resource also its children (the book and writer) are added
- to the resource.</p>
- </section>
- <section>
- <title>Save the resource</title>
- <p>Now save the resource. Note that the resource handles things like transactions.</p>
- <source>
-res.save(null);
- </source>
- </section>
- </body>
-</document> \ No newline at end of file
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/tutorial1_intro.xml b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/tutorial1_intro.xml
deleted file mode 100644
index 34d2f010c..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialone/tutorial1_intro.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 10:42:35 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Tutorial: Library</title>
- </header>
- <body>
- <p>
- This tutorial describes how to store and retrieve a number of simple
- EMF objects.
- This tutorial is based on the well known library example used in EMF tutorials:
- </p>
- <ul>
- <li>Click <a href="http://eclipse.org/emf/docs.php?doc=tutorials/xlibmod/xlibmod.html">here</a> for
- the EMF library example using a XML Schema</li>
- <li>Click <a href="http://eclipse.org/emf/docs.php?doc=tutorials/clibmod/clibmod.html">here</a> for
- the EMF library example using a Rose model</li>
- </ul>
- <p>
- This tutorial assumes that you have done one of these two tutorials. The image
- below shows the projects which should be present in the workspace.
- </p>
- <p>
- <img src="images/start.gif" alt="Library.genmodel"/>
- </p>
- <p>
- This tutorial will guide you through the following steps:
- </p>
- <ol>
- <li>Environment Setup</li>
- <li>Add the runtime plugin to the library model project</li>
- <li>Setup initialization code and create and store a Library with a number of Books and a Writer</li>
- <li>HQL queries to read the library and its content</li>
- <li>Use an EMF resource to read the library and its content</li>
- </ol>
- <p>Please click <a href="tutorial1_1.html">here</a> to start with the tutorial.</p>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialtwo/license.xml b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialtwo/license.xml
deleted file mode 100644
index 95e4f24fc..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialtwo/license.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- Licence page.
-
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 10:42:36 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>License</title>
- </header>
- <body>
- <p>Teneo is licensed under the <a href="http://www.eclipse.org/org/documents/epl-v10.php">Eclipse Public License</a>.
- In all documents and software the following copyright and license statement is present.
- </p>
- <source>
-Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
-All rights reserved. This program and the accompanying materials
-are made available under the terms of the Eclipse Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/epl-v10.html
- </source>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialtwo/tutorial2_1.xml b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialtwo/tutorial2_1.xml
deleted file mode 100644
index f356f6a13..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialtwo/tutorial2_1.xml
+++ /dev/null
@@ -1,102 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 10:42:36 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Initialize the Library Editor</title>
- </header>
- <body>
- <section>
- <title>Set dependencies of EMF model and editor plugins</title>
- <p>The EMF persistency plugin (org.eclipse.emf.teneo.hibernate) has to be added
- to the dependencies tab of the plugin of the Library model project. Check 'reexport this dependency'.</p>
- </section>
- <section>
- <title>Initialization</title>
- <p>To initialize the EMF layer the following code has to be added to static inner
- class <em>Implementation</em> in the <em>LibraryEditorPlugin</em> class.</p>
- <source>
-public void start(BundleContext context) throws Exception
-{
- org.eclipse.osgi.framework.debug.Debug.DEBUG_GENERAL = true;
-
- // Set the database information, Environment is org.hibernate.cfg.Environment
- final Properties props = new Properties();
- props.setProperty(Environment.DRIVER, "com.mysql.jdbc.Driver");
- props.setProperty(Environment.USER, "root");
- props.setProperty(Environment.URL, "jdbc:mysql://127.0.0.1:3306/library");
- props.setProperty(Environment.PASS, "root");
- props.setProperty(Environment.DIALECT, org.hibernate.dialect.MySQLInnoDBDialect.class.getName());
-
- // Initialize create the HbDataStore
- HbDataStore hbds = HbHelper.INSTANCE.createRegisterDataStore("library");
- hbds.setEPackages(new EPackage[]{LibraryPackage.eINSTANCE});
- hbds.setHibernateProperties(props);
- hbds.initialize();
-
- // this is required to force the editor to retrieve the correct resource
- Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("library", new HibernateResourceFactory())
-
- super.start(context);
-}
- </source>
- <p>Remarks:</p>
- <ul>
- <li>The database properties have to be changed to contain your own database connection
- information.</li>
- <li>The above source code uses the database library. This database has to exist (but can be empty).</li>
- <li><strong>The name of the datastore is chosen on purpose. The extension of the resource name (library in this case)
- is used to find the datastore, so therefore here the name library is chosen.</strong></li>
- </ul>
- </section>
- <section>
- <title>Resource Factory setting</title>
- <p>For this tutorial an Hibernate EMF resource factory has to be specified. This is done
- by setting the library element of the org.eclipse.emf.ecore.extension_parser extension
- point to: org.eclipse.emf.teneo.hibernate.resource.HibernateResourceFactory.</p>
- <p>
- <img src="../images/resourcefactory.jpg" alt="Enabling Hibernate support for the library project"/>
- </p>
- </section>
- <section>
- <title>Create valid EMF Objects</title>
- <p>The standard generated EMF Library example creates invalid objects. For example when you run the editor
- you can save a Library object with an empty name while this is a required element.
- Hibernate is more precise and will not allow this.</p>
- <p>To prevent this add the following code in the performFinish method of the LibraryModelWizard
- class in the library editor project. This has to be added around line 220 after the rootObject variable has been set:</p>
- <source>
-if (rootObject instanceof Library)
-{
- ((Library)rootObject).setName("My Library");
-}
-else if (rootObject instanceof Book)
-{
- ((Book)rootObject).setTitle("My Title");
-}
-else if (rootObject instanceof Writer)
-{
- ((Writer)rootObject).setName("My Name");
-}
-</source>
- <p></p>
- <p></p>
- <p>Please click <a href="tutorial2_2.html">here</a> to go to the next step.</p>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialtwo/tutorial2_2.xml b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialtwo/tutorial2_2.xml
deleted file mode 100644
index 3f78c5297..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialtwo/tutorial2_2.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 10:42:36 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Run the Library Editor</title>
- </header>
- <body>
- <p>To run the Library Editor go to step 4 of the EMF Library tutorials (Run the generated Editor). For
- the EMF Library tutorial see:
- (<a href="http://eclipse.org/emf/docs.php?doc=tutorials/xlibmod/xlibmod.html">based on Rose</a>,
- <a href="http://eclipse.org/emf/docs.php?doc=tutorials/clibmod/clibmod.html">based on Xml Schema</a>).</p>
- <p>After adding a Library and a Writer (JRR Tolkien) and a Book you need to save the resource.
- The database library now contains a Library, a Book and a Writer.</p>
- <p><strong>Note that the model constraints are checked when saving EMF objects. Validation errors
- (e.g. non-nullable fields are not set) are made visible in the Eclipse Error Log view (see menu Window > Show View > Error Log).
- When one of the EMF objects is invalid then the complete save action is rolled back.</strong></p>
- <p>You can try the following editor actions:</p>
- <ul>
- <li>Create Writers and Books, link them</li>
- <li>Link Writer to multiple Books</li>
- <li>Copy and paste of one or multiple Writers and Books</li>
- <li>Delete of a Book if it has no Writer</li>
- <li>Delete of a Writer if it has no Books</li>
- </ul>
- <p>Cut and paste is not supported, see <a href="../hibernate_details.html#cutpaste">here</a> for more information and a solution.</p>
- </body>
-</document> \ No newline at end of file
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialtwo/tutorial2_intro.xml b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialtwo/tutorial2_intro.xml
deleted file mode 100644
index bbdaf9911..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/tutorialtwo/tutorial2_intro.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 10:42:37 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Tutorial: Using Hibernate in the EMF Editor</title>
- </header>
- <body>
- <p>
- This tutorial gives an example on how the Hibernate EMF resource can be used in the
- Library editor. This tutorial assumes that you have done the EMF library tutorial.
- </p>
- <p>To enable Hibernate support for the Library Editor a small 'bug' in generated editor code has to be repaired:
- the generated editor allows the creation of
- invalid objects, e.g. a Library with an empty name.
- Hibernate integration is more precise and will not allow this.</p>
- <p><em>This tutorial shows a 'quick-and-dirty' method to let the Library example work with Hibernate.
- The chosen approach is to make very small changes to the generated code and is not focused on an elegant or
- optimal solution.</em></p>
- <p>The <a href="tutorial2_1.html">next step</a> of this tutorial describes these changes in more detail.</p>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/upgrading.xml b/doc/org.eclipse.emf.teneo.doc/doc/hibernate/upgrading.xml
deleted file mode 100644
index 3cbc0629b..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/upgrading.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
-<document>
- <header>
- <title>Upgrading EMF - Hibernate Plugins</title>
- <abstract>Describes specific aspects of upgrading the EMF - Hibernate plugins
- </abstract>
- </header>
- <body>
- <section>
- <title>Upgrading to Teneo</title>
- <p>The Teneo plugins have different names and ids than the Elver plugins. This means that if you
- install Teneo plugins that they will coexist next to the installed Elver plugins. This should not
- be a problem but can lead to confusion because the classnames (without the package names) have stayed the
- same (for example HbDataStore is called the same in Teneo and in Elver).</p>
- <p>There is no automatic removal of Elver plugins, this has to be done manually (see below).</p>
- </section>
- <section>
- <title>Changes from a 0.3.* to the 0.7.0 release</title>
- <p>Going from the 0.3.* release to the 0.7.0 release Elver has changed in many places. The main change is that it is not
- required anymore to generate an intermediate hibernate.hbm.xml file. The mapping is done at runtime based on the ecore file.</p>
- <p>The main entrance class the HibernateHelper has been replaced by HbHelper. The interface of this class is cleaner than its
- predecessor. A new class has been introduced: HbDataStore. This class represents the combination of a set of EPackages and a
- relational store. The HbDataStore can be used for different purposes. See <a href="hbdatastore.html">here</a>.
- </p>
- <p>Another major change is that in the HQL queries the EClass name should now be used instead of the java class names.</p>
- </section>
- <section>
- <title>Regenerate hibernate.hbm.xml after upgrading</title>
- <p>New functionality and bug fixes can result in changes in the generated hibernate.hbm.xml.
- New versions can depend on an updated hibernate.hbm.xml. So after upgrading it is sometimes
- necessary to regenerate the hibernate.hbm.xml file.</p>
- </section>
- <section>
- <title>Upgrade through the Update Manager: Search for upgrades... or Search for new Features...</title>
- <p>Depending on how you defined valid upgrades in
- <em>windows &gt; preferences &gt; Install/Updates</em>, it is possible that
- the 'Search for Upgrades of installed features' in the update manager will
- not find the updated EMF-Hibernate plugin. If this happens then the 'Search for new Features..' option
- should be chosen in the Update Manager.
- </p>
- <p>After the Elver plugins has been downloaded the
- update manager will detect that the 'new' feature is in fact an upgrade of an already
- installed feature. The old-version of the feature will automatically be disabled.
- This is visible in the Manage Configuration function in the <em>Help &gt; Sofware Updates</em>
- menu.
- </p>
- </section>
- <section>
- <title>Changed datamodel after upgrading</title>
- <p>The OR Mapper is also updated to solve issues and add functionality. This can mean that the
- hibernate.hbm.xml generated by the OR Mapper differs from one version to another. Resulting in a
- different database schema. When the database already exists from previous versions this can mean
- that the new expected database schema does not correspond with the old database schema.
- </p>
- <p>Hibernate will try to correct differences by adding tables and columns. However not all changes
- can be automatically repaired.</p>
- <p>The issues can be resolved by manually adding missing columns. Another way to resolve the above issue
- is to start again with a new empty database.
- Hibernate will then automatically create new tables which adhere to the package.jdo</p>
- <p>For the longer term we are considering to offer tools which will better facilitate this upgrade process.
- For example to allow data to be
- copied from the relational EMF store to a temporary XML Resource, create the new database and
- schema and then copy the information back.</p>
- </section>
- </body>
-</document> \ No newline at end of file
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate_wiki.txt b/doc/org.eclipse.emf.teneo.doc/doc/hibernate_wiki.txt
deleted file mode 100644
index 2c2871560..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate_wiki.txt
+++ /dev/null
@@ -1,40 +0,0 @@
-+ %TITLE%
-
-++ Introduction
-
-Teneo combines the power of the ((http://www.eclipse.org/emft/)(EMF)) modeling and code generation framework and the power of storage, caching and querying of sophisticated object-relational mapping software such as Hibernate.
-
-++ Why use Teneo
-
-* Teneo allows you to start with your model (UML or XML Schema) and automatically generate the java source code and object-relational mappings.
-* Teneo takes over much (or even all) of the manual work of creating relational mapping schemes.
-* Teneo supports JPA annotations on model level, this keeps your java code clean from persistency specific constructs.
-* The integration with EMF allows you to generate Eclipse RCP editors which persist automatically to a relational database.
-
-++ Automatic Mapping
-
-Teneo automatically maps the EMF Ecore model to a Hibernate object relational mapping. The automatic mapping can be done in-memory when your application is initialized or a separate hibernate mapping file can be generated. The generated hbm file can be adapted manually and used in the runtime layer.
-
-A distinct feature of Teneo is that it maps the model elements to Hibernate entities. This means that you can use model elements (like EMF EClasses and EFeatures) in HQL and when reading objects from the database.
-
-++ Runtime Layer
-
-EMF objects require specific handling in relation to Hibernate. This is mainly related to the way EMF handles references and collections. Also the EMF resource approach requires specific Hibernate implementations. To handle the EMF specifics, the EMF - Hibernate runtime layer was developed. This layer is small (about 150kb) but is essential to get a working EMF - Hibernate integration.
-
-The main visible component of the runtime layer is the HbDataStore. The HbDataStore controls a SessionFactory and a set of EPackages which are persisted using the PersistenceManagers of this PersistenceManagerFactory. When using a SessionFactory, behind the scenes Teneo takes care of instantiating EMF objects and setting/getting EFeatures from the database. Teneo also handles lazy loading of EMF Lists.
-
-++ JPA/EJB3 Annotations in UML/XML Schema or separate XML
-
-Teneo will automatically map the EMF model to an object relational representation. However there are situations in which it makes sense to influence or control the mapping. For this purpose Teneo supports JPA annotations in the model. The annotations can be used to control the way the inheritance structure is mapped to the relational store or how efeatures are mapped to database columns. Annotations can be specified directly in your model definition or defined separately in a xml file.
-
-The JPA support has been developed in such a way that it is only required to specify annotations for those parts of the model for which the automatic mapping logic does not result in the required behavior. For example it is possible to specify a column annotation for one efeature in a model while all other efeatures and eclasses are automatically handled by Teneo.
-
-++ Support and information
-
-Teneo is a project hosted within Eclipse - EMFT at ((http://www.eclipse.org/emft/projects/teneo/#teneo)(eclipse.org)).
-
-Teneo can be downloaded ((http://www.eclipse.org/emft/downloads/?proj=teneo)(here)) (select Teneo in the listbox).
-
-Tutorials and documentation can be found ((http://www.elver.org/hibernate/index.html)(here)).
-
-Support is given through the EMFT newsgroup: news://news.eclipse.org/eclipse.technology.emft.
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/images/ELV.gif b/doc/org.eclipse.emf.teneo.doc/doc/images/ELV.gif
deleted file mode 100644
index 0a19edd02..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/images/ELV.gif
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/images/ELV2.gif b/doc/org.eclipse.emf.teneo.doc/doc/images/ELV2.gif
deleted file mode 100644
index baa8f9f93..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/images/ELV2.gif
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/images/Glasseels.jpg b/doc/org.eclipse.emf.teneo.doc/doc/images/Glasseels.jpg
deleted file mode 100644
index 89f20106a..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/images/Glasseels.jpg
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/images/empty.gif b/doc/org.eclipse.emf.teneo.doc/doc/images/empty.gif
deleted file mode 100644
index 0dd0757f7..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/images/empty.gif
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/images/omondo1.jpg b/doc/org.eclipse.emf.teneo.doc/doc/images/omondo1.jpg
deleted file mode 100644
index 2dd0c5265..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/images/omondo1.jpg
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/images/omondo2.jpg b/doc/org.eclipse.emf.teneo.doc/doc/images/omondo2.jpg
deleted file mode 100644
index 75f53b112..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/images/omondo2.jpg
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/images/omondo3.jpg b/doc/org.eclipse.emf.teneo.doc/doc/images/omondo3.jpg
deleted file mode 100644
index 369b71f00..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/images/omondo3.jpg
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/images/omondo4.jpg b/doc/org.eclipse.emf.teneo.doc/doc/images/omondo4.jpg
deleted file mode 100644
index e15f8c006..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/images/omondo4.jpg
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/images/omondo5.jpg b/doc/org.eclipse.emf.teneo.doc/doc/images/omondo5.jpg
deleted file mode 100644
index 21c4bcd87..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/images/omondo5.jpg
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/images/rose.jpg b/doc/org.eclipse.emf.teneo.doc/doc/images/rose.jpg
deleted file mode 100644
index 32049e07a..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/images/rose.jpg
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/index.xml b/doc/org.eclipse.emf.teneo.doc/doc/index.xml
deleted file mode 100644
index 3e6dccd07..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/index.xml
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.4 $ $Date: 2006/09/14 21:47:40 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title></title>
- </header>
- <body>
- <section>
- <title>Elver Persistency has moved to Eclipse.org as Teneo within EMFT</title>
- <p><strong>Elver persistency has moved to eclipse.org as the Teneo project within EMFT:</strong></p>
- <ul>
- <li>The elver.org website will remain the source for documentation of Teneo.</li>
- <li>The source code can be retrieved from Eclipse cvs. The new main java package name: org.eclipse.emf.teneo.</li>
- <li>Teneo/Elver is part of the EMFT build process, builds can be downloaded here:
- <a href="http://download.eclipse.org/technology/emft/downloads/">EMFT Downloads</a>
- (select the Teneo project in the listbox). For the Eclipse update manager use:
- http://download.eclipse.org/technology/emft/updates/site-interim.xml.</li>
- <li>Support is given on the EMFT newsgroup: news://news.eclipse.org/eclipse.technology.emft.</li>
- </ul>
- </section>
- <section>
- <title>Introduction</title>
- <p>The Elver project focuses on combining code, persistency and UI generation solutions.
- Elver/Teneo Persistency implements persistency solutions
- for generated Java objects by integrating code generation frameworks
- and existing persistency technologies.</p>
- </section>
- <section>
- <title>EMF Persistency</title>
- <p>Integrating EMF with existing persistency solutions, combines the power of a
- code generation framework like EMF
- and the power of storage, caching and querying of sophisticated object-relational mapping and persistency software.</p>
- <p>EMF has been integrated with two persistency solutions:</p>
- <p><strong><a href="hibernate/index.html">Hibernate:</a></strong> The EMF - Hibernate integration (alpha status) supports
- persisting of basic EObjects, ELists with 1:n, n:m, one-way, two-way and contained relations. EMF Objects can be retrieved
- using HQL queries.</p>
- <p><strong><a href="jpox/index.html">JDO/JPOX:</a></strong> The EMF - JPOX integration (alpha status) supports
- all EMF and JDO 2.0/JPOX features. EMF objects can be persisted in most major relational databases and retrieved using an EMF resource approach or
- advanced JDOQL queries.
- </p>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/anytype.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/anytype.xml
deleted file mode 100644
index 78fa13039..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/anytype.xml
+++ /dev/null
@@ -1,161 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 10:42:35 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>xsd:any and xsd:anyType</title>
- </header>
- <body>
- <p>This page explains how xsd:any and xsd:anyType elements are stored in a relational store.
- This is provided as background information as this is normally hidden for the application developer.
- </p>
- <section><title>Element with xsd:anyType</title>
- <section>
- <title>Element with type xsd:anyType and maxOccurs="1"</title>
- <p>The following xml schema defines an element with type xsd:anyType and maxOccurs="1":</p>
- <source><![CDATA[
-<xsd:element name="singleAnyType" type="xsd:anyType"/>
- ]]></source>
- <p>This xml schema will result in getters/setters of the following (truncated form):</p>
- <source>
-/**
- * ......
- * @model containment="true" resolveProxies="false" required="true"
- * extendedMetaData="kind='element' name='singleAnyType'"
- * @generated
- */
-EObject getSingleAnyType();
-
-/**
- * ......
- * @generated
- */
-void setSingleAnyType(EObject value);
- </source>
- <p>As is visible the EObject type is used as the member type. When storing any EObject in the database Teneo
- persistency will use two columns (both varchar). The first columns is used to store the datatype if the
- EObject if it is a primitive type. The second column either stores the String representation of a
- primitive value or the unique object id as defined by JPOX.
- </p>
- </section>
- <section>
- <title>Element with type xsd:anyType and maxOccurs="unbounded"</title>
- <p>The following xml schema defines an element with type xsd:anyType and maxOccurs="unbounded":</p>
- <source><![CDATA[
-<xsd:element name="multiAnyType" type="xsd:anyType" maxOccurs="unbounded"/>
- ]]></source>
- <p>This xml schema will result in a getter of the following (truncated form):</p>
- <source>
-/**
- * ..............
- * @model type="org.eclipse.emf.ecore.EObject" containment="true" resolveProxies="false" required="true"
- * extendedMetaData="kind='element' name='multiAnyType'"
- * @generated
- */
-EList getMultiAnyType();
- </source>
- <p>As is visible the member is an EList which can contain EObject types. The maxOccurs="unbounded" anytype is
- mapped as a collection with an embedded PersistenceCapable type: org.eclipse.emf.teneo.jpox.mapping.AnyTypeEObject.</p>
- <source><![CDATA[
-<field name="multiAnyType" persistence-modifier="persistent" embedded="true" delete-action="restrict">
- <collection element-type="org.eclipse.emf.teneo.jpox.mapping.AnyTypeEObject">
- <extension vendor-name="jpox" key="cache-lazy-loading" value="true"/>
- </collection>
- <join>
- <column name="multianytype_id" allows-null="true"/>
- </join>
- <element>
- <embedded>
- <field name="classifier">
- <column name="CLASSIFIER"/>
- </field>
- <field name="value">
- <column name="VALUE"/>
- </field>
- </embedded>
- </element>
- <order column="TESTANY_MULTIANYTYPE_IDX"/>
-</field>
- ]]></source>
- <p>This mapping will result
- in a separate table which has a number of columns: 1) reference to the owner table,
- 2) index field to keep track of the order, 3) is used to store the datatype if the
- EObject is a primitive type, and 4) either stores the String representation of a
- primitive value or the unique object id as defined by JPOX.
- </p>
- </section>
- <section>
- <title>Setting a primitive value in an xsd:anyType member</title>
- <p>It is possible to set a primitive value in an xsd:anyType member.
- Teneo persistency assumes that primitive values are set using an EObject which implements
- org.eclipse.emf.ecore.xml.type.SimpleAnyType. An example of such an object is:
- org.eclipse.emf.ecore.xml.type.impl.SimpleAnyTypeImpl.
- When a primitive type is retrieved from the relational store then
- the system will encapsulate the primitive value in a
- org.eclipse.emf.teneo.jpox.mapping.JPOXSimpleAnyTypeImpl object.
- </p>
- </section>
- </section>
- <section><title>xsd:any Element</title>
- <p>The following xml schema defines a xsd:any element:</p>
- <source><![CDATA[
-<xsd:any maxOccurs="unbounded" namespace="##other"/>
- ]]></source>
- <p>This xml schema will result in getter of the following (truncated form):</p>
- <source>
-/**
- * ..........
- * @model unique="false" dataType="org.eclipse.emf.ecore.EFeatureMapEntry" required="true" many="true"
- * extendedMetaData="kind='elementWildcard' wildcards='##other' name=':4' processing='strict'"
- * @generated
- */
-FeatureMap getAny();
- </source>
- <p>The xsd:any type is translated into a FeatureMap which allows different features to be added.
- The implementation of the xsd:any FeatureMap is different from the <a href="featuremap.html">derived feature</a>.
- In case of xsd:any the system can not determine which types can be stored in this element. Instead the
- system will store all objects in a separate table. This table will have four columns:
- 1) reference to the owner table,
- 2) index field to keep track of the order, 3) is used to store the datatype if the
- EObject is a primitive type, and 4) either stores the String representation of a
- primitive value or the unique object id as defined by JPOX.
- </p>
- <p>Note:</p>
- <ul>
- <li>The persistency solution ignores the namespace XML Schema attribute of the xsd:any
- element. It is assumed that the EMF layer will handle this attribute.</li>
- <li>It is possible to set maxOccurs="1" or maxOccurs="unbounded" on the xsd:any
- element. For the java implementation and the persistency solution this makes no difference.
- In both cases a FeatureMap with a separate table is used. The EMF layer will check that
- no more than maxOccurs entries are stored in the FeatureMap.</li>
- </ul>
- </section>
-
- <section>
- <title>Benefits/Consequences of this approach</title>
- <p>The chosen approach has a number of benefits/consequences:</p>
- <ul>
- <li>The extensions to persist xsd:any/xsd:anyType are completely hidden for the application developer.
- He/She can use the standard EMF apis.</li>
- <li>Support for containment (including cascading delete)</li>
- <li>No support for JDOQL querying on content of xsd:any fields.</li>
- <li>No constraint checking when an eobject referenced from an xsd:any is deleted.</li>
- </ul>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/changelog.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/changelog.xml
deleted file mode 100644
index 0402d0da8..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/changelog.xml
+++ /dev/null
@@ -1,454 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.5 $ $Date: 2006/09/13 10:42:35 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Changelog</title>
- </header>
- <body>
- <p>Gives an overview of changes in different releases over time</p>
- <p><br/></p>
- <p>
- <strong>From 12 September 2006: for changelog and release notes see the emft website: <a href="http://www.eclipse.org/emft/news/release-notes.php">here</a></strong>
- </p>
- <p><br/></p>
- <!--
- <p> </p>
- <p>
- <strong>Release: 0.7.5 ALPHA - 27 Augustus 2006</strong>
- </p>
- <ul>
- <li>Changed default column names for version and synthetic id to e_version and e_id. These names should be valid for most databases and prevent nameclashes.</li>
- <li>For EAttribute, Unique attribute is not used anymore to set unique on property/column level.</li>
- <li>Various changes to support multiple inheritance</li>
- Toplevel nested annotations not used anymore JoinColumns, etc.
- upgraded to jpox 1.1.1
- </ul>
- -->
- <p></p>
- <p>
- <strong>Release: 0.7.2 ALPHA - 7 June 2006</strong>
- </p>
- <ul>
- <li><strong>Changed source of annotations</strong>: ejb3 annotation now use ejb.elver.org, Elver specific annotation now use
- annotation.elver.org. For backward compatibility all ejb annotations can also still be used together with
- annotation.elver.org.</li>
- <li>The JPOX libraries have been moved to a separate plugin: org.elver.store.jpox.libraries.</li>
- <li><strong>All table and column names are now in lowercase.</strong> The casing can be controlled with an option
- (see <a href="jpoxdatastore.html#options">here</a>).</li>
- <li>Cleaned up the interface for setting properties and getting the session from a HbDataStore. The pm should now be retrieved from the
- PersistenceManagerFactory which can be retrieved from the JpoxDataStore.</li>
- <li>Multiple mapped super classes in the inheritance tree were not supported, this has been fixed now.</li>
- <li>Unique attribute on eattributes is now used to generate a unique constraint</li>
- <li>Changed the format of the Elver specific Unique annotation (see <a href="jpox_details.html#Force+a+join+table+for+1%3An+relations">here</a>)</li>
- <li>Added support for annotations on EDataType (see <a href="ejb3_features.html#edatatype">here</a>)</li>
- <li>Solved issue with support array of primitive type, this should now work. This means also that blob is now
- supported.</li>
- <li>List with primitive non-object type is now handled correctly.</li>
- <li>Added modest support for multiple inheritance , (see <a href="inheritance.html#Multiple+Inheritance+Support">here</a>)</li>
- <li>Testcases are now also run using MS Sql Server 2000/2005.</li>
- </ul>
- <p></p>
- <p>
- <strong>Release: 0.7.1 ALPHA - 8 May 2006</strong>
- </p>
- <ul>
- <li>Eclipse Menu Generate JDO: folder in which package,jdo is generated is now refreshed automatically (after popupbox is closed).</li>
- <li>Eclipse Menu Generate JDO: multiple ecore files can now be selected, the mapping is stored in one package.jdo file.</li>
- <li>Solved a bug related to use of reserved words (long, float, etc.) as feature names</li>
- <li>JoinColumns were not supported correctly, has been fixed, thanks to Douglas Bitting for providing the patch.</li>
- </ul>
- <p></p>
- <p>
- <strong>Release: 0.7.0 ALPHA - 21 April 2006</strong>
- </p>
- <p>This release is a major rewrite compared to the previous release. This release is not backward compatible,
- mapping logic as well as interfaces have changed.
- An overview of the changes/new features:</p>
- <ul>
- <li>OR Mapping is now done on the basis of the ecore model (EPackages), source code is not parsed anymore,
- see <a href="overview.html">the overview</a>. The package.jdo is now generated in the same location as the
- ecore file.</li>
- <li>Support for ejb3 like annotations such as mapped superclass, composite id, UniqueConstraint etc. see
- <a href="overview.html#ejb3">here</a>.</li>
- <li>Added support for different class loader strategies, see <a href="jpox_details.html">here</a>.</li>
- <li>Solved issues related to nullability of enum fields and using enums in primary keys.</li>
- <li>Added option to control if the database schema is updated at startup, see <a href="jpoxdatastore.html#options">here</a>.</li>
- <li>Added new sections to the website: an overview, related to ejb3, options, etc.</li>
- <li>Upgraded to EMF 2.2 and JPOX 1.1rc1.</li>
- <li>Added eager loading of containment relations, is controlled by annotation, default
- behavior is lazy and not eager</li>
- <li>Tracking modification on a resource does now work with lazy loading. Before setting
- tracking modification to true (or add an adapter) ment that the whole resource was loaded,
- this is now not required anymore.</li>
- <li>Cut and paste in a the editor is now supported by setting the Cascade annotation, see
- <a href="jpox_details.html#cutpaste">here</a>.</li>
- <li>The package.jdo can now more easily be generated programmatically,
- see <a href="jpoxdatastore.html#Programmatic+generation+of+package.jdo">here</a>. This can be usefull when you want to map
- multiple epackages and have better control over the generation process.</li>
- <li>Main things which have been changed since the 0.6.5 release:
- <ul>
- <li>JPOXHelper has been renamed to JpoxHelper, cleaned up the interface, introduced concept of a JpoxDataStore,
- see <a href="jpoxdatastore.html">here</a>.</li>
- <li>FeatureMap support without generating additional source files, see <a href="featuremap.html">here</a>.</li>
- <li>The options which can be passed to the Elver runtime have been restructured, see
- <a href="jpoxdatastore.html#options">here</a>.</li>
- <li>The previous annotations for inheritance mapping and unique have changed. see
- <a href="inheritance.html">here</a> and <a href="jpox_details.html#Force+a+join+table+for+1%3An+relations">here</a>.</li>
- <li>Added option to set all containment lists to eager loading, see <a href="jpoxdatastore.html#options">here</a>.</li>
- <li>The JPOXResource class is no longer used, only the JPOXResourceDAO resource should be used, see
- <a href="jpoxresources.html">here</a>.</li>
- </ul></li>
- </ul>
- <p></p>
- <p>
- <strong>Release: 0.6.5 (15 November 2005)</strong>
- </p>
- <p>List of changes:</p>
- <ul>
- <li>Annotations can be used to enforce a join table also for 1:n relations, see
- <a href="jpox_details.html#Force+a+join+table+for+1%3An+relations">here</a>.
- </li>
- <li>It can now be specified using an annotation that a member is an
- identifier for which jpox (or the database) must generate unique values,
- see <a href="jpox_details.html#Identifier+fields">here</a>.</li>
- <li>Solved an issue related to null-pointer exceptions when abstract types
-refered to eachother.</li>
- <li>Solved an issue which is related to types with interface="true" this issue
-resulted in missing model fields in the mapping file.</li>
- <li>Upgraded to qdox 1.6, now also jdk1.5 constructions are supported when
- generating a mapping file.</li>
- <li>Upgraded to the jpox libraries of 29 October and jdo snapshot7.</li>
- </ul>
- <p></p>
- <p>
- <strong>Release: 0.6.4 (24 October 2005)</strong>
- </p>
- <p>List of changes:</p>
- <ul>
- <li>Enabled superclass-table inheritance mapping strategy for JPOX. Now both
- new-table as well as super-class table are supported. These two
- options have been added to the elver submenu in the Eclipse plugin. See
- <a href="http://www.jpox.org/docs/1_1/inheritance.html">this page</a> on the
- jpox website for a description of these different inheritance mapping strategies.</li>
- <li>It is now possible to control the inheritance mapping for each class hierarchy
- by adding specific annotations in the model, see <a href="inheritance.html">here</a> for more
- information.</li>
- <li>The creation of a persistence manager factory can be controlled by registering
- a persistence manager factory creator. This allows you to override the creation
- of the persistence manager factory and persistence managers.
- See <a href="jpox_details.html#Registering+a+Persistence+Manager+Factory+Creator">here</a>
- for more information.</li>
- <li>A new createRegisterPersistenceManagerFactory method
- has been added which just expects a property map. This is more flexible than the
- other createRegisterPersistenceManagerFactory methods.</li>
- <li>Solved issue: in case a featuremap member was declared in a superclass then
- when the subclass is used JPOX could not find the class to use as featuremap
- entry for the featuremap (specified in the superclass).</li>
- <li>Upgraded to the latest versions of JPOX (22 October 2005). Note also upgraded the
- jdo jar to the latest version (23 October 2005).</li>
- <li>Notifications are now send out when an elist/featuremap is loaded (see
- <a href="jpox_details.html#EList%2FFeaturemap+load+notification">here</a>).</li>
- <li>Resource trackingModification is not automatically enabled anymore at load time, the client should
- do this explicitly. The reason for this is that tracking modification is an expensive operation
- because it walks the complete containment tree.</li>
- <li>The OR Mapping file generator will now also specify the tablename. The tablename
- is based on the classname of the persisted entity.</li>
- <li>Source code is distributed together with the jar files.</li>
- </ul>
- <p></p>
- <p>
- <strong>Release: 0.6.3 (10 October 2005)</strong>
- </p>
- <p>List of changes:</p>
- <ul>
- <li>Solved incorrect setting of container when a type can be contained through
- more than one feature in another type.</li>
- <li>Containment of featuremap entries was not set correctly, is solved now</li>
- <li>Added setContainer function (to JPOXHelper): when a child object is read directly from
- the database its container is not set. To offer a generic workaround
- this function allows you to explicitly
- set the container of an object, (see <a href="jpoxdatastore.html">here</a>
- for more information)</li>
- <li>Added getCrossReferencers function, this allows one to find all the
- referers to an eobject in the database, (see <a href="jpoxdatastore.html">here</a>
- for more information). This can for example be used to check all delete constraints
- before an EObject is deleted.</li>
- </ul>
- <p></p>
- <p>
- <strong>Release: 0.6.2 (30 September 2005)</strong>
- </p>
- <p>List of changes:</p>
- <ul>
- <li>Solved a bug related to showing incorrect top level objects in a resource.
- This was visible in the EMF editor because contained objects were displayed in the
- top of the editor. Credits to Pawel Sabina for identifying this issue and helping
- to solve it.</li>
- <li>Solved a bug related to lazy loading of elists in the editor, the bug
- resulted in multiple copies of one object being loaded. This would result
- in a dangling reference validation error when saving the resource. This is
- solved now. Thanks to Pawel Sabina for identifying this issue and helping
- to solve it.</li>
- <li>Added possibility of XMI import and export to the resource utility. XMI
- is more powerful than the XML export/import because XMI
- supports multiple root objects when exporting/importing.
- See <a href="resource_utility.html">here</a></li>
- <li>Customize the load behavior of JPOXResourceDAO (see <a href="jpoxresources.html">here</a>):
- <ul>
- <li>The implementation of the
- JPOXResourceDAO has been changed so that the load behavior can be overridden by subclassing.</li>
- <li>The load behavior of the JPOXResourceDAO can also be controlled by
- passing queries in the url or in the ejdo file.</li>
- </ul>
- </li>
- <li>Updated to the jpox libraries of 28 September 2005.</li>
- </ul>
- <p></p>
- <p>
- <strong>Release: 0.6.1 (28 September 2005)</strong>
- </p>
- <p>List of changes:</p>
- <ul>
- <li>When you use EMF FeatureMaps then you need to regenerate your package.jdo file!</li>
- <li>The plugin structure has been improved, more functions have been moved to
- a generic plugin (org.elver.store).</li>
- <li>ELists/FeatureMaps are now lazily loaded. This is especially usefull in
- case you directly read objects through JDOQL queries. For the JPOXResourceDAO,
- containment elists are not lazily loaded, non-containment elists are lazily loaded.
- The JPOX DAO Resource is
- now the preferred resource implementation. References to the other standard JPOX Resource have been
- removed. See <a href="jpoxresources.html">JPOX Resources</a>.</li>
- <li>The resource utility has been slightly improved. Now it is possible to validate the contents
- by explicitly selecting the validate option.</li>
- </ul>
- <p></p>
- <p>
- <strong>Release: 0.6.0.1 (19 September 2005)</strong>
- </p>
- <p>List of changes:</p>
- <ul>
- <li>Solved 'unnecessary' join tables: for non-contained 1:n relations
- join tables were generated. This is only required if double entries are allowed
- in a 1:n relation. Currently EMF does not allow double entries in ELists. The join
- table is therefore not required and will not be generated anymore.
- </li>
- <li>The package.jdo was incorrect in some cases, the order of a foreign-key and order
- element was wrong. Solved in this release.
- </li>
- <li>Solved an issue which occured when an already persisted object was added to
- the collection of a new object.</li>
- <li>Upgraded to the latest jpox libraries</li>
- </ul>
- <p></p>
- <p>
- <strong>Release: 0.6.0 (15 September 2005)</strong>
- </p>
- <p>List of changes:</p>
- <ul>
- <li>Added Resource Utility plugin to directly open a resource and to
- import and export XML. The utility is very basic but will be extended in the future.
- See <a href="resource_utility.html">here</a> for more information.
- </li>
- <li>Solved the following issue: in some cases feature map members where not recognized
- by the OR mapper and a primitive type field tag was generated instead of a field
- collection tag.</li>
- <li>Made the registration of persistence manager factories a bit more relaxed,
- if a pmf was already registered under a certain name then that one is returned instead
- of throwing an exception directly.</li>
- <li>Updated the troubleshooting page (added note about org.eclipse.osgi.framework.debug.Debug.DEBUG_GENERAL)</li>
- <li>Automatically create columns: it is possible that JPOX does not automatically create
- new columns, this should now work better (but not guaranteed to work perfectly).</li>
- <li>Many small updates to the website</li>
- <li>Made the solution more robust for strange lower and uppercase issues of generated
- java member names (EMF will for example convert a XML Schema name of VAT to a vAt java member)</li>
- <li>Added automatic validation of the save action of JPOX Resources, see <a href="jpoxresources.html">here</a>.</li>
- <li>Added a number of testcases</li>
- </ul>
- <p></p>
- <p>
- <strong>Release: 0.6.0 (7 September 2005)</strong>
- </p>
- <p>List of changes:</p>
- <ul>
- <li>EPackages are now specifically assigned to a relational store
- (a persistence manager factory). This solves the following issue: when running
- different epackages in one eclipse installation then the tables for
- one epackage were also created in the database of other epackages. To solve this,
- the initialization of the persistency layer has changed. Summary of changes:
- <ul>
- <li>The JPOXInitializer class has been removed. All initialization is done
- through the JPOXHelper class</li>
- <li>EPackage parameter has been added to the create persistency manager methods in
- JPOXHelper</li>
- <li>A number of static methods in JPOXHelper have been replaced by
- their INSTANCE equivalent, this is more inline with the other methods in this
- class.</li>
- </ul>
- </li>
- <li>Added a separate page on different aspects of <a href="upgrading.html">upgrading</a>
- the plugins.</li>
- <li>Added support for xsd:list and xsd:union. One exception is
- xsd:union of enumerated types</li>
- <li>Updated troubleshooting page</li>
- <li>Solved an issue (sql Duplicate Column Exception) in the OR Mapper
- which occurs when a type was contained by two other types through multi-occurence
- relations. The OR Mapper
- now generates unique column names for this case.</li>
- <li>Solved an issue in the JPOXResourceDAO resource which occured when an object was
- deleted together with its contained child objects. This issue was visible in the
- generated EMF editor with the message in the errorlog:
- transient objects can not be deleted....</li>
- <li>Added number of testcases</li>
- <li>Upgraded to the JPOX libraries of 6th of September 2005</li>
- </ul>
- <p></p>
- <p>
- <strong>Release: 0.5.5 (30 August 2005)</strong>
- </p>
- <p>List of changes:</p>
- <ul>
- <li>Added/tested support for the following XML Schema structures
- (see <a href="features_details.html">here</a> for details):
- <ul>
- <li>Substition groups are now supported (see <a href="substitution.html">here</a>)</li>
- <li>xsd:all, xsd:group and repeating xsd:group and repeating xsd:sequence</li>
- <li>ecore:featureMap, ecore:mixed on xsd:element and xsd:complexType</li>
- <li>different types of xsd:attributes</li>
- </ul></li>
- <li>Solved a bug when a featuremap was used in an editor with copy and paste actions.
- In this case after editing and saving a pasted document twice a classcastexception
- was thrown. This is now solved.</li>
- <li>FeatureMap support has been improved, the system now also supports feature map
- entries with an interface, list or java.lang.Object type.</li>
- <li>Added support for most (95%) ecore xml primitive types</li>
- <li>Disabled naming of foreign keys/unique constraints, this gave sql errors when databases and tables were created.</li>
- <li>Refined persistence of 'indirect' fields (suchas ..eset fields)</li>
- <li>Added number of testcases, tests are now also done for postgresql</li>
- <li>Upgraded to the latest version of JPOX</li>
- </ul>
- <p></p>
- <p>
- <strong>Release: 0.5.5 (23 August 2005)</strong>
- </p>
- <p>List of changes:</p>
- <ul>
- <li>Changed naming of classes and tables generated for FeatureMap Entries.</li>
- <li>Update of EList through iterators is now possible</li>
- <li>Solved bug in FeatureMap which resulted in double entries in the database when
- moving and adding items to a FeatureMap (reported by Georgi Manev)</li>
- <li>Added support for xsd:any and xsd:anyType, see <a href="anytype.html">here</a> for more information</li>
- <li>Solved smaller issues in EList and FeatureMap</li>
- <li>Added number of testcases, e.g. to test EList and FeatureMap in the JPOXResources (detached)</li>
- <li>Upgraded to the latest version of JPOX</li>
- </ul>
- <p></p>
- <p>
- <strong>Release: 0.5.5 (19 August 2005)</strong>
- </p>
- <p>List of changes:</p>
- <ul>
- <li>Smaller changes to OR mapper: handling of unsettable attributes is improved,
- handling of default values is moved to the EMF layer.</li>
- <li>Issue solved in JPOX ResourceDAO: when an object is present in multiple Elists then
- the JPOXResourceDao would sometimes load multiple versions of the same database entry
- in memory. This is solved now.</li>
- <li>Support for inheritance structures has been improved and has been tested more thoroughly,
- for example:
- <ul>
- <li>EList defined as containing (abstract) superclass can contain subclasses</li>
- <li>Querying on superclass returns also subclass instances</li>
- </ul>
- </li>
- <li>Mixed content (featuremap) is now supported</li>
- <li>There is now confirmed/tested support for the following XML Schema constructions:
- <ul>
- <li>Restriction of simple type</li>
- <li>Extension of complextype, from simple as well as other complex type</li>
- <li>Inheritance using abstract supertype and extensions from complextype</li>
- <li>xsd:IDREFS as the type of an element (xsd:IDREF and xsd:anyURI were already supported)</li>
- <li>Reference (single and multi-occurence) to abstract type</li>
- <li>nillable facet</li>
- <li>mixed="true" on complex type</li>
- </ul>
- </li>
- <li>Changed the website on various locations:
- added <a href="featuremap.html">description about FeatureMap support</a>,
- added <a href="features_details.html">detailed description of XML Schema support</a>,
- added <a href="links.html">links to interesting web articles</a>
- </li>
- <li>Added a number of testcase for the above new features</li>
- </ul>
- <p></p>
- <p>
- <strong>Release: 0.5.5 (17 August 2005)</strong>
- </p>
- <p>List of changes:</p>
- <ul>
- <li>Solved issue: Eclipse crashed when the OR Mapper was run for the first time on a package. This behavior was encountered on
- a Linux system.</li>
- </ul>
- <p></p>
- <p>
- <strong>Release: 0.5.5 (16 August 2005)</strong>
- </p>
- <p>List of changes:</p>
- <ul>
- <li>Added support for feature map (alpha version, currently supports xsd:choice with maxOccurs="unbounded")</li>
- <li>Allow hiding of concrete class names</li>
- <li>Added testcases (for example the books.xsd from JAXB, see <a href="http://java.sun.com/developer/technicalArticles/WebServices/jaxb/">here</a>).
- </li>
- <li>Refined the OR Mapper in various locations</li>
- <li>Changed the distribution of the runtime layer and jpox jars to a plugin instead of list of separate jars (see the download
- and installation page), directions provided by Georgi Manev.</li>
- <li>Updated the website in various locations:
- <ul>
- <li>Changed the library tutorial on a number of places (setting the resource factory, using runtime plugin, hiding implementation classes)</li>
- <li>Changed download and installation page (runtime layer as plugin, updating of already installed plugin is possible)</li>
- <li>Added page with list of xsd's which are used as test case (see <a href="schema_list.html">here</a>)</li>
- </ul>
- </li>
- <li>Upgraded the jpox and jdo jars to their latest version (16 August 2005) see the download and
- installation page</li>
- </ul>
- <p></p>
- <p>
- <strong>Release: 0.5.0 changes 9 August 2005</strong>
- </p>
- <p>The following changes were made on 9 August 2005 (to solve an issue reported by Aaron Oathout):</p>
- <ul>
- <li>Small changes to the OR Mapper plugin</li>
- <li>Upgraded the jpox and jdo jars to their latest version (9 August 2005) see the download and
- installation page</li>
- <li>Updated the website on various locations</li>
- </ul>
- <p>It is discussed separately how to upgrade the plugin on <a href="installation.html">the installation page</a>.</p>
- <p></p>
- <p>
- <strong>Release: 0.5.0 build 08082005 of Runtime jar</strong>
- </p>
- <p>Changes since 0.5.0 release:</p>
- <ul>
- <li>No dependencies anymore on EObjectImpl, EMF Objects are only required to implement the interface
- org.eclipse.emf.ecore.InternalEObject</li>
- <li>Solved bug which occured when a new EMF object is added to an already detached object. In this
- case the new EMF object was not detached. Only occured when using the JPOXResourceDAO. Issue
- reported and solution proposed by Georgi Manev.</li>
- </ul>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/download/library.ejdo b/doc/org.eclipse.emf.teneo.doc/doc/jpox/download/library.ejdo
deleted file mode 100644
index ced7c478a..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/download/library.ejdo
+++ /dev/null
@@ -1,51 +0,0 @@
-#
-# Copyright 2005-2006, Elver.org (http://www.elver.org).
-#
-# Licensed 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.
-# ----------------------------------------------------------------------
-#
-
-# Contains an example of the contents of an ehb file.
-
-# name: the name under which this information is used to register a
-# EMFDataStore/Persistence Manager Factory. Must be
-# unique. IMPORTANT: this should be the same name as used in the calls to JPOXHelper
-# in the initialization code in the EditorPlugin class.
-# In the Library examples the used name is: library.
-# query1, query2, ...: can be used to filter the content of the resource at the load action
-# nsuri: a comma delimited list of namespace uris (incl. http://) of epackages that are stored in this EMFDataStore/PMF.
-# editorid: the id of the editor to use when opening this resource. This id can be found
-# in the MANIFEST.MF > extensions tab > org.eclipse.ui.editors extension >
-# Extension Element Details > id field.
-# Either the editorid or the editorextension can be specified
-# editorextension: the id of the editor to use when opening this resource. This id can be found
-# in the MANIFEST.MF > extensions tab > org.eclipse.ui.editors extension >
-# Extension Element Details > extensions field. In the Library EMF tutorial this extension is:
-# library.
-# Either the editorid or the editorextension can be specified
-# dbname: the database name
-# dburl: the database url with the database name.
-# dbuser: the database user
-# dbpassword: the password of the database user
-# dbdriver: the class name of the database driver
-
-name=library
-nsuri=http://www.example.eclipse.org/Library
-#query1=SELECT FROM org.eclipse.example.library.impl.WriterImpl
-#query2=SELECT FROM org.eclipse.example.library.impl.BookImpl
-editorextension=library
-dbname=jdolibrary
-dburl=jdbc:mysql://127.0.0.1:3306/jdolibrary
-dbuser=root
-dbpassword=root
-dbdriver=com.mysql.jdbc.Driver \ No newline at end of file
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/download/library_export.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/download/library_export.xml
deleted file mode 100644
index ea446ba98..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/download/library_export.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<library:Library xmlns:library="http://www.example.eclipse.org/Library" name="My Library">
- <writers name="G. Orwell" books="/0/@books.0"/>
- <writers name="JRR Tolkien" books="/0/@books.1 /0/@books.2"/>
- <books title="1985" pages="350" category="ScienceFiction" author="/0/@writers.0"/>
- <books title="Fellowship of the Rings" pages="356" category="ScienceFiction" author="/0/@writers.1"/>
- <books title="The Hobbit" pages="352" category="ScienceFiction" author="/0/@writers.1"/>
-</library:Library>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/download/log4j.properties b/doc/org.eclipse.emf.teneo.doc/doc/jpox/download/log4j.properties
deleted file mode 100644
index e72b46fde..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/download/log4j.properties
+++ /dev/null
@@ -1,9 +0,0 @@
-# Set root logger level to DEBUG and its only appender to A1.
-log4j.rootCategory=DEBUG, A1
-
-# A1 is set to be a ConsoleAppender.
-log4j.appender.A1=org.apache.log4j.ConsoleAppender
-
-# A1 uses PatternLayout.
-log4j.appender.A1.layout=org.apache.log4j.PatternLayout
-log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/ejb3_examples.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/ejb3_examples.xml
deleted file mode 100644
index 9ea69d54a..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/ejb3_examples.xml
+++ /dev/null
@@ -1,181 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 10:42:35 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>EJB3 Annotation examples</title>
- </header>
- <body>
- <section id="column">
- <title>Annotations on EDataType</title>
- <p>An example of the use of a Table annotation at EClass level and Column annotations
- on EDataType level, first in xml and then using the :</p>
- <source><![CDATA[
-<epackage namespace-uri="http://www.eclipse.org/emf/teneo/samples/emf/annotations/edatatype_column">
-
- <eclass name="Book">
- <table name="mybooktable"/>
- <property name="title">
- <column name="titel" unique="true" length="25"/>
- </property>
- </eclass>
-
- <edatatype name="TitleType">
- <column name="mytitle" unique="false" length="50"/>
- </edatatype>
-
- <edatatype name="PagesType">
- <column updatable="false" insertable="false"/>
- </edatatype>
-
- <edatatype name="WeightType">
- <column name="gewicht" nullable="true" precision="5" scale="2"/>
- </edatatype>
-
-</epackage>
- ]]></source>
- <p>And in java annotation syntax in EAnnotations:</p>
- <source><![CDATA[
-<xsd:complexType name="Book">
- <xsd:annotation>
- <xsd:appinfo source="teneo.jpa">@Table(name="mybooktable")</xsd:appinfo>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:element name="title" type="TitleType">
- <xsd:annotation>
- <xsd:appinfo source="teneo.jpa">@Column(name="titel" unique="true" length="25")</xsd:appinfo>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="pages" type="PagesType"/>
- <xsd:element name="weight" type="WeightType"/>
- <xsd:element name="author" type="xsd:string"/>
- </xsd:sequence>
-</xsd:complexType>
-
-<xsd:simpleType name="TitleType">
- <xsd:annotation>
- <xsd:appinfo source="teneo.jpa">@Column(name="mytitle" unique="false" length="50")</xsd:appinfo>
- </xsd:annotation>
- <xsd:restriction base="xsd:string">
- </xsd:restriction>
-</xsd:simpleType>
-
-<xsd:simpleType name="PagesType">
- <xsd:annotation>
- <xsd:appinfo source="teneo.jpa">@Column(updatable="false" insertable="false")</xsd:appinfo>
- </xsd:annotation>
- <xsd:restriction base="xsd:int">
- </xsd:restriction>
-</xsd:simpleType>
-
-<xsd:simpleType name="WeightType">
- <xsd:annotation>
- <xsd:appinfo source="teneo.jpa">@Column(name="gewicht" nullable="true" precision="5" scale="2")</xsd:appinfo>
- </xsd:annotation>
- <xsd:restriction base="xsd:decimal">
- </xsd:restriction>
-</xsd:simpleType>
- ]]></source>
- </section>
- <section id="mtm">
- <title>ManyToMany Annotations</title>
- <p>An example of the use of a ManyToMany annotation:</p>
- <source><![CDATA[
-<xsd:complexType name="Cntr">
- <xsd:sequence>
- <xsd:element name="rght" type="xsd:IDREF" ecore:reference="this:Rght" maxOccurs="unbounded" ecore:opposite="cntr">
- <xsd:annotation>
- <xsd:appinfo source="teneo.jpa">
- @ManyToMany(fetch=EAGER cascade={MERGE PERSIST} targetEntity="Rght" indexed="false")
- @JoinTable(name="RightCenter")
- </xsd:appinfo>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="lft" type="xsd:IDREF" ecore:reference="this:Lft" maxOccurs="unbounded" ecore:opposite="cntr">
- <xsd:annotation>
- <xsd:appinfo source="teneo.jpa">
- @ManyToMany(fetch=EAGER cascade={MERGE PERSIST} targetEntity="Lft")
- </xsd:appinfo>
- </xsd:annotation>
- </xsd:element>
- </xsd:sequence>
-</xsd:complexType>
-
-<xsd:complexType name="Lft">
- <xsd:sequence>
- <xsd:element name="cntr" type="xsd:IDREF" ecore:reference="this:Cntr" maxOccurs="unbounded" ecore:opposite="lft">
- <xsd:annotation>
- <xsd:appinfo source="teneo.jpa">
- @ManyToMany(fetch=LAZY cascade={MERGE PERSIST} targetEntity="Cntr" mappedBy="lft")
- </xsd:appinfo>
- </xsd:annotation>
- </xsd:element>
- </xsd:sequence>
-</xsd:complexType>
-
-<xsd:complexType name="Rght">
- <xsd:sequence>
- <xsd:element name="cntr" type="xsd:IDREF" ecore:reference="this:Cntr" maxOccurs="unbounded" ecore:opposite="rght">
- <xsd:annotation>
- <xsd:appinfo source="teneo.jpa">
- @ManyToMany(fetch=LAZY cascade={MERGE PERSIST} targetEntity="Cntr" mappedBy="rght" indexed="false")
- @JoinTable(name="RightCenter")
- </xsd:appinfo>
- </xsd:annotation>
- </xsd:element>
- </xsd:sequence>
-</xsd:complexType>
- ]]></source>
- </section>
- <section id="inheritance">
- <title>Inheritance and Discriminator Annotations</title>
- <p>An example of the use of an Inheritance and Discriminator related annotations:</p>
- <source><![CDATA[
-<xsd:complexType name="Price">
- <xsd:annotation>
- <xsd:appinfo source="teneo.jpa">
- @Table(name="myprice")
- @Inheritance(strategy=SINGLE_TABLE)
- @DiscriminatorColumn(name="DISCRIMINATOR" discriminatorType=STRING)
- @DiscriminatorValue("myPrice")
- </xsd:appinfo>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:element name="name" type="xsd:string"/>
- <xsd:element name="value" type="xsd:decimal"/>
- </xsd:sequence>
-</xsd:complexType>
- ]]></source>
- <p>In xml:</p>
- <source><![CDATA[
-<eclass name="Price">
- <table name="myprice" />
- <inheritance>SINGLE_TABLE</inheritance>
- <discriminator-column name="DISCRIMINATOR" discriminator-type="STRING" />
- <discriminator-value>myPrice</discriminator-value>
-</eclass>
- ]]></source>
-
- </section>
- <section id="other">
- <title>Other examples</title>
- <p>For other examples of annotations on this site see here: <a href="inheritance.html">Inheritance</a> and
- <a href="jpox_details.html">Associations</a>.</p>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/ejb3_features.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/ejb3_features.xml
deleted file mode 100644
index 57088060c..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/ejb3_features.xml
+++ /dev/null
@@ -1,93 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 10:42:35 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Detailed Listing of Supported EJB3 Annotation Features</title>
- </header>
- <body>
- <section id="featuresejb3">
- <title>Supported EJB3 Annotation Features</title>
- <p>The goal is to support all EJB3 annotations. The EJB3 specification can be downloaded from
- the jsr-220 download page: <a href="http://jcp.org/aboutJava/communityprocess/pfd/jsr220/index.html">here</a>.
- In the listing below the numbers refer to the sections of chapter 9 in the EJB3 persistence specification
- document: ejb-3_0-pfd-spec-persistence.pdf.</p>
- <p>The annotations listed below are supported in the current release. Supported means that there are test cases which show
- that the EJB3 annotation is supported and correctly translated in an or-mapping and that the annotation is
- supported when persisting and retrieving objects.</p>
- <p>Supported by the current release:</p>
- <ul>
- <li>9.1.1 Table Annotation</li>
- <li>9.1.2: SecondaryTable Annotation</li>
- <li>9.1.3: SecondaryTables Annotation</li>
- <li>9.1.4: UniqueConstraint Annotation</li>
- <li>9.1.5: Column Annotation</li>
- <li>9.1.8: Id Annotation</li>
- <li>9.1.9: GeneratedValue Annotation</li>
- <li>9.1.10: AttributeOverride Annotation</li>
- <li>9.1.11: AttributeOverrides Annotation</li>
- <li>9.1.13: IdClass Annotation</li>
- <li>9.1.14: Transient Annotation</li>
- <li>9.1.16: Basic Annotation</li>
- <li>9.1.17: Lob Annotation (no special support required lob or byte array are automatically handled by JPOX)</li>
- <li>9.1.18: Temporal Annotation (no special support required handled automatically by JPOX)</li>
- <li>9.1.19: Enumerated Annotation</li>
- <li>9.1.20: ManyToOne Annotation</li>
- <li>9.1.21: OneToOne Annotation</li>
- <li>9.1.22: OneToMany Annotation</li>
- <li>9.1.23: JoinTable Annotation</li>
- <li>9.1.24: ManyToMany Annotation</li>
- <li>9.1.27: Inheritance Annotation</li>
- <li>9.1.28: DiscriminatorColumn Annotation</li>
- <li>9.1.29: Discriminator Annotation</li>
- <li>9.1.34: MappedSuperclass Annotation</li>
- <li>9.1.35: SequenceGenerator Annotation</li>
- <li>9.1.36: TableGenerator Annotation</li>
- </ul>
- <p>The following annotations are expected to work but have not been tested:</p>
- <ul>
- <li>9.1.15: Version Annotation</li>
- </ul>
- <p>The following annotations are not (yet) supported:</p>
- <ul>
- <li>9.1.6: JoinColumn Annotation</li>
- <li>9.1.7: JoinColumns Annotation</li>
- <li>9.1.12: EmbeddedId Annotation</li>
- <li>9.1.25: MapKey Annotation</li>
- <li>9.1.30: PrimaryKeyJoinColumn Annotation</li>
- <li>9.1.31: PrimaryKeyJoinColumns Annotation</li>
- </ul>
- <p>The following annotations are not supported because of JPOX:</p>
- <ul>
- <li>9.1.26: OrderBy Annotation</li>
- <li>9.1.32: Embeddable Annotation</li>
- <li>9.1.33: Embedded Annotation, because of a jpox issue see <a href="http://www.jpox.org/servlet/jira/browse/CORE-2567">here</a></li>
- </ul>
- </section>
- <section>
- <title>Annotation notes</title>
- <section id="edatatype"><title>Annotations on EDataType</title>
- <p>Every ejb3 annotation which is relevant for a non-reference type java member can also be specified on an EDataType.
- Setting annotations on an EDataType has as advantage that the annotation is used in every location in which the EDataType is
- used. For example the column length annotation can be defined on EDataType level and is then automatically added to
- each EAttribute which uses this EDataType. The annotations on EAttribute level take precedence so if both the EAttribute
- and the EDataType have the same annotation then the annotation on the EAttribute is used.</p>
- </section>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/ejb3_format.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/ejb3_format.xml
deleted file mode 100644
index 0b42019e5..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/ejb3_format.xml
+++ /dev/null
@@ -1,119 +0,0 @@
-<?xml version="1.0"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
-<document>
- <header>
- <title>Format of JPA/EJB3 Annotations as EAnnotations and as XML</title>
- </header>
- <body>
- <p>Teneo allows two ways to specify EJB3/JPA-like annotations: 1) using the java annotations syntax
- in EAnnotations, 2) a separate xml document.</p>
- <p>This page will show examples of both approaches.</p>
- <p>A JPA Annotation can have different targets: TYPE, METHOD and FIELD (see the EJB3/JPA spec). Annotations
- with a TYPE target can be used for EMF EClasses, annotations with METHOD and FIELD targets can be used for
- EStructuralFeatures. <em>Note:</em> JPA annotations relevant for a non-reference type java member can also be set on
- an EDataType (see <a href="ejb3_features.html#edatatype">here</a> for more information).</p>
- <section id="target">
- <title>JPA Annotations in EAnnotations using the java annotation syntax</title>
- <p>The EAnnotations should adhere to the following format:</p>
- <ul>
- <li>The source must be: <strong>teneo.jpa</strong></li>
- <li>The key must be: <strong>appinfo</strong> or <strong>value</strong></li>
- </ul>
- </section>
- <section id="xml">
- <title>JPA Annotations in XML</title>
- <p>JPA annotations can also be specified in a separate xml file.
- The xsd for the XML annotations can be downloaded <a href="download/persistence-mapping-jpox.xsd">here</a>.</p>
- <p>The xsd shows that it is possible to specify annotations on EPackage, EClass, EAttribute, EReference and EDataType level.
- In addition there is a special property element which combines the annotations for EAttribute and EReference. The
- property tag is a convenience tag which can be used to in place of both an EAttribute and an EReference tag.</p>
- <p>When initializing a JpoxDataStore the location of the xml annotation file should be passed using the
- persistenceoption: PersistenceOptions.PERSISTENCE_XML. The location should be a resource
- path.</p>
- </section>
- <section id="simplenokeyvalye">
- <title>Simple Annotation Example</title>
- <p>An example of an JPA annotation without a key-value pair is the Embedded annotation.</p>
- <p>In a XML Schema model the Embedded annotation is specified as follows:</p>
- <source><![CDATA[
-<xsd:element name="secondEmbedded" type="this:Embeddable">
- <xsd:annotation>
- <xsd:appinfo source="teneo.jpa">@Embedded</xsd:appinfo>
- </xsd:annotation>
-</xsd:element>
- ]]></source>
- <p>An example of a (different) simple annotation in xml:</p>
- <source><![CDATA[
-<eclass name="Name">
- <embeddable />
-</eclass>
- ]]></source>
- </section>
- <section id="simple">
- <title>Annotation with key-value</title>
- <p>An example of an EJB3 annotation with a key-value pair is the Basic annotation.</p>
- <p>In a XML Schema model the Basic annotation is specified as follows:</p>
- <source><![CDATA[
-<xsd:element name="myOptionalBasic" type="xsd:string">
- <xsd:annotation>
- <xsd:appinfo source="teneo.jpa">@Basic(optional=true fetch=EAGER)</xsd:appinfo>
- </xsd:annotation>
-</xsd:element>
- ]]></source>
- <p>An example of a (different) key-value annotation in xml:</p>
- <source><![CDATA[
-<property name="head">
- <one-to-one fetch="EAGER" target-entity="Head" optional="true" cascade="ALL" />
-</property>
- ]]></source>
- <p>As you can see this example uses the property tag. The property tag is a convenience tag which
- can be used to in place of both an EAttribute and an EReference tag.</p>
- </section>
- <section id="multi">
- <title>Complex Annotation with multi-level structure</title>
- <p>An example of a more complex annotation is the
- SecondaryTable annotation which can contain a pkJoinColumns annotation:</p>
- <source><![CDATA[
-<xsd:annotation>
- <xsd:appinfo source="teneo.jpa">
- @SecondaryTable(name="THETONER" pkJoinColumns={@PrimaryKeyJoinColumn(name="PRINTER_ID")})
- </xsd:appinfo>
-</xsd:annotation>
- ]]></source>
- <p>An example of a (different) more complex annotation in xml:</p>
- <source><![CDATA[
-<eclass name="Employee">
- <association-override name="address">
- <join-column name="employee_address_id"/>
- </association-override>
-</eclass>
- ]]></source>
- </section>
-<!-- <section id="omondo"><title>Where/how to specify annotations in Omondo</title>
- <p>Double click on the element for which an annotation should be specified:</p>
- <figure src="../images/omondo1.jpg" alt="Omondo step 1"/>
- <p>Press Add in Annotations:</p>
- <figure src="../images/omondo2.jpg" alt="Omondo step 2"/>
- <p>Specify the Teneo annotation source in the annotations field. The http://... prefix will be removed from the view when you press enter:</p>
- <figure src="../images/omondo3.jpg" alt="Omondo step 3"/>
- <p>Press Add on the name/value attribute and specify one of the attributes for this annotation and press OK:</p>
- <figure src="../images/omondo4.jpg" alt="Omondo step 4"/>
- <p><br/></p>
- <figure src="../images/omondo5.jpg" alt="Omondo step 5"/>
- <p>and ready!</p>
- </section>
- <section id="rr">
- <title>Where to specify annotations in Rational Rose</title>
- <p>The image below illustrates where to specify annotations in Rational Rose:</p>
- <p>The ecore model properties (ecore A, ecore B) are added to Rational Rose using the <a href="../examples/ecore.pty">ecore.pty</a> file.</p>
- <figure src="../images/rose.jpg" alt="Setting annotations in Rational Rose"/>
- </section>
---> </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/elver.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/elver.xml
deleted file mode 100644
index e966d4c79..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/elver.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2005-2006, Elver.org (http://www.elver.org).
-
- Licensed 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.
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.1 $ $Date: 2006/08/03 09:58:08 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>About the Elver</title>
- </header>
- <body>
- <p>
- The Elver is a so-called glass eel, which is a young eel of about two years old.
- Eels are fascinating animals that travel over half the globe and can reach a
- respectable age of upto 85 years. The life of an eel is not yet fully understood although eels
- have been studied for a number of years.
- </p>
- <p>
- As with many other animals on this planet, Eels are threatened by environmental changes,
- parasites and dams and other obstacles in rivers. About 20 years ago the number of Eels dropped dramatically, to 10-15% of their
- original levels.
- Eels are of significant economic value for a number of countries. Because of decline in
- Eel stock and rising demand the prise has risen to $1100,-/kg. in the past.
- </p>
- <p>
- Below an image of a number of glass eels.
- </p>
- <p><img src="images/Glasseels.jpg" alt="Image of the glass eel"/></p>
- <p>
- Here are two interesting articles which describe what is known about the Elver:</p>
- <ul>
- <li><a href="http://www.answers.com/eel%20life%20history">Eel Life History</a></li>
- <li><a href="http://www.sdgfp.info/Wildlife/Diversity/Digest%20Articles/eel.htm">The American Eel</a></li>
- </ul>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/emf_rdb_modeling.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/emf_rdb_modeling.xml
deleted file mode 100644
index d212bac0c..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/emf_rdb_modeling.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2005-2006, Elver.org (http://www.elver.org).
-
- Licensed 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.
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.1 $ $Date: 2006/08/03 09:58:08 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>EMF/Java to Relational Modeling</title>
- </header>
- <body>
- <p>Describes how certain EMF constructions are translated into a relational model</p>
- <p></p>
- <p>In case of a 1:n relation the n's can be deleted and removed from the 1 relation
- without a sql exception is thrown. To enforce delete constraints a join table
- must be used!
- </p>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/emfjpoxsupport.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/emfjpoxsupport.xml
deleted file mode 100644
index 14852a43c..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/emfjpoxsupport.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 10:42:35 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>EMF and JPOX Support</title>
- </header>
- <body>
- <p>
- It is possible that issues you may encounter are related to either EMF or JPOX.
- We suggest that you first look in the documentation of the relevant website.
- If you cannot find the answer there, then you can try our <a href="mailinglist.html">mailing list</a>,
- before turning to the support of these projects. We will do our best to also answer EMF or JPOX specific
- questions.
- </p>
- <section id="EMFSupport">
- <title>EMF Support</title>
- <p>
- EMF Support is given on a news group: news://news.eclipse.org/eclipse.tools.emf. The EMF documentation can be found
- <a href="http://www.eclipse.org/emf/docs.php">here</a>.
- </p>
- </section>
- <section id="JPOXSupport">
- <title>JPOX Support</title>
- <p>
- The JPOX website has excellent documentation <a href="http://www.jpox.org/docs/1_1/index.html">here</a>.
- Documentation on JDO can also be found on the JPOX website <a href="http://www.jpox.org/docs/references.html">here</a>.
- Support on JPOX is given on their forum <a href="http://www.jpox.org/servlet/forum/index">here</a>. Before you post
- on the forum of JPOX please read their documentation and provide the package.jdo and stacktraces with your post.
- </p>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/featuremap.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/featuremap.xml
deleted file mode 100644
index a5cc7908e..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/featuremap.xml
+++ /dev/null
@@ -1,252 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 10:42:35 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>FeatureMap/Mixed content support</title>
- <abstract>Discusses how FeatureMaps are supported in the persistency solution</abstract>
- </header>
- <body>
- <p>EMF uses Feature Maps in a number of situations, for example to implement XML Schema repeating
- model groups or to implement derived features. The Teneo persistency layer supports
- Feature Maps and generates the required JDO mappings. Teneo FeatureMap support is hidden
- for the developer. The information here is mainly intended to help understand
- the created mappings and relational tables.</p>
- <p>See <a href="http://www.eclipse.org/emf/docs/overviews/FeatureMap.pdf">here</a> for
- a description on how EMF uses FeatureMaps to implement derived
- features. This page uses a similar example.</p>
- <section>
- <title>FeatureMap for derived features</title>
- <section>
- <title>Example Model</title>
- <p>This section illustrates how a FeatureMap for a derived feature is mapped and
- persisted. The model is defined below using an XML Schema.
- </p>
- <source><![CDATA[
-<xsd:complexType name="Supplier">
- <xsd:sequence>
- <xsd:element name="name" type="xsd:string"/>
- <xsd:choice maxOccurs="unbounded" ecore:name="orders">
- <xsd:element name="preferredOrders" type="PurchaseOrder"/>
- <xsd:element name="standardOrders" type="PurchaseOrder"/>
- <xsd:element name="hardCopyOrderReference" type="xsd:string"/>
- <xsd:element name="hardCopyOrderNumber" type="xsd:long"/>
- </xsd:choice>
- </xsd:sequence>
-</xsd:complexType>
- ]]></source>
- <p>The xsd:choice with maxOccurs="unbounded" results in a FeatureMap EAttribute with
- name orders. In the generated java code this will result in an extra member (named orders)
- and accessor methods. </p>
- <p>There are 4 derived features. The first two are references to PurchaseOrder, the last two
- are primitive/simple type derived features. </p>
- </section>
- <section>
- <title>Generated Code by EMF</title>
- <p>EMF will generate the relevant methods to access the derived features. Derived features
- will not have java members but will refer to accessor of the FeatureMap EAttribute. For example
- the following code shows how the getPreferredOrders uses the getOrders accessor.</p>
- <source>
-public EList getPreferredOrders() {
- return ((FeatureMap)getOrders()).list(SimplefeaturemapPackage.eINSTANCE.getSupplier_PreferredOrders());
-}
- </source>
- </section>
- <section>
- <title>Mapping to a relational store</title>
- <p>A FeatureMap is actually an EList with FeatureMap.Entry objects as elements.
- A FeatureMap.Entry has two members: 1) a StructuralFeature which defines what type of entry it is,
- and 2) the actual value.</p>
- <p>For the relational mapping this same structure is
- used. Teneo maps a featuremap as a collection with an embedded type. The embedded type is the
- org.eclipse.emf.teneo.jpox.elist.GenericFeatureMapEntry which implements FeatureMap.Entry.
- Each FeatureMap EAttribute is mapped separately and the entries of one FeatureMap EAttribute are
- persisted in a separate join table (see the jpox website for embedded collections here <a href="http://www.jpox.org/docs/1_1/embedded.html#Collection">here</a>).
- </p>
- <p>The mapping for the orders property is as follows:</p>
- <source><![CDATA[
-<field name="orders" persistence-modifier="persistent">
- <collection element-type="org.eclipse.emf.teneo.jpox.elist.GenericFeatureMapEntry">
- <extension vendor-name="jpox" key="cache-lazy-loading" value="true"/>
- </collection>
- <join/>
- <element>
- <embedded>
- <field name="featurePath"/>
- <field name="localAnyValue" embedded="true">
- <extension vendor-name="jpox" key="implementation-classes" value="long"/>
- <extension vendor-name="teneo" key="estructuralfeatures" value="hardCopyOrderNumber"/>
- </field>
- <field name="localReferenceValue" embedded="true">
- <extension vendor-name="jpox" key="implementation-classes" value="org.eclipse.emf.teneo.jpox.mapping.AnyTypeEObject"/>
- <extension vendor-name="teneo" key="estructuralfeatures" value=""/>
- <foreign-key delete-action="restrict" update-action="cascade"/>
- </field>
- <field name="localContainmentReferenceValue" dependent="true">
- <foreign-key delete-action="cascade" update-action="cascade"/>
- <extension vendor-name="jpox" key="implementation-classes" value="org.eclipse.emf.teneo.samples.emf.schemaconstructs.simplefeaturemap.impl.PurchaseOrderImpl"/>
- <extension vendor-name="teneo" key="estructuralfeatures" value="preferredOrders"/>
- </field>
- </embedded>
- </element>
- <order column="SUPPLIER_ORDERS_IDX"/>
-</field>
- ]]></source>
- <p>The orders property is mapped as a collection with embedded elements. The org.eclipse.emf.teneo.jpox.elist.GenericFeatureMapEntry
- has four properties:</p>
- <ul>
- <li>featurePath: unique identification of the feature of that entry</li>
- <li>localAnyValue: stores primitive types (serialized), the allowed types are specified using the extension tag.</li>
- <li>localReferenceValue: stores a non-containment reference value, the allowed types are specified using the extension tag.</li>
- <li>localContainmentReferenceValue: stores a containment reference value, the allowed types are specified using the extension tag.</li>
- </ul>
- <p>The above field mappings also have an extension with vendor-name is teneo, this extension is used to identify the
- EStructuralFeatures which are allowed in the specific field.</p>
- <p>For different FeatureMap EAttributes the embedded type is the same (always the GenericFeatureMapEntry) but the extension tags will
- differ based on the allowed types of the FeatureMap.</p>
- <p>This persistency mapping is hidden for the developer. A FeatureMap which is read from a persistent store will contain
- entries which implement the FeatureMap.Entry interface.</p>
- </section>
- <section>
- <title>Using FeatureMaps</title>
- <p>The persisted FeatureMaps can be used in exactly the same way as 'standard' Feature Maps
- (See <a href="http://www.eclipse.org/emf/docs/overviews/FeatureMap.pdf">here</a>).
- As an example of this see the code below to create a supplier and set the orders feature.</p>
- <source>
-PurchaseOrder pref1 = factory.createPurchaseOrder();
-pref1.setName("preferred1");
-PurchaseOrder stand1 = factory.createPurchaseOrder();
-stand1.setName("standard1");
-PurchaseOrder stand2 = factory.createPurchaseOrder();
-stand2.setName("standard2");
-
-Supplier supplier = factory.createSupplier();
-supplier.setName("supplier");
-supplier.getOrders().add(SimplefeaturemapPackage.eINSTANCE.getSupplier_StandardOrders(), stand1);
-supplier.getOrders().add(SimplefeaturemapPackage.eINSTANCE.getSupplier_PreferredOrders(), pref1);
-supplier.getOrders().add(SimplefeaturemapPackage.eINSTANCE.getSupplier_HardCopyOrderReference(), "ref1");
-supplier.getOrders().add(SimplefeaturemapPackage.eINSTANCE.getSupplier_HardCopyOrderNumber(), new Long(1002));
-supplier.getOrders().add(SimplefeaturemapPackage.eINSTANCE.getSupplier_StandardOrders(), stand2);
- </source>
- <p>The source code below shows how this information can be retrieved using the
- derived feature accessors. As is illustrated the persistency extensions are
- not visible to the developer:</p>
- <source>
-EList standardList = supplier.getStandardOrders(); // returns the list of standard orders, there are 2
-EList preferredList = supplier.getPreferredOrders(); // returns the list of preferred orders, there is 1
-EList numberList = supplier.getHardCopyOrderNumber(); // returns the list of hard copy numbers
-EList referenceList = supplier.getHardCopyOrderReference(); // returns the list hard copy references
-
-// Will display java.lang.Long
-System.err.println(numberList.get(0).getClass().getName());
-
-// Will display preferred1
-System.err.println(((PurchaseOrder)preferredList.get(0)).getName());
-
-// Retrieve directly through the main featuremap member,
-// this is the same purchaseorder as in the previous step
-FeatureMap.Entry entry = (FeatureMap.Entry)supplier.getOrders().get(1);
-PurchaseOrder referencePO = (PurchaseOrder)entry.getValue();
-// this will also display preferred1
-System.err.println(referencePO.getName());
- </source>
- </section>
- </section>
- <section>
- <title>FeatureMap for Mixed content</title>
- <p>XML Schema allows text data to be mixed with XML nodes, this is called Mixed content. An
- example is the xml document below (copied from the
- <a href="http://www.w3.org/TR/xmlschema-0/#mixedContent">XML Schema Primer</a>). In this
- XML document text (such as 'Dear Mr.') is mixed with XML nodes (such as &lt;name&gt;Robert Smith&lt;/name&gt;).</p>
- <source><![CDATA[
-<letterBody>
-Dear Mr.<name>Robert Smith</name>.
-Your order of <quantity>1</quantity> <productName>Baby
-Monitor</productName> shipped from our warehouse on
-<shipDate>1999-05-21</shipDate>. ....
-</letterBody>
- ]]></source>
- <p>The support for mixed content is described in section 3.4 in the
- <a href="http://www.eclipse.org/emf/docs/overviews/XMLSchemaToEcoreMapping.pdf">XML Schema to Ecore Mapping</a>.
- In short EMF generates a FeatureMap EAttribute with the name mixed for each complexType with mixed="true".
- All elements of the complexType are part of this FeatureMap.
- </p>
- <p>For example the xsd below represents the xml document above. For this XML Schema, EMF will generate
- a java class with name LetterBody. This class has a FeatureMap member mixed. For the four elements
- no java members are generated but only accessor methods which use the mixed FeatureMap.</p>
- <source><![CDATA[
-<xsd:element name="letterBody">
- <xsd:complexType mixed="true">
- <xsd:sequence>
- <xsd:element name="name" type="xsd:string"/>
- <xsd:element name="quantity" type="xsd:positiveInteger"/>
- <xsd:element name="productName" type="xsd:string"/>
- <xsd:element name="shipDate" type="xsd:date" minOccurs="0"/>
- <!-- etc. -->
- </xsd:sequence>
- </xsd:complexType>
-</xsd:element>
- ]]></source>
- <p>Mixed content is mapped to a relational store in a similar way as the FeatureMap above. The difference with
- the standard FeatureMap mapping is that a different embedded type is used (org.eclipse.emf.teneo.jpox.elist.AnyFeatureMapEntry)
- which stores all content in one field (anyValue, see below):</p>
- <source><![CDATA[
-<class name="org.eclipse.emf.teneo.samples.emf.schemaconstructs.mixed.impl.SalutationTypeImpl" requires-extent="true" persistence-modifier="persistence-capable" detachable="true" table="salutationtype" identity-type="datastore">
- <implements name="org.eclipse.emf.teneo.samples.emf.schemaconstructs.mixed.SalutationType"/>
- <implements name="org.eclipse.emf.ecore.EObject"/>
- <implements name="org.eclipse.emf.common.notify.Notifier"/>
- <inheritance strategy="new-table">
- <discriminator column="DTYPE" strategy="value-map" value="SalutationType"/>
- </inheritance>
- <field name="mixed" persistence-modifier="persistent">
- <collection element-type="org.eclipse.emf.teneo.jpox.elist.AnyFeatureMapEntry"/>
- <join/>
- <element>
- <embedded>
- <field name="featurePath">
- <column name="FEATUREPATH"/>
- </field>
- <field name="anyValue">
- <column name="ANYVALUE"/>
- </field>
- </embedded>
- </element>
- <order column="SALUTATIONTYPE_MIXED_IDX"/>
- </field>
-</class>
- ]]></source>
- <p><em>The current implementation has as main limitation that with mixed content no referential integrity is enforced.
- This will be improved in a future release.</em></p>
- </section>
- <section>
- <title>Benefits of this approach</title>
- <p>The chosen approach has a number of benefits:</p>
- <ul>
- <li>Hidden implementation: The extensions to persist FeatureMaps are completely hidden for the application developer.
- He/She can use the standard EMF apis.</li>
- <li>No unnecessary columns: a (nullable) column is only created for the types which
- can be present in a FeatureMap.Entry.</li>
- <li>Advanced querying possible: foreign keys are created in the entry table for references
- to other classes (tables). This means that it is possible to join tables using advanced
- SQL or JDOQL queries.</li>
- <li>Features such as cascading deletes (containment) or delete restrictions work directly and without
- any further extra specifications.</li>
- </ul>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/features.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/features.xml
deleted file mode 100644
index c8f39bb7c..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/features.xml
+++ /dev/null
@@ -1,102 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2005-2006, Elver.org (http://www.elver.org).
-
- Licensed 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.
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/28 20:03:26 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Supported (EMF) Features</title>
- </header>
- <body>
- <p>
- The EMF - JPOX Integration supports many EMF features and all features offered by jpox.
- </p>
- <section id="supported">
- <title>Supported EMF Features</title>
- <p>The current version of the EMF - JPOX integration many important EMF Features. A summary:</p>
- <p></p>
- <ul>
- <li>All relevant primitive types (including Date)</li>
- <li>Lists of primitive types (EDataTypeEList)</li>
- <li>Single Reference: contained, non-contained, one-way, two-way</li>
- <li>One-To-Many relations (EList): contained, non-contained, one-way, two-way</li>
- <li>Many-to-Many relations (EList): contained and non-contained, one-way, two-way</li>
- <li>EMap</li>
- <li>Notifications and adapters (limited testing done)</li>
- <li>Enumerations</li>
- <li>Resource implementations</li>
- <li>Lazy loading (similar to EMF proxy feature)</li>
- <li>Dynamic api</li>
- <li>Inheritance between types</li>
- <li>No dependencies on EObjectImpl as root object or specific root object for persistency: EMF Objects are only required to implement org.eclipse.emf.ecore.InternalEObject</li>
- <li>Support for EMF Feature Map as described <a href="http://www.eclipse.org/emf/docs/overviews/FeatureMap.pdf">here</a></li>
- </ul>
- </section>
- <section id="xmlschema">
- <title>Supported XML Schema structures</title>
- <p>EMF allows models to be expressed in XML Schema. Through EMF the current solution supports
- many XML Schema structures, an overview:</p>
- <ul>
- <li>Element definition with all combinations of minOccurs and maxOccurs</li>
- <li>Repeating model group such as xsd:choice with maxOccurs="unbounded"</li>
- <li>Extension of complextype, from simple as well as other complex type</li>
- <li>Inheritance using abstract supertype and extensions from complextype</li>
- <li>all relevant simple types including xsd:IDREF, xsd:IDREFS and xsd:anyURI</li>
- <li>Mixed content</li>
- <li>etc.</li>
- </ul>
- <p>For a detailed listing of XML Schema support see
- <a href="features_details.html">here</a>.</p>
- </section>
- <section id="ejb3">
- <title>EJB3 Annotations</title>
- <p>The integration supports the following EJB3-like annotations:</p>
- <ul>
- <li>UniqueConstraints</li>
- <li>MappedSuperclass</li>
- <li>IdClass</li>
- <li>OneToMany, ManyToMany, ManyToOne</li>
- <li>etc.</li>
- </ul>
- <p>For a detailed listing of EJB3 annotation support see
- <a href="ejb3_features.html">here</a>.</p>
- </section>
- <section id="jpoxfeatures">
- <title>JPOX Features</title>
- <p>The integration supports all JPOX features, e.g:</p>
- <ul>
- <li>OR Mapping of class hierarchies, 1:n, m:n relations (one- and twoway)</li>
- <li>Support for most relational databases</li>
- <li>JDO query language</li>
- <li>2 level caching</li>
- <li>etc.</li>
- </ul>
- <p>See <a href="http://www.jpox.org/docs/features.html">here</a> for a complete listing of the features of the JPOX product.</p>
- </section>
- <section id="notjpoxsupported">
- <title>Not Supported by JPOX</title>
- <p>JPOX does not support Lists of user-defined primitive types, an example is a list of enumerates.</p>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/features_details.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/features_details.xml
deleted file mode 100644
index 4d65c02bb..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/features_details.xml
+++ /dev/null
@@ -1,114 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 10:42:35 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Supported XML Schema Features</title>
- </header>
- <body>
- <p>The goal is to implement most XML Schema Structures/Datatypes supported by EMF also for the persistency layer.
- For a description of the mapping from XML Schema to EMF (ecore)
- see <a href="http://www.eclipse.org/emf/docs/overviews/XMLSchemaToEcoreMapping.pdf">here</a>.
- In the listing below the numbers refer to the sections in this document.</p>
- <p>Note: for each feature the following remarks are used:</p>
- <ul>
- <li>Supported: means that there are test cases which show
- that the XML Schema feature is correctly translated in an ecore construction and EMF
- object and that the resulting EMF object can be persisted and retrieved.</li>
- <li>Not yet supported: means that this feature will not work and EMF objects with this
- feature are not persisted correctly</li>
- <li>To be tested: means that this feature is expected to work but has not been tested yet</li>
- </ul>
- <p>The support by XML Schema Structure/Datatype:</p>
- <ul>
- <li>Schema (Chapter 1)
- <ul>
- <li>1.1 to 1.4: supported (not really relevant for persistency)</li>
- <li>1.5 and 1.6: DocumentRoot, currently the persistency solution will not
- persist a DocumentRoot object. The main reason for this is that the DocumentRoot is created to
- have a starting 'folder-like' point when loading a resource. In the Teneo persistency solution this
- is solved differently (see <a href="jpoxresources.html#Top+level+types">here</a>).</li>
- <li>1.7: not relevant for persistency (is supported)</li>
- </ul></li>
- <li>Simple Type Definition (Chapter 2)
- <ul>
- <li>2.1 Simple Type with restriction: supported</li>
- <li>2.2 Simple Type with enumeration: supported</li>
- <li>2.3 and 2.4 List and Union Simple Type: supported</li>
- <li>2.5 Anonymous Simple Type: supported</li>
- <li>2.6 Simple Type with ecore:name: supported</li>
- <li>2.7 Simple Type with ecore:instanceClass: supported</li>
- </ul></li>
- <li>Complex Type Definition (Chapter 3)
- <ul>
- <li>3.1 Complex Type with extension or restriction: supported</li>
- <li>3.2 Anonymous Complex Type: supported</li>
- <li>3.3 Abstract Complex Type: supported</li>
- <li>3.4 Mixed Complex Type: supported</li>
- <li>3.5 Complex Type with ecore:name: supported</li>
- <li>3.6 Complex Type with ecore:featuremap: supported</li>
- <li>3.7 Complex Type with ecore:mixed: supported</li>
- </ul>
- </li>
- <li>Attribute declaration (Chapter 4), attributes have not been tested extensively.
- However because the java representation of EMF objects makes no difference between attributes and elements.
- The testcases for element declarations also in general apply to attribute declarations.
- <ul>
- <li>4.1 Attribute of type xsd:ID: supported</li>
- <li>4.2 Attribute of type xsd:IDREF, xsd:IDREFS, xsd:anyURI: supported</li>
- <li>4.3 Required Attribute: to be tested</li>
- <li>4.4 Attribute with default: supported</li>
- <li>4.5 Qualified Attribute: supported</li>
- <li>4.6 Attribute reference: supported</li>
- <li>4.7 Global Attribute: not relevant for persistence</li>
- <li>4.8 Attribute with ecore:name: supported</li>
- </ul></li>
- <li>Element Declaration (Chapter 5)
- <ul>
- <li>minOccurs/maxOccurs: all values of minOccurs and maxOccurs are supported</li>
- <li>5.1 Element of type xsd:anyType: supported</li>
- <li>5.2 Element of type xsd:ID: supported</li>
- <li>5.3 Element of type xsd:IDREF, xsd:IDREFS, xsd:anyURI: supported</li>
- <li>5.4 Nillable Element: supported</li>
- <li>5.5 Element with default: supported</li>
- <li>5.6 Qualified element: supported</li>
- <li>5,7 Element reference: supported</li>
- <li>5.8 Global Element: not relevant for persistence</li>
- <li>5.9 Element with substitution group: supported</li>
- <li>5.10 Abstract Element: supported</li>
- <li>5.11 Element with ecore:name: supported</li>
- <li>5.12 Element with ecore:opposite: supported</li>
- <li>5.13 Element with ecore:featureMap: supported</li>
- </ul></li>
- <li>Model group (Chapter 6)
- <ul>
- <li>6.1 Non repeating xsd:choice: supported</li>
- <li>6.2 Repeating model group: supported</li>
- <li>6.3 Repeating model group reference: supported</li>
- <li>6.4 Model group with ecore:featureMap: supported</li>
- <li>6.5 Model group with ecore:name: supported</li>
- </ul>
- </li>
- <li>Wildcards (Chapter 7): supported</li>
- <li>Annotations (Chapter 8): not relevant for persistence</li>
- <li>Predefined Schema Simple Types (Chapter 9): almost all simple types which are persistable (see
- <a href="http://www.jpox.org/docs/1_1/types.html">here</a>) are supported. The following types are
- not yet supported: gYear, gYearMonth, gDay, gMonthDay, duration.</li>
- </ul>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/goal.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/goal.xml
deleted file mode 100644
index 5c596fc32..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/goal.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2005-2006, Elver.org (http://www.elver.org).
-
- Licensed 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.
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.1 $ $Date: 2006/08/03 09:58:08 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Project Goal</title>
- </header>
- <body>
- <p>The Elver project aims to combine existing open source technologies to develop
- a code and ui generation framework which takes away a lot of
- standard work of the software developer. The Elver project uses XML Schemas as the basis
- for modeling, code and ui generation.
- </p>
- <section>
- <title>XML Schema</title>
- <p>The experience with XML Schema over the past years have been very positive. We like the
- flexibility and power of the syntax. In addition we have noticed that it it is very efficient to
- define a model using XML Schemas (in contrast to using advanced and complex modeling tools).
- </p>
- </section>
- <section>
- <title>Code Generation</title>
- <p>It is our belief that code generation is the future for software development. Most, if not all, plumbing
- code can be replaced by a code generation framework. In addition code generation can take care of many
- business rules if supported by the modeling language. The <a href="http://www.eclipse.org/emf">EMF project</a>
- is an example of a code generation framework for XML Schemas.</p>
- </section>
- <section>
- <title>UI Generation</title>
- <p>Even more than with standard coding developers time is 'wasted' on ui development. Especially
- standard data maintenance views take to much development time in relation to the actual value these functions
- have for the end-customer. By using a powerfull modeling language as XML Schema as the
- input for a ui-generation framework it is possible to generate advanced web-UI's with
- very little coding.
- </p>
- </section>
- <section>
- <title>Project approach</title>
- <ul>
- <li>Use and adhere to open standards</li>
- <li>Integrate and extend existing technologies to assemble a complete solution</li>
- <li>Develop open source solutions to facilitate a broad use of our and other's technology</li>
- </ul>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/history.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/history.xml
deleted file mode 100644
index 8b072af21..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/history.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2005-2006, Elver.org (http://www.elver.org).
-
- Licensed 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.
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.1 $ $Date: 2006/08/03 09:58:08 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Elver History</title>
- </header>
- <body>
- <p>The Elver project originates from the company <a href="http://www.springsite.com/en">Springsite</a>. The
- first focus of Springsite was to facilitate the developer and increase his/her
- effectiveness when developing software.</p>
-
- <p>
- To achieve this a XML application framework was developed. The main feature
- of this framework is its ability to model using xml schemas. Based on the xml schema model the framework
- generates java source code and data maintenance (web) views. These views automatically (with zero coding)
- support complex xml schema structures such as multi-occurence choices with recursive types.
- This makes it possible to define a model in XML Schema and have a working information management system without coding.
- Only the business functions had to be hand-coded to finish the solution.
- </p>
- <p>
- Over time we noticed that it was, for a small company like ours, difficult to keep up with the
- developments taking place in the open source space. In addition we wanted to re-develop our framework from
- scratch.
- </p>
- <p>
- We decided to organize and do this re-development in a different way and started the Elver project.
- Our aim with the Elver project is to achieve a broader use of our technology, have more contact
- with other developers and increase the quality of our work.
- </p>
- <p>Please continue reading <a href="goal.html">here</a>
- for the main goal of the Elver project.</p>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/ELV.gif b/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/ELV.gif
deleted file mode 100644
index 0a19edd02..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/ELV.gif
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/Glasseels.jpg b/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/Glasseels.jpg
deleted file mode 100644
index 89f20106a..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/Glasseels.jpg
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/Runtime.jpg b/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/Runtime.jpg
deleted file mode 100644
index b37206a94..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/Runtime.jpg
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/disable.gif b/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/disable.gif
deleted file mode 100644
index e9defbb1b..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/disable.gif
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/elver_menu.gif b/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/elver_menu.gif
deleted file mode 100644
index 0c67370b0..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/elver_menu.gif
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/empty.gif b/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/empty.gif
deleted file mode 100644
index 0dd0757f7..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/empty.gif
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/enhancer_error_no_class.jpg b/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/enhancer_error_no_class.jpg
deleted file mode 100644
index 38ac76779..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/enhancer_error_no_class.jpg
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/error_jdo.jpg b/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/error_jdo.jpg
deleted file mode 100644
index 4fff88539..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/error_jdo.jpg
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/header2.gif b/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/header2.gif
deleted file mode 100644
index 401431f34..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/header2.gif
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/icon.png b/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/icon.png
deleted file mode 100755
index 3be8bbbe6..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/icon.png
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/jpox_eclipse_classpath.gif b/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/jpox_eclipse_classpath.gif
deleted file mode 100644
index fdbbaceaf..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/jpox_eclipse_classpath.gif
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/jpox_eclipse_classpath2.gif b/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/jpox_eclipse_classpath2.gif
deleted file mode 100644
index f7542558c..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/jpox_eclipse_classpath2.gif
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/jpox_logo_small.gif b/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/jpox_logo_small.gif
deleted file mode 100644
index e426856bb..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/jpox_logo_small.gif
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/log_file.jpg b/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/log_file.jpg
deleted file mode 100644
index 7721be0ee..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/log_file.jpg
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/plugin_dependency.gif b/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/plugin_dependency.gif
deleted file mode 100644
index eff70cb42..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/plugin_dependency.gif
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/plugin_error.jpg b/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/plugin_error.jpg
deleted file mode 100644
index 197b4f11b..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/plugin_error.jpg
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/resource_factory.gif b/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/resource_factory.gif
deleted file mode 100644
index 00aff5a88..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/resource_factory.gif
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/resource_utility.jpg b/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/resource_utility.jpg
deleted file mode 100644
index f7daba5d4..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/images/resource_utility.jpg
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/index.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/index.xml
deleted file mode 100644
index 314b564e3..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/index.xml
+++ /dev/null
@@ -1,68 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.6 $ $Date: 2006/09/29 20:44:38 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title></title>
- </header>
- <body>
- <section>
- <title>Elver Persistency has moved to Eclipse.org as Teneo within EMFT</title>
- <p><strong>Elver persistency has moved to eclipse.org as the Teneo project within EMFT:</strong></p>
- <ul>
- <li>The elver.org website will remain the source for documentation of Teneo.</li>
- <li>The source code can be retrieved from Eclipse cvs. The new main java package name is now: org.eclipse.emf.teneo.jpox</li>
- <li>Teneo/Elver is part of the EMFT build process, builds can be downloaded here:
- <a href="http://download.eclipse.org/technology/emft/downloads/">EMFT Downloads</a>
- (select the Teneo project in the listbox). For the Eclipse update manager use:
- http://download.eclipse.org/technology/emft/updates/site-interim.xml.</li>
- <li>Support is given on the EMFT newsgroup: news://news.eclipse.org/eclipse.technology.emft.</li>
- </ul>
- </section>
- <section>
- <title>EMF Persistency Solution using JDO/JPOX</title>
- <p>The EMF - JPOX integration supports
- all EMF and JDO 2.0/JPOX features. EMF objects can be persisted in most major relational databases and retrieved using an EMF resource approach or
- advanced JDOQL queries.
- </p>
- <p><strong>Current version (Teneo): 0.7.5 BETA for Eclipse 3.2/EMF 2.2/JPOX 1.1.2 and jdk 1.4 and later,
- <a href="status.html">Status</a>, <a href="features.html">Features</a>, <a href="changelog.html">Change Log</a></strong></p>
- <p><strong>Releases are not guaranteed to be backward compatible. Before upgrading first read the <a href="changelog.html">Change Log</a> and
- <a href="upgrading.html">Upgrading</a> pages.</strong></p>
- <p><em>For troubleshooting please visit the <strong><a href="knownissues.html">Known Issues</a></strong>
- and <strong><a href="troubleshooting.html">Troubleshooting</a></strong> pages.</em></p>
- </section>
- <section>
- <title>JPOX</title>
- <p>The EMF - JDO/JPOX integration is a layer over the JPOX 1.1.0 (JDO 2.0) product. JPOX is the reference
- implementation for JDO 2.0. The jpox website has excellent documentation.
- Please visit JPOX at <a href="http://www.jpox.org">http://www.jpox.org</a>.
- </p>
- <p>
- <a href="http://www.jpox.org"><img src="images/jpox_logo_small.gif" alt="JPOX Logo"/></a>
- </p>
- </section>
- <section>
- <title>EMF</title>
- <p>The <a href="http://www.eclipse.org">Eclipse Modeling Framwork (EMF)</a> is a modeling and
- code generation framework which generates source code from different sources: an UML diagram or
- a XML Schema. For more information see <a href="http://www.eclipse.org/emf">here</a>.
- </p>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/inheritance.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/inheritance.xml
deleted file mode 100644
index 8d6da7945..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/inheritance.xml
+++ /dev/null
@@ -1,86 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 10:42:35 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Inheritance Mapping</title>
- <abstract>Discusses the supported inheritance mapping strategies</abstract>
- </header>
- <body>
- <section><title>Supported inheritance mapping strategies</title>
- <p>The Teneo OR Mapper supports two of the three inheritance mapping of JPOX
- (see <a href="http://www.jpox.org/docs/1_1/inheritance.html">here</a>
- on the jpox website):</p>
- <ul>
- <li>Table-per-class-hierarchy or super-class: in this scenario the classes of one
- class hierarchy are all mapped to one table. In JDO-2 this is called superclass-table.</li>
- <li>Table-per-subclass or joined-subclass: in this strategy each subclass will have its own table. To
- retrieve an object from the database the superclass and subclass tables are joined.
- This also applies to subclasses of subclasses. In JDO-2 this is called new-table.</li>
- </ul>
- <p>The OR Mapper can generate a mapping file using either of the two mapping strategies.
- The two approaches are visible as separate menu options in the Teneo menu (when clicking
- on a Java package in Eclipse).</p>
- <p>There is also another way of mapping inheritance structures: MappedSuperclass. In this method the superclass
- is not persisted by itself and does not have its own table. All the properties of the superclass are stored in the
- table(s) of the subclass(es). MappedSuperclass is supported by setting an EJB3-like annotation. For more information see the EJB3 spec or
- the jpox website (<a href="http://www.jpox.org/docs/1_1/inheritance.html">subclass-table</a>).</p>
- </section>
- <section><title>Specifying inheritance mapping per class hierarchy</title>
- <p>There are cases where it is necessary
- to use different inheritance mapping techniques for different class hierarchy within
- one application or project. This can be achieved by adding specific EJB3-like annotations to the type definition
- (uml or XML Schema).</p>
- <p>As an example see the following type definition of Address which
- sets the inheritance mapping strategy to JOINED (joined subclass) for Address and all
- its subtypes:</p>
- <source><![CDATA[
-<xsd:complexType name="Address" abstract="true">
- <xsd:annotation>
- <xsd:appinfo source="teneo.jpa">@Inheritance(strategy=JOINED)</xsd:appinfo>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:element name="name" type="xsd:string"/>
- <xsd:element name="street" type="xsd:string"/>
- <xsd:element name="city" type="xsd:string"/>
- </xsd:sequence>
-</xsd:complexType>
- ]]></source>
- <p>The inheritance-mapping annotation can have one of the two following values: JOINED or SINGLE_TABLE.</p>
- <p>The above annotation can also be added in UML. Please use the same values for the
- source and the key.</p>
- <p><strong>The inheritance annotation has changed, from the 0.7.2 to the 0.7.5 release, to an java annotation syntax format.</strong></p>
- </section>
- <section><title>Multiple Inheritance Support</title>
- <p>In EMF it is possible to define multiple inheritance structures. However, JPOX can not really handle multiple inheritance.</p>
- <p>Therefore
- during the mapping the first supertype is considered to be the real parent (for jpox). The properties of the
- other super types are mapped together with the subclass. The other super types will have their own tables in the
- database but there will be no relations between the subclass table and its other superclass tables.
- </p>
- </section>
- <section><title>Links to Inheritance-Mapping Articles</title>
- <ul>
- <li><a href="http://www.jpox.org/docs/1_1/inheritance.html">Inheritance page</a>
- on the JPOX website</li>
- <li><a href="http://www.ambysoft.com/essays/mappingObjects.html">Mapping Objects To Relational Databases</a>
- by Scott Ambler</li>
- </ul>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/installation.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/installation.xml
deleted file mode 100644
index 6badf32a5..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/installation.xml
+++ /dev/null
@@ -1,107 +0,0 @@
-<?xml version="1.0"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
-<document>
- <header>
- <title>Download and Install</title>
- <notice>Describes the steps to install jpox and the jpox emf integration.</notice>
- <abstract>The installation consists of the steps listed below.
- </abstract>
- </header>
- <body>
- <section id="emf">
- <title>EMF Installation</title>
- <p>EMF can be installed in Eclipse using the Eclipse update manager.
- See <a href="http://eclipse.org/emf/docs.php?doc=docs/UsingUpdateManager/UsingUpdateManager.html">here</a> for more information.
- It is best to install the EMF SDK 2.2.* which contains the complete bundle with emf, xsd and sdo.
- </p>
- </section>
- <section>
- <title>EMF - JPOX Persistency Plugin Installation</title>
- <p> The EMF Persistency plugin can be downloaded from the eclipse.org/emft update site.
- To configure this update site in Eclipse go to: <em>Help &gt; Software Updates &gt; Find and Install</em>. Select
- 'Search for new features to install' and click next.
- </p>
- <p> At this window create a new update site by clicking
- on 'New Remote Site'. Enter any name you want, as a url enter: <em>http://download.eclipse.org/technology/emft/updates/site-interim.xml</em>,
- and press ok.
- </p>
- <p>Select the newly created update site and press finish. When the update site contents are shown, select the
- Teneo EMF Persistency (possibly followed by version information) Feature.</p>
- <p>The feature consists of a number of plugins: org.eclipse.emf.teneo.jpox.eclipse and org.eclipse.emf.teneo.jpox. The first plugin contains the OR Mapper which
- generates jdo descriptor files. The second plugin contains the jar files for the EMF persistency runtime.
- </p>
- <p>After you have installed the plugin and restarted eclipse you will see a new menu entry called Teneo when
- you right click on an ecore file.
- </p>
- <p><em>Note, if you have a earlier version of the EMF persistency plugin installed then you it is possible that
- you need to manually disable the previous version of the EMF - JPOX feature, see <a href="upgrading.html">here</a>.</em></p>
- </section>
- <section>
- <title>JPOX Libraries</title>
- <p>The EMF persistency feature does not contain the JPOX libraries (and its dependencies).
- Please download the JPOX libraries separately from: <a href="http://www.jpox.org">the JPOX website</a>.</p>
- <p><strong>A common approach is to place the JPOX libraries in a separate plugin on which your model plugin will depend.
- If you do this then you should also set the BuddyPolicy in the plugin containing the JPOX jars (in the Manifest.MF),
- for example: Eclipse-BuddyPolicy: dependent.</strong></p>
- </section>
-
- <section id="jpoxplugin">
- <title>JPOX - Eclipse Enhancement Tool</title>
- <p>
- JPOX delivers a plugin to automatically enhance class files after a package.jdo has been generated.
- This jpox - eclipse plugin can be downloaded from the jpox website <a href="http://www.jpox.org/docs/download.html">here</a>.
- After unzipping the JPOX zip file and placing it in the Eclipse plugin directory, restart Eclipse.
- There should be an extra menu entry called JPOX when you right click on an ecore file..
- <em>If this menu options is not shown then please read the following:
- <a href="jpox_plugin_error.html">known issue JPOX plugin and Eclipse 3.1</a>.</em>
- </p>
- <p>
- As a final step the classpath of the jpox plugin has to be set. This is done
- in Eclipse <em>Window &gt; Preferences &gt; JPOX Eclipse Plugin &gt; Classpath Settings</em>.
- There are two methods: 1) add specific jar files (can be found in the org.elver.store.jpox.runtime plugin) to the plugins, or
- 2) check 'use project classpath when running tools'. This last option is the easiest as you probably only need to
- specify the log4j jar separately.
- </p>
- </section>
-
- <section id="emfjpoxruntime">
- <title>Using the EMF - JPOX Runtime plugin</title>
- <p>The installed runtime plugin (org.eclipse.emf.teneo.jpox) can be used in two ways:
- 1) in an EMF model plugin, 2) in a non-plugin project. </p>
- <section>
- <title>Using the runtime plugin in an EMF model plugin</title>
- <p>To use the runtime plugin in an EMF model plugin go through the following steps (in this order):</p>
- <ol>
- <li>In the plugin.xml, dependency tab, of the EMF model plugin project add a dependency to
- the EMF persistency plugin (org.eclipse.emf.teneo.jpox)</li>
- <li>In case also an EMF editor project was generated the org.eclipse.emf.teneo.jpox
- plugin also needs to be added to the dependencies of the editor plugin.</li>
- <li>Right click on the EMF model project and in the JPOX menu choose 'Add JPOX Support'.
- Next check 'Enable Auto-Enhancement' in the same JPOX menu</li>
- <li>Add a JDBC driver to the EMF editor (or the model) plugin project</li>
- </ol>
- <p>Note: see <a href="troubleshooting.html#Build+path+contains+duplicate+entries">here</a> if you
- get the following message in the problem view: <em>build path
- contains duplicate entry: ....</em>.</p>
- </section>
- <section>
- <title>Using the runtime layer in a non-plugin EMF project</title>
- <p>In case of a non-plugin project the jar files present in the following plugins
- need to be added to the classpath (in addition to the jpox jars):</p>
- <ul>
- <li>org.eclipse.emf.teneo</li>
- <li>org.eclipse.emf.teneo.annotations</li>
- <li>org.eclipse.emf.teneo.jpox (note: there are two jar files in this plugin, both are required)</li>
- </ul>
- <p>In addition a jdbc driver should be added to the classpath.</p>
- </section>
- </section>
- </body>
-</document> \ No newline at end of file
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/issues.txt b/doc/org.eclipse.emf.teneo.doc/doc/jpox/issues.txt
deleted file mode 100644
index d670249dd..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/issues.txt
+++ /dev/null
@@ -1,195 +0,0 @@
-
-Issues integration emf and jpox
-===========================================
-
-Handling of bidirectional 1:n relations:
-- JPOX can only work with jdo-descriptor files on implementation class level. Only one implementation class per
-interface is supported!
-- enum is handled by storing the string value in a col. in the database. Only issue is that the typewrapper
-needs to be registered for each concrete subclass of AbstractEnumerator. This requires package initialisation.
-- (solved, however not for addunique and others) jpox automatically sets the 1-side of the relation when an object is added to a EList. Assume that
-object a is added to the elist of object b, when a is added to the elist of b the following happens:
-1) JPOX sets b in the opposite in a, 2) a is added to the elist, 3) the elist sets b in a,
-4) emf detects that the opposite was already set and inverseremoves a from b. This results that
-a points to b but that a is not present in the list of b.
-- EList handling does not work correctly for the basicadd calls, if jpox also handles bi-directional relations
-then jpox will also for the basic add call set the other side of the relation (without notification chains btw).
-So if this is a problem then jpox should not be responsible for handling bi-directional relations.
-- The EListWrapper returns EListIterators when the iterator methods are called. In jpox this should maybe be
-scoiterators (which also handle updates). We are not certain about this.
-- A primary key defined in the xsd consisting of multiple fields is not supported. In this case the
-application will automatically use data store identity
-- If A refers to B and for this a foreign key field has to be created in table B then it is better (the first time) to do a
-makePersistent on A before a B. In this way jpox knows that an extra field should be created in the table B. If the makepersistent
-is done the other way around then jpox gets confused.
-
-JPOX evaluation:
-- Like: (very very much) its dynamic creation of tables and columns.
-- Like: its distributed definition, package.jdo's may be distributed over different packages and only require
-to describe the contents of that package
-- Like: its standards compliance (jdo!)
-- Not like: actually only works on concrete class implementation level and not on interface level. This is
-especially difficult for collections of interfaces.
-- Not like: less extendable on the area of object creation and collection creation. Missed a bit a 'registrable' factory approach
-or an ioc approach (see ojb). There were workable work-arounds for these issues.
-
-OJB evaluation
-- Like: its extendability by allowing own factories for object creation and collection creation. Detailed control on how
-fields are persisted (PersistentField concept)
-- Like: its approach to have multiple layers with different api's (pb, ojb, odmg)
-- Like: its very responsive mailing list and developers which were willing to help out when requested
-- Like: its support for interfaces when defining or mappings, collection fields and normal object fields (very nice)
-- Like: binary class enhancement is not required
-- Like: multiple different version of or mappings can be present in one runtime version
-- Not like: does not really offer a viable jdo implementation (at least ojb people express that it is not production proof)
-- Not like: the creation of tables and columns is not done by ojb but should be done by another tool (commons-sql/ddlutils).
-The maturity of these tools is unsure
-- Not like: in the standard approach the descriptor files need to be very centralised. This is easily overcome by dynamically
-registering new class mappings using direct java calls.
-- Not like: does not support lists/collections of simple types
-
->> TODO
-- Support Map
-- Automatic Validation at commit or resource save
-- Support user-defined types
-- More tests, for example testing of jdo queries, testing of different hierarchy mappings
-- Extend jpox resource to filter on type
-- Now only one type of class hierarchy mapping is supported (default of jpox)
-
->> Transactions
-The following setting should be set to false:
-javax.jdo.option.Optimistic = false
-JPOX works best with pessimistic transaction, these are actually not so pessimistic because no locking is done.
-The locking of database records is only done when org.jpox.useUpdateLock property is set to true, but we use
-false in our test cases here.
-
->> Fetch Group and resource
->>>>>> DOES NOT WORK COMPLETELY BECAUSE OF CONTAINER REPAIR ACTIONS
-The jpox package.jdo generator generates for each class a fetchgroup which only contains the primitive fields and the
-containment references (excluding collections), other reference fields and collections are not read.
-The fetchgroup has the same name as the class.
-This fetch group is used when a resource is loaded. Normally jpox loads all primitive fields and single references but
-all multi-occurence fields (i.e. collections) are lazely loaded.
-
-If you have very large datasets then it is possible to load a very minimal part of a class (nl. nothing). This is
-accomplished by adding a parameter fetch_minimal=true to the url to retrieve the resource.
-
->> EMF Validation
-There is a JPOX Life cycle listener which can be attached to a Persistence Manager Factory. This listener will automatically
-check if an eobject is valid just before it is stored. See EMFValidationListener.
->>>> DOES NOT WORK because pre-store event is called when an object is only partially constructed.
-
->> Strange:
-org.jpox.delayDatastoreOperationsUntilCommit to true does not work correctly in case of collection or
-two way relations.
-
->> If a field has a default then a column is added in the field tag.
-
->> Contained objects should not be added directly to a resource, adding to their container is enough.
-If a contained object is added directly to a container then this results in an error (in emf).
-
->> Lists of user-defined primitive types are not supported, mainly enumerates
-
->> A contained object can be read directly from the database, if this is done then the
-container value is not set.
-
->> Two-way relations (1:1) using interfaces
-If there are multiple classes implementing an interface used in a two way relation then this does not
-work correctly, when relations are removed by setting fields to null jpox does not correctly nullify the
-relevant columns. Note for one way relations this works fine.
-
-Relations and delete and update cascading (A to B)
-
-1:1 one way/two way, Required and Not Required, Contained/Non-Contained
-For relations foreign-keys are always set at delete-action="restrict" because the reference has to be
-deleted on object level and then the referenced object can be deleted.
-
-For relations null-values are not checked on database level because jpox does not handle this correctly. If
-a reference field is not-nullable then the refering object can not be deleted (because of foreign-key
-constraints which are not disabled during a delete of a complete structure).
-
-If contained then dependent="true"
-
-For a two way relation the mapped-by is set on one side of the relation.
-
-If you have 1:1 containment relations then it is important to set the jpox caching property to one of the classes
-in org.elver.store.jpox.emf.cache, e.g.:
- properties.setProperty("org.jpox.cache.level1.type", "org.elver.store.jpox.emf.EMFSoftRefCache");
-Note that the emf/jpox will automatically use the org.elver.store.jpox.emf.EMFWeakRefCache if you do not set anything.
-This class extends the jpox WeakRefCache and has the exact same behavior (in addition to repairing eContainers).
-
-and set the following jdo property to false:
- properties.setProperty("javax.jdo.option.IgnoreCache","false");
-This is required because the jpox integration uses the addition of an object to the cache as a trigger to set the
-eContainer of any of its contained children. Note that for 1:n relations this repair is done differently.
-
-1:n one way, Required
-Required means here that A should at least point to one B. This occurence constraint can not be checked/controlled on
-sql level (neither can for example a maxOccurs="5" be controlled on sql level). So we should not try to do this!
-The only thing which can be done is set null-value=exception on the field level.
-
-
-Note that if the relation is non-contained then always a join table is used because we actually do not know if this is a
-1:n or a n:m relation! This is not clear from the xsd.
-
-A-Side
-In case of a containment relation the dependent=true should be used and for certainty also the dependent-element=true is
-set on the collection.
-If not a containment relation then the join table is used, in this case delete-action should maybe not be specified?
-
-We assume here that if B is deleted then jpox will automatically delete the join table record. This assumes that from
-the perspective of B the delete-action=null, however because B has no field to set this on we can not specify this!
-
-
-
-
-
-
-
-
-
-
-
-
-
-1:n one way, Not Required
-Same case as previous only null-value is not set.
-
-1:n two way, Required by A, Required by B
-For two-way relations we can set the delete-action constraints on either side. Note that the delete-action is
-mainly related to the occurence/required constraint on the other side!
-
-A-Side
-If B is contained in A then A gets a dependent=true on the field and collection tags.
-If B is not contained in A then A gets a delete-action=restricted, because A may not be deleted if a B refers to it.
-B-Side
-
-What is specified at the B side, because we do not know the occurence constraints? However
-
-Similar to previous one for the case of A, however B has a required relation to the A, this means that A can not be
-deleted without consequence. However where should the delete-action=restrict be placed?? In the jdo part of A or of B?
-
-
-
-1:n two way, Required by A, Not Required by B
-
-1:n two way, Not Required by A, Required by B
-
-1:n two way, Not Required by A, Not Required by B
-
-n:m two way, Requied by A, Required by B
-
-n:m two way, Requied by A, Required by B
-
-n:m two way, Requied by A, Required by B
-
-
-
- JPOXInitializer.INSTANCE.registerPackage(theLibraryPackage);
-
- // create an initial pmf
- JPOXHelper.INSTANCE.createRegisterPersistenceManagerFactory("library", "com.mysql.jdbc.Driver",
- "jdbc:mysql://127.0.0.1:3306/library", "root", "root", "library");
-
- Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("library", new JPOXResourceFactory());
-
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/jpox_details.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/jpox_details.xml
deleted file mode 100644
index 3cd4100e3..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/jpox_details.xml
+++ /dev/null
@@ -1,236 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.3 $ $Date: 2006/09/29 20:33:14 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>EMF - JPOX Integration Details</title>
- <abstract>Discusses a number of specific implementation and use details of the EMF - JPOX integration.</abstract>
- </header>
- <body>
- <section><title>Requirements on EObjects: InternalEObject</title>
- <p>The EMF JPOX persistency layer only requires that the persisted objects implement
- the org.eclipse.emf.ecore.InternalEObject interface.</p>
- </section>
- <section><title>Requirements on EPackages</title>
- <p>The OR Mapper searches for the EPackage classes in the project and uses the classpath of the project of
- the selected ecore file. The only requirement is that the EPackage classes (the generated interface)
- extend the EMF EPackage interface directly.</p>
- </section>
- <section>
- <title>Persisted EMF Objects after Commit</title>
- <p>When EMF objects have been persisted and the transaction is committed then these objects can not be
- changed anymore. Only read access is possible. Please refer to the
- <a href="http://www.jpox.org/docs/1_1/attach_detach.html">relevant JDO documentation</a> about this topic.</p>
- </section>
- <section><title>Classloader</title>
- <p>Teneo performs explicit classloading in specific locations. It is possible to set the classloader which is being
- user by Teneo. This can be done through the org.eclipse.emf.teneo.classloader.ClassLoaderResolver class. In this class you can
- register a org.eclipse.emf.teneo.classloader.ClassLoaderStrategy. The registered ClassLoaderStrategy is used by
- Teneo to explicitly load classes.</p>
- </section>
- <section>
- <title>Custom Types</title>
- <p>You can register your own TypeMappings through a
- call to org.jpox.TypeManager.addType. This needs to be done during initialization of the
- Persistence Manager Factory. To accomplish this you need to override <a href="jpoxdatastore.html#JpoxDataStore">JPOXDataStore</a> and the
- method addCustomTypes(...). Then you can register your own typemapping as follows:</p>
- <source>
-tm.addType(List.class.getName(), EListMapping.class.getName(),
- EListWrapper.class.getName(), false, "1.4", true, false, false, clr);
- </source>
- <p>See the jpox documentation <a href="http://www.jpox.org/docs/1_1/types_userdefined.html">here</a>, it is not necessary
- to use the xml file to register type mappings, the call to the TypeManager above will also work.</p>
- </section>
- <section id="cutpaste">
- <title>Move an EObject between EContainers or support cut and paste in the EMF editor</title>
- <p>In the standard approach it is not possible to move an EObject from one containment relation to another containment relation. A move
- between containment relations corresponds to a cut and paste in the EMF editor. The reason is that Teneo will
- specify an dependent-element="true" for a containment relation. This has a consequence that JPOX will throw
- an exception (Cannot write fields to a deleted object) when you move an EObject from its container to another container.</p>
- <p><em>Solution:</em> as a solution you can prevent the dependent-element from being set, by specifying
- an annotation on the relevant EReference features. As an example:</p>
- <source><![CDATA[
-<xsd:element maxOccurs="unbounded" minOccurs="0" name="books" type="lib:Book">
- <xsd:annotation>
- <xsd:appinfo source="teneo.jpa">@OneToMany(cascade={MERGE,PERSIST,REFRESH,REMOVE})</xsd:appinfo>
- </xsd:annotation>
-</xsd:element>
- ]]></source>
- <p>This annotation means that cascading deletes are still enforced but a child (the Writer) can exist without its
- parent (the Library).</p>
- <p>When this annotation is used in the context of a JPOX Resource then when an EObject is removed from
- its container then it will also be removed from the resource and from the database. However, when you set this
- annotation and not work with JPOX Resources then the removed EObject is not removed from the database and will
- be present without a container!</p>
- </section>
- <section>
- <title>Validation</title>
- <p>When storing and retrieving EMF objects from a JPOX store it is not required to work with a
- EMF type Resource. However the standard EMF validator checks if every EObject is
- present in an EMF resource and that all referenced EObjects are in the same resource. So, if
- this standard validator is used unnecessary errors are thrown.
- </p>
- <p>To prevent this situation you can register your own validator which does not perform this resource check.
- For your convenience it is also possible to use the org.eclipse.emf.teneo.jpox.validation.JPOXValidator. See its
- source code below.
- </p>
- <p>
- Validators are registered using a call to put method of the EValidator.Registry.INSTANCE object.
- </p>
- <source>
-public class JPOXValidator extends EObjectValidator
-{
- /**
- * Overrides the method from the superclass to prevent this check because it
- * is not required in the context of a jdo store. Note that this assumes that
- * an object and its references are all stored in the same jpox database.
- */
- public boolean validate_EveryReferenceIsContained(EObject eObject, DiagnosticChain diagnostics,
- Map context)
- {
- return true;
- }
-}
- </source>
- </section>
- <section><title>Force a join table for 1:n relations</title>
- <p>In a relational database 1:n relations are often modeled by adding a foreign-key (to the
- parent) in the child table/object. The disadvantage of this approach is that duplicates
- are not supported. To support duplicates in an elist a join table is required. To signal to
- Teneo, that a join table should be used, the annotation as in this example can be used:</p>
- <source><![CDATA[
-<xsd:element name="joinedItem" type="xsd:anyURI" ecore:reference="this:Item" maxOccurs="unbounded">
- <xsd:annotation>
- <xsd:appinfo source="teneo.jpa">@OneToMany(unique=false)</xsd:appinfo>
- </xsd:annotation>
-</xsd:element>
- ]]></source>
- <p>Based on this annotations Teneo will generate a join table for this model. Note that
- this annotation can be combined with the indexed annotation.</p>
- <p><em>The unique annotation does not exist in the EJB3 spec and is a Teneo extension.</em></p>
- </section>
- <section>
- <title>JPOX/Relational Validation and EObject persistency</title>
- <p>When an object is made persistent using JPOX then it is almost always directly written to the backing
- relational store. At that moment also constraints, such as nullable fields, are checked. This means that
- only valid EObjects should be made persistent using the PersistenceManager makePersistent call.</p>
- <p><em>An object is also made persistent when it is added to the collection of a persistent object.
- So only valid objects should be added to the collection of a persistent object</em>. See the example below.</p>
- <p>The following source will result in an error because the Book object does not have its title set when
- it is added to the library.</p>
- <source>
-Book book = LibraryFactory.eINSTANCE.createBook();
-lib.getBooks().add(book); // ERROR, here the book does not have a title yet!
-book.setAuthor(writer);
-book.setPages(305);
-book.setTitle("The Hobbit");
-book.setCategory(BookCategory.SCIENCE_FICTION_LITERAL);
- </source>
- <p>To make this valid, the book should be added to the library after all its values have been set.</p>
- </section>
- <section>
- <title>PersistenceManagerFactory configuration</title>
- <p>PersistenceManagerFactories should be created through a call to the relevant methods in the JPOXHelper.INSTANCE
- object. If only the database connection information is passed then the JPOXHelper will
- use the configuration properties below. for
- more information see the jpox site <a href="http://www.jpox.org/docs/1_1/pmf.html">here</a>.</p>
- <source>
-properties.setProperty(PMFConfiguration.JDO_IGNORECACHE_PROPERTY, "false");
-properties.setProperty(PMFConfiguration.JDO_RETAINVALUES_PROPERTY, "true");
-properties.setProperty(PMFConfiguration.JDO_NONTRANSACTIONAL_READ_PROPERTY, "true");
-
-properties.setProperty(PMFConfiguration.STRING_DEFAULT_LENGTH_PROPERTY, "255");
-
-properties.setProperty("javax.jdo.PersistenceManagerFactoryClass", "org.jpox.PersistenceManagerFactoryImpl");
-
-// set it all to false because of performance
-properties.setProperty(PMFConfiguration.AUTO_CREATE_SCHEMA_PROPERTY, "false");
-properties.setProperty(PMFConfiguration.AUTO_CREATE_CONSTRAINTS_PROPERTY, "false");
-properties.setProperty(PMFConfiguration.AUTO_CREATE_SCHEMA_PROPERTY, "false");
-properties.setProperty(PMFConfiguration.AUTO_CREATE_TABLES_PROPERTY, "false");
-properties.setProperty(PMFConfiguration.VALIDATE_COLUMNS_PROPERTY, "false");
-properties.setProperty(PMFConfiguration.VALIDATE_CONSTRAINTS_PROPERTY, "false");
-properties.setProperty(PMFConfiguration.VALIDATE_TABLES_PROPERTY, "false");
-
-properties.setProperty(PMFConfiguration.CACHE_LEVEL_1_TYPE_PROPERTY,
- "org.eclipse.emf.teneo.jpox.cache.EMFWeakRefCache");
-properties.setProperty(PMFConfiguration.METADATA_JDO_FILE_EXTENSION_PROPERTY,
- JpoxHelper.INSTANCE.getJdoFileExtension());
- </source>
- <p><em>For the EMF - JPOX integration it is very important that as a level1 cache one of the
- cache implementations found in org.eclipse.emf.teneo.jpo.xemf.cache is used.</em></p>
- <p>The default String length is set to prevent a bug in MySql, the JDO default is 256.</p>
- <p>The AUTO_CREATE_* and VALIDATE_* properties are set this way for performance reasons. At initialization time the JpoxDataStore will override these properties to update the database schema,
- see also here <a href="jpoxdatastore.html#options">options</a>.</p>
- <p>You can set the file extension to use through the JpoxHelper.INSTANCE.setJdoFileExtension, this allows you to
- more easily test multiple package.jdo files.</p>
- <p>The current integration will not work properly if one of the following settings is used:</p>
- <ul>
- <li>org.jpox.delayDatastoreOperationsUntilCommit to true does not work with bi-directional references</li>
- <li>javax.jdo.option.Optimistic set to true does not work with bi-directional references.
- The current EMF/JPOX integration works with pessimistic transactions. However, in the current
- JPOX version records are not locked in the database (<a href="http://www.jpox.org/docs/1_1/transactions.html">see</a>).</li>
- </ul>
- </section>
- <section>
- <title>Fetch Group</title>
- <p>A FetchGroup defines which fields are read when an object is loaded from the data store. The EMF - JPOX
- integration sometimes overrides the working of a FetchGroup because containment references are always
- read.</p>
- </section>
- <section>
- <title>Direct read of contained objects, container feature not set</title>
- <p>When an object is contained and is read directly (using a JDO query) then its container feature is not set.
- For example, a Book is contained in the Library (see tutorial). If a jdo query reads all books then these books
- EMF objects do not have their container set. If a library object is read which contains books then
- the books will have their container feature set.</p>
- <p>Since the 0.6.3 release the container can be set explicitly after retrieving the
- contained EObjects directly from the database, see <a href="jpoxdatastore.html#setcontainer">here</a>.
- </p>
- </section>
- <section><title>Registering a Persistence Manager Factory Creator</title>
- <p>You can register your own persistence manager factory creator class. This
- class is called by Teneo to create a PersistenceManagerFactory. By registering your
- own PersistenceManagerFactoryCreator, you can override the creation of persistence managers etc.</p>
- <p>The persistence manager factory creator should implement the interface:
- org.eclipse.emf.teneo.jpox.PMFCreator. The creator can be registered using
- the method JpoxHelper.INSTANCE.setPMFCreator(....).</p>
- </section>
- <section>
- <title>Lazy loading and proxy objects</title>
- <p>As a default when an object is loaded from the JPOX store only the primitive type fields are read
- immediately. Reference fields and collections are lazely loaded, only when required. This behavior is
- very similar to the proxy object behavior of standard EMF resource implementations.</p>
- <p>If even 'more lazy' behavior is required then it is possible to set the fetch group on the
- PersistenceManager, <a href="http://www.jpox.org/docs/1_1/fetchgroup.html">see</a></p>
- </section>
- <section>
- <title>Hiding class names, using interfaces</title>
- <p>EMF is very interface oriented and tries to hide the generated implementation classes. JPOX
- on the other hand requires the use of the implementation classes in queries. The runtime layer
- supports the conversion of an EMF interface name to a implementation class through the JpoxHelper.INSTANCE.getInstanceClass method.
- With this it is possible
- to work with EMF interfaces without using the implementation class names directly.</p>
- </section>
- <section id="notjpoxsupported">
- <title>Not Supported by JPOX</title>
- <p>Lists of user-defined primitive types are not supported, an example is a list
- of enumerates</p>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/jpox_plugin_error.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/jpox_plugin_error.xml
deleted file mode 100644
index 960ab858e..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/jpox_plugin_error.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2005-2006, Elver.org (http://www.elver.org).
-
- Licensed 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.
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.1 $ $Date: 2006/08/03 09:58:08 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>JPOX Enhancer Plugin known issue</title>
- </header>
- <body>
- <p>
- There is a known bug in the JPOX Enhancer plugin for Eclipse 3.1. This bug can easily be solved by
- following the steps below. Note that this issue has been solved in the
- source tree of JPOX but not yet in the release.
- </p>
- <p>To solve this bug please follow the steps below:</p>
- <ol>
- <li>Goto the plugin directory within your Eclipse installation and goto the org.jpox.ide.eclipse.jdo_1.1.0.beta1
- directory.</li>
- <li>Open the plugin.xml with a text editor. Within the runtime tag in the top of the plugin.xml
- you will see two export tags. These need to be commented out.</li>
- </ol>
- <p>So the following part of the plugin.xml:</p>
- <source xml:space="preserve"><![CDATA[
- <runtime>
- <library name="jpox-eclipse-plugin.jar">
- <export name="*"/>
- </library>
- <library name="lib/dtdparser.jar">
- <export name="*"/>
- </library>
- </runtime>
- ]]></source>
- <p>needs to be replaced by:</p>
- <source xml:space="preserve"><![CDATA[
- <runtime>
- <library name="jpox-eclipse-plugin.jar">
- <!--<export name="*"/>-->
- </library>
- <library name="lib/dtdparser.jar">
- <!--<export name="*"/>-->
- </library>
- </runtime>
- ]]></source>
- <p><strong>We noticed that after following the above steps we had to move the jpox plugin directory out of
- the plugins directory, restart Eclipse, and then place the directory back and restart Eclipse again.
- It is unclear why this was required.</strong></p>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/jpoxdatastore.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/jpoxdatastore.xml
deleted file mode 100644
index 861511c50..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/jpoxdatastore.xml
+++ /dev/null
@@ -1,83 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 10:42:35 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>JpoxDataStore, JpoxHelper, Runtime options</title>
- </header>
- <body>
- <section id="JpoxDataStore">
- <title>The JpoxDataStore</title>
- <p>The JpoxDataStore object controls the persistence of a set of EPackage in a specific relational database. The JpoxDataStore
- contains a PersistenceManagerFactory and is responsible for creating and updating the database schema.</p>
- <p>A JpoxDataStore is created through the JpoxHelper.INSTANCE.createRegisterDataStore method. After creating a JpoxDataStore
- two methods should be called: setEPackages which set the EPackages handled by this JpoxDataStore and setProperties which
- sets the JPOX database connection information.</p>
- <p>The next important method is the initialize method which configures JPOX, creates the database schema and a
- PersistenceManagerFactory.</p>
- <p>After the JpoxDataStore is created it can be used to retrieve JDO PersistenceManagers using the getPersistenceManager method.</p>
- <p>The JpoxDataStore can also be used to import and export xml and xmi through the importDataStore and exportDataStore
- methods.</p>
- <p>The JpoxDataStore has a specific method to retrieve all referers to a passed EObject: getCrossReferencers. The
- getContainer method will return the container of a specific EObject.</p>
- </section>
- <section id="JpoxHelper">
- <title>The JpoxHelper</title>
- <p>The JpoxHelper is responsible for creating and registering a JpoxDataStore and offers a number of convenience
- methods. To get access to the JpoxHelper functionality you need to use the JpoxHelper.INSTANCE object.
- In addition the JpoxHelper allows you to register a PMFCreator.</p>
- <p>The PMFCreator is called by Teneo to create a PersistenceManagerFactory. By registering your
- own PersistenceManagerFactoryCreator, you can override the creation of persistence managers etc.</p>
- <p>The persistence manager factory creator should implement the interface:
- org.eclipse.emf.teneo.jpox.PMFCreator. The creator can be registered using
- the method JpoxHelper.INSTANCE.setPMFCreator(....).</p>
- </section>
- <section>
- <title>Programmatic generation of package.jdo</title>
- <p>The JpoxHelper.INSTANCE also offers a method (generateMapping(...)) to programmatically generate a package.jdo file for one or
- more epackages. This can be usefull
- in case you encounter issues or need to map multiple epackages. This method allows you also to specify
- the options which can not be set when using the standard menu option:</p>
- <ul>
- <li> <strong>PersistenceOptions.SET_ENTITY_AUTOMATICALLY</strong>: if set to "false" then only EClasses which have an
- Entity annotation will be mapped. Default is "true", this means that all EClasses are mapped to the persistent store.</li>
- <li><strong>PersistenceOptions.SQL_CASE_STRATEGY</strong>: controls if the table and column names are uppercased, lowercased or
- no specific casing is done. The value lowercase will force lower case for all table/column name, the value
- uppercase will force uppercase for all table/column names, none wil do not casing. It is also possible to set this
- option to the classname of a class implementing the org.eclipse.emf.teneo.util.SQLCaseStrategy interface.
- Note this option can only be used when generating the package.jdo programmatically.</li>
- </ul>
- <p>The available options are all present in the <em>org.eclipse.emf.teneo.PersistenceOptions</em> class.</p>
- </section>
- <section id="options">
- <title>Runtime Options</title>
- <p>Options are passed to the JpoxDataStore using a Properties object which is set using the JpoxDataStore.setProperties method.</p>
- <p>The options described here are all present in the <em>org.eclipse.emf.teneo.PersistenceOptions</em> class. The constant names used
- in this page all refer to this class.</p>
- <p>Boolean options can have the lower case String values: "false" or "true".</p>
- <ul>
- <li> <strong>PersistenceOptions.UPDATE_SCHEMA</strong>: if set to "false" then the database schema is not updated
- when initializing a JpoxDataStore. This improves startup times. Default is "true".</li>
- <li> <strong>PersistenceOptions.FETCH_CONTAINMENT_EAGERLY</strong>: if set to "true" will set the fetch strategy of all
- containment references to EAGER. This means that containment relations are completely read in memory. Default is "false".</li>
- <li> <strong>PersistenceOptions.PERSISTENCE_XML</strong>: the location of the xml annotations file. The location should be a resource
- path.</li>
- </ul>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/jpoxresources.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/jpoxresources.xml
deleted file mode 100644
index 5ff4e53bb..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/jpoxresources.xml
+++ /dev/null
@@ -1,151 +0,0 @@
-<?xml version="1.0"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
-<document>
- <header>
- <title>JPOX EMF Resources</title>
- <notice>Describes the use of emf resource implemenations for jpox</notice>
- <abstract>From the 0.7.5 release the EMF-JPOX integration offers one type of resource: JPOXResource. It
- extends the org.eclipse.emf.ecore.resource.impl.ResourceImpl.
- </abstract>
- </header>
- <body>
- <p></p>
- <section>
- <title>Resource URI</title>
- <p>The integration layer automatically registers the JPOX resource for the
- protocol: jpox and jpoxdao. <em>The jpoxdao protocol is deprecated and present because of backwards compatibility.</em></p>
- <p>From the 0.7.5 release the EMF-JPOX integration offers one type of resource: JPOXResource. The previous JPOXResourceDAO is no
- longer used. The jpox protocol will from now return a JPOXResource instance.</p>
- <p>The JPOX resource needs to know how to reach a data store. This is done by passing the name
- of a JpoxDataStore to the resource with the JPOXResource.DS_NAME_PARAM parameter. The name of the
- JpoxDataStore is the name used when creating/registering a JpoxDataStore
- using the JpoxHelper.INSTANCE object.
- </p>
- <p>An example of a URI which returns a JPOX resource: <em>jpox://dsname=MyPMF</em>.</p>
- </section>
- <section>
- <title>JPOX Resource</title>
- <p>The JPOX Resource (org.eclipse.emf.teneo.jpox.resource.JPOXResource) starts a
- transaction in the load action and commits and reopens a transaction for the save action.
- </p>
- <p>This behavior has the following consequences:</p>
- <ul>
- <li>The assumption is that optimistic transactions are enabled.</li>
- <li>After saving the resource the saved objects can still be used by the application, so no refresh
- is required. </li>
- <li>ELists are lazily loaded, primitive type fields and single EReferences are
- loaded when the resource is loaded. </li>
- </ul>
- </section>
- <section>
- <title>Sharing one PersistenceManager between Resources, One transaction when saving multiple resources</title>
- <p>As a standard behavior the resource will create its own PersistenceManager (pm) at load time.
- However, there are cases when you want to use one pm to load and save multiple resources. This
- is for example the case when there are references between objects in different resources.
- In this case the load and save actions of multiple resources should use the same pm and be done
- in the same transaction.</p>
- <p>To support this Teneo has the concept of a PMController. A PMController manages one pm
- for multiple resources. A PMController is registered using a specific name. When a resource is opened this
- name is passed as an uri parameter. Using this name the JPOXResource can then find the PMController
- and retrieve a pm. When a JPOXResource has a PMController then the JPOXResource does not itself
- create a pm or begin and commit transactions. Beginning and committing transactions is the responsibility
- of the application itself.</p>
- <p>Here is some example code illustrating the use of a PMController:</p>
- <source>
- PMController pmc = new PMController();
-
- // when creating a PMController you have to pass your JpoxDataStore instance
- pmc.setJpoxDataStore(jpoxDataStore);
-
- // register the PMController, the name is used in the uri of the resource
- PMController.registerPMController("testsc", sc);
-
- // create an uri using the PMController name
- URI uri1 = URI.createURI("hibernate://?" + JPOXResource.SESSION_CONTROLLER_PARAM + "=testsc&amp;query1=select from " + BookImpl.class.getName());
- URI uri2 = URI.createURI("hibernate://?" + JPOXResource.SESSION_CONTROLLER_PARAM + "=testsc&amp;query1=select from " + WriterImpl.class.getName());
- // resourceSet has to be set before somehow..
- final Resource res1 = resourceSet.createResource(uri1);
- final Resource res2 = resourceSet.createResource(uri2);
-
- // now load the resources
- pmc.getPM().currentTransaction().begin();
- res1.load(Collections.EMPTY_MAP);
- res2.load(Collections.EMPTY_MAP);
- pmc.getPM().currentTransaction().commit();
-
- // do something usefull with your loaded resources...
-
- // and save them
- pmc.getPM().currentTransaction().begin();
- res1.save(Collections.EMPTY_MAP);
- res2.save(Collections.EMPTY_MAP);
- pmc.getPM().currentTransaction().commit();
- </source>
- <p><strong>Loading different EObjects (refering to eachother) in different resources can have side-effects if
- there are containment relations to and from these EObjects (with resolving=false).
- If the containment relation is non-resolving then
- EMF will place an EObject always in the same resource as its container. If you use queries to load your resources
- then the containers are loaded also. For example: assume EObjects A1 and A2 both have container A0. If one resource
- loads A1 then A0 is also loaded automatically and A0 and A1 are in the same resource. If then a second resource loads
- A2 then A2 will be placed in the first resource because its container is located there. Overall this results in
- unpredictable behavior. So: to correctly work with multiple resources the containment relations should be set to
- resolving = true.</strong></p>
- </section>
- <section>
- <title>Closing a resource</title>
- <p>The JPOXResource can be closed by calling the unload method.
- This method will close the PersistenceManager. In case a PMController is used
- the unload method will just nullify the internal pm member, you should close
- the pm explicitly.</p>
- </section>
- <section>
- <title>Validation</title>
- <p>The JPOX Resource automatically validates its content (the EObjects) when the
- resource is saved. This validation makes use of the EMF validation framework through calls to
- the Diagnostician.INSTANCE.validate method. Validation fails when a ERROR level Diagnostic is
- encountered. In this case the resource save method will throw an org.eclipse.emf.teneo.StoreValidationException.
- This exception has a method to retrieve all Diagnostics.</p>
- </section>
- <section>
- <title>Standard load behavior: Top level types</title>
- <p>When a EMF/JPOX resource is loaded (without using the query customizations) then only the so called top-level types are directly present in
- the resource contents. Top-level types are types which are not used as the
- the child in a containment relation. The assumption is that all contained types can be reached
- from a top-level type.</p>
- <p>See also the <a href="knownissues.html">Known Issues</a>.</p>
- </section>
- <section><title>Customizing load behavior</title>
- <p>It is possible to customize what the resource actually loads from the database.</p>
- <section><title>Extend the resource implementation with a Java subclass</title>
- <p>It is possible to customize the load behavior by overriding the loadFromStore method
- in JPOXResourceDAO. This method gets a PersistenceManager and should return a list of
- objects read from the JDO/JPOX datastore.
- </p>
- </section>
- <section><title>Set specific queries to load the resource</title>
- <p>There are two ways to pass specific queries to the JPOXResourceDAO. The first method
- is using uri parameters:</p>
- <p><em>jpox://?dsname=mystore&amp;query1=SELECT FROM org.eclipse.example.library.impl.WriterImpl</em></p>
- <p>Two things are important here: 1) for JDO the query should fully qualified classnames to the concrete
- implementation classes, 2) you can pass multiple queries by using parameter names which start with query, for
- example query1, query2 etc.</p>
- <p>The other way to pass queries to the resource are to specify them in the
- .ejdo file (see resource utility <a href="resource_utility.html">here</a>). An
- example (commented out) of this can be found in the ejdo file <a href="download/library.ejdo">here</a>.</p>
- </section>
- </section>
- <section>
- <title>Closing a resource</title>
- <p>The EMF/JPOX resource can be closed by calling the unload method. This method will close the
- used Persistence Manager.</p>
- </section>
-
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/knownissues.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/knownissues.xml
deleted file mode 100644
index 4ce6a0d83..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/knownissues.xml
+++ /dev/null
@@ -1,82 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 10:42:35 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Known issues (updated 13 September 2006)</title>
- </header>
- <body>
- <p><br/></p>
- <p>
- <strong>From 13 September 2006: for open issues please visit the EMFT <a href="https://bugs.eclipse.org/bugs/buglist.cgi?product=EMFT&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;query_format=advanced&amp;order=map_components.name">open bugs</a>
- page.</strong></p>
- <p><br/></p>
- <p>This page describes known issues (and possible work arounds) and gives an estimate on when they will be solved.</p>
- <p>Open issue(s):</p>
- <ul>
- <li><strong>Objects are not loaded in the resource, or the resource is empty:</strong> The standard behavior of a Jpox resource is to only read types which have no container in the model. All other EObjects can
- be reached from these top-entities. However, this means that even if an EObject instance does not have a container but
- <em>can be</em> contained according to the model then
- it will still not be loaded in the resource. A common model is a an object which contains itself, for example a folder-like
- model. <strong>Workaround</strong>: to workaround this issue you should load the resource using specific queries, see customizing load behavior <a href="jpoxresources.html">here</a>.</li>
- </ul>
- <p>The following issue has been solved in the 0.7.1 release:</p>
- <ul>
- <li>Generated package.jdo not visible: after choosing the Elver menu option to generate a package.jdo the folder is not refreshed so
- the generated package.jdo file is not visible. Will be solved in the next release.</li>
- </ul>
- <p>The following issue has been solved in the 0.7.0 release:</p>
- <ul>
- <li>Java Annotations to Ecore, mapping file error: When starting the runtime the following error
- message is displayed (using the Library example):<em>Association references unmapped class: Book</em>.
- The issue is related to the fact that the model is generated from annotated java. Currently Elver uses the annotations in the source code to resolve java types. The java sources generated from the uml/xml schema have fully quallified names in the type attribute of the model tag:
- <source>
- * @model type="org.eclipse.example.library.Writer"
- * @generated
- */
- EList getWriters();
- </source>
-<p>
-While in the case the java annotations are the input the emf tutorial tells you to do this:</p>
-<source>
- /**
- * @model type="Writer" containment="true"
- */
- List getWriters();
-</source>
-<p>Elver should automatically resolve the Writer to a org.eclipse.example.library.Writer interface but does not do this.
-As a workaround you should specify the fully qualified class name in the type annotation.</p>
- </li>
- </ul>
-
- <p>The following issues have been solved in the 0.6.5 release:</p>
- <ul>
- <li><strong>Load notification on EList load has been disabled.</strong>. After an elist/featuremap is loaded a notification is sent out.
- See <a href="jpox_details.html#EList%2FFeaturemap+load+notification">here</a> for more information.
- Apparently this notification results in exceptions and double entries in rich client tree viewers.
- See the posts on the mailing list for this: <a href="http://comments.gmane.org/gmane.comp.java.emf.persistency/139">post 1</a>,
- <a href="http://comments.gmane.org/gmane.comp.java.emf.persistency/144">post 2</a>. As a workaround you should 'catch' the notification
- in the notifychanged of the EObjects ItemProvider. This will be solved in the next release
- or the function will be disabled until it is more stable.</li>
- </ul>
- <p>
- Previous issues have been solved or a workaround or description is
- displayed on the <a href="troubleshooting.html">troubleshooting</a> page.
- </p>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/license.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/license.xml
deleted file mode 100644
index 5c6ccccf6..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/license.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- Licence page.
-
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 10:42:35 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>License</title>
- </header>
- <body>
- <p>Teneo is licensed under the <a href="http://www.eclipse.org/org/documents/epl-v10.php">Eclipse Public License</a>.
- In all documents and software the following copyright and license statement is present.
- </p>
- <source>
-Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
-All rights reserved. This program and the accompanying materials
-are made available under the terms of the Eclipse Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/epl-v10.html
- </source>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/links.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/links.xml
deleted file mode 100644
index f12edb583..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/links.xml
+++ /dev/null
@@ -1,82 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2005-2006, Elver.org (http://www.elver.org).
-
- Licensed 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.
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.1 $ $Date: 2006/08/03 09:58:08 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Links to relevant material</title>
- </header>
- <body>
- <p>For EMF there is also another persistency framework: CDO. You can visit the CDO website at:
- <a href="http://www.sympedia.org/cdo">CDO</a>.</p>
- <section>
- <title>Object Relational Mapping</title>
- <section><title>Articles</title>
- <ul>
- <li><a href="http://www.ambysoft.com/">Scott Ambler</a> has written a large number of interesting articles
- on ORM, this page on his website lists a lot or links to ORM related material:
- see <a href="http://www.ambysoft.com/essays/mappingObjects.html">Mapping Objects To Relational Databases</a>,
- see also,
- <a href="http://www.ambysoft.com/essays/persistenceLayer.html">The Design of a Robust Persistence Layer for Relational Databases</a></li>
- </ul>
- </section>
- <section><title>Specs</title>
- <ul>
- <li><a href="http://www.jpox.org/docs/jdo_1_0/jdo_overview.html">JDO 1.0/2.0 (on the JPOX website)</a></li>
- <li><a href="http://jcp.org/aboutJava/communityprocess/pr/jsr220/index.html">EJB 3.0</a></li>
- <li><a href="http://www.jcp.org/en/jsr/detail?id=170">Java Content Repository</a></li>
- </ul>
- </section>
- </section>
-
- <section>
- <title>XML Articles</title>
- <ul>
- <li><a href="http://www.w3.org/TR/2000/WD-xmlschema-0-20000407/"> XML Schema Part 0: Primer</a>,
- <a href="http://www.w3.org/TR/2000/WD-xmlschema-1-20000407/">XML Schema Part 1: Structures</a>,
- <a href="http://www.w3.org/TR/2000/WD-xmlschema-2-20000407/">XML Schema Part 2: Datatypes</a></li>
- <li>Ronald Bourret has written a number of interesting articles about persisting XML documents
- (for a full listing go <a href="http://www.rpbourret.com/xml/index.htm">here</a>. Here are a number of direct links
- to a number of relevant articles:
- <ul>
- <li><a href="http://www.rpbourret.com/xml/XMLAndDatabases.htm">XML and Database</a></li>
- <li><a href="http://www.xml.com/pub/a/2005/03/30/native.html">Going Native: Making the Case for XML Databases</a>,
- <a href="http://www.xml.com/pub/a/2005/04/13/going-native.html">Going Native Part 2</a>,
- <a href="http://www.xml.com/pub/a/2005/05/25/native.html">Going Native Part 3</a></li>
- <li><a href="http://www.rpbourret.com/xml/SchemaMap.htm">Mapping W3C Schemas to Object Schemas to Relational Schemas</a></li>
- </ul></li>
- </ul>
- </section>
- <section>
- <title>XML Databases and Repositories (Open Source)</title>
- <ul>
- <li><a href="http://exist.sourceforge.net/">Exist (XML Database)</a></li>
- <li><a href="http://xml.apache.org/xindice/">Xindice (XML Database)</a></li>
- <li><a href="http://jakarta.apache.org/slide/">Apache Slide (Content Repository)</a></li>
- <li><a href="http://ozone-db.org">Ozone (XML Database)</a></li>
- </ul>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/mailinglist.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/mailinglist.xml
deleted file mode 100644
index 88b6d170b..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/mailinglist.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.4 $ $Date: 2006/09/13 16:05:49 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Teneo Newsgroup</title>
- </header>
- <body>
- <section>
- <title>EMFT Newsgroup</title>
- <p>Support for Teneo is provided through the EMFT newsgroup: news://news.eclipse.org/eclipse.technology.emft.</p>
- </section>
- <section id="maillist">
- <title>Archived Mailing List</title>
- <p>The archive of the mailinglist posts before the move to EMFT can be viewed:
- <a href="http://blog.gmane.org/gmane.comp.java.emf.persistency">here (web)</a> or
- <a href="nntp://news.gmane.org/gmane.comp.java.emf.persistency">here (news, nntp)</a>.
- </p>
- </section>
- <section id="wedo">
- <title>How we can help you</title>
- <p>
- We will do our best to answer your questions as promptly as possible.
- We can help you in the best way if you include the following information:
- </p>
- <ul>
- <li>The genmodel file</li>
- <li>The package.jdo</li>
- <li>The stack trace</li>
- <li>The log file (see <a href="troubleshooting.html">here</a> on where to find it)</li>
- <li>The version of Teneo Store, Eclipse, EMF, jdk, and database</li>
- </ul>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/overview.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/overview.xml
deleted file mode 100644
index 6d255d15c..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/overview.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-<document>
- <header>
- <title>EMF - JPOX Integration Overview</title>
- <notice>Describes the different components of the solution</notice>
- <abstract>
- </abstract>
- </header>
- <body>
- <p>
- The EMF - JPOX Persistency solution consists of two tools:</p>
- <ol>
- <li>EMF - JPOX OR Mapper: generates object-relational mapping files from ecore model. </li>
- <li>EMF - JPOX Runtime: takes care of handling EMF specific
-things such as EMF collections, containment and bi-directional relations.</li>
- </ol>
- <p>These tools are used in the development process in the following way:</p>
- <section>
- <title>Generate OR Mapping file</title>
- <p>
- After the java sources have been generated from the ecore model, the next step is to generate the <em>package.jdo</em> file. The package.jdo file describes
- for a object relational mapping tool how to persist java objects to relational tables.
- </p>
- <p>The <em>EMF - JPOX OR Mapper Tool</em> performs this task.
- </p>
- </section>
- <section>
- <title>Class Enhancement</title>
- <p>
- In a jdo 2.0 scenario java classes are enhanced on the basis of the <em>package.jdo</em> file. The enhancement uses byte-code enhancement tools
- to adapt compiled java classes. During the enhancement action, persistent related
- interfaces and functionality are added to the java classes.
- </p>
- <p><a href="http://www.jpox.org/docs/download.html">JPOX</a> delivers an Eclipse plugin which can be used
- to automatically enhance the java classes after each Eclipse build.
- </p>
- </section>
- <section>
- <title>Runtime Layer</title>
- <p>
- The java classes have been enhanced and ready to be persisted. EMF objects require specific handling in relation to
- jpox. This is mainly related to the way EMF handles references and collections. Also the EMF resource approach
- requires specific jpox implementations. To handle the EMF specifics, the <em>EMF - JPOX runtime
- layer</em> was developed. This layer is very small (about 50kb) but is essential to get a working EMF - JPOX integration.
- </p>
- <p>The main visible component of the runtime layer is the <a href="jpoxdatastore.html">JpoxDataStore</a>.
- The <a href="jpoxdatastore.html">JpoxDataStore</a>
- controls a PersistenceManagerFactory and a set of EPackages which are persisted using the PersistenceManagers
- of this PersistenceManagerFactory. When using a PersistenceManager,
- behind the scenes Teneo takes care of instantiating EMF objects and setting/getting EFeatures from the database.
- Teneo also handles lazy loading of ELists.</p>
- <p><figure src="images/Runtime.jpg" alt="Teneo Runtime Layer"/></p>
- </section>
- <section id="ejb3">
- <title>EJB3 Annotations</title>
- <p>Teneo can automatically map the EMF model to an object relational representation. However there are situations in which it makes
- sense to influence or control the mapping. For this purpose Teneo supports EJB3-like annotations in the model. The annotations
- can be used to control the way the inheritance structure is mapped to the relational store or how efeatures are mapped to database
- columns. For a complete overview of the supported EJB3 annotations see <a href="ejb3_features.html">here</a>.</p>
- <p>The EJB3 support has been developed in such a way that it is only required to specify annotations for those parts of the model for
- which the automatic behavior does not result in the required behavior. For example it is possible to specify a column annotation for
- one efeature in a model while all other efeatures and eclasses are automatically handled by Teneo.</p>
- <p><em>EJB3 annotations are defined in EAnnotations in a specific format. See
- <a href="ejb3_format.html">here</a> for more information.</em></p>
- </section>
- </body>
-</document> \ No newline at end of file
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/philosophy.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/philosophy.xml
deleted file mode 100644
index 9f16ff12a..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/philosophy.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2005-2006, Elver.org (http://www.elver.org).
-
- Licensed 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.
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.1 $ $Date: 2006/08/03 09:58:08 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Philosophy</title>
- </header>
- <body>
- <p>The Elver project aims to combine existing open source technologies to develop
- a code and ui generation framework which takes away a lot of
- standard work of the software developer. Within the Elver project we focus on modeling, code
- generation and ui generation using XML Schemas.
- </p>
- <section>
- <title>XML Schema</title>
- <p>Our experience with XML Schema over the past years have been very positive. We like the
- flexibility and power of the syntax. In addition we have noticed that it it is very efficient to
- define a model using XML Schemas (in contrast to using advanced and complex modeling tools).
- </p>
- </section>
- <section>
- <title>Code Generation</title>
- <p>It is our belief that code generation is the future for software development. Most, if not all, plumbing
- code can be replaced by a code generation framework. In addition code generation can take care of many
- business rules if supported by the modeling language. The <a href="http://www.eclipse.org/emf">EMF project</a>
- is an example of a code generation framework for XML Schemas.</p>
- </section>
- <section>
- <title>UI Generation</title>
- <p>Even more than with standard coding we think that developers time is 'wasted' on ui development. Especially
- standard data maintenance views take to much development time in relation to the actual value these functions
- have for the end-customer. By using a powerfull modeling language as XML Schema as the
- input for a ui-generation framework we think that it is possible to generate advanced web-UI's with
- very little coding.
- </p>
- </section>
- <section>
- <title>Our approach</title>
- <p>We are committed to:</p>
- <ul>
- <li>Use and adhere to open standards</li>
- <li>Integrate and extend existing technologies to assemble a complete solution</li>
- <li>Develop open source solutions to facilitate a broad use of our and other's technology</li>
- </ul>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/quick_tutorial.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/quick_tutorial.xml
deleted file mode 100644
index 9feca5670..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/quick_tutorial.xml
+++ /dev/null
@@ -1,109 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 10:42:35 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Quick Start</title>
- </header>
- <body>
- <p>
- This quick start describes in very short steps how to setup, initialize and use the runtime layer.
- It does not go as far as the Library Tutorial but gives a quick idea on how to get up-and running.
- </p>
- <p>
- It is assumed that you have done one of the EMF Library tutorials (see
- <a href="http://eclipse.org/emf/docs.php?doc=tutorials/xlibmod/xlibmod.html">here</a> or
- <a href="http://eclipse.org/emf/docs.php?doc=tutorials/clibmod/clibmod.html">here</a>)
- </p>
- <p>The quick start consists of the following steps:</p>
- <ol>
- <li>Set Library model plugin dependency:
- <ul>
- <li>Add the EMF persistency runtime plugin (org.eclipse.emf.teneo.jpox) to the plugin dependencies of the Library (model) project</li>
- </ul>
- </li>
- <li>Enable JPOX: Right click on the Library project and select the menu JPOX and select 'Add JPOX Support' and check
- 'Enable Auto Enhancement'.</li>
- <li>Generate JDO file: right click on the ecore file (normally called library.ecore)
- top package (org.eclipse.example.library) and in
- the Teneo menu choose one of the <em>Generate EMF - JDO/JPOX OR Mapping (...)</em> option.
- A package.jdo file should be created next to the ecore file. <em>It is possible that you need to refresh the
- folder to see the created package.jdo.</em></li>
- <li>Copy the package.jdo to a location in the source tree and ensure that the build process copies it to the build target location, if you have automatic build enabled then JPOX
- should now enhance the classes automatically (after the build).</li>
- <li>Create a database (with the name mylibrary) in your database server</li>
- <li>Create a new class in the org.eclipse.example.library with a static main method</li>
- <li>Initialize the runtime layer, add the following to the main method. <em>Replace the
- database connection information here with your own information:</em>
-<source>
-String pmfName = "MyPMF"; // the name of the JpoxDataStore
-
-// db connection info, replace with your own database connection information
-Properties properties = new Properties();
-properties.setProperty(PMFConfiguration.JDO_DATASTORE_DRIVERNAME_PROPERTY, "com.mysql.jdbc.Driver");
-properties.setProperty(PMFConfiguration.JDO_DATASTORE_URL_PROPERTY, "jdbc:mysql://127.0.0.1:3306/mylibrary");
-properties.setProperty(PMFConfiguration.JDO_DATASTORE_USERNAME_PROPERTY, "root");
-properties.setProperty(PMFConfiguration.JDO_DATASTORE_PASSWORD_PROPERTY, "root");
-
-// create the data store
-JpoxDataStore jpoxDataStore = JpoxHelper.INSTANCE.createRegisterDataStore(pmfName);
-jpoxDataStore.setProperties(properties);
-jpoxDataStore.setEPackages(new EPackage[]{LibraryPackage.eINSTANCE});
-jpoxDataStore.initialize();
- </source>
- </li>
- <li>Create a persistence manager and factory
- <source>
-// Now create a persistence manager and a transaction
-PersistenceManager pm = jpoxDataStore.getPersistenceManager();
-Transaction tx = pm.currentTransaction();
- </source></li>
- <li>Begin a transaction, create a library and make it persistent
- <source>
-// start a transaction, create a library and make it persistent
-tx.begin();
-Library lib = LibraryFactory.eINSTANCE.createLibrary();
-lib.setName("My Library");
-pm.makePersistent(lib);
- </source></li>
- <li>Create a writer and book, add to the library and commit
- <source>
-// create a writer
-Writer writer = LibraryFactory.eINSTANCE.createWriter();
-writer.setName("JRR Tolkien");
-
-// and one of his books
-Book book = LibraryFactory.eINSTANCE.createBook();
-book.setAuthor(writer);
-book.setPages(305);
-book.setTitle("The Hobbit");
-book.setCategory(BookCategory.SCIENCE_FICTION_LITERAL);
-
-// add the writer/book to the library. The writer and book are automatically
-// made persistent because they are added to the library which was already
-// made persistent
-lib.getWriters().add(writer);
-lib.getBooks().add(book);
-
-// at commit the objects will be present in the database
-tx.commit();
-pm.close();
- </source></li>
- </ol>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/remove_plugin.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/remove_plugin.xml
deleted file mode 100644
index dfc7e40a5..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/remove_plugin.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2005-2006, Elver.org (http://www.elver.org).
-
- Licensed 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.
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.1 $ $Date: 2006/08/03 09:58:08 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>How to remove an Eclipse plugin</title>
- </header>
- <body>
- <p>To remove an Eclipse plugin go through the following steps:</p>
- <ol>
- <li>Disable the feature: go to <em>Help &gt; Software Updates &gt; Manage Configuration</em>. Select
- the plugin/feature which needs to be disabled and select disable on the right. Restart Eclipse.</li>
- <li>Uninstall the feature/plugin: after the restart go Manage Configuration and select the disabled feature/plugin.
- Select uninstall on the right. If the disabled plugin is not visible then press the button in the top
- button bar 'Show disabled Features'.</li>
- </ol>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/resource_utility.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/resource_utility.xml
deleted file mode 100644
index 21c678697..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/resource_utility.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.4 $ $Date: 2006/09/14 08:03:54 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Resource Utility: directly open an editor, import/export</title>
- </header>
- <body>
- <p>As part of the EMF JPOX plugin install a separate utility is also installed.
- This utility can be used to directly open a relational JPOX controlled database in
- the generated EMF editor.
- </p>
- <p><em>This resource utility is an alpha version and is in many
- ways very basic. It may or may not be usefull for you, it will be extended in the future.</em></p>
- <section><title>The ejdo file</title>
- <p>The resource utility operates on files with the extension <em>ejdo</em>. This file
- contains registration and database connection information for a Persistence Manager Factory.
- An example ejdo file with a description of its content can be downloaded here:
- <a href="download/library.ejdo">library.ejdo</a>.</p>
- <p><em></em></p>
- </section>
- <section><title>Open Resource</title>
- <p>When rightclicking on an ejdo file the Teneo menu option is displayed. Within this
- menu the option <em>Open Resource</em> is shown. Choosing this option will open a
- EMF editor which reads its contents from the connection/session information in the
- ejdo file.</p>
- <p>
- <img src="images/resource_utility.jpg" alt="Resource utility"/>
- </p>
- </section>
-
- <section><title>Export/Import to and from XMI or XML</title>
- <p>The XML/XMI export
- function can be used to make a backup of your current data and import this again
- later in an empty database. The main drawback of the XML/XMI import is that it will add all the content to the database and will
- not check if the content already exists in the database. Note that the XMI
- export/import is more powerfull (than XML) because it supports export/import of multiple
- root objects.</p>
- </section>
- <section><title>Throubleshooting: empty editor when opening resource, can not add</title>
- <p>When you open an empty resource (relational database) by right clicking on the
- ejdo file an editor is opened which does not allow you to add the first document. This
- is a restriction of the generated EMF editor. So you should always have at least one
- document in the resource. This document can be created by importing from a XML document
- or by using the standard EMF open model wizard.</p>
- </section>
- <section><title>Throubleshooting: editor does not start, AssertionFailedException</title>
- <p>See <a href="troubleshooting.html#Editor+does+not+start%2C+AssertionFailedException">here</a>
- in the troubleshooting page.</p>
- </section>
- <section><title>Future extensions</title>
- <ul>
- <li>Instead of a property file offer a more advanced ui</li>
- <li>Extend the export/import to support different modes such as
- overwrite existing documents, add to the relational store etc.</li>
- <li>Support for xsl transformations when exporting/importing</li>
- <li>Export subsets of the relational store using HQL queries or other
- filtering</li>
- </ul>
- <p>Please post a message on the <a href="mailinglist.html">newsgroup</a> if you
- have other ideas or requirements for resource utilities.</p>
- <p></p>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/runtime_configuration.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/runtime_configuration.xml
deleted file mode 100644
index 8ff620550..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/runtime_configuration.xml
+++ /dev/null
@@ -1,403 +0,0 @@
-<?xml version="1.0"?>
-<!--
- Copyright 2005-2006, Elver.org (http://www.elver.org).
-
- Licensed 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.
--->
-<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
-<document>
- <header>
- <title>JPOX EMF Quick Start Tutorial</title>
- <notice>This is a small tutorial describing how Describes how the runtime layer of the jpox emf integration is configured.</notice>
- <abstract>The integration layer requires a few simple registration actions at the start
- of your program.
- </abstract>
- </header>
- <body>
- <note>This quick start tutorial assumes that you have finished the installation.
- Click <a href="faq.html#forrest" title="Installation of the integration layer">here</a> for a description of the
- installation steps.</note>
- <section id="before">
- <title>Before</title>
- <p>Before the runtime
-<!-- FOR-321 workaround
- <a href="ext:dtd-docs">DTD reference documentation</a>.
--->
- <a href="http://forrest.apache.org/docs/dtd-docs.html">DTD reference documentation</a>.
- </p>
- <section id="block-inline">
- <title>Block and inline elements</title>
- <p>This is a simple paragraph. Most documents contain a fair amount of
- paragraphs. Paragraphs are called <code>&lt;p&gt;</code>.</p>
- <p xml:space="preserve"
- >With the <code>&lt;p xml:space="preserve"&gt;</code> attribute, you can declare
- that whitespace should be preserved, without implying it is in any other
- way special.</p>
- <p>
- This next paragraph has a class attribute of 'quote'. CSS can
- be used to present this <code>&lt;p class='quote'&gt;</code> in
- a different style than the other paragraphs. The handling of
- this quoted paragraph is defined in the &lt;extra-css&gt;
- element in the skinconf.xml.
- </p>
- <p class="quote">
- Anyway, like I was sayin', shrimp is the fruit of the sea. You can
- barbecue it, boil it, broil it, bake it, sautee it. Dey's uh,
- shrimp-kabobs, shrimp creole, shrimp gumbo. Pan fried, deep fried,
- stir-fried. There's pineapple shrimp, lemon shrimp, coconut shrimp,
- pepper shrimp, shrimp soup, shrimp stew, shrimp salad, shrimp and
- potatoes, shrimp burger, shrimp sandwich. That- that's about it.
- </p>
- <p>A number of in-line elements are available in the DTD, we will show them
- inside an unordered list (<code>&lt;ul&gt;</code>):</p>
- <ul>
- <li>Here is a simple list item (<code>&lt;li&gt;</code>).</li>
- <li>Have you seen the use of the <code>&lt;code&gt;</code> element in the
- previous item?</li>
- <li>Also, we have <code>&lt;sub&gt;</code> and <code>&lt;sup&gt;</code>
- elements to show content <sup>above</sup> or <sub>below</sub> the text
- baseline.</li>
- <li>There is a facility to <em>emphasize</em> certain words using the
- <code>&lt;em&gt;</code> <strong><code>&lt;strong&gt;</code></strong>
- elements.</li>
- <li>We can use
- <icon height="22" width="26" src="../images/icon.png" alt="feather"/>
- <code>&lt;icon&gt;</code>s too.</li>
- <li>Another possibility is the <code>&lt;img&gt;</code> element:
- <img src="../images/icon.png" alt="another feather" height="22" width="26"/>,
- which offers the ability to refer to an image map.</li>
- <li>We have elements for hyperlinking:
- <dl>
- <dt><code>&lt;a href="faq.html"&gt;</code></dt>
- <dd>Use this to
- <a href="faq.html" title="Example of a document via link">link</a>
- to another document. As per normal, this will open the new document
- in the same browser window.</dd>
-
- <dt><code>&lt;a href="#section"&gt;</code></dt>
- <dd>Use this to
- <a href="#section" title="Example of a document via local anchor">link</a>
- to the named anchor in the current document.
- </dd>
-
- <dt><code>&lt;a href="faq.html#forrest"&gt;</code></dt>
- <dd>Use this to
- <a href="faq.html#forrest" title="Example of a document via link and anchor">link</a>
- to another document and go to the named anchor. This will open
- the new document in the same browser window.
- </dd>
- <dt>Targetted window control with jump and fork.</dt>
- <dd>See demonstration
- <a href="#link-class">using class attribute on links</a>.
- </dd>
- </dl></li>
-
- <li>Oh, by the way, a definition list <code>&lt;dl&gt;</code> was used inside
- the previous list item. We could put another
- <ul>
- <li>unordered list</li>
- <li>inside the list item</li>
- </ul>
- <table>
- <caption>A sample nested table</caption>
- <tr><td>Or even tables.. </td><td>
- <table><tr><td>inside tables..</td></tr></table>
- </td></tr>
- <tr><td>or inside lists, but I believe this liberty gets quickly quite
- hairy as you see.</td></tr>
- </table>
- </li>
- </ul>
- <p>So far for the in-line elements, let's look at some paragraph-level
- elements.</p>
- <fixme author="SN">The <code>&lt;fixme&gt;</code> element is used for stuff
- which still needs work. Mind the <code>author</code> attribute!</fixme>
- <note>Use the <code>&lt;note&gt;</code> element to draw attention to something, e.g. ...The <code>&lt;code&gt;</code> element is used when the author can't
- express himself clearly using normal sentences ;-)</note>
- <warning>Sleep deprivation can be the result of being involved in an open
- source project. (a.k.a. the <code>&lt;warning&gt;</code> element).
- </warning>
- <note label="Important">If you want your own labels for notes and
- warnings, specify them using the <code>label</code> attribute.
- </note>
- <p>Apart from unordered lists, we have ordered lists too, of course.</p>
- <ol>
- <li>Item 1</li>
- <li>Item 2</li>
- <li>This should be 3 if my math is still OK.</li>
- </ol>
- </section>
-
- <section id="presentations">
- <title>Various presentation formats</title>
-
- <p>This sample document, written in document-v20 XML can be presented
- via Forrest in a number of different formats. The links in the
- following list show this document in each of the currently available
- formats.</p>
-
- <p>Each of the formats can be made available as a link near the top of
- the page. Actual placement of those links depends on the skin
- currently in use. Those links are enabled in the skinconf.xml via the
- &#60;disable-XXX-link&#62; elements in the skinconf.xml</p>
-
- <table>
- <tr>
- <th>Presentation Format</th>
-
- <th>Description</th>
-
- <th>skinconf.xml Element</th>
- </tr>
-
- <tr>
- <td><a href="sample.html">HTML</a></td>
-
- <td>This document in HTML format. </td>
-
- <td>Always generated by default. Cannot be turned off.</td>
- </tr>
-
- <tr>
- <td><a href="sample.xml">XML</a></td>
-
- <td>This document in its raw XML format.</td>
-
- <td>&#60;disable-xml-link&#62;. By default, set to true, meaning
- that this link will not be shown.</td>
- </tr>
-
- <tr>
- <td><a href="sample.pdf">PDF</a></td>
-
- <td>This document as Adobe PDF</td>
-
- <td>&#60;disable-pdf-link&#62;. By default, set to false, meaning
- that this link will be shown.</td>
- </tr>
-
- <tr>
- <td>Text</td>
-
- <td><p>This document as straight text.</p>
- <p>For additional information see the Forrest text-output
- plugin.</p></td>
-
- <td>&#60;disable-txt-link&#62;. By default, set to true, meaning
- that this link will not be shown.</td>
- </tr>
-
- <tr>
- <td>POD</td>
-
- <td><p>This document as Perl POD (Plain Old Documentation). Text
- with minimal formatting directives. If on a *nix system with perl
- installed, see &#34;man perlpod&#34;.</p>
- <p>For additional information see the Forrest pod-output
- plugin.</p></td>
-
- <td>&#60;disable-pod-link&#62;. By default, set to true, meaning
- that this link will not be shown.</td>
- </tr>
- </table>
- </section>
- <section id="section">
- <title>Using sections</title>
- <p>You can use sections to put some structure in your document. For some
- strange historical reason, the section title is an attribute of the
- <code>&lt;section&gt;</code> element.</p>
- </section>
- <section id="sub-section">
- <title>Sections, the sequel</title>
- <p>Just some second section.</p>
- <section id="sub-sub-section">
- <title>Section 2.1</title>
- <p>Which contains a subsection (2.1).</p>
- </section>
- </section>
-
- <section id="source">
- <title>Showing preformatted source code</title>
- <p>Enough about these sections. Let's have a look at more interesting
- elements, <code>&lt;source&gt;</code> for instance:</p>
- <source>
-// This example is from the book _Java in a Nutshell_ by David Flanagan.
-// Written by David Flanagan. Copyright (c) 1996 O'Reilly &amp; Associates.
-// You may study, use, modify, and distribute this example for any purpose.
-// This example is provided WITHOUT WARRANTY either expressed or implied.
-
-import java.applet.*; // Don't forget these import statements!
-import java.awt.*;
-
-public class FirstApplet extends Applet {
- // This method displays the applet.
- // The Graphics class is how you do all drawing in Java.
- public void paint(Graphics g) {
- g.drawString("Hello World", 25, 50);
- }
-}</source>
- <p>CDATA sections are used within
- <code>&lt;source&gt;</code> elements so that you can write pointy
- brackets without needing to escape them with messy
- <code>&amp;lt;</code> entities ...
- </p>
- <source><![CDATA[
-<pointy>
- easy
-</pointy>
-]]></source>
- <p>Please take care to still use a sensible line-length within your
- source elements.</p>
- </section>
-
- <section id="table">
- <title>Using tables</title>
- <p>And now for a table:</p>
- <table>
- <caption>Table caption</caption>
- <tr>
- <th>heading cell 1</th>
- <th>heading cell 2</th>
- <th>heading cell 3</th>
- </tr>
- <tr>
- <td>data cell</td>
- <td colspan="2">this data cell spans two columns</td>
- </tr>
- <tr>
- <td>
- Tables can be nested:
- </td>
- <td>
- <table>
- <tr>
- <th>column 1</th>
- <th>column 2</th>
- </tr>
- <tr>
- <td>cell A</td>
- <td>cell B</td>
- </tr>
- </table>
- </td>
- <td>
- <ul><li>and can include most other elements</li><li>such as lists</li></ul>
- </td>
- </tr>
- </table>
- </section>
-
- <anchor id="second-figure-anchor"/>
- <section id="figure">
- <title>Using figures</title>
- <p>And a <code>&lt;figure&gt;</code> to end all of this.
- Note that this can also be implemented with an
- <code>&lt;img&gt;</code> element.
- </p>
- <figure src="../images/project.png" alt="The fine Forrest logo" width="220" height="65"/>
- </section>
- <section id="link-class">
- <title>Using class attribute on links</title>
-
- <p>The document-v13 had elements &lt;fork&gt; and &lt;jump&gt;. In
- document-v20, those elements no longer exist but the functionality can
- be duplicated by using the @class attribute.
- Even though the opening of separate windows should be under the
- control of the user, these techniques can still be employed.</p>
-
- <table>
- <tr>
- <th><p>Document V1.3</p></th>
-
- <th><p>Document V2.0</p></th>
- </tr>
-
- <tr>
- <td><p>&lt;fork href="faq.html"&gt;</p></td>
-
- <td><a class="fork" href="faq.html">&lt;a class="fork"
- href="faq.html"&gt;</a></td>
- </tr>
-
- <tr>
- <td><p>&lt;jump href="faq.html"&gt;</p></td>
-
- <td><p><a class="jump" href="faq.html">&lt;a class="jump"
- href="faq.html"&gt;</a></p></td>
- </tr>
- </table>
- </section>
- </section>
-
- <section id="changes">
- <title>DTD changes</title>
- <p>See the generated
-<!-- FOR-321 workaround
- <a href="ext:dtd-docs">DTD reference documentation</a>.
--->
- <a href="http://forrest.apache.org/docs/dtd-docs.html">DTD reference documentation</a>.
- </p>
- <section id="changes-20">
- <title>Changes between document-v13 and document-v20</title>
- <ul>
- <li>Renamed <strong>&lt;link&gt;</strong>
- to <strong>&lt;a&gt;</strong>
- </li>
- <li>Removed <strong>&lt;fork&gt;</strong>
- and <strong>&lt;jump&gt;</strong> in favour of the
- <strong>&lt;a&gt;</strong> element. See demonstration
- <a href="#link-class">using class attribute on links</a>.
- </li>
- </ul>
- </section>
- <section id="changes-13">
- <title>Changes between document-v12 and document-v13</title>
- <p>
- All v1.2 docs will work fine as v1.3 DTD. The main change is the
- addition of a @class attribute to every element, which enables the
- "extra-css" section in the skinconf to be put to good use.
- </p>
- </section>
- <section id="changes-12">
- <title>Changes between document-v11 and document-v12</title>
- <p>
- doc-v12 enhances doc-v11 by relaxing various restrictions that were
- found to be unnecessary.
- </p>
- <ul>
- <li>
- Links ((link|jump|fork) and inline elements (br|img|icon|acronym) are
- allowed inside title.
- </li>
- <li>
- Paragraphs (p|source|note|warning|fixme), table and figure|anchor are
- allowed inside li.
- </li>
- <li>
- Paragraphs (p|source|note|warning|fixme), lists (ol|ul|dl), table,
- figure|anchor are allowed inside definition lists (dd) and tables (td
- and dh).
- </li>
- <li>
- Inline content
- (strong|em|code|sub|sup|br|img|icon|acronym|link|jump|fork) is
- allowed in strong and em.
- </li>
- </ul>
- </section>
- </section>
- </body>
- <footer>
- <legal>This is a legal notice, so it is <strong>important</strong>.</legal>
- </footer>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/sample/QuickStart.java b/doc/org.eclipse.emf.teneo.doc/doc/jpox/sample/QuickStart.java
deleted file mode 100644
index 6151f58ab..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/sample/QuickStart.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Copyright 2004-2006, Elver.org (http://www.elver.org).
- *
- * Licensed 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.
- */
-package jpoxtutorial;
-
-import java.util.Properties;
-
-import javax.jdo.PersistenceManager;
-import javax.jdo.Transaction;
-
-
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.example.library.Book;
-import org.eclipse.example.library.BookCategory;
-import org.eclipse.example.library.Library;
-import org.eclipse.example.library.LibraryFactory;
-import org.eclipse.example.library.LibraryPackage;
-import org.eclipse.example.library.Writer;
-import org.elver.store.jpox.emf.JpoxDataStore;
-import org.elver.store.jpox.emf.JpoxHelper;
-import org.jpox.PMFConfiguration;
-
-/**
- * Quick Start Tutorial
- *
- * @author <a href="mailto:mtaal@elver.org">Martin Taal</a>
- * @version $Revision: 1.1 $
-*/
-public class QuickStart {
-
- /** The main method */
- public static void main(String[] args) {
- // the name of the database, this database should exist but does not need to contain tables
- String dbName = "library";
- doQuickStart(dbName); //ignore return
- }
-
- /** Methodn which can be called by others */
- public static JpoxDataStore doQuickStart(String dbName) {
- // Now create and register a JpoxDataStore
- String pmfName = "MyPMF"; // the name of the JpoxDataStore
-
- // db connection info, replace with your own database connection information
- Properties properties = new Properties();
- properties.setProperty(PMFConfiguration.JDO_DATASTORE_DRIVERNAME_PROPERTY, "com.mysql.jdbc.Driver");
- properties.setProperty(PMFConfiguration.JDO_DATASTORE_URL_PROPERTY, "jdbc:mysql://127.0.0.1:3306/mylibrary");
- properties.setProperty(PMFConfiguration.JDO_DATASTORE_USERNAME_PROPERTY, "root");
- properties.setProperty(PMFConfiguration.JDO_DATASTORE_PASSWORD_PROPERTY, "root");
-
- // create the data store
- JpoxDataStore jpoxDataStore = JpoxHelper.INSTANCE.createRegisterDataStore(pmfName);
- jpoxDataStore.setProperties(properties);
- jpoxDataStore.setEPackages(new EPackage[]{LibraryPackage.eINSTANCE});
- jpoxDataStore.initialize();
-
- // Now create a persistence manager and a transaction
- PersistenceManager pm = jpoxDataStore.getPersistenceManager();
- Transaction tx = pm.currentTransaction();
-
- // Start a transaction, create a library and make it persistent
- tx.begin();
- Library lib = LibraryFactory.eINSTANCE.createLibrary();
- lib.setName("My Library");
- pm.makePersistent(lib);
-
- // create a writer
- Writer writer = LibraryFactory.eINSTANCE.createWriter();
- writer.setName("JRR Tolkien");
-
- // and one of his books
- Book book = LibraryFactory.eINSTANCE.createBook();
- book.setAuthor(writer);
- book.setPages(305);
- book.setTitle("The Hobbit");
- book.setCategory(BookCategory.SCIENCE_FICTION_LITERAL);
-
- // add the writer/book to the library. The writer and book are automatically
- // made persistent because they are added to the library which is already
- // made persistent
- lib.getWriters().add(writer);
- lib.getBooks().add(book);
-
- // at commit the objects will be present in the database
- tx.commit();
- // and close of, this should actually be done in a finally block
- pm.close();
-
- return jpoxDataStore;
- }
-} \ No newline at end of file
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/sample/sample.html b/doc/org.eclipse.emf.teneo.doc/doc/jpox/sample/sample.html
deleted file mode 100644
index d2fb577bf..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/sample/sample.html
+++ /dev/null
@@ -1,688 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta content="Apache Forrest" name="Generator">
-<meta name="Forrest-version" content="0.7">
-<meta name="Forrest-skin-name" content="pelt">
-<title>The Apache Forrest xdocs document-v2.0 DTD</title>
-<link type="text/css" href="../skin/basic.css" rel="stylesheet">
-<link media="screen" type="text/css" href="../skin/screen.css" rel="stylesheet">
-<link media="print" type="text/css" href="../skin/print.css" rel="stylesheet">
-<link type="text/css" href="../skin/profile.css" rel="stylesheet">
-<script src="../skin/getBlank.js" language="javascript" type="text/javascript"></script><script src="../skin/getMenu.js" language="javascript" type="text/javascript"></script><script src="../skin/fontsize.js" language="javascript" type="text/javascript"></script>
-<link rel="shortcut icon" href="../">
-</head>
-<body onload="init()">
-<script type="text/javascript">ndeSetTextSize();</script>
-<div id="top">
-<div class="breadtrail">
-<a href="http://www.apache.org/">myGroup</a> &gt; <a href="http://forrest.apache.org/">myProject</a><script src="../skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
-</div>
-<div class="header">
-<div class="grouplogo">
-<a href="http://mygroup.org"><img class="logoImage" alt="MyGroup" src="../images/group.png" title="MyGroup Description"></a>
-</div>
-<div class="projectlogo">
-<a href="http://myproj.mygroup.org/"><img class="logoImage" alt="MyProject" src="../images/project.png" title="MyProject Description"></a>
-</div>
-<div class="searchbox">
-<form action="http://www.google.com/search" method="get" class="roundtopsmall">
-<input value="mydomain" name="sitesearch" type="hidden"><input onFocus="getBlank (this, 'Search the site with google');" size="25" name="q" id="query" type="text" value="Search the site with google">&nbsp;
- <input attr="value" name="Search" value="Search" type="submit">
-</form>
-</div>
-<ul id="tabs">
-<li>
-<a class="base-not-selected" href="../index.html">Home</a>
-</li>
-<li class="current">
-<a class="base-selected" href="../samples/sample.html">Samples</a>
-</li>
-<li>
-<a class="base-not-selected" href="http://xml.apache.org">Apache XML Projects</a>
-</li>
-<li>
-<a class="base-not-selected" href="../pluginDocs/plugins_0_70/index.html">Plugins</a>
-</li>
-</ul>
-</div>
-</div>
-<div id="main">
-<div id="publishedStrip">
-<div id="level2tabs">
-<a class="base-selected" href="../samples/index.html">Index</a> | <a class="base-selected" href="../samples/static.html">Sample2</a>
-</div>
-<script type="text/javascript"><!--
-document.write("<text>Last Published:</text> " + document.lastModified);
-// --></script>
-</div>
-<div class="breadtrail">
-
- &nbsp;
- </div>
-<div id="menu">
-<div onclick="SwitchMenu('menu_selected_1.1', '../skin/')" id="menu_selected_1.1Title" class="menutitle" style="background-image: url('../skin/images/chapter_open.gif');">Samples</div>
-<div id="menu_selected_1.1" class="selectedmenuitemgroup" style="display: block;">
-<div class="menupage">
-<div class="menupagetitle">Apache doc v2.0</div>
-</div>
-<div class="menuitem">
-<a href="../samples/document-v13.html" title="A nonsense document using all possible elements in the document v1.3">Apache doc v1.3</a>
-</div>
-<div class="menuitem">
-<a href="../samples/static.html" title="Static raw un-processed content">Static content</a>
-</div>
-<div class="menuitem">
-<a href="../samples/linking.html" title="Linking explained and demonstrated">Linking</a>
-</div>
-<div class="menuitem">
-<a href="../samples/embedded_html.html" title="Test of Embedded HTML">Embedded HTML</a>
-</div>
-<div class="menuitem">
-<a href="../samples/ascii-art.html" title="Sample Ascii Art page">ascii-art page</a>
-</div>
-<div class="menuitem">
-<a href="../samples/usemap.html" title="Client-side imagemap">usemap</a>
-</div>
-<div class="menuitem">
-<a href="../samples/customSchema.html" title="Custom XML Schemas">User Schemas</a>
-</div>
-<div class="menuitem">
-<a href="../samples/custom.html" title="A custom XML file">Custom File</a>
-</div>
-<div class="menuitem">
-<a href="../samples/faq.html" title="Frequently Asked Questions">FAQ</a>
-</div>
-<div onclick="SwitchMenu('menu_1.1.11', '../skin/')" id="menu_1.1.11Title" class="menutitle">Subdir</div>
-<div id="menu_1.1.11" class="menuitemgroup">
-<div class="menuitem">
-<a href="../samples/subdir/index.html" title="Page generated from a sub-directory">Index</a>
-</div>
-</div>
-</div>
-<div id="credit"></div>
-<div id="roundbottom">
-<img style="display: none" class="corner" height="15" width="15" alt="" src="../skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
-<div id="credit2"></div>
-</div>
-<div id="content">
-<div title="Portable Document Format" class="pdflink">
-<a class="dida" href="sample.pdf"><img alt="PDF -icon" src="../skin/images/pdfdoc.gif" class="skin"><br>
- PDF</a>
-</div>
-<h1>The Apache Forrest xdocs document-v2.0 DTD</h1>
-<div class="abstract">This is a demonstration document using all possible elements in
- the current Apache Forrest xdocs document-v20.dtd
- </div>
-<div id="minitoc-area">
-<ul class="minitoc">
-<li>
-<a href="#sample">Sample Content</a>
-<ul class="minitoc">
-<li>
-<a href="#block-inline">Block and inline elements</a>
-</li>
-<li>
-<a href="#presentations">Various presentation formats</a>
-</li>
-<li>
-<a href="#section">Using sections</a>
-</li>
-<li>
-<a href="#sub-section">Sections, the sequel</a>
-<ul class="minitoc">
-<li>
-<a href="#sub-sub-section">Section 2.1</a>
-</li>
-</ul>
-</li>
-<li>
-<a href="#source">Showing preformatted source code</a>
-</li>
-<li>
-<a href="#table">Using tables</a>
-</li>
-<li>
-<a href="#figure">Using figures</a>
-</li>
-<li>
-<a href="#link-class">Using class attribute on links</a>
-</li>
-</ul>
-</li>
-<li>
-<a href="#changes">DTD changes</a>
-<ul class="minitoc">
-<li>
-<a href="#changes-20">Changes between document-v13 and document-v20</a>
-</li>
-<li>
-<a href="#changes-13">Changes between document-v12 and document-v13</a>
-</li>
-<li>
-<a href="#changes-12">Changes between document-v11 and document-v12</a>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-
-<div class="frame note">
-<div class="label">Note</div>
-<div class="content">
- This is a demonstration document using all possible elements in the
- current Apache Forrest xdocs <span class="codefrag">document-v20.dtd</span>
- (See the <a href="#changes">DTD changes</a> section at the bottom.)
- </div>
-</div>
-
-<a name="N10020"></a><a name="sample"></a>
-<h2 class="boxed">Sample Content</h2>
-<div class="section">
-<p>
-<strong>Hint:</strong> See the xml source to see how the various
- elements are used and see the
-
- <a href="http://forrest.apache.org/docs/dtd-docs.html">DTD reference documentation</a>.
- </p>
-<a name="N10031"></a><a name="block-inline"></a>
-<h3 class="boxed">Block and inline elements</h3>
-<p>This is a simple paragraph. Most documents contain a fair amount of
- paragraphs. Paragraphs are called <span class="codefrag">&lt;p&gt;</span>.</p>
-<div class="pre">With the <span class="codefrag">&lt;p xml:space="preserve"&gt;</span> attribute, you can declare
- that whitespace should be preserved, without implying it is in any other
- way special.</div>
-<p>
- This next paragraph has a class attribute of 'quote'. CSS can
- be used to present this <span class="codefrag">&lt;p class='quote'&gt;</span> in
- a different style than the other paragraphs. The handling of
- this quoted paragraph is defined in the &lt;extra-css&gt;
- element in the skinconf.xml.
- </p>
-<p class="quote">
- Anyway, like I was sayin', shrimp is the fruit of the sea. You can
- barbecue it, boil it, broil it, bake it, sautee it. Dey's uh,
- shrimp-kabobs, shrimp creole, shrimp gumbo. Pan fried, deep fried,
- stir-fried. There's pineapple shrimp, lemon shrimp, coconut shrimp,
- pepper shrimp, shrimp soup, shrimp stew, shrimp salad, shrimp and
- potatoes, shrimp burger, shrimp sandwich. That- that's about it.
- </p>
-<p>A number of in-line elements are available in the DTD, we will show them
- inside an unordered list (<span class="codefrag">&lt;ul&gt;</span>):</p>
-<ul>
-
-<li>Here is a simple list item (<span class="codefrag">&lt;li&gt;</span>).</li>
-
-<li>Have you seen the use of the <span class="codefrag">&lt;code&gt;</span> element in the
- previous item?</li>
-
-<li>Also, we have <span class="codefrag">&lt;sub&gt;</span> and <span class="codefrag">&lt;sup&gt;</span>
- elements to show content <sup>above</sup> or <sub>below</sub> the text
- baseline.</li>
-
-<li>There is a facility to <em>emphasize</em> certain words using the
- <span class="codefrag">&lt;em&gt;</span> <strong><span class="codefrag">&lt;strong&gt;</span></strong>
- elements.</li>
-
-<li>We can use
- <img class="icon" alt="feather" height="22" src="../images/icon.png" width="26">
- <span class="codefrag">&lt;icon&gt;</span>s too.</li>
-
-<li>Another possibility is the <span class="codefrag">&lt;img&gt;</span> element:
- <img alt="another feather" height="22" src="../images/icon.png" width="26">,
- which offers the ability to refer to an image map.</li>
-
-<li>We have elements for hyperlinking:
- <dl>
-
-<dt>
-<span class="codefrag">&lt;a href="faq.html"&gt;</span>
-</dt>
-
-<dd>Use this to
- <a href="faq.html" title="Example of a document via link">link</a>
- to another document. As per normal, this will open the new document
- in the same browser window.</dd>
-
-
-<dt>
-<span class="codefrag">&lt;a href="#section"&gt;</span>
-</dt>
-
-<dd>Use this to
- <a href="#section" title="Example of a document via local anchor">link</a>
- to the named anchor in the current document.
- </dd>
-
-
-<dt>
-<span class="codefrag">&lt;a href="faq.html#forrest"&gt;</span>
-</dt>
-
-<dd>Use this to
- <a href="faq.html#forrest" title="Example of a document via link and anchor">link</a>
- to another document and go to the named anchor. This will open
- the new document in the same browser window.
- </dd>
-
-<dt>Targetted window control with jump and fork.</dt>
-
-<dd>See demonstration
- <a href="#link-class">using class attribute on links</a>.
- </dd>
-
-</dl>
-</li>
-
-
-<li>Oh, by the way, a definition list <span class="codefrag">&lt;dl&gt;</span> was used inside
- the previous list item. We could put another
- <ul>
-
-<li>unordered list</li>
-
-<li>inside the list item</li>
-
-</ul>
-
-<table class="ForrestTable" cellspacing="1" cellpadding="4">
-
-<caption>A sample nested table</caption>
-
-<tr>
-<td colspan="1" rowspan="1">Or even tables.. </td><td colspan="1" rowspan="1">
-
-<table class="ForrestTable" cellspacing="1" cellpadding="4">
-<tr>
-<td colspan="1" rowspan="1">inside tables..</td>
-</tr>
-</table>
-
-</td>
-</tr>
-
-<tr>
-<td colspan="1" rowspan="1">or inside lists, but I believe this liberty gets quickly quite
- hairy as you see.</td>
-</tr>
-
-</table>
-
-</li>
-
-</ul>
-<p>So far for the in-line elements, let's look at some paragraph-level
- elements.</p>
-<div class="frame fixme">
-<div class="label">Fixme (SN)</div>
-<div class="content">The <span class="codefrag">&lt;fixme&gt;</span> element is used for stuff
- which still needs work. Mind the <span class="codefrag">author</span> attribute!</div>
-</div>
-<div class="frame note">
-<div class="label">Note</div>
-<div class="content">Use the <span class="codefrag">&lt;note&gt;</span> element to draw attention to something, e.g. ...The <span class="codefrag">&lt;code&gt;</span> element is used when the author can't
- express himself clearly using normal sentences ;-)</div>
-</div>
-<div class="frame warning">
-<div class="label">Warning</div>
-<div class="content">Sleep deprivation can be the result of being involved in an open
- source project. (a.k.a. the <span class="codefrag">&lt;warning&gt;</span> element).
- </div>
-</div>
-<div class="frame note">
-<div class="label">Important</div>
-<div class="content">If you want your own labels for notes and
- warnings, specify them using the <span class="codefrag">label</span> attribute.
- </div>
-</div>
-<p>Apart from unordered lists, we have ordered lists too, of course.</p>
-<ol>
-
-<li>Item 1</li>
-
-<li>Item 2</li>
-
-<li>This should be 3 if my math is still OK.</li>
-
-</ol>
-<a name="N10129"></a><a name="presentations"></a>
-<h3 class="boxed">Various presentation formats</h3>
-<p>This sample document, written in document-v20 XML can be presented
- via Forrest in a number of different formats. The links in the
- following list show this document in each of the currently available
- formats.</p>
-<p>Each of the formats can be made available as a link near the top of
- the page. Actual placement of those links depends on the skin
- currently in use. Those links are enabled in the skinconf.xml via the
- &lt;disable-XXX-link&gt; elements in the skinconf.xml</p>
-<table class="ForrestTable" cellspacing="1" cellpadding="4">
-
-<tr>
-
-<th colspan="1" rowspan="1">Presentation Format</th>
-
- <th colspan="1" rowspan="1">Description</th>
-
- <th colspan="1" rowspan="1">skinconf.xml Element</th>
-
-</tr>
-
-
-<tr>
-
-<td colspan="1" rowspan="1"><a href="sample.html">HTML</a></td>
-
- <td colspan="1" rowspan="1">This document in HTML format. </td>
-
- <td colspan="1" rowspan="1">Always generated by default. Cannot be turned off.</td>
-
-</tr>
-
-
-<tr>
-
-<td colspan="1" rowspan="1"><a href="sample.xml">XML</a></td>
-
- <td colspan="1" rowspan="1">This document in its raw XML format.</td>
-
- <td colspan="1" rowspan="1">&lt;disable-xml-link&gt;. By default, set to true, meaning
- that this link will not be shown.</td>
-
-</tr>
-
-
-<tr>
-
-<td colspan="1" rowspan="1"><a href="sample.pdf">PDF</a></td>
-
- <td colspan="1" rowspan="1">This document as Adobe PDF</td>
-
- <td colspan="1" rowspan="1">&lt;disable-pdf-link&gt;. By default, set to false, meaning
- that this link will be shown.</td>
-
-</tr>
-
-
-<tr>
-
-<td colspan="1" rowspan="1">Text</td>
-
- <td colspan="1" rowspan="1">
-<p>This document as straight text.</p>
-
-<p>For additional information see the Forrest text-output
- plugin.</p>
-</td>
-
- <td colspan="1" rowspan="1">&lt;disable-txt-link&gt;. By default, set to true, meaning
- that this link will not be shown.</td>
-
-</tr>
-
-
-<tr>
-
-<td colspan="1" rowspan="1">POD</td>
-
- <td colspan="1" rowspan="1">
-<p>This document as Perl POD (Plain Old Documentation). Text
- with minimal formatting directives. If on a *nix system with perl
- installed, see "man perlpod".</p>
-
-<p>For additional information see the Forrest pod-output
- plugin.</p>
-</td>
-
- <td colspan="1" rowspan="1">&lt;disable-pod-link&gt;. By default, set to true, meaning
- that this link will not be shown.</td>
-
-</tr>
-
-</table>
-<a name="N101B3"></a><a name="section"></a>
-<h3 class="boxed">Using sections</h3>
-<p>You can use sections to put some structure in your document. For some
- strange historical reason, the section title is an attribute of the
- <span class="codefrag">&lt;section&gt;</span> element.</p>
-<a name="N101C0"></a><a name="sub-section"></a>
-<h3 class="boxed">Sections, the sequel</h3>
-<p>Just some second section.</p>
-<a name="N101C9"></a><a name="sub-sub-section"></a>
-<h4>Section 2.1</h4>
-<p>Which contains a subsection (2.1).</p>
-<a name="N101D4"></a><a name="source"></a>
-<h3 class="boxed">Showing preformatted source code</h3>
-<p>Enough about these sections. Let's have a look at more interesting
- elements, <span class="codefrag">&lt;source&gt;</span> for instance:</p>
-<pre class="code">
-// This example is from the book _Java in a Nutshell_ by David Flanagan.
-// Written by David Flanagan. Copyright (c) 1996 O'Reilly &amp; Associates.
-// You may study, use, modify, and distribute this example for any purpose.
-// This example is provided WITHOUT WARRANTY either expressed or implied.
-
-import java.applet.*; // Don't forget these import statements!
-import java.awt.*;
-
-public class FirstApplet extends Applet {
- // This method displays the applet.
- // The Graphics class is how you do all drawing in Java.
- public void paint(Graphics g) {
- g.drawString("Hello World", 25, 50);
- }
-}</pre>
-<p>CDATA sections are used within
- <span class="codefrag">&lt;source&gt;</span> elements so that you can write pointy
- brackets without needing to escape them with messy
- <span class="codefrag">&amp;lt;</span> entities ...
- </p>
-<pre class="code">
-&lt;pointy&gt;
- easy
-&lt;/pointy&gt;
-</pre>
-<p>Please take care to still use a sensible line-length within your
- source elements.</p>
-<a name="N101F5"></a><a name="table"></a>
-<h3 class="boxed">Using tables</h3>
-<p>And now for a table:</p>
-<table class="ForrestTable" cellspacing="1" cellpadding="4">
-
-<caption>Table caption</caption>
-
-<tr>
-
-<th colspan="1" rowspan="1">heading cell 1</th>
- <th colspan="1" rowspan="1">heading cell 2</th>
- <th colspan="1" rowspan="1">heading cell 3</th>
-
-</tr>
-
-<tr>
-
-<td colspan="1" rowspan="1">data cell</td>
- <td colspan="2" rowspan="1">this data cell spans two columns</td>
-
-</tr>
-
-<tr>
-
-<td colspan="1" rowspan="1">
- Tables can be nested:
- </td>
- <td colspan="1" rowspan="1">
-
-<table class="ForrestTable" cellspacing="1" cellpadding="4">
-
-<tr>
-
-<th colspan="1" rowspan="1">column 1</th>
- <th colspan="1" rowspan="1">column 2</th>
-
-</tr>
-
-<tr>
-
-<td colspan="1" rowspan="1">cell A</td>
- <td colspan="1" rowspan="1">cell B</td>
-
-</tr>
-
-</table>
-
-</td>
- <td colspan="1" rowspan="1">
-
-<ul>
-<li>and can include most other elements</li>
-<li>such as lists</li>
-</ul>
-
-</td>
-
-</tr>
-
-</table>
-<a name="second-figure-anchor"></a><a name="N1025C"></a><a name="figure"></a>
-<h3 class="boxed">Using figures</h3>
-<p>And a <span class="codefrag">&lt;figure&gt;</span> to end all of this.
- Note that this can also be implemented with an
- <span class="codefrag">&lt;img&gt;</span> element.
- </p>
-<div style="text-align: center;">
-<img class="figure" alt="The fine Forrest logo" src="../images/project.png" height="65" width="220"></div>
-<a name="N10272"></a><a name="link-class"></a>
-<h3 class="boxed">Using class attribute on links</h3>
-<p>The document-v13 had elements &lt;fork&gt; and &lt;jump&gt;. In
- document-v20, those elements no longer exist but the functionality can
- be duplicated by using the @class attribute.
- Even though the opening of separate windows should be under the
- control of the user, these techniques can still be employed.</p>
-<table class="ForrestTable" cellspacing="1" cellpadding="4">
-
-<tr>
-
-<th colspan="1" rowspan="1">
-<p>Document V1.3</p>
-</th>
-
- <th colspan="1" rowspan="1">
-<p>Document V2.0</p>
-</th>
-
-</tr>
-
-
-<tr>
-
-<td colspan="1" rowspan="1">
-<p>&lt;fork href="faq.html"&gt;</p>
-</td>
-
- <td colspan="1" rowspan="1"><a target="_blank" class="fork" href="faq.html">&lt;a class="fork"
- href="faq.html"&gt;</a></td>
-
-</tr>
-
-
-<tr>
-
-<td colspan="1" rowspan="1">
-<p>&lt;jump href="faq.html"&gt;</p>
-</td>
-
- <td colspan="1" rowspan="1">
-<p>
-<a target="_top" class="jump" href="faq.html">&lt;a class="jump"
- href="faq.html"&gt;</a>
-</p>
-</td>
-
-</tr>
-
-</table>
-</div>
-
-
-<a name="N102B2"></a><a name="changes"></a>
-<h2 class="boxed">DTD changes</h2>
-<div class="section">
-<p>See the generated
-
- <a href="http://forrest.apache.org/docs/dtd-docs.html">DTD reference documentation</a>.
- </p>
-<a name="N102C1"></a><a name="changes-20"></a>
-<h3 class="boxed">Changes between document-v13 and document-v20</h3>
-<ul>
-
-<li>Renamed <strong>&lt;link&gt;</strong>
- to <strong>&lt;a&gt;</strong>
-
-</li>
-
-<li>Removed <strong>&lt;fork&gt;</strong>
- and <strong>&lt;jump&gt;</strong> in favour of the
- <strong>&lt;a&gt;</strong> element. See demonstration
- <a href="#link-class">using class attribute on links</a>.
- </li>
-
-</ul>
-<a name="N102E4"></a><a name="changes-13"></a>
-<h3 class="boxed">Changes between document-v12 and document-v13</h3>
-<p>
- All v1.2 docs will work fine as v1.3 DTD. The main change is the
- addition of a @class attribute to every element, which enables the
- "extra-css" section in the skinconf to be put to good use.
- </p>
-<a name="N102EE"></a><a name="changes-12"></a>
-<h3 class="boxed">Changes between document-v11 and document-v12</h3>
-<p>
- doc-v12 enhances doc-v11 by relaxing various restrictions that were
- found to be unnecessary.
- </p>
-<ul>
-
-<li>
- Links ((link|jump|fork) and inline elements (br|img|icon|acronym) are
- allowed inside title.
- </li>
-
-<li>
- Paragraphs (p|source|note|warning|fixme), table and figure|anchor are
- allowed inside li.
- </li>
-
-<li>
- Paragraphs (p|source|note|warning|fixme), lists (ol|ul|dl), table,
- figure|anchor are allowed inside definition lists (dd) and tables (td
- and dh).
- </li>
-
-<li>
- Inline content
- (strong|em|code|sub|sup|br|img|icon|acronym|link|jump|fork) is
- allowed in strong and em.
- </li>
-
-</ul>
-</div>
-
-</div>
-<div class="clearboth">&nbsp;</div>
-</div>
-<div id="footer">
-<div class="lastmodified">
-<script type="text/javascript"><!--
-document.write("<text>Last Published:</text> " + document.lastModified);
-// --></script>
-</div>
-<div class="copyright">
- Copyright &copy;
- 2005 The Acme Software Foundation.</div>
-<div id="feedback">
- Send feedback about the website to:
- <a id="feedbackto" href="mailto:webmaster@foo.com?subject=Feedback%C2%A0samples/sample.html">webmaster@foo.com</a>
-</div>
-</div>
-</body>
-</html>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/sample/sample.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/sample/sample.xml
deleted file mode 100644
index 53a1c769b..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/sample/sample.xml
+++ /dev/null
@@ -1,404 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?><!--
- Copyright 2002-2004 The Apache Software Foundation or its licensors,
- as applicable.
-
- Licensed 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.
---><!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.3//EN" "document-v13.dtd">
-<document>
- <header>
- <title>The Apache Forrest xdocs document-v2.0 DTD</title>
- <notice>The content of this document doesn't make any sense at all.</notice>
- <abstract>This is a demonstration document using all possible elements in
- the current Apache Forrest xdocs <code>document-v20.dtd</code>
- </abstract>
- </header>
- <body>
- <note>
- This is a demonstration document using all possible elements in the
- current Apache Forrest xdocs <code>document-v20.dtd</code>
- (See the <link href="#changes">DTD changes</link> section at the bottom.)
- </note>
- <section id="sample">
- <title>Sample Content</title>
- <p><strong>Hint:</strong> See the xml source to see how the various
- elements are used and see the
-<!-- FOR-321 workaround
- <a href="ext:dtd-docs">DTD reference documentation</a>.
--->
- <link href="http://forrest.apache.org/docs/dtd-docs.html">DTD reference documentation</link>.
- </p>
- <section id="block-inline">
- <title>Block and inline elements</title>
- <p>This is a simple paragraph. Most documents contain a fair amount of
- paragraphs. Paragraphs are called <code>&lt;p&gt;</code>.</p>
- <p xml:space="preserve">With the <code>&lt;p xml:space="preserve"&gt;</code> attribute, you can declare
- that whitespace should be preserved, without implying it is in any other
- way special.</p>
- <p>
- This next paragraph has a class attribute of 'quote'. CSS can
- be used to present this <code>&lt;p class='quote'&gt;</code> in
- a different style than the other paragraphs. The handling of
- this quoted paragraph is defined in the &lt;extra-css&gt;
- element in the skinconf.xml.
- </p>
- <p class="quote">
- Anyway, like I was sayin', shrimp is the fruit of the sea. You can
- barbecue it, boil it, broil it, bake it, sautee it. Dey's uh,
- shrimp-kabobs, shrimp creole, shrimp gumbo. Pan fried, deep fried,
- stir-fried. There's pineapple shrimp, lemon shrimp, coconut shrimp,
- pepper shrimp, shrimp soup, shrimp stew, shrimp salad, shrimp and
- potatoes, shrimp burger, shrimp sandwich. That- that's about it.
- </p>
- <p>A number of in-line elements are available in the DTD, we will show them
- inside an unordered list (<code>&lt;ul&gt;</code>):</p>
- <ul>
- <li>Here is a simple list item (<code>&lt;li&gt;</code>).</li>
- <li>Have you seen the use of the <code>&lt;code&gt;</code> element in the
- previous item?</li>
- <li>Also, we have <code>&lt;sub&gt;</code> and <code>&lt;sup&gt;</code>
- elements to show content <sup>above</sup> or <sub>below</sub> the text
- baseline.</li>
- <li>There is a facility to <em>emphasize</em> certain words using the
- <code>&lt;em&gt;</code> <strong><code>&lt;strong&gt;</code></strong>
- elements.</li>
- <li>We can use
- <icon height="22" width="26" src="../images/icon.png" alt="feather"/>
- <code>&lt;icon&gt;</code>s too.</li>
- <li>Another possibility is the <code>&lt;img&gt;</code> element:
- <img src="../images/icon.png" alt="another feather" height="22" width="26"/>,
- which offers the ability to refer to an image map.</li>
- <li>We have elements for hyperlinking:
- <dl>
- <dt><code>&lt;a href="faq.html"&gt;</code></dt>
- <dd>Use this to
- <link href="faq.html" title="Example of a document via link">link</link>
- to another document. As per normal, this will open the new document
- in the same browser window.</dd>
-
- <dt><code>&lt;a href="#section"&gt;</code></dt>
- <dd>Use this to
- <link href="#section" title="Example of a document via local anchor">link</link>
- to the named anchor in the current document.
- </dd>
-
- <dt><code>&lt;a href="faq.html#forrest"&gt;</code></dt>
- <dd>Use this to
- <link href="faq.html#forrest" title="Example of a document via link and anchor">link</link>
- to another document and go to the named anchor. This will open
- the new document in the same browser window.
- </dd>
- <dt>Targetted window control with jump and fork.</dt>
- <dd>See demonstration
- <link href="#link-class">using class attribute on links</link>.
- </dd>
- </dl></li>
-
- <li>Oh, by the way, a definition list <code>&lt;dl&gt;</code> was used inside
- the previous list item. We could put another
- <ul>
- <li>unordered list</li>
- <li>inside the list item</li>
- </ul>
- <table>
- <caption>A sample nested table</caption>
- <tr><td colspan="1" rowspan="1">Or even tables.. </td><td colspan="1" rowspan="1">
- <table><tr><td colspan="1" rowspan="1">inside tables..</td></tr></table>
- </td></tr>
- <tr><td colspan="1" rowspan="1">or inside lists, but I believe this liberty gets quickly quite
- hairy as you see.</td></tr>
- </table>
- </li>
- </ul>
- <p>So far for the in-line elements, let's look at some paragraph-level
- elements.</p>
- <fixme author="SN">The <code>&lt;fixme&gt;</code> element is used for stuff
- which still needs work. Mind the <code>author</code> attribute!</fixme>
- <note>Use the <code>&lt;note&gt;</code> element to draw attention to something, e.g. ...The <code>&lt;code&gt;</code> element is used when the author can't
- express himself clearly using normal sentences ;-)</note>
- <warning>Sleep deprivation can be the result of being involved in an open
- source project. (a.k.a. the <code>&lt;warning&gt;</code> element).
- </warning>
- <note label="Important">If you want your own labels for notes and
- warnings, specify them using the <code>label</code> attribute.
- </note>
- <p>Apart from unordered lists, we have ordered lists too, of course.</p>
- <ol>
- <li>Item 1</li>
- <li>Item 2</li>
- <li>This should be 3 if my math is still OK.</li>
- </ol>
- </section>
-
- <section id="presentations">
- <title>Various presentation formats</title>
-
- <p>This sample document, written in document-v20 XML can be presented
- via Forrest in a number of different formats. The links in the
- following list show this document in each of the currently available
- formats.</p>
-
- <p>Each of the formats can be made available as a link near the top of
- the page. Actual placement of those links depends on the skin
- currently in use. Those links are enabled in the skinconf.xml via the
- &lt;disable-XXX-link&gt; elements in the skinconf.xml</p>
-
- <table>
- <tr>
- <th colspan="1" rowspan="1">Presentation Format</th>
-
- <th colspan="1" rowspan="1">Description</th>
-
- <th colspan="1" rowspan="1">skinconf.xml Element</th>
- </tr>
-
- <tr>
- <td colspan="1" rowspan="1"><link href="sample.html">HTML</link></td>
-
- <td colspan="1" rowspan="1">This document in HTML format. </td>
-
- <td colspan="1" rowspan="1">Always generated by default. Cannot be turned off.</td>
- </tr>
-
- <tr>
- <td colspan="1" rowspan="1"><link href="sample.xml">XML</link></td>
-
- <td colspan="1" rowspan="1">This document in its raw XML format.</td>
-
- <td colspan="1" rowspan="1">&lt;disable-xml-link&gt;. By default, set to true, meaning
- that this link will not be shown.</td>
- </tr>
-
- <tr>
- <td colspan="1" rowspan="1"><link href="sample.pdf">PDF</link></td>
-
- <td colspan="1" rowspan="1">This document as Adobe PDF</td>
-
- <td colspan="1" rowspan="1">&lt;disable-pdf-link&gt;. By default, set to false, meaning
- that this link will be shown.</td>
- </tr>
-
- <tr>
- <td colspan="1" rowspan="1">Text</td>
-
- <td colspan="1" rowspan="1"><p>This document as straight text.</p>
- <p>For additional information see the Forrest text-output
- plugin.</p></td>
-
- <td colspan="1" rowspan="1">&lt;disable-txt-link&gt;. By default, set to true, meaning
- that this link will not be shown.</td>
- </tr>
-
- <tr>
- <td colspan="1" rowspan="1">POD</td>
-
- <td colspan="1" rowspan="1"><p>This document as Perl POD (Plain Old Documentation). Text
- with minimal formatting directives. If on a *nix system with perl
- installed, see "man perlpod".</p>
- <p>For additional information see the Forrest pod-output
- plugin.</p></td>
-
- <td colspan="1" rowspan="1">&lt;disable-pod-link&gt;. By default, set to true, meaning
- that this link will not be shown.</td>
- </tr>
- </table>
- </section>
- <section id="section">
- <title>Using sections</title>
- <p>You can use sections to put some structure in your document. For some
- strange historical reason, the section title is an attribute of the
- <code>&lt;section&gt;</code> element.</p>
- </section>
- <section id="sub-section">
- <title>Sections, the sequel</title>
- <p>Just some second section.</p>
- <section id="sub-sub-section">
- <title>Section 2.1</title>
- <p>Which contains a subsection (2.1).</p>
- </section>
- </section>
-
- <section id="source">
- <title>Showing preformatted source code</title>
- <p>Enough about these sections. Let's have a look at more interesting
- elements, <code>&lt;source&gt;</code> for instance:</p>
- <source xml:space="preserve"><![CDATA[
-// This example is from the book _Java in a Nutshell_ by David Flanagan.
-// Written by David Flanagan. Copyright (c) 1996 O'Reilly & Associates.
-// You may study, use, modify, and distribute this example for any purpose.
-// This example is provided WITHOUT WARRANTY either expressed or implied.
-
-import java.applet.*; // Don't forget these import statements!
-import java.awt.*;
-
-public class FirstApplet extends Applet {
- // This method displays the applet.
- // The Graphics class is how you do all drawing in Java.
- public void paint(Graphics g) {
- g.drawString("Hello World", 25, 50);
- }
-}]]></source>
- <p>CDATA sections are used within
- <code>&lt;source&gt;</code> elements so that you can write pointy
- brackets without needing to escape them with messy
- <code>&amp;lt;</code> entities ...
- </p>
- <source xml:space="preserve"><![CDATA[
-<pointy>
- easy
-</pointy>
-]]></source>
- <p>Please take care to still use a sensible line-length within your
- source elements.</p>
- </section>
-
- <section id="table">
- <title>Using tables</title>
- <p>And now for a table:</p>
- <table>
- <caption>Table caption</caption>
- <tr>
- <th colspan="1" rowspan="1">heading cell 1</th>
- <th colspan="1" rowspan="1">heading cell 2</th>
- <th colspan="1" rowspan="1">heading cell 3</th>
- </tr>
- <tr>
- <td colspan="1" rowspan="1">data cell</td>
- <td colspan="2" rowspan="1">this data cell spans two columns</td>
- </tr>
- <tr>
- <td colspan="1" rowspan="1">
- Tables can be nested:
- </td>
- <td colspan="1" rowspan="1">
- <table>
- <tr>
- <th colspan="1" rowspan="1">column 1</th>
- <th colspan="1" rowspan="1">column 2</th>
- </tr>
- <tr>
- <td colspan="1" rowspan="1">cell A</td>
- <td colspan="1" rowspan="1">cell B</td>
- </tr>
- </table>
- </td>
- <td colspan="1" rowspan="1">
- <ul><li>and can include most other elements</li><li>such as lists</li></ul>
- </td>
- </tr>
- </table>
- </section>
-
- <anchor id="second-figure-anchor"/>
- <section id="figure">
- <title>Using figures</title>
- <p>And a <code>&lt;figure&gt;</code> to end all of this.
- Note that this can also be implemented with an
- <code>&lt;img&gt;</code> element.
- </p>
- <figure src="../images/project.png" alt="The fine Forrest logo" width="220" height="65"/>
- </section>
- <section id="link-class">
- <title>Using class attribute on links</title>
-
- <p>The document-v13 had elements &lt;fork&gt; and &lt;jump&gt;. In
- document-v20, those elements no longer exist but the functionality can
- be duplicated by using the @class attribute.
- Even though the opening of separate windows should be under the
- control of the user, these techniques can still be employed.</p>
-
- <table>
- <tr>
- <th colspan="1" rowspan="1"><p>Document V1.3</p></th>
-
- <th colspan="1" rowspan="1"><p>Document V2.0</p></th>
- </tr>
-
- <tr>
- <td colspan="1" rowspan="1"><p>&lt;fork href="faq.html"&gt;</p></td>
-
- <td colspan="1" rowspan="1"><link class="fork" href="faq.html">&lt;a class="fork"
- href="faq.html"&gt;</link></td>
- </tr>
-
- <tr>
- <td colspan="1" rowspan="1"><p>&lt;jump href="faq.html"&gt;</p></td>
-
- <td colspan="1" rowspan="1"><p><link class="jump" href="faq.html">&lt;a class="jump"
- href="faq.html"&gt;</link></p></td>
- </tr>
- </table>
- </section>
- </section>
-
- <section id="changes">
- <title>DTD changes</title>
- <p>See the generated
-<!-- FOR-321 workaround
- <a href="ext:dtd-docs">DTD reference documentation</a>.
--->
- <link href="http://forrest.apache.org/docs/dtd-docs.html">DTD reference documentation</link>.
- </p>
- <section id="changes-20">
- <title>Changes between document-v13 and document-v20</title>
- <ul>
- <li>Renamed <strong>&lt;link&gt;</strong>
- to <strong>&lt;a&gt;</strong>
- </li>
- <li>Removed <strong>&lt;fork&gt;</strong>
- and <strong>&lt;jump&gt;</strong> in favour of the
- <strong>&lt;a&gt;</strong> element. See demonstration
- <link href="#link-class">using class attribute on links</link>.
- </li>
- </ul>
- </section>
- <section id="changes-13">
- <title>Changes between document-v12 and document-v13</title>
- <p>
- All v1.2 docs will work fine as v1.3 DTD. The main change is the
- addition of a @class attribute to every element, which enables the
- "extra-css" section in the skinconf to be put to good use.
- </p>
- </section>
- <section id="changes-12">
- <title>Changes between document-v11 and document-v12</title>
- <p>
- doc-v12 enhances doc-v11 by relaxing various restrictions that were
- found to be unnecessary.
- </p>
- <ul>
- <li>
- Links ((link|jump|fork) and inline elements (br|img|icon|acronym) are
- allowed inside title.
- </li>
- <li>
- Paragraphs (p|source|note|warning|fixme), table and figure|anchor are
- allowed inside li.
- </li>
- <li>
- Paragraphs (p|source|note|warning|fixme), lists (ol|ul|dl), table,
- figure|anchor are allowed inside definition lists (dd) and tables (td
- and dh).
- </li>
- <li>
- Inline content
- (strong|em|code|sub|sup|br|img|icon|acronym|link|jump|fork) is
- allowed in strong and em.
- </li>
- </ul>
- </section>
- </section>
- </body>
- <footer>
- <legal>This is a legal notice, so it is <strong>important</strong>.</legal>
- </footer>
-</document> \ No newline at end of file
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/sample/wiki_markup.txt b/doc/org.eclipse.emf.teneo.doc/doc/jpox/sample/wiki_markup.txt
deleted file mode 100644
index a6e059cab..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/sample/wiki_markup.txt
+++ /dev/null
@@ -1,97 +0,0 @@
-Elver Wiki Sample
-=================
-<a href = "a">blala</a>
-
-Special characters: ~`@#$%^&*)(_-+=}{][|\:;"'><,.?/
-
-The - character is used for list items.
-The * character is used for list items, emphasized text and strongly
-emphasized text.
-
-Headings
---------
-
- Document Header
- ===============
- Section Header
- --------------
- Subsection Title
- ~~~~~~~~~~~~~~~~
-
-Text Styles
------------
-
-This is *emphasized text*<br/>
-This is **strongly emphasized text**
-This is a " string between double quotes "
-This is a ' string between single quotes '
-
-"A string may not
-span multiple lines"
-
-No need to put whitespace in between*emphasized***strongly
-emphasized**'cstring'"string"
-
-Emphasized
-~~~~~~~~~~
-An 'emphasized' phrase is a text sequence surrounded by '*' characters.
-
-There should be a non-whitespace character after the opening '*'
-character
-and a non-whitespace character before the closing '*' character.
-
-So if there are just some * stars * in the text, they are not recognized
-as emphasized.
-This is *emphasized text*, this is an *e*mphasized character and this is
-a stand-alone *-character.
-The * character can be escaped if necessary: \*this is not emphasized\*.
-
-Strongly Emphasized
-~~~~~~~~~~~~~~~~~~~
-A 'strongly emphasized' phrase is a text sequence surrounded by '**'
-characters.
-
-There should be a non-whitespace character after the opening '**'
-sequence
-and a non-whitespace character before the closing '**' sequence.
-
-So if there are just some ** stars ** in the text, they are not
-recognized as strongly emphasized.
-This is **strongly emphasized text**, this is a **s**trongly emphasized
-character and this a stand-alone **-sequence.
-The * character can be escaped if necessary: \*\*this is not strong\*\*.
-
-Lists
------
-List items start with '-' or '*' characters at the start of the line.
-An empty line terminates the list.
-
-- List item 1
-* List item 2
- (List items may be continuated on the next line)
-- List item 3
-
-
-Line with embedded markup: <a href="www.elver.org" target='_blank'
-
->>Elver Home</strong>, the markup
-
-will be passed through to the xslt template.
-
-<pre>
-
- Block within markup will be passed through.
-
- Multiple paragraphs are allowed here.
-
- - Even lists.
- - Which will be rendered verbatim.
-</pre>
-
-Characters that are not used as the first character of a token, can be
-used unescaped:
-Special characters (no need to escape): /
-String literals: "hi" 'there'
-
-Final paragraph.
-
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/schema_list.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/schema_list.xml
deleted file mode 100644
index 3c41be6f0..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/schema_list.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 10:42:35 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>List of test XML Schemas</title>
- </header>
- <body>
- <p>The integration layer is tested with a number of different test cases. Some
- of these test cases are based on EMF classes generated from XML Schemas and ecore files.
- A subset of the used XML Schemas is provided below so they can be used to test the
- integration layer. For more details please get the test project from subversion (see
- <a href="testcases.html">here</a>).</p>
- <p></p>
- <ul>
- <li><a href="../examples/library.xsd">Library.xsd</a>: the library example</li>
- <li><a href="../examples/Catalog.xsd">Catalog.xsd</a>: a simple product catalog</li>
- <li><a href="../examples/PrimerPO.xsd">PrimerPO.xsd</a>: the primer example used by XML Schema and others</li>
- <li><a href="../examples/ExtendedPO2.ecore">ExtendedPO2.ecore (note ecore file)</a>: the extended po example from the EMF book</li>
- <li><a href="../examples/forum.xsd">Forum.xsd</a>: a simple forum</li>
- <li><a href="../examples/sun_books.xsd">sun_books.xsd</a>: example as provided by Sun for Jaxb (see <a href="http://java.sun.com/developer/technicalArticles/WebServices/jaxb/">here</a>)</li>
- <li><a href="../examples/play.xsd">play.xsd</a>: example on how to model theatre plays, (copied from <a href="http://www.devx.com/Java/Article/10904/0/page/1">here</a>), the test case uses
- the following data file: <a href="../examples/play.xml">play.xml</a></li>
- </ul>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/skinconf.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/skinconf.xml
deleted file mode 100644
index 55c94ba9e..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/skinconf.xml
+++ /dev/null
@@ -1,198 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2005-2006, Elver.org (http://www.elver.org).
-
- Licensed 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.
--->
-
-<!--
- Forrest Skin Configuration. This file contains details
- which will be used to configure the chosen Forrest skin.
-
- @author <a href="pvdhoef@elver.org">Peter van de Hoef</a>
- @version $Revision: 1.1 $ $Date: 2006/08/03 09:58:08 $
--->
-
-<!DOCTYPE skinconfig PUBLIC
- "-//APACHE//DTD Skin Configuration V0.7-1//EN"
- "http://forrest.apache.org/dtd/skinconfig-v07-1.dtd">
-
-<!-- Project logo is the only mandatory element of the skinconfig document. -->
-
-<skinconfig>
-
- <!--
- To enable lucene search add provider="lucene" (default is google).
- Add box-location="alt" to move the search box to an alternate location
- (if the skin supports it) and box-location="all" to show it in all
- available locations on the page. Remove the <search> element to show
- no search box. @domain will enable sitesearch for the specific domain with google.
- In other words google will search the @domain for the query string.
- -->
- <search name="elver" domain="www.elver.org" provider="google"/>
-
- <!-- Disable the print link? If enabled, invalid HTML 4.0.1 -->
- <disable-print-link>true</disable-print-link>
-
- <!-- Disable the PDF link? -->
- <disable-pdf-link>false</disable-pdf-link>
-
- <!-- Disable the POD link? -->
- <disable-pod-link>true</disable-pod-link>
-
- <!-- Disable the Text link? FIXME: NOT YET IMPLEMENETED. -->
- <disable-txt-link>true</disable-txt-link>
-
- <!--
- Disable the xml source link?
- The xml source link makes it possible to access the xml rendition
- of the source from the html page, and to have it generated statically.
- This can be used to enable other sites and services to reuse the
- xml format for their uses. Keep this disabled if you don't want other
- sites to easily reuse your pages.
- -->
- <disable-xml-link>false</disable-xml-link>
-
- <!-- Disable navigation icons on all external links? -->
- <disable-external-link-image>false</disable-external-link-image>
-
- <!--
- Disable w3c compliance links?
- Use e.g. align="center" to move the compliance links logos to
- an alternate location default is left. (if the skin supports it)
- -->
- <disable-compliance-links>true</disable-compliance-links>
-
- <!-- Render mailto: links unrecognisable by spam harvesters? -->
- <obfuscate-mail-links>true</obfuscate-mail-links>
- <obfuscate-mail-value>.at.</obfuscate-mail-value>
-
- <!-- Disable the javascript facility to change the font size -->
- <disable-font-script>true</disable-font-script>
-
- <!-- Project logo is the only mandatory element of the skinconfig document.-->
- <project-name>Elver</project-name>
- <project-description>The Elver Project</project-description>
- <project-url>http://www.elver.org/</project-url>
- <project-logo>images/empty.gif</project-logo>
-
- <!--Optional group logo, default skin: renders it at the top-left corner -->
- <group-name>Elver Store</group-name>
- <group-description>Elver Store</group-description>
- <group-url>http://www.elver.org</group-url>
- <group-logo>images/ELV.gif</group-logo>
-
- <!-- Optional host logo, default skin: renders it at the bottom-left corner -->
- <!--
- <host-url></host-url>
- <host-logo></host-logo>
- -->
-
- <!-- Relative url of a favicon file, normally favicon.ico -->
- <favicon-url></favicon-url>
-
- <!-- The following are used to construct a copyright statement -->
- <year>2005-2006</year>
- <vendor>The Elver Project.</vendor>
- <!-- The optional copyright-link URL will be used as a link in the copyright statement -->
- <copyright-link>license.html</copyright-link>
-
- <!--
- Some skins use this to form a 'breadcrumb trail' of links. Use location="alt" to move the trail
- to an alternate location (if the skin supports it).
- Omit the location attribute to display the trail in the default location.
- Use location="none" to not display the trail (if the skin supports it).
- For some skins just set the attributes to blank.
- -->
- <trail location="none">
- <link1 name="" href=""/>
- <link2 name="" href=""/>
- <link3 name="" href=""/>
- <!--
- <link1 name="myGroup" href="http://www.apache.org/"/>
- <link2 name="myProject" href="http://forrest.apache.org/"/>
- <link3 name="" href=""/>
- -->
- </trail>
-
- <!--
- Configure the TOC, i.e. the Table of Contents.
- @max-depth: how many "section" levels need to be included in the generated Table of Contents (TOC).
- @min-sections: Minimum required to create a TOC.
- @location: ("page","menu","page,menu", "none") Where to show the TOC.
- -->
- <toc max-depth="2" min-sections="1" location="page"/>
-
- <!-- Heading types can be clean|underlined|boxed -->
- <headings type="clean"/>
-
- <!--
- The optional feedback element will be used to construct a feedback link in
- the footer with the page pathname appended: <a href="@href">{@to}</a>
- -->
- <feedback to="webmaster@elver.org" href="mailto:webmaster@elver.org?subject=Feedback on " >
- Send feedback about the website to:
- </feedback>
-
- <!--
- Extra-css - here you can define custom css-elements that are
- a. overriding the fallback elements or
- b. adding the css definition from new elements that you may have used in your documentation.
- -->
- <extra-css>
- </extra-css>
-
- <!--
- The 'colors' section should be present for some skins to work properly.
- -->
- <colors>
- </colors>
-
- <!-- Settings specific to PDF output. -->
- <pdf>
- <!--
- Supported page sizes are a0, a1, a2, a3, a4, a5, executive,
- folio, legal, ledger, letter, quarto, tabloid (default letter).
- Supported page orientations are portrait, landscape (default portrait).
- Supported text alignments are left, right, justify (default left).
- -->
- <page size="a4" orientation="portrait" text-align="left"/>
-
- <!--
- Margins can be specified for top, bottom, inner, and outer edges.
- If double-sided="false", the inner edge is always left and the outer is always right.
- If double-sided="true", the inner edge will be left on odd pages, right on even pages,
- the outer edge vice versa.
- -->
- <margins double-sided="false">
- <top>1in</top>
- <bottom>1in</bottom>
- <inner>1.25in</inner>
- <outer>1in</outer>
- </margins>
-
- <!--
- Print the URL text next to all links going outside the file
- -->
- <show-external-urls>false</show-external-urls>
-
- <!--
- Disable the copyright footer on each page of the PDF.
- A footer is composed for each page. By default, a "credit" with role=pdf
- will be used, as explained below. Otherwise a copyright statement
- will be generated. This latter can be disabled.
- -->
- <disable-copyright-footer>false</disable-copyright-footer>
- </pdf>
-
-</skinconfig>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/status.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/status.xml
deleted file mode 100644
index ddffaac31..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/status.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2005-2006, Elver.org (http://www.elver.org).
-
- Licensed 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.
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 10:42:35 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Status</title>
- </header>
- <body>
- <section id="version">
- <title>Version</title>
- <p>The current version is 0.7.5 (BETA). For changes since the first 0.5.0 release see <a href="changelog.html">here</a>.</p>
- <p>The
- integration should be tested further to assure that it is applicable to many different environments. Currently this release supports
- the features listed <a href="features.html">here</a>, these features pass the testcases.</p>
- </section>
- <section id="Todo">
- <title>Todo</title>
- <p>The todo list:</p>
- <ol>
- <li>Extend EJB3 annotations support</li>
- <li>User defined collections/types (which extend the current EMF collections)</li>
- <li>Automatic validation of persisted EMF objects at commit</li>
- <li>Support for dynamically added EAttributes/EClasses</li>
- <li>More tests...</li>
- </ol>
- </section>
- <section>
- <title>Next Steps</title>
- <p>Integrating EMF with other tools such as:</p>
- <ul>
- <li>Other OR layers such as <a href="http://www.versant.com/">Versant</a></li>
- <li>XML databases (such as <a href="http://exist.sourceforge.net/">Exist</a>)</li>
- <li>Frameworks such as the <a href="http://www.jcp.org/en/jsr/detail?id=170">Java Content Repository</a></li>
- </ul>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/substitution.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/substitution.xml
deleted file mode 100644
index 4bdd07e7d..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/substitution.xml
+++ /dev/null
@@ -1,146 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 10:42:35 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Persisting Substitution Groups</title>
- </header>
- <body>
- <p>This page explains how Substitution Groups are supported in the persistency layer.
- This is provided as background information as this is normally hidden for the application developer.
- </p>
- <section><title>Example XML Schema with Substitution Group</title>
- <p>The XML Schema below (copied from
- <a href="http://www.zvon.org/xxl/XMLSchemaTutorial/Output/ser_substitution_st0.html">zvon.org</a>)
- shows an example of the use of a Substitution Group.</p>
- <source><![CDATA[
- <xsd:element name="root">
- <xsd:complexType>
- <xsd:sequence minOccurs="1">
- <xsd:element ref="myAbstract"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="myAbstract" type="AAA" abstract="true"/>
-
- <xsd:simpleType name="AAA">
- <xsd:restriction base="xsd:integer">
- <xsd:minInclusive value="1"/>
- <xsd:maxInclusive value="9"/>
- </xsd:restriction>
- </xsd:simpleType>
-
- <xsd:element name="odd" substitutionGroup="myAbstract">
- <xsd:simpleType>
- <xsd:restriction base="AAA">
- <xsd:enumeration value="1"/>
- ......
- <xsd:enumeration value="9"/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:element>
-
- <xsd:element name="even" substitutionGroup="myAbstract">
- <xsd:simpleType>
- <xsd:restriction base="AAA">
- <xsd:enumeration value="2"/>
- .....
- <xsd:enumeration value="8"/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:element>
- ]]></source>
- </section>
- <section><title>Java source code for Substitution Group</title>
- <p>This xml schema will result in getters/setters of the following (truncated form):</p>
- <source>
-/**
- * ........
- * @model unique="false" dataType="org.eclipse.emf.ecore.EFeatureMapEntry" required="true"
- * extendedMetaData="kind='group' name='myAbstract:group' namespace='##targetNamespace'"
- * @generated
- */
-FeatureMap getMyAbstractGroup();
-
-/**
- * ........
- * @model unique="false" dataType="org.eclipse.emf.teneo.samples.emf.schemaconstructs.substitutionzvon.AAA" required="true" transient="true" changeable="false" volatile="true" derived="true"
- * required="true" transient="true" changeable="false" volatile="true" derived="true"
- * extendedMetaData="kind='element' name='myAbstract' namespace='##targetNamespace' group='myAbstract:group'"
- * @generated
- */
-BigInteger getMyAbstract();
- </source>
- <p>As is visible one FeatureMap getter is generated for the Substitution Group element. This
- FeatureMap will keep track of which elements (combination of StructuralFeature and
- value) is actually used. In addition a getter (getMyAbstract) is generated for direct
- access to the value.
- </p>
- </section>
- <section>
- <title>Persisting a Substitution Group</title>
- <p>The Substitution Group element is a FeatureMap which is mapped as a collection with embedded types.
- The embedded type is org.eclipse.emf.teneo.jpox.elist.GenericFeatureMapEntry. The mapping for the above example
- is shown below. For more information regarding persisting FeatureMaps see <a href="featuremap.html">here</a>.</p>
- <source><![CDATA[
-<field name="myAbstractGroup" persistence-modifier="persistent">
- <collection element-type="org.eclipse.emf.teneo.jpox.elist.GenericFeatureMapEntry">
- <extension vendor-name="jpox" key="cache-lazy-loading" value="true"/>
- </collection>
- <join/>
- <element>
- <embedded>
- <field name="featurePath"/>
- <field name="localAnyValue" embedded="true">
- <extension vendor-name="jpox" key="implementation-classes" value="java.math.BigInteger"/>
- <extension vendor-name="teneo" key="estructuralfeatures" value="myAbstract"/>
- </field>
- <field name="localReferenceValue" embedded="true">
- <extension vendor-name="jpox" key="implementation-classes" value="org.eclipse.emf.teneo.jpox.mapping.AnyTypeEObject"/>
- <extension vendor-name="teneo" key="estructuralfeatures" value=""/>
- <foreign-key delete-action="restrict" update-action="cascade"/>
- </field>
- <field name="localContainmentReferenceValue" dependent="true" embedded="true">
- <foreign-key delete-action="cascade" update-action="cascade"/>
- <extension vendor-name="jpox" key="implementation-classes" value="org.eclipse.emf.teneo.jpox.mapping.AnyTypeEObject"/>
- <extension vendor-name="teneo" key="estructuralfeatures" value=""/>
- </field>
- </embedded>
- </element>
- <order column="ROOTTYPE_MYABSTRACTGROUP_IDX"/>
-</field>
- ]]></source>
- </section>
- <section>
- <title>Benefits/Consequences of this approach</title>
- <p>The chosen approach has a number of benefits/consequences:</p>
- <ul>
- <li>The extensions to persist Substitution Groups are completely hidden for the application developer.
- He/She can use the standard EMF apis.</li>
- <li>No unnecessary columns: a (nullable) column is only created for the type which can
- be used in place of the Substitution Group.</li>
- <li>Advanced querying possible: foreign keys are created in the entry table for references
- to other classes (tables). This means that it is possible to join tables using advanced
- SQL or JDOQL queries.</li>
- <li>Features such as delete restrictions work directly and without
- any further extra specifications.</li>
- </ul>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/svn.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/svn.xml
deleted file mode 100644
index 25dee5a18..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/svn.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.4 $ $Date: 2006/09/13 16:05:49 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>CVS</title>
- </header>
- <body>
- <p>The source code of the EMF - JPOX integration is stored in Eclipse.org cvs here:</p>
- <ul>
- <li>host: dev.eclipse.org</li>
- <li>repository: /cvsroot/technology</li>
- <li>module: org.eclipse.emft/teneo</li>
- </ul>
- <p>
- <strong>The source code in cvs is updated on a daily basis and contains experimental
- new features which can (temporarily) break already existing functionality and tests.
- There is no guarantee that the code in cvs will work in anyway.</strong></p>
- <section id="projects">
- <title>Projects in CVS</title>
- <p>The cvs repository has the following structure and projects:</p>
- <ul>
- <li>doc: contains this website</li>
- <li>examples: contains the samples and tutorial projects. Samples has all the model projects which are used as the basis for the test cases. The tutorial project contains the tutorials used on this website.</li>
- <li>plugins: this is the main folder. The following jpox related projects are present here:
- <ul><li>org.eclipse.emf.teneo: generic part of the runtime layer</li>
- <li>org.eclipse.emf.teneo.annotations: the jpa annotations</li>
- <li>org.eclipse.emf.teneo.eclipse: the generic part of the ui additions to eclipse for the Teneo right-click menus</li>
- <li>org.eclipse.emf.teneo.jpox: the main jpox project containing the mapping logic, jpox annotations and runtime layer</li>
- <li>org.eclipse.emf.teneo.jpox.eclipse: jpox specific part of the ui additions to eclipse</li>
- <li>org.eclipse.emf.teneo.libraries: common libraries (for example log4j).</li>
- </ul>
- </li>
- <li>tests: contains the test cases:
- <ul>
- <li>org.eclipse.emf.teneo.commontest: this project contains the test case part which is common for JPOX and Hibernate.</li>
- <li>org.eclipse.emf.teneo.jpox.libraries: jpox libraries, not distributed as part of the build, used during testing.</li>
- <li>org.eclipse.emf.teneo.jpox.test: jpox test cases (junit)</li>
- </ul>
- </li>
- </ul>
- <p>In addition there are several feature projects and build related projects.</p>
- <p><strong>Several of the above projects use third party libraries during the build process. The
- plugin projects have dependencies defined on these libraries. However because of licensing these
- libraries are not publically accessible in Eclipse cvs. The third party libraries have to be
- downloaded separately.</strong></p>
- <p>We use the standard Eclipse code format with the line length set to 120, the formatter profile
- can be downloaded <a href="../download/elver-code-profile.xml">here</a>.</p>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/testcases.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/testcases.xml
deleted file mode 100644
index 8aa4553a7..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/testcases.xml
+++ /dev/null
@@ -1,77 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2005-2006, Elver.org (http://www.elver.org).
-
- Licensed 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.
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.1 $ $Date: 2006/08/03 09:58:08 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>EMF - JPOX Testcases</title>
- </header>
- <body>
- <p>The EMF - JPOX integration is continously being tested using a number (currently > 55) of testcases.
- Some testcases cover specific features such as one-to-many relations.
- Other testcases cover specific error conditions. In addition a number of
- EMF tutorials and examples have been added as testcases.
- </p>
- <p>Test cases are run using the following environment: Eclipse 3.1-3.2/EMF 2.1-2.2, jdk 1.4.2, JPOX 1.1.0rc1,
- Mysql 4.1.14 and SQL Server 2000.</p>
- <section id="download">
- <title>Download test case projects</title>
- <p>To run the test cases you need to download a number of related Eclipse projects. See the <a href="svn.html">Subversion</a>
- page for download information:
- </p>
- <ul>
- <li>org.elver.store. annotations: is responsible for generating the package.jdo file</li>
- <li>org.elver.store: generic part of solution</li>
- <li>org.elver.store. jpox: the emf-jpox runtime</li>
- <li>org.elver.store. samples: this project contains the examples and model information used in the testcases.</li>
- <li>org.elver.store. commontest: this project contains the test case part which is common for Hibernate and JPOX</li>
- <li>org.elver.store. jpox.test: the jpox specific part of the tests</li>
- </ul>
- </section>
- <section id="configuration">
- <title>Configuration</title>
- <p>
- Before running the testcases you have to specify the database connection information in the dbadapters.properties
- file in the org.elver.store.jpox.test project in the src folder. The properties are explained in the dbadapters.properties file.
- The test.properties file in the same folder determines which configuration is tested (for example which database and
- which inheritance mapping strategy).
- </p>
- <p>
- Note that the database driver specified in the dbadapters.properties file should be added to the project's
- class path (in project properties).
- </p>
- </section>
- <section id="structure">
- <title>Run the jpox testcases</title>
- <p>A complete jpox testcase run consists of two steps: 1) to generate the package.jdo and 2) to run
- the testcase itself. The generation of the jdo file and the actual test have to be run separately because of
- class loader issues.</p>
- <p>The package.jdo's are generated through the org.elver.store.jpox.test.AllGenerateTests test run.
- <em>After the generate testrun the generated package.jdo's can be found in the run directory of the org.elver.store.jpox.test project.</em></p>
- <p>The testrun itself is done through the org.elver.store.jpox.test.AllTests class.</p>
-
- </section>
-</body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/troubleshooting.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/troubleshooting.xml
deleted file mode 100644
index 2bc978e40..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/troubleshooting.xml
+++ /dev/null
@@ -1,191 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.3 $ $Date: 2006/09/14 08:03:54 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Troubleshooting</title>
- </header>
- <body>
- <p><em>For troubleshooting please also visit the <strong><a href="knownissues.html">Known Issues</a></strong> page.</em></p>
- <section>
- <title>JPOX Configuration and Use Details</title>
- <p>The following <a href="jpox_details.html">page</a> discusses a number of details related to the
- configuration and use of the EMF/JPOX layer. This can possibly explain unexpected behavior.</p>
- </section>
- <section id="ormapper">
- <title>Troubleshooting the OR Mapper and Resource Utilities</title>
- <p>If an error popup is shown or no popup box appears after the OR Mapper plugin is finished then an application
- error has occured within the OR Mapper/Resource utility.</p>
- <p>The OR Mapper menu option only works if the ecore file is located in the same Java Project as the generated
- EPackage sources.</p>
- <p>When the console shows this exception: <em>Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/emf/teneo/jpox/mapper/GenerateJDO</em>
- then you have not added the org.eclipse.emf.teneo.jpox plugin to the dependencies of the model plugin.</p>
- <p>
- To analyze what the problem is first view the error log. The error log
- can be opened through: <em>Window > Show View > Error Log</em>. See below for an example
- of an error in the OR Mapper (created on purpose for this example). By doubleclicking on the lines in
- the error log you can get more information.
- </p>
- <p><img src="images/plugin_error.jpg" alt="View on the error log for plugins"/></p>
- <p></p>
- <p>When you see the exception java.lang.NoSuchMethodError: org.eclipse.emf.common.util.AbstractEnumerator then
- you need to upgrade to EMF 2.2</p>
- <p>More information is present in the log file generated by the Teneo plugins. The log
- file can be found in the .metadata/.plugins/org.eclipse.emf.teneo.jpox.eclipse or .metadata/.plugins/org.eclipse.emf.teneo.eclipse subdirectory in the Eclipse workspace directory (note
- the dots before metadata and plugins).</p>
- <p><img src="images/log_file.jpg" alt="Path to the logfile"/></p>
- <p></p>
- <p></p>
- <p>The or mapping can also be generated programmatically this can give more insight in the issues, see <a href="jpoxdatastore.html#Programmatic+generation+of+package.jdo">here</a>.</p>
- <p>When mailing a question regarding these type of errors please also post the logfile.
- Logfiles are automatically copied to a backup if 250kb has been reached, only one backup file is maintained.</p>
- </section>
- <section id="enhancermapper">
- <title>Troubleshooting the JPOX Enhancer</title>
- <p>Problems in the JPOX enhancer are often related to the installation of the JPOX plugin, e.g. an incorrect classpath setting in the preferences or
- an invalid package.jdo file. The JPOX Enhancer will write debug and log messages to the console in Eclipse.
- if this does not happen please check the log4j settings.
- </p>
- <section>
- <title>JPOX Plugin installation</title>
- <p>If you do not see a specific JPOX submenu when right clicking on a Java package, then the JPOX plugin
- is not installed. To check what is wrong look in the workspace/.metadata/.log file, where workspace
- is your workspace directory.
- </p>
- </section>
- <section>
- <title>Classpath error</title>
- <p>A classpath error will be made visible like the image below. This particular error
- can be solved by adding the required jars to the classpath of the JPOX Enhancer
- (in this case the JPOX Core jar, see <a href="installation.html">installation instructions)</a>.
- </p>
- <p><img src="images/enhancer_error_no_class.jpg" alt="Error message no class found"/></p>
- </section>
- <section>
- <title>Incorrect package.jdo</title>
- <p>The JPOX Enhancer will notify you if there is an error in the package.jdo.
- The error message shown by the JPOX Enhancer in the console
- does not look very alarming (no red blinking text). See the image below.
- </p>
- <p><img src="images/error_jdo.jpg" alt="Error message in the console"/></p>
- <p>The main symptom of an error condition is that the enhancement ends with
- the statement <em>Initialising 0 JDO Files</em>. A few lines above that in the
- console you will see 2 lines with the error message.
- </p>
- <p>If you post a question about an error in the enhancer to the mailing list then please also post the content of the console and
- the package.jdo file</p>
- </section>
- </section>
- <section id="runtime">
- <title>Troubleshooting the Runtime layer</title>
- <p>The runtime layer uses commons-logging for logging. Please set the log level to debug to get the most information.</p>
- <p>If you use the runtime layer within a plugin then log messages will not appear in the console. In this
- case check the error log view (<em>Window > Show View > Error Log</em>) or let the log messages be
- written to a file.
- </p>
- <p><em>As an extra debug enabling you can add the following line in the EMF editor plugin:</em></p>
- <source>
-org.eclipse.osgi.framework.debug.Debug.DEBUG_GENERAL = true;
- </source>
- <p>This will result in much more debugging information in the console.</p>
- </section>
- <section><title>Cut and Paste does not work in the Editor</title>
- <p>Please look <a href="jpox_details.html#cutpaste">here</a></p>
- </section>
- <section>
- <title>java.lang.NoClassDefFoundError when starting/initializing runtime layer</title>
- <p>When your model is divided over different projects/plugins then org.eclipse.emf.teneo.jpox plugin has to
- be set (as a dependency) in the project with the 'widest' classpath (the project with a classpath containing the other plugins).
- For example if you have the following two emf projects:</p>
- <ul><li>Core</li><li>Specific (which uses/imports Core)</li></ul>
- <p>Then the dependency should only be in the META-INF of the 'Specific' project. This is required
- otherwise Jpox will not see the 'Specific' project.</p>
- </section>
- <section><title>Derby database and cascading deletes</title>
- <p>
- Teneo will specify foreign keys with cascade delete in the mapping file if required
- by the model (for example with containment). However Derby does not support cascading deletes and will
- throw an error in the initialisation phase. The only solution is to manually delete the cascade delete
- foreign key tags in the package.jdo. Teneo does not know at mapping file generation time which database
- is used and can therefore not know if cascade deletes are supported or not.
- </p>
- </section>
- <section><title>Created new model through new model wizard: diagnostic error</title>
- <p>The generated EMF model wizard allows invalid documents. When going through the
- wizard you need to select a type to create as the first document in the resource. The
- EMF model wizard creates an empty (all members are null) instance of this type and adds
- it to the JPOX resource. Before the JPOX resource is
- saved it checks if the content of the resource is valid. When nullable-constraints
- are violated a StoreValidationException (with Diagnostics) is thrown.</p>
- <p>To solve this you should make your model more relaxed (make elements nullable) or
- add a small amount of code, which sets the non-nullable fields, to the model wizard. An example of this last solution
- is illustrated in the Library Tutorial.
- </p>
- </section>
- <section><title>OR Mapper: java.lang.NoSuchMethodError: org.eclipse.emf.common.util.AbstractEnumerator</title>
- <p>When you run the or mapper and no popup box is shown then view the error log. If the error log shows the
- stacktrace below then you need to upgrade to EMF 2.2</p>
- <source><![CDATA[
-java.lang.NoSuchMethodError: org.eclipse.emf.common.util.AbstractEnumerator.<init>(ILjava/lang/String;Ljava/lang/String;)V
-at org.elver.store.annotations.pannotation.InheritanceType.<init>(InheritanceType.java:182)
-at org.elver.store.annotations.pannotation.InheritanceType.<clinit>(InheritanceType.java:85)
-at org.elver.store.jpox.eclipse.popup.actions.GenerateJDOActionSuperTable.run(GenerateJDOActionSuperTable.java:42)
-at org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:246)
- ]]></source>
- </section>
- <section>
- <title>The resource is empty in the generated editor</title>
- <p>The JPOX resources will only load EMF objects which have been enhanced. To ensure that
- the EMF classes are enhanced make sure that 'Enable Auto Enhancement' is checked in the
- JPOX submenu. The JPOX submenu is displayed when you right click on the EMF model project.</p>
- <p>See also the <a href="knownissues.html">Know Issues</a>.</p>
- </section>
- <section><title>Update manager does not find the upgrade of the EMF - JDO plugin</title>
- <p>Please see the <a href="upgrading.html">upgrade page</a> for more information.</p>
- </section>
- <section><title>Editor does not start, the error log gives a sql error 'Missing column....'</title>
- <p>This can occur if your model has changed or you just upgraded the OR Mapper plugin,
- see the <a href="upgrading.html">upgrade page</a> for more information.</p>
- </section>
- <section><title>Editor does not start, ClassNotFoundException on the Editor Plugin, org.jpox.exceptions.ClassNotResolvedException</title>
- <p>This can happen when the JPOX libraries can not find the model classes. You can check if
- you have set the BuddyPolicy in the Manifest.MF of the plugin containing the JPOX jar files.
- If not add the following to the Manifest.MF of the plugin containing the JPOX jar files:
- Eclipse-BuddyPolicy: dependent</p>
- </section>
- <section><title>Editor does not start, AssertionFailedException</title>
- <p>When you start the editor you get the following exteption (stacktrace truncated):</p>
- <source>
-org.eclipse.core.runtime.AssertionFailedException: assertion failed:
-at org.eclipse.core.runtime.Assert.isTrue(Assert.java:109)
-at org.eclipse.core.runtime.Assert.isTrue(Assert.java:95)
-at org.eclipse.ui.part.MultiPageEditorPart.setActivePage(MultiPageEditorPart.java:688)
-at org.eclipse.ui.part.MultiPageEditorPart.createPartControl(MultiPageEditorPart.java:280)
- </source>
- <p>You probably started the editor with an empty database, the editor does not support this.
- You should have at least one root object in the database (for example a Library object in
- the Library tutorial).</p>
- </section>
- <section><title>Teneo does not see my changes in the ecore model</title>
- <p>Teneo uses the runtime version of the ecore model. The runtime version is present as java code in the
- generated EPackage implementation class. This runtime ecore can differ from the ecore file when the
- model code is not regenerated after a change in the ecore file. So to let Teneo use the changes in the ecore
- file the model code needs to be regenerated.</p>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/Tutorial1.java b/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/Tutorial1.java
deleted file mode 100644
index be0a36bdf..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/Tutorial1.java
+++ /dev/null
@@ -1,245 +0,0 @@
-/**
- * <copyright>
- *
- * Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Taal
- * </copyright>
- *
- * $Id: Tutorial1.java,v 1.2 2006/09/13 10:42:36 mtaal Exp $
- */
-
-package jpoxtutorial;
-
-import java.io.IOException;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.Properties;
-
-import javax.jdo.Extent;
-import javax.jdo.PersistenceManager;
-import javax.jdo.Query;
-import javax.jdo.Transaction;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-import org.eclipse.example.library.Book;
-import org.eclipse.example.library.BookCategory;
-import org.eclipse.example.library.Library;
-import org.eclipse.example.library.LibraryFactory;
-import org.eclipse.example.library.LibraryPackage;
-import org.eclipse.example.library.Writer;
-import org.eclipse.example.library.impl.BookImpl;
-import org.eclipse.example.library.impl.LibraryImpl;
-import org.eclipse.example.library.impl.WriterImpl;
-import org.eclipse.emf.teneo.jpox.JpoxDataStore;
-import org.eclipse.emf.teneo.jpox.JpoxHelper;
-import org.eclipse.emf.teneo.jpox.resource.JPOXResourceDAO;
-import org.jpox.PMFConfiguration;
-
-/**
- * Tutorial
- *
- * @author <a href="mailto:mtaal@elver.org">Martin Taal</a>
- * @version $Revision: 1.2 $
- */
-public class Tutorial1 {
-
- /**
- * @param args
- */
- public static void main(String[] args) {
-
- // At this position you can add your own specific types for jpox
- // This should be done before creating the persistence manager factory, e.g.
- // TypeManager.getTypeManager().addType(MyNiceType.class.getName(), MyNiceTypeMapping.class,
- // MyNiceTypeWrapper.class);
-
- // set the database connection info, PMFConfiguration is org.jpox.PMFConfiguration
- Properties properties = new Properties();
- properties.setProperty(PMFConfiguration.JDO_DATASTORE_DRIVERNAME_PROPERTY, "com.mysql.jdbc.Driver");
- properties.setProperty(PMFConfiguration.JDO_DATASTORE_URL_PROPERTY, "jdbc:mysql://127.0.0.1:3306/mylibrary");
- properties.setProperty(PMFConfiguration.JDO_DATASTORE_USERNAME_PROPERTY, "root");
- properties.setProperty(PMFConfiguration.JDO_DATASTORE_PASSWORD_PROPERTY, "root");
-
- // create/register the JpoxDataStore, set the db props and the epackages to persist, initialize creates
- // the database
- String pmfName = "MyPMF"; // the name of the JpoxDataStore
- JpoxDataStore jpoxDataStore = JpoxHelper.INSTANCE.createRegisterDataStore(pmfName);
- jpoxDataStore.setProperties(properties);
- jpoxDataStore.setEPackages(new EPackage[] { LibraryPackage.eINSTANCE });
- jpoxDataStore.initialize();
-
- // create a persistence manager and a transaction
- PersistenceManager pm = jpoxDataStore.getPMF().getPersistenceManager();
- Transaction tx = pm.currentTransaction();
-
- // start a transaction, create a library and make it persistent
- tx.begin();
- Library lib = LibraryFactory.eINSTANCE.createLibrary();
- lib.setName("My Library");
- pm.makePersistent(lib);
-
- // create a writer
- Writer writer = LibraryFactory.eINSTANCE.createWriter();
- writer.setName("JRR Tolkien");
-
- // and one of his books
- Book book = LibraryFactory.eINSTANCE.createBook();
- book.setAuthor(writer);
- book.setPages(305);
- book.setTitle("The Hobbit");
- book.setCategory(BookCategory.SCIENCE_FICTION_LITERAL);
-
- // add the writer/book to the library. The writer and book are automatically
- // made persistent because they are added to the library which is already
- // made persistent
- lib.getWriters().add(writer);
- lib.getBooks().add(book);
-
- // at commit the objects will be present in the database
- tx.commit();
- pm.close(); // empty the cache
-
- // at this point the database contains one library, one book and one writer
- // Reopen the transaction and query for the library objects
- pm = jpoxDataStore.getPMF().getPersistenceManager();
- tx = pm.currentTransaction();
- tx.begin();
-
- // NOTE: here you see one drawback of the current JPOX implementation:
- // for querying you require the concrete implementation instead of the
- // interface!
- // retrieve all LibraryImpl classes and subclasses.
- Extent e = pm.getExtent(LibraryImpl.class, true);
- Query q = pm.newQuery(e);
-
- // there is only one library
- Collection c = (Collection) q.execute();
- lib = (Library) c.iterator().next();
-
- // read the writer and book
- writer = (Writer) lib.getWriters().get(0);
- System.out.println(writer.getName());
- book = (Book) lib.getBooks().get(0);
- System.out.println(book.getTitle());
-
- // show that the container is set
- System.out.println(book.eContainer() == lib);
- System.out.println(writer.getBooks().get(0) == book);
-
- // Now add a new writer and book
- Writer george = LibraryFactory.eINSTANCE.createWriter();
- george.setName("G. Orwell");
-
- // create a new book and set the writer and library
- Book georgesBook = LibraryFactory.eINSTANCE.createBook();
- georgesBook.setPages(250);
- georgesBook.setTitle("1984");
- georgesBook.setCategory(BookCategory.SCIENCE_FICTION_LITERAL);
- georgesBook.setAuthor(george);
-
- lib.getBooks().add(georgesBook);
- lib.getWriters().add(george);
-
- // and close of
- tx.commit();
- pm.close();
-
- // reopen the pm/transaction
- pm = jpoxDataStore.getPMF().getPersistenceManager();
- tx = pm.currentTransaction();
- tx.begin();
-
- // retrieve all books
- Query qry = pm.newQuery("SELECT FROM " + BookImpl.class.getName());
- Collection coll = (Collection) qry.execute();
- System.out.println(((Book) coll.iterator().next()).getTitle()); // show a title
- System.out.println(((Book) coll.iterator().next()).getTitle()); // show a title
-
- // retrieve a book which has a writer with the name of G. Orwell
- qry = pm.newQuery("SELECT FROM " + BookImpl.class.getName() + " WHERE "
- + " title==\"1984\" && author == writ && writ.name == \"G. Orwell\" " + "VARIABLES "
- + WriterImpl.class.getName() + " writ");
- coll = (Collection) qry.execute();
- System.out.println(coll.size()); // should be 1
- Book bk = (Book) coll.iterator().next();
- System.out.println(bk.getTitle()); // should be 1984
- System.out.println(bk.getAuthor().getName()); // should be G. Orwell
-
- // read the library with a name ending on Library
- qry = pm.newQuery("SELECT FROM " + LibraryImpl.class.getName() + " WHERE name.endsWith(\"Library\")");
- coll = (Collection) qry.execute();
- lib = (Library) coll.iterator().next();
-
- qry = pm.newQuery("SELECT FROM " + JpoxHelper.INSTANCE.getInstanceClass(Book.class).getName() + " WHERE "
- + " title==\"1984\" && author == writ && writ.name == \"G. Orwell\" " + "VARIABLES "
- + WriterImpl.class.getName() + " writ");
- System.err.println(((Collection) qry.execute()).size());
-
- // retrieving all books
- qry = pm.newQuery("SELECT FROM " + JpoxHelper.INSTANCE.getInstanceClass(Book.class).getName());
- System.err.println(((Collection) qry.execute()).size());
-
- // retrieving all libraries with a name ending on library
- qry = pm.newQuery("SELECT FROM " + JpoxHelper.INSTANCE.getInstanceClass(Library.class).getName()
- + " WHERE name.endsWith(\"Library\")");
- System.err.println(((Collection) qry.execute()).size());
-
- // and really close of
- tx.commit();
- pm.close();
-
- try {
- String uriStr = "jpox://?" + JPOXResourceDAO.DS_NAME_PARAM + "=MyPMF";
- final URI uri = URI.createURI(uriStr);
- ResourceSet resourceSet = new ResourceSetImpl();
- final Resource res = resourceSet.createResource(uri);
-
- res.load(Collections.EMPTY_MAP);
- Iterator it = res.getContents().iterator();
- Library libTest;
- while (it.hasNext()) {
- libTest = (Library) it.next();
- System.out.println(libTest.getName());
- }
-
- Library libNew = LibraryFactory.eINSTANCE.createLibrary();
- libNew.setName("My Second Library");
-
- // create a writer
- Writer writerNew = LibraryFactory.eINSTANCE.createWriter();
- writerNew.setName("I. Asimov");
-
- // and one of his books
- Book bookNew = LibraryFactory.eINSTANCE.createBook();
- bookNew.setAuthor(writerNew);
- bookNew.setPages(305);
- bookNew.setTitle("Foundation and Empire");
- bookNew.setCategory(BookCategory.SCIENCE_FICTION_LITERAL);
-
- // add the writer/book to the library.
- libNew.getWriters().add(writerNew);
- libNew.getBooks().add(bookNew);
-
- // Add the top-level object to the resource
- res.getContents().add(libNew);
-
- // and save them all
- res.save(Collections.EMPTY_MAP);
- } catch (IOException i) {
- throw new RuntimeException("IOException " + i.getMessage(), i);
- }
-
- jpoxDataStore.close();
- }
-}
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/images/add_jpox.gif b/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/images/add_jpox.gif
deleted file mode 100644
index 7fc150407..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/images/add_jpox.gif
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/images/generate_jdo.gif b/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/images/generate_jdo.gif
deleted file mode 100644
index 95b24bd6a..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/images/generate_jdo.gif
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/images/jar_plugin.gif b/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/images/jar_plugin.gif
deleted file mode 100644
index 684cc1cd0..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/images/jar_plugin.gif
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/images/plugindependency.gif b/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/images/plugindependency.gif
deleted file mode 100644
index eff70cb42..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/images/plugindependency.gif
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/images/start.gif b/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/images/start.gif
deleted file mode 100644
index 819a91b7a..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/images/start.gif
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/license.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/license.xml
deleted file mode 100644
index 95e4f24fc..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/license.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- Licence page.
-
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 10:42:36 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>License</title>
- </header>
- <body>
- <p>Teneo is licensed under the <a href="http://www.eclipse.org/org/documents/epl-v10.php">Eclipse Public License</a>.
- In all documents and software the following copyright and license statement is present.
- </p>
- <source>
-Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
-All rights reserved. This program and the accompanying materials
-are made available under the terms of the Eclipse Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/epl-v10.html
- </source>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/tutorial1_1.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/tutorial1_1.xml
deleted file mode 100644
index 403ea08f0..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/tutorial1_1.xml
+++ /dev/null
@@ -1,82 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 10:42:36 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Step 1: Generate jdo, enhance classes</title>
- <abstract>The first step in the tutorial is to setup the environment</abstract>
- </header>
- <body>
- <section>
- <title>Enable JPOX Support</title>
- <p>This tutorial assumes that the JPOX Eclipse pluging has been installed. Perform the following
- steps to enable JPOX support (see the image below): </p>
- <ol>
- <li>Add JPOX support: right click on the library project and in the JPOX menu choose <em>Add JPOX Support</em></li>
- <li>Enable Auto Enhancement: this automatically enhances your classes after each Eclipse build,
- right click on the library project and in the JPOX menu check <em>Enable Auto-Enhancement</em></li>
- </ol>
- <figure src="images/add_jpox.gif" alt="Enabling JPOX support for the library project"/>
- </section>
- <section>
- <title>Add runtime plugin to dependencies of plugin.xml</title>
- <p>To enable the runtime layer the org.eclipse.emf.teneo.jpox plugin needs to be added to the
- plugin dependencies of the plugin.xml (see image below).</p>
- <p>In addition your database JDBC driver should be added to classpath of the plugin.</p>
- <figure src="images/plugindependency.gif" alt="Setting dependency of plugin.xml"/>
- <p><strong>The runtime plugin needs to be specified in the plugin dependencies before the OR mapping can be generated.</strong></p>
- </section>
- <section>
- <title>Generate OR Mapping</title>
- <p>To generate the OR mapping right click on the ecore file and select the option
- <em>Generate EMF - JDO/JPOX OR Mapping</em> in the Teneo submenu (the exact label of this
- menu option may vary depending on the Teneo release you use). The generation takes
- only a second, the package.jdo file should be created in the same folder as the ecore file. <em>It is possible
- that the folder needs to be refreshed manually.</em></p>
- <p>Next copy the created package.jdo file to a location in the source tree and build the project (if it is not done automatically).</p>
- <p>Note:</p>
- <ul>
- <li>The OR Mapper searches for the EPackage classes in your project and uses the classpath of the project of
- the ecore file.</li>
- <li>The only requirement is that your EPackage classes (the interface) extend the emf EPackage interface directly.</li>
- <li>If there was already a package jdo file at the location, then the old version is copied to package.jdo_old</li>
- <li>The JPOX enhancer automatically enhances your class files if you have automatic build on, see the console view for the output of the
- enhancer</li>
- </ul>
- <p></p>
- <p></p>
- <figure src="../images/elver_menu.gif" alt="Generating or mapping"/>
- <p></p>
- <p>The or mapping can also be generated programmatically, see <a href="../jpoxdatastore.html#Programmatic+generation+of+package.jdo">here</a>.</p>
- </section>
- <section>
- <title>Create Empty Database</title>
- <p>The runtime layer will automatically create tables and foreign constraints. However it will not
- automatically create a database. For this tutorial you need to manually create an empty
- database in your database server, the database should have the name: <em>mylibrary</em>.</p>
- </section>
- <section>
- <title>Add Logging</title>
- <p>To view the log messages of JPOX and the integration layer you have to set the log4j properties. A
- simple sample log4j.properties file can be downloaded <a href="../download/log4j.properties">here</a>.
- The log4j.properties file has to be placed directly in the src folder of the library model project.</p>
- <p></p>
- <p>Please click <a href="tutorial1_2.html">here</a> to go to the next step to create a library object and store it.</p>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/tutorial1_2.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/tutorial1_2.xml
deleted file mode 100644
index be5614658..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/tutorial1_2.xml
+++ /dev/null
@@ -1,107 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 10:42:36 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Step 2: Create and store EMF Objects</title>
- </header>
- <body>
- <p>For this tutorial create a <a href="Tutorial1.java">Tutorial1.java</a> class in the
- org.eclipse.example.library package.
- The class should have a static main method.</p>
- <section>
- <title>Initialize runtime layer</title>
- <p>The runtime OR Mapping layer is initialized with a few statements. Add the following statements to
- the main method of the new class. Please note that you have to fill in your own database connection
- information:</p>
- <source>
-// set the database connection info, PMFConfiguration is org.jpox.PMFConfiguration
-Properties properties = new Properties();
-properties.setProperty(PMFConfiguration.JDO_DATASTORE_DRIVERNAME_PROPERTY, "com.mysql.jdbc.Driver");
-properties.setProperty(PMFConfiguration.JDO_DATASTORE_URL_PROPERTY, "jdbc:mysql://127.0.0.1:3306/mylibrary");
-properties.setProperty(PMFConfiguration.JDO_DATASTORE_USERNAME_PROPERTY, "root");
-properties.setProperty(PMFConfiguration.JDO_DATASTORE_PASSWORD_PROPERTY, "root");
-
-// create/register the JpoxDataStore, set the db props and the epackages to persist, initialize creates
-// the database
-String pmfName = "MyPMF"; // the name of the JpoxDataStore
-JpoxDataStore jpoxDataStore = JpoxHelper.INSTANCE.createRegisterDataStore(pmfName);
-jpoxDataStore.setProperties(properties);
-jpoxDataStore.setEPackages(new EPackage[]{LibraryPackage.eINSTANCE});
-jpoxDataStore.initialize();
- </source>
- <p>The call to the JpoxHelper instance creates a JpoxDataStore and registers it, at that point no initialization takes place.
- First the db connection info has to be passed and the to-be-persisted EPackages have to be set. The initialize method
- will create/update the database schema. After this the PersistenceManagerFactory and a
- PersistenceManager can be retrieved from the JpoxDataStore.</p>
- <p>For your information: the PersistenceManagerFactory is a JDO 2.0 object which acts like
- a kind of connection factory, a PersistenceManager roughly corresponds to a connection.</p>
- </section>
- <section>
- <title>Create a PersistenceManager and Library</title>
- <p>Now create a PersistenceManager and a transaction. All persistence related
- actions have to be done in the context of a transaction. </p>
- <source>
-// Now create a persistence manager and a transaction
-PersistenceManager pm = jpoxDataStore.getPersistenceManager();
-Transaction tx = pm.currentTransaction();
- </source>
- <p>Begin a transaction, create a library and make it persistent</p>
- <source>
-// start a transaction, create a library and make it persistent
-tx.begin();
-Library lib = LibraryFactory.eINSTANCE.createLibrary();
-lib.setName("My Library");
-pm.makePersistent(lib);
- </source>
- </section>
- <section>
- <title>Add a writer and book to the library and commit</title>
- <p>Next a book and writer are created and added to the library. At the commit these are also persisted because
- the library refers to the book and writer.</p>
- <source>
-// create a writer
-Writer writer = LibraryFactory.eINSTANCE.createWriter();
-writer.setName("JRR Tolkien");
-
-// and one of his books
-Book book = LibraryFactory.eINSTANCE.createBook();
-book.setAuthor(writer);
-book.setPages(305);
-book.setTitle("The Hobbit");
-book.setCategory(BookCategory.SCIENCE_FICTION_LITERAL);
-
-// add the writer/book to the library. The writer and book are automatically
-// made persistent because they are added to the library which is already
-// made persistent
-lib.getWriters().add(writer);
-lib.getBooks().add(book);
-
-// at commit the objects will be present in the database
-tx.commit();
-pm.close(); // empty the cache
- </source>
- </section>
- <section>
- <title>Next Step</title>
- <p>In the next step of this tutorial the above library is retrieved again from the relational store using a JDOQL query
- and a book and writer are added to the library.</p>
- <p>Please click <a href="tutorial1_3.html">here</a> to go to the next step.</p>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/tutorial1_3.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/tutorial1_3.xml
deleted file mode 100644
index 0eea36349..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/tutorial1_3.xml
+++ /dev/null
@@ -1,94 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 10:42:36 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Step 3: Retrieve and add EMF Objects</title>
- </header>
- <body>
- <p>In this step the library is retrieved from the backend and a few checks are done on the
- retrieved EMF objects. In addition a new book and writer are added to the library.</p>
- <section>
- <title>Retrieve Library EMF Object</title>
- <p>In this part of the tutorial the library object is retrieved.</p>
- <source>
-// at this point the database contains one library, one book and one writer
-// Reopen the transaction and query for the library objects
-pm = jpoxDataStore.getPersistenceManager();
-tx = pm.currentTransaction();
-tx.begin();
-
-// NOTE: for querying you require the concrete implementation instead of the
-// interface!
-// retrieve all LibraryImpl classes and subclasses.
-Extent e = pm.getExtent(LibraryImpl.class, true);
-Query q = pm.newQuery(e);
-
-// there is only one library
-Collection c = (Collection)q.execute();
-lib = (Library)c.iterator().next();
-</source>
- </section>
- <section>
- <title>Do some checks</title>
- <p>The library object has been retrieved now a few checks are done to ensure that the correct
- information was retrieved.</p>
- <source>
-// read the writer and book
-writer = (Writer)lib.getWriters().get(0);
-System.out.println(writer.getName());
-book = (Book)lib.getBooks().get(0);
-System.out.println(book.getTitle());
-
-// show that the container is set
-System.out.println(book.eContainer() == lib);
-System.out.println(writer.getBooks().get(0) == book);
- </source>
- </section>
- <section>
- <title>Add a new book and writer</title>
- <p>Here a new book and writer are added to the library.</p>
- <source>
-// Now add a new writer and book
-Writer george = LibraryFactory.eINSTANCE.createWriter();
-george.setName("G. Orwell");
-
-// create a new book and set the writer and library
-Book georgesBook = LibraryFactory.eINSTANCE.createBook();
-georgesBook.setPages(250);
-georgesBook.setTitle("1984");
-georgesBook.setCategory(BookCategory.SCIENCE_FICTION_LITERAL);
-georgesBook.setAuthor(george);
-
-lib.getBooks().add(georgesBook);
-lib.getWriters().add(george);
-
-// and close of
-tx.commit();
-pm.close();
- </source>
- </section>
- <section>
- <title>Next Step</title>
- <p>The final step in the tutorial shows some JDO queries to retrieve EMF objects from the library.
- </p>
- <p>Please click <a href="tutorial1_4.html">here</a> to go to the next step.</p>
- </section>
-
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/tutorial1_4.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/tutorial1_4.xml
deleted file mode 100644
index 02ed1f05f..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/tutorial1_4.xml
+++ /dev/null
@@ -1,88 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 10:42:36 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Step 4: Example Queries</title>
- </header>
- <body>
- <p>Here we show a number of jdoql queries to retrieve information from the relational store. For
- more information on JDOQL queries see <a href="http://www.jpox.org/docs/1_1/query_jdoql.html">here</a>.</p>
- <p>Note that in the examples below the implementation classes are being used.</p>
- <p></p>
- <p>Query to retrieve all books:</p>
- <source>
-// reopen the pm/transaction
-pm = jpoxDataStore.getPersistenceManager();
-tx = pm.currentTransaction();
-tx.begin();
-
-// retrieve all books
-Query qry = pm.newQuery("SELECT FROM " + BookImpl.class.getName());
-Collection coll = (Collection)qry.execute();
-System.out.println(((Book)coll.iterator().next()).getTitle()); // show a title
-System.out.println(((Book)coll.iterator().next()).getTitle()); // show a title
-</source>
- <p></p>
- <p>Query to retrieve all books which have a writer with the name of G. Orwell:</p>
- <source><![CDATA[
-// retrieve a book which has a writer with the name of G. Orwell
-qry = pm.newQuery("SELECT FROM " + BookImpl.class.getName() + " WHERE " +
- " title==\"1984\" && author == writ && writ.name == \"G. Orwell\" " +
- "VARIABLES " + WriterImpl.class.getName() + " writ");
-coll = (Collection)qry.execute();
-System.out.println(coll.size()); // should be 1
-Book bk = (Book)coll.iterator().next();
-System.out.println(bk.getTitle()); // should be 1984
-System.out.println(bk.getAuthor().getName()); // should be G. Orwell
- ]]></source>
- <p></p>
- <p>Query to a retrieve a library with a name ending on Library:</p>
- <source>
-// read the library with a name ending on Library
-qry = pm.newQuery("SELECT FROM " + LibraryImpl.class.getName() + " WHERE name.endsWith(\"Library\")");
-coll = (Collection)qry.execute();
-lib = (Library)coll.iterator().next();
-</source>
- <p>Instead of using the implementation classes directly, it also possible to use the
- EMF generated interfaces and translate the interfaces to implementation classes. This
- hides the implementation classes. The JpoxHelper
- class offers a convenience method for this task.</p>
- <source><![CDATA[
-qry = pm.newQuery("SELECT FROM " + JpoxHelper.INSTANCE.getInstanceClass(Book.class).getName() + " WHERE " +
- " title==\"1984\" && author == writ && writ.name == \"G. Orwell\" " +
- "VARIABLES " + WriterImpl.class.getName() + " writ");
-System.err.println(((Collection)qry.execute()).size());
-
-// retrieving all books
-qry = pm.newQuery("SELECT FROM " + JpoxHelper.INSTANCE.getInstanceClass(Book.class).getName());
-System.err.println(((Collection)qry.execute()).size());
-
-// retrieving all libraries with a name ending on library
-qry = pm.newQuery("SELECT FROM " + JpoxHelper.INSTANCE.getInstanceClass(Library.class).getName() +
- " WHERE name.endsWith(\"Library\")");
-System.err.println(((Collection)qry.execute()).size());
-
-// and really close of
-tx.commit();
-pm.close();
- ]]></source>
- <p>The next step of this tutorial discusses the use of the EMF Resource concept. </p>
- <p>Please click <a href="tutorial1_5.html">here</a> to go to the next step.</p>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/tutorial1_5.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/tutorial1_5.xml
deleted file mode 100644
index e1d9074d8..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/tutorial1_5.xml
+++ /dev/null
@@ -1,95 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 10:42:36 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Step 5: Using EMF/JPOX Resources</title>
- </header>
- <body>
- <p>The EMF Resource concept is very different from a relational/querying approach. In this part of the
- tutorial it is described how objects can be loaded, updated and saved using the EMF JPOX resource
- implementations (the org.eclipse.emf.teneo.jpox.resource.JPOXResourceDAO.</p>
- <p>For more information on the EMF JPOX resource <a href="../jpoxresources.html">see</a>.</p>
- <section>
- <title>Create a resource</title>
- <p>An EMF resource is retrieved using a specific URL. The protocol of the URI
- is <em>jpox</em>. In addition the URI has to contain the JPOXResourceDAO.DS_NAME_PARAM parameter.
- This parameter should be set to the name of the JpoxDataStore
- created through the JpoxHelper.INSTANCE.createRegisterDataStore call. See
- <a href="tutorial1_2.html">step 2 of this tutorial</a>.</p>
- <source>
-String uriStr = "jpox://?" + JPOXResourceDAO.DS_NAME_PARAM + "=MyPMF";
-final URI uri = URI.createURI(uriStr);
-ResourceSet resourceSet = new ResourceSetImpl();
-final Resource res = resourceSet.createResource(uri);
- </source>
- </section>
- <section>
- <title>Load the resource</title>
- <p>The resource can now be loaded. In this example we also get the contents and iterate throught them.</p>
- <source>
-res.load(Collections.EMPTY_MAP);
-Iterator it = res.getContents().iterator();
-Library libTest;
-while (it.hasNext())
-{
- libTest = (Library)it.next();
- System.out.println(libTest.getName());
-}
- </source>
- <p><em>The above makes clear that only the Library objects are present as a top level object.</em>
- The other objects can always be reached from the library objects.
- See <a href="../jpoxresources.html#Standard+load+behavior%3A+Top+level+types">here</a> for a discussion of this characteristic.</p>
- </section>
- <section>
- <title>Update and add</title>
- <p>The following code adds a new library, writer and book.</p>
- <source>
-Library libNew = LibraryFactory.eINSTANCE.createLibrary();
-libNew.setName("My Second Library");
-
-// create a writer
-Writer writerNew = LibraryFactory.eINSTANCE.createWriter();
-writerNew.setName("I. Asimov");
-
-// and one of his books
-Book bookNew = LibraryFactory.eINSTANCE.createBook();
-bookNew.setAuthor(writerNew);
-bookNew.setPages(305);
-bookNew.setTitle("Foundation and Empire");
-bookNew.setCategory(BookCategory.SCIENCE_FICTION_LITERAL);
-
-// add the writer/book to the library.
-libNew.getWriters().add(writerNew);
-libNew.getBooks().add(bookNew);
-
-// Add the top-level object to the resource
-res.getContents().add(libNew);
- </source>
- <p>Because the new library object is added to the resource also its children (the book and writer) are added
- to the resource.</p>
- </section>
- <section>
- <title>Save the resource</title>
- <p>Save the resource. The JPOXResourceDAO handles things like transactions.</p>
- <source>
-res.save(Collections.EMPTY_MAP);
- </source>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/tutorial1_intro.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/tutorial1_intro.xml
deleted file mode 100644
index b6aeabf27..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial1/tutorial1_intro.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 10:42:36 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Tutorial: Library</title>
- </header>
- <body>
- <p>
- This tutorial describes how to store and retrieve a number of simple
- EMF objects.
- This tutorial is based on the well known library example used in EMF tutorials:
- </p>
- <ul>
- <li>Click <a href="http://eclipse.org/emf/docs.php?doc=tutorials/xlibmod/xlibmod.html">here</a> for
- the EMF library example using a XML Schema</li>
- <li>Click <a href="http://eclipse.org/emf/docs.php?doc=tutorials/clibmod/clibmod.html">here</a> for
- the EMF library example using a Rose model</li>
- </ul>
- <p>
- This tutorial assumes that you have done one of these two tutorials. The image
- below shows the projects which should be present in the workspace. In addition
- the JPOX Plugin and OR Mapper should be installed,
- see the <a href="../installation.html">installation guide</a>.
- </p>
- <p>
- <img src="images/start.gif" alt="Enabling JPOX support for the library project"/>
- </p>
- <p>
- This tutorial will guide you through the following steps:
- </p>
- <ol>
- <li>Generate OR Mapping file and enhance classes</li>
- <li>Add the runtime jars to the library model project</li>
- <li>Setup initialization code and create and store a Library with a number of Books and a Writer</li>
- <li>JDO query to read the library and its content</li>
- <li>Use an EMF resource to read the library and its content</li>
- </ol>
- <p>Please click <a href="tutorial1_1.html">here</a> to start with the tutorial.</p>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial2/license.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial2/license.xml
deleted file mode 100644
index 313a4ea45..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial2/license.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- Licence page.
-
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 10:42:37 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>License</title>
- </header>
- <body>
- <p>Teneo is licensed under the <a href="http://www.eclipse.org/org/documents/epl-v10.php">Eclipse Public License</a>.
- In all documents and software the following copyright and license statement is present.
- </p>
- <source>
-Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
-All rights reserved. This program and the accompanying materials
-are made available under the terms of the Eclipse Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/epl-v10.html
- </source>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial2/tutorial2_1.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial2/tutorial2_1.xml
deleted file mode 100644
index 4245b2c65..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial2/tutorial2_1.xml
+++ /dev/null
@@ -1,118 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 10:42:37 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Initialize the Library Editor</title>
- </header>
- <body>
- <section>
- <title>Set dependencies of EMF model and editor plugins</title>
- <p>The EMF persistency plugin (org.eclipse.emf.teneo.jpox) has to be added
- to the dependencies tab of the plugin.xml of <em>both</em> the library and the
- library.editor plugin project.</p>
- </section>
- <section>
- <title>Enable JPOX Support for the EMF model project</title>
- <p>Next JPOX support needs to be enabled for the library (model) project. Right click on the project
- and in the JPOX menu select 'Add JPOX Support' and then check 'Enable Auto Enhancement'.</p>
- <p>Note: see <a href="../troubleshooting.html#Build+path+contains+duplicate+entries">here</a> if you
- get the following message in the problem view: <em>build path
- contains duplicate entry: ....</em>.</p>
- </section>
- <section>
- <title>Initialization</title>
- <p>To initialize the EMF/JPOX layer the following code has to be added to static inner
- class <em>Implementation</em> in the <em>LibraryEditorPlugin</em> class.</p>
- <source>
-public void start(BundleContext context) throws Exception
-{
- org.eclipse.osgi.framework.debug.Debug.DEBUG_GENERAL = true;
- Properties properties = new Properties();
- properties.setProperty(PMFConfiguration.JDO_DATASTORE_DRIVERNAME_PROPERTY, "com.mysql.jdbc.Driver");
- properties.setProperty(PMFConfiguration.JDO_DATASTORE_URL_PROPERTY, "jdbc:mysql://127.0.0.1:3306/mylibrary");
- properties.setProperty(PMFConfiguration.JDO_DATASTORE_USERNAME_PROPERTY, "root");
- properties.setProperty(PMFConfiguration.JDO_DATASTORE_PASSWORD_PROPERTY, "root");
-
- // create/register the JpoxDataStore, set the db props and the epackages to persist, initialize creates
- // the database
- String pmfName = "library"; // the name of the JpoxDataStore
- JpoxDataStore jpoxDataStore = JpoxHelper.INSTANCE.createRegisterDataStore(pmfName);
- jpoxDataStore.setProperties(properties);
- jpoxDataStore.setEPackages(new EPackage[]{LibraryPackage.eINSTANCE});
- jpoxDataStore.initialize();
-
- // this is required to force the editor to retrieve the correct resource
- Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("library", new JPOXResourceDAOFactory());
-
- super.start(context);
-}
- </source>
- <p>Remarks:</p>
- <ul>
- <li>The properies have to be changed to contain your own database connection
- information.</li>
- <li>The above source code uses the database mylibrary. This database has to exist (but can be empty).</li>
- <li><strong>The name of the datastore is chosen on purpose. The extension of the resource name (library in this case)
- is used to find the datastore, so therefore here the name library is chosen.</strong></li>
- </ul>
- </section>
- <section>
- <title>Resource Factory setting</title>
- <p>For this tutorial an EMF JPOX resource factory has to be specified. This is done
- by setting the library element of the org.eclipse.emf.ecore.extension_parser extension
- point to: org.eclipse.emf.teneo.jpox.resource.JPOXResourceDAOFactory (see image below).</p>
- <p>
- <img src="../images/resource_factory.gif" alt="Enabling JPOX support for the library project"/>
- </p>
- <p>Remarks:</p>
- <ul>
- <li>For this tutorial the JPOX DAO resource is registered for the library extension. In general
- for integration with a generated EMF Editor a JPOX DAO resource should be used.</li>
- <li>Note that the JPOX resource is normally loaded without a JPOXResource.DS_NAME_PARAM parameter in the url. If there is
- no dsname parameter in the url then the JPOX resource will use the extension of the filename
- to find the PersistenceManagerFactory.</li>
- </ul>
- </section>
- <section>
- <title>Create valid EMF Objects</title>
- <p>The standard generated EMF Library example creates invalid objects. For example when you run the editor
- you can save a Library object with an empty name while this is a required element.
- The EMF/JPOX layer is more precise and will not allow this.</p>
- <p>To prevent this add the following code in the performFinish method of the LibraryModelWizard
- class in the library editor project. This has to be added around line 216 after the rootObject variable has been set:</p>
- <source>
-if (rootObject instanceof Library)
-{
- ((Library)rootObject).setName("My Library");
-}
-else if (rootObject instanceof Book)
-{
- ((Book)rootObject).setTitle("My Title");
-}
-else if (rootObject instanceof Writer)
-{
- ((Writer)rootObject).setName("My Name");
-}
-</source>
- <p></p>
- <p></p>
- <p>Please click <a href="tutorial2_2.html">here</a> to go to the next step.</p>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial2/tutorial2_2.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial2/tutorial2_2.xml
deleted file mode 100644
index d7bb4eb05..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial2/tutorial2_2.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 10:42:37 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Run the Library Editor</title>
- </header>
- <body>
- <p>To run the Library Editor go to step 4 of the EMF Library tutorials (Run the generated Editor). For
- the EMF Library tutorial see:
- (<a href="http://eclipse.org/emf/docs.php?doc=tutorials/xlibmod/xlibmod.html">based on Rose</a>,
- <a href="http://eclipse.org/emf/docs.php?doc=tutorials/clibmod/clibmod.html">based on Xml Schema</a>).</p>
- <p>After adding a Library and a Writer (JRR Tolkien) and a Book you need to save the resource.
- The database mylibrary now contains a Library, a Book and a Writer.</p>
- <p><strong>Note that the model constraints are checked when saving EMF objects. Validation errors
- (e.g. non-nullable fields are not set) are made visible in the Eclipse Error Log view
- (see menu Window > Show View > Error Log).
- When one of the EMF objects is invalid then the complete save action is rolled back.</strong></p>
- <p>You can try the following editor actions:</p>
- <ul>
- <li>Create Writers and Books, link them</li>
- <li>Link Writer to multiple Books</li>
- <li>Copy and paste of one or multiple Writers and Books</li>
- <li>Delete of a Book if it has no Writer</li>
- <li>Delete of a Writer if it has no Books</li>
- </ul>
- <p>Cut and paste is not supported, see <a href="../jpox_details.html#cutpaste">here</a> for more information and a solution.</p>
- </body>
-</document> \ No newline at end of file
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial2/tutorial2_intro.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial2/tutorial2_intro.xml
deleted file mode 100644
index 19bfef514..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/tutorial2/tutorial2_intro.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2005-2006, Elver.org (http://www.elver.org).
-
- Licensed 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.
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.1 $ $Date: 2006/08/03 09:58:07 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Tutorial: Using JPOX in the EMF Editor</title>
- </header>
- <body>
- <p>
- This tutorial gives an example on how the JPOX/EMF resource can be used in the
- Library editor. This tutorial assumes that you have performed the
- <a href="../tutorial1/tutorial1_1.html">generate jdo file</a> step of the Library tutorial and
- done the EMF library tutorial.
- </p>
- <p>To enable JPOX support for the Library Editor a number of small changes have to be made to
- the generated Editor and Model code of the library example:
- </p>
- <ul>
- <li>Initialization: initialize the JPOX layer</li>
- <li>Repair small 'bug' in generated editor code: the generated editor allows the creation of
- invalid objects, e.g. a Library with an empty name. The EMF/JPOX integration is more precise and
- will not allow this.</li>
- </ul>
- <p><em>This tutorial shows a 'quick-and-dirty' method to let the Library example work with the EMF/JPOX resources.
- The chosen approach is to make very small changes to the generated code and is not focused on an elegant or
- optimal solution.</em></p>
- <p>The <a href="tutorial2_1.html">next step</a> of this tutorial describes these changes in more detail.</p>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/upgrading.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/upgrading.xml
deleted file mode 100644
index cab9ab2ab..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/upgrading.xml
+++ /dev/null
@@ -1,96 +0,0 @@
-<?xml version="1.0"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
-<document>
- <header>
- <title>Upgrading EMF - JPOX/JDO Plugins</title>
- <abstract>Describes specific aspects of upgrading the EMF - JPOX/JDO plugins
- </abstract>
- </header>
- <body>
- <section>
- <title>Upgrading to Teneo</title>
- <p>The Teneo plugins have different names and ids than the Elver plugins. This means that if you
- install Teneo plugins that they will coexist next to the installed Elver plugins. This should not
- be a problem but can lead to confusion because the classnames (without the package names) have stayed the
- same (for example JpoxDataStore is called the same in Teneo and in Elver).</p>
- <p>There is no automatic removal of Elver plugins, this has to be done manually (see below).</p>
- </section>
- <section>
- <title>Upgrading to the 0.7.0 release</title>
- <p>To upgrade to the new release you need to do Help > Software Updates > Find and Install and then choose the option
- 'Search for new features to install'.</p>
- <p><strong>After upgrading you need to manually disable the previous version of JPOX.</strong> This can be done by going to the
- menu option: Help > Software Updates > Manage Configuration. Select the previous EMF - JPOX plugin version and choose disable
- on the right.</p>
- <figure src="images/disable.gif" alt="Disable feature"/>
- </section>
- <section>
- <title>Changes from the 0.6.5 to the 0.7.0 release</title>
- <p>In the 0.7.0 release many parts of the solution have been rewritten. An overview of the changes: </p>
- <ul>
- <li>JPOXHelper has been renamed to JpoxHelper, its interface has been cleaned up, introduced concept of a JpoxDataStore,
- see <a href="jpoxdatastore.html">here</a>.</li>
- <li>FeatureMap support without generating additional source files, see <a href="featuremap.html">here</a>.</li>
- <li>The options which can be passed to the Elver runtime have been restructured, see
- <a href="jpoxdatastore.html#options">here</a>.</li>
- <li>The previous annotations for inheritance mapping and unique have changed. see
- <a href="inheritance.html">here</a> and <a href="jpox_details.html#Force+a+join+table+for+1%3An+relations">here</a>.</li>
- <li>Added option to set all containment lists to eager loading, see <a href="jpoxdatastore.html#options">here</a>.</li>
- <li>The JPOXResource class is no longer used, only the JPOXResourceDAO resource should be used, see
- <a href="jpoxresources.html">here</a>.</li>
- </ul>
- </section>
- <section>
- <title>Set the JPOX libraries for the JPOX plugin</title>
- <p>If a new version of the jpox libraries is present in the Elver distribution (see the
- changelog) then you should also set the jpox libraries in windows>preferences to the new
- jpox libraries. You can find all the required libraries in the org.elver.store.jpox.runtime[version]
- plugin directory.</p>
- </section>
- <section>
- <title>Regenerate package.jdo after upgrading</title>
- <p>New functionality and bug fixes can result in changes in the generated package.jdo.
- New versions can depend on an updated package.jdo. So after upgrading it is sometimes
- necessary to regenerate the package.jdo file.</p>
- </section>
- <section>
- <title>Upgrade through the Update Manager: Search for upgrades... or Search for new Features...</title>
- <p>Depending on how you defined valid upgrades in
- <em>windows &gt; preferences &gt; Install/Updates</em>, it is possible that
- the 'Search for Upgrades of installed features' in the update manager will
- not find the updated EMF-JDO plugin. If this happens then the 'Search for new Features..' option
- should be chosen in the Update Manager.
- </p>
- <p>After the Elver plugins has been downloaded the
- update manager will detect that the 'new' feature is in fact an upgrade of an already
- installed feature. The old-version of the feature will automatically be disabled.
- This is visible in the Manage Configuration function in the <em>Help &gt; Sofware Updates</em>
- menu.
- </p>
- </section>
- <section>
- <title>Changed datamodel after upgrading</title>
- <p>The OR Mapper is also updated to solve issues and add functionality. This can mean that the
- package.jdo generated by the OR Mapper differs from one version to another. Resulting in a
- different database schema. When the database already exists from previous versions this can mean
- that the new expected database schema does not correspond with the old database schema.
- </p>
- <p>JPOX will try to correct differences by adding tables and columns. However not all changes
- can be automatically repaired (for example missing columns which control the ordering in a EList).</p>
- <p>The issues can be resolved by manually adding missing columns. Another way to resolve the above issue
- is to start again with a new empty database.
- JPOX will then automatically create new tables which adhere to the package.jdo</p>
- <p>For the longer term we are considering to offer tools which will better facilitate this upgrade process.
- For example to allow data to be
- copied from the relational EMF store to a temporary XML Resource, create the new database and
- schema and then copy the information back.</p>
- </section>
- </body>
-</document> \ No newline at end of file
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/xmlschema_types.xml b/doc/org.eclipse.emf.teneo.doc/doc/jpox/xmlschema_types.xml
deleted file mode 100644
index 6194ce388..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/xmlschema_types.xml
+++ /dev/null
@@ -1,91 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2005-2006, Elver.org (http://www.elver.org).
-
- Licensed 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.
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.1 $ $Date: 2006/08/03 09:58:07 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>XML Schema Date and Time Types</title>
- <abstract>Discusses a number of specific aspects of XML Schema Date and Time types and their mapping to EMF and JPOX.</abstract>
- </header>
- <body>
- <section>
- <title>XML Schema Date type</title>
- <p>In general a XML Schema dateTime type maps to a java.util.Date. However when
- defining an XML Element with the type dateTime EMF will generate getter/setters which
- return/use a general java.lang.Object instead of the specific java.util.Date. To prevent this
- the dateTime type has to be encapsulated in a separate simpleType definition with
- the ecore:instanceClass attribute:</p>
- <source><![CDATA[
-<simpleType ecore:instanceClass="java.util.Date" name="Date">
- <restriction base="dateTime"/>
-</simpleType>
- ]]></source>
- <p>This simpletype can then be used as follows (with the this namespace mapped to the
- schema of the above simpleType):</p>
- <source><![CDATA[
-<xsd:element name="mydata" type="this:Date"/>
- ]]></source>
- <p>With this XML Schema, EMF will generate getter/setters which use the java.util.Date
- type.</p>
- </section>
- <section>
- <title>XML Schema gYear, gYearMonth, etc. type</title>
- <p>To handle the gYear, gYearMonth types EMF uses the special object
- org.eclipse.emf.ecore.xml.type.internal.XMLCalendar. This class is for example used by
- the generated EMF editors. The EMF - JPOX integration supports the persistency of
- this class in case maxOccurs="1" (or 0).</p>
- <p>When an element is defined directly with type gYear, gYearMonth, etc. EMF will generate
- getters/setters which use java.lang.Object. The persistency layer requires the actual
- object type to be used in the getters/setters. To accomplish this the
- gYear (or the other g-types) should be encapsulated in a simpleType definition
- with the ecore:instanceClass attribute set to org.eclipse.emf.ecore.xml.type.internal.XMLCalendar:
- </p>
- <source><![CDATA[
-<simpleType ecore:instanceClass="org.eclipse.emf.ecore.xml.type.internal.XMLCalendar" name="GYear">
- <restriction base="gYear"/>
-</simpleType>
- ]]></source>
- <p>With this simpleType definition EMF will generate getter/setters which use the XMLCalendar type.</p>
- </section>
- <section>
- <title>XML Schema duration type</title>
- <p>To handle the duration type EMF uses the special object
- org.eclipse.emf.ecore.xml.type.internal.XMLDuration. The EMF - JPOX integration supports the persistency of
- this class in case maxOccurs="1" (or 0).</p>
- <p>When an element is defined directly with type duration EMF will generate
- getters/setters which use java.lang.Object. The persistency layer requires the actual
- object type to be used in the getters/setters. To accomplish this the
- duration type should be encapsulated in a simpleType definition
- with the ecore:instanceClass attribute set to org.eclipse.emf.ecore.xml.type.internal.XMLDuration:
- </p>
- <source><![CDATA[
-<simpleType ecore:instanceClass="org.eclipse.emf.ecore.xml.type.internal.XMLDuration" name="Duration">
- <restriction base="duration"/>
-</simpleType>
- ]]></source>
- <p>With this simpleType definition EMF will generate getter/setters which use the XMLDuration type.</p>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/license.xml b/doc/org.eclipse.emf.teneo.doc/doc/license.xml
deleted file mode 100644
index dbf81bf48..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/license.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2005-2006, Elver.org (http://www.elver.org).
-
- Licensed 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.
--->
-
-<!--
- Licence page.
-
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 10:42:37 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>License</title>
- </header>
- <body>
- <p>Teneo is licensed under the <a href="http://www.eclipse.org/org/documents/epl-v10.php">Eclipse Public License</a>.
- In all documents and software the following copyright and license statement is present.
- </p>
- <source>
-Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
-All rights reserved. This program and the accompanying materials
-are made available under the terms of the Eclipse Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/epl-v10.html
- </source>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/links.xml b/doc/org.eclipse.emf.teneo.doc/doc/links.xml
deleted file mode 100644
index 87c3e8a95..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/links.xml
+++ /dev/null
@@ -1,82 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2005-2006, Elver.org (http://www.elver.org).
-
- Licensed 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.
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.1 $ $Date: 2006/08/03 09:58:07 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>Links to relevant material</title>
- </header>
- <body>
- <p>For EMF there is also another persistency framework: CDO. You can visit the CDO website at:
- <a href="http://www.sympedia.org/cdo">CDO</a>.</p>
- <section>
- <title>Object Relational Mapping</title>
- <section><title>Articles</title>
- <ul>
- <li><a href="http://www.ambysoft.com/">Scott Ambler</a> has written a large number of interesting articles
- on ORM, this page on his website lists a lot or links to ORM related material:
- see <a href="http://www.ambysoft.com/essays/mappingObjects.html">Mapping Objects To Relational Databases</a>,
- see also,
- <a href="http://www.ambysoft.com/essays/persistenceLayer.html">The Design of a Robust Persistence Layer for Relational Databases</a></li>
- </ul>
- </section>
- <section><title>Specs</title>
- <ul>
- <li><a href="http://www.jpox.org/docs/jdo_1_0/jdo_overview.html">JDO 1.0/2.0 (on the JPOX website)</a></li>
- <li><a href="http://jcp.org/aboutJava/communityprocess/pr/jsr220/index.html">EJB 3.0</a></li>
- <li><a href="http://www.jcp.org/en/jsr/detail?id=170">Java Content Repository</a></li>
- </ul>
- </section>
- </section>
-
- <section>
- <title>XML Articles</title>
- <ul>
- <li><a href="http://www.w3.org/TR/2000/WD-xmlschema-0-20000407/"> XML Schema Part 0: Primer</a>,
- <a href="http://www.w3.org/TR/2000/WD-xmlschema-1-20000407/">XML Schema Part 1: Structures</a>,
- <a href="http://www.w3.org/TR/2000/WD-xmlschema-2-20000407/">XML Schema Part 2: Datatypes</a></li>
- <li>Ronald Bourret has written a number of interesting articles about persisting XML documents
- (for a full listing go <a href="http://www.rpbourret.com/xml/index.htm">here</a>. Here are a number of direct links
- to a number of relevant articles:
- <ul>
- <li><a href="http://www.rpbourret.com/xml/XMLAndDatabases.htm">XML and Database</a></li>
- <li><a href="http://www.xml.com/pub/a/2005/03/30/native.html">Going Native: Making the Case for XML Databases</a>,
- <a href="http://www.xml.com/pub/a/2005/04/13/going-native.html">Going Native Part 2</a>,
- <a href="http://www.xml.com/pub/a/2005/05/25/native.html">Going Native Part 3</a></li>
- <li><a href="http://www.rpbourret.com/xml/SchemaMap.htm">Mapping W3C Schemas to Object Schemas to Relational Schemas</a></li>
- </ul></li>
- </ul>
- </section>
- <section>
- <title>XML Databases and Repositories (Open Source)</title>
- <ul>
- <li><a href="http://exist.sourceforge.net/">Exist (XML Database)</a></li>
- <li><a href="http://xml.apache.org/xindice/">Xindice (XML Database)</a></li>
- <li><a href="http://jakarta.apache.org/slide/">Apache Slide (Content Repository)</a></li>
- <li><a href="http://ozone-db.org">Ozone (XML Database)</a></li>
- </ul>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/services/index.xml b/doc/org.eclipse.emf.teneo.doc/doc/services/index.xml
deleted file mode 100644
index 7a82b7f94..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/services/index.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
--->
-
-<!--
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.2 $ $Date: 2006/09/13 10:42:36 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title></title>
- </header>
- <body>
- <section>
- <title>Springsite.com</title>
- <p>The Elver project is supported by <a href="http://www.springsite.com/en">Springsite</a>.
- Springsite is an eBusiness software development company.</p>
- </section>
-
- <section>
- <title>Services</title>
- <p>We support Teneo through the EMFT newsgroup. On a commercial basis we are available for more
- hands-on support or as extra (offsite) development capacity. Also if you are interested in
- our custom eBusiness solutions please visit <a href="http://www.springsite.com/en">Springsite.com</a>.</p>
- </section>
- <section>
- <title>Expertise</title>
- <p><em>Technical</em>: We have over 10 years of application software development experience.
- A short-list
- of our main technological expertise: EMF, JSF, Hibernate/JPOX, XML/XSLT/XQuery, Tomcat,
- FOP/IText, integrations with Baan/SAP, advanced DHTML, several platforms and databases.</p>
- <p><em>Functional</em>: Springsite has extensive experience in developing applications to support tactical and operational
- procurement processes
- and production planning (MRP/MPS). This expertise has been used in the development of several eProcurement applications
- and custom eBusiness projects.</p>
- </section>
- <section>
- <title>Information</title>
- <p>For more information please visit <a href="http://www.springsite.com/en">springsite.com</a> or send
- an email to <a href="mailto:mtaal at springsite.com">Martin Taal</a></p>
- </section>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/services/license.xml b/doc/org.eclipse.emf.teneo.doc/doc/services/license.xml
deleted file mode 100644
index 8c84ce1ae..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/services/license.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2005-2006, Elver.org (http://www.elver.org).
-
- Licensed 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.
--->
-
-<!--
- Licence page.
-
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.1 $ $Date: 2006/08/03 09:58:09 $
--->
-
-<!DOCTYPE document PUBLIC
- "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-<document>
- <header>
- <title>License</title>
- </header>
- <body>
- <p>All software, documentation, this website and other direct or indirect material
- is licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0 license</a>. In all documents and software the following copyright and
- license statement is present.
- </p>
- <source>
- Copyright 2005-2006, Elver.org (http://www.elver.org).
-
- Licensed 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.
- </source>
- </body>
-</document>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/site.xml b/doc/org.eclipse.emf.teneo.doc/doc/site.xml
deleted file mode 100644
index a2fd3bde8..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/site.xml
+++ /dev/null
@@ -1,153 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2005-2006, Elver.org (http://www.elver.org).
-
- Licensed 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.
--->
-
-<!--
- Forrest Site Definition.
-
- @author <a href="pvdhoef@elver.org">Peter van de Hoef</a>
- @version $Revision: 1.4 $ $Date: 2006/09/13 16:05:50 $
--->
-
-<site label="Elver" href="" xmlns="http://apache.org/forrest/linkmap/1.0">
-
- <!-- The home tab -->
- <home label="Home" tab="home">
- <home label="Introduction" href="index.html" tab="home"/>
- <links label="Contributors" href="contributors.html" description="Contributors of Elver"/>
- <links label="Links" href="links.html" description="Number of relevant links"/>
- </home>
- <about label="About" tab="home">
-<!-- <history label="History" href="history.html" description="The history of the Elver project"/>-->
- <philosophy label="Project Goal" href="goal.html" description="The goal of the Elver project" tab="home"/>
- <elver label="The Elver" href="elver.html" description="The Elver, an interesting animal" tab="home"/>
- <license label="License" href="license.html" description="The License" tab="home"/>
- </about>
-
- <services label="Services" tab="services" href="services/">
- <home label="Springsite.com" href="index.html" tab="services"/>
- </services>
-
- <!-- JPOX -->
- <jpoxhome label="Home" tab="jpox" href="jpox/">
- <home label="Introduction" href="index.html"/>
- <status label="Features" href="features.html" description="Describes the features of the EMF-JPOX integration"/>
- <status label="Status" href="status.html" description="Describes the status and which EMF features are supported"/>
- <overview label="Overview" href="overview.html" description="Overview of the steps and components to get to a running EMF - JPOX integration"/>
- <status label="Changelog" href="changelog.html" description="Overview of the changes in different releases over time"/>
- <install label="Download &amp; Install" href="installation.html" description="Downloading and Installing the EMF - JPOX integration components"/>
- <ki label="Known Issues" href="knownissues.html"/>
- <quick label="Quick Start" href="quick_tutorial.html" description="Short tutorial"/>
- <license label="License" href="license.html" description="The License"/>
- </jpoxhome>
- <multi-page label="Library Tutorial" href="jpox/tutorial1/" tab="jpox">
- <intro label="Introduction" href="tutorial1_intro.html"/>
- <step1 label="Generate OR Mapping File" href="tutorial1_1.html"/>
- <step2 label="Create and Store EMF Object" href="tutorial1_2.html"/>
- <step3 label="Retrieve EMF Objects" href="tutorial1_3.html"/>
- <step4 label="Query EMF Objects" href="tutorial1_4.html"/>
- <step4 label="Using EMF/JPOX Resources" href="tutorial1_5.html"/>
- </multi-page>
- <multi-page label="Library Editor tutorial" href="jpox/tutorial2/" tab="jpox">
- <intro label="Introduction" href="tutorial2_intro.html"/>
- <step1 label="Initialize the Library Editor" href="tutorial2_1.html"/>
- <step2 label="Run the Library Editor" href="tutorial2_2.html"/>
- </multi-page>
- <schema label="Details" href="jpox/" tab="jpox">
- <config label="Inheritance Mapping" href="inheritance.html" description="Discusses which inheritance mapping strategies are supported"/>
- <jpoxconfig label="JPOX Details" href="jpox_details.html" description="Describes the configuration of jpox by the integration layer"/>
- <jpoxresource label="EMF/JPOX Resources" href="jpoxresources.html" description="Description of different resource implementations"/>
- <resource label="Resource Utility" href="resource_utility.html" description="Description of the resource utility"/>
- <util label="JpoxDataStore" href="jpoxdatastore.html" description="Description of the JpoxDataStore concept"/>
- </schema>
- <schema label="Annotations (JPA/EJB3)" href="jpox/" tab="jpox">
- <featuremap label="Supported Ann." href="ejb3_features.html" description="Lists the supported EJB3 annotations"/>
- <featuremap label="EAnn. Format" href="ejb3_format.html" description="Describes the format of EJB3 annotations"/>
- <featuremap label="EAnn. Examples" href="ejb3_examples.html" description="A number of examples of EJB3 annotations"/>
- </schema>
- <schema label="XML Schema" href="jpox/" tab="jpox">
- <featuresconfig label="XML Schema Features" href="features_details.html" description="Gives a detailed listing of supported XML Schema features"/>
- <featuremap label="Feature Map/Mixed Content" href="featuremap.html" description="Discusses how feature maps are supported"/>
- <sub label="Substitution Group" href="substitution.html" description="Discusses how SubstitutionGroups are supported"/>
- <anytype label="xsd:any/xsd:anyType" href="anytype.html" description="Discusses how xsd:any and xsd:anyType are supported"/>
- <!--<datetime label="XML Schema Date/Time types" href="xmlschema_types.html" description="Discusses handling of XML Schema dateTime, gYear, gMonth, etc. types"/>-->
- <xmlschema label="XML Schema Examples" href="schema_list.html" description="List of xml schemas used as test cases"/>
- </schema>
- <support label="Support" tab="jpox" href="jpox/">
- <trouble label="Troubleshooting" href="troubleshooting.html" description="Describes how to troubleshoot any problems you may encounter"/>
- <trouble label="Upgrading" href="upgrading.html" description="Describes issues related to upgrading plugins"/>
- <mailinglist label="Newsgroup" href="mailinglist.html" description="Our mailing list to get support"/>
- <jpox label="EMF/JPOX Support" href="emfjpoxsupport.html" description="Support for emf and jpox related questions"/>
- </support>
- <developer label="Developer" tab="jpox" href="jpox/">
- <svn label="CVS" href="svn.html" description="CVS structure and projects"/>
- </developer>
-
- <!-- Hibernate -->
- <homehib label="Home" tab="hibernate" href="hibernate/">
- <home label="Introduction" href="index.html"/>
- <status label="Status" href="status.html"/>
- <features label="Features" href="features.html"/>
- <overview label="Overview" href="overview.html"/>
- <status label="Changelog" href="changelog.html" description="Overview of the changes in different releases over time"/>
- <install label="Download &amp; Install" href="installation.html" description="Downloading and Installing the EMF - Hibernate integration components"/>
- <ki label="Known Issues" href="knownissues.html"/>
- <quick label="Quick Start" href="quick_tutorial.html" description="Short tutorial"/>
- <license label="License" href="license.html" description="The License"/>
- </homehib>
- <multi-page label="Library Tutorial" href="hibernate/tutorialone/" tab="hibernate">
- <intro label="Introduction" href="tutorial1_intro.html"/>
- <step1 label="Setup Environment" href="tutorial1_1.html"/>
- <step2 label="Create and Store EMF Object" href="tutorial1_2.html"/>
- <step3 label="Retrieve EMF Objects" href="tutorial1_3.html"/>
- <step4 label="Query EMF Objects" href="tutorial1_4.html"/>
- <step4 label="Using EMF/JPOX Resources" href="tutorial1_5.html"/>
- </multi-page>
- <multi-page label="Library Editor Tutorial" href="hibernate/tutorialtwo/" tab="hibernate">
- <intro label="Introduction" href="tutorial2_intro.html"/>
- <step1 label="Initialize the Library Editor" href="tutorial2_1.html"/>
- <step2 label="Run the Library Editor" href="tutorial2_2.html"/>
- </multi-page>
- <schema label="Details" href="hibernate/" tab="hibernate">
- <config label="Dynamic EMF Tutorial" href="dynamic.html" description="Example of how Dynamic EMF is supported"/>
- <config label="Inheritance Mapping" href="inheritance.html" description="Discusses which inheritance mapping strategies are supported"/>
- <config label="Modeling Associations" href="hibernate_relations.html" description="Describes topics related to modeling of 1:n and n:m relations"/>
- <config label="HbDataStore" href="hbdatastore.html" description="Describes the HbDataStore functionality and how to override Elver behavior"/>
- <options label="Options" href="options.html" description="Describes persistency options"/>
- <config label="EMF - Hibernate Details" href="hibernate_details.html" description="Describes the configuration of hibernate by the integration layer"/>
- <resource label="EMF Hibernate Resources" href="hibernateresources.html" description="Description of the hibernate resource implementation"/>
- <resource label="Resource Utility" href="resource_utility.html" description="Description of the resource utility"/>
- </schema>
- <schema label="Annotations (JPA/EJB3)" href="hibernate/" tab="hibernate">
- <featuremap label="Format" href="ejb3_format.html" description="Describes the format of EJB3/JPA annotations"/>
- <featuremap label="Examples" href="ejb3_examples.html" description="A number of examples of EJB3 annotations"/>
- <featuremap label="JPA/EJB3" href="ejb3_features.html" description="Supported EJB3 annotations"/>
- </schema>
- <schema label="XML Schema" href="hibernate/" tab="hibernate">
- <featuresconfig label="XML Schema Support" href="features_details.html" description="Gives a detailed listing of supported XML Schema features"/>
- <xmlschema label="XML Schema Examples" href="schema_list.html" description="List of xml schemas used as test cases"/>
- <featuremap label="Feature Map/Mixed Content" href="featuremap.html" description="Discusses how feature maps are supported"/>
- </schema>
- <support label="Support" tab="hibernate" href="hibernate/">
- <trouble label="Troubleshooting" href="troubleshooting.html" description="Describes how to troubleshoot any problems you may encounter"/>
- <trouble label="Upgrading" href="upgrading.html" description="Describes issues related to upgrading plugins"/>
- <mailinglist label="Newsgroup" href="mailinglist.html" description="The newsgroup to get support"/>
- <jpox label="EMF/Hibernate Support" href="emfhibsupport.html" description="Support for emf and hibernate related questions"/>
- </support>
- <developer label="Developer" tab="hibernate" href="hibernate/">
- <svn label="CVS" href="svn.html" description="CVS structure and projects"/>
- </developer>
-</site>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/skinconf.xml b/doc/org.eclipse.emf.teneo.doc/doc/skinconf.xml
deleted file mode 100644
index 2e5b24239..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/skinconf.xml
+++ /dev/null
@@ -1,260 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2005-2006, Elver.org (http://www.elver.org).
-
- Licensed 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.
--->
-
-<!--
- Forrest Skin Configuration. This file contains details
- which will be used to configure the chosen Forrest skin.
-
- @author <a href="pvdhoef@elver.org">Peter van de Hoef</a>
- @version $Revision: 1.1 $
--->
-
-<!DOCTYPE skinconfig PUBLIC
- "-//APACHE//DTD Skin Configuration V0.7-1//EN"
- "http://forrest.apache.org/dtd/skinconfig-v07-1.dtd">
-
-<!-- Project logo is the only mandatory element of the skinconfig document. -->
-
-<skinconfig>
-
- <!--
- To enable lucene search add provider="lucene" (default is google).
- Add box-location="alt" to move the search box to an alternate location
- (if the skin supports it) and box-location="all" to show it in all
- available locations on the page. Remove the <search> element to show
- no search box. @domain will enable sitesearch for the specific domain with google.
- In other words google will search the @domain for the query string.
- -->
- <search name="elver" domain="www.elver.org" provider="google"/>
-
- <!-- Disable the print link? If enabled, invalid HTML 4.0.1 -->
- <disable-print-link>true</disable-print-link>
-
- <!-- Disable the PDF link? -->
- <disable-pdf-link>true</disable-pdf-link>
-
- <!-- Disable the POD link? -->
- <disable-pod-link>true</disable-pod-link>
-
- <!-- Disable the Text link? FIXME: NOT YET IMPLEMENETED. -->
- <disable-txt-link>true</disable-txt-link>
-
- <!--
- Disable the xml source link?
- The xml source link makes it possible to access the xml rendition
- of the source from the html page, and to have it generated statically.
- This can be used to enable other sites and services to reuse the
- xml format for their uses. Keep this disabled if you don't want other
- sites to easily reuse your pages.
- -->
- <disable-xml-link>true</disable-xml-link>
-
- <!-- Disable navigation icons on all external links? -->
- <disable-external-link-image>false</disable-external-link-image>
-
- <!--
- Disable w3c compliance links?
- Use e.g. align="center" to move the compliance links logos to
- an alternate location default is left. (if the skin supports it)
- -->
- <disable-compliance-links>true</disable-compliance-links>
-
- <!-- Render mailto: links unrecognisable by spam harvesters? -->
- <obfuscate-mail-links>true</obfuscate-mail-links>
- <obfuscate-mail-value>.at.</obfuscate-mail-value>
-
- <!-- Disable the javascript facility to change the font size -->
- <disable-font-script>true</disable-font-script>
-
- <!-- Project logo is the only mandatory element of the skinconfig document.-->
- <project-name>Elver</project-name>
- <project-description>The Elver Project</project-description>
- <project-url>http://www.elver.org/</project-url>
- <project-logo>images/empty.gif</project-logo>
-
- <!--Optional group logo, default skin: renders it at the top-left corner -->
- <group-name>Elver Store</group-name>
- <group-description>Elver Store</group-description>
- <group-url>http://www.elver.org</group-url>
- <group-logo>images/ELV2.gif</group-logo>
-
- <!-- Optional host logo, default skin: renders it at the bottom-left corner -->
- <!--
- <host-url></host-url>
- <host-logo></host-logo>
- -->
-
- <!-- Relative url of a favicon file, normally favicon.ico -->
- <favicon-url></favicon-url>
-
- <!-- The following are used to construct a copyright statement -->
- <year>2006</year>
- <vendor>The Elver Project</vendor>
- <!-- The optional copyright-link URL will be used as a link in the copyright statement -->
- <copyright-link>license.html</copyright-link>
-
- <!--
- Some skins use this to form a 'breadcrumb trail' of links. Use location="alt" to move the trail
- to an alternate location (if the skin supports it).
- Omit the location attribute to display the trail in the default location.
- Use location="none" to not display the trail (if the skin supports it).
- For some skins just set the attributes to blank.
- -->
- <trail location="none">
- <link1 name="" href=""/>
- <link2 name="" href=""/>
- <link3 name="" href=""/>
- <!--
- <link1 name="myGroup" href="http://www.apache.org/"/>
- <link2 name="myProject" href="http://forrest.apache.org/"/>
- <link3 name="" href=""/>
- -->
- </trail>
-
- <!--
- Configure the TOC, i.e. the Table of Contents.
- @max-depth: how many "section" levels need to be included in the generated Table of Contents (TOC).
- @min-sections: Minimum required to create a TOC.
- @location: ("page","menu","page,menu", "none") Where to show the TOC.
- -->
- <toc max-depth="2" min-sections="1" location="page"/>
-
- <!-- Heading types can be clean|underlined|boxed -->
- <headings type="clean"/>
-
- <!--
- The optional feedback element will be used to construct a feedback link in
- the footer with the page pathname appended: <a href="@href">{@to}</a>
- <feedback to="webmaster@elver.org" href="mailto:webmaster@elver.org?subject=Feedback on " >
- Send feedback about the website to:
- </feedback>
- -->
-
- <!--
- Extra-css - here you can define custom css-elements that are
- a. overriding the fallback elements or
- b. adding the css definition from new elements that you may have used in your documentation.
- -->
- <extra-css>
-.code {
- xfont-family: "Courier New", Courier, monospace;
- font-size: 100%;
- padding-left: 10px;
-}
-
-.base-selected {
- font-size: 110%;
-}
-
-.footer {
- text-align: center;
- font-size: 75%;
-}
-
-.menuarea {
- background-color: #eeeeee;
- border-right: 1px outset #ccc;
- border-bottom: 1px outset #ccc;
- width: 150px;
-}
-
-.menu {
- padding-bottom: .2em;
- font-size: .95em;
- text-decoration: none;
- font-weight: bold;
-}
-
-.menutitle {
- font-weight: bold;
- padding-top: 10px;
- padding-left: 4px;
- cursor: pointer;
-}
-
-.menuitem {
- font-weight: normal;
- padding-left: 10px;
- padding-top: 4px;
- text-decoration: none;
-}
-
-.menupagetitle {
- font-weight: normal;
- padding-left: 10px;
- padding-top: 2px;
- text-decoration: underline;
-}
-
-.published {
- font-size: 100%;
-}
-
-a:link {
- text-decoration: none
-}
-
-a:visited {
- text-decoration: none
-}
-
- </extra-css>
-
- <!--
- The 'colors' section should be present for some skins to work properly.
- -->
- <colors>
- </colors>
-
- <!-- Settings specific to PDF output. -->
- <pdf>
- <!--
- Supported page sizes are a0, a1, a2, a3, a4, a5, executive,
- folio, legal, ledger, letter, quarto, tabloid (default letter).
- Supported page orientations are portrait, landscape (default portrait).
- Supported text alignments are left, right, justify (default left).
- -->
- <page size="a4" orientation="portrait" text-align="left"/>
-
- <!--
- Margins can be specified for top, bottom, inner, and outer edges.
- If double-sided="false", the inner edge is always left and the outer is always right.
- If double-sided="true", the inner edge will be left on odd pages, right on even pages,
- the outer edge vice versa.
- -->
- <margins double-sided="false">
- <top>1in</top>
- <bottom>1in</bottom>
- <inner>1.25in</inner>
- <outer>1in</outer>
- </margins>
-
- <!--
- Print the URL text next to all links going outside the file
- -->
- <show-external-urls>false</show-external-urls>
-
- <!--
- Disable the copyright footer on each page of the PDF.
- A footer is composed for each page. By default, a "credit" with role=pdf
- will be used, as explained below. Otherwise a copyright statement
- will be generated. This latter can be disabled.
- -->
- <disable-copyright-footer>false</disable-copyright-footer>
- </pdf>
-
-</skinconfig>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/skinconf_orig.xml b/doc/org.eclipse.emf.teneo.doc/doc/skinconf_orig.xml
deleted file mode 100644
index 308c50f8f..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/skinconf_orig.xml
+++ /dev/null
@@ -1,202 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2005-2006, Elver.org (http://www.elver.org).
-
- Licensed 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.
--->
-
-<!--
- Forrest Skin Configuration. This file contains details
- which will be used to configure the chosen Forrest skin.
-
- @author <a href="pvdhoef@elver.org">Peter van de Hoef</a>
- @version $Revision: 1.1 $
--->
-
-<!DOCTYPE skinconfig PUBLIC
- "-//APACHE//DTD Skin Configuration V0.7-1//EN"
- "http://forrest.apache.org/dtd/skinconfig-v07-1.dtd">
-
-<!-- Project logo is the only mandatory element of the skinconfig document. -->
-
-<skinconfig>
-
- <!--
- To enable lucene search add provider="lucene" (default is google).
- Add box-location="alt" to move the search box to an alternate location
- (if the skin supports it) and box-location="all" to show it in all
- available locations on the page. Remove the <search> element to show
- no search box. @domain will enable sitesearch for the specific domain with google.
- In other words google will search the @domain for the query string.
- -->
- <search name="elver" domain="www.elver.org" provider="google"/>
-
- <!-- Disable the print link? If enabled, invalid HTML 4.0.1 -->
- <disable-print-link>true</disable-print-link>
-
- <!-- Disable the PDF link? -->
- <disable-pdf-link>false</disable-pdf-link>
-
- <!-- Disable the POD link? -->
- <disable-pod-link>true</disable-pod-link>
-
- <!-- Disable the Text link? FIXME: NOT YET IMPLEMENETED. -->
- <disable-txt-link>true</disable-txt-link>
-
- <!--
- Disable the xml source link?
- The xml source link makes it possible to access the xml rendition
- of the source from the html page, and to have it generated statically.
- This can be used to enable other sites and services to reuse the
- xml format for their uses. Keep this disabled if you don't want other
- sites to easily reuse your pages.
- -->
- <disable-xml-link>false</disable-xml-link>
-
- <!-- Disable navigation icons on all external links? -->
- <disable-external-link-image>false</disable-external-link-image>
-
- <!--
- Disable w3c compliance links?
- Use e.g. align="center" to move the compliance links logos to
- an alternate location default is left. (if the skin supports it)
- -->
- <disable-compliance-links>true</disable-compliance-links>
-
- <!-- Render mailto: links unrecognisable by spam harvesters? -->
- <obfuscate-mail-links>true</obfuscate-mail-links>
- <obfuscate-mail-value>.at.</obfuscate-mail-value>
-
- <!-- Disable the javascript facility to change the font size -->
- <disable-font-script>true</disable-font-script>
-
- <!-- Project logo is the only mandatory element of the skinconfig document.-->
- <project-name>Elver</project-name>
- <project-description>The Elver Project</project-description>
- <project-url>http://www.elver.org/</project-url>
- <project-logo>images/empty.gif</project-logo>
-
- <!--Optional group logo, default skin: renders it at the top-left corner -->
- <group-name>Elver Store</group-name>
- <group-description>Elver Store</group-description>
- <group-url>http://www.elver.org</group-url>
- <group-logo>images/ELV.gif</group-logo>
-
- <!-- Optional host logo, default skin: renders it at the bottom-left corner -->
- <!--
- <host-url></host-url>
- <host-logo></host-logo>
- -->
-
- <!-- Relative url of a favicon file, normally favicon.ico -->
- <favicon-url></favicon-url>
-
- <!-- The following are used to construct a copyright statement -->
- <year>2006</year>
- <vendor>The Elver Project</vendor>
- <!-- The optional copyright-link URL will be used as a link in the copyright statement -->
- <copyright-link>license.html</copyright-link>
-
- <!--
- Some skins use this to form a 'breadcrumb trail' of links. Use location="alt" to move the trail
- to an alternate location (if the skin supports it).
- Omit the location attribute to display the trail in the default location.
- Use location="none" to not display the trail (if the skin supports it).
- For some skins just set the attributes to blank.
- -->
- <trail location="none">
- <link1 name="" href=""/>
- <link2 name="" href=""/>
- <link3 name="" href=""/>
- <!--
- <link1 name="myGroup" href="http://www.apache.org/"/>
- <link2 name="myProject" href="http://forrest.apache.org/"/>
- <link3 name="" href=""/>
- -->
- </trail>
-
- <!--
- Configure the TOC, i.e. the Table of Contents.
- @max-depth: how many "section" levels need to be included in the generated Table of Contents (TOC).
- @min-sections: Minimum required to create a TOC.
- @location: ("page","menu","page,menu", "none") Where to show the TOC.
- -->
- <toc max-depth="2" min-sections="1" location="page"/>
-
- <!-- Heading types can be clean|underlined|boxed -->
- <headings type="clean"/>
-
- <!--
- The optional feedback element will be used to construct a feedback link in
- the footer with the page pathname appended: <a href="@href">{@to}</a>
- -->
- <feedback to="webmaster@elver.org" href="mailto:webmaster@elver.org?subject=Feedback on " >
- Send feedback about the website to:
- </feedback>
-
- <!--
- Extra-css - here you can define custom css-elements that are
- a. overriding the fallback elements or
- b. adding the css definition from new elements that you may have used in your documentation.
- -->
- <extra-css>
-.code {
- font-family: "Courier New", Courier, monospace;
- font-size: 90%;
-}
- </extra-css>
-
- <!--
- The 'colors' section should be present for some skins to work properly.
- -->
- <colors>
- </colors>
-
- <!-- Settings specific to PDF output. -->
- <pdf>
- <!--
- Supported page sizes are a0, a1, a2, a3, a4, a5, executive,
- folio, legal, ledger, letter, quarto, tabloid (default letter).
- Supported page orientations are portrait, landscape (default portrait).
- Supported text alignments are left, right, justify (default left).
- -->
- <page size="a4" orientation="portrait" text-align="left"/>
-
- <!--
- Margins can be specified for top, bottom, inner, and outer edges.
- If double-sided="false", the inner edge is always left and the outer is always right.
- If double-sided="true", the inner edge will be left on odd pages, right on even pages,
- the outer edge vice versa.
- -->
- <margins double-sided="false">
- <top>1in</top>
- <bottom>1in</bottom>
- <inner>1.25in</inner>
- <outer>1in</outer>
- </margins>
-
- <!--
- Print the URL text next to all links going outside the file
- -->
- <show-external-urls>false</show-external-urls>
-
- <!--
- Disable the copyright footer on each page of the PDF.
- A footer is composed for each page. By default, a "credit" with role=pdf
- will be used, as explained below. Otherwise a copyright statement
- will be generated. This latter can be disabled.
- -->
- <disable-copyright-footer>false</disable-copyright-footer>
- </pdf>
-
-</skinconfig>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/tabs.xml b/doc/org.eclipse.emf.teneo.doc/doc/tabs.xml
deleted file mode 100644
index cbde50471..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/tabs.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2005-2006, Elver.org (http://www.elver.org).
-
- Licensed 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.
--->
-
-<!--
- Tab definition elver.org site
-
- @author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.1 $
--->
-
-<!DOCTYPE tabs PUBLIC
- "-//APACHE//DTD Cocoon Documentation Tab V1.1//EN"
- "http://forrest.apache.org/dtd/tab-cocoon-v11.dtd">
-
-<tabs software="Elver"
- title="Elver"
- copyright="elver.org"
- xmlns:xlink="http://www.w3.org/1999/xlink">
-
- <tab id="home" label="Home" dir="" indexfile="index.html"/>
- <tab id="hibernate" label="EMF Hibernate" dir="hibernate" indexfile="index.html"/>
- <tab id="jpox" label="EMF JDO/JPOX" dir="jpox" indexfile="index.html"/>
- <tab id="services" label="Services" dir="services" indexfile="index.html"/>
-
-</tabs>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/teneo_jpox.xml b/doc/org.eclipse.emf.teneo.doc/doc/teneo_jpox.xml
deleted file mode 100644
index e92327b26..000000000
--- a/doc/org.eclipse.emf.teneo.doc/doc/teneo_jpox.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<document>
- <properties>
- <title>Eclipse EMF persistence</title>
- <jpoxpagetype>Preparation</jpoxpagetype>
- <jpoxversion>1_1</jpoxversion>
- </properties>
-
- <body>
-
- <section name="Teneo : from UML/XML Schema to Relational Persistence, Persisting Eclipse EMF using JPOX">
- <p>Teneo is a database persistency solution for EMF using JPOX/JDO 2.0.
- Teneo combines the power of the <a href="http://www.eclipse.org/emf">EMF modeling and code generation framework</a> and the power of storage, caching and querying of sophisticated object-relational mapping software such as JPOX.
- </p><p>
- Teneo allows you to start with your model (UML or XML Schema) and automatically generate the java source code and relational mappings. Teneo takes over much (or even all) of the manual work of creating relational mapping schemes.
- </p><p>
- The EMF - JPOX Persistency solution consists of two main tools:
- <ol>
- <li>EMF - JPOX OR Mapper: generates object-relational mapping files from the EMF model.</li>
- <li>EMF - JPOX Runtime: takes care of handling EMF specific things such as EMF collections, containment and bi-directional relations.</li>
- </ol>
- </p>
-
- <subsection name="Generate OR Mapping file">
- <p>First an EMF model has to be prepared and java source code generated using EMF. The next step is to generate the package.jdo file. The package.jdo file describes for a object relational mapping tool how to persist java objects to relational tables.
- The package.jdo file can be generated within Eclipse by right-clicking a EMF model (ecore) file and selecting the relevant menu item.</p>
- </subsection>
-
- <subsection name="Runtime Layer">
- <p>EMF objects require specific handling in relation to JPOX. This is mainly related to the way EMF handles references and collections. Also the EMF resource approach requires specific JPOX implementations. To handle the EMF specifics, the EMF - JPOX runtime layer was developed. This layer is small (about 150kb) but is essential to get a working EMF - JPOX integration.
- </p><p>
- The main visible component of the runtime layer is the JpoxDataStore. The JpoxDataStore controls a PersistenceManagerFactory and a set of EPackages which are persisted using the PersistenceManagers of this PersistenceManagerFactory. When using a PersistenceManager, behind the scenes Teneo takes care of instantiating EMF objects and setting/getting EFeatures from the database. Teneo also handles lazy loading of ELists.
- </p>
- </subsection>
-
- <subsection name="JPA/EJB3 Annotations">
- <p>Teneo will automatically map the EMF model to an object relational representation.
- However there are situations in which it makes sense to influence or control the mapping.
- For this purpose Teneo supports JPA annotations in the model.
- The annotations can be used to control the way the inheritance structure is mapped to the relational store or how efeatures are mapped to database columns.
- Annotations can be specified directly in your model definition or defined separately in a xml file.
- </p><p>
- The JPA support has been developed in such a way that it is only required to specify annotations for those parts of the model for which the automatic mapping logic does not result in the required behavior. For example it is possible to specify a column annotation for one efeature in a model while all other efeatures and eclasses are automatically handled by Teneo.
- </p>
- </subsection>
-
- <subsection name="Support and information">
- <p>Teneo is a project hosted within EMFT at <a href="http://www.eclipse.org/emft/projects/teneo/#teneo">eclipse.org</a>.
- </p><p>
- Teneo can be downloaded <a href="http://www.eclipse.org/emft/downloads/?proj=teneo">here</a>.
- </p><p>
- Tutorials and documentation can be found <a href="http://www.elver.org/jpox/index.html">here</a>.
- </p><p>
- Support is given through the EMFT newsgroup: news://news.eclipse.org/eclipse.technology.emft.
- </p>
- </subsection>
-
- <p><B>Disclaimer : JPOX does not provide support for nor endorse the use of Teneo. We simply provide visibility of its
- existence and potential benefits for your organisation.</B>
- </p>
-
- </section>
- </body>
-</document> \ No newline at end of file
diff --git a/doc/org.eclipse.emf.teneo.doc/forrest.properties b/doc/org.eclipse.emf.teneo.doc/forrest.properties
deleted file mode 100644
index a0e2e7a60..000000000
--- a/doc/org.eclipse.emf.teneo.doc/forrest.properties
+++ /dev/null
@@ -1,30 +0,0 @@
-#
-# Copyright 2004-2005, Elver.org (http://www.elver.org).
-#
-# Licensed 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.
-#
-
-# Properties for Forrest for building the site from the documents in the 'doc' subdirectory.
-#
-# @author <a href="pvdhoef@elver.org">Peter van de Hoef</a>
-# @version $Revision: 1.1 $ $Date: 2006/09/04 15:53:50 $
-
-forrest.echo=true
-#project.skin=elver
-#project.skin=pelt
-#project.skin=krysalis-site
-project.skin=elver4
-project.content-dir=doc
-#project.debuglevel=DEBUG
-project.xdocs-dir=${project.content-dir}
-project.required.plugins=org.apache.forrest.plugin.output.pdf
diff --git a/doc/org.eclipse.emf.teneo.doc/toc.xml b/doc/org.eclipse.emf.teneo.doc/toc.xml
index 47f10bf36..aa6982ca9 100644
--- a/doc/org.eclipse.emf.teneo.doc/toc.xml
+++ b/doc/org.eclipse.emf.teneo.doc/toc.xml
@@ -1,6 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<?NLS TYPE="org.eclipse.help.toc"?>
-<toc label="Teneo Table of Contents">
- <topic label="Javadoc" href="references/javadoc/index.html"/>
+<toc label="EMFT Teneo Developer Guide">
+ <topic label="Teneo Reference">
+ <topic label="EMF Hibernate" href="tutorials/hibernate/index.html" />
+ <topic label="EMF JPOX" href="tutorials/jpox/index.html" />
+ </topic>
+ <topic label="Tutorials">
+ <topic label="EMF Hibernate">
+ <topic label="Library Tutorial" href="tutorials/hibernate/tutorialone/tutorial1_intro.html" />
+ <topic label="Library Editor Tutorial" href="tutorials/hibernate/tutorialtwo/tutorial2_intro.html" />
+ <topic label="Dynamic EMF Tutorial" href="tutorials/hibernate/dynamic.html" />
+ </topic>
+ <topic label="EMF JPOX">
+ <topic label="Library Tutorial" href="tutorials/jpox/tutorial1/tutorial1_intro.html" />
+ <topic label="Library Editor Tutorial" href="tutorials/jpox/tutorial2/tutorial2_intro.html" />
+ </topic>
+ </topic>
+ <topic label="Online Docs">
+ <topic label="Hibernate" href="http://www.elver.org/hibernate" />
+ <topic label="JPOX" href="http://www.elver.org/jpox" />
+ </topic>
</toc>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/changelog.html b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/changelog.html
index 74e827e24..6f7f2fd96 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/changelog.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/changelog.html
@@ -163,7 +163,7 @@
<a href="../hibernate/resource_utility.html">Resource Utility</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../hibernate/ejb3_format.html">Format</a>
@@ -172,10 +172,7 @@
<a href="../hibernate/ejb3_examples.html">Examples</a>
</div>
<div class="menuitem">
-<a href="../hibernate/ejb3_features.html">EJB3</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/custom_annotations.html">Custom</a>
+<a href="../hibernate/ejb3_features.html">JPA/EJB3</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.6')" id="menu_1.6Title" class="menutitle">XML Schema</div>
@@ -199,7 +196,7 @@
<a href="../hibernate/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../hibernate/mailinglist.html">Mailinglist</a>
+<a href="../hibernate/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../hibernate/emfhibsupport.html">EMF/Hibernate Support</a>
@@ -208,10 +205,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../hibernate/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/testcases.html">Test cases</a>
+<a href="../hibernate/svn.html">CVS</a>
</div>
</div>
</div>
@@ -249,6 +243,15 @@
<p>
+<strong>From 12 September 2006: for changelog and release notes see the emft website: <a class="external" href="http://www.eclipse.org/emft/news/release-notes.php">here</a></strong>
+
+</p>
+
+
+<p></p>
+
+<p>
+
<strong>Release: 0.7.2 ALPHA - 7 June 2006</strong>
</p>
@@ -262,7 +265,7 @@
annotation.elver.org.</li>
<li>
-<strong>The hibernate jar files have been moved to a separate plugin: org.elver.store.hibernate.libraries</strong>. This plugin contains the
+<strong>The hibernate jar files have been moved to a separate plugin: org.eclipse.emf.teneo.hibernate.libraries</strong>. This plugin contains the
Hibernate 3.2 version. If you want to use a different Hibernate version then please replace the hibernate jars in this plugin (in the
installation directory of Eclipse). In a later release this will possibly be made easier.</li>
@@ -298,11 +301,11 @@
<li>Added secondary table(s), embedded id and lob, (see <a href="ejb3_features.html">here</a>)</li>
-<li>Added idbag (see <a href="custom_annotations.html#IdBag+Annotation">here</a>)</li>
+<li>Added idbag</li>
-<li>Added type annotation on EDataType to support UserType (see <a href="custom_annotations.html#type">here</a>)</li>
+<li>Added type annotation on EDataType to support UserType</li>
-<li>Added columns (multiple) annotation (see <a href="custom_annotations.html#type">here</a>)</li>
+<li>Added columns (multiple) annotation</li>
<li>Added transient annotation on EClass level (see <a href="ejb3_features.html#transient">here</a>).</li>
@@ -568,7 +571,7 @@ resulted in missing model fields in the mapping file.</li>
<li>Upgraded to Hibernate3.1rc1, for this release it is required to upgrade
to the Hibernate3.1rc1 release, the Hibernate libraries are all present in
- the org.elver.store.hibernate.runtime plugin. Note that in rc1 the
+ the org.eclipse.emf.teneo.hibernate.runtime plugin. Note that in rc1 the
methods session.reconnect/disconnect have been deprecated.</li>
<li>Restructured the Tutorial &amp; Information part of the website.</li>
@@ -642,7 +645,7 @@ resulted in missing model fields in the mapping file.</li>
by explicitly selecting the validate option.</li>
<li>The plugin structure has been improved, more functions have been moved to
- a generic plugin (org.elver.store).</li>
+ a generic plugin (org.eclipse.emf.teneo).</li>
</ul>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/download/persistence-mapping-hibernate.xsd b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/download/persistence-mapping-hibernate.xsd
index 30581e017..30581e017 100644
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/download/persistence-mapping-hibernate.xsd
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/download/persistence-mapping-hibernate.xsd
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/dynamic.html b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/dynamic.html
index 523004800..a5a728023 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/dynamic.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/dynamic.html
@@ -163,7 +163,7 @@
<a href="../hibernate/resource_utility.html">Resource Utility</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../hibernate/ejb3_format.html">Format</a>
@@ -172,10 +172,7 @@
<a href="../hibernate/ejb3_examples.html">Examples</a>
</div>
<div class="menuitem">
-<a href="../hibernate/ejb3_features.html">EJB3</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/custom_annotations.html">Custom</a>
+<a href="../hibernate/ejb3_features.html">JPA/EJB3</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.6')" id="menu_1.6Title" class="menutitle">XML Schema</div>
@@ -199,7 +196,7 @@
<a href="../hibernate/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../hibernate/mailinglist.html">Mailinglist</a>
+<a href="../hibernate/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../hibernate/emfhibsupport.html">EMF/Hibernate Support</a>
@@ -208,10 +205,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../hibernate/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/testcases.html">Test cases</a>
+<a href="../hibernate/svn.html">CVS</a>
</div>
</div>
</div>
@@ -264,7 +258,7 @@
</ul>
<p>EMF allows you to dynamically change the in-memory ecore model by adding EPackages, EClasses and EStructuralFeatures.
- Elver now supports persisting dynamically created models. There are however some (practical) limitations, see the bottom
+ Teneo now supports persisting dynamically created models. There are however some (practical) limitations, see the bottom
of this page.</p>
<a name="N10011"></a><a name="before"></a>
@@ -387,7 +381,7 @@ System.err.println(hbds.getMappingXML());
<p>At this point the database schema should have been updated.</p>
-<p>There is an option to prevent Elver from updating the schema, this option should be disabled or
+<p>There is an option to prevent Teneo from updating the schema, this option should be disabled or
not set, otherwise the database schema will not be updated (see <a href="hbdatastore.html#options">here</a>).</p>
</div>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/ejb3_examples.html b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/ejb3_examples.html
index 07ebe2cba..d69c32e07 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/ejb3_examples.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/ejb3_examples.html
@@ -163,7 +163,7 @@
<a href="../hibernate/resource_utility.html">Resource Utility</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_selected_1.5')" id="menu_selected_1.5Title" class="menutitle">Annotations</div>
+<div onclick="SwitchMenu('menu_selected_1.5')" id="menu_selected_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_selected_1.5" class="selectedmenuitemgroup">
<div class="menuitem">
<a href="../hibernate/ejb3_format.html">Format</a>
@@ -172,10 +172,7 @@
<div class="menupagetitle">Examples</div>
</div>
<div class="menuitem">
-<a href="../hibernate/ejb3_features.html">EJB3</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/custom_annotations.html">Custom</a>
+<a href="../hibernate/ejb3_features.html">JPA/EJB3</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.6')" id="menu_1.6Title" class="menutitle">XML Schema</div>
@@ -199,7 +196,7 @@
<a href="../hibernate/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../hibernate/mailinglist.html">Mailinglist</a>
+<a href="../hibernate/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../hibernate/emfhibsupport.html">EMF/Hibernate Support</a>
@@ -208,10 +205,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../hibernate/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/testcases.html">Test cases</a>
+<a href="../hibernate/svn.html">CVS</a>
</div>
</div>
</div>
@@ -244,13 +238,7 @@
<div class="app" id="projecthome">
<ul class="minitoc">
<li>
-<a href="#id">Id Annotation</a>
-</li>
-<li>
-<a href="#compositeid">Composite Id in Uml</a>
-</li>
-<li>
-<a href="#column">Table and Column annotations</a>
+<a href="#column">Annotations on EDataType</a>
</li>
<li>
<a href="#mtm">ManyToMany Annotations</a>
@@ -263,131 +251,86 @@
</li>
</ul>
-<a name="N1000E"></a><a name="id"></a>
+<a name="N1000E"></a><a name="column"></a>
<div class="h3">
-<h3>Id Annotation</h3>
+<h3>Annotations on EDataType</h3>
-<p>An example with a generated id, note the definition of the Generator on global level.</p>
+<p>An example of the use of a Table annotation at EClass level and Column annotations
+ on EDataType level, first in xml and then using the :</p>
<pre class="code">
-&lt;xsd:schema targetNamespace="http://www.elver.org/samples/emf/annotations/id"
- xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
- xmlns:lib="http://www.elver.org/samples/emf/annotations/id"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;
+&lt;epackage namespace-uri="http://www.eclipse.org/emf/teneo/samples/emf/annotations/edatatype_column"&gt;
- &lt;xsd:annotation&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/SequenceGenerator"
- ecore:key="name"&gt;GENERATOR&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/SequenceGenerator"
- ecore:key="sequenceName"&gt;mySequenceName&lt;/xsd:appinfo&gt;
- &lt;/xsd:annotation&gt;
+ &lt;eclass name="Book"&gt;
+ &lt;table name="mybooktable"/&gt;
+ &lt;property name="title"&gt;
+ &lt;column name="titel" unique="true" length="25"/&gt;
+ &lt;/property&gt;
+ &lt;/eclass&gt;
- &lt;xsd:complexType name="SimpleID"&gt;
- &lt;xsd:sequence&gt;
- &lt;xsd:element name="autoID" type="xsd:long"&gt;
- &lt;xsd:annotation&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Id"&gt;true&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/GeneratedValue"&gt;true&lt;/xsd:appinfo&gt;
- &lt;/xsd:annotation&gt;
- &lt;/xsd:element&gt;
- &lt;/xsd:sequence&gt;
- &lt;/xsd:complexType&gt;
-
- &lt;xsd:complexType name="TableID"&gt;
- &lt;xsd:sequence&gt;
- &lt;xsd:element name="myid" type="xsd:long"&gt;
- &lt;xsd:annotation&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Id"&gt;true&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/GeneratedValue"
- ecore:key="strategy"&gt;TABLE&lt;/xsd:appinfo&gt;
- &lt;/xsd:annotation&gt;
- &lt;/xsd:element&gt;
- &lt;/xsd:sequence&gt;
- &lt;/xsd:complexType&gt;
-
- &lt;xsd:complexType name="IdentityID"&gt;
- &lt;xsd:sequence&gt;
- &lt;xsd:element name="myid" type="xsd:long"&gt;
- &lt;xsd:annotation&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Id"&gt;true&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/GeneratedValue"
- ecore:key="strategy"&gt;IDENTITY&lt;/xsd:appinfo&gt;
- &lt;/xsd:annotation&gt;
- &lt;/xsd:element&gt;
- &lt;/xsd:sequence&gt;
- &lt;/xsd:complexType&gt;
-&lt;/xsd:schema&gt;
- </pre>
+ &lt;edatatype name="TitleType"&gt;
+ &lt;column name="mytitle" unique="false" length="50"/&gt;
+ &lt;/edatatype&gt;
-</div>
-
-<a name="N1001C"></a><a name="compositeid"></a>
-<div class="h3">
-<h3>Composite Id in Uml</h3>
-
-
-<p>The annotation for a composite id using a specific id class. Please read the documentation of Hibernate for
- all the requirements which apply to the composite id class.</p>
-
-<pre class="code">
-http://ejb.elver.org/IdClass value='org.elver.samples.emf.annotations.compositeid.PersonID'
+ &lt;edatatype name="PagesType"&gt;
+ &lt;column updatable="false" insertable="false"/&gt;
+ &lt;/edatatype&gt;
+
+ &lt;edatatype name="WeightType"&gt;
+ &lt;column name="gewicht" nullable="true" precision="5" scale="2"/&gt;
+ &lt;/edatatype&gt;
+
+&lt;/epackage&gt;
</pre>
-
-</div>
-
-<a name="N1002A"></a><a name="column"></a>
-<div class="h3">
-<h3>Table and Column annotations</h3>
-
-<p>An example of the use of a Table annotation at EClass level and a Column annotation:</p>
+<p>And in java annotation syntax in EAnnotations:</p>
-<pre class="code">
+<pre class="code">
&lt;xsd:complexType name="Book"&gt;
&lt;xsd:annotation&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Table"
- ecore:key="name"&gt;MYBOOKTABLE&lt;/xsd:appinfo&gt;
+ &lt;xsd:appinfo source="teneo.jpa"&gt;@Table(name="mybooktable")&lt;/xsd:appinfo&gt;
&lt;/xsd:annotation&gt;
&lt;xsd:sequence&gt;
- &lt;xsd:element name="title" type="xsd:string"&gt;
+ &lt;xsd:element name="title" type="TitleType"&gt;
&lt;xsd:annotation&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Column"
- ecore:key="name"&gt;titel&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Column"
- ecore:key="unique"&gt;true&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Column"
- ecore:key="length"&gt;25&lt;/xsd:appinfo&gt;
- &lt;/xsd:annotation&gt;
- &lt;/xsd:element&gt;
- &lt;xsd:element name="pages" type="xsd:int"&gt;
- &lt;xsd:annotation&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Column"
- ecore:key="updatable"&gt;false&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Column"
- ecore:key="insertable"&gt;false&lt;/xsd:appinfo&gt;
- &lt;/xsd:annotation&gt;
+ &lt;xsd:appinfo source="teneo.jpa"&gt;@Column(name="titel" unique="true" length="25")&lt;/xsd:appinfo&gt;
+ &lt;/xsd:annotation&gt;
&lt;/xsd:element&gt;
- &lt;xsd:element name="weight" type="xsd:decimal"&gt;
- &lt;xsd:annotation&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Column"
- ecore:key="name"&gt;GEWICHT&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Column"
- ecore:key="nullable"&gt;true&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Column"
- ecore:key="precision"&gt;5&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Column"
- ecore:key="scale"&gt;2&lt;/xsd:appinfo&gt;
- &lt;/xsd:annotation&gt;
- &lt;/xsd:element&gt;
+ &lt;xsd:element name="pages" type="PagesType"/&gt;
+ &lt;xsd:element name="weight" type="WeightType"/&gt;
&lt;xsd:element name="author" type="xsd:string"/&gt;
&lt;/xsd:sequence&gt;
&lt;/xsd:complexType&gt;
+
+&lt;xsd:simpleType name="TitleType"&gt;
+ &lt;xsd:annotation&gt;
+ &lt;xsd:appinfo source="teneo.jpa"&gt;@Column(name="mytitle" unique="false" length="50")&lt;/xsd:appinfo&gt;
+ &lt;/xsd:annotation&gt;
+ &lt;xsd:restriction base="xsd:string"&gt;
+ &lt;/xsd:restriction&gt;
+&lt;/xsd:simpleType&gt;
+
+&lt;xsd:simpleType name="PagesType"&gt;
+ &lt;xsd:annotation&gt;
+ &lt;xsd:appinfo source="teneo.jpa"&gt;@Column(updatable="false" insertable="false")&lt;/xsd:appinfo&gt;
+ &lt;/xsd:annotation&gt;
+ &lt;xsd:restriction base="xsd:int"&gt;
+ &lt;/xsd:restriction&gt;
+&lt;/xsd:simpleType&gt;
+
+&lt;xsd:simpleType name="WeightType"&gt;
+ &lt;xsd:annotation&gt;
+ &lt;xsd:appinfo source="teneo.jpa"&gt;@Column(name="gewicht" nullable="true" precision="5" scale="2")&lt;/xsd:appinfo&gt;
+ &lt;/xsd:annotation&gt;
+ &lt;xsd:restriction base="xsd:decimal"&gt;
+ &lt;/xsd:restriction&gt;
+&lt;/xsd:simpleType&gt;
</pre>
</div>
-<a name="N10038"></a><a name="mtm"></a>
+<a name="N10023"></a><a name="mtm"></a>
<div class="h3">
<h3>ManyToMany Annotations</h3>
@@ -397,48 +340,31 @@ http://ejb.elver.org/IdClass value='org.elver.samples.emf.annotations.compositei
<pre class="code">
&lt;xsd:complexType name="Cntr"&gt;
&lt;xsd:sequence&gt;
- xsd:element name="rght" type="xsd:IDREF" ecore:reference="this:Rght"
- maxOccurs="unbounded" ecore:opposite="cntr"&gt;
+ &lt;xsd:element name="rght" type="xsd:IDREF" ecore:reference="this:Rght" maxOccurs="unbounded" ecore:opposite="cntr"&gt;
&lt;xsd:annotation&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/ManyToMany"
- ecore:key="fetch"&gt;EAGER&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/ManyToMany"
- ecore:key="cascade"&gt;MERGE PERSIST&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/ManyToMany"
- ecore:key="targetEntity"&gt;Rght&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/JoinTable"
- ecore:key="name"&gt;RightCenter&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://annotation.elver.org/Indexed"
- ecore:key="value"&gt;false&lt;/xsd:appinfo&gt;
+ &lt;xsd:appinfo source="teneo.jpa"&gt;
+ @ManyToMany(fetch=EAGER cascade={MERGE PERSIST} targetEntity="Rght" indexed="false")
+ @JoinTable(name="RightCenter")
+ &lt;/xsd:appinfo&gt;
&lt;/xsd:annotation&gt;
&lt;/xsd:element&gt;
- &lt;xsd:element name="lft" type="xsd:IDREF" ecore:reference="this:Lft"
- maxOccurs="unbounded" ecore:opposite="cntr"&gt;
+ &lt;xsd:element name="lft" type="xsd:IDREF" ecore:reference="this:Lft" maxOccurs="unbounded" ecore:opposite="cntr"&gt;
&lt;xsd:annotation&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/ManyToMany"
- ecore:key="fetch"&gt;EAGER&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/ManyToMany"
- ecore:key="cascade"&gt;MERGE PERSIST&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/ManyToMany"
- ecore:key="targetEntity"&gt;Lft&lt;/xsd:appinfo&gt;
+ &lt;xsd:appinfo source="teneo.jpa"&gt;
+ @ManyToMany(fetch=EAGER cascade={MERGE PERSIST} targetEntity="Lft")
+ &lt;/xsd:appinfo&gt;
&lt;/xsd:annotation&gt;
&lt;/xsd:element&gt;
- &lt;/xsd:sequence&gt;
+ &lt;/xsd:sequence&gt;
&lt;/xsd:complexType&gt;
&lt;xsd:complexType name="Lft"&gt;
&lt;xsd:sequence&gt;
- &lt;xsd:element name="cntr" type="xsd:IDREF" ecore:reference="this:Cntr"
- maxOccurs="unbounded" ecore:opposite="lft"&gt;
+ &lt;xsd:element name="cntr" type="xsd:IDREF" ecore:reference="this:Cntr" maxOccurs="unbounded" ecore:opposite="lft"&gt;
&lt;xsd:annotation&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/ManyToMany"
- ecore:key="fetch"&gt;LAZY&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/ManyToMany"
- ecore:key="cascade"&gt;MERGE PERSIST&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/ManyToMany"
- ecore:key="targetEntity"&gt;Cntr&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/ManyToMany"
- ecore:key="mappedBy"&gt;lft&lt;/xsd:appinfo&gt;
+ &lt;xsd:appinfo source="teneo.jpa"&gt;
+ @ManyToMany(fetch=LAZY cascade={MERGE PERSIST} targetEntity="Cntr" mappedBy="lft")
+ &lt;/xsd:appinfo&gt;
&lt;/xsd:annotation&gt;
&lt;/xsd:element&gt;
&lt;/xsd:sequence&gt;
@@ -446,21 +372,12 @@ http://ejb.elver.org/IdClass value='org.elver.samples.emf.annotations.compositei
&lt;xsd:complexType name="Rght"&gt;
&lt;xsd:sequence&gt;
- &lt;xsd:element name="cntr" type="xsd:IDREF" ecore:reference="this:Cntr"
- maxOccurs="unbounded" ecore:opposite="rght"&gt;
+ &lt;xsd:element name="cntr" type="xsd:IDREF" ecore:reference="this:Cntr" maxOccurs="unbounded" ecore:opposite="rght"&gt;
&lt;xsd:annotation&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/ManyToMany"
- ecore:key="fetch"&gt;LAZY&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/ManyToMany"
- ecore:key="cascade"&gt;MERGE PERSIST&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/ManyToMany"
- ecore:key="targetEntity"&gt;Cntr&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/ManyToMany"
- ecore:key="mappedBy"&gt;rght&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/JoinTable"
- ecore:key="name"&gt;RightCenter&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://annotation.elver.org/Indexed"
- ecore:key="value"&gt;false&lt;/xsd:appinfo&gt;
+ &lt;xsd:appinfo source="teneo.jpa"&gt;
+ @ManyToMany(fetch=LAZY cascade={MERGE PERSIST} targetEntity="Cntr" mappedBy="rght" indexed="false")
+ @JoinTable(name="RightCenter")
+ &lt;/xsd:appinfo&gt;
&lt;/xsd:annotation&gt;
&lt;/xsd:element&gt;
&lt;/xsd:sequence&gt;
@@ -469,7 +386,7 @@ http://ejb.elver.org/IdClass value='org.elver.samples.emf.annotations.compositei
</div>
-<a name="N10046"></a><a name="inheritance"></a>
+<a name="N10031"></a><a name="inheritance"></a>
<div class="h3">
<h3>Inheritance and Discriminator Annotations</h3>
@@ -479,16 +396,12 @@ http://ejb.elver.org/IdClass value='org.elver.samples.emf.annotations.compositei
<pre class="code">
&lt;xsd:complexType name="Price"&gt;
&lt;xsd:annotation&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Table"
- ecore:key="name"&gt;MYPRICE&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Inheritance"
- ecore:key="strategy"&gt;SINGLE_TABLE&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/DiscriminatorColumn"
- ecore:key="name"&gt;DISCRIMINATOR&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/DiscriminatorColumn"
- ecore:key="discriminatorType"&gt;STRING&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/DiscriminatorValue"
- ecore:key="value"&gt;myPrice&lt;/xsd:appinfo&gt;
+ &lt;xsd:appinfo source="teneo.jpa"&gt;
+ @Table(name="myprice")
+ @Inheritance(strategy=SINGLE_TABLE)
+ @DiscriminatorColumn(name="DISCRIMINATOR" discriminatorType=STRING)
+ @DiscriminatorValue("myPrice")
+ &lt;/xsd:appinfo&gt;
&lt;/xsd:annotation&gt;
&lt;xsd:sequence&gt;
&lt;xsd:element name="name" type="xsd:string"/&gt;
@@ -497,15 +410,27 @@ http://ejb.elver.org/IdClass value='org.elver.samples.emf.annotations.compositei
&lt;/xsd:complexType&gt;
</pre>
+<p>In xml:</p>
+
+<pre class="code">
+&lt;eclass name="Price"&gt;
+ &lt;table name="myprice" /&gt;
+ &lt;inheritance&gt;SINGLE_TABLE&lt;/inheritance&gt;
+ &lt;discriminator-column name="DISCRIMINATOR" discriminator-type="STRING" /&gt;
+ &lt;discriminator-value&gt;myPrice&lt;/discriminator-value&gt;
+&lt;/eclass&gt;
+ </pre>
+
+
</div>
-<a name="N10054"></a><a name="other"></a>
+<a name="N10046"></a><a name="other"></a>
<div class="h3">
<h3>Other examples</h3>
<p>For other examples of annotations on this site see here: <a href="inheritance.html">Inheritance</a> and
- <a href="hibernate_relations.html">Associations</a>.</p>
+ <a href="hibernate_details.html">Associations</a>.</p>
</div>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/ejb3_features.html b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/ejb3_features.html
index 16dc5e842..c95bb1566 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/ejb3_features.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/ejb3_features.html
@@ -16,7 +16,7 @@
<link href="../skin/forrest.css" type="text/css" rel="stylesheet">
<link rel="shortcut icon" href="../">
<script type="text/javascript" src="../skin/tigris.js"></script><script src="../skin/menu.js" language="javascript" type="text/javascript"></script>
-<title>Supported EJB3 Annotation Features</title>
+<title>Supported JPA Annotation Features</title>
<meta content="text/css" http-equiv="Content-style-type">
</head>
<body class="composite" onload="focus()">
@@ -163,7 +163,7 @@
<a href="../hibernate/resource_utility.html">Resource Utility</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_selected_1.5')" id="menu_selected_1.5Title" class="menutitle">Annotations</div>
+<div onclick="SwitchMenu('menu_selected_1.5')" id="menu_selected_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_selected_1.5" class="selectedmenuitemgroup">
<div class="menuitem">
<a href="../hibernate/ejb3_format.html">Format</a>
@@ -172,10 +172,7 @@
<a href="../hibernate/ejb3_examples.html">Examples</a>
</div>
<div class="menupage">
-<div class="menupagetitle">EJB3</div>
-</div>
-<div class="menuitem">
-<a href="../hibernate/custom_annotations.html">Custom</a>
+<div class="menupagetitle">JPA/EJB3</div>
</div>
</div>
<div onclick="SwitchMenu('menu_1.6')" id="menu_1.6Title" class="menutitle">XML Schema</div>
@@ -199,7 +196,7 @@
<a href="../hibernate/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../hibernate/mailinglist.html">Mailinglist</a>
+<a href="../hibernate/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../hibernate/emfhibsupport.html">EMF/Hibernate Support</a>
@@ -208,10 +205,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../hibernate/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/testcases.html">Test cases</a>
+<a href="../hibernate/svn.html">CVS</a>
</div>
</div>
</div>
@@ -238,19 +232,22 @@
<div id="bodycol">
<div id="apphead">
<h2>
-<em>Supported EJB3 Annotation Features</em>
+<em>Supported JPA Annotation Features</em>
</h2>
</div>
<div class="app" id="projecthome">
<ul class="minitoc">
<li>
-<a href="#featuresejb3">EJB3 Annotation Features</a>
+<a href="#featuresejb3">JPA Annotation Features</a>
+</li>
+<li>
+<a href="#Supported+JPA+Annotations">Supported JPA Annotations</a>
</li>
<li>
-<a href="#Supported+Annotations">Supported Annotations</a>
+<a href="#Currently+Unsupported+JPA+Annotations">Currently Unsupported JPA Annotations</a>
</li>
<li>
-<a href="#Currently+Unsupported+Annotations">Currently Unsupported Annotations</a>
+<a href="#hbspecific">Hibernate Annotations Extensions</a>
</li>
<li>
<a href="#Annotation+notes">Annotation notes</a>
@@ -262,7 +259,10 @@
<a href="#transient">Transient on EClass</a>
</li>
<li>
-<a href="#secondarytables_notes">SecondaryTable annotation</a>
+<a href="#Unique+annotation+added+to+OneToMany+to+force+a+join+table+for+1%3An+relations">Unique annotation added to OneToMany to force a join table for 1:n relations</a>
+</li>
+<li>
+<a href="#indexed">Indexed Annotation</a>
</li>
<li>
<a href="#EmbeddedID+annotation">EmbeddedID annotation</a>
@@ -276,10 +276,10 @@
<a name="N1000E"></a><a name="featuresejb3"></a>
<div class="h3">
-<h3>EJB3 Annotation Features</h3>
+<h3>JPA Annotation Features</h3>
-<p>The goal is to support all EJB3 persistence annotations.</p>
+<p>The goal is to support all JPA persistence annotations.</p>
<p>You can download the EJB 3.0 Persistence Specification from the
<a class="external" href="http://jcp.org/aboutJava/communityprocess/final/jsr220/index.html">jsr-220 download page</a>. The
@@ -289,12 +289,12 @@
</div>
-<a name="N10022"></a><a name="Supported+Annotations"></a>
+<a name="N10022"></a><a name="Supported+JPA+Annotations"></a>
<div class="h3">
-<h3>Supported Annotations</h3>
+<h3>Supported JPA Annotations</h3>
-<p>The EJB3 annotations listed below are supported as of the current release. "Supported" means that there are test
+<p>The JPA annotations listed below are supported as of the current release. "Supported" means that there are test
cases showing the annotation is correctly translated to an object-relational mapping and that the annotation works as
expected when persisting and retrieving objects to/from a database.</p>
@@ -364,6 +364,8 @@
<li>9.1.32: PrimaryKeyJoinColumn Annotation</li>
+<li>9.1.33: PrimaryKeyJoinColumns Annotation</li>
+
<li>9.1.34: Embeddable Annotation</li>
<li>9.1.35: Embedded Annotation</li>
@@ -378,9 +380,9 @@
</div>
-<a name="N1009E"></a><a name="Currently+Unsupported+Annotations"></a>
+<a name="N100A1"></a><a name="Currently+Unsupported+JPA+Annotations"></a>
<div class="h3">
-<h3>Currently Unsupported Annotations</h3>
+<h3>Currently Unsupported JPA Annotations</h3>
<p>The following annotations are not yet supported:</p>
@@ -389,74 +391,93 @@
<li>9.1.27: MapKey Annotation</li>
-<li>9.1.33: PrimaryKeyJoinColumns Annotation</li>
-
</ul>
</div>
+<a name="N100B1"></a><a name="hbspecific"></a>
+<div class="h3">
+<h3>Hibernate Annotations Extensions</h3>
+
+
+<p>In addition to the JPA annotations, Teneo supports a number of
+ <a class="external" href="http://www.hibernate.org/5.html#A7">Hibernate Annotations Extensions</a>.</p>
+
+<p>The following Hibernate specific annotations are supported:</p>
+
+<ul>
+
+<li>Columns</li>
+
+<li>GenericGenerator</li>
+
+<li>IdBag</li>
+
+<li>Type</li>
+
+</ul>
+
+<p>In future releases the support for hibernate specific annotations will be extended.</p>
+
+</div>
-<a name="N100B1"></a><a name="Annotation+notes"></a>
+<a name="N100D4"></a><a name="Annotation+notes"></a>
<div class="h3">
<h3>Annotation notes</h3>
-<a name="N100B7"></a><a name="edatatype"></a>
+<a name="N100DA"></a><a name="edatatype"></a>
<div class="h4">
<h4>Annotations on EDataType</h4>
-<p>Every ejb3 annotation which is relevant for a non-reference type java member can also be specified on an EDataType.
+<p>Every JPA annotation which is relevant for a non-reference type java member can also be specified on an EDataType.
Setting annotations on an EDataType has as advantage that the annotation is used in every location in which the EDataType is
used. For example the column length annotation can be defined on EDataType level and is then automatically added to
each EAttribute which uses this EDataType. The annotations on EAttribute level take precedence so if both the EAttribute
and the EDataType have the same annotation then the annotation on the EAttribute is used.</p>
</div>
-<a name="N100C0"></a><a name="transient"></a>
+<a name="N100E3"></a><a name="transient"></a>
<div class="h4">
<h4>Transient on EClass</h4>
<p>The Transient annotation can also be used on an EClass. This prevents an EClass from being mapped and be persisted.</p>
<p>This means also that in case that the super EClass of an EClass is transient that the properties of the super EClass are
not persisted and that the sub EClass requires its own identifier/primary key properties.</p>
</div>
-
-<a name="N100CD"></a><a name="secondarytables_notes"></a>
+
+
+<a name="N100F0"></a><a name="Unique+annotation+added+to+OneToMany+to+force+a+join+table+for+1%3An+relations"></a>
<div class="h4">
-<h4>SecondaryTable annotation</h4>
-<p>
- Mapping properties to secondary tables works as follows.
- </p>
-<p>
- First, define one or more SecondaryTable annotations for the type in question:
- </p>
-<pre class="code">&lt;xsd:complexType name="Person"&gt;
- &lt;xsd:annotation&gt;
- &lt;!-- Declare two secondary tables. --&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/SecondaryTables" ecore:key="value"&gt;st1 st2&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/SecondaryTable/st1" ecore:key="name"&gt;person_address&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/SecondaryTable/st2" ecore:key="name"&gt;person_photo&lt;/xsd:appinfo&gt;
- &lt;/xsd:annotation&gt;
- &lt;xsd:sequence&gt;
- &lt;!-- Child elements here... --&gt;
- &lt;/xsd:sequence&gt;
-&lt;/xsd:complexType&gt;</pre>
-<p>Second, define a Column.table annotation for each property that should be mapped to a secondary table:</p>
-<pre class="code">&lt;xsd:element name="address" type="xsd:string"&gt;
+<h4>Unique annotation added to OneToMany to force a join table for 1:n relations</h4>
+<p>In a relational database 1:n relations are often modeled by adding a foreign-key (to the
+ parent) in the child table/object. The disadvantage of this approach is that duplicates
+ are not supported. To support duplicates in an elist a join table is required. To signal to
+ Teneo, that a join table should be used, the annotation as in this example can be used:</p>
+<pre class="code">
+&lt;xsd:element name="joinedItem" type="xsd:anyURI" ecore:reference="this:Item" maxOccurs="unbounded"&gt;
&lt;xsd:annotation&gt;
- &lt;!-- Map to person_address table. --&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Column" ecore:key="table"&gt;person_address&lt;/xsd:appinfo&gt;
+ &lt;xsd:appinfo source="teneo.jpa"&gt;@OneToMany(unique=false)&lt;/xsd:appinfo&gt;
&lt;/xsd:annotation&gt;
&lt;/xsd:element&gt;
-&lt;xsd:element name="photo" type="xsd:base64Binary"&gt;
- &lt;xsd:annotation&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Lob"&gt;true&lt;/xsd:appinfo&gt;
- &lt;!-- Map to person_photo table. --&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Column" ecore:key="table"&gt;person_photo&lt;/xsd:appinfo&gt;
- &lt;/xsd:annotation&gt;
-&lt;/xsd:element&gt;</pre>
+ </pre>
+<p>Based on this annotations Teneo will generate a join table for this model. Note that
+ this annotation can be combined with the indexed annotation.</p>
+<p>
+<em>The unique annotation does not exist in the EJB3 spec and is a Teneo extension.</em>
+</p>
+</div>
+
+
+<a name="N10104"></a><a name="indexed"></a>
+<div class="h4">
+<h4>Indexed Annotation</h4>
+<p>The http://annotation.elver.org/Indexed annotation can be used to signal to Elver that a certain association does
+ not require an index column and has a bag like behavior.
+ See <a href="hibernate_relations.html#Mapping+non-indexed+relations">here</a>
+ for more information.</p>
</div>
-<a name="N100E5"></a><a name="EmbeddedID+annotation"></a>
+<a name="N10111"></a><a name="EmbeddedID+annotation"></a>
<div class="h4">
<h4>EmbeddedID annotation</h4>
<p>EmbeddedID lets you use an embedded class as an entity's composite primary key.</p>
@@ -464,11 +485,11 @@
<em>Note: in general, composite primary keys are only necessary for legacy data models.
It's strongly recommended to use single (non-composite) keys for new data models.</em>
</p>
-<p>Elver requires that the composite key's class is an EObject, as it needs ECore metadata to define the correct mapping.</p>
+<p>Teneo requires that the composite key's class is an EObject, as it needs ECore metadata to define the correct mapping.</p>
</div>
-<a name="N100F6"></a><a name="lob_notes"></a>
+<a name="N10122"></a><a name="lob_notes"></a>
<div class="h4">
<h4>Lob annotation</h4>
<p>
@@ -482,9 +503,11 @@
&lt;xsd:element name="photo" type="xsd:base64Binary" minOccurs="0"&gt;
&lt;xsd:annotation&gt;
&lt;!-- Map to a 'binary' field. --&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Lob"&gt;true&lt;/xsd:appinfo&gt;
- &lt;!-- Use 1Mb maximum length. (MEDIUMBLOB in MySQL.) --&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Column" ecore:key="length"&gt;1048576&lt;/xsd:appinfo&gt;
+ &lt;xsd:appinfo source="teneo.jpa"&gt;
+ @Lob
+ &lt;!-- Use 1Mb maximum length. (MEDIUMBLOB in MySQL.) --&gt;
+ @Column(length=1048576)
+ &lt;/xsd:appinfo&gt;
&lt;/xsd:annotation&gt;
&lt;/xsd:element&gt;
</pre>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/ejb3_format.html b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/ejb3_format.html
index a2a7810f2..babd98ed7 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/ejb3_format.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/ejb3_format.html
@@ -16,7 +16,7 @@
<link href="../skin/forrest.css" type="text/css" rel="stylesheet">
<link rel="shortcut icon" href="../">
<script type="text/javascript" src="../skin/tigris.js"></script><script src="../skin/menu.js" language="javascript" type="text/javascript"></script>
-<title>Format of EJB3 Annotations as EAnnotations</title>
+<title>Format of JPA/EJB3 Annotations as EAnnotations and as XML</title>
<meta content="text/css" http-equiv="Content-style-type">
</head>
<body class="composite" onload="focus()">
@@ -163,7 +163,7 @@
<a href="../hibernate/resource_utility.html">Resource Utility</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_selected_1.5')" id="menu_selected_1.5Title" class="menutitle">Annotations</div>
+<div onclick="SwitchMenu('menu_selected_1.5')" id="menu_selected_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_selected_1.5" class="selectedmenuitemgroup">
<div class="menupage">
<div class="menupagetitle">Format</div>
@@ -172,10 +172,7 @@
<a href="../hibernate/ejb3_examples.html">Examples</a>
</div>
<div class="menuitem">
-<a href="../hibernate/ejb3_features.html">EJB3</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/custom_annotations.html">Custom</a>
+<a href="../hibernate/ejb3_features.html">JPA/EJB3</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.6')" id="menu_1.6Title" class="menutitle">XML Schema</div>
@@ -199,7 +196,7 @@
<a href="../hibernate/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../hibernate/mailinglist.html">Mailinglist</a>
+<a href="../hibernate/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../hibernate/emfhibsupport.html">EMF/Hibernate Support</a>
@@ -208,10 +205,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../hibernate/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/testcases.html">Test cases</a>
+<a href="../hibernate/svn.html">CVS</a>
</div>
</div>
</div>
@@ -238,91 +232,103 @@
<div id="bodycol">
<div id="apphead">
<h2>
-<em>Format of EJB3 Annotations as EAnnotations</em>
+<em>Format of JPA/EJB3 Annotations as EAnnotations and as XML</em>
</h2>
</div>
<div class="app" id="projecthome">
<ul class="minitoc">
<li>
-<a href="#target">Introduction</a>
+<a href="#target">JPA Annotations in EAnnotations using the java annotation syntax</a>
</li>
<li>
-<a href="#simplenokeyvalye">Annotation without key-value</a>
+<a href="#xml">JPA Annotations in XML</a>
</li>
<li>
-<a href="#simple">Annotation with key-value</a>
-</li>
-<li>
-<a href="#multi">Complex Annotation with multi-level structure</a>
+<a href="#simplenokeyvalye">Simple Annotation Example</a>
</li>
<li>
-<a href="#omondo">Where/how to specify annotations in Omondo</a>
+<a href="#simple">Annotation with key-value</a>
</li>
<li>
-<a href="#rr">Where to specify annotations in Rational Rose</a>
+<a href="#multi">Complex Annotation with multi-level structure</a>
</li>
</ul>
-<p>EJB3 uses java annotations while Elver EJB3 is based on EMF EAnnotations. The main difference between java
- annotations and EAnnotations is that the latter does not support multi-level structures. An example of a
- multi-level annotation is the Columns annotation which contains Column annotations.
- This can not be expressed directly in an EAnnotation. With Elver we use a slightly
- different syntax to handle multi-level structures.
- </p>
+<p>Teneo allows two ways to specify EJB3/JPA-like annotations: 1) using the java annotations syntax
+ in EAnnotations, 2) a separate xml document.</p>
+
+<p>This page will show examples of both approaches.</p>
+
+<p>A JPA Annotation can have different targets: TYPE, METHOD and FIELD (see the EJB3/JPA spec). Annotations
+ with a TYPE target can be used for EMF EClasses, annotations with METHOD and FIELD targets can be used for
+ EStructuralFeatures. <em>Note:</em> JPA annotations relevant for a non-reference type java member can also be set on
+ an EDataType (see <a href="ejb3_features.html#edatatype">here</a> for more information).</p>
-<a name="N10011"></a><a name="target"></a>
+<a name="N1001D"></a><a name="target"></a>
<div class="h3">
-<h3>Introduction</h3>
+<h3>JPA Annotations in EAnnotations using the java annotation syntax</h3>
+
+
+<p>The EAnnotations should adhere to the following format:</p>
+<ul>
-<p>EJB3 EAnnotations in Elver always have the source: http://ejb.elver.org. Elver specific annotations use
- the source http://annotation.elver.org, Hibernate specific annotations use the source http://hibernate.elver.org.</p>
+<li>The source must be: <strong>teneo.jpa</strong>
+</li>
-<p>The name of the EJB3 annotation is appended to the source: http://ejb.elver.org/Basic.</p>
+<li>The key must be: <strong>appinfo</strong> or <strong>value</strong>
+</li>
-<p>To make an annotation unique sometimes an extra identifying code needs to be appended to the source:
- for example http://ejb.elver.org/Column/c1.</p>
+</ul>
+
+</div>
+
+<a name="N10037"></a><a name="xml"></a>
+<div class="h3">
+<h3>JPA Annotations in XML</h3>
-<p>The key of the annotation corresponds to the key in the EJB3 annotation.</p>
-<p>An EJB3 Annotation can have different targets: TYPE, METHOD and FIELD (see the EJB3 spec). Annotations
- with a TYPE target can be used for EMF EClasses, annotations with METHOD and FIELD targets can be used for
- EStructuralFeatures. <em>Note:</em> EJB3 annotations relevant for a non-reference type java member can also be set on
- an EDataType (see <a href="ejb3_features.html#edatatype">here</a> for more information).</p>
+<p>JPA annotations can also be specified in a separate xml file.
+ The xsd for the XML annotations can be downloaded <a href="download/persistence-mapping-hibernate.xsd">here</a>.</p>
-<p>Multiple values in a multi value annotation are separated by spaces, for example:</p>
-
-<pre class="code">&lt;xsd:appinfo source="http://ejb.elver.org/OneToMany" ecore:key="cascade"&gt;MERGE PERSIST&lt;/xsd:appinfo&gt;
- </pre>
+<p>The xsd shows that it is possible to specify annotations on EPackage, EClass, EAttribute, EReference and EDataType level.
+ In addition there is a special property element which combines the annotations for EAttribute and EReference. The
+ property tag is a convenience tag which can be used to in place of both an EAttribute and an EReference tag.</p>
+
+<p>When initializing a JpoxDataStore the location of the xml annotation file should be passed using the
+ persistenceoption: PersistenceOptions.PERSISTENCE_XML. The location should be a resource
+ path.</p>
</div>
-<a name="N10034"></a><a name="simplenokeyvalye"></a>
+<a name="N1004B"></a><a name="simplenokeyvalye"></a>
<div class="h3">
-<h3>Annotation without key-value</h3>
+<h3>Simple Annotation Example</h3>
-<p>An example of an EJB3 annotation without a key-value pair is the Embedded annotation.</p>
+<p>An example of an JPA annotation without a key-value pair is the Embedded annotation.</p>
<p>In a XML Schema model the Embedded annotation is specified as follows:</p>
-
+
<pre class="code">
&lt;xsd:element name="secondEmbedded" type="this:Embeddable"&gt;
&lt;xsd:annotation&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Embedded"&gt;true&lt;/xsd:appinfo&gt;
+ &lt;xsd:appinfo source="teneo.jpa"&gt;@Embedded&lt;/xsd:appinfo&gt;
&lt;/xsd:annotation&gt;
&lt;/xsd:element&gt;
</pre>
-<p>In an UML model the Embedded annotation is specified as follows:</p>
-
-<pre class="code">
-http://ejb.elver.org/Embedded
- </pre>
+<p>An example of a (different) simple annotation in xml:</p>
+
+<pre class="code">
+&lt;eclass name="Name"&gt;
+ &lt;embeddable /&gt;
+&lt;/eclass&gt;
+ </pre>
</div>
-<a name="N1004A"></a><a name="simple"></a>
+<a name="N10063"></a><a name="simple"></a>
<div class="h3">
<h3>Annotation with key-value</h3>
@@ -334,114 +340,49 @@ http://ejb.elver.org/Embedded
<pre class="code">
&lt;xsd:element name="myOptionalBasic" type="xsd:string"&gt;
&lt;xsd:annotation&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Basic" ecore:key="optional"&gt;true&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Basic" ecore:key="fetch"&gt;EAGER&lt;/xsd:appinfo&gt;
+ &lt;xsd:appinfo source="teneo.jpa"&gt;@Basic(optional=true fetch=EAGER)&lt;/xsd:appinfo&gt;
&lt;/xsd:annotation&gt;
&lt;/xsd:element&gt;
</pre>
-<p>In UML the annotation is specified as follows:</p>
+<p>An example of a (different) key-value annotation in xml:</p>
-<pre class="code">
-http://ejb.elver.org/AttributeOverride name='name' column='c1'
- </pre>
+<pre class="code">
+&lt;property name="head"&gt;
+ &lt;one-to-one fetch="EAGER" target-entity="Head" optional="true" cascade="ALL" /&gt;
+&lt;/property&gt;
+ </pre>
-<p>It is explained below what a column with value c1 means.</p>
+<p>As you can see this example uses the property tag. The property tag is a convenience tag which
+ can be used to in place of both an EAttribute and an EReference tag.</p>
</div>
-<a name="N10063"></a><a name="multi"></a>
+<a name="N1007E"></a><a name="multi"></a>
<div class="h3">
<h3>Complex Annotation with multi-level structure</h3>
<p>An example of a more complex annotation is the
- AttributeOverrides annotation which can contain multiple AttributeOverride annotations.</p>
-
-<p>The AttributeOverrides annotation can be expressed in XML Schema as follows:</p>
-
-<pre class="code">
-&lt;xsd:element name="embedded" type="this:Embeddable"&gt;
- &lt;xsd:annotation&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Embedded"&gt;true&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/AttributeOverrides"
- ecore:key="value"&gt;a1 a2&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/AttributeOverride/a1"
- ecore:key="name"&gt;myString&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/AttributeOverride/a1"
- ecore:key="column"&gt;c1&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Column/c1"
- ecore:key="name"&gt;columnString1&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/AttributeOverride/a2"
- ecore:key="name"&gt;myInteger&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/AttributeOverride/a2"
- ecore:key="column"&gt;c2&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Column/c2"
- ecore:key="name"&gt;columnInteger1&lt;/xsd:appinfo&gt;
- &lt;/xsd:annotation&gt;
-&lt;/xsd:element&gt;
- </pre>
-
-<p>This annotation models an embedded type by tagging the element with an Embedded annotation. The AttributeOverrides define how the
- properties of the embedded type are stored in the table. The AttributeOverrides consists of two AttributeOverride
- annotations which
- are named a1 and a2. The a1 is appended to the source to make it unique: http://ejb.elver.org/AttributeOverride/a1.
- The AttributeOverride contains an column key with a value c1. This value c1 is used in the source of the
- Column annotation to identify the Column annotation.
- </p>
-
-<p>A multi-level annotation in uml is specified as follows:</p>
+ SecondaryTable annotation which can contain a pkJoinColumns annotation:</p>
<pre class="code">
-http://ejb.elver.org/Embedded
-http://ejb.elver.org/AttributeOverride name='name' column='c1'
-http://ejb.elver.org/Column/c1 name='bornNameColumn'
+&lt;xsd:annotation&gt;
+ &lt;xsd:appinfo source="teneo.jpa"&gt;
+ @SecondaryTable(name="THETONER" pkJoinColumns={@PrimaryKeyJoinColumn(name="PRINTER_ID")})
+ &lt;/xsd:appinfo&gt;
+&lt;/xsd:annotation&gt;
</pre>
-</div>
+<p>An example of a (different) more complex annotation in xml:</p>
-<a name="N1007C"></a><a name="omondo"></a>
-<div class="h3">
-<h3>Where/how to specify annotations in Omondo</h3>
-
-<p>Double click on the element for which an annotation should be specified:</p>
-
-<div align="center">
-<img class="figure" alt="Omondo step 1" src="../images/omondo1.jpg"></div>
-
-<p>Press Add in Annotations:</p>
-
-<div align="center">
-<img class="figure" alt="Omondo step 2" src="../images/omondo2.jpg"></div>
-
-<p>Specify the full Elver name in the annotations field. The http://... prefix will be removed from the view when you press enter:</p>
-
-<div align="center">
-<img class="figure" alt="Omondo step 3" src="../images/omondo3.jpg"></div>
-
-<p>Press Add on the name/value attribute and specify one of the attributes for this annotation and press OK:</p>
-
-<div align="center">
-<img class="figure" alt="Omondo step 4" src="../images/omondo4.jpg"></div>
-
-<div align="center">
-<img class="figure" alt="Omondo step 5" src="../images/omondo5.jpg"></div>
-
-<p>and ready!</p>
-
-</div>
-
-<a name="N100A5"></a><a name="rr"></a>
-<div class="h3">
-<h3>Where to specify annotations in Rational Rose</h3>
-
-
-<p>The image below illustrates where to specify annotations in Rational Rose:</p>
-
-<p>The ecore model properties (ecore A, ecore B) are added to Rational Rose using the <a href="../examples/ecore.pty">ecore.pty</a> file.</p>
-
-<div align="center">
-<img class="figure" alt="Setting annotations in Rational Rose" src="../images/rose.jpg"></div>
+<pre class="code">
+&lt;eclass name="Employee"&gt;
+ &lt;association-override name="address"&gt;
+ &lt;join-column name="employee_address_id"/&gt;
+ &lt;/association-override&gt;
+&lt;/eclass&gt;
+ </pre>
</div>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/emfhibsupport.html b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/emfhibsupport.html
index f0b49729c..a63196658 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/emfhibsupport.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/emfhibsupport.html
@@ -163,7 +163,7 @@
<a href="../hibernate/resource_utility.html">Resource Utility</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../hibernate/ejb3_format.html">Format</a>
@@ -172,10 +172,7 @@
<a href="../hibernate/ejb3_examples.html">Examples</a>
</div>
<div class="menuitem">
-<a href="../hibernate/ejb3_features.html">EJB3</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/custom_annotations.html">Custom</a>
+<a href="../hibernate/ejb3_features.html">JPA/EJB3</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.6')" id="menu_1.6Title" class="menutitle">XML Schema</div>
@@ -199,7 +196,7 @@
<a href="../hibernate/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../hibernate/mailinglist.html">Mailinglist</a>
+<a href="../hibernate/mailinglist.html">Newsgroup</a>
</div>
<div class="menupage">
<div class="menupagetitle">EMF/Hibernate Support</div>
@@ -208,10 +205,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../hibernate/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/testcases.html">Test cases</a>
+<a href="../hibernate/svn.html">CVS</a>
</div>
</div>
</div>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/featuremap.html b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/featuremap.html
index fbdf4c680..6a907813e 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/featuremap.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/featuremap.html
@@ -163,7 +163,7 @@
<a href="../hibernate/resource_utility.html">Resource Utility</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../hibernate/ejb3_format.html">Format</a>
@@ -172,10 +172,7 @@
<a href="../hibernate/ejb3_examples.html">Examples</a>
</div>
<div class="menuitem">
-<a href="../hibernate/ejb3_features.html">EJB3</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/custom_annotations.html">Custom</a>
+<a href="../hibernate/ejb3_features.html">JPA/EJB3</a>
</div>
</div>
<div onclick="SwitchMenu('menu_selected_1.6')" id="menu_selected_1.6Title" class="menutitle">XML Schema</div>
@@ -199,7 +196,7 @@
<a href="../hibernate/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../hibernate/mailinglist.html">Mailinglist</a>
+<a href="../hibernate/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../hibernate/emfhibsupport.html">EMF/Hibernate Support</a>
@@ -208,10 +205,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../hibernate/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/testcases.html">Test cases</a>
+<a href="../hibernate/svn.html">CVS</a>
</div>
</div>
</div>
@@ -270,8 +264,8 @@
</ul>
<p>EMF uses Feature Maps in a number of situations, for example to implement XML Schema repeating
- model groups or to implement derived features. The Elver persistency layer supports
- Feature Maps and generates the required Hibernate mappings. Elver FeatureMap support is hidden
+ model groups or to implement derived features. The Teneo persistency layer supports
+ Feature Maps and generates the required Hibernate mappings. Teneo FeatureMap support is hidden
for the developer. The information here is mainly intended to help understand
the created mappings and relational tables.</p>
@@ -330,8 +324,8 @@ public EList getPreferredOrders() {
A FeatureMap.Entry has two members: 1) a StructuralFeature which defines what type of entry it is,
and 2) the actual value.</p>
<p>For the relational mapping this same structure is
- used. For each FeatureMap, Elver will create a separate class mapping. This class mapping
- is persisted using the org.elver.store.mapping.elist.FeatureMapEntryTuplizer.
+ used. For each FeatureMap, Teneo will create a separate class mapping. This class mapping
+ is persisted using the org.eclipse.emf.teneo.mapping.elist.FeatureMapEntryTuplizer.
The created class mapping contains a property for each of the possible types in a featuremap. This
ensures that foreign key constraints are created and enforced.</p>
<p>The mapping for the example above is displayed here. First the mapping of the orders property in
@@ -346,7 +340,7 @@ public EList getPreferredOrders() {
&lt;/list&gt;
</pre>
<p>The orders property is mapped as a list with a one-to-many with an entity with a specific name. This name is
- generated by Elver and used in the class mapping of the feature map entry:</p>
+ generated by Teneo and used in the class mapping of the feature map entry:</p>
<pre class="code">
&lt;class entity-name="Supplier_orders" lazy="false" table="SUPPLIER_ORDERS"&gt;
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/features.html b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/features.html
index f5a057b4f..51be51caf 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/features.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/features.html
@@ -163,7 +163,7 @@
<a href="../hibernate/resource_utility.html">Resource Utility</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../hibernate/ejb3_format.html">Format</a>
@@ -172,10 +172,7 @@
<a href="../hibernate/ejb3_examples.html">Examples</a>
</div>
<div class="menuitem">
-<a href="../hibernate/ejb3_features.html">EJB3</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/custom_annotations.html">Custom</a>
+<a href="../hibernate/ejb3_features.html">JPA/EJB3</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.6')" id="menu_1.6Title" class="menutitle">XML Schema</div>
@@ -199,7 +196,7 @@
<a href="../hibernate/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../hibernate/mailinglist.html">Mailinglist</a>
+<a href="../hibernate/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../hibernate/emfhibsupport.html">EMF/Hibernate Support</a>
@@ -208,10 +205,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../hibernate/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/testcases.html">Test cases</a>
+<a href="../hibernate/svn.html">CVS</a>
</div>
</div>
</div>
@@ -250,7 +244,7 @@
<a href="#xmlschema">Supported XML Schema structures</a>
</li>
<li>
-<a href="#ejb3">EJB3 Annotations</a>
+<a href="#ejb3">EJB3/JPA Annotations</a>
</li>
<li>
<a href="#hibfeatures">Hibernate Features</a>
@@ -281,6 +275,8 @@
<li>Feature maps</li>
+<li>EMap</li>
+
<li>Notifications and adapters (limited testing done)</li>
<li>Enumerations</li>
@@ -297,7 +293,7 @@
</div>
-<a name="N1003C"></a><a name="xmlschema"></a>
+<a name="N1003F"></a><a name="xmlschema"></a>
<div class="h3">
<h3>Supported XML Schema structures</h3>
@@ -322,9 +318,9 @@
</div>
-<a name="N1005C"></a><a name="ejb3"></a>
+<a name="N1005F"></a><a name="ejb3"></a>
<div class="h3">
-<h3>EJB3 Annotations</h3>
+<h3>EJB3/JPA Annotations</h3>
<p>The integration supports the following EJB3-like annotations:</p>
@@ -348,7 +344,7 @@
</div>
-<a name="N1007F"></a><a name="hibfeatures"></a>
+<a name="N10082"></a><a name="hibfeatures"></a>
<div class="h3">
<h3>Hibernate Features</h3>
@@ -371,7 +367,7 @@
</div>
-<a name="N1009B"></a><a name="notsupported"></a>
+<a name="N1009E"></a><a name="notsupported"></a>
<div class="h3">
<h3>Not (yet) Supported EMF Features</h3>
@@ -382,8 +378,6 @@
<li>XML Schema constructions such as xsd:any, xsd:anytype etc.</li>
-<li>EMaps</li>
-
<li>xsd:list, xsd:union</li>
</ul>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/features_details.html b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/features_details.html
index 72dca8ec2..4d6c5ffe3 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/features_details.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/features_details.html
@@ -163,7 +163,7 @@
<a href="../hibernate/resource_utility.html">Resource Utility</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../hibernate/ejb3_format.html">Format</a>
@@ -172,10 +172,7 @@
<a href="../hibernate/ejb3_examples.html">Examples</a>
</div>
<div class="menuitem">
-<a href="../hibernate/ejb3_features.html">EJB3</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/custom_annotations.html">Custom</a>
+<a href="../hibernate/ejb3_features.html">JPA/EJB3</a>
</div>
</div>
<div onclick="SwitchMenu('menu_selected_1.6')" id="menu_selected_1.6Title" class="menutitle">XML Schema</div>
@@ -199,7 +196,7 @@
<a href="../hibernate/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../hibernate/mailinglist.html">Mailinglist</a>
+<a href="../hibernate/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../hibernate/emfhibsupport.html">EMF/Hibernate Support</a>
@@ -208,10 +205,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../hibernate/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/testcases.html">Test cases</a>
+<a href="../hibernate/svn.html">CVS</a>
</div>
</div>
</div>
@@ -284,7 +278,7 @@
<li>1.5 and 1.6: DocumentRoot, currently the persistency solution will not
persist a DocumentRoot object. The main reason for this is that the DocumentRoot is created to
- have a starting 'folder-like' point when loading a resource. In the Elver persistency solution this
+ have a starting 'folder-like' point when loading a resource. In the Teneo persistency solution this
is solved differently (see <a href="hibernateresources.html#Standard+load+behavior%3A+Top+level+types">here</a>).</li>
<li>1.7: not relevant for persistency (is supported)</li>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/hbdatastore.html b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/hbdatastore.html
index 9e6acd2cd..152c576ff 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/hbdatastore.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/hbdatastore.html
@@ -163,7 +163,7 @@
<a href="../hibernate/resource_utility.html">Resource Utility</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../hibernate/ejb3_format.html">Format</a>
@@ -172,10 +172,7 @@
<a href="../hibernate/ejb3_examples.html">Examples</a>
</div>
<div class="menuitem">
-<a href="../hibernate/ejb3_features.html">EJB3</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/custom_annotations.html">Custom</a>
+<a href="../hibernate/ejb3_features.html">JPA/EJB3</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.6')" id="menu_1.6Title" class="menutitle">XML Schema</div>
@@ -199,7 +196,7 @@
<a href="../hibernate/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../hibernate/mailinglist.html">Mailinglist</a>
+<a href="../hibernate/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../hibernate/emfhibsupport.html">EMF/Hibernate Support</a>
@@ -208,10 +205,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../hibernate/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/testcases.html">Test cases</a>
+<a href="../hibernate/svn.html">CVS</a>
</div>
</div>
</div>
@@ -247,7 +241,7 @@
<a href="#HbDataStore">The HbDataStore</a>
</li>
<li>
-<a href="#hbcontext">HbContext replaces ConfigurationFactory</a>
+<a href="#hbcontext">HbContext</a>
</li>
<li>
<a href="#overriding">Overriding the HbDataStore</a>
@@ -260,7 +254,7 @@
</li>
</ul>
-<p>This page describes the functionality of the HbDataStore and describes how different parts of the Elver runtime
+<p>This page describes the functionality of the HbDataStore and describes how different parts of the Teneo runtime
can be overridden by supplying your own specific implementation</p>
<a name="N10011"></a><a name="HbDataStore"></a>
@@ -297,14 +291,12 @@
<a name="N1003A"></a><a name="hbcontext"></a>
<div class="h3">
-<h3>HbContext replaces ConfigurationFactory</h3>
+<h3>HbContext</h3>
-<p>In the 0.3.* release of Elver the Hibernate Configuration could be changed/created using a ConfigurationFactory.
- The ConfigurationFactory has been replaced by the org.elver.store.hibernate.HbContext in the 0.7.0 release.
- The HbContext is set in the HbDataStore using the setHbContext method, as a default the HbContextImpl is used.
- The HbContext returns default implementations for Accessors, class names of Tuplizers and contains a method
- to create the Hibernate Configuration. You can extend HbContextImpl to override only specific methods.</p>
+<p>The The HbContext returns default implementations for Accessors, class names of Tuplizers and contains a method
+ to create the Hibernate Configuration. HbContext is set in the HbDataStore using the setHbContext method, as a default the HbContextImpl is used.
+ You can extend HbContextImpl to override only specific methods.</p>
</div>
@@ -327,7 +319,7 @@
<p>Options are passed to the HbDataStore using a Properties object which is set using the HbDataStore.setPersistenceProperties method.</p>
-<p>The available options are all present in the <em>org.elver.store.PersistenceOptions</em> class. See the <a href="options.html">options</a>
+<p>The available options are all present in the <em>org.eclipse.emf.teneo.PersistenceOptions</em> class. See the <a href="options.html">options</a>
page for a complete overview.</p>
</div>
@@ -338,16 +330,16 @@
<p>There are two methods to get to the hibernate mapping xml programmatically.</p>
-<p>The mapping xml which has been generated by Elver automatically (if no hibernate.hbm.xml file was specified explicitly)
+<p>The mapping xml which has been generated by Teneo automatically (if no hibernate.hbm.xml file was specified explicitly)
can be retrieved using the method: getMappingXML on the HbDataStore.</p>
<p>The method HbHelper.INSTANCE.generateMapping(....) can be used to programmatically generate the mapping file.</p>
-<p>You can save the generated mapping xml to a file and then use that file. See the persistence option to tell Elver to
+<p>You can save the generated mapping xml to a file and then use that file. See the persistence option to tell Teneo to
use the mapping file, <a href="options.html">here</a>.</p>
<p>The third method to get the hibernate mapping xml is by right clicking on an ecore file and select the appropriate
- Elver submenu option, see <a href="http://www.elver.org/hibernate/hibernate_details.html#orgeneration">here</a>. The
+ Teneo submenu option, see <a href="hibernate_details.html#orgeneration">here</a>. The
disadvantage of this method is that it does not allow you to pass your own menu options.</p>
</div>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/hibernate_details.html b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/hibernate_details.html
index 3bba98395..8dc3854ea 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/hibernate_details.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/hibernate_details.html
@@ -163,7 +163,7 @@
<a href="../hibernate/resource_utility.html">Resource Utility</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../hibernate/ejb3_format.html">Format</a>
@@ -172,10 +172,7 @@
<a href="../hibernate/ejb3_examples.html">Examples</a>
</div>
<div class="menuitem">
-<a href="../hibernate/ejb3_features.html">EJB3</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/custom_annotations.html">Custom</a>
+<a href="../hibernate/ejb3_features.html">JPA/EJB3</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.6')" id="menu_1.6Title" class="menutitle">XML Schema</div>
@@ -199,7 +196,7 @@
<a href="../hibernate/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../hibernate/mailinglist.html">Mailinglist</a>
+<a href="../hibernate/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../hibernate/emfhibsupport.html">EMF/Hibernate Support</a>
@@ -208,10 +205,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../hibernate/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/testcases.html">Test cases</a>
+<a href="../hibernate/svn.html">CVS</a>
</div>
</div>
</div>
@@ -266,6 +260,9 @@
<a href="#Lazy+loading%2Ffetching%2C+Proxy">Lazy loading/fetching, Proxy</a>
</li>
<li>
+<a href="#Synthetic+ID+and+Version+properties">Synthetic ID and Version properties</a>
+</li>
+<li>
<a href="#cutpaste">Move an EObject between EContainers or support cut and paste in the EMF editor</a>
</li>
<li>
@@ -280,10 +277,10 @@
<div class="h3">
<h3>Classloader</h3>
-<p>Elver performs explicit classloading in specific locations. It is possible to set the classloader which is being
- user by Elver. This can be done through the org.elver.store.ClassLoaderResolver class. In this class you can
- register a org.elver.store.classloader.ClassLoaderStrategy. The registered ClassLoaderStrategy is used by
- Elver to explicitly load classes.</p>
+<p>Teneo performs explicit classloading in specific locations. It is possible to set the classloader which is being
+ user by Teneo. This can be done through the org.eclipse.emf.teneo.ClassLoaderResolver class. In this class you can
+ register a org.eclipse.emf.teneo.classloader.ClassLoaderStrategy. The registered ClassLoaderStrategy is used by
+ Teneo to explicitly load classes.</p>
</div>
@@ -324,17 +321,17 @@
<div class="h3">
<h3>Manual Generation of OR Mapping</h3>
-<p>Standard Elver will automatically map the model to Hibernate when a datastore is initialized. However, it can sometimes make sense to manually
- adapt the mapping or use a specific mapping file. For this purpose Elver also allows you to manually generate the mapping file. To do this right
- click on one or more .ecore files and choose the relevant option in the Elver submenu.</p>
+<p>Standard Teneo will automatically map the model to Hibernate when a datastore is initialized. However, it can sometimes make sense to manually
+ adapt the mapping or use a specific mapping file. For this purpose Teneo also allows you to manually generate the mapping file. To do this right
+ click on one or more .ecore files and choose the relevant option in the Teneo submenu.</p>
<p>
</p>
<div align="center">
-<img class="figure" alt="Manual generation of hibernate or mapping" src="images/ormapping_menu.jpg"></div>
+<img class="figure" alt="Manual generation of hibernate or mapping" src="images/elver_menu.gif"></div>
-<p>The hibernate.hbm.xml is created in the folder of the selected .ecore file. To direct Elver to use this mapping file you
+<p>The hibernate.hbm.xml is created in the folder of the selected .ecore file. To direct Teneo to use this mapping file you
need to do the following:</p>
<ol>
@@ -345,7 +342,7 @@
</ol>
<p>
-<strong>Note:</strong> the generation of the hibernate.hbm.xml will only work if the org.elver.store.hibernate.runtime plugin has been added to the
+<strong>Note:</strong> the generation of the hibernate.hbm.xml will only work if the org.eclipse.emf.teneo.hibernate.runtime plugin has been added to the
dependencies of the projects of the selected .ecore files.</p>
</div>
@@ -354,7 +351,7 @@
<div class="h3">
<h3>Escaping of table and column names</h3>
-<p>Elver will escape table and column names of primitive types. Escaping is done by surrounding the name with backtics (`).</p>
+<p>Teneo will escape table and column names of primitive types. Escaping is done by surrounding the name with backtics (`).</p>
<p>Note that:</p>
@@ -364,7 +361,7 @@
for example the contents of a list with primitive types. Hibernate will not automatically escape this name. To escape such a join table you
need to add a JoinTable annotation with an escaped name or a non-keyword name.</li>
-<li>Elver will not escape column names of manually specified Column annotations</li>
+<li>Teneo will not escape column names of manually specified Column annotations</li>
</ul>
@@ -381,15 +378,31 @@
</div>
-<a name="N1007E"></a><a name="cutpaste"></a>
+<a name="N1007E"></a><a name="Synthetic+ID+and+Version+properties"></a>
+<div class="h3">
+<h3>Synthetic ID and Version properties</h3>
+
+<p>When Teneo detects that a certain type does not have an id or version annotated property then
+ it will add these automatically. The synthetic id and version are hidden for the developer. You can
+ retrieve the hidden synthetic id or version through the class org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierCacheHandler.
+ You can prevent the automatic adding of a synthetic version property by setting the PersistenceOptions.ALWAYS_VERSION
+ to false, see <a href="options.html">here</a>. If this property is false then only efeatures with a version annotation are
+ translated into a version mapping.</p>
+
+<p>Synthetic id and version use object equality (==), this means that synthetic id and version will not
+ work if objects are transferred to other systems and back (for example in case of client-server communication).</p>
+
+</div>
+
+<a name="N1008E"></a><a name="cutpaste"></a>
<div class="h3">
<h3>Move an EObject between EContainers or support cut and paste in the EMF editor</h3>
<p>In the standard approach it is not possible to move an EObject from one containment relation to another containment relation. A move
- between containment relations corresponds to a cut and paste in the EMF editor. The reason is that Elver will
+ between containment relations corresponds to a cut and paste in the EMF editor. The reason is that Teneo will
specify an orphan-delete cascade for a containment relation. This has a consequence that Hibernate will throw
- an exception (deleted object would be re-saved by cascade (remove deleted object from associations) when you move an EObject from its container to another container.
+ an exception (deleted object would be re-saved by cascade, remove deleted object from associations) when you move an EObject from its container to another container.
See <a class="external" href="http://opensource.atlassian.com/projects/hibernate/browse/HHH-785">here</a> for a description.</p>
<p>
@@ -400,8 +413,7 @@
<pre class="code">
&lt;xsd:element maxOccurs="unbounded" minOccurs="0" name="writers" type="lib:Writer"&gt;
&lt;xsd:annotation&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/OneToMany"
- ecore:key="cascade"&gt;MERGE PERSIST REFRESH REMOVE&lt;/xsd:appinfo&gt;
+ &lt;xsd:appinfo source="teneo.jpa"&gt;@OneToMany(cascade={MERGE,PERSIST,REFRESH,REMOVE})&lt;/xsd:appinfo&gt;
&lt;/xsd:annotation&gt;
&lt;/xsd:element&gt;
</pre>
@@ -416,7 +428,7 @@
</div>
-<a name="N1009F"></a><a name="Validation"></a>
+<a name="N100AF"></a><a name="Validation"></a>
<div class="h3">
<h3>Validation</h3>
@@ -452,7 +464,7 @@ public class MyValidator extends EObjectValidator
</div>
-<a name="N100B3"></a><a name="Default+cacheprovider+is+org.hibernate.cache.HashtableCacheProvider"></a>
+<a name="N100C3"></a><a name="Default+cacheprovider+is+org.hibernate.cache.HashtableCacheProvider"></a>
<div class="h3">
<h3>Default cacheprovider is org.hibernate.cache.HashtableCacheProvider</h3>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/hibernate_helper.html b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/hibernate_helper.html
index 9792f998d..d545b54a3 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/hibernate_helper.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/hibernate_helper.html
@@ -184,7 +184,7 @@
<a href="../jpox/jpoxdatastore.html">JpoxDataStore</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Annotations (EJB3)</div>
+<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
<a href="../jpox/ejb3_features.html">Supported Ann.</a>
@@ -223,7 +223,7 @@
<a href="../jpox/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../jpox/mailinglist.html">Mailinglist</a>
+<a href="../jpox/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../jpox/emfjpoxsupport.html">EMF/JPOX Support</a>
@@ -232,10 +232,7 @@
<div onclick="SwitchMenu('menu_1.11')" id="menu_1.11Title" class="menutitle">Developer</div>
<div id="menu_1.11" class="menuitemgroup">
<div class="menuitem">
-<a href="../jpox/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../jpox/testcases.html">Test cases</a>
+<a href="../jpox/svn.html">CVS</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.12')" id="menu_1.12Title" class="menutitle">Home</div>
@@ -328,7 +325,7 @@
<a href="../hibernate/resource_utility.html">Resource Utility</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.16')" id="menu_1.16Title" class="menutitle">Annotations</div>
+<div onclick="SwitchMenu('menu_1.16')" id="menu_1.16Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.16" class="menuitemgroup">
<div class="menuitem">
<a href="../hibernate/ejb3_format.html">Format</a>
@@ -337,10 +334,7 @@
<a href="../hibernate/ejb3_examples.html">Examples</a>
</div>
<div class="menuitem">
-<a href="../hibernate/ejb3_features.html">EJB3</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/custom_annotations.html">Custom</a>
+<a href="../hibernate/ejb3_features.html">JPA/EJB3</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.17')" id="menu_1.17Title" class="menutitle">XML Schema</div>
@@ -364,7 +358,7 @@
<a href="../hibernate/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../hibernate/mailinglist.html">Mailinglist</a>
+<a href="../hibernate/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../hibernate/emfhibsupport.html">EMF/Hibernate Support</a>
@@ -373,10 +367,7 @@
<div onclick="SwitchMenu('menu_1.19')" id="menu_1.19Title" class="menutitle">Developer</div>
<div id="menu_1.19" class="menuitemgroup">
<div class="menuitem">
-<a href="../hibernate/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/testcases.html">Test cases</a>
+<a href="../hibernate/svn.html">CVS</a>
</div>
</div>
</div>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/hibernate_relations.html b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/hibernate_relations.html
index 0c82310aa..a54d69b00 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/hibernate_relations.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/hibernate_relations.html
@@ -163,7 +163,7 @@
<a href="../hibernate/resource_utility.html">Resource Utility</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../hibernate/ejb3_format.html">Format</a>
@@ -172,10 +172,7 @@
<a href="../hibernate/ejb3_examples.html">Examples</a>
</div>
<div class="menuitem">
-<a href="../hibernate/ejb3_features.html">EJB3</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/custom_annotations.html">Custom</a>
+<a href="../hibernate/ejb3_features.html">JPA/EJB3</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.6')" id="menu_1.6Title" class="menutitle">XML Schema</div>
@@ -199,7 +196,7 @@
<a href="../hibernate/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../hibernate/mailinglist.html">Mailinglist</a>
+<a href="../hibernate/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../hibernate/emfhibsupport.html">EMF/Hibernate Support</a>
@@ -208,10 +205,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../hibernate/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/testcases.html">Test cases</a>
+<a href="../hibernate/svn.html">CVS</a>
</div>
</div>
</div>
@@ -268,12 +262,12 @@
</ul>
<p>
-<strong>The annotations described here have been changed, from the 0.3.* to the 0.7.0 release,
- to an EJB3-like format.</strong>
+<strong>The syntax of the annotations described here have been changed in the Teneo release,
+ see <a href="ejb3_format.html">here</a>.</strong>
</p>
-<a name="N10015"></a><a name="Mapping+indexed+1%3An+relations"></a>
+<a name="N10019"></a><a name="Mapping+indexed+1%3An+relations"></a>
<div class="h3">
<h3>Mapping indexed 1:n relations</h3>
@@ -282,7 +276,7 @@
</div>
-<a name="N1001E"></a><a name="Mapping+non-indexed+relations"></a>
+<a name="N10022"></a><a name="Mapping+non-indexed+relations"></a>
<div class="h3">
<h3>Mapping non-indexed relations</h3>
@@ -297,9 +291,10 @@
<pre class="code">
&lt;xsd:element name="containedItem" type="this:ContainedItem" maxOccurs="unbounded"&gt;
&lt;xsd:annotation&gt;
- &lt;xsd:appinfo source="http://annotation.elver.org/Indexed" ecore:key="value"&gt;false&lt;/xsd:appinfo&gt;
+ &lt;xsd:appinfo source="teneo.jpa"&gt;@OneToMany(indexed=false)&lt;/xsd:appinfo&gt;
&lt;/xsd:annotation&gt;
-&lt;/xsd:element&gt;</pre>
+&lt;/xsd:element&gt;
+ </pre>
<p>In this example it is specified that the item member (an elist) should not be indexed.
For EMF and java the relations will be represented as an elist, however the order of the
@@ -310,17 +305,18 @@
<em>This also means that the order of a list when it is saved is not guaranteed to be the same
as the order when the list is retrieved.</em>.</p>
+<p>The indexed attribute is also supported on the ManyToMany annotation.</p>
+
<p>The above annotation can also be added in UML. Please use the same values for the
source and the key.</p>
<p>
-<em>The indexed annotation does not exist in the EJB3 spec and is an Elver extension. Extension
- annotations use the source: http://annotation.elver.org.</em>
+<em>The indexed annotation does not exist in the EJB3 spec and is a Teneo extension.</em>
</p>
</div>
-<a name="N1003E"></a><a name="Mapping+indexed+many-to-many+%28nm%29+relations"></a>
+<a name="N10045"></a><a name="Mapping+indexed+many-to-many+%28nm%29+relations"></a>
<div class="h3">
<h3>Mapping indexed many-to-many (nm) relations</h3>
@@ -339,55 +335,54 @@
</div>
-<a name="N1004D"></a><a name="Mapping+non-indexed+nm+relations"></a>
+<a name="N10054"></a><a name="Mapping+non-indexed+nm+relations"></a>
<div class="h3">
<h3>Mapping non-indexed nm relations</h3>
<p>Non-indexed relations can be persisted using 1 join table. To specify that a nm relation
is non-indexed both sides of the relation should have the indexed is false annotation. If
- Elver encounters a non-indexed nm relations then only 1 join table will be used.</p>
+ Teneo encounters a non-indexed nm relations then only 1 join table will be used.</p>
</div>
-<a name="N10056"></a><a name="Force+a+join+table+for+1%3An+relations"></a>
+<a name="N1005D"></a><a name="Force+a+join+table+for+1%3An+relations"></a>
<div class="h3">
<h3>Force a join table for 1:n relations</h3>
<p>In a relational database 1:n relations are often modeled by adding a foreign-key (to the
parent) in the child table/object. The disadvantage of this approach is that duplicates
are not supported. To support duplicates in an elist a join table is required. To signal to
- Elver, that a join table should be used, the annotation as in this example can be used:</p>
+ Teneo, that a join table should be used, the annotation as in this example can be used:</p>
<pre class="code">
&lt;xsd:element name="joinedItem" type="xsd:anyURI" ecore:reference="this:Item" maxOccurs="unbounded"&gt;
&lt;xsd:annotation&gt;
- &lt;xsd:appinfo source="http://annotation.elver.org/Unique" ecore:key="value"&gt;false&lt;/xsd:appinfo&gt;
+ &lt;xsd:appinfo source="teneo.jpa"&gt;@OneToMany(indexed=false unique=false)&lt;/xsd:appinfo&gt;
&lt;/xsd:annotation&gt;
&lt;/xsd:element&gt;
</pre>
-<p>Based on this annotations Elver will generate a join table for this model. Note that
+<p>Based on this annotations Teneo will generate a join table for this model. Note that
this annotation can be combined with the indexed annotation.</p>
<p>
-<em>The unique annotation does not exist in the EJB3 spec and is an Elver extension. Extension
- annotations use the source: http://annotation.elver.org.</em>
+<em>The unique annotation does not exist in the EJB3 spec and is a Teneo extension.</em>
</p>
</div>
-<a name="N1006A"></a><a name="Embedded+components"></a>
+<a name="N10071"></a><a name="Embedded+components"></a>
<div class="h3">
<h3>Embedded components</h3>
-<p>Elver supports relations in which the child should be embedded in the parent table.
+<p>Teneo supports relations in which the child should be embedded in the parent table.
Embedding is defined on type level using an annotation:
</p>
<pre class="code">
&lt;xsd:element name="firstEmbedded" type="this:Embeddable"&gt;
&lt;xsd:annotation&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Embedded"&gt;true&lt;/xsd:appinfo&gt;
+ &lt;xsd:appinfo source="teneo.jpa"&gt;@Embedded&lt;/xsd:appinfo&gt;
&lt;/xsd:annotation&gt;
&lt;/xsd:element&gt;
</pre>
@@ -399,7 +394,7 @@ you should add AttributeOverride(s) annotations (see the EJB3 spec). <em>Only em
</div>
-<a name="N1007D"></a><a name="Storing+container+relation"></a>
+<a name="N10084"></a><a name="Storing+container+relation"></a>
<div class="h3">
<h3>Storing container relation</h3>
@@ -449,6 +444,11 @@ you should add AttributeOverride(s) annotations (see the EJB3 spec). <em>Only em
from the container to the contained object. This is required because one eobject type can be contained
by multiple other eobject types which are not known when the hibernate.hbm.xml is generated.
</p>
+
+<p>
+<strong>The econtainer mapping creation can be disabled by setting the PersistenceOptions.DISABLE_ECONTAINER_MAPPING
+ to true, see also <a href="options.html">here</a>.</strong>
+</p>
</div>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/hibernateresources.html b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/hibernateresources.html
index 55c6e3036..ffb50c2ca 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/hibernateresources.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/hibernateresources.html
@@ -163,7 +163,7 @@
<a href="../hibernate/resource_utility.html">Resource Utility</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../hibernate/ejb3_format.html">Format</a>
@@ -172,10 +172,7 @@
<a href="../hibernate/ejb3_examples.html">Examples</a>
</div>
<div class="menuitem">
-<a href="../hibernate/ejb3_features.html">EJB3</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/custom_annotations.html">Custom</a>
+<a href="../hibernate/ejb3_features.html">JPA/EJB3</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.6')" id="menu_1.6Title" class="menutitle">XML Schema</div>
@@ -199,7 +196,7 @@
<a href="../hibernate/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../hibernate/mailinglist.html">Mailinglist</a>
+<a href="../hibernate/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../hibernate/emfhibsupport.html">EMF/Hibernate Support</a>
@@ -208,10 +205,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../hibernate/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/testcases.html">Test cases</a>
+<a href="../hibernate/svn.html">CVS</a>
</div>
</div>
</div>
@@ -272,13 +266,19 @@
</ul>
</li>
<li>
+<a href="#Sharing+one+Session+between+Resources%2C+One+transaction+when+saving+multiple+resources">Sharing one Session between Resources, One transaction when saving multiple resources</a>
+</li>
+<li>
+<a href="#Closing+a+resource">Closing a resource</a>
+</li>
+<li>
<a href="#Other+aspects">Other aspects</a>
<ul class="minitoc">
<li>
<a href="#Resource+use+after+Hibernate+exception">Resource use after Hibernate exception</a>
</li>
<li>
-<a href="#Closing+a+resource">Closing a resource</a>
+<a href="#Closing+a+resource-N100BD">Closing a resource</a>
</li>
</ul>
</li>
@@ -295,17 +295,15 @@
<ul>
-<li>Protocol: initiallly the Hibernate EMF Resource (factory) will be registered for the protocol hibernate</li>
+<li>Protocol: the Hibernate EMF Resource (factory) will be registered for the protocols hibernate and ehb</li>
-<li>Extension: when a new HbDataStore is created and registered then the registration name
- of the HbDataStore is used to register the Hibernate EMF Resource (factory) for that extension.
- </li>
+<li>Extension: the Hibernate EMF Resource (factory) will be registered for the extensions hibernate and ehb</li>
</ul>
<p>When the hibernate protocol is used to retrieve a Resource then the resource
needs to know how to reach a data store. This is done by passing the registration name
- of a HbDataStore to the resource with the org.elver.store.Resource.DS_NAME_PARAM parameter.
+ of a HbDataStore to the resource with the org.eclipse.emf.teneo.Resource.DS_NAME_PARAM parameter.
</p>
<p>An example of a URI which returns a Hibernate resource: <em>hibernate://dsname=library</em>.</p>
@@ -337,7 +335,7 @@
<p>The Hibernate Resource automatically validates its content (the EObjects) when the
resource is saved. This validation makes use of the EMF validation framework throug calls to
the Diagnostician.INSTANCE.validate method. Validation fails when a ERROR level Diagnostic is
- encountered. In this case the resource save method will throw a org.elver.store.StoreValidationException.
+ encountered. In this case the resource save method will throw a org.eclipse.emf.teneo.StoreValidationException.
This exception has a method to retrieve all Diagnostics.</p>
</div>
@@ -388,12 +386,89 @@
</div>
-<a name="N10089"></a><a name="Other+aspects"></a>
+<a name="N10089"></a><a name="Sharing+one+Session+between+Resources%2C+One+transaction+when+saving+multiple+resources"></a>
+<div class="h3">
+<h3>Sharing one Session between Resources, One transaction when saving multiple resources</h3>
+
+
+<p>As a standard behavior the resource will create its own session at load time.
+ However, there are cases when you want to use one session to load and save multiple resources. This
+ is for example the case when there are references between objects in different resources.
+ In this case the load and save actions of multiple resources should use the same session and be done
+ in the same transaction.</p>
+
+<p>To support this Teneo has the concept of a SessionController. A SessionController manages one session
+ for multiple resources. A SessionController is registered using a specific name. When a resource is opened this
+ name is passed as an uri parameter. Using this name the HibernateResource can then find the SessionController
+ and retrieve a session. When a HibernateResource has a SessionController then the HibernateResource does not itself
+ create a session or begin and commit transactions. Beginning and committing transactions is the responsibility
+ of the application itself.</p>
+
+<p>Here is some example code illustrating the use of a SessionController:</p>
+
+<pre class="code">
+ SessionController sc = new SessionController();
+
+ // when creating a SessionController you have to pass your HbDataStore instance
+ sc.setHbDataStore(hbDataStore);
+
+ // register the SessionController, the name is used in the uri of the resource
+ SessionController.registerSessionController("testsc", sc);
+
+ // create an uri using the SessionController name
+ URI uri1 = URI.createURI("hibernate://?" + HibernateResource.SESSION_CONTROLLER_PARAM + "=testsc&amp;query1=from Book");
+ URI uri2 = URI.createURI("hibernate://?" + HibernateResource.SESSION_CONTROLLER_PARAM + "=testsc&amp;query1=from Writer");
+ // resourceSet has to be set before somehow..
+ final Resource res1 = resourceSet.createResource(uri1);
+ final Resource res2 = resourceSet.createResource(uri2);
+
+ // now load the resources
+ sc.getSession().beginTransaction();
+ res1.load(Collections.EMPTY_MAP);
+ res2.load(Collections.EMPTY_MAP);
+ sc.getSession().getTransaction().commit();
+
+ // do something usefull with your loaded resources...
+
+ // and save them
+ sc.getSession().beginTransaction();
+ res1.save(Collections.EMPTY_MAP);
+ res2.save(Collections.EMPTY_MAP);
+ sc.getSession().getTransaction().commit();
+ </pre>
+
+<p>
+<strong>Loading different EObjects (refering to eachother) in different resources can have side-effects if
+ there are containment relations to and from these EObjects (with resolving=false).
+ If the containment relation is non-resolving then
+ EMF will place an EObject always in the same resource as its container. If you use queries to load your resources
+ then the containers are loaded also. For example: assume EObjects A1 and A2 both have container A0. If one resource
+ loads A1 then A0 is also loaded automatically and A0 and A1 are in the same resource. If then a second resource loads
+ A2 then A2 will be placed in the first resource because its container is located there. Overall this results in
+ unpredictable behavior. So: to correctly work with multiple resources the containment relations should be set to
+ resolving = true.</strong>
+</p>
+
+</div>
+
+<a name="N100A1"></a><a name="Closing+a+resource"></a>
+<div class="h3">
+<h3>Closing a resource</h3>
+
+
+<p>The Hibernate EMF resource can be closed by calling the unload method.
+ This method will close the disconnected session. In case a SessionController is used
+ the unload method will just nullify the internal session member, you should close
+ the session explicitly.</p>
+
+</div>
+
+<a name="N100AB"></a><a name="Other+aspects"></a>
<div class="h3">
<h3>Other aspects</h3>
-<a name="N1008F"></a><a name="Resource+use+after+Hibernate+exception"></a>
+<a name="N100B1"></a><a name="Resource+use+after+Hibernate+exception"></a>
<div class="h4">
<h4>Resource use after Hibernate exception</h4>
<p>When a Hibernate error/exception occurs when working with a Hibernate resource it can not
@@ -401,7 +476,7 @@
<p>In a future resource implementation this issue will be solved.</p>
</div>
-<a name="N1009B"></a><a name="Closing+a+resource"></a>
+<a name="N100BD"></a><a name="Closing+a+resource-N100BD"></a>
<div class="h4">
<h4>Closing a resource</h4>
<p>The Hibernate EMF resource can be closed by calling the unload method.
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/images/Process2.jpg b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/images/Process2.jpg
index 261873acc..c2b58b8f4 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/images/Process2.jpg
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/images/Process2.jpg
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/images/Runtime.jpg b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/images/Runtime.jpg
index e24ac17d6..3b42ad764 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/images/Runtime.jpg
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/images/Runtime.jpg
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/elver_menu.gif b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/images/elver_menu.gif
index 0c67370b0..0c67370b0 100644
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/elver_menu.gif
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/images/elver_menu.gif
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/plugin_dependency.gif b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/images/plugin_dependency.gif
index c8bf31048..c8bf31048 100644
--- a/doc/org.eclipse.emf.teneo.doc/doc/hibernate/images/plugin_dependency.gif
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/images/plugin_dependency.gif
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/images/resourcefactory.jpg b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/images/resourcefactory.jpg
index a79cfff69..149b53d75 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/images/resourcefactory.jpg
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/images/resourcefactory.jpg
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/images/resourceutility.jpg b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/images/resourceutility.jpg
index adb4f3790..ff9a1028b 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/images/resourceutility.jpg
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/images/resourceutility.jpg
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/index.html b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/index.html
index e58be0e72..1759207cb 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/index.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/index.html
@@ -163,7 +163,7 @@
<a href="../hibernate/resource_utility.html">Resource Utility</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../hibernate/ejb3_format.html">Format</a>
@@ -172,10 +172,7 @@
<a href="../hibernate/ejb3_examples.html">Examples</a>
</div>
<div class="menuitem">
-<a href="../hibernate/ejb3_features.html">EJB3</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/custom_annotations.html">Custom</a>
+<a href="../hibernate/ejb3_features.html">JPA/EJB3</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.6')" id="menu_1.6Title" class="menutitle">XML Schema</div>
@@ -199,7 +196,7 @@
<a href="../hibernate/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../hibernate/mailinglist.html">Mailinglist</a>
+<a href="../hibernate/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../hibernate/emfhibsupport.html">EMF/Hibernate Support</a>
@@ -208,10 +205,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../hibernate/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/testcases.html">Test cases</a>
+<a href="../hibernate/svn.html">CVS</a>
</div>
</div>
</div>
@@ -245,7 +239,10 @@
<div class="app" id="projecthome">
<ul class="minitoc">
<li>
-<a href="#EMF+Persistency+Solution+using+Hibernate+3.1">EMF Persistency Solution using Hibernate 3.1</a>
+<a href="#Elver+Persistency+has+moved+to+Eclipse.org+as+Teneo+within+EMFT">Elver Persistency has moved to Eclipse.org as Teneo within EMFT</a>
+</li>
+<li>
+<a href="#EMF+Persistency+Solution+using+Hibernate">EMF Persistency Solution using Hibernate</a>
</li>
<li>
<a href="#Hibernate">Hibernate</a>
@@ -255,9 +252,35 @@
</li>
</ul>
-<a name="N1000D"></a><a name="EMF+Persistency+Solution+using+Hibernate+3.1"></a>
+<a name="N1000D"></a><a name="Elver+Persistency+has+moved+to+Eclipse.org+as+Teneo+within+EMFT"></a>
+<div class="h3">
+<h3>Elver Persistency has moved to Eclipse.org as Teneo within EMFT</h3>
+
+
+<p>
+<strong>Elver persistency has moved to eclipse.org as the Teneo project within EMFT:</strong>
+</p>
+
+<ul>
+
+<li>The elver.org website will remain the source for documentation of Teneo.</li>
+
+<li>The source code can be retrieved from Eclipse cvs. The new main java package name: org.eclipse.emf.teneo.</li>
+
+<li>Teneo/Elver is part of the EMFT build process, builds can be downloaded here:
+ <a class="external" href="http://download.eclipse.org/technology/emft/downloads/">EMFT Downloads</a>
+ (select the Teneo project in the listbox). For the Eclipse update manager use:
+ http://download.eclipse.org/technology/emft/updates/site-interim.xml.</li>
+
+<li>Support is given on the EMFT newsgroup: news://news.eclipse.org/eclipse.technology.emft.</li>
+
+</ul>
+
+</div>
+
+<a name="N1002B"></a><a name="EMF+Persistency+Solution+using+Hibernate"></a>
<div class="h3">
-<h3>EMF Persistency Solution using Hibernate 3.1</h3>
+<h3>EMF Persistency Solution using Hibernate</h3>
<p>The EMF - Hibernate integration currently supports a number of important EMF features and
@@ -266,7 +289,7 @@
</p>
<p>
-<strong>Current version: 0.7.2 ALPHA (last updated 7 June 2006) for Eclipse 3.2*/EMF 2.2*/Hibernate3.2 (and Hibernate 3.1.3) and jdk 1.4 and later,
+<strong>Current version (Teneo): 0.7.5 BETA for Eclipse 3.2/EMF 2.2/Hibernate3.2rc4 and jdk 1.4 and later,
<a href="status.html">Status</a>, <a href="features.html">Features</a>, <a href="changelog.html">Changelog</a></strong>
</p>
@@ -278,23 +301,21 @@
<em>For troubleshooting please visit the <strong><a href="knownissues.html">Known Issues</a></strong>
and <strong><a href="troubleshooting.html">Troubleshooting</a></strong> pages.</em>
</p>
-
-<p>*This release should also work for <strong>Eclipse 3.1/EMF 2.1</strong>, however only limited testing has been done for these version.</p>
</div>
-<a name="N10047"></a><a name="Hibernate"></a>
+<a name="N1005F"></a><a name="Hibernate"></a>
<div class="h3">
<h3>Hibernate</h3>
-<p>The EMF - Hibernate integration is a layer over the Hibernate product. The used Hibernate version is 3.1.3.
+<p>The EMF - Hibernate integration is a layer over the Hibernate product. The used Hibernate version is 3.2.
For more information visit Hibernate at <a class="external" href="http://www.hibernate.org">http://www.hibernate.org</a>.
</p>
</div>
-<a name="N10055"></a><a name="EMF"></a>
+<a name="N1006D"></a><a name="EMF"></a>
<div class="h3">
<h3>EMF</h3>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/inheritance.html b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/inheritance.html
index dd8bea6ea..23faa8354 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/inheritance.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/inheritance.html
@@ -163,7 +163,7 @@
<a href="../hibernate/resource_utility.html">Resource Utility</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../hibernate/ejb3_format.html">Format</a>
@@ -172,10 +172,7 @@
<a href="../hibernate/ejb3_examples.html">Examples</a>
</div>
<div class="menuitem">
-<a href="../hibernate/ejb3_features.html">EJB3</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/custom_annotations.html">Custom</a>
+<a href="../hibernate/ejb3_features.html">JPA/EJB3</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.6')" id="menu_1.6Title" class="menutitle">XML Schema</div>
@@ -199,7 +196,7 @@
<a href="../hibernate/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../hibernate/mailinglist.html">Mailinglist</a>
+<a href="../hibernate/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../hibernate/emfhibsupport.html">EMF/Hibernate Support</a>
@@ -208,10 +205,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../hibernate/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/testcases.html">Test cases</a>
+<a href="../hibernate/svn.html">CVS</a>
</div>
</div>
</div>
@@ -262,7 +256,7 @@
<div class="h3">
<h3>Supported inheritance mapping strategies</h3>
-<p>The Elver OR Mapper supports two of the three inheritance mapping of Hibernate
+<p>The Teneo OR Mapper supports two of the three inheritance mapping of Hibernate
(see <a class="external" href="http://www.hibernate.org/hib_docs/v3/reference/en/html/inheritance.html">
chapter 9</a> of the Hibernate manual):</p>
@@ -282,7 +276,7 @@
<ol>
-<li>Globally: pass the constant org.elver.store.mapper.PersistenceMappingOptions.INHERITANCEMAPPING as a property
+<li>Globally: pass the constant org.eclipse.emf.teneo.mapper.PersistenceMappingOptions.INHERITANCEMAPPING as a property
when initializing a HbDataStore. This property can have two values: SINGLE_TABLE or JOINED.</li>
<li>By using an (EJB3) annotation for individual types: see below.</li>
@@ -314,7 +308,7 @@
<pre class="code">
&lt;xsd:complexType name="Address" abstract="true"&gt;
&lt;xsd:annotation&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Inheritance" ecore:key="strategy"&gt;JOINED&lt;/xsd:appinfo&gt;
+ &lt;xsd:appinfo source="teneo.jpa"&gt;@Inheritance(strategy=JOINED)&lt;/xsd:appinfo&gt;
&lt;/xsd:annotation&gt;
&lt;xsd:sequence&gt;
&lt;xsd:element name="name" type="xsd:string"/&gt;
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/installation.html b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/installation.html
index 760bae43d..f774422a0 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/installation.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/installation.html
@@ -163,7 +163,7 @@
<a href="../hibernate/resource_utility.html">Resource Utility</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../hibernate/ejb3_format.html">Format</a>
@@ -172,10 +172,7 @@
<a href="../hibernate/ejb3_examples.html">Examples</a>
</div>
<div class="menuitem">
-<a href="../hibernate/ejb3_features.html">EJB3</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/custom_annotations.html">Custom</a>
+<a href="../hibernate/ejb3_features.html">JPA/EJB3</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.6')" id="menu_1.6Title" class="menutitle">XML Schema</div>
@@ -199,7 +196,7 @@
<a href="../hibernate/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../hibernate/mailinglist.html">Mailinglist</a>
+<a href="../hibernate/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../hibernate/emfhibsupport.html">EMF/Hibernate Support</a>
@@ -208,10 +205,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../hibernate/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/testcases.html">Test cases</a>
+<a href="../hibernate/svn.html">CVS</a>
</div>
</div>
</div>
@@ -248,13 +242,13 @@
<a href="#emf">EMF Installation</a>
</li>
<li>
-<a href="#EMF+-+Hibernate+Persistency+Plugin+Installation">EMF - Hibernate Persistency Plugin Installation</a>
+<a href="#EMF+-+hibernate+Persistency+Plugin+Installation">EMF - hibernate Persistency Plugin Installation</a>
</li>
<li>
<a href="#Hibernate+Libraries">Hibernate Libraries</a>
</li>
<li>
-<a href="#emfjpoxruntime">Install the EMF - Hibernate Runtime plugin</a>
+<a href="#emfhibernateruntime">Install the EMF - Hibernate Runtime plugin</a>
<ul class="minitoc">
<li>
<a href="#Using+the+runtime+plugin+in+an+EMF+model+plugin">Using the runtime plugin in an EMF model plugin</a>
@@ -278,69 +272,71 @@
</div>
-<a name="N10021"></a><a name="EMF+-+Hibernate+Persistency+Plugin+Installation"></a>
+<a name="N10021"></a><a name="EMF+-+hibernate+Persistency+Plugin+Installation"></a>
<div class="h3">
-<h3>EMF - Hibernate Persistency Plugin Installation</h3>
+<h3>EMF - hibernate Persistency Plugin Installation</h3>
-<p> The EMF Persistency plugin can be downloaded from the elver.org update site.
+<p> The EMF Persistency plugin can be downloaded from the eclipse.org/emft update site.
To configure this update site in Eclipse go to: <em>Help &gt; Software Updates &gt; Find and Install</em>. Select
'Search for new features to install' and click next.
</p>
<p> At this window create a new update site by clicking
- on 'New Remote Site'. Enter any name you want, as a url enter: <em>http://update.elver.org/store</em>,
+ on 'New Remote Site'. Enter any name you want, as a url enter: <em>http://download.eclipse.org/technology/emft/updates/site-interim.xml</em>,
and press ok.
</p>
<p>Select the newly created update site and press finish. When the update site contents are shown, select the
- EMF Hibernate Persistency (followed by version information) Feature.</p>
+ Teneo EMF Persistency (possibly followed by version information) Feature.</p>
-<p>The feature consists of a number of plugins: org.elver.store.annotations (responsible for the EJB3-like annotations),
- org.elver.store and org.elver.store.eclipse (contains the OR Mapper ui and the Resource Utility) and the
- org.elver.store.hibernate.runtime plugin containing all runtime jars.</p>
+<p>The feature consists of a number of plugins: org.eclipse.emf.teneo.hibernate.eclipse and org.eclipse.emf.teneo.hibernate. The first plugin contains the OR Mapper which
+ generates jdo descriptor files. The second plugin contains the jar files for the EMF persistency runtime.
+ </p>
+
+<p>After you have installed the plugin and restarted eclipse you will see a new menu entry called Teneo when
+ you right click on an ecore file.
+ </p>
+
+<p>
+<em>Note, if you have a earlier version of the EMF persistency plugin installed then you it is possible that
+ you need to manually disable the previous version of the EMF - hibernate feature, see <a href="upgrading.html">here</a>.</em>
+</p>
</div>
-<a name="N1003A"></a><a name="Hibernate+Libraries"></a>
+<a name="N10045"></a><a name="Hibernate+Libraries"></a>
<div class="h3">
<h3>Hibernate Libraries</h3>
-
-<p>The org.elver.store.hibernate.runtime contains a subset of the Hibernate libraries. These have been used to run the
- tests. For the remaining Hibernate runtime libraries please
- visit: <a class="external" href="http://www.hibernate.org">the hibernate website</a>.</p>
+
+<p>The EMF persistency feature does not contain the Hibernate libraries (and its dependencies).
+ Please download the Hibernate libraries separately from: <a class="external" href="http://www.hibernate.org">the hibernate website</a>.</p>
+
+<p>
+<strong>A common approach is to place the Hibernate libraries in a separate plugin on which your model plugin will depend.
+ If you do this then you should also set the BuddyPolicy in the plugin containing the Hibernate jars (in the Manifest.MF),
+ for example: Eclipse-BuddyPolicy: dependent.</strong>
+</p>
</div>
-<a name="N10048"></a><a name="emfjpoxruntime"></a>
+<a name="N10057"></a><a name="emfhibernateruntime"></a>
<div class="h3">
<h3>Install the EMF - Hibernate Runtime plugin</h3>
-<p>The installed runtime plugin (org.elver.store.hibernate.runtime) can be used in two ways:
+<p>The installed runtime plugin (org.eclipse.emf.teneo.hibernate) can be used in two ways:
1) in an EMF model plugin, 2) in a non-plugin project. </p>
-
-<p></p>
-<p>
-
-<img alt="Setting plugin dependency" src="images/plugin_dependency_reexport.gif">
- </p>
-<a name="N10059"></a><a name="Using+the+runtime+plugin+in+an+EMF+model+plugin"></a>
+<a name="N10060"></a><a name="Using+the+runtime+plugin+in+an+EMF+model+plugin"></a>
<div class="h4">
<h4>Using the runtime plugin in an EMF model plugin</h4>
<p>To install the runtime plugin in an EMF model plugin go through the following steps (in this order):</p>
<ol>
<li>In the plugin.xml, dependency tab, of the EMF model plugin project add a dependency to
- the org.elver.store.hibernate.runtime plugin. Enable this plugin for export (reexport dependency).</li>
-
-<li>Add the following line to the Manifest.MF of the EMF model plugin project
- (see <a class="external" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=87775#c57">here</a> why):
- <p>Eclipse-RegisterBuddy: org.elver.store.hibernate.runtime</p>
-
-</li>
+ the org.eclipse.emf.teneo.hibernate plugin. Enable this plugin for export (reexport dependency).</li>
<li>Add a JDBC driver to the EMF editor (or the model) plugin project. If only added to the
EMF model project ensure that the EMF editor project has access to the jdbc driver.</li>
@@ -348,29 +344,25 @@
</ol>
<p></p>
<p>
-
-<img alt="Setting register buddy" src="images/registerbuddy.jpg">
- </p>
-<p>
<strong>From here please follow either the <a href="quick_tutorial.html">Quick Start</a> or
<a href="tutorialone/tutorial1_intro.html">the Library Tutorial</a>.</strong>
</p>
</div>
-<a name="N1008B"></a><a name="Installing+the+runtime+layer+in+a+non-plugin+EMF+project"></a>
+<a name="N10081"></a><a name="Installing+the+runtime+layer+in+a+non-plugin+EMF+project"></a>
<div class="h4">
<h4>Installing the runtime layer in a non-plugin EMF project</h4>
<p>In case of a non-plugin project all the jar-files present in the following plugins should be in the classpath:</p>
<ul>
-<li>org.elver.store</li>
+<li>org.eclipse.emf.teneo</li>
-<li>org.elver.store.annotations</li>
+<li>org.eclipse.emf.teneo.annotations</li>
-<li> org.elver.store.hibernate.runtime</li>
+<li>org.eclipse.emf.teneo.hibernate</li>
</ul>
-<p>In addition a jdbc driver should be added to the classpath.</p>
+<p>In addition the hibernate libraries and a jdbc driver should be added to the classpath.</p>
</div>
</div>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/knownissues.html b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/knownissues.html
index 5c7d00e5a..793ccc891 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/knownissues.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/knownissues.html
@@ -16,7 +16,7 @@
<link href="../skin/forrest.css" type="text/css" rel="stylesheet">
<link rel="shortcut icon" href="../">
<script type="text/javascript" src="../skin/tigris.js"></script><script src="../skin/menu.js" language="javascript" type="text/javascript"></script>
-<title>Known issues (updated 21 April 2006)</title>
+<title>Known issues (updated 13 September 2006)</title>
<meta content="text/css" http-equiv="Content-style-type">
</head>
<body class="composite" onload="focus()">
@@ -163,7 +163,7 @@
<a href="../hibernate/resource_utility.html">Resource Utility</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../hibernate/ejb3_format.html">Format</a>
@@ -172,10 +172,7 @@
<a href="../hibernate/ejb3_examples.html">Examples</a>
</div>
<div class="menuitem">
-<a href="../hibernate/ejb3_features.html">EJB3</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/custom_annotations.html">Custom</a>
+<a href="../hibernate/ejb3_features.html">JPA/EJB3</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.6')" id="menu_1.6Title" class="menutitle">XML Schema</div>
@@ -199,7 +196,7 @@
<a href="../hibernate/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../hibernate/mailinglist.html">Mailinglist</a>
+<a href="../hibernate/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../hibernate/emfhibsupport.html">EMF/Hibernate Support</a>
@@ -208,10 +205,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../hibernate/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/testcases.html">Test cases</a>
+<a href="../hibernate/svn.html">CVS</a>
</div>
</div>
</div>
@@ -238,11 +232,25 @@
<div id="bodycol">
<div id="apphead">
<h2>
-<em>Known issues (updated 21 April 2006)</em>
+<em>Known issues (updated 13 September 2006)</em>
</h2>
</div>
<div class="app" id="projecthome">
+<p>
+<br>
+</p>
+
+<p>
+
+<strong>From 13 September 2006: for open issues please visit the EMFT <a class="external" href="https://bugs.eclipse.org/bugs/buglist.cgi?product=EMFT&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&query_format=advanced&order=map_components.name">open bugs</a>
+ page.</strong>
+</p>
+
+<p>
+<br>
+</p>
+
<p>This page describes known issues (and possible work arounds) and gives an estimate on when they will be solved.</p>
<p>Open issue(s):</p>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/license.html b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/license.html
index ada8fc52d..2526306b2 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/license.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/license.html
@@ -163,7 +163,7 @@
<a href="../hibernate/resource_utility.html">Resource Utility</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../hibernate/ejb3_format.html">Format</a>
@@ -172,10 +172,7 @@
<a href="../hibernate/ejb3_examples.html">Examples</a>
</div>
<div class="menuitem">
-<a href="../hibernate/ejb3_features.html">EJB3</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/custom_annotations.html">Custom</a>
+<a href="../hibernate/ejb3_features.html">JPA/EJB3</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.6')" id="menu_1.6Title" class="menutitle">XML Schema</div>
@@ -199,7 +196,7 @@
<a href="../hibernate/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../hibernate/mailinglist.html">Mailinglist</a>
+<a href="../hibernate/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../hibernate/emfhibsupport.html">EMF/Hibernate Support</a>
@@ -208,10 +205,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../hibernate/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/testcases.html">Test cases</a>
+<a href="../hibernate/svn.html">CVS</a>
</div>
</div>
</div>
@@ -243,25 +237,16 @@
</div>
<div class="app" id="projecthome">
-<p>All software, documentation, this website and other direct or indirect material
- is licensed under the <a class="external" href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0 license</a>. In all documents and software the following copyright and
- license statement is present.
+<p>Teneo is licensed under the <a class="external" href="http://www.eclipse.org/org/documents/epl-v10.php">Eclipse Public License</a>.
+ In all documents and software the following copyright and license statement is present.
</p>
<pre class="code">
- Copyright 2005-2006, Elver.org (http://www.elver.org).
-
- Licensed 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.
+Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Eclipse Public License v1.0
+which accompanies this distribution, and is available at
+http://www.eclipse.org/legal/epl-v10.html
</pre>
</div>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/mailinglist.html b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/mailinglist.html
index ee418bd5b..6367011fe 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/mailinglist.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/mailinglist.html
@@ -16,7 +16,7 @@
<link href="../skin/forrest.css" type="text/css" rel="stylesheet">
<link rel="shortcut icon" href="../">
<script type="text/javascript" src="../skin/tigris.js"></script><script src="../skin/menu.js" language="javascript" type="text/javascript"></script>
-<title>Elver Store Mailinglist</title>
+<title>Teneo Newsgroup</title>
<meta content="text/css" http-equiv="Content-style-type">
</head>
<body class="composite" onload="focus()">
@@ -163,7 +163,7 @@
<a href="../hibernate/resource_utility.html">Resource Utility</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../hibernate/ejb3_format.html">Format</a>
@@ -172,10 +172,7 @@
<a href="../hibernate/ejb3_examples.html">Examples</a>
</div>
<div class="menuitem">
-<a href="../hibernate/ejb3_features.html">EJB3</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/custom_annotations.html">Custom</a>
+<a href="../hibernate/ejb3_features.html">JPA/EJB3</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.6')" id="menu_1.6Title" class="menutitle">XML Schema</div>
@@ -199,7 +196,7 @@
<a href="../hibernate/upgrading.html">Upgrading</a>
</div>
<div class="menupage">
-<div class="menupagetitle">Mailinglist</div>
+<div class="menupagetitle">Newsgroup</div>
</div>
<div class="menuitem">
<a href="../hibernate/emfhibsupport.html">EMF/Hibernate Support</a>
@@ -208,10 +205,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../hibernate/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/testcases.html">Test cases</a>
+<a href="../hibernate/svn.html">CVS</a>
</div>
</div>
</div>
@@ -238,41 +232,44 @@
<div id="bodycol">
<div id="apphead">
<h2>
-<em>Elver Store Mailinglist</em>
+<em>Teneo Newsgroup</em>
</h2>
</div>
<div class="app" id="projecthome">
<ul class="minitoc">
<li>
-<a href="#maillist">Mailing List</a>
+<a href="#EMFT+Newsgroup">EMFT Newsgroup</a>
+</li>
+<li>
+<a href="#maillist">Archived Mailing List</a>
</li>
<li>
<a href="#wedo">How we can help you</a>
</li>
</ul>
-<a name="N1000E"></a><a name="maillist"></a>
+<a name="N1000E"></a><a name="EMFT+Newsgroup"></a>
<div class="h3">
-<h3>Mailing List</h3>
+<h3>EMFT Newsgroup</h3>
+
+<p>Support for Teneo is provided through the EMFT newsgroup: news://news.eclipse.org/eclipse.technology.emft.</p>
-<p>
- Support is provided through a mailinglist. You can subscribe to this
- mailinglist by sending an email to: <em><a href="mailto:emf-store-subscribe.at.elver.org">Subscribe</a></em>.
- Unsubscribing is done through the following link: <em><a href="mailto:emf-store-subscribe.at.elver.org">Unsubscribe</a></em>.
- The traffic on the mailinglist is probably pretty low.</p>
+</div>
-<p>The mailing list is used for the EMF - JDO as well as the EMF - Hibernate integration.</p>
+<a name="N10018"></a><a name="maillist"></a>
+<div class="h3">
+<h3>Archived Mailing List</h3>
+
-<p>
- The mail archive can be viewed
+<p>The archive of the mailinglist posts before the move to EMFT can be viewed:
<a class="external" href="http://blog.gmane.org/gmane.comp.java.emf.persistency">here (web)</a> or
<a class="external" href="nntp://news.gmane.org/gmane.comp.java.emf.persistency">here (news, nntp)</a>.
</p>
</div>
-<a name="N10030"></a><a name="wedo"></a>
+<a name="N1002A"></a><a name="wedo"></a>
<div class="h3">
<h3>How we can help you</h3>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/options.html b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/options.html
index 2f8e44ff3..838786eb1 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/options.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/options.html
@@ -163,7 +163,7 @@
<a href="../hibernate/resource_utility.html">Resource Utility</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../hibernate/ejb3_format.html">Format</a>
@@ -172,10 +172,7 @@
<a href="../hibernate/ejb3_examples.html">Examples</a>
</div>
<div class="menuitem">
-<a href="../hibernate/ejb3_features.html">EJB3</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/custom_annotations.html">Custom</a>
+<a href="../hibernate/ejb3_features.html">JPA/EJB3</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.6')" id="menu_1.6Title" class="menutitle">XML Schema</div>
@@ -199,7 +196,7 @@
<a href="../hibernate/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../hibernate/mailinglist.html">Mailinglist</a>
+<a href="../hibernate/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../hibernate/emfhibsupport.html">EMF/Hibernate Support</a>
@@ -208,10 +205,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../hibernate/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/testcases.html">Test cases</a>
+<a href="../hibernate/svn.html">CVS</a>
</div>
</div>
</div>
@@ -243,7 +237,7 @@
</div>
<div class="app" id="projecthome">
-<p>The options described here are all present in the <em>org.elver.store.PersistenceOptions</em> class. The constant names used
+<p>The options described here are all present in the <em>org.eclipse.emf.teneo.PersistenceOptions</em> class. The constant names used
in this page all refer to this class.</p>
<p>Options are passed to the HbDataStore using a Properties object which is set using the HbDataStore.setPersistenceProperties method.</p>
@@ -253,65 +247,82 @@
<ul>
<li>
-<strong>PersistenceOptions.OPTIMISTIC</strong>: if this property is "false" then no version properties are added to the
- mapping of EClasses. Default is "true".</li>
+<strong>PersistenceOptions.ALWAYS_VERSION</strong>: this option (boolean, default: true) determines if the system should automatically
+ add a version attribute to each class mapping. If set to true (the default) then the system will add a version property to the mapping if
+ no other eattribute has a version annotation. If set to false then the version property is not added automatically.</li>
-<li>
-<strong>PersistenceOptions.INHERITANCE_MAPPING</strong>: the default inheritance mapping strategy to use, this can be
- JOINED or SINGLE_TABLE, see <a href="inheritance.html">here</a> for more information. Default is SINGLE_TABLE.</li>
-
-<li>
-<strong>PersistenceOptions.UPDATE_SCHEMA</strong>: if set to "false" then the database schema is not updated
- when initializing a HbDataStore. This improves startup times. Default is "true".</li>
+<li>
+<strong>PersistenceOptions.DISABLE_ECONTAINER_MAPPING</strong>: this option (boolean) controls if the container relations
+ are mapped explicitly in the database, see also <a href="hibernate_relations.html#Storing+container+relation">here</a>.</li>
-<li>
+<li>
<strong>PersistenceOptions.FETCH_CONTAINMENT_EAGERLY</strong>: if set to "true" will set the fetch strategy of all
containment references to EAGER. This means that containment relations are completely read in memory. Default is "false".</li>
-<li>
-<strong>PersistenceOptions.SET_ENTITY_AUTOMATICALLY</strong>: if set to "false" then only EClasses which have an
- Entity annotation will be mapped. Default is "true", this means that all EClasses are mapped to the persistent store.</li>
+<li>
+<strong>PersistenceOptions.ID_COLUMN_NAME</strong>: can be used to set the id column name which is used
+ to store the id of an object. The id column is only added automatically if the model does not define a primary key for the
+ type. Default the id column name is e_id, however not all databases support _ in the name.</li>
<li>
-<strong>PersistenceOptions.QUALIFY_ENTITY_NAME</strong>: if set to PersistenceOptions.QUALIFY_ENTITY_NAME_NSPREFIX then
- all EClass names (used as entityname) will be qualified with the nsprefix of the EPackage. The nsprefix is prepended to the
- EClass name with a dot as a separator, for example: library.Writer. Note that all HQL queries should then use the
- qualified EClass names.</li>
+<strong>PersistenceOptions.INHERITANCE_MAPPING</strong>: the default inheritance mapping strategy to use, this can be
+ JOINED or SINGLE_TABLE, see <a href="inheritance.html">here</a> for more information. Default is SINGLE_TABLE.</li>
<li>
-<strong>PersistenceOptions.USE_MAPPING_FILE</strong>: if set to "true" then Elver will not do an automatic mapping of the
- ecore model to Hibernate but instead search for a hibernate.hbm.xml in the classpath of the EMF generated java classes.</li>
+<strong>PersistenceOptions.JOIN_TABLE_FOR_NON_CONTAINED_ASSOCIATIONS</strong>: boolean, if set to true then always a join table is created
+ for one-to-many non-contained associations.</li>
<li>
-<strong>PersistenceOptions.VERSION_COLUMN_NAME</strong>: can be used to set the version column name which is used
- to store the version of an object in case of optimistic locking. Default the version column name is _vn_, however not all
- databases support _ in the name.</li>
+<strong>PersistenceOptions.MAXIMUM_SQL_NAME_LENGTH</strong>: can be used to control the column and table name length. This is especially
+ relevant in case the default annotation process creates foreign key columns or your property names are too long.
+ Foreign key column names are created by concatenating the name of the (e)class and the propertyname. The resulting name can be to long for certain databases.
+ By setting this option the system will truncate column names to this length. If the column/table name has a suffix (separated by a _) then the
+ system will truncate the part before the suffix.</li>
<li>
-<strong>PersistenceOptions.ID_COLUMN_NAME</strong>: can be used to set the id column name which is used
- to store the id of an object. The id column is only added automatically if the model does not define a primary key for the
- type. Default the id column name is _id_, however not all databases support _ in the name.</li>
+<strong>PersistenceOptions.OPTIMISTIC</strong>: if this property is "false" then no version properties are added to the
+ mapping of EClasses. Default is "true".</li>
+
+<li>
+<strong>PersistenceOptions.PERSISTENCE_XML</strong>: the location of the xml annotations file. The location should be a resource
+ path.</li>
<li>
-<strong>PersistenceOptions.SET_CASCADE_ALL_ON_CONTAINMENT</strong>: as a default Elver will set a cascade style ALL on a
+<strong>PersistenceOptions.QUALIFY_ENTITY_NAME</strong>: if set to PersistenceOptions.QUALIFY_ENTITY_NAME_NSPREFIX then
+ all EClass names (used as entityname) will be qualified with the nsprefix of the EPackage. The nsprefix is prepended to the
+ EClass name with a dot as a separator, for example: library.Writer. Note that all HQL queries should then use the
+ qualified EClass names.</li>
+
+<li>
+<strong>PersistenceOptions.SET_CASCADE_ALL_ON_CONTAINMENT</strong>: as a default Teneo will set a cascade style ALL on a
containment relation. This also enables dependent or orphan delete behavior. However it makes more difficult to support cut/paste
operations using resources (see <a href="hibernate_details.html#cutpaste">here</a>). This option can be used to control the dependent or
orphan delete behavior on a containment relation. If set to false then all cascade styles are set with
dependent/orphan-delete disabled. If set to true (the default) then all cascade styles are set including orphan-delete/dependent.
</li>
-<li>
-<strong>PersistenceOptions.MAXIMUM_SQL_NAME_LENGTH</strong>: can be used to control the column and table name length. This is especially
- relevant in case the default annotation process creates foreign key columns or your property names are too long.
- Foreign key column names are created by concatenating the name of the (e)class and the propertyname. The resulting name can be to long for certain databases.
- By setting this option the system will truncate column names to this length. If the column/table name has a suffix (separated by a _) then the
- system will truncate the part before the suffix.</li>
+<li>
+<strong>PersistenceOptions.SET_ENTITY_AUTOMATICALLY</strong>: if set to "false" then only EClasses which have an
+ Entity annotation will be mapped. Default is "true", this means that all EClasses are mapped to the persistent store.</li>
<li>
<strong>PersistenceOptions.SQL_CASE_STRATEGY</strong>: controls if the table and column names are uppercased, lowercased or
no specific casing is done. The value lowercase will force lower case for all table/column name, the value
uppercase will force uppercase for all table/column names, none wil do not casing. It is also possible to set this
- option to the classname of a class implementing the org.elver.store.util.SQLCaseStrategy interface.</li>
+ option to the classname of a class implementing the org.eclipse.emf.teneo.util.SQLCaseStrategy interface.</li>
+
+<li>
+<strong>PersistenceOptions.UPDATE_SCHEMA</strong>: if set to "false" then the database schema is not updated
+ when initializing a HbDataStore. This improves startup times. Default is "true".</li>
+
+<li>
+<strong>PersistenceOptions.USE_MAPPING_FILE</strong>: if set to "true" then Teneo will not do an automatic mapping of the
+ ecore model to Hibernate but instead search for a hibernate.hbm.xml in the classpath of the EMF generated java classes.</li>
+
+<li>
+<strong>PersistenceOptions.VERSION_COLUMN_NAME</strong>: can be used to set the version column name which is used
+ to store the version of an object in case of optimistic locking. Default the version column name is e_version, however not all
+ databases support _ in the name.</li>
</ul>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/overview.html b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/overview.html
index 12759ce58..abb730ef9 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/overview.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/overview.html
@@ -163,7 +163,7 @@
<a href="../hibernate/resource_utility.html">Resource Utility</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../hibernate/ejb3_format.html">Format</a>
@@ -172,10 +172,7 @@
<a href="../hibernate/ejb3_examples.html">Examples</a>
</div>
<div class="menuitem">
-<a href="../hibernate/ejb3_features.html">EJB3</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/custom_annotations.html">Custom</a>
+<a href="../hibernate/ejb3_features.html">JPA/EJB3</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.6')" id="menu_1.6Title" class="menutitle">XML Schema</div>
@@ -199,7 +196,7 @@
<a href="../hibernate/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../hibernate/mailinglist.html">Mailinglist</a>
+<a href="../hibernate/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../hibernate/emfhibsupport.html">EMF/Hibernate Support</a>
@@ -208,10 +205,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../hibernate/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/testcases.html">Test cases</a>
+<a href="../hibernate/svn.html">CVS</a>
</div>
</div>
</div>
@@ -247,7 +241,7 @@
<a href="#overview">Overview</a>
</li>
<li>
-<a href="#mapping">Elver Mapping Overview</a>
+<a href="#mapping">Teneo Mapping Overview</a>
</li>
<li>
<a href="#Runtime+Layer">Runtime Layer</a>
@@ -280,24 +274,24 @@
<a name="N10024"></a><a name="mapping"></a>
<div class="h3">
-<h3>Elver Mapping Overview</h3>
+<h3>Teneo Mapping Overview</h3>
-<p>The image below illustrates the basic process from a set of EPackages or an ecore file to the Elver runtime. The starting point
+<p>The image below illustrates the basic process from a set of EPackages or an ecore file to the Teneo runtime. The starting point
is the EMF model represented by one or more EPackages. These EPackages can contain EJB3-like annotations.</p>
<p>
<div align="center">
-<img class="figure" alt="Elver Mapping Process" src="images/Process2.jpg"></div>
+<img class="figure" alt="Teneo Mapping Process" src="images/Process2.jpg"></div>
</p>
-<p>The application starts up and registers the EPackages in Elver. The registered EPackages (and their EAnnotations)
+<p>The application starts up and registers the EPackages in Teneo. The registered EPackages (and their EAnnotations)
are translated to an in-memory
annotated model. This annotated model initially only contains the annotations which have been specified manually as EAnnotations
in the original model.
</p>
-<p>In the next step Elver automatically adds annotations to map the EMF model to an or representation. The manually entered EAnnotations
+<p>In the next step Teneo automatically adds annotations to map the EMF model to an or representation. The manually entered EAnnotations
are retained and not overwritten.
</p>
@@ -313,12 +307,12 @@
<p>The main visible component of the runtime layer is the <a href="hbdatastore.html">HbDataStore</a>. The <a href="hbdatastore.html">HbDataStore</a>
controls a SessionFactory and a set of EPackages which are persisted using the sessions of this session factory. When using a Hibernate session,
- behind the scenes Elver takes care of instantiating EMF objects and setting/getting EFeatures from the database.
- Elver also handles lazy loading of ELists.</p>
+ behind the scenes Teneo takes care of instantiating EMF objects and setting/getting EFeatures from the database.
+ Teneo also handles lazy loading of ELists.</p>
<p>
<div align="center">
-<img class="figure" alt="Elver Runtime Layer" src="images/Runtime.jpg"></div>
+<img class="figure" alt="Teneo Runtime Layer" src="images/Runtime.jpg"></div>
</p>
</div>
@@ -328,14 +322,14 @@
<h3>EJB3 Annotations</h3>
-<p>Elver can automatically map the EMF model to an object relational representation. However there are situations in which it makes
- sense to influence or control the mapping. For this purpose Elver supports EJB3-like annotations in the model. The annotations
+<p>Teneo can automatically map the EMF model to an object relational representation. However there are situations in which it makes
+ sense to influence or control the mapping. For this purpose Teneo supports EJB3-like annotations in the model. The annotations
can be used to control the way the inheritance structure is mapped to the relational store or how efeatures are mapped to database
columns. For a complete overview of the supported EJB3 annotations see <a href="ejb3_features.html">here</a>.</p>
<p>The EJB3 support has been developed in such a way that it is only required to specify annotations for those parts of the model for
which the automatic behavior does not result in the required behavior. For example it is possible to specify a column annotation for
- one efeature in a model while all other efeatures and eclasses are automatically handled by Elver.</p>
+ one efeature in a model while all other efeatures and eclasses are automatically handled by Teneo.</p>
<p>
<em>EJB3 annotations are defined in EAnnotations in a specific format. See
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/quick_tutorial.html b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/quick_tutorial.html
index b371117b5..259ac5bd7 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/quick_tutorial.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/quick_tutorial.html
@@ -163,7 +163,7 @@
<a href="../hibernate/resource_utility.html">Resource Utility</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../hibernate/ejb3_format.html">Format</a>
@@ -172,10 +172,7 @@
<a href="../hibernate/ejb3_examples.html">Examples</a>
</div>
<div class="menuitem">
-<a href="../hibernate/ejb3_features.html">EJB3</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/custom_annotations.html">Custom</a>
+<a href="../hibernate/ejb3_features.html">JPA/EJB3</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.6')" id="menu_1.6Title" class="menutitle">XML Schema</div>
@@ -199,7 +196,7 @@
<a href="../hibernate/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../hibernate/mailinglist.html">Mailinglist</a>
+<a href="../hibernate/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../hibernate/emfhibsupport.html">EMF/Hibernate Support</a>
@@ -208,10 +205,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../hibernate/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/testcases.html">Test cases</a>
+<a href="../hibernate/svn.html">CVS</a>
</div>
</div>
</div>
@@ -263,13 +257,12 @@
<li>Set Library model plugin dependency:
<ul>
-<li>Add the EMF persistency runtime plugin (org.elver.store.hibernate.runtime) to the plugin dependencies of the Library (model) project.
+<li>Add the EMF persistency runtime plugin (org.eclipse.emf.teneo.hibernate) to the plugin dependencies of the Library (model) project.
Note enable reexport depencency for the plugin (right-click on entered dependency to find this option)</li>
-<li>Add <em>Eclipse-RegisterBuddy: org.elver.store.hibernate.runtime</em> to the Manifest.MF of
- the Library model project (see <a class="external" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=87775#c57">here</a> why).</li>
-
<li>Add a jdbc driver to the model project.</li>
+
+<li>Add the hibernate libraries to the model project.</li>
</ul>
@@ -303,7 +296,7 @@ HbDataStore hbds = HbHelper.INSTANCE.createRegisterDataStore(hbName);
hbds.setEPackages(new EPackage[]{LibraryPackage.eINSTANCE});
// set the relational database to use and other properties
-// to set Elver specific options call hbds.setPersistenceProperties
+// to set Teneo specific options call hbds.setPersistenceProperties
hbds.setHibernateProperties(props);
// initialize, also creates the database tables
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/resource_utility.html b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/resource_utility.html
index 1cdf2e3db..41b61d224 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/resource_utility.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/resource_utility.html
@@ -163,7 +163,7 @@
<div class="menupagetitle">Resource Utility</div>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../hibernate/ejb3_format.html">Format</a>
@@ -172,10 +172,7 @@
<a href="../hibernate/ejb3_examples.html">Examples</a>
</div>
<div class="menuitem">
-<a href="../hibernate/ejb3_features.html">EJB3</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/custom_annotations.html">Custom</a>
+<a href="../hibernate/ejb3_features.html">JPA/EJB3</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.6')" id="menu_1.6Title" class="menutitle">XML Schema</div>
@@ -199,7 +196,7 @@
<a href="../hibernate/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../hibernate/mailinglist.html">Mailinglist</a>
+<a href="../hibernate/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../hibernate/emfhibsupport.html">EMF/Hibernate Support</a>
@@ -208,10 +205,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../hibernate/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/testcases.html">Test cases</a>
+<a href="../hibernate/svn.html">CVS</a>
</div>
</div>
</div>
@@ -256,6 +250,9 @@
<a href="#Throubleshooting%3A+empty+editor+when+opening+resource%2C+can+not+add">Throubleshooting: empty editor when opening resource, can not add</a>
</li>
<li>
+<a href="#Throubleshooting%3A+editor+does+not+start%2C+AssertionFailedException">Throubleshooting: editor does not start, AssertionFailedException</a>
+</li>
+<li>
<a href="#Future+extensions">Future extensions</a>
</li>
</ul>
@@ -289,7 +286,7 @@
<div class="h3">
<h3>Open Resource</h3>
-<p>When rightclicking on an ehb file the Elver menu option is displayed. Within this
+<p>When rightclicking on an ehb file the Teneo menu option is displayed. Within this
menu the option <em>Open Resource</em> is shown. Choosing this option will open a
EMF editor which reads its contents from the connection/session information in the
ehb file.</p>
@@ -326,9 +323,18 @@
or by using the standard EMF open model wizard.</p>
</div>
+
+<a name="N1004D"></a><a name="Throubleshooting%3A+editor+does+not+start%2C+AssertionFailedException"></a>
+<div class="h3">
+<h3>Throubleshooting: editor does not start, AssertionFailedException</h3>
+
+<p>See <a href="troubleshooting.html#Editor+does+not+start%2C+AssertionFailedException">here</a>
+ in the troubleshooting page.</p>
+
+</div>
-<a name="N1004D"></a><a name="Future+extensions"></a>
+<a name="N1005A"></a><a name="Future+extensions"></a>
<div class="h3">
<h3>Future extensions</h3>
@@ -346,7 +352,7 @@
</ul>
-<p>Please send an email to the <a href="mailinglist.html">mailinglist</a> if you
+<p>Please post a message on the <a href="mailinglist.html">newsgroup</a> if you
have other ideas or requirements for resource utilities.</p>
<p></p>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/resource_utility.xml b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/resource_utility.xml
index a4d877d55..0742d7d9b 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/resource_utility.xml
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/resource_utility.xml
@@ -1,20 +1,12 @@
<?xml version="1.0" encoding="ISO-8859-1"?><!--
- Copyright 2005-2006, Elver.org (http://www.elver.org).
-
- Licensed 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.
+ Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License v1.0
+ which accompanies this distribution, and is available at
+ http://www.eclipse.org/legal/epl-v10.html
--><!--
@author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.1 $ $Date: 2006/07/11 17:02:11 $
+ @version $Revision: 1.2 $ $Date: 2006/10/15 08:39:22 $
--><!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.3//EN" "document-v13.dtd">
<document>
&#9;<header>
@@ -35,7 +27,7 @@
&#9;&#9;<p><em/></p>
&#9;&#9;</section>
&#9;&#9;<section><title>Open Resource</title>
-&#9;&#9;<p>When rightclicking on an ehb file the Elver menu option is displayed. Within this
+&#9;&#9;<p>When rightclicking on an ehb file the Teneo menu option is displayed. Within this
&#9;&#9;menu the option <em>Open Resource</em> is shown. Choosing this option will open a
&#9;&#9;EMF editor which reads its contents from the connection/session information in the
&#9;&#9;ehb file.</p>
@@ -59,6 +51,10 @@
&#9;&#9;&#9;document in the resource. This document can be created by importing from a XML document
&#9;&#9;&#9;or by using the standard EMF open model wizard.</p>
&#9;&#9;</section>
+&#9;&#9;&#9;&#9;<section><title>Throubleshooting: editor does not start, AssertionFailedException</title>
+&#9;&#9;<p>See <link href="troubleshooting.html#Editor+does+not+start%2C+AssertionFailedException">here</link>
+&#9;&#9;in the troubleshooting page.</p>
+&#9;&#9;</section>
&#9;&#9;
&#9;&#9;<section><title>Future extensions</title>
&#9;&#9;&#9;<ul>
@@ -69,7 +65,7 @@
&#9;&#9;&#9;&#9;<li>Export subsets of the relational store using HQL queries or other
&#9;&#9;&#9;&#9;filtering</li>
&#9;&#9;&#9;</ul>
-&#9;&#9;&#9;<p>Please send an email to the <link href="mailinglist.html">mailinglist</link> if you
+&#9;&#9;&#9;<p>Please post a message on the <link href="mailinglist.html">newsgroup</link> if you
&#9;&#9;&#9;have other ideas or requirements for resource utilities.</p>
&#9;&#9;<p/>
&#9;&#9;</section>&#9;&#9;
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/samples/Dynamic.java b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/samples/Dynamic.java
index b5a2bbeb9..320aef9a2 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/samples/Dynamic.java
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/samples/Dynamic.java
@@ -11,7 +11,7 @@
* Martin Taal
* </copyright>
*
- * $Id: Dynamic.java,v 1.2 2006/07/23 19:38:47 mtaal Exp $
+ * $Id: Dynamic.java,v 1.3 2006/10/15 08:39:23 mtaal Exp $
*/
package hbtutorial;
@@ -31,7 +31,7 @@ import org.eclipse.example.library.BookCategory;
import org.eclipse.example.library.LibraryFactory;
import org.eclipse.example.library.LibraryPackage;
import org.eclipse.example.library.Writer;
-import org.elver.store.hibernate.HbDataStore;
+import org.eclipse.emf.teneo.hibernate.HbDataStore;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
@@ -41,7 +41,7 @@ import org.hibernate.Transaction;
* Dynamic Tutorial
*
* @author <a href="mailto:mtaal@elver.org">Martin Taal</a>
- * @version $Revision: 1.2 $
+ * @version $Revision: 1.3 $
*/
public class Dynamic {
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/samples/QuickStart.java b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/samples/QuickStart.java
index aa23d157a..e3fe69ad6 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/samples/QuickStart.java
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/samples/QuickStart.java
@@ -11,7 +11,7 @@
* Martin Taal
* </copyright>
*
- * $Id: QuickStart.java,v 1.2 2006/07/23 19:38:47 mtaal Exp $
+ * $Id: QuickStart.java,v 1.3 2006/10/15 08:39:23 mtaal Exp $
*/
package hbtutorial;
@@ -23,8 +23,8 @@ import org.eclipse.example.library.Library;
import org.eclipse.example.library.LibraryFactory;
import org.eclipse.example.library.LibraryPackage;
import org.eclipse.example.library.Writer;
-import org.elver.store.hibernate.HbDataStore;
-import org.elver.store.hibernate.HbHelper;
+import org.eclipse.emf.teneo.hibernate.HbDataStore;
+import org.eclipse.emf.teneo.hibernate.HbHelper;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
@@ -33,7 +33,7 @@ import org.hibernate.Transaction;
* Quick Start Tutorial
*
* @author <a href="mailto:mtaal@elver.org">Martin Taal</a>
- * @version $Revision: 1.2 $
+ * @version $Revision: 1.3 $
*/
public class QuickStart {
@@ -50,7 +50,7 @@ public class QuickStart {
String hbName = "MySF";
// create the HbDataStore
- HbDataStore hbds = HbHelper.INSTANCE.createRegisterDataStore(hbName);
+ HbDataStore hbds = (HbDataStore)HbHelper.INSTANCE.createRegisterDataStore(hbName);
// The hibernate properties can be set by having a hibernate.properties file in the root of the classpath.
// Another approach is setting the properties in the HbDataStore. To do this comment out the following lines
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/samples/Tutorial1.java b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/samples/Tutorial1.java
index 27238cbde..9a98b8bf6 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/samples/Tutorial1.java
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/samples/Tutorial1.java
@@ -11,7 +11,7 @@
* Martin Taal
* </copyright>
*
- * $Id: Tutorial1.java,v 1.2 2006/07/23 19:38:47 mtaal Exp $
+ * $Id: Tutorial1.java,v 1.3 2006/10/15 08:39:23 mtaal Exp $
*/
package hbtutorial;
@@ -32,9 +32,9 @@ import org.eclipse.example.library.Library;
import org.eclipse.example.library.LibraryFactory;
import org.eclipse.example.library.LibraryPackage;
import org.eclipse.example.library.Writer;
-import org.elver.store.hibernate.HbDataStore;
-import org.elver.store.hibernate.HbHelper;
-import org.elver.store.hibernate.resource.HibernateResource;
+import org.eclipse.emf.teneo.hibernate.HbDataStore;
+import org.eclipse.emf.teneo.hibernate.HbHelper;
+import org.eclipse.emf.teneo.hibernate.resource.HibernateResource;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
@@ -43,7 +43,7 @@ import org.hibernate.SessionFactory;
* Quick Start Tutorial
*
* @author <a href="mailto:mtaal@elver.org">Martin Taal</a>
- * @version $Revision: 1.2 $
+ * @version $Revision: 1.3 $
*/
public class Tutorial1 {
@@ -52,7 +52,7 @@ public class Tutorial1 {
// Create the DataStore.
final String dataStoreName = "LibraryDataStore";
- final HbDataStore dataStore = HbHelper.INSTANCE.createRegisterDataStore(dataStoreName);
+ final HbDataStore dataStore = (HbDataStore)HbHelper.INSTANCE.createRegisterDataStore(dataStoreName);
// the name of the database, this database should exist but does not
// need to contain tables
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/schema_list.html b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/schema_list.html
index 591cd699e..fa96d3d54 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/schema_list.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/schema_list.html
@@ -163,7 +163,7 @@
<a href="../hibernate/resource_utility.html">Resource Utility</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../hibernate/ejb3_format.html">Format</a>
@@ -172,10 +172,7 @@
<a href="../hibernate/ejb3_examples.html">Examples</a>
</div>
<div class="menuitem">
-<a href="../hibernate/ejb3_features.html">EJB3</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/custom_annotations.html">Custom</a>
+<a href="../hibernate/ejb3_features.html">JPA/EJB3</a>
</div>
</div>
<div onclick="SwitchMenu('menu_selected_1.6')" id="menu_selected_1.6Title" class="menutitle">XML Schema</div>
@@ -199,7 +196,7 @@
<a href="../hibernate/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../hibernate/mailinglist.html">Mailinglist</a>
+<a href="../hibernate/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../hibernate/emfhibsupport.html">EMF/Hibernate Support</a>
@@ -208,10 +205,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../hibernate/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/testcases.html">Test cases</a>
+<a href="../hibernate/svn.html">CVS</a>
</div>
</div>
</div>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/status.html b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/status.html
index c1f4402d6..3e801b0c7 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/status.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/status.html
@@ -163,7 +163,7 @@
<a href="../hibernate/resource_utility.html">Resource Utility</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../hibernate/ejb3_format.html">Format</a>
@@ -172,10 +172,7 @@
<a href="../hibernate/ejb3_examples.html">Examples</a>
</div>
<div class="menuitem">
-<a href="../hibernate/ejb3_features.html">EJB3</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/custom_annotations.html">Custom</a>
+<a href="../hibernate/ejb3_features.html">JPA/EJB3</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.6')" id="menu_1.6Title" class="menutitle">XML Schema</div>
@@ -199,7 +196,7 @@
<a href="../hibernate/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../hibernate/mailinglist.html">Mailinglist</a>
+<a href="../hibernate/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../hibernate/emfhibsupport.html">EMF/Hibernate Support</a>
@@ -208,10 +205,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../hibernate/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/testcases.html">Test cases</a>
+<a href="../hibernate/svn.html">CVS</a>
</div>
</div>
</div>
@@ -259,18 +253,18 @@
<h3>Version</h3>
-<p>The current version is 0.7.2 (alpha). The integration should be tested further
+<p>The current version is 0.7.5. The integration should be tested further
to increase its stability and assure that it is applicable to many different environments. Currently this release supports
- the features listed <a href="features.html">here</a>, these features pass the related <a href="testcases.html">testcases</a>.</p>
+ the features listed <a href="features.html">here</a>, these features pass the related testcases.</p>
</div>
-<a name="N10020"></a><a name="Todo"></a>
+<a name="N1001C"></a><a name="Todo"></a>
<div class="h3">
<h3>Todo</h3>
-<p>The following topics will be implemented in the near future:</p>
+<p>The following topics will be implemented in the future:</p>
<ol>
@@ -284,27 +278,15 @@
<li>One session/transaction covering multiple resources</li>
-<li>More tests...</li>
-
-</ol>
-
-<p>The following topics will be covered later:</p>
-
-<ol>
-
-<li>Allow and retain manual changes in generated hibernate mapping files</li>
-
<li>Automatic validation of persisted EMF objects at commit</li>
-<li>Align the JDO/JPOX and Hibernate generated database schemas, facilitating switching or layer</li>
-
-<li>More tests, For example on the area of queries, different hierarchy mappings and performance</li>
+<li>More tests...</li>
</ol>
</div>
-<a name="N10051"></a><a name="Next+Steps"></a>
+<a name="N1003E"></a><a name="Next+Steps"></a>
<div class="h3">
<h3>Next Steps</h3>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/svn.html b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/svn.html
index 5db292d4e..12890818a 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/svn.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/svn.html
@@ -16,7 +16,7 @@
<link href="../skin/forrest.css" type="text/css" rel="stylesheet">
<link rel="shortcut icon" href="../">
<script type="text/javascript" src="../skin/tigris.js"></script><script src="../skin/menu.js" language="javascript" type="text/javascript"></script>
-<title>Subversion</title>
+<title>CVS</title>
<meta content="text/css" http-equiv="Content-style-type">
</head>
<body class="composite" onload="focus()">
@@ -163,7 +163,7 @@
<a href="../hibernate/resource_utility.html">Resource Utility</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../hibernate/ejb3_format.html">Format</a>
@@ -172,10 +172,7 @@
<a href="../hibernate/ejb3_examples.html">Examples</a>
</div>
<div class="menuitem">
-<a href="../hibernate/ejb3_features.html">EJB3</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/custom_annotations.html">Custom</a>
+<a href="../hibernate/ejb3_features.html">JPA/EJB3</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.6')" id="menu_1.6Title" class="menutitle">XML Schema</div>
@@ -199,7 +196,7 @@
<a href="../hibernate/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../hibernate/mailinglist.html">Mailinglist</a>
+<a href="../hibernate/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../hibernate/emfhibsupport.html">EMF/Hibernate Support</a>
@@ -208,10 +205,7 @@
<div onclick="SwitchMenu('menu_selected_1.8')" id="menu_selected_1.8Title" class="menutitle">Developer</div>
<div id="menu_selected_1.8" class="selectedmenuitemgroup">
<div class="menupage">
-<div class="menupagetitle">Subversion</div>
-</div>
-<div class="menuitem">
-<a href="../hibernate/testcases.html">Test cases</a>
+<div class="menupagetitle">CVS</div>
</div>
</div>
</div>
@@ -238,75 +232,89 @@
<div id="bodycol">
<div id="apphead">
<h2>
-<em>Subversion</em>
+<em>CVS</em>
</h2>
</div>
<div class="app" id="projecthome">
<ul class="minitoc">
<li>
-<a href="#projects">Projects in Subversion</a>
+<a href="#projects">Projects in CVS</a>
</li>
</ul>
-<p>The source code of the EMF - Hibernate integration is stored in a <a class="external" href="http://subversion.tigris.org/">Subversion</a> repository.
- The subversion url is: svn://svn.elver.org/elver with anonymous login.</p>
+<p>The source code of the EMF - Hibernate integration is stored in Eclipse.org cvs here:</p>
+
+<ul>
+
+<li>host: dev.eclipse.org</li>
-<p></p>
+<li>repository: /cvsroot/technology</li>
+
+<li>module: org.eclipse.emft/teneo</li>
+
+</ul>
<p>
-<strong>The source code in subversion is updated on a daily basis and contains experimental
+<strong>The source code in cvs is updated on a daily basis and contains experimental
new features which can (temporarily) break already existing functionality and tests.
- There is no guarantee that the code in subversion will work in anyway.</strong>
+ There is no guarantee that the code in cvs will work in anyway.</strong>
</p>
-<a name="N1001C"></a><a name="projects"></a>
+<a name="N10022"></a><a name="projects"></a>
<div class="h3">
-<h3>Projects in Subversion</h3>
+<h3>Projects in CVS</h3>
-<p>
- The relevant Hibernate related projects within the repository are:
- </p>
-
+<p>The cvs repository has the following structure and projects:</p>
+
<ul>
+
+<li>doc: contains this website</li>
+
+<li>examples: contains the samples and tutorial projects. Samples has all the model projects which are used as the basis for the test cases. The tutorial project contains the tutorials used on this website.</li>
+
+<li>plugins: this is the main folder. The following hibernate related projects are present here:
+ <ul>
+<li>org.eclipse.emf.teneo: generic part of the runtime layer</li>
-<li>org.elver.store: this project contains general code used by the JPOX as well as the Hibernate runtime layer.</li>
-
-<li>org.elver.store.eclipse: this project contains general code for the eclipse menu options used by the JPOX as well as the Hibernate runtime layer.</li>
-
-<li>org.elver.store.annotations: this project contains code for reading and generating annotations.</li>
-
-<li>org.elver.store.hibernate: this project contains the EMF - Hibernate mapping and runtime layer.</li>
+<li>org.eclipse.emf.teneo.annotations: the jpa annotations</li>
-<li>org.elver.store.hibernate.eclipse: this project contains the resource utility Eclipse plugins.</li>
+<li>org.eclipse.emf.teneo.eclipse: the generic part of the ui additions to eclipse for the Teneo right-click menus</li>
-<li>org.elver.store.samples: this project contains the examples and model information used in the testcases.</li>
+<li>org.eclipse.emf.teneo.hibernate: the main hibernate project containing the mapping logic, hibernate annotations and runtime layer</li>
-<li>org.elver.store.commontest: this project contains the test case part which is common for Hibernate and JPOX</li>
+<li>org.eclipse.emf.teneo.hibernate.eclipse: hibernate specific part of the ui additions to eclipse</li>
-<li>org.elver.store.hibernate.test: the hibernate specific part of the tests</li>
+<li>org.eclipse.emf.teneo.libraries: common libraries (for example log4j).</li>
-<li>org.elver.store.tutorial: the tutorials used on this website</li>
+</ul>
+
+</li>
+
+<li>tests: contains the test cases:
+ <ul>
+
+<li>org.eclipse.emf.teneo.commontest: this project contains the test case part which is common for Hibernate and JPOX</li>
+
+<li>org.eclipse.emf.teneo.hibernate.libraries: hibernate libraries, not distributed as part of the build, used during testing</li>
+
+<li>org.eclipse.emf.teneo.hibernate.test: hibernate test cases (junit)</li>
</ul>
-<p>
- Other projects in subversion are related to an integration between EMF and JSF and Hibernate.
- </p>
+</li>
-<p>The projects have dependencies which are managed by the plugin dependencies in
- the Manifest.MF</p>
+</ul>
-<p>Sometimes projects will have a dependency to a org.hibernate plugin project (not present in svn).
- This is used
- to debug hibernate. When checking out the development projects these dependencies can
- be replaced by the corresponding hibernate jar file.</p>
+<p>In addition there are several feature projects and build related projects.</p>
<p>
- Within each project there is a sub folder called trunk which contains the
- latest version. Other versions are present in the branch/version subfolders.
- </p>
+<strong>Several of the above projects use third party libraries during the build process. The
+ plugin projects have dependencies defined on these libraries. However because of licensing these
+ libraries are not publically accessible in Eclipse cvs. The third party libraries have to be
+ downloaded separately.</strong>
+</p>
<p>We use the standard Eclipse code format with the line length set to 120, the formatter profile
can be downloaded <a href="../download/elver-code-profile.xml">here</a>.</p>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/testcases.html b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/testcases.html
index 41898b15e..a7780fca0 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/testcases.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/testcases.html
@@ -45,7 +45,7 @@
<div id="toptabs" class="tabs">
<table border="0" cellspacing="0" cellpadding="4">
<tr>
-<td><a class="base-selected" href="../index.html">Home</a></td><th><a class="base-selected" href="../hibernate/index.html">EMF Hibernate</a></th><td><a class="base-selected" href="../jpox/index.html">EMF JDO/JPOX</a></td><td><a class="base-selected" href="../services/index.html">Services</a></td>
+<td><a class="base-selected" href="../index.html">Home</a></td><td><a class="base-selected" href="../hibernate/index.html">EMF Hibernate</a></td><td><a class="base-selected" href="../jpox/index.html">EMF JDO/JPOX</a></td><td><a class="base-selected" href="../services/index.html">Services</a></td>
</tr>
</table>
</div>
@@ -76,6 +76,168 @@
<div onclick="SwitchMenu('menu_1.1')" id="menu_1.1Title" class="menutitle">Home</div>
<div id="menu_1.1" class="menuitemgroup">
<div class="menuitem">
+<a href="../index.html">Introduction</a>
+</div>
+<div class="menuitem">
+<a href="../contributors.html">Contributors</a>
+</div>
+<div class="menuitem">
+<a href="../links.html">Links</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2')" id="menu_1.2Title" class="menutitle">About</div>
+<div id="menu_1.2" class="menuitemgroup">
+<div class="menuitem">
+<a href="../goal.html">Project Goal</a>
+</div>
+<div class="menuitem">
+<a href="../elver.html">The Elver</a>
+</div>
+<div class="menuitem">
+<a href="../license.html">License</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.3')" id="menu_1.3Title" class="menutitle">Services</div>
+<div id="menu_1.3" class="menuitemgroup">
+<div class="menuitem">
+<a href="../services/index.html">Springsite.com</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.4')" id="menu_1.4Title" class="menutitle">Home</div>
+<div id="menu_1.4" class="menuitemgroup">
+<div class="menuitem">
+<a href="../jpox/index.html">Introduction</a>
+</div>
+<div class="menuitem">
+<a href="../jpox/features.html">Features</a>
+</div>
+<div class="menuitem">
+<a href="../jpox/status.html">Status</a>
+</div>
+<div class="menuitem">
+<a href="../jpox/overview.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../jpox/changelog.html">Changelog</a>
+</div>
+<div class="menuitem">
+<a href="../jpox/installation.html">Download &amp; Install</a>
+</div>
+<div class="menuitem">
+<a href="../jpox/knownissues.html">Known Issues</a>
+</div>
+<div class="menuitem">
+<a href="../jpox/quick_tutorial.html">Quick Start</a>
+</div>
+<div class="menuitem">
+<a href="../jpox/license.html">License</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Library Tutorial</div>
+<div id="menu_1.5" class="menuitemgroup">
+<div class="menuitem">
+<a href="../jpox/tutorial1/tutorial1_intro.html">Introduction</a>
+</div>
+<div class="menuitem">
+<a href="../jpox/tutorial1/tutorial1_1.html">Generate OR Mapping File</a>
+</div>
+<div class="menuitem">
+<a href="../jpox/tutorial1/tutorial1_2.html">Create and Store EMF Object</a>
+</div>
+<div class="menuitem">
+<a href="../jpox/tutorial1/tutorial1_3.html">Retrieve EMF Objects</a>
+</div>
+<div class="menuitem">
+<a href="../jpox/tutorial1/tutorial1_4.html">Query EMF Objects</a>
+</div>
+<div class="menuitem">
+<a href="../jpox/tutorial1/tutorial1_5.html">Using EMF/JPOX Resources</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.6')" id="menu_1.6Title" class="menutitle">Library Editor tutorial</div>
+<div id="menu_1.6" class="menuitemgroup">
+<div class="menuitem">
+<a href="../jpox/tutorial2/tutorial2_intro.html">Introduction</a>
+</div>
+<div class="menuitem">
+<a href="../jpox/tutorial2/tutorial2_1.html">Initialize the Library Editor</a>
+</div>
+<div class="menuitem">
+<a href="../jpox/tutorial2/tutorial2_2.html">Run the Library Editor</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.7')" id="menu_1.7Title" class="menutitle">Details</div>
+<div id="menu_1.7" class="menuitemgroup">
+<div class="menuitem">
+<a href="../jpox/inheritance.html">Inheritance Mapping</a>
+</div>
+<div class="menuitem">
+<a href="../jpox/jpox_details.html">JPOX Details</a>
+</div>
+<div class="menuitem">
+<a href="../jpox/jpoxresources.html">EMF/JPOX Resources</a>
+</div>
+<div class="menuitem">
+<a href="../jpox/resource_utility.html">Resource Utility</a>
+</div>
+<div class="menuitem">
+<a href="../jpox/jpoxdatastore.html">JpoxDataStore</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Annotations (JPA/EJB3)</div>
+<div id="menu_1.8" class="menuitemgroup">
+<div class="menuitem">
+<a href="../jpox/ejb3_features.html">Supported Ann.</a>
+</div>
+<div class="menuitem">
+<a href="../jpox/ejb3_format.html">EAnn. Format</a>
+</div>
+<div class="menuitem">
+<a href="../jpox/ejb3_examples.html">EAnn. Examples</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.9')" id="menu_1.9Title" class="menutitle">XML Schema</div>
+<div id="menu_1.9" class="menuitemgroup">
+<div class="menuitem">
+<a href="../jpox/features_details.html">XML Schema Features</a>
+</div>
+<div class="menuitem">
+<a href="../jpox/featuremap.html">Feature Map/Mixed Content</a>
+</div>
+<div class="menuitem">
+<a href="../jpox/substitution.html">Substitution Group</a>
+</div>
+<div class="menuitem">
+<a href="../jpox/anytype.html">xsd:any/xsd:anyType</a>
+</div>
+<div class="menuitem">
+<a href="../jpox/schema_list.html">XML Schema Examples</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.10')" id="menu_1.10Title" class="menutitle">Support</div>
+<div id="menu_1.10" class="menuitemgroup">
+<div class="menuitem">
+<a href="../jpox/troubleshooting.html">Troubleshooting</a>
+</div>
+<div class="menuitem">
+<a href="../jpox/upgrading.html">Upgrading</a>
+</div>
+<div class="menuitem">
+<a href="../jpox/mailinglist.html">Newsgroup</a>
+</div>
+<div class="menuitem">
+<a href="../jpox/emfjpoxsupport.html">EMF/JPOX Support</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.11')" id="menu_1.11Title" class="menutitle">Developer</div>
+<div id="menu_1.11" class="menuitemgroup">
+<div class="menuitem">
+<a href="../jpox/svn.html">CVS</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.12')" id="menu_1.12Title" class="menutitle">Home</div>
+<div id="menu_1.12" class="menuitemgroup">
+<div class="menuitem">
<a href="../hibernate/index.html">Introduction</a>
</div>
<div class="menuitem">
@@ -103,8 +265,8 @@
<a href="../hibernate/license.html">License</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.2')" id="menu_1.2Title" class="menutitle">Library Tutorial</div>
-<div id="menu_1.2" class="menuitemgroup">
+<div onclick="SwitchMenu('menu_1.13')" id="menu_1.13Title" class="menutitle">Library Tutorial</div>
+<div id="menu_1.13" class="menuitemgroup">
<div class="menuitem">
<a href="../hibernate/tutorialone/tutorial1_intro.html">Introduction</a>
</div>
@@ -124,8 +286,8 @@
<a href="../hibernate/tutorialone/tutorial1_5.html">Using EMF/JPOX Resources</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.3')" id="menu_1.3Title" class="menutitle">Library Editor Tutorial</div>
-<div id="menu_1.3" class="menuitemgroup">
+<div onclick="SwitchMenu('menu_1.14')" id="menu_1.14Title" class="menutitle">Library Editor Tutorial</div>
+<div id="menu_1.14" class="menuitemgroup">
<div class="menuitem">
<a href="../hibernate/tutorialtwo/tutorial2_intro.html">Introduction</a>
</div>
@@ -136,8 +298,8 @@
<a href="../hibernate/tutorialtwo/tutorial2_2.html">Run the Library Editor</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.4')" id="menu_1.4Title" class="menutitle">Details</div>
-<div id="menu_1.4" class="menuitemgroup">
+<div onclick="SwitchMenu('menu_1.15')" id="menu_1.15Title" class="menutitle">Details</div>
+<div id="menu_1.15" class="menuitemgroup">
<div class="menuitem">
<a href="../hibernate/dynamic.html">Dynamic EMF Tutorial</a>
</div>
@@ -163,8 +325,8 @@
<a href="../hibernate/resource_utility.html">Resource Utility</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations</div>
-<div id="menu_1.5" class="menuitemgroup">
+<div onclick="SwitchMenu('menu_1.16')" id="menu_1.16Title" class="menutitle">Annotations (JPA/EJB3)</div>
+<div id="menu_1.16" class="menuitemgroup">
<div class="menuitem">
<a href="../hibernate/ejb3_format.html">Format</a>
</div>
@@ -172,14 +334,11 @@
<a href="../hibernate/ejb3_examples.html">Examples</a>
</div>
<div class="menuitem">
-<a href="../hibernate/ejb3_features.html">EJB3</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/custom_annotations.html">Custom</a>
+<a href="../hibernate/ejb3_features.html">JPA/EJB3</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.6')" id="menu_1.6Title" class="menutitle">XML Schema</div>
-<div id="menu_1.6" class="menuitemgroup">
+<div onclick="SwitchMenu('menu_1.17')" id="menu_1.17Title" class="menutitle">XML Schema</div>
+<div id="menu_1.17" class="menuitemgroup">
<div class="menuitem">
<a href="../hibernate/features_details.html">XML Schema Support</a>
</div>
@@ -190,8 +349,8 @@
<a href="../hibernate/featuremap.html">Feature Map/Mixed Content</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.7')" id="menu_1.7Title" class="menutitle">Support</div>
-<div id="menu_1.7" class="menuitemgroup">
+<div onclick="SwitchMenu('menu_1.18')" id="menu_1.18Title" class="menutitle">Support</div>
+<div id="menu_1.18" class="menuitemgroup">
<div class="menuitem">
<a href="../hibernate/troubleshooting.html">Troubleshooting</a>
</div>
@@ -199,19 +358,16 @@
<a href="../hibernate/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../hibernate/mailinglist.html">Mailinglist</a>
+<a href="../hibernate/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../hibernate/emfhibsupport.html">EMF/Hibernate Support</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_selected_1.8')" id="menu_selected_1.8Title" class="menutitle">Developer</div>
-<div id="menu_selected_1.8" class="selectedmenuitemgroup">
+<div onclick="SwitchMenu('menu_1.19')" id="menu_1.19Title" class="menutitle">Developer</div>
+<div id="menu_1.19" class="menuitemgroup">
<div class="menuitem">
-<a href="../hibernate/svn.html">Subversion</a>
-</div>
-<div class="menupage">
-<div class="menupagetitle">Test cases</div>
+<a href="../hibernate/svn.html">CVS</a>
</div>
</div>
</div>
@@ -285,7 +441,7 @@
<p>
Before running the testcases you have to specify the database connection information in the dbadapters.properties
- file in the org.elver.store.hibernate.test project in the src folder. The properties are explained in the dbadapters.properties file.
+ file in the org.eclipse.emf.teneo.hibernate.test project in the src folder. The properties are explained in the dbadapters.properties file.
The test.properties file in the same folder determines which configuration is tested (for example which database and
which inheritance mapping strategy).
</p>
@@ -302,11 +458,11 @@
<h3>Run the testcases</h3>
-<p>The org.elver.store.hibernate.test.AllTests class runs all testcases. More specific testruns are
- available in subpackages of org.elver.store.hibernate.test.</p>
+<p>The org.eclipse.emf.teneo.hibernate.test.AllTests class runs all testcases. More specific testruns are
+ available in subpackages of org.eclipse.emf.teneo.hibernate.test.</p>
<p>After you have done a test run, the system will store the generated hibernate.hbm.xml (for debug purposes) in the run directory of the
- org.elver.store.hibernate.test project.</p>
+ org.eclipse.emf.teneo.hibernate.test project.</p>
</div>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/troubleshooting.html b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/troubleshooting.html
index 7adf54d71..8cd88f33b 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/troubleshooting.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/troubleshooting.html
@@ -163,7 +163,7 @@
<a href="../hibernate/resource_utility.html">Resource Utility</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../hibernate/ejb3_format.html">Format</a>
@@ -172,10 +172,7 @@
<a href="../hibernate/ejb3_examples.html">Examples</a>
</div>
<div class="menuitem">
-<a href="../hibernate/ejb3_features.html">EJB3</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/custom_annotations.html">Custom</a>
+<a href="../hibernate/ejb3_features.html">JPA/EJB3</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.6')" id="menu_1.6Title" class="menutitle">XML Schema</div>
@@ -199,7 +196,7 @@
<a href="../hibernate/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../hibernate/mailinglist.html">Mailinglist</a>
+<a href="../hibernate/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../hibernate/emfhibsupport.html">EMF/Hibernate Support</a>
@@ -208,10 +205,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../hibernate/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/testcases.html">Test cases</a>
+<a href="../hibernate/svn.html">CVS</a>
</div>
</div>
</div>
@@ -259,10 +253,10 @@
<a href="#More+debug+information+from+Eclipse">More debug information from Eclipse</a>
</li>
<li>
-<a href="#Common+issues">Common issues</a>
-<ul class="minitoc">
+<a href="#Cut+and+Paste+does+not+work+in+the+Editor">Cut and Paste does not work in the Editor</a>
+</li>
<li>
-<a href="#Column+name+_vn_+not+supported+by+database">Column name _vn_ not supported by database</a>
+<a href="#Column+name+e_version+not+supported+by+database">Column name e_version not supported by database</a>
</li>
<li>
<a href="#Column+names+too+long">Column names too long</a>
@@ -274,10 +268,7 @@
<a href="#Created+new+model+through+new+model+wizard%3A+diagnostic+error">Created new model through new model wizard: diagnostic error</a>
</li>
<li>
-<a href="#java.lang.NoClassDefFoundError+when+starting%2Finitializing+runtime+layer+%281%29">java.lang.NoClassDefFoundError when starting/initializing runtime layer (1)</a>
-</li>
-<li>
-<a href="#java.lang.NoClassDefFoundError+when+starting%2Finitializing+runtime+layer+%282%29">java.lang.NoClassDefFoundError when starting/initializing runtime layer (2)</a>
+<a href="#java.lang.NoClassDefFoundError+when+starting%2Finitializing+runtime+layer">java.lang.NoClassDefFoundError when starting/initializing runtime layer</a>
</li>
<li>
<a href="#No+class+def+found%3A+org.hibernate.proxy.ProxyFactory">No class def found: org.hibernate.proxy.ProxyFactory</a>
@@ -292,7 +283,13 @@
<a href="#Update+manager+does+not+find+the+upgrade+of+the+EMF+Hibernate+plugin">Update manager does not find the upgrade of the EMF Hibernate plugin</a>
</li>
<li>
-<a href="#The+EMF+generated+editor+does+not+start+and+the+error+log+gives+a+sql+error+%27Missing+column....%27">The EMF generated editor does not start and the error log gives a sql error 'Missing column....'</a>
+<a href="#Editor+does+not+start%2C++the+error+log+gives+a+sql+error+%27Missing+column....%27">Editor does not start, the error log gives a sql error 'Missing column....'</a>
+</li>
+<li>
+<a href="#Editor+does+not+start%2C+ClassNotFoundException+on+the+Editor+Plugin">Editor does not start, ClassNotFoundException on the Editor Plugin</a>
+</li>
+<li>
+<a href="#Editor+does+not+start%2C+AssertionFailedException">Editor does not start, AssertionFailedException</a>
</li>
<li>
<a href="#Validation+exception+on+enumerate+properties+when+saving+the+editor+content">Validation exception on enumerate properties when saving the editor content</a>
@@ -301,17 +298,17 @@
<a href="#Stacktraces+when+starting+Eclipse+with+already+open+EMF+editor">Stacktraces when starting Eclipse with already open EMF editor</a>
</li>
<li>
-<a href="#Elver+does+not+see+my+changes+in+the+ecore+model">Elver does not see my changes in the ecore model</a>
-</li>
-</ul>
+<a href="#Teneo+does+not+see+my+changes+in+the+ecore+model">Teneo does not see my changes in the ecore model</a>
</li>
</ul>
+<br>
+
<p>
-<em>For troubleshooting please also visit the <strong><a href="knownissues.html">Known Issues</a></strong> page.</em>
+<em>For troubleshooting please also visit <strong>the EMFT open issues list <a class="external" href="https://bugs.eclipse.org/bugs/buglist.cgi?product=EMFT&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&query_format=advanced&order=map_components.name">here</a>.</strong></em>
</p>
-<a name="N10016"></a><a name="runtime"></a>
+<a name="N10019"></a><a name="runtime"></a>
<div class="h3">
<h3>Troubleshooting the Mapping and Runtime layer/Hibernate</h3>
@@ -330,17 +327,17 @@
</div>
-<a name="N10031"></a><a name="ormapper"></a>
+<a name="N10034"></a><a name="ormapper"></a>
<div class="h3">
<h3>Troubleshooting the automatic in-memory mapping</h3>
-<p>The mapping is generated in memory. To view the mapping created by Elver please call the method
+<p>The mapping is generated in memory. To view the mapping created by Teneo please call the method
getMappingXML on the HbDataStore. The returned String contains the Hibernate mapping.</p>
</div>
-<a name="N1003B"></a><a name="manualormapper"></a>
+<a name="N1003E"></a><a name="manualormapper"></a>
<div class="h3">
<h3>Troubleshooting the OR Mapper Menu Option</h3>
@@ -351,20 +348,20 @@
<p>The OR Mapper menu option only works if the ecore file is located in the same Java Project as the generated
EPackage sources.</p>
-<p>When the console shows this exception: <em>Exception in thread "main" java.lang.NoClassDefFoundError: org/elver/store/hibernate/mapper/GenerateHBM</em>
- then you have not added the org.elver.store.hibernate.runtime to the dependencies of the model plugin.</p>
+<p>When the console shows this exception: <em>Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/emf/teneo/hibernate/mapper/GenerateHBM</em>
+ then you have not added the org.eclipse.emf.teneo.hibernate plugin to the dependencies of the model plugin.</p>
<p>
To analyze what the problem is first view the error log. The error log
can be opened through: <em>Window &gt; Show View &gt; Error Log</em>. By doubleclicking on the lines in
the error log you can get more information.</p>
-<p>More information is present in the log file generated by the Elver plugins. The log
- file can be found in the .metadata/.plugins/org.elver.store.jpox.eclipse or .metadata/.plugins/org.elver.store.eclipse subdirectory in the Eclipse workspace directory (note
+<p>More information is present in the log file generated by the Teneo plugins. The log
+ file can be found in the .metadata/.plugins/org.eclipse.emf.teneo.jpox.eclipse or .metadata/.plugins/org.eclipse.emf.teneo.eclipse subdirectory in the Eclipse workspace directory (note
the dots before metadata and plugins).</p>
-<p>More information is present in the log file generated by the Elver plugins. The log
- file can be found in the .metadata/.plugins/org.elver.store.hibernate.eclipse or .metadata/.plugins/org.elver.store.eclipse subdirectory in the Eclipse workspace directory (note
+<p>More information is present in the log file generated by the Teneo plugins. The log
+ file can be found in the .metadata/.plugins/org.eclipse.emf.teneo.hibernate.eclipse or .metadata/.plugins/org.eclipse.emf.teneo.eclipse subdirectory in the Eclipse workspace directory (note
the dots before metadata and plugins).</p>
<p>When mailing a question regarding these type of errors please also post the logfile.
@@ -372,7 +369,7 @@
</div>
-<a name="N1005D"></a><a name="resourceplanning"></a>
+<a name="N10060"></a><a name="resourceplanning"></a>
<div class="h3">
<h3>Troubleshooting the Resource Utilities</h3>
@@ -386,8 +383,8 @@
the error log you can get more information.
</p>
-<p>More information is present in the log file generated by the Elver plugins. The log
- file can be found in the .metadata/.plugins/org.elver.store.hibernate.eclipse or .metadata/.plugins/org.elver.store.eclipse subdirectory in the Eclipse workspace directory (note
+<p>More information is present in the log file generated by the Teneo plugins. The log
+ file can be found in the .metadata/.plugins/org.eclipse.emf.teneo.hibernate.eclipse or .metadata/.plugins/org.eclipse.emf.teneo.eclipse subdirectory in the Eclipse workspace directory (note
the dots before metadata and plugins).</p>
<p>When mailing a question regarding these type of errors please also post the logfile.
@@ -395,7 +392,7 @@
</div>
-<a name="N10073"></a><a name="More+debug+information+from+Eclipse"></a>
+<a name="N10076"></a><a name="More+debug+information+from+Eclipse"></a>
<div class="h3">
<h3>More debug information from Eclipse</h3>
@@ -411,92 +408,102 @@ org.eclipse.osgi.framework.debug.Debug.DEBUG_GENERAL = true;
</div>
-<a name="N10083"></a><a name="Common+issues"></a>
+<a name="N10086"></a><a name="Cut+and+Paste+does+not+work+in+the+Editor"></a>
<div class="h3">
-<h3>Common issues</h3>
+<h3>Cut and Paste does not work in the Editor</h3>
+
+<p>Please look <a href="hibernate_details.html#cutpaste">here</a>
+</p>
+
+</div>
+<a name="N10092"></a><a name="Column+name+e_version+not+supported+by+database"></a>
+<div class="h3">
+<h3>Column name e_version not supported by database</h3>
-<a name="N10089"></a><a name="Column+name+_vn_+not+supported+by+database"></a>
-<div class="h4">
-<h4>Column name _vn_ not supported by database</h4>
-<p>Elver will automatically add a version column to the database for each object. The default version column name
- is _vn_. However not all databases support an _ in the column name. To set the version column name you can set
+<p>Teneo will automatically add a version column to the database for each object. The default version column name
+ is e_version. However not all databases support an _ in the column name. To set the version column name you can set
an option as explained <a href="options.html">here</a>.</p>
+
</div>
-<a name="N10096"></a><a name="Column+names+too+long"></a>
-<div class="h4">
-<h4>Column names too long</h4>
-<p>Elver creates foreign key column names by concatenating the name of the (e)class and the property name. The result can be
+<a name="N1009F"></a><a name="Column+names+too+long"></a>
+<div class="h3">
+<h3>Column names too long</h3>
+
+<p>Teneo creates foreign key column names by concatenating the name of the (e)class and the property name. The result can be
a column name which is too long for certain databases. You can control the maximum column name length by setting the
relevant runtime option, see <a href="options.html">here</a>.</p>
+
</div>
-<a name="N100A3"></a><a name="org.hibernate.DuplicateMappingException%3A+Duplicate+class%2Fentitymapping"></a>
-<div class="h4">
-<h4>org.hibernate.DuplicateMappingException: Duplicate class/entitymapping</h4>
+<a name="N100AC"></a><a name="org.hibernate.DuplicateMappingException%3A+Duplicate+class%2Fentitymapping"></a>
+<div class="h3">
+<h3>org.hibernate.DuplicateMappingException: Duplicate class/entitymapping</h3>
+
<p>This exception occurs when two EClasses (of different EPackages) have the same name. To solve this you need to
- direct Elver to use qualified EClass names, see <a href="options.html">here</a>. Note that when using qualified
+ direct Teneo to use qualified EClass names, see <a href="options.html">here</a>. Note that when using qualified
EClass names that also HQL needs to use the qualified EClass names. The EClass names are qualified by prepending
the nsprefix of the EPackage with a dot (.) as a separator.</p>
+
</div>
-<a name="N100B0"></a><a name="Created+new+model+through+new+model+wizard%3A+diagnostic+error"></a>
-<div class="h4">
-<h4>Created new model through new model wizard: diagnostic error</h4>
+<a name="N100B9"></a><a name="Created+new+model+through+new+model+wizard%3A+diagnostic+error"></a>
+<div class="h3">
+<h3>Created new model through new model wizard: diagnostic error</h3>
+
<p>The generated EMF model wizard allows invalid documents. When going through the
wizard you need to select a type to create as the first document in the resource. The
EMF model wizard creates an empty (all members are null) instance of this type and adds
it to the Hibernate resource. Before the Hibernate resource is
saved it checks if the content of the resource is valid. When nullable-constraints
are violated a StoreValidationException (with Diagnostics) is thrown.</p>
+
<p>To solve this you should make your model more relaxed (make elements nullable) or
add a small amount of code, which sets the non-nullable fields, to the model wizard. An example of this last solution
is illustrated in the Library Tutorial.
</p>
-</div>
-<a name="N100BC"></a><a name="java.lang.NoClassDefFoundError+when+starting%2Finitializing+runtime+layer+%281%29"></a>
-<div class="h4">
-<h4>java.lang.NoClassDefFoundError when starting/initializing runtime layer (1)</h4>
-<p>This error occurs when the runtime layer is initialized. It occurs because your
- application (and ecore libraries) are not present in the classpath of the runtime layer.
- To solve this issue add the following line to the Manifest.MF of your EMF model project:
- </p>
-<p>Eclipse-RegisterBuddy: org.elver.store.hibernate.runtime</p>
-<p>See also the <a href="installation.html">installation</a> page</p>
</div>
-<a name="N100D0"></a><a name="java.lang.NoClassDefFoundError+when+starting%2Finitializing+runtime+layer+%282%29"></a>
-<div class="h4">
-<h4>java.lang.NoClassDefFoundError when starting/initializing runtime layer (2)</h4>
-<p>When your model is divided over different projects/plugins then the registerbuddy setting has to
- be set in the project with the 'widest' classpath (the project with a classpath containing the other plugins).
+<a name="N100C5"></a><a name="java.lang.NoClassDefFoundError+when+starting%2Finitializing+runtime+layer"></a>
+<div class="h3">
+<h3>java.lang.NoClassDefFoundError when starting/initializing runtime layer</h3>
+
+
+<p>When your model is divided over different projects/plugins then the dependency on
+ org.eclipse.emf.teneo.hibernate has to be set in the project with the 'widest' classpath (the project with a classpath containing the other plugins).
For example if you have the following two emf projects:</p>
+
<ul>
<li>Core</li>
<li>Specific (which uses/imports Core)</li>
</ul>
-<p>Then the registerbuddy should only be in the META-INF of the 'Specific' project. This is required
- otherwise Hibernate will not see the 'Specific' project. Setting register-buddy in both 'Core' and 'Specific'
- will also result in classpath errors in Hibernate.</p>
+
+<p>Then the dependency should preferably be in the META-INF of the 'Specific' project. This is required
+ otherwise Hibernate will not see the 'Specific' project.</p>
+
</div>
-<a name="N100E3"></a><a name="No+class+def+found%3A+org.hibernate.proxy.ProxyFactory"></a>
-<div class="h4">
-<h4>No class def found: org.hibernate.proxy.ProxyFactory</h4>
+<a name="N100D8"></a><a name="No+class+def+found%3A+org.hibernate.proxy.ProxyFactory"></a>
+<div class="h3">
+<h3>No class def found: org.hibernate.proxy.ProxyFactory</h3>
+
<p>This exception can occur when your classes have been enhanced by JPOX and you
try to persist them via hibernate. Another reason can be that the name you used
to register the SessionFactory does not correspond to the expected extension
(e.g. library).
</p>
+
</div>
-<a name="N100EC"></a><a name="Could+not+determine+type+for%3A+org.eclipse.emf.common.util.AbstractEnumerator%2C+for+columns%3A+%5Borg.hibernate.mapping.Column%28enu%29%5D"></a>
-<div class="h4">
-<h4>Could not determine type for: org.eclipse.emf.common.util.AbstractEnumerator, for columns: [org.hibernate.mapping.Column(enu)]</h4>
+<a name="N100E1"></a><a name="Could+not+determine+type+for%3A+org.eclipse.emf.common.util.AbstractEnumerator%2C+for+columns%3A+%5Borg.hibernate.mapping.Column%28enu%29%5D"></a>
+<div class="h3">
+<h3>Could not determine type for: org.eclipse.emf.common.util.AbstractEnumerator, for columns: [org.hibernate.mapping.Column(enu)]</h3>
+
<p>This exception can occur when you have a enumerate object type in your model. An enumerate object type differs from a
standard enumerate because it has a nillable="true" attribute on the element, for example:</p>
+
<pre class="code">
&lt;element name="enu" type="this:SimpleEnum" nillable="true"/&gt;
@@ -507,62 +514,111 @@ org.eclipse.osgi.framework.debug.Debug.DEBUG_GENERAL = true;
&lt;/restriction&gt;
&lt;/simpleType&gt;
</pre>
+
<p>As a workaround add an Enumerated annotation (see ejb3 annotations on this site) to the element.</p>
+
</div>
-<a name="N100FB"></a><a name="The+resource+is+empty+in+the+generated+editor"></a>
-<div class="h4">
-<h4>The resource is empty in the generated editor</h4>
-<p>See the <a href="knownissues.html">Know Issues</a>.</p>
+<a name="N100F0"></a><a name="The+resource+is+empty+in+the+generated+editor"></a>
+<div class="h3">
+<h3>The resource is empty in the generated editor</h3>
+
+
+<p>See the <a href="knownissues.html">Known Issues</a>.</p>
+
</div>
-<a name="N10109"></a><a name="Update+manager+does+not+find+the+upgrade+of+the+EMF+Hibernate+plugin"></a>
-<div class="h4">
-<h4>Update manager does not find the upgrade of the EMF Hibernate plugin</h4>
+<a name="N100FE"></a><a name="Update+manager+does+not+find+the+upgrade+of+the+EMF+Hibernate+plugin"></a>
+<div class="h3">
+<h3>Update manager does not find the upgrade of the EMF Hibernate plugin</h3>
+
<p>As a workaround use find new features to install a new version of the EMF Hibernate plugin.</p>
+
</div>
-<a name="N10112"></a><a name="The+EMF+generated+editor+does+not+start+and+the+error+log+gives+a+sql+error+%27Missing+column....%27"></a>
-<div class="h4">
-<h4>The EMF generated editor does not start and the error log gives a sql error 'Missing column....'</h4>
+<a name="N10107"></a><a name="Editor+does+not+start%2C++the+error+log+gives+a+sql+error+%27Missing+column....%27"></a>
+<div class="h3">
+<h3>Editor does not start, the error log gives a sql error 'Missing column....'</h3>
+
<p>This can occur if your model has changed or you just upgraded the OR Mapper plugin and have generated a new
hibernate.hbm.xml file. Before upgrading it is best
to export the current database using the <a href="resource_utility.xml">Resource Utility</a>. After exporting start
with a new database.</p>
+
+</div>
+
+<a name="N10114"></a><a name="Editor+does+not+start%2C+ClassNotFoundException+on+the+Editor+Plugin"></a>
+<div class="h3">
+<h3>Editor does not start, ClassNotFoundException on the Editor Plugin</h3>
+
+<p>This can happen when the Hibernate libraries can not find the model classes. You can check if
+ you have set the BuddyPolicy in the Manifest.MF of the plugin containing the Hibernate jar files.
+ If not add the following to the Manifest.MF of the plugin containing the Hibernate jar files:
+ Eclipse-BuddyPolicy: dependent</p>
+
+</div>
+
+<a name="N1011D"></a><a name="Editor+does+not+start%2C+AssertionFailedException"></a>
+<div class="h3">
+<h3>Editor does not start, AssertionFailedException</h3>
+
+<p>When you start the editor you get the following exteption (stacktrace truncated):</p>
+
+<pre class="code">
+org.eclipse.core.runtime.AssertionFailedException: assertion failed:
+at org.eclipse.core.runtime.Assert.isTrue(Assert.java:109)
+at org.eclipse.core.runtime.Assert.isTrue(Assert.java:95)
+at org.eclipse.ui.part.MultiPageEditorPart.setActivePage(MultiPageEditorPart.java:688)
+at org.eclipse.ui.part.MultiPageEditorPart.createPartControl(MultiPageEditorPart.java:280)
+ </pre>
+
+<p>You probably started the editor with an empty database, the editor does not support this.
+ You should have at least one root object in the database (for example a Library object in
+ the Library tutorial).</p>
+
</div>
-<a name="N1011F"></a><a name="Validation+exception+on+enumerate+properties+when+saving+the+editor+content"></a>
-<div class="h4">
-<h4>Validation exception on enumerate properties when saving the editor content</h4>
+<a name="N1012C"></a><a name="Validation+exception+on+enumerate+properties+when+saving+the+editor+content"></a>
+<div class="h3">
+<h3>Validation exception on enumerate properties when saving the editor content</h3>
+
+
<p>Symptom: a validation error is thrown (see the console) that certain enumerate fields have not been
set.</p>
+
<p>Cause: the EMF validator incorrectly enforces that the value of an enumerate field
should not be the same as the default value.</p>
+
<p>Solution: is an EMF issue which has been solved
(<a class="external" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=104723">see here</a>). Upgrading EMF to a 2.2 or a
later 2.1 release solves this.</p>
+
</div>
-<a name="N10133"></a><a name="Stacktraces+when+starting+Eclipse+with+already+open+EMF+editor"></a>
-<div class="h4">
-<h4>Stacktraces when starting Eclipse with already open EMF editor</h4>
+<a name="N10140"></a><a name="Stacktraces+when+starting+Eclipse+with+already+open+EMF+editor"></a>
+<div class="h3">
+<h3>Stacktraces when starting Eclipse with already open EMF editor</h3>
+
<p>Symptom: This occurs when keeping an EMF generated editor open when closing eclipse and
then starting eclipse again. When starting Eclipse again you see many stack traces in the console
with messages like: class not found exception: org/hibernate/proxy/proxy.</p>
+
<p>Consequence: The editor will open correctly and can be used. The only 'consequence' is that the
data is not lazily loaded.</p>
+
<p>Solution: A solution has been implemented in release 0.2.0.1.</p>
+
</div>
-<a name="N10142"></a><a name="Elver+does+not+see+my+changes+in+the+ecore+model"></a>
-<div class="h4">
-<h4>Elver does not see my changes in the ecore model</h4>
-<p>Elver uses the runtime version of the ecore model. The runtime version is present as java code in the
+<a name="N1014F"></a><a name="Teneo+does+not+see+my+changes+in+the+ecore+model"></a>
+<div class="h3">
+<h3>Teneo does not see my changes in the ecore model</h3>
+
+<p>Teneo uses the runtime version of the ecore model. The runtime version is present as java code in the
generated EPackage implementation class. This runtime ecore can differ from the ecore file when the
- model code is not regenerated after a change in the ecore file. So to let Elver use the changes in the ecore
+ model code is not regenerated after a change in the ecore file. To let Teneo use the changes in the ecore
file the model code needs to be regenerated.</p>
-</div>
-
+
</div>
</div>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialone/license.html b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialone/license.html
index bf57ca616..1da8659ef 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialone/license.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialone/license.html
@@ -184,7 +184,7 @@
<a href="../../jpox/jpoxdatastore.html">JpoxDataStore</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Annotations (EJB3)</div>
+<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
<a href="../../jpox/ejb3_features.html">Supported Ann.</a>
@@ -223,7 +223,7 @@
<a href="../../jpox/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../../jpox/mailinglist.html">Mailinglist</a>
+<a href="../../jpox/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../../jpox/emfjpoxsupport.html">EMF/JPOX Support</a>
@@ -232,10 +232,7 @@
<div onclick="SwitchMenu('menu_1.11')" id="menu_1.11Title" class="menutitle">Developer</div>
<div id="menu_1.11" class="menuitemgroup">
<div class="menuitem">
-<a href="../../jpox/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../../jpox/testcases.html">Test cases</a>
+<a href="../../jpox/svn.html">CVS</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.12')" id="menu_1.12Title" class="menutitle">Home</div>
@@ -328,7 +325,7 @@
<a href="../../hibernate/resource_utility.html">Resource Utility</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.16')" id="menu_1.16Title" class="menutitle">Annotations</div>
+<div onclick="SwitchMenu('menu_1.16')" id="menu_1.16Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.16" class="menuitemgroup">
<div class="menuitem">
<a href="../../hibernate/ejb3_format.html">Format</a>
@@ -337,10 +334,7 @@
<a href="../../hibernate/ejb3_examples.html">Examples</a>
</div>
<div class="menuitem">
-<a href="../../hibernate/ejb3_features.html">EJB3</a>
-</div>
-<div class="menuitem">
-<a href="../../hibernate/custom_annotations.html">Custom</a>
+<a href="../../hibernate/ejb3_features.html">JPA/EJB3</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.17')" id="menu_1.17Title" class="menutitle">XML Schema</div>
@@ -364,7 +358,7 @@
<a href="../../hibernate/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../../hibernate/mailinglist.html">Mailinglist</a>
+<a href="../../hibernate/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../../hibernate/emfhibsupport.html">EMF/Hibernate Support</a>
@@ -373,10 +367,7 @@
<div onclick="SwitchMenu('menu_1.19')" id="menu_1.19Title" class="menutitle">Developer</div>
<div id="menu_1.19" class="menuitemgroup">
<div class="menuitem">
-<a href="../../hibernate/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../../hibernate/testcases.html">Test cases</a>
+<a href="../../hibernate/svn.html">CVS</a>
</div>
</div>
</div>
@@ -408,25 +399,16 @@
</div>
<div class="app" id="projecthome">
-<p>All software, documentation, this website and other direct or indirect material
- is licensed under the <a class="external" href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0 license</a>. In all documents and software the following copyright and
- license statement is present.
+<p>Teneo is licensed under the <a class="external" href="http://www.eclipse.org/org/documents/epl-v10.php">Eclipse Public License</a>.
+ In all documents and software the following copyright and license statement is present.
</p>
<pre class="code">
- Copyright 2005-2006, Elver.org (http://www.elver.org).
-
- Licensed 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.
+Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Eclipse Public License v1.0
+which accompanies this distribution, and is available at
+http://www.eclipse.org/legal/epl-v10.html
</pre>
</div>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialone/tutorial1_1.html b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialone/tutorial1_1.html
index ca217e39f..59a366281 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialone/tutorial1_1.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialone/tutorial1_1.html
@@ -163,7 +163,7 @@
<a href="../../hibernate/resource_utility.html">Resource Utility</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../../hibernate/ejb3_format.html">Format</a>
@@ -172,10 +172,7 @@
<a href="../../hibernate/ejb3_examples.html">Examples</a>
</div>
<div class="menuitem">
-<a href="../../hibernate/ejb3_features.html">EJB3</a>
-</div>
-<div class="menuitem">
-<a href="../../hibernate/custom_annotations.html">Custom</a>
+<a href="../../hibernate/ejb3_features.html">JPA/EJB3</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.6')" id="menu_1.6Title" class="menutitle">XML Schema</div>
@@ -199,7 +196,7 @@
<a href="../../hibernate/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../../hibernate/mailinglist.html">Mailinglist</a>
+<a href="../../hibernate/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../../hibernate/emfhibsupport.html">EMF/Hibernate Support</a>
@@ -208,10 +205,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../../hibernate/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../../hibernate/testcases.html">Test cases</a>
+<a href="../../hibernate/svn.html">CVS</a>
</div>
</div>
</div>
@@ -260,24 +254,24 @@
<h3>Add runtime plugin to dependencies of plugin.xml</h3>
-<p>To enable the runtime layer the org.elver.store.hibernate.runtime plugin needs to be added to the
- plugin dependencies of the plugin.xml (see image below).</p>
-
-<p>In addition the following <em>Eclipse-RegisterBuddy: org.elver.store.hibernate.runtime</em>,
- needs to be added to the MANIFEST.MF of the Library model project
- (see <a class="external" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=87775#c57">here</a> why).</p>
+<p>To enable the runtime layer the org.eclipse.emf.teneo.hibernate plugin needs to be added to the
+ plugin dependencies of the plugin.xml (see image below). <em>The org.eclipse.emf.teneo.hibernate plugin
+ should be re-exported.</em>
+</p>
-<p>In addition your database JDBC driver should be added to classpath of the plugin and possible the packages
+<p>Your database JDBC driver should be added to classpath of the plugin and possible the packages
of the jdbc driver have to be made visible to other plugins.</p>
+<p>Add the hibernate libraries to the model project and make the packages visible.</p>
+
<p>
-<img alt="Setting dependency of plugin.xml" src="../images/plugin_dependency_reexport.gif">
+<img alt="Setting dependency of plugin.xml" src="../images/plugin_dependency.gif">
</p>
</div>
-<a name="N1002F"></a><a name="Create+Empty+Database"></a>
+<a name="N1002A"></a><a name="Create+Empty+Database"></a>
<div class="h3">
<h3>Create Empty Database</h3>
@@ -288,12 +282,12 @@
</div>
-<a name="N1003C"></a><a name="Add+Logging"></a>
+<a name="N10037"></a><a name="Add+Logging"></a>
<div class="h3">
<h3>Add Logging</h3>
-<p>To view the log messages of Hibernate and Elver you have to set the log4j properties. A
+<p>To view the log messages of Hibernate and Teneo you have to set the log4j properties. A
simple sample log4j.properties file can be downloaded <a href="../samples/log4j.properties">here</a>.
The log4j.properties file has to be placed directly in the src folder of the library model project.</p>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialone/tutorial1_2.html b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialone/tutorial1_2.html
index f6f04f5f7..035ad88f5 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialone/tutorial1_2.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialone/tutorial1_2.html
@@ -163,7 +163,7 @@
<a href="../../hibernate/resource_utility.html">Resource Utility</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../../hibernate/ejb3_format.html">Format</a>
@@ -172,10 +172,7 @@
<a href="../../hibernate/ejb3_examples.html">Examples</a>
</div>
<div class="menuitem">
-<a href="../../hibernate/ejb3_features.html">EJB3</a>
-</div>
-<div class="menuitem">
-<a href="../../hibernate/custom_annotations.html">Custom</a>
+<a href="../../hibernate/ejb3_features.html">JPA/EJB3</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.6')" id="menu_1.6Title" class="menutitle">XML Schema</div>
@@ -199,7 +196,7 @@
<a href="../../hibernate/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../../hibernate/mailinglist.html">Mailinglist</a>
+<a href="../../hibernate/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../../hibernate/emfhibsupport.html">EMF/Hibernate Support</a>
@@ -208,10 +205,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../../hibernate/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../../hibernate/testcases.html">Test cases</a>
+<a href="../../hibernate/svn.html">CVS</a>
</div>
</div>
</div>
@@ -275,7 +269,7 @@
<p>To let Hibernate access your database, you must specify the JDBC driver, database URL, username/password and the
database-specific dialect to use. These settings are specified using the standard Properties mechanism.</p>
-<p> Elver allows you to configure Hibernate in two ways: </p>
+<p>Teneo allows you to configure Hibernate in two ways: </p>
<ul>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialone/tutorial1_3.html b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialone/tutorial1_3.html
index 22c13ff6d..dbb00fd05 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialone/tutorial1_3.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialone/tutorial1_3.html
@@ -163,7 +163,7 @@
<a href="../../hibernate/resource_utility.html">Resource Utility</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../../hibernate/ejb3_format.html">Format</a>
@@ -172,10 +172,7 @@
<a href="../../hibernate/ejb3_examples.html">Examples</a>
</div>
<div class="menuitem">
-<a href="../../hibernate/ejb3_features.html">EJB3</a>
-</div>
-<div class="menuitem">
-<a href="../../hibernate/custom_annotations.html">Custom</a>
+<a href="../../hibernate/ejb3_features.html">JPA/EJB3</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.6')" id="menu_1.6Title" class="menutitle">XML Schema</div>
@@ -199,7 +196,7 @@
<a href="../../hibernate/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../../hibernate/mailinglist.html">Mailinglist</a>
+<a href="../../hibernate/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../../hibernate/emfhibsupport.html">EMF/Hibernate Support</a>
@@ -208,10 +205,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../../hibernate/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../../hibernate/testcases.html">Test cases</a>
+<a href="../../hibernate/svn.html">CVS</a>
</div>
</div>
</div>
@@ -281,7 +275,7 @@ Library library = (Library) libraries.get(0);</pre>
</div>
<p>
-<em>As noted in the source, you must use the EClass name in the query. (In most cases it's identical to the Java class name, however.)</em>
+<em>As noted in the source, you must use the EClass name in the query. (In most cases it's identical to the Java class name).</em>
</p>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialone/tutorial1_4.html b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialone/tutorial1_4.html
index 56490e8ba..ab0c7fb33 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialone/tutorial1_4.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialone/tutorial1_4.html
@@ -163,7 +163,7 @@
<a href="../../hibernate/resource_utility.html">Resource Utility</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../../hibernate/ejb3_format.html">Format</a>
@@ -172,10 +172,7 @@
<a href="../../hibernate/ejb3_examples.html">Examples</a>
</div>
<div class="menuitem">
-<a href="../../hibernate/ejb3_features.html">EJB3</a>
-</div>
-<div class="menuitem">
-<a href="../../hibernate/custom_annotations.html">Custom</a>
+<a href="../../hibernate/ejb3_features.html">JPA/EJB3</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.6')" id="menu_1.6Title" class="menutitle">XML Schema</div>
@@ -199,7 +196,7 @@
<a href="../../hibernate/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../../hibernate/mailinglist.html">Mailinglist</a>
+<a href="../../hibernate/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../../hibernate/emfhibsupport.html">EMF/Hibernate Support</a>
@@ -208,10 +205,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../../hibernate/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../../hibernate/testcases.html">Test cases</a>
+<a href="../../hibernate/svn.html">CVS</a>
</div>
</div>
</div>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialone/tutorial1_5.html b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialone/tutorial1_5.html
index df95f368a..68b2789e8 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialone/tutorial1_5.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialone/tutorial1_5.html
@@ -163,7 +163,7 @@
<a href="../../hibernate/resource_utility.html">Resource Utility</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../../hibernate/ejb3_format.html">Format</a>
@@ -172,10 +172,7 @@
<a href="../../hibernate/ejb3_examples.html">Examples</a>
</div>
<div class="menuitem">
-<a href="../../hibernate/ejb3_features.html">EJB3</a>
-</div>
-<div class="menuitem">
-<a href="../../hibernate/custom_annotations.html">Custom</a>
+<a href="../../hibernate/ejb3_features.html">JPA/EJB3</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.6')" id="menu_1.6Title" class="menutitle">XML Schema</div>
@@ -199,7 +196,7 @@
<a href="../../hibernate/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../../hibernate/mailinglist.html">Mailinglist</a>
+<a href="../../hibernate/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../../hibernate/emfhibsupport.html">EMF/Hibernate Support</a>
@@ -208,10 +205,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../../hibernate/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../../hibernate/testcases.html">Test cases</a>
+<a href="../../hibernate/svn.html">CVS</a>
</div>
</div>
</div>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialone/tutorial1_intro.html b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialone/tutorial1_intro.html
index 43b19dd9e..7ebfbf901 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialone/tutorial1_intro.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialone/tutorial1_intro.html
@@ -163,7 +163,7 @@
<a href="../../hibernate/resource_utility.html">Resource Utility</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../../hibernate/ejb3_format.html">Format</a>
@@ -172,10 +172,7 @@
<a href="../../hibernate/ejb3_examples.html">Examples</a>
</div>
<div class="menuitem">
-<a href="../../hibernate/ejb3_features.html">EJB3</a>
-</div>
-<div class="menuitem">
-<a href="../../hibernate/custom_annotations.html">Custom</a>
+<a href="../../hibernate/ejb3_features.html">JPA/EJB3</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.6')" id="menu_1.6Title" class="menutitle">XML Schema</div>
@@ -199,7 +196,7 @@
<a href="../../hibernate/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../../hibernate/mailinglist.html">Mailinglist</a>
+<a href="../../hibernate/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../../hibernate/emfhibsupport.html">EMF/Hibernate Support</a>
@@ -208,10 +205,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../../hibernate/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../../hibernate/testcases.html">Test cases</a>
+<a href="../../hibernate/svn.html">CVS</a>
</div>
</div>
</div>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialtwo/license.html b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialtwo/license.html
index bf57ca616..1da8659ef 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialtwo/license.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialtwo/license.html
@@ -184,7 +184,7 @@
<a href="../../jpox/jpoxdatastore.html">JpoxDataStore</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Annotations (EJB3)</div>
+<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
<a href="../../jpox/ejb3_features.html">Supported Ann.</a>
@@ -223,7 +223,7 @@
<a href="../../jpox/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../../jpox/mailinglist.html">Mailinglist</a>
+<a href="../../jpox/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../../jpox/emfjpoxsupport.html">EMF/JPOX Support</a>
@@ -232,10 +232,7 @@
<div onclick="SwitchMenu('menu_1.11')" id="menu_1.11Title" class="menutitle">Developer</div>
<div id="menu_1.11" class="menuitemgroup">
<div class="menuitem">
-<a href="../../jpox/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../../jpox/testcases.html">Test cases</a>
+<a href="../../jpox/svn.html">CVS</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.12')" id="menu_1.12Title" class="menutitle">Home</div>
@@ -328,7 +325,7 @@
<a href="../../hibernate/resource_utility.html">Resource Utility</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.16')" id="menu_1.16Title" class="menutitle">Annotations</div>
+<div onclick="SwitchMenu('menu_1.16')" id="menu_1.16Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.16" class="menuitemgroup">
<div class="menuitem">
<a href="../../hibernate/ejb3_format.html">Format</a>
@@ -337,10 +334,7 @@
<a href="../../hibernate/ejb3_examples.html">Examples</a>
</div>
<div class="menuitem">
-<a href="../../hibernate/ejb3_features.html">EJB3</a>
-</div>
-<div class="menuitem">
-<a href="../../hibernate/custom_annotations.html">Custom</a>
+<a href="../../hibernate/ejb3_features.html">JPA/EJB3</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.17')" id="menu_1.17Title" class="menutitle">XML Schema</div>
@@ -364,7 +358,7 @@
<a href="../../hibernate/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../../hibernate/mailinglist.html">Mailinglist</a>
+<a href="../../hibernate/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../../hibernate/emfhibsupport.html">EMF/Hibernate Support</a>
@@ -373,10 +367,7 @@
<div onclick="SwitchMenu('menu_1.19')" id="menu_1.19Title" class="menutitle">Developer</div>
<div id="menu_1.19" class="menuitemgroup">
<div class="menuitem">
-<a href="../../hibernate/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../../hibernate/testcases.html">Test cases</a>
+<a href="../../hibernate/svn.html">CVS</a>
</div>
</div>
</div>
@@ -408,25 +399,16 @@
</div>
<div class="app" id="projecthome">
-<p>All software, documentation, this website and other direct or indirect material
- is licensed under the <a class="external" href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0 license</a>. In all documents and software the following copyright and
- license statement is present.
+<p>Teneo is licensed under the <a class="external" href="http://www.eclipse.org/org/documents/epl-v10.php">Eclipse Public License</a>.
+ In all documents and software the following copyright and license statement is present.
</p>
<pre class="code">
- Copyright 2005-2006, Elver.org (http://www.elver.org).
-
- Licensed 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.
+Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Eclipse Public License v1.0
+which accompanies this distribution, and is available at
+http://www.eclipse.org/legal/epl-v10.html
</pre>
</div>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialtwo/tutorial2_1.html b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialtwo/tutorial2_1.html
index 1a6b1d6b2..bbc078c25 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialtwo/tutorial2_1.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialtwo/tutorial2_1.html
@@ -163,7 +163,7 @@
<a href="../../hibernate/resource_utility.html">Resource Utility</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../../hibernate/ejb3_format.html">Format</a>
@@ -172,10 +172,7 @@
<a href="../../hibernate/ejb3_examples.html">Examples</a>
</div>
<div class="menuitem">
-<a href="../../hibernate/ejb3_features.html">EJB3</a>
-</div>
-<div class="menuitem">
-<a href="../../hibernate/custom_annotations.html">Custom</a>
+<a href="../../hibernate/ejb3_features.html">JPA/EJB3</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.6')" id="menu_1.6Title" class="menutitle">XML Schema</div>
@@ -199,7 +196,7 @@
<a href="../../hibernate/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../../hibernate/mailinglist.html">Mailinglist</a>
+<a href="../../hibernate/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../../hibernate/emfhibsupport.html">EMF/Hibernate Support</a>
@@ -208,10 +205,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../../hibernate/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../../hibernate/testcases.html">Test cases</a>
+<a href="../../hibernate/svn.html">CVS</a>
</div>
</div>
</div>
@@ -262,20 +256,12 @@
<h3>Set dependencies of EMF model and editor plugins</h3>
-<p>The EMF persistency plugin (org.elver.store.hibernate.runtime) has to be added
+<p>The EMF persistency plugin (org.eclipse.emf.teneo.hibernate) has to be added
to the dependencies tab of the plugin of the Library model project. Check 'reexport this dependency'.</p>
-
-<p>
-<em>Important:</em> the following has to be added to the MANIFEST.MF of the
- library (model) project:</p>
-<p>
-
-<em>Eclipse-RegisterBuddy: org.elver.store.hibernate.runtime</em>
-</p>
</div>
-<a name="N10021"></a><a name="Initialization"></a>
+<a name="N10018"></a><a name="Initialization"></a>
<div class="h3">
<h3>Initialization</h3>
@@ -301,7 +287,10 @@ public void start(BundleContext context) throws Exception
hbds.setEPackages(new EPackage[]{LibraryPackage.eINSTANCE});
hbds.setHibernateProperties(props);
hbds.initialize();
-
+
+ // this is required to force the editor to retrieve the correct resource
+ Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("library", new HibernateResourceFactory())
+
super.start(context);
}
</pre>
@@ -324,14 +313,14 @@ public void start(BundleContext context) throws Exception
</div>
-<a name="N10045"></a><a name="Resource+Factory+setting"></a>
+<a name="N1003C"></a><a name="Resource+Factory+setting"></a>
<div class="h3">
<h3>Resource Factory setting</h3>
<p>For this tutorial an Hibernate EMF resource factory has to be specified. This is done
by setting the library element of the org.eclipse.emf.ecore.extension_parser extension
- point to: org.elver.store.hibernate.resource.HibernateResourceFactory.</p>
+ point to: org.eclipse.emf.teneo.hibernate.resource.HibernateResourceFactory.</p>
<p>
@@ -340,7 +329,7 @@ public void start(BundleContext context) throws Exception
</div>
-<a name="N10056"></a><a name="Create+valid+EMF+Objects"></a>
+<a name="N1004D"></a><a name="Create+valid+EMF+Objects"></a>
<div class="h3">
<h3>Create valid EMF Objects</h3>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialtwo/tutorial2_2.html b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialtwo/tutorial2_2.html
index ba6f68278..304b85057 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialtwo/tutorial2_2.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialtwo/tutorial2_2.html
@@ -163,7 +163,7 @@
<a href="../../hibernate/resource_utility.html">Resource Utility</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../../hibernate/ejb3_format.html">Format</a>
@@ -172,10 +172,7 @@
<a href="../../hibernate/ejb3_examples.html">Examples</a>
</div>
<div class="menuitem">
-<a href="../../hibernate/ejb3_features.html">EJB3</a>
-</div>
-<div class="menuitem">
-<a href="../../hibernate/custom_annotations.html">Custom</a>
+<a href="../../hibernate/ejb3_features.html">JPA/EJB3</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.6')" id="menu_1.6Title" class="menutitle">XML Schema</div>
@@ -199,7 +196,7 @@
<a href="../../hibernate/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../../hibernate/mailinglist.html">Mailinglist</a>
+<a href="../../hibernate/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../../hibernate/emfhibsupport.html">EMF/Hibernate Support</a>
@@ -208,10 +205,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../../hibernate/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../../hibernate/testcases.html">Test cases</a>
+<a href="../../hibernate/svn.html">CVS</a>
</div>
</div>
</div>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialtwo/tutorial2_intro.html b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialtwo/tutorial2_intro.html
index dba232c03..2b9e7dcd1 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialtwo/tutorial2_intro.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/tutorialtwo/tutorial2_intro.html
@@ -163,7 +163,7 @@
<a href="../../hibernate/resource_utility.html">Resource Utility</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../../hibernate/ejb3_format.html">Format</a>
@@ -172,10 +172,7 @@
<a href="../../hibernate/ejb3_examples.html">Examples</a>
</div>
<div class="menuitem">
-<a href="../../hibernate/ejb3_features.html">EJB3</a>
-</div>
-<div class="menuitem">
-<a href="../../hibernate/custom_annotations.html">Custom</a>
+<a href="../../hibernate/ejb3_features.html">JPA/EJB3</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.6')" id="menu_1.6Title" class="menutitle">XML Schema</div>
@@ -199,7 +196,7 @@
<a href="../../hibernate/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../../hibernate/mailinglist.html">Mailinglist</a>
+<a href="../../hibernate/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../../hibernate/emfhibsupport.html">EMF/Hibernate Support</a>
@@ -208,10 +205,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../../hibernate/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../../hibernate/testcases.html">Test cases</a>
+<a href="../../hibernate/svn.html">CVS</a>
</div>
</div>
</div>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/upgrading.html b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/upgrading.html
index 81e8870b2..cb6bd0dc9 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/upgrading.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/upgrading.html
@@ -163,7 +163,7 @@
<a href="../hibernate/resource_utility.html">Resource Utility</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../hibernate/ejb3_format.html">Format</a>
@@ -172,10 +172,7 @@
<a href="../hibernate/ejb3_examples.html">Examples</a>
</div>
<div class="menuitem">
-<a href="../hibernate/ejb3_features.html">EJB3</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/custom_annotations.html">Custom</a>
+<a href="../hibernate/ejb3_features.html">JPA/EJB3</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.6')" id="menu_1.6Title" class="menutitle">XML Schema</div>
@@ -199,7 +196,7 @@
<div class="menupagetitle">Upgrading</div>
</div>
<div class="menuitem">
-<a href="../hibernate/mailinglist.html">Mailinglist</a>
+<a href="../hibernate/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../hibernate/emfhibsupport.html">EMF/Hibernate Support</a>
@@ -208,10 +205,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../hibernate/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/testcases.html">Test cases</a>
+<a href="../hibernate/svn.html">CVS</a>
</div>
</div>
</div>
@@ -246,6 +240,9 @@
<div class="app" id="projecthome">
<ul class="minitoc">
<li>
+<a href="#Upgrading+to+Teneo">Upgrading to Teneo</a>
+</li>
+<li>
<a href="#Changes+from+a+0.3.*+to+the+0.7.0+release">Changes from a 0.3.* to the 0.7.0 release</a>
</li>
<li>
@@ -258,8 +255,22 @@
<a href="#Changed+datamodel+after+upgrading">Changed datamodel after upgrading</a>
</li>
</ul>
+
+<a name="N10010"></a><a name="Upgrading+to+Teneo"></a>
+<div class="h3">
+<h3>Upgrading to Teneo</h3>
+
+
+<p>The Teneo plugins have different names and ids than the Elver plugins. This means that if you
+ install Teneo plugins that they will coexist next to the installed Elver plugins. This should not
+ be a problem but can lead to confusion because the classnames (without the package names) have stayed the
+ same (for example HbDataStore is called the same in Teneo and in Elver).</p>
+
+<p>There is no automatic removal of Elver plugins, this has to be done manually (see below).</p>
+
+</div>
-<a name="N10010"></a><a name="Changes+from+a+0.3.*+to+the+0.7.0+release"></a>
+<a name="N1001D"></a><a name="Changes+from+a+0.3.*+to+the+0.7.0+release"></a>
<div class="h3">
<h3>Changes from a 0.3.* to the 0.7.0 release</h3>
@@ -276,7 +287,7 @@
</div>
-<a name="N10024"></a><a name="Regenerate+hibernate.hbm.xml+after+upgrading"></a>
+<a name="N10031"></a><a name="Regenerate+hibernate.hbm.xml+after+upgrading"></a>
<div class="h3">
<h3>Regenerate hibernate.hbm.xml after upgrading</h3>
@@ -287,7 +298,7 @@
</div>
-<a name="N1002E"></a><a name="Upgrade+through+the+Update+Manager%3A+Search+for+upgrades...+or+Search+for+new+Features..."></a>
+<a name="N1003B"></a><a name="Upgrade+through+the+Update+Manager%3A+Search+for+upgrades...+or+Search+for+new+Features..."></a>
<div class="h3">
<h3>Upgrade through the Update Manager: Search for upgrades... or Search for new Features...</h3>
@@ -308,7 +319,7 @@
</div>
-<a name="N10041"></a><a name="Changed+datamodel+after+upgrading"></a>
+<a name="N1004E"></a><a name="Changed+datamodel+after+upgrading"></a>
<div class="h3">
<h3>Changed datamodel after upgrading</h3>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/index.html b/doc/org.eclipse.emf.teneo.doc/tutorials/index.html
index 08cf69348..5863ae12c 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/index.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/index.html
@@ -128,6 +128,9 @@
<div class="app" id="projecthome">
<ul class="minitoc">
<li>
+<a href="#Elver+Persistency+has+moved+to+Eclipse.org+as+Teneo+within+EMFT">Elver Persistency has moved to Eclipse.org as Teneo within EMFT</a>
+</li>
+<li>
<a href="#Introduction">Introduction</a>
</li>
<li>
@@ -135,19 +138,45 @@
</li>
</ul>
-<a name="N1000D"></a><a name="Introduction"></a>
+<a name="N1000D"></a><a name="Elver+Persistency+has+moved+to+Eclipse.org+as+Teneo+within+EMFT"></a>
+<div class="h3">
+<h3>Elver Persistency has moved to Eclipse.org as Teneo within EMFT</h3>
+
+
+<p>
+<strong>Elver persistency has moved to eclipse.org as the Teneo project within EMFT:</strong>
+</p>
+
+<ul>
+
+<li>The elver.org website will remain the source for documentation of Teneo.</li>
+
+<li>The source code can be retrieved from Eclipse cvs. The new main java package name: org.eclipse.emf.teneo.</li>
+
+<li>Teneo/Elver is part of the EMFT build process, builds can be downloaded here:
+ <a class="external" href="http://download.eclipse.org/technology/emft/downloads/">EMFT Downloads</a>
+ (select the Teneo project in the listbox). For the Eclipse update manager use:
+ http://download.eclipse.org/technology/emft/updates/site-interim.xml.</li>
+
+<li>Support is given on the EMFT newsgroup: news://news.eclipse.org/eclipse.technology.emft.</li>
+
+</ul>
+
+</div>
+
+<a name="N1002B"></a><a name="Introduction"></a>
<div class="h3">
<h3>Introduction</h3>
<p>The Elver project focuses on combining code, persistency and UI generation solutions.
- Elver Persistency implements persistency solutions
+ Elver/Teneo Persistency implements persistency solutions
for generated Java objects by integrating code generation frameworks
and existing persistency technologies.</p>
</div>
-<a name="N10017"></a><a name="EMF+Persistency"></a>
+<a name="N10035"></a><a name="EMF+Persistency"></a>
<div class="h3">
<h3>EMF Persistency</h3>
@@ -159,7 +188,7 @@
<p>EMF has been integrated with two persistency solutions:</p>
<p>
-<strong><a href="hibernate/index.html">Hibernate:</a></strong> The EMF - Hibernate integration (alpha status) has just been released and supports
+<strong><a href="hibernate/index.html">Hibernate:</a></strong> The EMF - Hibernate integration (alpha status) supports
persisting of basic EObjects, ELists with 1:n, n:m, one-way, two-way and contained relations. EMF Objects can be retrieved
using HQL queries.</p>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/anytype.html b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/anytype.html
index ed60ad4a0..cae094a40 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/anytype.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/anytype.html
@@ -154,7 +154,7 @@
<a href="../jpox/jpoxdatastore.html">JpoxDataStore</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (EJB3)</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../jpox/ejb3_features.html">Supported Ann.</a>
@@ -193,7 +193,7 @@
<a href="../jpox/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../jpox/mailinglist.html">Mailinglist</a>
+<a href="../jpox/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../jpox/emfjpoxsupport.html">EMF/JPOX Support</a>
@@ -202,10 +202,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../jpox/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../jpox/testcases.html">Test cases</a>
+<a href="../jpox/svn.html">CVS</a>
</div>
</div>
</div>
@@ -290,7 +287,7 @@ EObject getSingleAnyType();
*/
void setSingleAnyType(EObject value);
</pre>
-<p>As is visible the EObject type is used as the member type. When storing any EObject in the database Elver
+<p>As is visible the EObject type is used as the member type. When storing any EObject in the database Teneo
persistency will use two columns (both varchar). The first columns is used to store the datatype if the
EObject if it is a primitive type. The second column either stores the String representation of a
primitive value or the unique object id as defined by JPOX.
@@ -315,16 +312,15 @@ void setSingleAnyType(EObject value);
EList getMultiAnyType();
</pre>
<p>As is visible the member is an EList which can contain EObject types. The maxOccurs="unbounded" anytype is
- mapped as a collection with an embedded PersistenceCapable type: org.elver.store.jpox.emf.mapping.AnyTypeEObject.</p>
+ mapped as a collection with an embedded PersistenceCapable type: org.eclipse.emf.teneo.jpox.mapping.AnyTypeEObject.</p>
<pre class="code">
&lt;field name="multiAnyType" persistence-modifier="persistent" embedded="true" delete-action="restrict"&gt;
- &lt;collection element-type="org.elver.store.jpox.emf.mapping.AnyTypeEObject"&gt;
+ &lt;collection element-type="org.eclipse.emf.teneo.jpox.mapping.AnyTypeEObject"&gt;
&lt;extension vendor-name="jpox" key="cache-lazy-loading" value="true"/&gt;
&lt;/collection&gt;
&lt;join&gt;
- &lt;column name="TESTANY_MULTIANYTYPE_ID" allows-null="true"/&gt;
+ &lt;column name="multianytype_id" allows-null="true"/&gt;
&lt;/join&gt;
- &lt;order/&gt;
&lt;element&gt;
&lt;embedded&gt;
&lt;field name="classifier"&gt;
@@ -335,6 +331,7 @@ EList getMultiAnyType();
&lt;/field&gt;
&lt;/embedded&gt;
&lt;/element&gt;
+ &lt;order column="TESTANY_MULTIANYTYPE_IDX"/&gt;
&lt;/field&gt;
</pre>
<p>This mapping will result
@@ -349,12 +346,12 @@ EList getMultiAnyType();
<div class="h4">
<h4>Setting a primitive value in an xsd:anyType member</h4>
<p>It is possible to set a primitive value in an xsd:anyType member.
- Elver persistency assumes that primitive values are set using an EObject which implements
+ Teneo persistency assumes that primitive values are set using an EObject which implements
org.eclipse.emf.ecore.xml.type.SimpleAnyType. An example of such an object is:
org.eclipse.emf.ecore.xml.type.impl.SimpleAnyTypeImpl.
When a primitive type is retrieved from the relational store then
the system will encapsulate the primitive value in a
- org.elver.store.jpox.emf.JPOXSimpleAnyTypeImpl object.
+ org.eclipse.emf.teneo.jpox.mapping.JPOXSimpleAnyTypeImpl object.
</p>
</div>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/changelog.html b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/changelog.html
index f1e4612b8..c80326eba 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/changelog.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/changelog.html
@@ -154,7 +154,7 @@
<a href="../jpox/jpoxdatastore.html">JpoxDataStore</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (EJB3)</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../jpox/ejb3_features.html">Supported Ann.</a>
@@ -193,7 +193,7 @@
<a href="../jpox/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../jpox/mailinglist.html">Mailinglist</a>
+<a href="../jpox/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../jpox/emfjpoxsupport.html">EMF/JPOX Support</a>
@@ -202,10 +202,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../jpox/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../jpox/testcases.html">Test cases</a>
+<a href="../jpox/svn.html">CVS</a>
</div>
</div>
</div>
@@ -239,6 +236,21 @@
<p>Gives an overview of changes in different releases over time</p>
+<p>
+<br>
+</p>
+
+<p>
+
+<strong>From 12 September 2006: for changelog and release notes see the emft website: <a class="external" href="http://www.eclipse.org/emft/news/release-notes.php">here</a></strong>
+
+</p>
+
+<p>
+<br>
+</p>
+
+
<p></p>
<p>
diff --git a/doc/org.eclipse.emf.teneo.doc/doc/jpox/download/persistence-mapping-jpox.xsd b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/download/persistence-mapping-jpox.xsd
index a5ef53347..a5ef53347 100644
--- a/doc/org.eclipse.emf.teneo.doc/doc/jpox/download/persistence-mapping-jpox.xsd
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/download/persistence-mapping-jpox.xsd
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/ejb3_examples.html b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/ejb3_examples.html
index 352216d26..5d5bdde37 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/ejb3_examples.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/ejb3_examples.html
@@ -154,7 +154,7 @@
<a href="../jpox/jpoxdatastore.html">JpoxDataStore</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_selected_1.5')" id="menu_selected_1.5Title" class="menutitle">Annotations (EJB3)</div>
+<div onclick="SwitchMenu('menu_selected_1.5')" id="menu_selected_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_selected_1.5" class="selectedmenuitemgroup">
<div class="menuitem">
<a href="../jpox/ejb3_features.html">Supported Ann.</a>
@@ -193,7 +193,7 @@
<a href="../jpox/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../jpox/mailinglist.html">Mailinglist</a>
+<a href="../jpox/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../jpox/emfjpoxsupport.html">EMF/JPOX Support</a>
@@ -202,10 +202,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../jpox/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../jpox/testcases.html">Test cases</a>
+<a href="../jpox/svn.html">CVS</a>
</div>
</div>
</div>
@@ -238,13 +235,7 @@
<div class="app" id="projecthome">
<ul class="minitoc">
<li>
-<a href="#id">Id Annotation</a>
-</li>
-<li>
-<a href="#compositeid">Composite Id in Uml</a>
-</li>
-<li>
-<a href="#column">Table and Column annotations</a>
+<a href="#column">Annotations on EDataType</a>
</li>
<li>
<a href="#mtm">ManyToMany Annotations</a>
@@ -257,131 +248,86 @@
</li>
</ul>
-<a name="N1000E"></a><a name="id"></a>
+<a name="N1000E"></a><a name="column"></a>
<div class="h3">
-<h3>Id Annotation</h3>
+<h3>Annotations on EDataType</h3>
-<p>An example with a generated id, note the definition of the Generator on global level.</p>
+<p>An example of the use of a Table annotation at EClass level and Column annotations
+ on EDataType level, first in xml and then using the :</p>
<pre class="code">
-&lt;xsd:schema targetNamespace="http://www.elver.org/samples/emf/annotations/id"
- xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
- xmlns:lib="http://www.elver.org/samples/emf/annotations/id"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;
+&lt;epackage namespace-uri="http://www.eclipse.org/emf/teneo/samples/emf/annotations/edatatype_column"&gt;
- &lt;xsd:annotation&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/SequenceGenerator"
- ecore:key="name"&gt;GENERATOR&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/SequenceGenerator"
- ecore:key="sequenceName"&gt;mySequenceName&lt;/xsd:appinfo&gt;
- &lt;/xsd:annotation&gt;
+ &lt;eclass name="Book"&gt;
+ &lt;table name="mybooktable"/&gt;
+ &lt;property name="title"&gt;
+ &lt;column name="titel" unique="true" length="25"/&gt;
+ &lt;/property&gt;
+ &lt;/eclass&gt;
- &lt;xsd:complexType name="SimpleID"&gt;
- &lt;xsd:sequence&gt;
- &lt;xsd:element name="autoID" type="xsd:long"&gt;
- &lt;xsd:annotation&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Id"&gt;true&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/GeneratedValue"&gt;true&lt;/xsd:appinfo&gt;
- &lt;/xsd:annotation&gt;
- &lt;/xsd:element&gt;
- &lt;/xsd:sequence&gt;
- &lt;/xsd:complexType&gt;
-
- &lt;xsd:complexType name="TableID"&gt;
- &lt;xsd:sequence&gt;
- &lt;xsd:element name="myid" type="xsd:long"&gt;
- &lt;xsd:annotation&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Id"&gt;true&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/GeneratedValue"
- ecore:key="strategy"&gt;TABLE&lt;/xsd:appinfo&gt;
- &lt;/xsd:annotation&gt;
- &lt;/xsd:element&gt;
- &lt;/xsd:sequence&gt;
- &lt;/xsd:complexType&gt;
-
- &lt;xsd:complexType name="IdentityID"&gt;
- &lt;xsd:sequence&gt;
- &lt;xsd:element name="myid" type="xsd:long"&gt;
- &lt;xsd:annotation&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Id"&gt;true&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/GeneratedValue"
- ecore:key="strategy"&gt;IDENTITY&lt;/xsd:appinfo&gt;
- &lt;/xsd:annotation&gt;
- &lt;/xsd:element&gt;
- &lt;/xsd:sequence&gt;
- &lt;/xsd:complexType&gt;
-&lt;/xsd:schema&gt;
- </pre>
-
-</div>
+ &lt;edatatype name="TitleType"&gt;
+ &lt;column name="mytitle" unique="false" length="50"/&gt;
+ &lt;/edatatype&gt;
-<a name="N1001C"></a><a name="compositeid"></a>
-<div class="h3">
-<h3>Composite Id in Uml</h3>
-
-
-<p>The annotation for a composite id using a specific id class. Please read the documentation of jpox for
- all the requirements which apply to the composite id class.</p>
-
-<pre class="code">
-http://ejb.elver.org/IdClass value='org.elver.samples.emf.annotations.compositeid.PersonID'
+ &lt;edatatype name="PagesType"&gt;
+ &lt;column updatable="false" insertable="false"/&gt;
+ &lt;/edatatype&gt;
+
+ &lt;edatatype name="WeightType"&gt;
+ &lt;column name="gewicht" nullable="true" precision="5" scale="2"/&gt;
+ &lt;/edatatype&gt;
+
+&lt;/epackage&gt;
</pre>
-
-</div>
-
-<a name="N1002A"></a><a name="column"></a>
-<div class="h3">
-<h3>Table and Column annotations</h3>
-
-<p>An example of the use of a Table annotation at EClass level and a Column annotation:</p>
+<p>And in java annotation syntax in EAnnotations:</p>
-<pre class="code">
+<pre class="code">
&lt;xsd:complexType name="Book"&gt;
&lt;xsd:annotation&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Table"
- ecore:key="name"&gt;MYBOOKTABLE&lt;/xsd:appinfo&gt;
+ &lt;xsd:appinfo source="teneo.jpa"&gt;@Table(name="mybooktable")&lt;/xsd:appinfo&gt;
&lt;/xsd:annotation&gt;
&lt;xsd:sequence&gt;
- &lt;xsd:element name="title" type="xsd:string"&gt;
+ &lt;xsd:element name="title" type="TitleType"&gt;
&lt;xsd:annotation&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Column"
- ecore:key="name"&gt;titel&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Column"
- ecore:key="unique"&gt;true&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Column"
- ecore:key="length"&gt;25&lt;/xsd:appinfo&gt;
- &lt;/xsd:annotation&gt;
- &lt;/xsd:element&gt;
- &lt;xsd:element name="pages" type="xsd:int"&gt;
- &lt;xsd:annotation&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Column"
- ecore:key="updatable"&gt;false&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Column"
- ecore:key="insertable"&gt;false&lt;/xsd:appinfo&gt;
- &lt;/xsd:annotation&gt;
+ &lt;xsd:appinfo source="teneo.jpa"&gt;@Column(name="titel" unique="true" length="25")&lt;/xsd:appinfo&gt;
+ &lt;/xsd:annotation&gt;
&lt;/xsd:element&gt;
- &lt;xsd:element name="weight" type="xsd:decimal"&gt;
- &lt;xsd:annotation&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Column"
- ecore:key="name"&gt;GEWICHT&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Column"
- ecore:key="nullable"&gt;true&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Column"
- ecore:key="precision"&gt;5&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Column"
- ecore:key="scale"&gt;2&lt;/xsd:appinfo&gt;
- &lt;/xsd:annotation&gt;
- &lt;/xsd:element&gt;
+ &lt;xsd:element name="pages" type="PagesType"/&gt;
+ &lt;xsd:element name="weight" type="WeightType"/&gt;
&lt;xsd:element name="author" type="xsd:string"/&gt;
&lt;/xsd:sequence&gt;
&lt;/xsd:complexType&gt;
+
+&lt;xsd:simpleType name="TitleType"&gt;
+ &lt;xsd:annotation&gt;
+ &lt;xsd:appinfo source="teneo.jpa"&gt;@Column(name="mytitle" unique="false" length="50")&lt;/xsd:appinfo&gt;
+ &lt;/xsd:annotation&gt;
+ &lt;xsd:restriction base="xsd:string"&gt;
+ &lt;/xsd:restriction&gt;
+&lt;/xsd:simpleType&gt;
+
+&lt;xsd:simpleType name="PagesType"&gt;
+ &lt;xsd:annotation&gt;
+ &lt;xsd:appinfo source="teneo.jpa"&gt;@Column(updatable="false" insertable="false")&lt;/xsd:appinfo&gt;
+ &lt;/xsd:annotation&gt;
+ &lt;xsd:restriction base="xsd:int"&gt;
+ &lt;/xsd:restriction&gt;
+&lt;/xsd:simpleType&gt;
+
+&lt;xsd:simpleType name="WeightType"&gt;
+ &lt;xsd:annotation&gt;
+ &lt;xsd:appinfo source="teneo.jpa"&gt;@Column(name="gewicht" nullable="true" precision="5" scale="2")&lt;/xsd:appinfo&gt;
+ &lt;/xsd:annotation&gt;
+ &lt;xsd:restriction base="xsd:decimal"&gt;
+ &lt;/xsd:restriction&gt;
+&lt;/xsd:simpleType&gt;
</pre>
</div>
-<a name="N10038"></a><a name="mtm"></a>
+<a name="N10023"></a><a name="mtm"></a>
<div class="h3">
<h3>ManyToMany Annotations</h3>
@@ -391,48 +337,31 @@ http://ejb.elver.org/IdClass value='org.elver.samples.emf.annotations.compositei
<pre class="code">
&lt;xsd:complexType name="Cntr"&gt;
&lt;xsd:sequence&gt;
- xsd:element name="rght" type="xsd:IDREF" ecore:reference="this:Rght"
- maxOccurs="unbounded" ecore:opposite="cntr"&gt;
+ &lt;xsd:element name="rght" type="xsd:IDREF" ecore:reference="this:Rght" maxOccurs="unbounded" ecore:opposite="cntr"&gt;
&lt;xsd:annotation&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/ManyToMany"
- ecore:key="fetch"&gt;EAGER&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/ManyToMany"
- ecore:key="cascade"&gt;MERGE PERSIST&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/ManyToMany"
- ecore:key="targetEntity"&gt;Rght&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/JoinTable"
- ecore:key="name"&gt;RightCenter&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://annotation.elver.org/Indexed"
- ecore:key="value"&gt;false&lt;/xsd:appinfo&gt;
+ &lt;xsd:appinfo source="teneo.jpa"&gt;
+ @ManyToMany(fetch=EAGER cascade={MERGE PERSIST} targetEntity="Rght" indexed="false")
+ @JoinTable(name="RightCenter")
+ &lt;/xsd:appinfo&gt;
&lt;/xsd:annotation&gt;
&lt;/xsd:element&gt;
- &lt;xsd:element name="lft" type="xsd:IDREF" ecore:reference="this:Lft"
- maxOccurs="unbounded" ecore:opposite="cntr"&gt;
+ &lt;xsd:element name="lft" type="xsd:IDREF" ecore:reference="this:Lft" maxOccurs="unbounded" ecore:opposite="cntr"&gt;
&lt;xsd:annotation&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/ManyToMany"
- ecore:key="fetch"&gt;EAGER&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/ManyToMany"
- ecore:key="cascade"&gt;MERGE PERSIST&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/ManyToMany"
- ecore:key="targetEntity"&gt;Lft&lt;/xsd:appinfo&gt;
+ &lt;xsd:appinfo source="teneo.jpa"&gt;
+ @ManyToMany(fetch=EAGER cascade={MERGE PERSIST} targetEntity="Lft")
+ &lt;/xsd:appinfo&gt;
&lt;/xsd:annotation&gt;
&lt;/xsd:element&gt;
- &lt;/xsd:sequence&gt;
+ &lt;/xsd:sequence&gt;
&lt;/xsd:complexType&gt;
&lt;xsd:complexType name="Lft"&gt;
&lt;xsd:sequence&gt;
- &lt;xsd:element name="cntr" type="xsd:IDREF" ecore:reference="this:Cntr"
- maxOccurs="unbounded" ecore:opposite="lft"&gt;
+ &lt;xsd:element name="cntr" type="xsd:IDREF" ecore:reference="this:Cntr" maxOccurs="unbounded" ecore:opposite="lft"&gt;
&lt;xsd:annotation&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/ManyToMany"
- ecore:key="fetch"&gt;LAZY&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/ManyToMany"
- ecore:key="cascade"&gt;MERGE PERSIST&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/ManyToMany"
- ecore:key="targetEntity"&gt;Cntr&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/ManyToMany"
- ecore:key="mappedBy"&gt;lft&lt;/xsd:appinfo&gt;
+ &lt;xsd:appinfo source="teneo.jpa"&gt;
+ @ManyToMany(fetch=LAZY cascade={MERGE PERSIST} targetEntity="Cntr" mappedBy="lft")
+ &lt;/xsd:appinfo&gt;
&lt;/xsd:annotation&gt;
&lt;/xsd:element&gt;
&lt;/xsd:sequence&gt;
@@ -440,21 +369,12 @@ http://ejb.elver.org/IdClass value='org.elver.samples.emf.annotations.compositei
&lt;xsd:complexType name="Rght"&gt;
&lt;xsd:sequence&gt;
- &lt;xsd:element name="cntr" type="xsd:IDREF" ecore:reference="this:Cntr"
- maxOccurs="unbounded" ecore:opposite="rght"&gt;
+ &lt;xsd:element name="cntr" type="xsd:IDREF" ecore:reference="this:Cntr" maxOccurs="unbounded" ecore:opposite="rght"&gt;
&lt;xsd:annotation&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/ManyToMany"
- ecore:key="fetch"&gt;LAZY&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/ManyToMany"
- ecore:key="cascade"&gt;MERGE PERSIST&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/ManyToMany"
- ecore:key="targetEntity"&gt;Cntr&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/ManyToMany"
- ecore:key="mappedBy"&gt;rght&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/JoinTable"
- ecore:key="name"&gt;RightCenter&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://annotation.elver.org/Indexed"
- ecore:key="value"&gt;false&lt;/xsd:appinfo&gt;
+ &lt;xsd:appinfo source="teneo.jpa"&gt;
+ @ManyToMany(fetch=LAZY cascade={MERGE PERSIST} targetEntity="Cntr" mappedBy="rght" indexed="false")
+ @JoinTable(name="RightCenter")
+ &lt;/xsd:appinfo&gt;
&lt;/xsd:annotation&gt;
&lt;/xsd:element&gt;
&lt;/xsd:sequence&gt;
@@ -463,7 +383,7 @@ http://ejb.elver.org/IdClass value='org.elver.samples.emf.annotations.compositei
</div>
-<a name="N10046"></a><a name="inheritance"></a>
+<a name="N10031"></a><a name="inheritance"></a>
<div class="h3">
<h3>Inheritance and Discriminator Annotations</h3>
@@ -473,16 +393,12 @@ http://ejb.elver.org/IdClass value='org.elver.samples.emf.annotations.compositei
<pre class="code">
&lt;xsd:complexType name="Price"&gt;
&lt;xsd:annotation&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Table"
- ecore:key="name"&gt;MYPRICE&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Inheritance"
- ecore:key="strategy"&gt;SINGLE_TABLE&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/DiscriminatorColumn"
- ecore:key="name"&gt;DISCRIMINATOR&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/DiscriminatorColumn"
- ecore:key="discriminatorType"&gt;STRING&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/DiscriminatorValue"
- ecore:key="value"&gt;myPrice&lt;/xsd:appinfo&gt;
+ &lt;xsd:appinfo source="teneo.jpa"&gt;
+ @Table(name="myprice")
+ @Inheritance(strategy=SINGLE_TABLE)
+ @DiscriminatorColumn(name="DISCRIMINATOR" discriminatorType=STRING)
+ @DiscriminatorValue("myPrice")
+ &lt;/xsd:appinfo&gt;
&lt;/xsd:annotation&gt;
&lt;xsd:sequence&gt;
&lt;xsd:element name="name" type="xsd:string"/&gt;
@@ -491,9 +407,21 @@ http://ejb.elver.org/IdClass value='org.elver.samples.emf.annotations.compositei
&lt;/xsd:complexType&gt;
</pre>
+<p>In xml:</p>
+
+<pre class="code">
+&lt;eclass name="Price"&gt;
+ &lt;table name="myprice" /&gt;
+ &lt;inheritance&gt;SINGLE_TABLE&lt;/inheritance&gt;
+ &lt;discriminator-column name="DISCRIMINATOR" discriminator-type="STRING" /&gt;
+ &lt;discriminator-value&gt;myPrice&lt;/discriminator-value&gt;
+&lt;/eclass&gt;
+ </pre>
+
+
</div>
-<a name="N10054"></a><a name="other"></a>
+<a name="N10046"></a><a name="other"></a>
<div class="h3">
<h3>Other examples</h3>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/ejb3_features.html b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/ejb3_features.html
index 6ed87a796..c7ff88cf1 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/ejb3_features.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/ejb3_features.html
@@ -154,7 +154,7 @@
<a href="../jpox/jpoxdatastore.html">JpoxDataStore</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_selected_1.5')" id="menu_selected_1.5Title" class="menutitle">Annotations (EJB3)</div>
+<div onclick="SwitchMenu('menu_selected_1.5')" id="menu_selected_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_selected_1.5" class="selectedmenuitemgroup">
<div class="menupage">
<div class="menupagetitle">Supported Ann.</div>
@@ -193,7 +193,7 @@
<a href="../jpox/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../jpox/mailinglist.html">Mailinglist</a>
+<a href="../jpox/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../jpox/emfjpoxsupport.html">EMF/JPOX Support</a>
@@ -202,10 +202,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../jpox/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../jpox/testcases.html">Test cases</a>
+<a href="../jpox/svn.html">CVS</a>
</div>
</div>
</div>
@@ -270,6 +267,10 @@
<li>9.1.1 Table Annotation</li>
+<li>9.1.2: SecondaryTable Annotation</li>
+
+<li>9.1.3: SecondaryTables Annotation</li>
+
<li>9.1.4: UniqueConstraint Annotation</li>
<li>9.1.5: Column Annotation</li>
@@ -330,10 +331,6 @@
<ul>
-<li>9.1.2: SecondaryTable Annotation</li>
-
-<li>9.1.3: SecondaryTables Annotation</li>
-
<li>9.1.6: JoinColumn Annotation</li>
<li>9.1.7: JoinColumns Annotation</li>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/ejb3_format.html b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/ejb3_format.html
index 7b666883b..c01b30fd4 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/ejb3_format.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/ejb3_format.html
@@ -16,7 +16,7 @@
<link href="../skin/forrest.css" type="text/css" rel="stylesheet">
<link rel="shortcut icon" href="../">
<script type="text/javascript" src="../skin/tigris.js"></script><script src="../skin/menu.js" language="javascript" type="text/javascript"></script>
-<title>Format of EJB3 Annotations as EAnnotations</title>
+<title>Format of JPA/EJB3 Annotations as EAnnotations and as XML</title>
<meta content="text/css" http-equiv="Content-style-type">
</head>
<body class="composite" onload="focus()">
@@ -154,7 +154,7 @@
<a href="../jpox/jpoxdatastore.html">JpoxDataStore</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_selected_1.5')" id="menu_selected_1.5Title" class="menutitle">Annotations (EJB3)</div>
+<div onclick="SwitchMenu('menu_selected_1.5')" id="menu_selected_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_selected_1.5" class="selectedmenuitemgroup">
<div class="menuitem">
<a href="../jpox/ejb3_features.html">Supported Ann.</a>
@@ -193,7 +193,7 @@
<a href="../jpox/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../jpox/mailinglist.html">Mailinglist</a>
+<a href="../jpox/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../jpox/emfjpoxsupport.html">EMF/JPOX Support</a>
@@ -202,10 +202,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../jpox/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../jpox/testcases.html">Test cases</a>
+<a href="../jpox/svn.html">CVS</a>
</div>
</div>
</div>
@@ -232,91 +229,103 @@
<div id="bodycol">
<div id="apphead">
<h2>
-<em>Format of EJB3 Annotations as EAnnotations</em>
+<em>Format of JPA/EJB3 Annotations as EAnnotations and as XML</em>
</h2>
</div>
<div class="app" id="projecthome">
<ul class="minitoc">
<li>
-<a href="#target">Introduction</a>
-</li>
-<li>
-<a href="#simplenokeyvalye">Annotation without key-value</a>
+<a href="#target">JPA Annotations in EAnnotations using the java annotation syntax</a>
</li>
<li>
-<a href="#simple">Annotation with key-value</a>
+<a href="#xml">JPA Annotations in XML</a>
</li>
<li>
-<a href="#multi">Complex Annotation with multi-level structure</a>
+<a href="#simplenokeyvalye">Simple Annotation Example</a>
</li>
<li>
-<a href="#omondo">Where/how to specify annotations in Omondo</a>
+<a href="#simple">Annotation with key-value</a>
</li>
<li>
-<a href="#rr">Where to specify annotations in Rational Rose</a>
+<a href="#multi">Complex Annotation with multi-level structure</a>
</li>
</ul>
-<p>EJB3 uses java annotations while Elver EJB3 is based on EMF EAnnotations. The main difference between java
- annotations and EAnnotations is that the latter does not support multi-level structures. An example of a
- multi-level annotation is the Columns annotation which contains Column annotations.
- This can not be expressed directly in an EAnnotation. With Elver we use a slightly
- different syntax to handle multi-level structures.
- </p>
+<p>Teneo allows two ways to specify EJB3/JPA-like annotations: 1) using the java annotations syntax
+ in EAnnotations, 2) a separate xml document.</p>
-<a name="N10010"></a><a name="target"></a>
+<p>This page will show examples of both approaches.</p>
+
+<p>A JPA Annotation can have different targets: TYPE, METHOD and FIELD (see the EJB3/JPA spec). Annotations
+ with a TYPE target can be used for EMF EClasses, annotations with METHOD and FIELD targets can be used for
+ EStructuralFeatures. <em>Note:</em> JPA annotations relevant for a non-reference type java member can also be set on
+ an EDataType (see <a href="ejb3_features.html#edatatype">here</a> for more information).</p>
+
+<a name="N1001D"></a><a name="target"></a>
<div class="h3">
-<h3>Introduction</h3>
+<h3>JPA Annotations in EAnnotations using the java annotation syntax</h3>
-<p>EJB3 EAnnotations in Elver always have the source: http://ejb.elver.org. Elver specific annotations which have
- been added to support additional functionality have the source: http://annotation.elver.org.</p>
+<p>The EAnnotations should adhere to the following format:</p>
-<p>The name of the EJB3 annotation is appended to the source: http://ejb.elver.org/Basic.</p>
+<ul>
-<p>To make an annotation unique sometimes an extra identifying code needs to be appended to the source:
- for example http://ejb.elver.org/Column/c1.</p>
+<li>The source must be: <strong>teneo.jpa</strong>
+</li>
-<p>The key of the annotation corresponds to the key in the EJB3 annotation.</p>
+<li>The key must be: <strong>appinfo</strong> or <strong>value</strong>
+</li>
-<p>An EJB3 Annotation can have different targets: TYPE, METHOD and FIELD (see the EJB3 spec). Annotations
- with a TYPE target can be used for EMF EClasses, annotations with METHOD and FIELD targets can be used for
- EStructuralFeatures. <em>Note:</em> EJB3 annotations relevant for a non-reference type java member can also be set on
- an EDataType (see <a href="ejb3_features.html#edatatype">here</a> for more information).</p>
+</ul>
+
+</div>
+
+<a name="N10037"></a><a name="xml"></a>
+<div class="h3">
+<h3>JPA Annotations in XML</h3>
-<p>Multiple values in a multi value annotation are separated by spaces, for example:</p>
-
-<pre class="code">&lt;xsd:appinfo source="http://ejb.elver.org/OneToMany" ecore:key="cascade"&gt;MERGE PERSIST&lt;/xsd:appinfo&gt;
- </pre>
+
+<p>JPA annotations can also be specified in a separate xml file.
+ The xsd for the XML annotations can be downloaded <a href="download/persistence-mapping-jpox.xsd">here</a>.</p>
+
+<p>The xsd shows that it is possible to specify annotations on EPackage, EClass, EAttribute, EReference and EDataType level.
+ In addition there is a special property element which combines the annotations for EAttribute and EReference. The
+ property tag is a convenience tag which can be used to in place of both an EAttribute and an EReference tag.</p>
+
+<p>When initializing a JpoxDataStore the location of the xml annotation file should be passed using the
+ persistenceoption: PersistenceOptions.PERSISTENCE_XML. The location should be a resource
+ path.</p>
</div>
-<a name="N10034"></a><a name="simplenokeyvalye"></a>
+<a name="N1004B"></a><a name="simplenokeyvalye"></a>
<div class="h3">
-<h3>Annotation without key-value</h3>
+<h3>Simple Annotation Example</h3>
-<p>An example of an EJB3 annotation without a key-value pair is the Embedded annotation.</p>
+<p>An example of an JPA annotation without a key-value pair is the Embedded annotation.</p>
<p>In a XML Schema model the Embedded annotation is specified as follows:</p>
-
+
<pre class="code">
&lt;xsd:element name="secondEmbedded" type="this:Embeddable"&gt;
&lt;xsd:annotation&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Embedded"&gt;true&lt;/xsd:appinfo&gt;
+ &lt;xsd:appinfo source="teneo.jpa"&gt;@Embedded&lt;/xsd:appinfo&gt;
&lt;/xsd:annotation&gt;
&lt;/xsd:element&gt;
</pre>
-<p>In an UML model the Embedded annotation is specified as follows:</p>
-
-<pre class="code">
-http://ejb.elver.org/Embedded
- </pre>
+<p>An example of a (different) simple annotation in xml:</p>
+
+<pre class="code">
+&lt;eclass name="Name"&gt;
+ &lt;embeddable /&gt;
+&lt;/eclass&gt;
+ </pre>
</div>
-<a name="N1004C"></a><a name="simple"></a>
+<a name="N10063"></a><a name="simple"></a>
<div class="h3">
<h3>Annotation with key-value</h3>
@@ -328,114 +337,49 @@ http://ejb.elver.org/Embedded
<pre class="code">
&lt;xsd:element name="myOptionalBasic" type="xsd:string"&gt;
&lt;xsd:annotation&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Basic" ecore:key="optional"&gt;true&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Basic" ecore:key="fetch"&gt;EAGER&lt;/xsd:appinfo&gt;
+ &lt;xsd:appinfo source="teneo.jpa"&gt;@Basic(optional=true fetch=EAGER)&lt;/xsd:appinfo&gt;
&lt;/xsd:annotation&gt;
&lt;/xsd:element&gt;
</pre>
-<p>In UML the annotation is specified as follows:</p>
+<p>An example of a (different) key-value annotation in xml:</p>
-<pre class="code">
-http://ejb.elver.org/AttributeOverride name='name' column='c1'
- </pre>
+<pre class="code">
+&lt;property name="head"&gt;
+ &lt;one-to-one fetch="EAGER" target-entity="Head" optional="true" cascade="ALL" /&gt;
+&lt;/property&gt;
+ </pre>
-<p>It is explained below what a column with value c1 means.</p>
+<p>As you can see this example uses the property tag. The property tag is a convenience tag which
+ can be used to in place of both an EAttribute and an EReference tag.</p>
</div>
-<a name="N10067"></a><a name="multi"></a>
+<a name="N1007E"></a><a name="multi"></a>
<div class="h3">
<h3>Complex Annotation with multi-level structure</h3>
<p>An example of a more complex annotation is the
- AttributeOverrides annotation which can contain multiple AttributeOverride annotations.</p>
-
-<p>The AttributeOverrides annotation can be expressed in XML Schema as follows:</p>
+ SecondaryTable annotation which can contain a pkJoinColumns annotation:</p>
<pre class="code">
-&lt;xsd:element name="embedded" type="this:Embeddable"&gt;
- &lt;xsd:annotation&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Embedded"&gt;true&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/AttributeOverrides"
- ecore:key="value"&gt;a1 a2&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/AttributeOverride/a1"
- ecore:key="name"&gt;myString&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/AttributeOverride/a1"
- ecore:key="column"&gt;c1&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Column/c1"
- ecore:key="name"&gt;columnString1&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/AttributeOverride/a2"
- ecore:key="name"&gt;myInteger&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/AttributeOverride/a2"
- ecore:key="column"&gt;c2&lt;/xsd:appinfo&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Column/c2"
- ecore:key="name"&gt;columnInteger1&lt;/xsd:appinfo&gt;
- &lt;/xsd:annotation&gt;
-&lt;/xsd:element&gt;
+&lt;xsd:annotation&gt;
+ &lt;xsd:appinfo source="teneo.jpa"&gt;
+ @SecondaryTable(name="THETONER" pkJoinColumns={@PrimaryKeyJoinColumn(name="PRINTER_ID")})
+ &lt;/xsd:appinfo&gt;
+&lt;/xsd:annotation&gt;
</pre>
-<p>This annotation models an embedded type by tagging the element with an Embedded annotation. The AttributeOverrides define how the
- properties of the embedded type are stored in the table. The AttributeOverrides consists of two AttributeOverride
- annotations which
- are named a1 and a2. The a1 is appended to the source to make it unique: http://ejb.elver.org/AttributeOverride/a1.
- The AttributeOverride contains an column key with a value c1. This value c1 is used in the source of the
- Column annotation to identify the Column annotation.
- </p>
-
-<p>A multi-level annotation in uml is specified as follows:</p>
-
-<pre class="code">
-http://ejb.elver.org/Embedded
-http://ejb.elver.org/AttributeOverride name='name' column='c1'
-http://ejb.elver.org/Column/c1 name='bornNameColumn'
- </pre>
-
-</div>
-
-<a name="N10082"></a><a name="omondo"></a>
-<div class="h3">
-<h3>Where/how to specify annotations in Omondo</h3>
-
-<p>Double click on the element for which an annotation should be specified:</p>
-
-<div align="center">
-<img class="figure" alt="Omondo step 1" src="../images/omondo1.jpg"></div>
-
-<p>Press Add in Annotations:</p>
-
-<div align="center">
-<img class="figure" alt="Omondo step 2" src="../images/omondo2.jpg"></div>
-
-<p>Specify the full Elver name in the annotations field. The http://... prefix will be removed from the view when you press enter:</p>
-
-<div align="center">
-<img class="figure" alt="Omondo step 3" src="../images/omondo3.jpg"></div>
-
-<p>Press Add on the name/value attribute and specify one of the attributes for this annotation and press OK:</p>
+<p>An example of a (different) more complex annotation in xml:</p>
-<div align="center">
-<img class="figure" alt="Omondo step 4" src="../images/omondo4.jpg"></div>
-
-<div align="center">
-<img class="figure" alt="Omondo step 5" src="../images/omondo5.jpg"></div>
-
-<p>and ready!</p>
-
-</div>
-
-<a name="N100AB"></a><a name="rr"></a>
-<div class="h3">
-<h3>Where to specify annotations in Rational Rose</h3>
-
-
-<p>The image below illustrates where to specify annotations in Rational Rose:</p>
-
-<p>The ecore model properties (ecore A, ecore B) are added to Rational Rose using the <a href="../examples/ecore.pty">ecore.pty</a> file.</p>
-
-<div align="center">
-<img class="figure" alt="Setting annotations in Rational Rose" src="../images/rose.jpg"></div>
+<pre class="code">
+&lt;eclass name="Employee"&gt;
+ &lt;association-override name="address"&gt;
+ &lt;join-column name="employee_address_id"/&gt;
+ &lt;/association-override&gt;
+&lt;/eclass&gt;
+ </pre>
</div>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/emfjpoxsupport.html b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/emfjpoxsupport.html
index 3e2d29422..345f28348 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/emfjpoxsupport.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/emfjpoxsupport.html
@@ -154,7 +154,7 @@
<a href="../jpox/jpoxdatastore.html">JpoxDataStore</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (EJB3)</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../jpox/ejb3_features.html">Supported Ann.</a>
@@ -193,7 +193,7 @@
<a href="../jpox/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../jpox/mailinglist.html">Mailinglist</a>
+<a href="../jpox/mailinglist.html">Newsgroup</a>
</div>
<div class="menupage">
<div class="menupagetitle">EMF/JPOX Support</div>
@@ -202,10 +202,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../jpox/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../jpox/testcases.html">Test cases</a>
+<a href="../jpox/svn.html">CVS</a>
</div>
</div>
</div>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/featuremap.html b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/featuremap.html
index f296efb88..3b7c3c932 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/featuremap.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/featuremap.html
@@ -154,7 +154,7 @@
<a href="../jpox/jpoxdatastore.html">JpoxDataStore</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (EJB3)</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../jpox/ejb3_features.html">Supported Ann.</a>
@@ -193,7 +193,7 @@
<a href="../jpox/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../jpox/mailinglist.html">Mailinglist</a>
+<a href="../jpox/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../jpox/emfjpoxsupport.html">EMF/JPOX Support</a>
@@ -202,10 +202,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../jpox/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../jpox/testcases.html">Test cases</a>
+<a href="../jpox/svn.html">CVS</a>
</div>
</div>
</div>
@@ -264,8 +261,8 @@
</ul>
<p>EMF uses Feature Maps in a number of situations, for example to implement XML Schema repeating
- model groups or to implement derived features. The Elver persistency layer supports
- Feature Maps and generates the required JDO mappings. Elver FeatureMap support is hidden
+ model groups or to implement derived features. The Teneo persistency layer supports
+ Feature Maps and generates the required JDO mappings. Teneo FeatureMap support is hidden
for the developer. The information here is mainly intended to help understand
the created mappings and relational tables.</p>
@@ -324,42 +321,41 @@ public EList getPreferredOrders() {
A FeatureMap.Entry has two members: 1) a StructuralFeature which defines what type of entry it is,
and 2) the actual value.</p>
<p>For the relational mapping this same structure is
- used. Elver maps a featuremap as a collection with an embedded type. The embedded type is the
- org.elver.store.jpox.emf.elist.GenericFeatureMapEntry which implements FeatureMap.Entry.
+ used. Teneo maps a featuremap as a collection with an embedded type. The embedded type is the
+ org.eclipse.emf.teneo.jpox.elist.GenericFeatureMapEntry which implements FeatureMap.Entry.
Each FeatureMap EAttribute is mapped separately and the entries of one FeatureMap EAttribute are
persisted in a separate join table (see the jpox website for embedded collections here <a class="external" href="http://www.jpox.org/docs/1_1/embedded.html#Collection">here</a>).
</p>
<p>The mapping for the orders property is as follows:</p>
<pre class="code">
&lt;field name="orders" persistence-modifier="persistent"&gt;
- &lt;collection element-type="org.elver.store.jpox.emf.elist.GenericFeatureMapEntry"&gt;
- &lt;extension vendor-name="jpox" key="cache-lazy-loading" value="true"/&gt;
- &lt;/collection&gt;
- &lt;join/&gt;
- &lt;element&gt;
+ &lt;collection element-type="org.eclipse.emf.teneo.jpox.elist.GenericFeatureMapEntry"&gt;
+ &lt;extension vendor-name="jpox" key="cache-lazy-loading" value="true"/&gt;
+ &lt;/collection&gt;
+ &lt;join/&gt;
+ &lt;element&gt;
&lt;embedded&gt;
- &lt;field name="featurePath"/&gt;
- &lt;field name="localAnyValue" embedded="true"&gt;
- &lt;extension vendor-name="jpox" key="implementation-classes" value="long"/&gt;
- &lt;extension vendor-name="elver.org" key="estructuralfeatures" value="hardCopyOrderNumber"/&gt;
- &lt;/field&gt;
- &lt;field name="localReferenceValue" embedded="true"&gt;
- &lt;extension vendor-name="jpox" key="implementation-classes"
- value="org.elver.store.jpox.emf.mapping.AnyTypeEObject"/&gt;
- &lt;extension vendor-name="elver.org" key="estructuralfeatures" value=""/&gt;
- &lt;foreign-key delete-action="restrict" update-action="cascade"/&gt;
- &lt;/field&gt;
- &lt;field name="localContainmentReferenceValue" dependent="true"&gt;
- &lt;foreign-key delete-action="cascade" update-action="cascade"/&gt;
- &lt;extension vendor-name="jpox" key="implementation-classes"
- value="org.elver.samples.emf.schemaconstructs.simplefeaturemap.impl.PurchaseOrderImpl"/&gt;
- &lt;extension vendor-name="elver.org" key="estructuralfeatures" value="preferredOrders"/&gt;
- &lt;/field&gt;
+ &lt;field name="featurePath"/&gt;
+ &lt;field name="localAnyValue" embedded="true"&gt;
+ &lt;extension vendor-name="jpox" key="implementation-classes" value="long"/&gt;
+ &lt;extension vendor-name="teneo" key="estructuralfeatures" value="hardCopyOrderNumber"/&gt;
+ &lt;/field&gt;
+ &lt;field name="localReferenceValue" embedded="true"&gt;
+ &lt;extension vendor-name="jpox" key="implementation-classes" value="org.eclipse.emf.teneo.jpox.mapping.AnyTypeEObject"/&gt;
+ &lt;extension vendor-name="teneo" key="estructuralfeatures" value=""/&gt;
+ &lt;foreign-key delete-action="restrict" update-action="cascade"/&gt;
+ &lt;/field&gt;
+ &lt;field name="localContainmentReferenceValue" dependent="true"&gt;
+ &lt;foreign-key delete-action="cascade" update-action="cascade"/&gt;
+ &lt;extension vendor-name="jpox" key="implementation-classes" value="org.eclipse.emf.teneo.samples.emf.schemaconstructs.simplefeaturemap.impl.PurchaseOrderImpl"/&gt;
+ &lt;extension vendor-name="teneo" key="estructuralfeatures" value="preferredOrders"/&gt;
+ &lt;/field&gt;
&lt;/embedded&gt;
&lt;/element&gt;
+ &lt;order column="SUPPLIER_ORDERS_IDX"/&gt;
&lt;/field&gt;
</pre>
-<p>The orders property is mapped as a collection with embedded elements. The org.elver.store.jpox.emf.elist.GenericFeatureMapEntry
+<p>The orders property is mapped as a collection with embedded elements. The org.eclipse.emf.teneo.jpox.elist.GenericFeatureMapEntry
has four properties:</p>
<ul>
@@ -372,7 +368,7 @@ public EList getPreferredOrders() {
<li>localContainmentReferenceValue: stores a containment reference value, the allowed types are specified using the extension tag.</li>
</ul>
-<p>The above field mappings also have an extension with vendor-name is elver.org, this extension is used to identify the
+<p>The above field mappings also have an extension with vendor-name is teneo, this extension is used to identify the
EStructuralFeatures which are allowed in the specific field.</p>
<p>For different FeatureMap EAttributes the embedded type is the same (always the GenericFeatureMapEntry) but the extension tags will
differ based on the allowed types of the FeatureMap.</p>
@@ -472,33 +468,32 @@ Monitor&lt;/productName&gt; shipped from our warehouse on
</pre>
<p>Mixed content is mapped to a relational store in a similar way as the FeatureMap above. The difference with
- the standard FeatureMap mapping is that a different embedded type is used (org.elver.store.jpox.emf.elist.AnyFeatureMapEntry)
+ the standard FeatureMap mapping is that a different embedded type is used (org.eclipse.emf.teneo.jpox.elist.AnyFeatureMapEntry)
which stores all content in one field (anyValue, see below):</p>
<pre class="code">
-&lt;class name="org.elver.samples.emf.schemaconstructs.mixed.impl.SalutationTypeImpl"
- requires-extent="true" persistence-modifier="persistence-capable" detachable="true"
- table="SALUTATIONTYPE" identity-type="datastore"&gt;
- &lt;implements name="org.elver.samples.emf.schemaconstructs.mixed.SalutationType"/&gt;
- &lt;implements name="org.eclipse.emf.ecore.EObject"/&gt;
- &lt;implements name="org.eclipse.emf.common.notify.Notifier"/&gt;
- &lt;inheritance strategy="new-table"&gt;
- &lt;discriminator column="DTYPE" strategy="value-map" value="SalutationType"/&gt;
- &lt;/inheritance&gt;
- &lt;field name="mixed" persistence-modifier="persistent"&gt;
- &lt;collection element-type="org.elver.store.jpox.emf.elist.AnyFeatureMapEntry"/&gt;
- &lt;join/&gt;
- &lt;element&gt;
- &lt;embedded&gt;
- &lt;field name="featurePath"&gt;
- &lt;column name="FEATUREPATH"/&gt;
- &lt;/field&gt;
- &lt;field name="anyValue"&gt;
- &lt;column name="ANYVALUE"/&gt;
- &lt;/field&gt;
- &lt;/embedded&gt;
- &lt;/element&gt;
- &lt;/field&gt;
+&lt;class name="org.eclipse.emf.teneo.samples.emf.schemaconstructs.mixed.impl.SalutationTypeImpl" requires-extent="true" persistence-modifier="persistence-capable" detachable="true" table="salutationtype" identity-type="datastore"&gt;
+ &lt;implements name="org.eclipse.emf.teneo.samples.emf.schemaconstructs.mixed.SalutationType"/&gt;
+ &lt;implements name="org.eclipse.emf.ecore.EObject"/&gt;
+ &lt;implements name="org.eclipse.emf.common.notify.Notifier"/&gt;
+ &lt;inheritance strategy="new-table"&gt;
+ &lt;discriminator column="DTYPE" strategy="value-map" value="SalutationType"/&gt;
+ &lt;/inheritance&gt;
+ &lt;field name="mixed" persistence-modifier="persistent"&gt;
+ &lt;collection element-type="org.eclipse.emf.teneo.jpox.elist.AnyFeatureMapEntry"/&gt;
+ &lt;join/&gt;
+ &lt;element&gt;
+ &lt;embedded&gt;
+ &lt;field name="featurePath"&gt;
+ &lt;column name="FEATUREPATH"/&gt;
+ &lt;/field&gt;
+ &lt;field name="anyValue"&gt;
+ &lt;column name="ANYVALUE"/&gt;
+ &lt;/field&gt;
+ &lt;/embedded&gt;
+ &lt;/element&gt;
+ &lt;order column="SALUTATIONTYPE_MIXED_IDX"/&gt;
+ &lt;/field&gt;
&lt;/class&gt;
</pre>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/features.html b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/features.html
index 2faafb5fe..9df35e418 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/features.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/features.html
@@ -154,7 +154,7 @@
<a href="../jpox/jpoxdatastore.html">JpoxDataStore</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (EJB3)</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../jpox/ejb3_features.html">Supported Ann.</a>
@@ -193,7 +193,7 @@
<a href="../jpox/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../jpox/mailinglist.html">Mailinglist</a>
+<a href="../jpox/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../jpox/emfjpoxsupport.html">EMF/JPOX Support</a>
@@ -202,10 +202,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../jpox/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../jpox/testcases.html">Test cases</a>
+<a href="../jpox/svn.html">CVS</a>
</div>
</div>
</div>
@@ -250,9 +247,6 @@
<a href="#jpoxfeatures">JPOX Features</a>
</li>
<li>
-<a href="#notsupported">Not (yet) Supported EMF Features</a>
-</li>
-<li>
<a href="#notjpoxsupported">Not Supported by JPOX</a>
</li>
</ul>
@@ -282,6 +276,8 @@
<li>Many-to-Many relations (EList): contained and non-contained, one-way, two-way</li>
+<li>EMap</li>
+
<li>Notifications and adapters (limited testing done)</li>
<li>Enumerations</li>
@@ -303,7 +299,7 @@
</div>
-<a name="N1004A"></a><a name="xmlschema"></a>
+<a name="N1004D"></a><a name="xmlschema"></a>
<div class="h3">
<h3>Supported XML Schema structures</h3>
@@ -334,7 +330,7 @@
</div>
-<a name="N10073"></a><a name="ejb3"></a>
+<a name="N10076"></a><a name="ejb3"></a>
<div class="h3">
<h3>EJB3 Annotations</h3>
@@ -360,7 +356,7 @@
</div>
-<a name="N10096"></a><a name="jpoxfeatures"></a>
+<a name="N10099"></a><a name="jpoxfeatures"></a>
<div class="h3">
<h3>JPOX Features</h3>
@@ -385,22 +381,7 @@
</div>
-<a name="N100B9"></a><a name="notsupported"></a>
-<div class="h3">
-<h3>Not (yet) Supported EMF Features</h3>
-
-
-<p>The following EMF features are (currently) not supported or have not been tested to ensure that they are supported:</p>
-
-<ul>
-
-<li>EMaps</li>
-
-</ul>
-
-</div>
-
-<a name="N100C9"></a><a name="notjpoxsupported"></a>
+<a name="N100BC"></a><a name="notjpoxsupported"></a>
<div class="h3">
<h3>Not Supported by JPOX</h3>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/features_details.html b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/features_details.html
index 61b6d96e1..65760d80d 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/features_details.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/features_details.html
@@ -154,7 +154,7 @@
<a href="../jpox/jpoxdatastore.html">JpoxDataStore</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (EJB3)</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../jpox/ejb3_features.html">Supported Ann.</a>
@@ -193,7 +193,7 @@
<a href="../jpox/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../jpox/mailinglist.html">Mailinglist</a>
+<a href="../jpox/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../jpox/emfjpoxsupport.html">EMF/JPOX Support</a>
@@ -202,10 +202,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../jpox/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../jpox/testcases.html">Test cases</a>
+<a href="../jpox/svn.html">CVS</a>
</div>
</div>
</div>
@@ -268,7 +265,7 @@
<li>1.5 and 1.6: DocumentRoot, currently the persistency solution will not
persist a DocumentRoot object. The main reason for this is that the DocumentRoot is created to
- have a starting 'folder-like' point when loading a resource. In the Elver persistency solution this
+ have a starting 'folder-like' point when loading a resource. In the Teneo persistency solution this
is solved differently (see <a href="jpoxresources.html#Top+level+types">here</a>).</li>
<li>1.7: not relevant for persistency (is supported)</li>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/images/Runtime.jpg b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/images/Runtime.jpg
index 7682941f9..b37206a94 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/images/Runtime.jpg
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/images/Runtime.jpg
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/images/elver_menu.gif b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/images/elver_menu.gif
index e4420a290..0c67370b0 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/images/elver_menu.gif
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/images/elver_menu.gif
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/images/resource_factory.gif b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/images/resource_factory.gif
index ada01ed58..00aff5a88 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/images/resource_factory.gif
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/images/resource_factory.gif
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/images/resource_utility.jpg b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/images/resource_utility.jpg
index 2ad9b5cf1..f7daba5d4 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/images/resource_utility.jpg
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/images/resource_utility.jpg
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/index.html b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/index.html
index 4d1dbbec9..9399157a0 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/index.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/index.html
@@ -154,7 +154,7 @@
<a href="../jpox/jpoxdatastore.html">JpoxDataStore</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (EJB3)</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../jpox/ejb3_features.html">Supported Ann.</a>
@@ -193,7 +193,7 @@
<a href="../jpox/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../jpox/mailinglist.html">Mailinglist</a>
+<a href="../jpox/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../jpox/emfjpoxsupport.html">EMF/JPOX Support</a>
@@ -202,10 +202,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../jpox/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../jpox/testcases.html">Test cases</a>
+<a href="../jpox/svn.html">CVS</a>
</div>
</div>
</div>
@@ -239,6 +236,9 @@
<div class="app" id="projecthome">
<ul class="minitoc">
<li>
+<a href="#Elver+Persistency+has+moved+to+Eclipse.org+as+Teneo+within+EMFT">Elver Persistency has moved to Eclipse.org as Teneo within EMFT</a>
+</li>
+<li>
<a href="#EMF+Persistency+Solution+using+JDO%2FJPOX">EMF Persistency Solution using JDO/JPOX</a>
</li>
<li>
@@ -249,7 +249,33 @@
</li>
</ul>
-<a name="N1000D"></a><a name="EMF+Persistency+Solution+using+JDO%2FJPOX"></a>
+<a name="N1000D"></a><a name="Elver+Persistency+has+moved+to+Eclipse.org+as+Teneo+within+EMFT"></a>
+<div class="h3">
+<h3>Elver Persistency has moved to Eclipse.org as Teneo within EMFT</h3>
+
+
+<p>
+<strong>Elver persistency has moved to eclipse.org as the Teneo project within EMFT:</strong>
+</p>
+
+<ul>
+
+<li>The elver.org website will remain the source for documentation of Teneo.</li>
+
+<li>The source code can be retrieved from Eclipse cvs. The new main java package name is now: org.eclipse.emf.teneo.jpox</li>
+
+<li>Teneo/Elver is part of the EMFT build process, builds can be downloaded here:
+ <a class="external" href="http://download.eclipse.org/technology/emft/downloads/">EMFT Downloads</a>
+ (select the Teneo project in the listbox). For the Eclipse update manager use:
+ http://download.eclipse.org/technology/emft/updates/site-interim.xml.</li>
+
+<li>Support is given on the EMFT newsgroup: news://news.eclipse.org/eclipse.technology.emft.</li>
+
+</ul>
+
+</div>
+
+<a name="N1002B"></a><a name="EMF+Persistency+Solution+using+JDO%2FJPOX"></a>
<div class="h3">
<h3>EMF Persistency Solution using JDO/JPOX</h3>
@@ -260,15 +286,11 @@
</p>
<p>
-<strong>Current version: 0.7.2 ALPHA (last updated on 7 June 2006) for Eclipse 3.2*/EMF 2.2*/JPOX 1.1rc1 and jdk 1.4 and later,
+<strong>Current version (Teneo): 0.7.5 BETA for Eclipse 3.2/EMF 2.2/JPOX 1.1.2 and jdk 1.4 and later,
<a href="status.html">Status</a>, <a href="features.html">Features</a>, <a href="changelog.html">Change Log</a></strong>
</p>
<p>
-<em>The mapping logic has been completely rewritten in this version, please read the <a href="changelog.html">Change Log</a>.</em>
-</p>
-
-<p>
<strong>Releases are not guaranteed to be backward compatible. Before upgrading first read the <a href="changelog.html">Change Log</a> and
<a href="upgrading.html">Upgrading</a> pages.</strong>
</p>
@@ -277,12 +299,10 @@
<em>For troubleshooting please visit the <strong><a href="knownissues.html">Known Issues</a></strong>
and <strong><a href="troubleshooting.html">Troubleshooting</a></strong> pages.</em>
</p>
-
-<p>*This release should also work for <strong>Eclipse 3.1/EMF 2.1</strong>, however only limited testing has been done.</p>
</div>
-<a name="N1004E"></a><a name="JPOX"></a>
+<a name="N1005E"></a><a name="JPOX"></a>
<div class="h3">
<h3>JPOX</h3>
@@ -300,7 +320,7 @@
</div>
-<a name="N10065"></a><a name="EMF"></a>
+<a name="N10075"></a><a name="EMF"></a>
<div class="h3">
<h3>EMF</h3>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/inheritance.html b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/inheritance.html
index 6f33e58cf..54f651cb3 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/inheritance.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/inheritance.html
@@ -154,7 +154,7 @@
<a href="../jpox/jpoxdatastore.html">JpoxDataStore</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (EJB3)</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../jpox/ejb3_features.html">Supported Ann.</a>
@@ -193,7 +193,7 @@
<a href="../jpox/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../jpox/mailinglist.html">Mailinglist</a>
+<a href="../jpox/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../jpox/emfjpoxsupport.html">EMF/JPOX Support</a>
@@ -202,10 +202,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../jpox/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../jpox/testcases.html">Test cases</a>
+<a href="../jpox/svn.html">CVS</a>
</div>
</div>
</div>
@@ -256,7 +253,7 @@
<div class="h3">
<h3>Supported inheritance mapping strategies</h3>
-<p>The Elver OR Mapper supports two of the three inheritance mapping of JPOX
+<p>The Teneo OR Mapper supports two of the three inheritance mapping of JPOX
(see <a class="external" href="http://www.jpox.org/docs/1_1/inheritance.html">here</a>
on the jpox website):</p>
@@ -272,12 +269,12 @@
</ul>
<p>The OR Mapper can generate a mapping file using either of the two mapping strategies.
- The two approaches are visible as separate menu options in the Elver menu (when clicking
+ The two approaches are visible as separate menu options in the Teneo menu (when clicking
on a Java package in Eclipse).</p>
<p>There is also another way of mapping inheritance structures: MappedSuperclass. In this method the superclass
is not persisted by itself and does not have its own table. All the properties of the superclass are stored in the
- table(s) of the subclass(es). MappedSuperclass is set by an EJB3-like annotation. For more information see the EJB3 spec or
+ table(s) of the subclass(es). MappedSuperclass is supported by setting an EJB3-like annotation. For more information see the EJB3 spec or
the jpox website (<a class="external" href="http://www.jpox.org/docs/1_1/inheritance.html">subclass-table</a>).</p>
</div>
@@ -298,7 +295,7 @@
<pre class="code">
&lt;xsd:complexType name="Address" abstract="true"&gt;
&lt;xsd:annotation&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/Inheritance" ecore:key="strategy"&gt;JOINED&lt;/xsd:appinfo&gt;
+ &lt;xsd:appinfo source="teneo.jpa"&gt;@Inheritance(strategy=JOINED)&lt;/xsd:appinfo&gt;
&lt;/xsd:annotation&gt;
&lt;xsd:sequence&gt;
&lt;xsd:element name="name" type="xsd:string"/&gt;
@@ -314,7 +311,7 @@
source and the key.</p>
<p>
-<strong>The inheritance annotation has changed, from the 0.3.* to the 0.7.0 release, to an EJB3-like format.</strong>
+<strong>The inheritance annotation has changed, from the 0.7.2 to the 0.7.5 release, to an java annotation syntax format.</strong>
</p>
</div>
@@ -323,7 +320,7 @@
<div class="h3">
<h3>Multiple Inheritance Support</h3>
-<p>In EMF it is possible to define multiple inheritance structures. However, Hibernate can not handle multiple inheritance.</p>
+<p>In EMF it is possible to define multiple inheritance structures. However, JPOX can not really handle multiple inheritance.</p>
<p>Therefore
during the mapping the first supertype is considered to be the real parent (for jpox). The properties of the
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/installation.html b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/installation.html
index bc32a922f..a4a04d311 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/installation.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/installation.html
@@ -154,7 +154,7 @@
<a href="../jpox/jpoxdatastore.html">JpoxDataStore</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (EJB3)</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../jpox/ejb3_features.html">Supported Ann.</a>
@@ -193,7 +193,7 @@
<a href="../jpox/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../jpox/mailinglist.html">Mailinglist</a>
+<a href="../jpox/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../jpox/emfjpoxsupport.html">EMF/JPOX Support</a>
@@ -202,10 +202,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../jpox/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../jpox/testcases.html">Test cases</a>
+<a href="../jpox/svn.html">CVS</a>
</div>
</div>
</div>
@@ -249,7 +246,7 @@
<a href="#JPOX+Libraries">JPOX Libraries</a>
</li>
<li>
-<a href="#jpoxplugin">JPOX - Eclipse plugin Installation</a>
+<a href="#jpoxplugin">JPOX - Eclipse Enhancement Tool</a>
</li>
<li>
<a href="#emfjpoxruntime">Using the EMF - JPOX Runtime plugin</a>
@@ -271,7 +268,7 @@
<p>EMF can be installed in Eclipse using the Eclipse update manager.
See <a class="external" href="http://eclipse.org/emf/docs.php?doc=docs/UsingUpdateManager/UsingUpdateManager.html">here</a> for more information.
- It is best to install the EMF SDK 2.1.* which contains the complete bundle with emf, xsd and sdo.
+ It is best to install the EMF SDK 2.2.* which contains the complete bundle with emf, xsd and sdo.
</p>
</div>
@@ -281,24 +278,24 @@
<h3>EMF - JPOX Persistency Plugin Installation</h3>
-<p> The EMF Persistency plugin can be downloaded from the elver.org update site.
+<p> The EMF Persistency plugin can be downloaded from the eclipse.org/emft update site.
To configure this update site in Eclipse go to: <em>Help &gt; Software Updates &gt; Find and Install</em>. Select
'Search for new features to install' and click next.
</p>
<p> At this window create a new update site by clicking
- on 'New Remote Site'. Enter any name you want, as a url enter: <em>http://update.elver.org/store</em>,
+ on 'New Remote Site'. Enter any name you want, as a url enter: <em>http://download.eclipse.org/technology/emft/updates/site-interim.xml</em>,
and press ok.
</p>
<p>Select the newly created update site and press finish. When the update site contents are shown, select the
- Elver EMF Persistency JDO/JPOX (followed by version information) Feature.</p>
+ Teneo EMF Persistency (possibly followed by version information) Feature.</p>
-<p>The feature consists of a number of plugins: org.elver.store.jpox.eclipse and org.elver.store.jpox.runtime. The first plugin contains the OR Mapper which
+<p>The feature consists of a number of plugins: org.eclipse.emf.teneo.jpox.eclipse and org.eclipse.emf.teneo.jpox. The first plugin contains the OR Mapper which
generates jdo descriptor files. The second plugin contains the jar files for the EMF persistency runtime.
</p>
-<p>After you have installed the plugin and restarted eclipse you will see a new menu entry called Elver when
+<p>After you have installed the plugin and restarted eclipse you will see a new menu entry called Teneo when
you right click on an ecore file.
</p>
@@ -314,20 +311,26 @@
<h3>JPOX Libraries</h3>
-<p>The EMF persistency runtime contains a subset of the JPOX libraries. These have been used to run the
- tests. For the remaining JPOX runtime libraries please
- visit: <a class="external" href="http://www.jpox.org">the jpox website</a>.</p>
+<p>The EMF persistency feature does not contain the JPOX libraries (and its dependencies).
+ Please download the JPOX libraries separately from: <a class="external" href="http://www.jpox.org">the JPOX website</a>.</p>
+
+<p>
+<strong>A common approach is to place the JPOX libraries in a separate plugin on which your model plugin will depend.
+ If you do this then you should also set the BuddyPolicy in the plugin containing the JPOX jars (in the Manifest.MF),
+ for example: Eclipse-BuddyPolicy: dependent.</strong>
+</p>
</div>
-<a name="N10053"></a><a name="jpoxplugin"></a>
+<a name="N10057"></a><a name="jpoxplugin"></a>
<div class="h3">
-<h3>JPOX - Eclipse plugin Installation</h3>
+<h3>JPOX - Eclipse Enhancement Tool</h3>
<p>
- The jpox - eclipse plugin can be downloaded from the jpox website <a class="external" href="http://www.jpox.org/docs/download.html">here</a>.
+ JPOX delivers a plugin to automatically enhance class files after a package.jdo has been generated.
+ This jpox - eclipse plugin can be downloaded from the jpox website <a class="external" href="http://www.jpox.org/docs/download.html">here</a>.
After unzipping the JPOX zip file and placing it in the Eclipse plugin directory, restart Eclipse.
There should be an extra menu entry called JPOX when you right click on an ecore file..
<em>If this menu options is not shown then please read the following:
@@ -342,38 +345,28 @@
2) check 'use project classpath when running tools'. This last option is the easiest as you probably only need to
specify the log4j jar separately.
</p>
-
-<p>
-
-<img alt="Example of jpox plugin classpath settings in eclipse" src="images/jpox_eclipse_classpath2.gif">
- </p>
</div>
-<a name="N10075"></a><a name="emfjpoxruntime"></a>
+<a name="N10072"></a><a name="emfjpoxruntime"></a>
<div class="h3">
<h3>Using the EMF - JPOX Runtime plugin</h3>
-<p>The installed runtime plugin (org.elver.store.jpox.runtime) can be used in two ways:
+<p>The installed runtime plugin (org.eclipse.emf.teneo.jpox) can be used in two ways:
1) in an EMF model plugin, 2) in a non-plugin project. </p>
-<a name="N1007E"></a><a name="Using+the+runtime+plugin+in+an+EMF+model+plugin"></a>
+<a name="N1007B"></a><a name="Using+the+runtime+plugin+in+an+EMF+model+plugin"></a>
<div class="h4">
<h4>Using the runtime plugin in an EMF model plugin</h4>
<p>To use the runtime plugin in an EMF model plugin go through the following steps (in this order):</p>
<ol>
<li>In the plugin.xml, dependency tab, of the EMF model plugin project add a dependency to
- the EMF persistency plugin (org.elver.store.jpox.runtime)</li>
-
-<li>Add the following line to the Manifest.MF of the EMF model plugin project
- (see <a class="external" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=87775#c57">here</a> why):
- <p>Eclipse-RegisterBuddy: org.elver.store.jpox.runtime</p>
-</li>
+ the EMF persistency plugin (org.eclipse.emf.teneo.jpox)</li>
-<li>In case also an EMF editor project was generated the org.elver.store.jpox.runtime
+<li>In case also an EMF editor project was generated the org.eclipse.emf.teneo.jpox
plugin also needs to be added to the dependencies of the editor plugin.</li>
<li>Right click on the EMF model project and in the JPOX menu choose 'Add JPOX Support'.
@@ -387,18 +380,18 @@
contains duplicate entry: ....</em>.</p>
</div>
-<a name="N100AA"></a><a name="Using+the+runtime+layer+in+a+non-plugin+EMF+project"></a>
+<a name="N1009E"></a><a name="Using+the+runtime+layer+in+a+non-plugin+EMF+project"></a>
<div class="h4">
<h4>Using the runtime layer in a non-plugin EMF project</h4>
-<p>In case of a non-plugin project the jar files present in the following plugings
- need to be added to the classpath:</p>
+<p>In case of a non-plugin project the jar files present in the following plugins
+ need to be added to the classpath (in addition to the jpox jars):</p>
<ul>
-<li>org.elver.store</li>
+<li>org.eclipse.emf.teneo</li>
-<li>org.elver.store.annotations</li>
+<li>org.eclipse.emf.teneo.annotations</li>
-<li>EMF - JPOX runtime jar (org.elver.store.jpox-[version].jar)</li>
+<li>org.eclipse.emf.teneo.jpox (note: there are two jar files in this plugin, both are required)</li>
</ul>
<p>In addition a jdbc driver should be added to the classpath.</p>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/jpox_details.html b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/jpox_details.html
index c4a04eefe..07e8f859f 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/jpox_details.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/jpox_details.html
@@ -154,7 +154,7 @@
<a href="../jpox/jpoxdatastore.html">JpoxDataStore</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (EJB3)</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../jpox/ejb3_features.html">Supported Ann.</a>
@@ -193,7 +193,7 @@
<a href="../jpox/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../jpox/mailinglist.html">Mailinglist</a>
+<a href="../jpox/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../jpox/emfjpoxsupport.html">EMF/JPOX Support</a>
@@ -202,10 +202,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../jpox/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../jpox/testcases.html">Test cases</a>
+<a href="../jpox/svn.html">CVS</a>
</div>
</div>
</div>
@@ -322,10 +319,10 @@
<div class="h3">
<h3>Classloader</h3>
-<p>Elver performs explicit classloading in specific locations. It is possible to set the classloader which is being
- user by Elver. This can be done through the org.elver.store.ClassLoaderResolver class. In this class you can
- register a org.elver.store.classloader.ClassLoaderStrategy. The registered ClassLoaderStrategy is used by
- Elver to explicitly load classes.</p>
+<p>Teneo performs explicit classloading in specific locations. It is possible to set the classloader which is being
+ user by Teneo. This can be done through the org.eclipse.emf.teneo.classloader.ClassLoaderResolver class. In this class you can
+ register a org.eclipse.emf.teneo.classloader.ClassLoaderStrategy. The registered ClassLoaderStrategy is used by
+ Teneo to explicitly load classes.</p>
</div>
@@ -335,12 +332,12 @@
<p>You can register your own TypeMappings through a
- call to org.jpox.TypeManager.getTypeManager().addType. This needs to be done before you initialize the first JpoxDataStore.
- An example of the call Elver uses to register the type mapping for EList</p>
+ call to org.jpox.TypeManager.addType. This needs to be done during initialization of the
+ Persistence Manager Factory. To accomplish this you need to override <a href="jpoxdatastore.html#JpoxDataStore">JPOXDataStore</a> and the
+ method addCustomTypes(...). Then you can register your own typemapping as follows:</p>
<pre class="code">
-ClassLoaderResolver clr = new JDOClassLoaderResolver();
-TypeManager.getTypeManager().addType(EList.class.getName(), EListMapping.class.getName(),
+tm.addType(List.class.getName(), EListMapping.class.getName(),
EListWrapper.class.getName(), false, "1.4", true, false, false, clr);
</pre>
@@ -349,13 +346,13 @@ TypeManager.getTypeManager().addType(EList.class.getName(), EListMapping.class.g
</div>
-<a name="N1004F"></a><a name="cutpaste"></a>
+<a name="N10053"></a><a name="cutpaste"></a>
<div class="h3">
<h3>Move an EObject between EContainers or support cut and paste in the EMF editor</h3>
<p>In the standard approach it is not possible to move an EObject from one containment relation to another containment relation. A move
- between containment relations corresponds to a cut and paste in the EMF editor. The reason is that Elver will
+ between containment relations corresponds to a cut and paste in the EMF editor. The reason is that Teneo will
specify an dependent-element="true" for a containment relation. This has a consequence that JPOX will throw
an exception (Cannot write fields to a deleted object) when you move an EObject from its container to another container.</p>
@@ -364,10 +361,9 @@ TypeManager.getTypeManager().addType(EList.class.getName(), EListMapping.class.g
an annotation on the relevant EReference features. As an example:</p>
<pre class="code">
-&lt;xsd:element maxOccurs="unbounded" minOccurs="0" name="writers" type="lib:Writer"&gt;
+&lt;xsd:element maxOccurs="unbounded" minOccurs="0" name="books" type="lib:Book"&gt;
&lt;xsd:annotation&gt;
- &lt;xsd:appinfo source="http://ejb.elver.org/OneToMany"
- ecore:key="cascade"&gt;MERGE PERSIST REFRESH REMOVE&lt;/xsd:appinfo&gt;
+ &lt;xsd:appinfo source="teneo.jpa"&gt;@OneToMany(cascade={MERGE,PERSIST,REFRESH,REMOVE})&lt;/xsd:appinfo&gt;
&lt;/xsd:annotation&gt;
&lt;/xsd:element&gt;
</pre>
@@ -382,7 +378,7 @@ TypeManager.getTypeManager().addType(EList.class.getName(), EListMapping.class.g
</div>
-<a name="N10068"></a><a name="Validation"></a>
+<a name="N1006C"></a><a name="Validation"></a>
<div class="h3">
<h3>Validation</h3>
@@ -394,7 +390,7 @@ TypeManager.getTypeManager().addType(EList.class.getName(), EListMapping.class.g
</p>
<p>To prevent this situation you can register your own validator which does not perform this resource check.
- For your convenience it is also possible to use the org.elver.store.jpox.validation.JPOXValidator. See its
+ For your convenience it is also possible to use the org.eclipse.emf.teneo.jpox.validation.JPOXValidator. See its
source code below.
</p>
@@ -420,34 +416,33 @@ public class JPOXValidator extends EObjectValidator
</div>
-<a name="N1007C"></a><a name="Force+a+join+table+for+1%3An+relations"></a>
+<a name="N10080"></a><a name="Force+a+join+table+for+1%3An+relations"></a>
<div class="h3">
<h3>Force a join table for 1:n relations</h3>
<p>In a relational database 1:n relations are often modeled by adding a foreign-key (to the
parent) in the child table/object. The disadvantage of this approach is that duplicates
are not supported. To support duplicates in an elist a join table is required. To signal to
- Elver, that a join table should be used, the annotation as in this example can be used:</p>
+ Teneo, that a join table should be used, the annotation as in this example can be used:</p>
<pre class="code">
&lt;xsd:element name="joinedItem" type="xsd:anyURI" ecore:reference="this:Item" maxOccurs="unbounded"&gt;
&lt;xsd:annotation&gt;
- &lt;xsd:appinfo source="http://annotation.elver.org/Unique" ecore:key="value"&gt;false&lt;/xsd:appinfo&gt;
+ &lt;xsd:appinfo source="teneo.jpa"&gt;@OneToMany(unique=false)&lt;/xsd:appinfo&gt;
&lt;/xsd:annotation&gt;
&lt;/xsd:element&gt;
</pre>
-<p>Based on this annotations Elver will generate a join table for this model. Note that
+<p>Based on this annotations Teneo will generate a join table for this model. Note that
this annotation can be combined with the indexed annotation.</p>
<p>
-<em>The unique annotation does not exist in the EJB3 spec and is an Elver extension. Extension
- annotations use the source: http://annotation.elver.org.</em>
+<em>The unique annotation does not exist in the EJB3 spec and is a Teneo extension.</em>
</p>
</div>
-<a name="N10090"></a><a name="JPOX%2FRelational+Validation+and+EObject+persistency"></a>
+<a name="N10094"></a><a name="JPOX%2FRelational+Validation+and+EObject+persistency"></a>
<div class="h3">
<h3>JPOX/Relational Validation and EObject persistency</h3>
@@ -476,7 +471,7 @@ book.setCategory(BookCategory.SCIENCE_FICTION_LITERAL);
</div>
-<a name="N100A9"></a><a name="PersistenceManagerFactory+configuration"></a>
+<a name="N100AD"></a><a name="PersistenceManagerFactory+configuration"></a>
<div class="h3">
<h3>PersistenceManagerFactory configuration</h3>
@@ -505,14 +500,14 @@ properties.setProperty(PMFConfiguration.VALIDATE_CONSTRAINTS_PROPERTY, "false");
properties.setProperty(PMFConfiguration.VALIDATE_TABLES_PROPERTY, "false");
properties.setProperty(PMFConfiguration.CACHE_LEVEL_1_TYPE_PROPERTY,
- "org.elver.store.jpox.emf.cache.EMFWeakRefCache");
+ "org.eclipse.emf.teneo.jpox.cache.EMFWeakRefCache");
properties.setProperty(PMFConfiguration.METADATA_JDO_FILE_EXTENSION_PROPERTY,
JpoxHelper.INSTANCE.getJdoFileExtension());
</pre>
<p>
<em>For the EMF - JPOX integration it is very important that as a level1 cache one of the
- cache implementations found in org.elver.store.jpox.cache is used.</em>
+ cache implementations found in org.eclipse.emf.teneo.jpo.xemf.cache is used.</em>
</p>
<p>The default String length is set to prevent a bug in MySql, the JDO default is 256.</p>
@@ -537,7 +532,7 @@ properties.setProperty(PMFConfiguration.METADATA_JDO_FILE_EXTENSION_PROPERTY,
</div>
-<a name="N100DC"></a><a name="Fetch+Group"></a>
+<a name="N100E0"></a><a name="Fetch+Group"></a>
<div class="h3">
<h3>Fetch Group</h3>
@@ -548,7 +543,7 @@ properties.setProperty(PMFConfiguration.METADATA_JDO_FILE_EXTENSION_PROPERTY,
</div>
-<a name="N100E6"></a><a name="Direct+read+of+contained+objects%2C+container+feature+not+set"></a>
+<a name="N100EA"></a><a name="Direct+read+of+contained+objects%2C+container+feature+not+set"></a>
<div class="h3">
<h3>Direct read of contained objects, container feature not set</h3>
@@ -564,21 +559,21 @@ properties.setProperty(PMFConfiguration.METADATA_JDO_FILE_EXTENSION_PROPERTY,
</div>
-<a name="N100F7"></a><a name="Registering+a+Persistence+Manager+Factory+Creator"></a>
+<a name="N100FB"></a><a name="Registering+a+Persistence+Manager+Factory+Creator"></a>
<div class="h3">
<h3>Registering a Persistence Manager Factory Creator</h3>
<p>You can register your own persistence manager factory creator class. This
- class is called by Elver to create a PersistenceManagerFactory. By registering your
+ class is called by Teneo to create a PersistenceManagerFactory. By registering your
own PersistenceManagerFactoryCreator, you can override the creation of persistence managers etc.</p>
<p>The persistence manager factory creator should implement the interface:
- org.elver.store.jpox.emf.PersistenceManagerFactoryCreator. The creator can be registered using
- the method JpoxHelper.INSTANCE.setPersistenceManagerFactoryCreator(....).</p>
+ org.eclipse.emf.teneo.jpox.PMFCreator. The creator can be registered using
+ the method JpoxHelper.INSTANCE.setPMFCreator(....).</p>
</div>
-<a name="N10103"></a><a name="Lazy+loading+and+proxy+objects"></a>
+<a name="N10107"></a><a name="Lazy+loading+and+proxy+objects"></a>
<div class="h3">
<h3>Lazy loading and proxy objects</h3>
@@ -593,7 +588,7 @@ properties.setProperty(PMFConfiguration.METADATA_JDO_FILE_EXTENSION_PROPERTY,
</div>
-<a name="N10113"></a><a name="Hiding+class+names%2C+using+interfaces"></a>
+<a name="N10117"></a><a name="Hiding+class+names%2C+using+interfaces"></a>
<div class="h3">
<h3>Hiding class names, using interfaces</h3>
@@ -606,7 +601,7 @@ properties.setProperty(PMFConfiguration.METADATA_JDO_FILE_EXTENSION_PROPERTY,
</div>
-<a name="N1011D"></a><a name="notjpoxsupported"></a>
+<a name="N10121"></a><a name="notjpoxsupported"></a>
<div class="h3">
<h3>Not Supported by JPOX</h3>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/jpox_plugin_error.html b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/jpox_plugin_error.html
index 6aa7bb4b6..a57510918 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/jpox_plugin_error.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/jpox_plugin_error.html
@@ -184,7 +184,7 @@
<a href="../jpox/jpoxdatastore.html">JpoxDataStore</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Annotations (EJB3)</div>
+<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
<a href="../jpox/ejb3_features.html">Supported Ann.</a>
@@ -223,7 +223,7 @@
<a href="../jpox/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../jpox/mailinglist.html">Mailinglist</a>
+<a href="../jpox/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../jpox/emfjpoxsupport.html">EMF/JPOX Support</a>
@@ -232,10 +232,7 @@
<div onclick="SwitchMenu('menu_1.11')" id="menu_1.11Title" class="menutitle">Developer</div>
<div id="menu_1.11" class="menuitemgroup">
<div class="menuitem">
-<a href="../jpox/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../jpox/testcases.html">Test cases</a>
+<a href="../jpox/svn.html">CVS</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.12')" id="menu_1.12Title" class="menutitle">Home</div>
@@ -328,7 +325,7 @@
<a href="../hibernate/resource_utility.html">Resource Utility</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.16')" id="menu_1.16Title" class="menutitle">Annotations</div>
+<div onclick="SwitchMenu('menu_1.16')" id="menu_1.16Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.16" class="menuitemgroup">
<div class="menuitem">
<a href="../hibernate/ejb3_format.html">Format</a>
@@ -337,10 +334,7 @@
<a href="../hibernate/ejb3_examples.html">Examples</a>
</div>
<div class="menuitem">
-<a href="../hibernate/ejb3_features.html">EJB3</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/custom_annotations.html">Custom</a>
+<a href="../hibernate/ejb3_features.html">JPA/EJB3</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.17')" id="menu_1.17Title" class="menutitle">XML Schema</div>
@@ -364,7 +358,7 @@
<a href="../hibernate/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../hibernate/mailinglist.html">Mailinglist</a>
+<a href="../hibernate/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../hibernate/emfhibsupport.html">EMF/Hibernate Support</a>
@@ -373,10 +367,7 @@
<div onclick="SwitchMenu('menu_1.19')" id="menu_1.19Title" class="menutitle">Developer</div>
<div id="menu_1.19" class="menuitemgroup">
<div class="menuitem">
-<a href="../hibernate/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/testcases.html">Test cases</a>
+<a href="../hibernate/svn.html">CVS</a>
</div>
</div>
</div>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/jpoxdatastore.html b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/jpoxdatastore.html
index 8cabcc5b0..5ef4afacc 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/jpoxdatastore.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/jpoxdatastore.html
@@ -154,7 +154,7 @@
<div class="menupagetitle">JpoxDataStore</div>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (EJB3)</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../jpox/ejb3_features.html">Supported Ann.</a>
@@ -193,7 +193,7 @@
<a href="../jpox/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../jpox/mailinglist.html">Mailinglist</a>
+<a href="../jpox/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../jpox/emfjpoxsupport.html">EMF/JPOX Support</a>
@@ -202,10 +202,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../jpox/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../jpox/testcases.html">Test cases</a>
+<a href="../jpox/svn.html">CVS</a>
</div>
</div>
</div>
@@ -285,12 +282,12 @@
methods. To get access to the JpoxHelper functionality you need to use the JpoxHelper.INSTANCE object.
In addition the JpoxHelper allows you to register a PMFCreator.</p>
-<p>The PMFCreator is called by Elver to create a PersistenceManagerFactory. By registering your
+<p>The PMFCreator is called by Teneo to create a PersistenceManagerFactory. By registering your
own PersistenceManagerFactoryCreator, you can override the creation of persistence managers etc.</p>
<p>The persistence manager factory creator should implement the interface:
- org.elver.store.jpox.emf.PersistenceManagerFactoryCreator. The creator can be registered using
- the method JpoxHelper.INSTANCE.setPersistenceManagerFactoryCreator(....).</p>
+ org.eclipse.emf.teneo.jpox.PMFCreator. The creator can be registered using
+ the method JpoxHelper.INSTANCE.setPMFCreator(....).</p>
</div>
@@ -314,12 +311,12 @@
<strong>PersistenceOptions.SQL_CASE_STRATEGY</strong>: controls if the table and column names are uppercased, lowercased or
no specific casing is done. The value lowercase will force lower case for all table/column name, the value
uppercase will force uppercase for all table/column names, none wil do not casing. It is also possible to set this
- option to the classname of a class implementing the org.elver.store.util.SQLCaseStrategy interface.
+ option to the classname of a class implementing the org.eclipse.emf.teneo.util.SQLCaseStrategy interface.
Note this option can only be used when generating the package.jdo programmatically.</li>
</ul>
-<p>The available options are all present in the <em>org.elver.store.PersistenceOptions</em> class.</p>
+<p>The available options are all present in the <em>org.eclipse.emf.teneo.PersistenceOptions</em> class.</p>
</div>
@@ -330,7 +327,7 @@
<p>Options are passed to the JpoxDataStore using a Properties object which is set using the JpoxDataStore.setProperties method.</p>
-<p>The options described here are all present in the <em>org.elver.store.PersistenceOptions</em> class. The constant names used
+<p>The options described here are all present in the <em>org.eclipse.emf.teneo.PersistenceOptions</em> class. The constant names used
in this page all refer to this class.</p>
<p>Boolean options can have the lower case String values: "false" or "true".</p>
@@ -345,6 +342,10 @@
<strong>PersistenceOptions.FETCH_CONTAINMENT_EAGERLY</strong>: if set to "true" will set the fetch strategy of all
containment references to EAGER. This means that containment relations are completely read in memory. Default is "false".</li>
+<li>
+<strong>PersistenceOptions.PERSISTENCE_XML</strong>: the location of the xml annotations file. The location should be a resource
+ path.</li>
+
</ul>
</div>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/jpoxresources.html b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/jpoxresources.html
index d57853138..ddece5362 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/jpoxresources.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/jpoxresources.html
@@ -154,7 +154,7 @@
<a href="../jpox/jpoxdatastore.html">JpoxDataStore</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (EJB3)</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../jpox/ejb3_features.html">Supported Ann.</a>
@@ -193,7 +193,7 @@
<a href="../jpox/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../jpox/mailinglist.html">Mailinglist</a>
+<a href="../jpox/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../jpox/emfjpoxsupport.html">EMF/JPOX Support</a>
@@ -202,10 +202,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../jpox/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../jpox/testcases.html">Test cases</a>
+<a href="../jpox/svn.html">CVS</a>
</div>
</div>
</div>
@@ -235,7 +232,7 @@
<em>JPOX EMF Resources</em>
</h2>
</div>
-<div class="abstract">From the 0.7.0 release the EMF-JPOX integration offers one type of resource: JPOXResourceDAO. It
+<div class="abstract">From the 0.7.5 release the EMF-JPOX integration offers one type of resource: JPOXResource. It
extends the org.eclipse.emf.ecore.resource.impl.ResourceImpl.
</div>
<div class="app" id="projecthome">
@@ -244,7 +241,13 @@
<a href="#Resource+URI">Resource URI</a>
</li>
<li>
-<a href="#JPOX+%28DAO%29+Resource">JPOX (DAO) Resource</a>
+<a href="#JPOX+Resource">JPOX Resource</a>
+</li>
+<li>
+<a href="#Sharing+one+PersistenceManager+between+Resources%2C+One+transaction+when+saving+multiple+resources">Sharing one PersistenceManager between Resources, One transaction when saving multiple resources</a>
+</li>
+<li>
+<a href="#Closing+a+resource">Closing a resource</a>
</li>
<li>
<a href="#Validation">Validation</a>
@@ -264,7 +267,7 @@
</ul>
</li>
<li>
-<a href="#Closing+a+resource">Closing a resource</a>
+<a href="#Closing+a+resource-N100B0">Closing a resource</a>
</li>
</ul>
@@ -279,11 +282,11 @@
protocol: jpox and jpoxdao. <em>The jpoxdao protocol is deprecated and present because of backwards compatibility.</em>
</p>
-<p>From the 0.7.0 the EMF-JPOX integration offers one type of resource: JPOXResourceDAO. The previous JPOXResource is no
- longer used. The jpox protocol will from now return a JPOXResourceDAO instance.</p>
+<p>From the 0.7.5 release the EMF-JPOX integration offers one type of resource: JPOXResource. The previous JPOXResourceDAO is no
+ longer used. The jpox protocol will from now return a JPOXResource instance.</p>
<p>The JPOX resource needs to know how to reach a data store. This is done by passing the name
- of a JpoxDataStore to the resource with the JPOXResourceDAO.DS_NAME_PARAM parameter. The name of the
+ of a JpoxDataStore to the resource with the JPOXResource.DS_NAME_PARAM parameter. The name of the
JpoxDataStore is the name used when creating/registering a JpoxDataStore
using the JpoxHelper.INSTANCE object.
</p>
@@ -292,18 +295,20 @@
</div>
-<a name="N1002D"></a><a name="JPOX+%28DAO%29+Resource"></a>
+<a name="N1002D"></a><a name="JPOX+Resource"></a>
<div class="h3">
-<h3>JPOX (DAO) Resource</h3>
+<h3>JPOX Resource</h3>
-<p>The JPOX DAO Resource (org.elver.store.jpox.resource.JPOXResourceDAO) starts and completes a
- transaction in the load action and reopens and commits a transaction for the save action.
- This behavior has the following consequences:</p>
+<p>The JPOX Resource (org.eclipse.emf.teneo.jpox.resource.JPOXResource) starts a
+ transaction in the load action and commits and reopens a transaction for the save action.
+ </p>
+
+<p>This behavior has the following consequences:</p>
<ul>
-<li>A transaction is only open during the time of the load or save action and not in between.</li>
+<li>The assumption is that optimistic transactions are enabled.</li>
<li>After saving the resource the saved objects can still be used by the application, so no refresh
is required. </li>
@@ -314,8 +319,85 @@
</ul>
</div>
+
+<a name="N10046"></a><a name="Sharing+one+PersistenceManager+between+Resources%2C+One+transaction+when+saving+multiple+resources"></a>
+<div class="h3">
+<h3>Sharing one PersistenceManager between Resources, One transaction when saving multiple resources</h3>
+
+
+<p>As a standard behavior the resource will create its own PersistenceManager (pm) at load time.
+ However, there are cases when you want to use one pm to load and save multiple resources. This
+ is for example the case when there are references between objects in different resources.
+ In this case the load and save actions of multiple resources should use the same pm and be done
+ in the same transaction.</p>
+
+<p>To support this Teneo has the concept of a PMController. A PMController manages one pm
+ for multiple resources. A PMController is registered using a specific name. When a resource is opened this
+ name is passed as an uri parameter. Using this name the JPOXResource can then find the PMController
+ and retrieve a pm. When a JPOXResource has a PMController then the JPOXResource does not itself
+ create a pm or begin and commit transactions. Beginning and committing transactions is the responsibility
+ of the application itself.</p>
+
+<p>Here is some example code illustrating the use of a PMController:</p>
+
+<pre class="code">
+ PMController pmc = new PMController();
+
+ // when creating a PMController you have to pass your JpoxDataStore instance
+ pmc.setJpoxDataStore(jpoxDataStore);
+
+ // register the PMController, the name is used in the uri of the resource
+ PMController.registerPMController("testsc", sc);
+
+ // create an uri using the PMController name
+ URI uri1 = URI.createURI("hibernate://?" + JPOXResource.SESSION_CONTROLLER_PARAM + "=testsc&amp;query1=select from " + BookImpl.class.getName());
+ URI uri2 = URI.createURI("hibernate://?" + JPOXResource.SESSION_CONTROLLER_PARAM + "=testsc&amp;query1=select from " + WriterImpl.class.getName());
+ // resourceSet has to be set before somehow..
+ final Resource res1 = resourceSet.createResource(uri1);
+ final Resource res2 = resourceSet.createResource(uri2);
+
+ // now load the resources
+ pmc.getPM().currentTransaction().begin();
+ res1.load(Collections.EMPTY_MAP);
+ res2.load(Collections.EMPTY_MAP);
+ pmc.getPM().currentTransaction().commit();
+
+ // do something usefull with your loaded resources...
+
+ // and save them
+ pmc.getPM().currentTransaction().begin();
+ res1.save(Collections.EMPTY_MAP);
+ res2.save(Collections.EMPTY_MAP);
+ pmc.getPM().currentTransaction().commit();
+ </pre>
+
+<p>
+<strong>Loading different EObjects (refering to eachother) in different resources can have side-effects if
+ there are containment relations to and from these EObjects (with resolving=false).
+ If the containment relation is non-resolving then
+ EMF will place an EObject always in the same resource as its container. If you use queries to load your resources
+ then the containers are loaded also. For example: assume EObjects A1 and A2 both have container A0. If one resource
+ loads A1 then A0 is also loaded automatically and A0 and A1 are in the same resource. If then a second resource loads
+ A2 then A2 will be placed in the first resource because its container is located there. Overall this results in
+ unpredictable behavior. So: to correctly work with multiple resources the containment relations should be set to
+ resolving = true.</strong>
+</p>
+
+</div>
+
+<a name="N1005E"></a><a name="Closing+a+resource"></a>
+<div class="h3">
+<h3>Closing a resource</h3>
+
+
+<p>The JPOXResource can be closed by calling the unload method.
+ This method will close the PersistenceManager. In case a PMController is used
+ the unload method will just nullify the internal pm member, you should close
+ the pm explicitly.</p>
+
+</div>
-<a name="N10043"></a><a name="Validation"></a>
+<a name="N10068"></a><a name="Validation"></a>
<div class="h3">
<h3>Validation</h3>
@@ -323,12 +405,12 @@
<p>The JPOX Resource automatically validates its content (the EObjects) when the
resource is saved. This validation makes use of the EMF validation framework through calls to
the Diagnostician.INSTANCE.validate method. Validation fails when a ERROR level Diagnostic is
- encountered. In this case the resource save method will throw an org.elver.store.StoreValidationException.
+ encountered. In this case the resource save method will throw an org.eclipse.emf.teneo.StoreValidationException.
This exception has a method to retrieve all Diagnostics.</p>
</div>
-<a name="N1004D"></a><a name="Standard+load+behavior%3A+Top+level+types"></a>
+<a name="N10072"></a><a name="Standard+load+behavior%3A+Top+level+types"></a>
<div class="h3">
<h3>Standard load behavior: Top level types</h3>
@@ -342,13 +424,13 @@
</div>
-<a name="N1005E"></a><a name="Customizing+load+behavior"></a>
+<a name="N10083"></a><a name="Customizing+load+behavior"></a>
<div class="h3">
<h3>Customizing load behavior</h3>
<p>It is possible to customize what the resource actually loads from the database.</p>
-<a name="N10066"></a><a name="Extend+the+resource+implementation+with+a+Java+subclass"></a>
+<a name="N1008B"></a><a name="Extend+the+resource+implementation+with+a+Java+subclass"></a>
<div class="h4">
<h4>Extend the resource implementation with a Java subclass</h4>
<p>It is possible to customize the load behavior by overriding the loadFromStore method
@@ -357,7 +439,7 @@
</p>
</div>
-<a name="N1006F"></a><a name="Set+specific+queries+to+load+the+resource"></a>
+<a name="N10094"></a><a name="Set+specific+queries+to+load+the+resource"></a>
<div class="h4">
<h4>Set specific queries to load the resource</h4>
<p>There are two ways to pass specific queries to the JPOXResourceDAO. The first method
@@ -375,7 +457,7 @@
</div>
-<a name="N1008B"></a><a name="Closing+a+resource"></a>
+<a name="N100B0"></a><a name="Closing+a+resource-N100B0"></a>
<div class="h3">
<h3>Closing a resource</h3>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/knownissues.html b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/knownissues.html
index 7c788cca9..47f312a00 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/knownissues.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/knownissues.html
@@ -16,7 +16,7 @@
<link href="../skin/forrest.css" type="text/css" rel="stylesheet">
<link rel="shortcut icon" href="../">
<script type="text/javascript" src="../skin/tigris.js"></script><script src="../skin/menu.js" language="javascript" type="text/javascript"></script>
-<title>Known issues (updated 21 April 2006)</title>
+<title>Known issues (updated 13 September 2006)</title>
<meta content="text/css" http-equiv="Content-style-type">
</head>
<body class="composite" onload="focus()">
@@ -154,7 +154,7 @@
<a href="../jpox/jpoxdatastore.html">JpoxDataStore</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (EJB3)</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../jpox/ejb3_features.html">Supported Ann.</a>
@@ -193,7 +193,7 @@
<a href="../jpox/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../jpox/mailinglist.html">Mailinglist</a>
+<a href="../jpox/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../jpox/emfjpoxsupport.html">EMF/JPOX Support</a>
@@ -202,10 +202,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../jpox/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../jpox/testcases.html">Test cases</a>
+<a href="../jpox/svn.html">CVS</a>
</div>
</div>
</div>
@@ -232,14 +229,28 @@
<div id="bodycol">
<div id="apphead">
<h2>
-<em>Known issues (updated 21 April 2006)</em>
+<em>Known issues (updated 13 September 2006)</em>
</h2>
</div>
<div class="app" id="projecthome">
+<p>
+<br>
+</p>
+
+<p>
+
+<strong>From 13 September 2006: for open issues please visit the EMFT <a class="external" href="https://bugs.eclipse.org/bugs/buglist.cgi?product=EMFT&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&query_format=advanced&order=map_components.name">open bugs</a>
+ page.</strong>
+</p>
+
+<p>
+<br>
+</p>
+
<p>This page describes known issues (and possible work arounds) and gives an estimate on when they will be solved.</p>
-<p>Current open issue(s):</p>
+<p>Open issue(s):</p>
<ul>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/license.html b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/license.html
index 4415cac70..678be0a18 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/license.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/license.html
@@ -154,7 +154,7 @@
<a href="../jpox/jpoxdatastore.html">JpoxDataStore</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (EJB3)</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../jpox/ejb3_features.html">Supported Ann.</a>
@@ -193,7 +193,7 @@
<a href="../jpox/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../jpox/mailinglist.html">Mailinglist</a>
+<a href="../jpox/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../jpox/emfjpoxsupport.html">EMF/JPOX Support</a>
@@ -202,10 +202,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../jpox/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../jpox/testcases.html">Test cases</a>
+<a href="../jpox/svn.html">CVS</a>
</div>
</div>
</div>
@@ -237,25 +234,16 @@
</div>
<div class="app" id="projecthome">
-<p>All software, documentation, this website and other direct or indirect material
- is licensed under the <a class="external" href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0 license</a>. In all documents and software the following copyright and
- license statement is present.
+<p>Teneo is licensed under the <a class="external" href="http://www.eclipse.org/org/documents/epl-v10.php">Eclipse Public License</a>.
+ In all documents and software the following copyright and license statement is present.
</p>
<pre class="code">
- Copyright 2005-2006, Elver.org (http://www.elver.org).
-
- Licensed 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.
+Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Eclipse Public License v1.0
+which accompanies this distribution, and is available at
+http://www.eclipse.org/legal/epl-v10.html
</pre>
</div>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/links.html b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/links.html
index 73edea704..5e736eb71 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/links.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/links.html
@@ -184,7 +184,7 @@
<a href="../jpox/jpoxdatastore.html">JpoxDataStore</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Annotations (EJB3)</div>
+<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
<a href="../jpox/ejb3_features.html">Supported Ann.</a>
@@ -223,7 +223,7 @@
<a href="../jpox/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../jpox/mailinglist.html">Mailinglist</a>
+<a href="../jpox/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../jpox/emfjpoxsupport.html">EMF/JPOX Support</a>
@@ -232,10 +232,7 @@
<div onclick="SwitchMenu('menu_1.11')" id="menu_1.11Title" class="menutitle">Developer</div>
<div id="menu_1.11" class="menuitemgroup">
<div class="menuitem">
-<a href="../jpox/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../jpox/testcases.html">Test cases</a>
+<a href="../jpox/svn.html">CVS</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.12')" id="menu_1.12Title" class="menutitle">Home</div>
@@ -328,7 +325,7 @@
<a href="../hibernate/resource_utility.html">Resource Utility</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.16')" id="menu_1.16Title" class="menutitle">Annotations</div>
+<div onclick="SwitchMenu('menu_1.16')" id="menu_1.16Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.16" class="menuitemgroup">
<div class="menuitem">
<a href="../hibernate/ejb3_format.html">Format</a>
@@ -337,10 +334,7 @@
<a href="../hibernate/ejb3_examples.html">Examples</a>
</div>
<div class="menuitem">
-<a href="../hibernate/ejb3_features.html">EJB3</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/custom_annotations.html">Custom</a>
+<a href="../hibernate/ejb3_features.html">JPA/EJB3</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.17')" id="menu_1.17Title" class="menutitle">XML Schema</div>
@@ -364,7 +358,7 @@
<a href="../hibernate/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../hibernate/mailinglist.html">Mailinglist</a>
+<a href="../hibernate/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../hibernate/emfhibsupport.html">EMF/Hibernate Support</a>
@@ -373,10 +367,7 @@
<div onclick="SwitchMenu('menu_1.19')" id="menu_1.19Title" class="menutitle">Developer</div>
<div id="menu_1.19" class="menuitemgroup">
<div class="menuitem">
-<a href="../hibernate/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/testcases.html">Test cases</a>
+<a href="../hibernate/svn.html">CVS</a>
</div>
</div>
</div>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/mailinglist.html b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/mailinglist.html
index 1724c94a2..1904404e1 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/mailinglist.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/mailinglist.html
@@ -16,7 +16,7 @@
<link href="../skin/forrest.css" type="text/css" rel="stylesheet">
<link rel="shortcut icon" href="../">
<script type="text/javascript" src="../skin/tigris.js"></script><script src="../skin/menu.js" language="javascript" type="text/javascript"></script>
-<title>Elver Store Mailinglist</title>
+<title>Teneo Newsgroup</title>
<meta content="text/css" http-equiv="Content-style-type">
</head>
<body class="composite" onload="focus()">
@@ -154,7 +154,7 @@
<a href="../jpox/jpoxdatastore.html">JpoxDataStore</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (EJB3)</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../jpox/ejb3_features.html">Supported Ann.</a>
@@ -193,7 +193,7 @@
<a href="../jpox/upgrading.html">Upgrading</a>
</div>
<div class="menupage">
-<div class="menupagetitle">Mailinglist</div>
+<div class="menupagetitle">Newsgroup</div>
</div>
<div class="menuitem">
<a href="../jpox/emfjpoxsupport.html">EMF/JPOX Support</a>
@@ -202,10 +202,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../jpox/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../jpox/testcases.html">Test cases</a>
+<a href="../jpox/svn.html">CVS</a>
</div>
</div>
</div>
@@ -232,41 +229,44 @@
<div id="bodycol">
<div id="apphead">
<h2>
-<em>Elver Store Mailinglist</em>
+<em>Teneo Newsgroup</em>
</h2>
</div>
<div class="app" id="projecthome">
<ul class="minitoc">
<li>
-<a href="#maillist">Mailing List</a>
+<a href="#EMFT+Newsgroup">EMFT Newsgroup</a>
+</li>
+<li>
+<a href="#maillist">Archived Mailing List</a>
</li>
<li>
<a href="#wedo">How we can help you</a>
</li>
</ul>
-<a name="N1000E"></a><a name="maillist"></a>
+<a name="N1000E"></a><a name="EMFT+Newsgroup"></a>
<div class="h3">
-<h3>Mailing List</h3>
+<h3>EMFT Newsgroup</h3>
+
+<p>Support for Teneo is provided through the EMFT newsgroup: news://news.eclipse.org/eclipse.technology.emft.</p>
-<p>
- Support is provided through a mailinglist. You can subscribe to this
- mailinglist by sending an email to: <em><a href="mailto:emf-store-subscribe.at.elver.org">Subscribe</a></em>.
- Unsubscribing is done through the following link: <em><a href="mailto:emf-store-subscribe.at.elver.org">Unsubscribe</a></em>.
- The traffic on the mailinglist is probably pretty low.</p>
+</div>
-<p>The mailing list is used for the EMF - JDO as well as the EMF - Hibernate integration.</p>
+<a name="N10018"></a><a name="maillist"></a>
+<div class="h3">
+<h3>Archived Mailing List</h3>
+
-<p>
- The mail archive can be viewed
+<p>The archive of the mailinglist posts before the move to EMFT can be viewed:
<a class="external" href="http://blog.gmane.org/gmane.comp.java.emf.persistency">here (web)</a> or
<a class="external" href="nntp://news.gmane.org/gmane.comp.java.emf.persistency">here (news, nntp)</a>.
</p>
</div>
-<a name="N10030"></a><a name="wedo"></a>
+<a name="N1002A"></a><a name="wedo"></a>
<div class="h3">
<h3>How we can help you</h3>
@@ -286,7 +286,7 @@
<li>The log file (see <a href="troubleshooting.html">here</a> on where to find it)</li>
-<li>The version of Elver Store, Eclipse, EMF, jdk, and database</li>
+<li>The version of Teneo Store, Eclipse, EMF, jdk, and database</li>
</ul>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/overview.html b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/overview.html
index ac755bd87..f55235f14 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/overview.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/overview.html
@@ -154,7 +154,7 @@
<a href="../jpox/jpoxdatastore.html">JpoxDataStore</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (EJB3)</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../jpox/ejb3_features.html">Supported Ann.</a>
@@ -193,7 +193,7 @@
<a href="../jpox/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../jpox/mailinglist.html">Mailinglist</a>
+<a href="../jpox/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../jpox/emfjpoxsupport.html">EMF/JPOX Support</a>
@@ -202,10 +202,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../jpox/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../jpox/testcases.html">Test cases</a>
+<a href="../jpox/svn.html">CVS</a>
</div>
</div>
</div>
@@ -259,8 +256,7 @@
<ol>
-<li>EMF - JPOX OR Mapper: generates object-relational mapping files from the tags in
-the EMF-generated source code. </li>
+<li>EMF - JPOX OR Mapper: generates object-relational mapping files from ecore model. </li>
<li>EMF - JPOX Runtime: takes care of handling EMF specific
things such as EMF collections, containment and bi-directional relations.</li>
@@ -318,12 +314,12 @@ things such as EMF collections, containment and bi-directional relations.</li>
The <a href="jpoxdatastore.html">JpoxDataStore</a>
controls a PersistenceManagerFactory and a set of EPackages which are persisted using the PersistenceManagers
of this PersistenceManagerFactory. When using a PersistenceManager,
- behind the scenes Elver takes care of instantiating EMF objects and setting/getting EFeatures from the database.
- Elver also handles lazy loading of ELists.</p>
+ behind the scenes Teneo takes care of instantiating EMF objects and setting/getting EFeatures from the database.
+ Teneo also handles lazy loading of ELists.</p>
<p>
<div align="center">
-<img class="figure" alt="Elver Runtime Layer" src="images/Runtime.jpg"></div>
+<img class="figure" alt="Teneo Runtime Layer" src="images/Runtime.jpg"></div>
</p>
</div>
@@ -333,14 +329,14 @@ things such as EMF collections, containment and bi-directional relations.</li>
<h3>EJB3 Annotations</h3>
-<p>Elver can automatically map the EMF model to an object relational representation. However there are situations in which it makes
- sense to influence or control the mapping. For this purpose Elver supports EJB3-like annotations in the model. The annotations
+<p>Teneo can automatically map the EMF model to an object relational representation. However there are situations in which it makes
+ sense to influence or control the mapping. For this purpose Teneo supports EJB3-like annotations in the model. The annotations
can be used to control the way the inheritance structure is mapped to the relational store or how efeatures are mapped to database
columns. For a complete overview of the supported EJB3 annotations see <a href="ejb3_features.html">here</a>.</p>
<p>The EJB3 support has been developed in such a way that it is only required to specify annotations for those parts of the model for
which the automatic behavior does not result in the required behavior. For example it is possible to specify a column annotation for
- one efeature in a model while all other efeatures and eclasses are automatically handled by Elver.</p>
+ one efeature in a model while all other efeatures and eclasses are automatically handled by Teneo.</p>
<p>
<em>EJB3 annotations are defined in EAnnotations in a specific format. See
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/quick_tutorial.html b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/quick_tutorial.html
index ce87c1bca..1df24a29e 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/quick_tutorial.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/quick_tutorial.html
@@ -154,7 +154,7 @@
<a href="../jpox/jpoxdatastore.html">JpoxDataStore</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (EJB3)</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../jpox/ejb3_features.html">Supported Ann.</a>
@@ -193,7 +193,7 @@
<a href="../jpox/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../jpox/mailinglist.html">Mailinglist</a>
+<a href="../jpox/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../jpox/emfjpoxsupport.html">EMF/JPOX Support</a>
@@ -202,10 +202,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../jpox/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../jpox/testcases.html">Test cases</a>
+<a href="../jpox/svn.html">CVS</a>
</div>
</div>
</div>
@@ -255,10 +252,7 @@
<li>Set Library model plugin dependency:
<ul>
-<li>Add the EMF persistency runtime plugin (org.elver.store.jpox.runtime) to the plugin dependencies of the Library (model) project</li>
-
-<li>Add <em>Eclipse-RegisterBuddy: org.elver.store.jpox.runtime</em> to the Manifest.MF of
- the Library model project (see <a class="external" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=87775#c57">here</a> why).</li>
+<li>Add the EMF persistency runtime plugin (org.eclipse.emf.teneo.jpox) to the plugin dependencies of the Library (model) project</li>
</ul>
@@ -269,12 +263,12 @@
<li>Generate JDO file: right click on the ecore file (normally called library.ecore)
top package (org.eclipse.example.library) and in
- the Elver menu choose one of the <em>Generate EMF - JDO/JPOX OR Mapping (...)</em> option.
+ the Teneo menu choose one of the <em>Generate EMF - JDO/JPOX OR Mapping (...)</em> option.
A package.jdo file should be created next to the ecore file. <em>It is possible that you need to refresh the
folder to see the created package.jdo.</em>
</li>
-<li>Copy the package.jdo to a location in the source tree, if you have automatic build enabled then JPOX
+<li>Copy the package.jdo to a location in the source tree and ensure that the build process copies it to the build target location, if you have automatic build enabled then JPOX
should now enhance the classes automatically (after the build).</li>
<li>Create a database (with the name mylibrary) in your database server</li>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/resource_utility.html b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/resource_utility.html
index 048418bb3..43d959cfe 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/resource_utility.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/resource_utility.html
@@ -154,7 +154,7 @@
<a href="../jpox/jpoxdatastore.html">JpoxDataStore</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (EJB3)</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../jpox/ejb3_features.html">Supported Ann.</a>
@@ -193,7 +193,7 @@
<a href="../jpox/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../jpox/mailinglist.html">Mailinglist</a>
+<a href="../jpox/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../jpox/emfjpoxsupport.html">EMF/JPOX Support</a>
@@ -202,10 +202,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../jpox/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../jpox/testcases.html">Test cases</a>
+<a href="../jpox/svn.html">CVS</a>
</div>
</div>
</div>
@@ -250,6 +247,9 @@
<a href="#Throubleshooting%3A+empty+editor+when+opening+resource%2C+can+not+add">Throubleshooting: empty editor when opening resource, can not add</a>
</li>
<li>
+<a href="#Throubleshooting%3A+editor+does+not+start%2C+AssertionFailedException">Throubleshooting: editor does not start, AssertionFailedException</a>
+</li>
+<li>
<a href="#Future+extensions">Future extensions</a>
</li>
</ul>
@@ -283,7 +283,7 @@
<div class="h3">
<h3>Open Resource</h3>
-<p>When rightclicking on an ejdo file the Elver menu option is displayed. Within this
+<p>When rightclicking on an ejdo file the Teneo menu option is displayed. Within this
menu the option <em>Open Resource</em> is shown. Choosing this option will open a
EMF editor which reads its contents from the connection/session information in the
ejdo file.</p>
@@ -321,8 +321,16 @@
</div>
+<a name="N1004D"></a><a name="Throubleshooting%3A+editor+does+not+start%2C+AssertionFailedException"></a>
+<div class="h3">
+<h3>Throubleshooting: editor does not start, AssertionFailedException</h3>
+
+<p>See <a href="troubleshooting.html#Editor+does+not+start%2C+AssertionFailedException">here</a>
+ in the troubleshooting page.</p>
+
+</div>
-<a name="N1004D"></a><a name="Future+extensions"></a>
+<a name="N1005A"></a><a name="Future+extensions"></a>
<div class="h3">
<h3>Future extensions</h3>
@@ -340,7 +348,7 @@
</ul>
-<p>Please send an email to the <a href="mailinglist.html">mailinglist</a> if you
+<p>Please post a message on the <a href="mailinglist.html">newsgroup</a> if you
have other ideas or requirements for resource utilities.</p>
<p></p>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/schema_list.html b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/schema_list.html
index e310476ba..7397d7df1 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/schema_list.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/schema_list.html
@@ -154,7 +154,7 @@
<a href="../jpox/jpoxdatastore.html">JpoxDataStore</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (EJB3)</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../jpox/ejb3_features.html">Supported Ann.</a>
@@ -193,7 +193,7 @@
<a href="../jpox/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../jpox/mailinglist.html">Mailinglist</a>
+<a href="../jpox/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../jpox/emfjpoxsupport.html">EMF/JPOX Support</a>
@@ -202,10 +202,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../jpox/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../jpox/testcases.html">Test cases</a>
+<a href="../jpox/svn.html">CVS</a>
</div>
</div>
</div>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/status.html b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/status.html
index d37c11784..0815b7028 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/status.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/status.html
@@ -154,7 +154,7 @@
<a href="../jpox/jpoxdatastore.html">JpoxDataStore</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (EJB3)</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../jpox/ejb3_features.html">Supported Ann.</a>
@@ -193,7 +193,7 @@
<a href="../jpox/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../jpox/mailinglist.html">Mailinglist</a>
+<a href="../jpox/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../jpox/emfjpoxsupport.html">EMF/JPOX Support</a>
@@ -202,10 +202,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../jpox/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../jpox/testcases.html">Test cases</a>
+<a href="../jpox/svn.html">CVS</a>
</div>
</div>
</div>
@@ -253,20 +250,20 @@
<h3>Version</h3>
-<p>The current version is 0.7.2 (ALPHA). For changes since the first 0.5.0 release see <a href="changelog.html">here</a>.</p>
+<p>The current version is 0.7.5 (BETA). For changes since the first 0.5.0 release see <a href="changelog.html">here</a>.</p>
<p>The
integration should be tested further to assure that it is applicable to many different environments. Currently this release supports
- the features listed <a href="features.html">here</a>, these features pass the <a href="testcases.html">testcases</a>.</p>
+ the features listed <a href="features.html">here</a>, these features pass the testcases.</p>
</div>
-<a name="N10027"></a><a name="Todo"></a>
+<a name="N10023"></a><a name="Todo"></a>
<div class="h3">
<h3>Todo</h3>
-<p>The following topics will be implemented in the near future:</p>
+<p>The todo list:</p>
<ol>
@@ -281,22 +278,10 @@
<li>More tests...</li>
</ol>
-
-<p>The following topics will be covered later:</p>
-
-<ol>
-
-<li>Allow and retain manual changes in generated jdo files</li>
-
-<li>Align the JDO/JPOX and Hibernate generated database schemas, facilitating switching or layer</li>
-
-<li>More tests, For example on the area of jdo queries, different hierarchy mappings and performance</li>
-
-</ol>
</div>
-<a name="N10052"></a><a name="Next+Steps"></a>
+<a name="N1003F"></a><a name="Next+Steps"></a>
<div class="h3">
<h3>Next Steps</h3>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/substitution.html b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/substitution.html
index 656ee3c1a..cedfd1f70 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/substitution.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/substitution.html
@@ -154,7 +154,7 @@
<a href="../jpox/jpoxdatastore.html">JpoxDataStore</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (EJB3)</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../jpox/ejb3_features.html">Supported Ann.</a>
@@ -193,7 +193,7 @@
<a href="../jpox/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../jpox/mailinglist.html">Mailinglist</a>
+<a href="../jpox/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../jpox/emfjpoxsupport.html">EMF/JPOX Support</a>
@@ -202,10 +202,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../jpox/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../jpox/testcases.html">Test cases</a>
+<a href="../jpox/svn.html">CVS</a>
</div>
</div>
</div>
@@ -321,7 +318,7 @@ FeatureMap getMyAbstractGroup();
/**
* ........
- * @model unique="false" dataType="org.elver.store.test.emf.schemaconstructs.substitutionzvon.AAA"
+ * @model unique="false" dataType="org.eclipse.emf.teneo.samples.emf.schemaconstructs.substitutionzvon.AAA" required="true" transient="true" changeable="false" volatile="true" derived="true"
* required="true" transient="true" changeable="false" volatile="true" derived="true"
* extendedMetaData="kind='element' name='myAbstract' namespace='##targetNamespace' group='myAbstract:group'"
* @generated
@@ -343,36 +340,35 @@ BigInteger getMyAbstract();
<p>The Substitution Group element is a FeatureMap which is mapped as a collection with embedded types.
- The embedded type is org.elver.store.jpox.emf.elist.GenericFeatureMapEntry. The mapping for the above example
+ The embedded type is org.eclipse.emf.teneo.jpox.elist.GenericFeatureMapEntry. The mapping for the above example
is shown below. For more information regarding persisting FeatureMaps see <a href="featuremap.html">here</a>.</p>
<pre class="code">
&lt;field name="myAbstractGroup" persistence-modifier="persistent"&gt;
- &lt;collection element-type="org.elver.store.jpox.emf.elist.GenericFeatureMapEntry"&gt;
+ &lt;collection element-type="org.eclipse.emf.teneo.jpox.elist.GenericFeatureMapEntry"&gt;
&lt;extension vendor-name="jpox" key="cache-lazy-loading" value="true"/&gt;
&lt;/collection&gt;
&lt;join/&gt;
&lt;element&gt;
- &lt;embedded&gt;
- &lt;field name="featurePath"/&gt;
- &lt;field name="localAnyValue" embedded="true"&gt;
- &lt;extension vendor-name="jpox" key="implementation-classes" value="java.math.BigInteger"/&gt;
- &lt;extension vendor-name="elver.org" key="estructuralfeatures" value="myAbstract"/&gt;
- &lt;/field&gt;
- &lt;field name="localReferenceValue" embedded="true"&gt;
- &lt;extension vendor-name="jpox" key="implementation-classes"
- value="org.elver.store.jpox.emf.mapping.AnyTypeEObject"/&gt;
- &lt;extension vendor-name="elver.org" key="estructuralfeatures" value=""/&gt;
- &lt;foreign-key delete-action="restrict" update-action="cascade"/&gt;
- &lt;/field&gt;
- &lt;field name="localContainmentReferenceValue" dependent="true" embedded="true"&gt;
- &lt;foreign-key delete-action="cascade" update-action="cascade"/&gt;
- &lt;extension vendor-name="jpox" key="implementation-classes"
- value="org.elver.store.jpox.emf.mapping.AnyTypeEObject"/&gt;
- &lt;extension vendor-name="elver.org" key="estructuralfeatures" value=""/&gt;
- &lt;/field&gt;
- &lt;/embedded&gt;
+ &lt;embedded&gt;
+ &lt;field name="featurePath"/&gt;
+ &lt;field name="localAnyValue" embedded="true"&gt;
+ &lt;extension vendor-name="jpox" key="implementation-classes" value="java.math.BigInteger"/&gt;
+ &lt;extension vendor-name="teneo" key="estructuralfeatures" value="myAbstract"/&gt;
+ &lt;/field&gt;
+ &lt;field name="localReferenceValue" embedded="true"&gt;
+ &lt;extension vendor-name="jpox" key="implementation-classes" value="org.eclipse.emf.teneo.jpox.mapping.AnyTypeEObject"/&gt;
+ &lt;extension vendor-name="teneo" key="estructuralfeatures" value=""/&gt;
+ &lt;foreign-key delete-action="restrict" update-action="cascade"/&gt;
+ &lt;/field&gt;
+ &lt;field name="localContainmentReferenceValue" dependent="true" embedded="true"&gt;
+ &lt;foreign-key delete-action="cascade" update-action="cascade"/&gt;
+ &lt;extension vendor-name="jpox" key="implementation-classes" value="org.eclipse.emf.teneo.jpox.mapping.AnyTypeEObject"/&gt;
+ &lt;extension vendor-name="teneo" key="estructuralfeatures" value=""/&gt;
+ &lt;/field&gt;
+ &lt;/embedded&gt;
&lt;/element&gt;
+ &lt;order column="ROOTTYPE_MYABSTRACTGROUP_IDX"/&gt;
&lt;/field&gt;
</pre>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/svn.html b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/svn.html
index da4b36b55..b1acd702d 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/svn.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/svn.html
@@ -16,7 +16,7 @@
<link href="../skin/forrest.css" type="text/css" rel="stylesheet">
<link rel="shortcut icon" href="../">
<script type="text/javascript" src="../skin/tigris.js"></script><script src="../skin/menu.js" language="javascript" type="text/javascript"></script>
-<title>Subversion</title>
+<title>CVS</title>
<meta content="text/css" http-equiv="Content-style-type">
</head>
<body class="composite" onload="focus()">
@@ -154,7 +154,7 @@
<a href="../jpox/jpoxdatastore.html">JpoxDataStore</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (EJB3)</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../jpox/ejb3_features.html">Supported Ann.</a>
@@ -193,7 +193,7 @@
<a href="../jpox/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../jpox/mailinglist.html">Mailinglist</a>
+<a href="../jpox/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../jpox/emfjpoxsupport.html">EMF/JPOX Support</a>
@@ -202,10 +202,7 @@
<div onclick="SwitchMenu('menu_selected_1.8')" id="menu_selected_1.8Title" class="menutitle">Developer</div>
<div id="menu_selected_1.8" class="selectedmenuitemgroup">
<div class="menupage">
-<div class="menupagetitle">Subversion</div>
-</div>
-<div class="menuitem">
-<a href="../jpox/testcases.html">Test cases</a>
+<div class="menupagetitle">CVS</div>
</div>
</div>
</div>
@@ -232,84 +229,93 @@
<div id="bodycol">
<div id="apphead">
<h2>
-<em>Subversion</em>
+<em>CVS</em>
</h2>
</div>
<div class="app" id="projecthome">
<ul class="minitoc">
<li>
-<a href="#projects">Projects in Subversion</a>
+<a href="#projects">Projects in CVS</a>
</li>
</ul>
-<p>The source code of the EMF - JPOX integration is stored in a <a class="external" href="http://subversion.tigris.org/">Subversion</a> repository.
- The subversion url is: svn://svn.elver.org/elver with anonymous login.</p>
+<p>The source code of the EMF - JPOX integration is stored in Eclipse.org cvs here:</p>
+
+<ul>
+
+<li>host: dev.eclipse.org</li>
+
+<li>repository: /cvsroot/technology</li>
+
+<li>module: org.eclipse.emft/teneo</li>
-<p></p>
+</ul>
<p>
-<strong>The source code in subversion is updated on a daily basis and contains experimental
+<strong>The source code in cvs is updated on a daily basis and contains experimental
new features which can (temporarily) break already existing functionality and tests.
- There is no guarantee that the code in subversion will work in anyway.</strong>
+ There is no guarantee that the code in cvs will work in anyway.</strong>
</p>
-<a name="N1001C"></a><a name="projects"></a>
+<a name="N10022"></a><a name="projects"></a>
<div class="h3">
-<h3>Projects in Subversion</h3>
+<h3>Projects in CVS</h3>
-<p>
- The relevant projects within the
- repository are:
- </p>
-
+<p>The cvs repository has the following structure and projects:</p>
+
<ul>
+
+<li>doc: contains this website</li>
+
+<li>examples: contains the samples and tutorial projects. Samples has all the model projects which are used as the basis for the test cases. The tutorial project contains the tutorials used on this website.</li>
+
+<li>plugins: this is the main folder. The following jpox related projects are present here:
+ <ul>
+<li>org.eclipse.emf.teneo: generic part of the runtime layer</li>
-<li>org.elver.store: this project contains general code used by the JPOX as well as the Hibernate runtime layer.</li>
-
-<li>org.elver.store.eclipse: this project contains general code for the eclipse menu options used by the JPOX as well as the Hibernate runtime layer.</li>
-
-<li>org.elver.store.annotations: this project contains the handling of EJB3-like annotations.</li>
-
-<li>org.elver.store.mapper.jpox: maps an annotated model to a JPOX mapping (a package.jdo)..</li>
-
-<li>org.elver.store.jpox: this project contains the EMF - JPOX runtime layer.</li>
+<li>org.eclipse.emf.teneo.annotations: the jpa annotations</li>
-<li>org.elver.store.jpox.eclipse: this project contains the Eclipse menu options (generate
- package.jdo and resource utility).</li>
+<li>org.eclipse.emf.teneo.eclipse: the generic part of the ui additions to eclipse for the Teneo right-click menus</li>
-<li>org.elver.store.samples: this project contains the examples and model information used in the testcases.</li>
+<li>org.eclipse.emf.teneo.jpox: the main jpox project containing the mapping logic, jpox annotations and runtime layer</li>
-<li>org.elver.store.commontest: this project contains the test case part which is common for Hibernate and JPOX</li>
+<li>org.eclipse.emf.teneo.jpox.eclipse: jpox specific part of the ui additions to eclipse</li>
-<li>org.elver.store.jpox.test: the jpox specific part of the tests</li>
+<li>org.eclipse.emf.teneo.libraries: common libraries (for example log4j).</li>
-<li>org.elver.store.tutorial: the tutorials used on this website</li>
+</ul>
+
+</li>
+
+<li>tests: contains the test cases:
+ <ul>
+
+<li>org.eclipse.emf.teneo.commontest: this project contains the test case part which is common for JPOX and Hibernate.</li>
+
+<li>org.eclipse.emf.teneo.jpox.libraries: jpox libraries, not distributed as part of the build, used during testing.</li>
+
+<li>org.eclipse.emf.teneo.jpox.test: jpox test cases (junit)</li>
</ul>
-<p>
- Other projects in subversion are related to an integration between EMF and JSF and Hibernate.
- </p>
+</li>
-<p>The projects have dependencies which are managed by the plugin dependencies in
- the Manifest.MF</p>
+</ul>
-<p>Sometimes projects will have a dependency to a org.jpox plugin project (not present in svn). This is used
- to debug jpox. When checking out the development projects these dependencies can
- be replaced by the corresponding jpox jar file.</p>
+<p>In addition there are several feature projects and build related projects.</p>
<p>
- Within each project there is a sub folder called trunk which contains the
- latest version. Other versions are present in the branch/version subfolders.
- </p>
+<strong>Several of the above projects use third party libraries during the build process. The
+ plugin projects have dependencies defined on these libraries. However because of licensing these
+ libraries are not publically accessible in Eclipse cvs. The third party libraries have to be
+ downloaded separately.</strong>
+</p>
<p>We use the standard Eclipse code format with the line length set to 120, the formatter profile
can be downloaded <a href="../download/elver-code-profile.xml">here</a>.</p>
-<p></p>
-
</div>
</div>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/testcases.html b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/testcases.html
index 6bd1975ea..9e7a5f5c3 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/testcases.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/testcases.html
@@ -45,7 +45,7 @@
<div id="toptabs" class="tabs">
<table border="0" cellspacing="0" cellpadding="4">
<tr>
-<td><a class="base-selected" href="../index.html">Home</a></td><td><a class="base-selected" href="../hibernate/index.html">EMF Hibernate</a></td><th><a class="base-selected" href="../jpox/index.html">EMF JDO/JPOX</a></th><td><a class="base-selected" href="../services/index.html">Services</a></td>
+<td><a class="base-selected" href="../index.html">Home</a></td><td><a class="base-selected" href="../hibernate/index.html">EMF Hibernate</a></td><td><a class="base-selected" href="../jpox/index.html">EMF JDO/JPOX</a></td><td><a class="base-selected" href="../services/index.html">Services</a></td>
</tr>
</table>
</div>
@@ -76,6 +76,36 @@
<div onclick="SwitchMenu('menu_1.1')" id="menu_1.1Title" class="menutitle">Home</div>
<div id="menu_1.1" class="menuitemgroup">
<div class="menuitem">
+<a href="../index.html">Introduction</a>
+</div>
+<div class="menuitem">
+<a href="../contributors.html">Contributors</a>
+</div>
+<div class="menuitem">
+<a href="../links.html">Links</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2')" id="menu_1.2Title" class="menutitle">About</div>
+<div id="menu_1.2" class="menuitemgroup">
+<div class="menuitem">
+<a href="../goal.html">Project Goal</a>
+</div>
+<div class="menuitem">
+<a href="../elver.html">The Elver</a>
+</div>
+<div class="menuitem">
+<a href="../license.html">License</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.3')" id="menu_1.3Title" class="menutitle">Services</div>
+<div id="menu_1.3" class="menuitemgroup">
+<div class="menuitem">
+<a href="../services/index.html">Springsite.com</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.4')" id="menu_1.4Title" class="menutitle">Home</div>
+<div id="menu_1.4" class="menuitemgroup">
+<div class="menuitem">
<a href="../jpox/index.html">Introduction</a>
</div>
<div class="menuitem">
@@ -103,8 +133,8 @@
<a href="../jpox/license.html">License</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.2')" id="menu_1.2Title" class="menutitle">Library Tutorial</div>
-<div id="menu_1.2" class="menuitemgroup">
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Library Tutorial</div>
+<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../jpox/tutorial1/tutorial1_intro.html">Introduction</a>
</div>
@@ -124,8 +154,8 @@
<a href="../jpox/tutorial1/tutorial1_5.html">Using EMF/JPOX Resources</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.3')" id="menu_1.3Title" class="menutitle">Library Editor tutorial</div>
-<div id="menu_1.3" class="menuitemgroup">
+<div onclick="SwitchMenu('menu_1.6')" id="menu_1.6Title" class="menutitle">Library Editor tutorial</div>
+<div id="menu_1.6" class="menuitemgroup">
<div class="menuitem">
<a href="../jpox/tutorial2/tutorial2_intro.html">Introduction</a>
</div>
@@ -136,8 +166,8 @@
<a href="../jpox/tutorial2/tutorial2_2.html">Run the Library Editor</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.4')" id="menu_1.4Title" class="menutitle">Details</div>
-<div id="menu_1.4" class="menuitemgroup">
+<div onclick="SwitchMenu('menu_1.7')" id="menu_1.7Title" class="menutitle">Details</div>
+<div id="menu_1.7" class="menuitemgroup">
<div class="menuitem">
<a href="../jpox/inheritance.html">Inheritance Mapping</a>
</div>
@@ -154,8 +184,8 @@
<a href="../jpox/jpoxdatastore.html">JpoxDataStore</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (EJB3)</div>
-<div id="menu_1.5" class="menuitemgroup">
+<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Annotations (JPA/EJB3)</div>
+<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
<a href="../jpox/ejb3_features.html">Supported Ann.</a>
</div>
@@ -166,8 +196,8 @@
<a href="../jpox/ejb3_examples.html">EAnn. Examples</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.6')" id="menu_1.6Title" class="menutitle">XML Schema</div>
-<div id="menu_1.6" class="menuitemgroup">
+<div onclick="SwitchMenu('menu_1.9')" id="menu_1.9Title" class="menutitle">XML Schema</div>
+<div id="menu_1.9" class="menuitemgroup">
<div class="menuitem">
<a href="../jpox/features_details.html">XML Schema Features</a>
</div>
@@ -184,8 +214,8 @@
<a href="../jpox/schema_list.html">XML Schema Examples</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.7')" id="menu_1.7Title" class="menutitle">Support</div>
-<div id="menu_1.7" class="menuitemgroup">
+<div onclick="SwitchMenu('menu_1.10')" id="menu_1.10Title" class="menutitle">Support</div>
+<div id="menu_1.10" class="menuitemgroup">
<div class="menuitem">
<a href="../jpox/troubleshooting.html">Troubleshooting</a>
</div>
@@ -193,19 +223,151 @@
<a href="../jpox/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../jpox/mailinglist.html">Mailinglist</a>
+<a href="../jpox/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../jpox/emfjpoxsupport.html">EMF/JPOX Support</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_selected_1.8')" id="menu_selected_1.8Title" class="menutitle">Developer</div>
-<div id="menu_selected_1.8" class="selectedmenuitemgroup">
+<div onclick="SwitchMenu('menu_1.11')" id="menu_1.11Title" class="menutitle">Developer</div>
+<div id="menu_1.11" class="menuitemgroup">
+<div class="menuitem">
+<a href="../jpox/svn.html">CVS</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.12')" id="menu_1.12Title" class="menutitle">Home</div>
+<div id="menu_1.12" class="menuitemgroup">
+<div class="menuitem">
+<a href="../hibernate/index.html">Introduction</a>
+</div>
+<div class="menuitem">
+<a href="../hibernate/status.html">Status</a>
+</div>
+<div class="menuitem">
+<a href="../hibernate/features.html">Features</a>
+</div>
+<div class="menuitem">
+<a href="../hibernate/overview.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../hibernate/changelog.html">Changelog</a>
+</div>
+<div class="menuitem">
+<a href="../hibernate/installation.html">Download &amp; Install</a>
+</div>
+<div class="menuitem">
+<a href="../hibernate/knownissues.html">Known Issues</a>
+</div>
+<div class="menuitem">
+<a href="../hibernate/quick_tutorial.html">Quick Start</a>
+</div>
+<div class="menuitem">
+<a href="../hibernate/license.html">License</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.13')" id="menu_1.13Title" class="menutitle">Library Tutorial</div>
+<div id="menu_1.13" class="menuitemgroup">
+<div class="menuitem">
+<a href="../hibernate/tutorialone/tutorial1_intro.html">Introduction</a>
+</div>
+<div class="menuitem">
+<a href="../hibernate/tutorialone/tutorial1_1.html">Setup Environment</a>
+</div>
+<div class="menuitem">
+<a href="../hibernate/tutorialone/tutorial1_2.html">Create and Store EMF Object</a>
+</div>
+<div class="menuitem">
+<a href="../hibernate/tutorialone/tutorial1_3.html">Retrieve EMF Objects</a>
+</div>
+<div class="menuitem">
+<a href="../hibernate/tutorialone/tutorial1_4.html">Query EMF Objects</a>
+</div>
+<div class="menuitem">
+<a href="../hibernate/tutorialone/tutorial1_5.html">Using EMF/JPOX Resources</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.14')" id="menu_1.14Title" class="menutitle">Library Editor Tutorial</div>
+<div id="menu_1.14" class="menuitemgroup">
+<div class="menuitem">
+<a href="../hibernate/tutorialtwo/tutorial2_intro.html">Introduction</a>
+</div>
+<div class="menuitem">
+<a href="../hibernate/tutorialtwo/tutorial2_1.html">Initialize the Library Editor</a>
+</div>
+<div class="menuitem">
+<a href="../hibernate/tutorialtwo/tutorial2_2.html">Run the Library Editor</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.15')" id="menu_1.15Title" class="menutitle">Details</div>
+<div id="menu_1.15" class="menuitemgroup">
+<div class="menuitem">
+<a href="../hibernate/dynamic.html">Dynamic EMF Tutorial</a>
+</div>
+<div class="menuitem">
+<a href="../hibernate/inheritance.html">Inheritance Mapping</a>
+</div>
+<div class="menuitem">
+<a href="../hibernate/hibernate_relations.html">Modeling Associations</a>
+</div>
+<div class="menuitem">
+<a href="../hibernate/hbdatastore.html">HbDataStore</a>
+</div>
+<div class="menuitem">
+<a href="../hibernate/options.html">Options</a>
+</div>
+<div class="menuitem">
+<a href="../hibernate/hibernate_details.html">EMF - Hibernate Details</a>
+</div>
<div class="menuitem">
-<a href="../jpox/svn.html">Subversion</a>
+<a href="../hibernate/hibernateresources.html">EMF Hibernate Resources</a>
</div>
-<div class="menupage">
-<div class="menupagetitle">Test cases</div>
+<div class="menuitem">
+<a href="../hibernate/resource_utility.html">Resource Utility</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.16')" id="menu_1.16Title" class="menutitle">Annotations (JPA/EJB3)</div>
+<div id="menu_1.16" class="menuitemgroup">
+<div class="menuitem">
+<a href="../hibernate/ejb3_format.html">Format</a>
+</div>
+<div class="menuitem">
+<a href="../hibernate/ejb3_examples.html">Examples</a>
+</div>
+<div class="menuitem">
+<a href="../hibernate/ejb3_features.html">JPA/EJB3</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.17')" id="menu_1.17Title" class="menutitle">XML Schema</div>
+<div id="menu_1.17" class="menuitemgroup">
+<div class="menuitem">
+<a href="../hibernate/features_details.html">XML Schema Support</a>
+</div>
+<div class="menuitem">
+<a href="../hibernate/schema_list.html">XML Schema Examples</a>
+</div>
+<div class="menuitem">
+<a href="../hibernate/featuremap.html">Feature Map/Mixed Content</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.18')" id="menu_1.18Title" class="menutitle">Support</div>
+<div id="menu_1.18" class="menuitemgroup">
+<div class="menuitem">
+<a href="../hibernate/troubleshooting.html">Troubleshooting</a>
+</div>
+<div class="menuitem">
+<a href="../hibernate/upgrading.html">Upgrading</a>
+</div>
+<div class="menuitem">
+<a href="../hibernate/mailinglist.html">Newsgroup</a>
+</div>
+<div class="menuitem">
+<a href="../hibernate/emfhibsupport.html">EMF/Hibernate Support</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.19')" id="menu_1.19Title" class="menutitle">Developer</div>
+<div id="menu_1.19" class="menuitemgroup">
+<div class="menuitem">
+<a href="../hibernate/svn.html">CVS</a>
</div>
</div>
</div>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/troubleshooting.html b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/troubleshooting.html
index b05c27143..8042d5d84 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/troubleshooting.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/troubleshooting.html
@@ -154,7 +154,7 @@
<a href="../jpox/jpoxdatastore.html">JpoxDataStore</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (EJB3)</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../jpox/ejb3_features.html">Supported Ann.</a>
@@ -193,7 +193,7 @@
<a href="../jpox/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../jpox/mailinglist.html">Mailinglist</a>
+<a href="../jpox/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../jpox/emfjpoxsupport.html">EMF/JPOX Support</a>
@@ -202,10 +202,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../jpox/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../jpox/testcases.html">Test cases</a>
+<a href="../jpox/svn.html">CVS</a>
</div>
</div>
</div>
@@ -261,45 +258,37 @@
<a href="#runtime">Troubleshooting the Runtime layer</a>
</li>
<li>
-<a href="#Common+issues">Common issues</a>
-<ul class="minitoc">
-<li>
-<a href="#Derby+database+and+cascading+deletes">Derby database and cascading deletes</a>
-</li>
-<li>
-<a href="#Created+new+model+through+new+model+wizard%3A+diagnostic+error">Created new model through new model wizard: diagnostic error</a>
-</li>
-<li>
-<a href="#OR+Mapper%3A+java.lang.NoSuchMethodError%3A+org.eclipse.emf.common.util.AbstractEnumerator">OR Mapper: java.lang.NoSuchMethodError: org.eclipse.emf.common.util.AbstractEnumerator</a>
+<a href="#Cut+and+Paste+does+not+work+in+the+Editor">Cut and Paste does not work in the Editor</a>
</li>
<li>
-<a href="#java.lang.NoClassDefFoundError+when+initializing+runtime+layer+%281%29">java.lang.NoClassDefFoundError when initializing runtime layer (1)</a>
+<a href="#java.lang.NoClassDefFoundError+when+starting%2Finitializing+runtime+layer">java.lang.NoClassDefFoundError when starting/initializing runtime layer</a>
</li>
<li>
-<a href="#java.lang.NoClassDefFoundError+when+starting%2Finitializing+runtime+layer+%282%29">java.lang.NoClassDefFoundError when starting/initializing runtime layer (2)</a>
+<a href="#Derby+database+and+cascading+deletes">Derby database and cascading deletes</a>
</li>
<li>
-<a href="#Exception+in+thread+%22main%22+java.lang.NoClassDefFoundError%3A+org%2Felver%2Fstore%2Fjpox%2Fmapper%2FGenerateJDO">Exception in thread "main" java.lang.NoClassDefFoundError: org/elver/store/jpox/mapper/GenerateJDO</a>
+<a href="#Created+new+model+through+new+model+wizard%3A+diagnostic+error">Created new model through new model wizard: diagnostic error</a>
</li>
<li>
-<a href="#Build+path+contains+duplicate+entries">Build path contains duplicate entries</a>
+<a href="#OR+Mapper%3A+java.lang.NoSuchMethodError%3A+org.eclipse.emf.common.util.AbstractEnumerator">OR Mapper: java.lang.NoSuchMethodError: org.eclipse.emf.common.util.AbstractEnumerator</a>
</li>
<li>
<a href="#The+resource+is+empty+in+the+generated+editor">The resource is empty in the generated editor</a>
</li>
<li>
-<a href="#Different+versions+of+jar+files+in+JPOX+Enhancer+plugin+classpath+and+versions+in+org.elver.store.jpox.runtime">Different versions of jar files in JPOX Enhancer plugin classpath and versions in org.elver.store.jpox.runtime</a>
+<a href="#Update+manager+does+not+find+the+upgrade+of+the+EMF+-+JDO+plugin">Update manager does not find the upgrade of the EMF - JDO plugin</a>
</li>
<li>
-<a href="#Update+manager+does+not+find+the+upgrade+of+the+EMF+-+JDO+plugin">Update manager does not find the upgrade of the EMF - JDO plugin</a>
+<a href="#Editor+does+not+start%2C+the+error+log+gives+a+sql+error+%27Missing+column....%27">Editor does not start, the error log gives a sql error 'Missing column....'</a>
</li>
<li>
-<a href="#The+EMF+generated+editor+does+not+start+and+the+error+log+gives+a+sql+error+%27Missing+column....%27">The EMF generated editor does not start and the error log gives a sql error 'Missing column....'</a>
+<a href="#Editor+does+not+start%2C+ClassNotFoundException+on+the+Editor+Plugin%2C+org.jpox.exceptions.ClassNotResolvedException">Editor does not start, ClassNotFoundException on the Editor Plugin, org.jpox.exceptions.ClassNotResolvedException</a>
</li>
<li>
-<a href="#Elver+does+not+see+my+changes+in+the+ecore+model">Elver does not see my changes in the ecore model</a>
+<a href="#Editor+does+not+start%2C+AssertionFailedException">Editor does not start, AssertionFailedException</a>
</li>
-</ul>
+<li>
+<a href="#Teneo+does+not+see+my+changes+in+the+ecore+model">Teneo does not see my changes in the ecore model</a>
</li>
</ul>
@@ -328,8 +317,8 @@
<p>The OR Mapper menu option only works if the ecore file is located in the same Java Project as the generated
EPackage sources.</p>
-<p>When the console shows this exception: <em>Exception in thread "main" java.lang.NoClassDefFoundError: org/elver/store/jpox/mapper/GenerateJDO</em>
- then you have not added the org.elver.store.jpox.runtime to the dependencies of the model plugin.</p>
+<p>When the console shows this exception: <em>Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/emf/teneo/jpox/mapper/GenerateJDO</em>
+ then you have not added the org.eclipse.emf.teneo.jpox plugin to the dependencies of the model plugin.</p>
<p>
To analyze what the problem is first view the error log. The error log
@@ -346,8 +335,8 @@
<p>When you see the exception java.lang.NoSuchMethodError: org.eclipse.emf.common.util.AbstractEnumerator then
you need to upgrade to EMF 2.2</p>
-<p>More information is present in the log file generated by the Elver plugins. The log
- file can be found in the .metadata/.plugins/org.elver.store.jpox.eclipse or .metadata/.plugins/org.elver.store.eclipse subdirectory in the Eclipse workspace directory (note
+<p>More information is present in the log file generated by the Teneo plugins. The log
+ file can be found in the .metadata/.plugins/org.eclipse.emf.teneo.jpox.eclipse or .metadata/.plugins/org.eclipse.emf.teneo.eclipse subdirectory in the Eclipse workspace directory (note
the dots before metadata and plugins).</p>
<p>
@@ -437,43 +426,73 @@ org.eclipse.osgi.framework.debug.Debug.DEBUG_GENERAL = true;
</div>
-<a name="N100B8"></a><a name="Common+issues"></a>
+<a name="N100B8"></a><a name="Cut+and+Paste+does+not+work+in+the+Editor"></a>
+<div class="h3">
+<h3>Cut and Paste does not work in the Editor</h3>
+
+<p>Please look <a href="jpox_details.html#cutpaste">here</a>
+</p>
+
+</div>
+
+<a name="N100C4"></a><a name="java.lang.NoClassDefFoundError+when+starting%2Finitializing+runtime+layer"></a>
<div class="h3">
-<h3>Common issues</h3>
+<h3>java.lang.NoClassDefFoundError when starting/initializing runtime layer</h3>
+
+
+<p>When your model is divided over different projects/plugins then org.eclipse.emf.teneo.jpox plugin has to
+ be set (as a dependency) in the project with the 'widest' classpath (the project with a classpath containing the other plugins).
+ For example if you have the following two emf projects:</p>
+
+<ul>
+<li>Core</li>
+<li>Specific (which uses/imports Core)</li>
+</ul>
+
+<p>Then the dependency should only be in the META-INF of the 'Specific' project. This is required
+ otherwise Jpox will not see the 'Specific' project.</p>
+</div>
+
+<a name="N100D7"></a><a name="Derby+database+and+cascading+deletes"></a>
+<div class="h3">
+<h3>Derby database and cascading deletes</h3>
-<a name="N100BE"></a><a name="Derby+database+and+cascading+deletes"></a>
-<div class="h4">
-<h4>Derby database and cascading deletes</h4>
<p>
- Elver will specify foreign keys with cascade delete in the mapping file if required
+ Teneo will specify foreign keys with cascade delete in the mapping file if required
by the model (for example with containment). However Derby does not support cascading deletes and will
throw an error in the initialisation phase. The only solution is to manually delete the cascade delete
- foreign key tags in the package.jdo. Elver does not know at mapping file generation time which database
+ foreign key tags in the package.jdo. Teneo does not know at mapping file generation time which database
is used and can therefore not know if cascade deletes are supported or not.
</p>
+
</div>
-<a name="N100C7"></a><a name="Created+new+model+through+new+model+wizard%3A+diagnostic+error"></a>
-<div class="h4">
-<h4>Created new model through new model wizard: diagnostic error</h4>
+<a name="N100E0"></a><a name="Created+new+model+through+new+model+wizard%3A+diagnostic+error"></a>
+<div class="h3">
+<h3>Created new model through new model wizard: diagnostic error</h3>
+
<p>The generated EMF model wizard allows invalid documents. When going through the
wizard you need to select a type to create as the first document in the resource. The
EMF model wizard creates an empty (all members are null) instance of this type and adds
it to the JPOX resource. Before the JPOX resource is
saved it checks if the content of the resource is valid. When nullable-constraints
are violated a StoreValidationException (with Diagnostics) is thrown.</p>
+
<p>To solve this you should make your model more relaxed (make elements nullable) or
add a small amount of code, which sets the non-nullable fields, to the model wizard. An example of this last solution
is illustrated in the Library Tutorial.
</p>
+
</div>
-<a name="N100D3"></a><a name="OR+Mapper%3A+java.lang.NoSuchMethodError%3A+org.eclipse.emf.common.util.AbstractEnumerator"></a>
-<div class="h4">
-<h4>OR Mapper: java.lang.NoSuchMethodError: org.eclipse.emf.common.util.AbstractEnumerator</h4>
+<a name="N100EC"></a><a name="OR+Mapper%3A+java.lang.NoSuchMethodError%3A+org.eclipse.emf.common.util.AbstractEnumerator"></a>
+<div class="h3">
+<h3>OR Mapper: java.lang.NoSuchMethodError: org.eclipse.emf.common.util.AbstractEnumerator</h3>
+
<p>When you run the or mapper and no popup box is shown then view the error log. If the error log shows the
stacktrace below then you need to upgrade to EMF 2.2</p>
+
<pre class="code">
java.lang.NoSuchMethodError: org.eclipse.emf.common.util.AbstractEnumerator.&lt;init&gt;(ILjava/lang/String;Ljava/lang/String;)V
at org.elver.store.annotations.pannotation.InheritanceType.&lt;init&gt;(InheritanceType.java:182)
@@ -481,93 +500,79 @@ at org.elver.store.annotations.pannotation.InheritanceType.&lt;clinit&gt;(Inheri
at org.elver.store.jpox.eclipse.popup.actions.GenerateJDOActionSuperTable.run(GenerateJDOActionSuperTable.java:42)
at org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:246)
</pre>
-</div>
-<a name="N100E0"></a><a name="java.lang.NoClassDefFoundError+when+initializing+runtime+layer+%281%29"></a>
-<div class="h4">
-<h4>java.lang.NoClassDefFoundError when initializing runtime layer (1)</h4>
-<p>This error occurs when the runtime layer is initialized. It occurs because your
- application (and ecore libraries) are not present in the classpath of the runtime layer.
- To solve this issue add the following line to the Manifest.MF of your EMF model project:
- </p>
-<p>Eclipse-RegisterBuddy: org.elver.store.jpox.runtime</p>
-<p>See also the <a href="installation.html">installation</a> page</p>
</div>
-<a name="N100F4"></a><a name="java.lang.NoClassDefFoundError+when+starting%2Finitializing+runtime+layer+%282%29"></a>
-<div class="h4">
-<h4>java.lang.NoClassDefFoundError when starting/initializing runtime layer (2)</h4>
-<p>When your model is divided over different projects/plugins then the registerbuddy setting has to
- be set in the project with the 'widest' classpath (the project with a classpath containing the other plugins).
- For example if you have the following two emf projects:</p>
-<ul>
-<li>Core</li>
-<li>Specific (which uses/imports Core)</li>
-</ul>
-<p>Then the registerbuddy should only be in the META-INF of the 'Specific' project. This is required
- otherwise Jpox will not see the 'Specific' project. Setting register-buddy in both 'Core' and 'Specific'
- will also result in classpath errors in Jpox.</p>
-</div>
-
-<a name="N10107"></a><a name="Exception+in+thread+%22main%22+java.lang.NoClassDefFoundError%3A+org%2Felver%2Fstore%2Fjpox%2Fmapper%2FGenerateJDO"></a>
-<div class="h4">
-<h4>Exception in thread "main" java.lang.NoClassDefFoundError: org/elver/store/jpox/mapper/GenerateJDO</h4>
-<p>You have not added the org.elver.store.jpox.runtime to the dependencies of the model plugin. Add the
- org.elver.store.jpox.runtime plugin to the dependencies of the model project and set the register buddy setting
- in the Manifest file.</p>
-</div>
-
-<a name="N10111"></a><a name="Build+path+contains+duplicate+entries"></a>
-<div class="h4">
-<h4>Build path contains duplicate entries</h4>
-<p>It is possible that you get a message in the Problems view: build path
- contains duplicate entry: ..... This occurs when JPOX support was enabled
- for the project before the org.elver.store.jpox.runtime was added to the dependency tab of the plugin.xml
- of the EMF model project.
- To resolve this, choose 'Remove JPOX Support' in the JPOX menu and then choose 'Add JPOX Support' again.
- The JPOX Libraries node in the project build path should disappear. The JPOX Libraries node is not
- necessary because the org.elver.store.jpox.runtime already provides all the required libraries.</p>
-</div>
-
-<a name="N1011B"></a><a name="The+resource+is+empty+in+the+generated+editor"></a>
-<div class="h4">
-<h4>The resource is empty in the generated editor</h4>
+<a name="N100F9"></a><a name="The+resource+is+empty+in+the+generated+editor"></a>
+<div class="h3">
+<h3>The resource is empty in the generated editor</h3>
+
+
<p>The JPOX resources will only load EMF objects which have been enhanced. To ensure that
the EMF classes are enhanced make sure that 'Enable Auto Enhancement' is checked in the
JPOX submenu. The JPOX submenu is displayed when you right click on the EMF model project.</p>
+
<p>See also the <a href="knownissues.html">Know Issues</a>.</p>
-</div>
-<a name="N1012C"></a><a name="Different+versions+of+jar+files+in+JPOX+Enhancer+plugin+classpath+and+versions+in+org.elver.store.jpox.runtime"></a>
-<div class="h4">
-<h4>Different versions of jar files in JPOX Enhancer plugin classpath and versions in org.elver.store.jpox.runtime</h4>
-<p>After updating the org.elver.store.jpox.runtime plugin it is important to let the jar files
- in the JPOX classpath (see <a href="installation.html">JPOX Eclipse Plugin installation</a>) point to the
- jar files in the latest version of the org.elver.store.jpox.store.runtime plugin.</p>
</div>
-<a name="N1013A"></a><a name="Update+manager+does+not+find+the+upgrade+of+the+EMF+-+JDO+plugin"></a>
-<div class="h4">
-<h4>Update manager does not find the upgrade of the EMF - JDO plugin</h4>
+<a name="N1010A"></a><a name="Update+manager+does+not+find+the+upgrade+of+the+EMF+-+JDO+plugin"></a>
+<div class="h3">
+<h3>Update manager does not find the upgrade of the EMF - JDO plugin</h3>
+
<p>Please see the <a href="upgrading.html">upgrade page</a> for more information.</p>
+
</div>
-<a name="N10147"></a><a name="The+EMF+generated+editor+does+not+start+and+the+error+log+gives+a+sql+error+%27Missing+column....%27"></a>
-<div class="h4">
-<h4>The EMF generated editor does not start and the error log gives a sql error 'Missing column....'</h4>
+<a name="N10117"></a><a name="Editor+does+not+start%2C+the+error+log+gives+a+sql+error+%27Missing+column....%27"></a>
+<div class="h3">
+<h3>Editor does not start, the error log gives a sql error 'Missing column....'</h3>
+
<p>This can occur if your model has changed or you just upgraded the OR Mapper plugin,
see the <a href="upgrading.html">upgrade page</a> for more information.</p>
+
</div>
-<a name="N10154"></a><a name="Elver+does+not+see+my+changes+in+the+ecore+model"></a>
-<div class="h4">
-<h4>Elver does not see my changes in the ecore model</h4>
-<p>Elver uses the runtime version of the ecore model. The runtime version is present as java code in the
+<a name="N10124"></a><a name="Editor+does+not+start%2C+ClassNotFoundException+on+the+Editor+Plugin%2C+org.jpox.exceptions.ClassNotResolvedException"></a>
+<div class="h3">
+<h3>Editor does not start, ClassNotFoundException on the Editor Plugin, org.jpox.exceptions.ClassNotResolvedException</h3>
+
+<p>This can happen when the JPOX libraries can not find the model classes. You can check if
+ you have set the BuddyPolicy in the Manifest.MF of the plugin containing the JPOX jar files.
+ If not add the following to the Manifest.MF of the plugin containing the JPOX jar files:
+ Eclipse-BuddyPolicy: dependent</p>
+
+</div>
+
+<a name="N1012D"></a><a name="Editor+does+not+start%2C+AssertionFailedException"></a>
+<div class="h3">
+<h3>Editor does not start, AssertionFailedException</h3>
+
+<p>When you start the editor you get the following exteption (stacktrace truncated):</p>
+
+<pre class="code">
+org.eclipse.core.runtime.AssertionFailedException: assertion failed:
+at org.eclipse.core.runtime.Assert.isTrue(Assert.java:109)
+at org.eclipse.core.runtime.Assert.isTrue(Assert.java:95)
+at org.eclipse.ui.part.MultiPageEditorPart.setActivePage(MultiPageEditorPart.java:688)
+at org.eclipse.ui.part.MultiPageEditorPart.createPartControl(MultiPageEditorPart.java:280)
+ </pre>
+
+<p>You probably started the editor with an empty database, the editor does not support this.
+ You should have at least one root object in the database (for example a Library object in
+ the Library tutorial).</p>
+
+</div>
+
+<a name="N1013D"></a><a name="Teneo+does+not+see+my+changes+in+the+ecore+model"></a>
+<div class="h3">
+<h3>Teneo does not see my changes in the ecore model</h3>
+
+<p>Teneo uses the runtime version of the ecore model. The runtime version is present as java code in the
generated EPackage implementation class. This runtime ecore can differ from the ecore file when the
- model code is not regenerated after a change in the ecore file. So to let Elver use the changes in the ecore
+ model code is not regenerated after a change in the ecore file. So to let Teneo use the changes in the ecore
file the model code needs to be regenerated.</p>
-</div>
-
+
</div>
</div>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/Tutorial1.java b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/Tutorial1.java
index 2966ea4f0..cbe617fea 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/Tutorial1.java
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/Tutorial1.java
@@ -11,7 +11,7 @@
* Martin Taal
* </copyright>
*
- * $Id: Tutorial1.java,v 1.2 2006/07/23 19:38:47 mtaal Exp $
+ * $Id: Tutorial1.java,v 1.3 2006/10/15 08:39:22 mtaal Exp $
*/
package jpoxtutorial;
@@ -27,7 +27,6 @@ import javax.jdo.PersistenceManager;
import javax.jdo.Query;
import javax.jdo.Transaction;
-
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.resource.Resource;
@@ -42,206 +41,205 @@ import org.eclipse.example.library.Writer;
import org.eclipse.example.library.impl.BookImpl;
import org.eclipse.example.library.impl.LibraryImpl;
import org.eclipse.example.library.impl.WriterImpl;
-import org.elver.store.jpox.emf.JpoxDataStore;
-import org.elver.store.jpox.emf.JpoxHelper;
-import org.elver.store.jpox.emf.resource.JPOXResource;
-import org.elver.store.jpox.emf.resource.JPOXResourceDAO;
+import org.eclipse.emf.teneo.jpox.JpoxDataStore;
+import org.eclipse.emf.teneo.jpox.JpoxHelper;
+import org.eclipse.emf.teneo.jpox.resource.JPOXResourceDAO;
import org.jpox.PMFConfiguration;
/**
* Tutorial
*
* @author <a href="mailto:mtaal@elver.org">Martin Taal</a>
- * @version $Revision: 1.2 $
-*/
+ * @version $Revision: 1.3 $
+ */
public class Tutorial1 {
/**
* @param args
*/
public static void main(String[] args) {
-
- // At this position you can add your own specific types for jpox
- // This should be done before creating the persistence manager factory, e.g.
- // TypeManager.getTypeManager().addType(MyNiceType.class.getName(), MyNiceTypeMapping.class, MyNiceTypeWrapper.class);
-
- // set the database connection info, PMFConfiguration is org.jpox.PMFConfiguration
+
+ // At this position you can add your own specific types for jpox
+ // This should be done before creating the persistence manager factory, e.g.
+ // TypeManager.getTypeManager().addType(MyNiceType.class.getName(), MyNiceTypeMapping.class,
+ // MyNiceTypeWrapper.class);
+
+ // set the database connection info, PMFConfiguration is org.jpox.PMFConfiguration
Properties properties = new Properties();
properties.setProperty(PMFConfiguration.JDO_DATASTORE_DRIVERNAME_PROPERTY, "com.mysql.jdbc.Driver");
properties.setProperty(PMFConfiguration.JDO_DATASTORE_URL_PROPERTY, "jdbc:mysql://127.0.0.1:3306/mylibrary");
properties.setProperty(PMFConfiguration.JDO_DATASTORE_USERNAME_PROPERTY, "root");
properties.setProperty(PMFConfiguration.JDO_DATASTORE_PASSWORD_PROPERTY, "root");
-
+
// create/register the JpoxDataStore, set the db props and the epackages to persist, initialize creates
// the database
String pmfName = "MyPMF"; // the name of the JpoxDataStore
- JpoxDataStore jpoxDataStore = JpoxHelper.INSTANCE.createRegisterDataStore(pmfName);
- jpoxDataStore.setProperties(properties);
- jpoxDataStore.setEPackages(new EPackage[]{LibraryPackage.eINSTANCE});
- jpoxDataStore.initialize();
-
- // create a persistence manager and a transaction
- PersistenceManager pm = jpoxDataStore.getPersistenceManager();
- Transaction tx = pm.currentTransaction();
-
- // start a transaction, create a library and make it persistent
- tx.begin();
- Library lib = LibraryFactory.eINSTANCE.createLibrary();
- lib.setName("My Library");
- pm.makePersistent(lib);
-
- // create a writer
- Writer writer = LibraryFactory.eINSTANCE.createWriter();
- writer.setName("JRR Tolkien");
-
- // and one of his books
- Book book = LibraryFactory.eINSTANCE.createBook();
- book.setAuthor(writer);
- book.setPages(305);
- book.setTitle("The Hobbit");
- book.setCategory(BookCategory.SCIENCE_FICTION_LITERAL);
-
- // add the writer/book to the library. The writer and book are automatically
- // made persistent because they are added to the library which is already
- // made persistent
- lib.getWriters().add(writer);
- lib.getBooks().add(book);
-
- // at commit the objects will be present in the database
- tx.commit();
- pm.close(); // empty the cache
-
- // at this point the database contains one library, one book and one writer
- // Reopen the transaction and query for the library objects
- pm = jpoxDataStore.getPersistenceManager();
- tx = pm.currentTransaction();
- tx.begin();
-
- // NOTE: here you see one drawback of the current JPOX implementation:
- // for querying you require the concrete implementation instead of the
- // interface!
- // retrieve all LibraryImpl classes and subclasses.
- Extent e = pm.getExtent(LibraryImpl.class, true);
- Query q = pm.newQuery(e);
-
- // there is only one library
- Collection c = (Collection)q.execute();
- lib = (Library)c.iterator().next();
-
- // read the writer and book
- writer = (Writer)lib.getWriters().get(0);
- System.out.println(writer.getName());
- book = (Book)lib.getBooks().get(0);
- System.out.println(book.getTitle());
-
- // show that the container is set
- System.out.println(book.eContainer() == lib);
- System.out.println(writer.getBooks().get(0) == book);
-
- // Now add a new writer and book
- Writer george = LibraryFactory.eINSTANCE.createWriter();
- george.setName("G. Orwell");
-
- // create a new book and set the writer and library
- Book georgesBook = LibraryFactory.eINSTANCE.createBook();
- georgesBook.setPages(250);
- georgesBook.setTitle("1984");
- georgesBook.setCategory(BookCategory.SCIENCE_FICTION_LITERAL);
- georgesBook.setAuthor(george);
-
- lib.getBooks().add(georgesBook);
- lib.getWriters().add(george);
-
- // and close of
- tx.commit();
- pm.close();
-
- // reopen the pm/transaction
- pm = jpoxDataStore.getPersistenceManager();
- tx = pm.currentTransaction();
- tx.begin();
-
- // retrieve all books
- Query qry = pm.newQuery("SELECT FROM " + BookImpl.class.getName());
- Collection coll = (Collection)qry.execute();
- System.out.println(((Book)coll.iterator().next()).getTitle()); // show a title
- System.out.println(((Book)coll.iterator().next()).getTitle()); // show a title
-
- // retrieve a book which has a writer with the name of G. Orwell
- qry = pm.newQuery("SELECT FROM " + BookImpl.class.getName() + " WHERE " +
- " title==\"1984\" && author == writ && writ.name == \"G. Orwell\" " +
- "VARIABLES " + WriterImpl.class.getName() + " writ");
- coll = (Collection)qry.execute();
- System.out.println(coll.size()); // should be 1
- Book bk = (Book)coll.iterator().next();
- System.out.println(bk.getTitle()); // should be 1984
- System.out.println(bk.getAuthor().getName()); // should be G. Orwell
-
- // read the library with a name ending on Library
- qry = pm.newQuery("SELECT FROM " + LibraryImpl.class.getName() + " WHERE name.endsWith(\"Library\")");
- coll = (Collection)qry.execute();
- lib = (Library)coll.iterator().next();
-
- qry = pm.newQuery("SELECT FROM " + JpoxHelper.INSTANCE.getInstanceClass(Book.class).getName() + " WHERE " +
- " title==\"1984\" && author == writ && writ.name == \"G. Orwell\" " +
- "VARIABLES " + WriterImpl.class.getName() + " writ");
- System.err.println(((Collection)qry.execute()).size());
-
+ JpoxDataStore jpoxDataStore = JpoxHelper.INSTANCE.createRegisterDataStore(pmfName);
+ jpoxDataStore.setProperties(properties);
+ jpoxDataStore.setEPackages(new EPackage[] { LibraryPackage.eINSTANCE });
+ jpoxDataStore.initialize();
+
+ // create a persistence manager and a transaction
+ PersistenceManager pm = jpoxDataStore.getPMF().getPersistenceManager();
+ Transaction tx = pm.currentTransaction();
+
+ // start a transaction, create a library and make it persistent
+ tx.begin();
+ Library lib = LibraryFactory.eINSTANCE.createLibrary();
+ lib.setName("My Library");
+ pm.makePersistent(lib);
+
+ // create a writer
+ Writer writer = LibraryFactory.eINSTANCE.createWriter();
+ writer.setName("JRR Tolkien");
+
+ // and one of his books
+ Book book = LibraryFactory.eINSTANCE.createBook();
+ book.setAuthor(writer);
+ book.setPages(305);
+ book.setTitle("The Hobbit");
+ book.setCategory(BookCategory.SCIENCE_FICTION_LITERAL);
+
+ // add the writer/book to the library. The writer and book are automatically
+ // made persistent because they are added to the library which is already
+ // made persistent
+ lib.getWriters().add(writer);
+ lib.getBooks().add(book);
+
+ // at commit the objects will be present in the database
+ tx.commit();
+ pm.close(); // empty the cache
+
+ // at this point the database contains one library, one book and one writer
+ // Reopen the transaction and query for the library objects
+ pm = jpoxDataStore.getPMF().getPersistenceManager();
+ tx = pm.currentTransaction();
+ tx.begin();
+
+ // NOTE: here you see one drawback of the current JPOX implementation:
+ // for querying you require the concrete implementation instead of the
+ // interface!
+ // retrieve all LibraryImpl classes and subclasses.
+ Extent e = pm.getExtent(LibraryImpl.class, true);
+ Query q = pm.newQuery(e);
+
+ // there is only one library
+ Collection c = (Collection) q.execute();
+ lib = (Library) c.iterator().next();
+
+ // read the writer and book
+ writer = (Writer) lib.getWriters().get(0);
+ System.out.println(writer.getName());
+ book = (Book) lib.getBooks().get(0);
+ System.out.println(book.getTitle());
+
+ // show that the container is set
+ System.out.println(book.eContainer() == lib);
+ System.out.println(writer.getBooks().get(0) == book);
+
+ // Now add a new writer and book
+ Writer george = LibraryFactory.eINSTANCE.createWriter();
+ george.setName("G. Orwell");
+
+ // create a new book and set the writer and library
+ Book georgesBook = LibraryFactory.eINSTANCE.createBook();
+ georgesBook.setPages(250);
+ georgesBook.setTitle("1984");
+ georgesBook.setCategory(BookCategory.SCIENCE_FICTION_LITERAL);
+ georgesBook.setAuthor(george);
+
+ lib.getBooks().add(georgesBook);
+ lib.getWriters().add(george);
+
+ // and close of
+ tx.commit();
+ pm.close();
+
+ // reopen the pm/transaction
+ pm = jpoxDataStore.getPMF().getPersistenceManager();
+ tx = pm.currentTransaction();
+ tx.begin();
+
+ // retrieve all books
+ Query qry = pm.newQuery("SELECT FROM " + BookImpl.class.getName());
+ Collection coll = (Collection) qry.execute();
+ System.out.println(((Book) coll.iterator().next()).getTitle()); // show a title
+ System.out.println(((Book) coll.iterator().next()).getTitle()); // show a title
+
+ // retrieve a book which has a writer with the name of G. Orwell
+ qry = pm.newQuery("SELECT FROM " + BookImpl.class.getName() + " WHERE "
+ + " title==\"1984\" && author == writ && writ.name == \"G. Orwell\" " + "VARIABLES "
+ + WriterImpl.class.getName() + " writ");
+ coll = (Collection) qry.execute();
+ System.out.println(coll.size()); // should be 1
+ Book bk = (Book) coll.iterator().next();
+ System.out.println(bk.getTitle()); // should be 1984
+ System.out.println(bk.getAuthor().getName()); // should be G. Orwell
+
+ // read the library with a name ending on Library
+ qry = pm.newQuery("SELECT FROM " + LibraryImpl.class.getName() + " WHERE name.endsWith(\"Library\")");
+ coll = (Collection) qry.execute();
+ lib = (Library) coll.iterator().next();
+
+ qry = pm.newQuery("SELECT FROM " + JpoxHelper.INSTANCE.getInstanceClass(Book.class).getName() + " WHERE "
+ + " title==\"1984\" && author == writ && writ.name == \"G. Orwell\" " + "VARIABLES "
+ + WriterImpl.class.getName() + " writ");
+ System.err.println(((Collection) qry.execute()).size());
+
// retrieving all books
qry = pm.newQuery("SELECT FROM " + JpoxHelper.INSTANCE.getInstanceClass(Book.class).getName());
- System.err.println(((Collection)qry.execute()).size());
-
+ System.err.println(((Collection) qry.execute()).size());
+
// retrieving all libraries with a name ending on library
- qry = pm.newQuery("SELECT FROM " + JpoxHelper.INSTANCE.getInstanceClass(Library.class).getName() +
- " WHERE name.endsWith(\"Library\")");
- System.err.println(((Collection)qry.execute()).size());
+ qry = pm.newQuery("SELECT FROM " + JpoxHelper.INSTANCE.getInstanceClass(Library.class).getName()
+ + " WHERE name.endsWith(\"Library\")");
+ System.err.println(((Collection) qry.execute()).size());
// and really close of
- tx.commit();
- pm.close();
-
- try {
- String uriStr = "jpox://?" + JPOXResourceDAO.DS_NAME_PARAM + "=MyPMF";
- final URI uri = URI.createURI(uriStr);
- ResourceSet resourceSet = new ResourceSetImpl();
- final Resource res = resourceSet.createResource(uri);
-
- res.load(Collections.EMPTY_MAP);
- Iterator it = res.getContents().iterator();
- Library libTest;
- while (it.hasNext())
- {
- libTest = (Library)it.next();
- System.out.println(libTest.getName());
- }
-
- Library libNew = LibraryFactory.eINSTANCE.createLibrary();
- libNew.setName("My Second Library");
-
- // create a writer
- Writer writerNew = LibraryFactory.eINSTANCE.createWriter();
- writerNew.setName("I. Asimov");
-
- // and one of his books
- Book bookNew = LibraryFactory.eINSTANCE.createBook();
- bookNew.setAuthor(writerNew);
- bookNew.setPages(305);
- bookNew.setTitle("Foundation and Empire");
- bookNew.setCategory(BookCategory.SCIENCE_FICTION_LITERAL);
-
- // add the writer/book to the library.
- libNew.getWriters().add(writerNew);
- libNew.getBooks().add(bookNew);
-
- // Add the top-level object to the resource
- res.getContents().add(libNew);
-
- // and save them all
- res.save(Collections.EMPTY_MAP);
- } catch (IOException i) {
- throw new RuntimeException("IOException " + i.getMessage(), i);
- }
-
- jpoxDataStore.close();
+ tx.commit();
+ pm.close();
+
+ try {
+ String uriStr = "jpox://?" + JPOXResourceDAO.DS_NAME_PARAM + "=MyPMF";
+ final URI uri = URI.createURI(uriStr);
+ ResourceSet resourceSet = new ResourceSetImpl();
+ final Resource res = resourceSet.createResource(uri);
+
+ res.load(Collections.EMPTY_MAP);
+ Iterator it = res.getContents().iterator();
+ Library libTest;
+ while (it.hasNext()) {
+ libTest = (Library) it.next();
+ System.out.println(libTest.getName());
+ }
+
+ Library libNew = LibraryFactory.eINSTANCE.createLibrary();
+ libNew.setName("My Second Library");
+
+ // create a writer
+ Writer writerNew = LibraryFactory.eINSTANCE.createWriter();
+ writerNew.setName("I. Asimov");
+
+ // and one of his books
+ Book bookNew = LibraryFactory.eINSTANCE.createBook();
+ bookNew.setAuthor(writerNew);
+ bookNew.setPages(305);
+ bookNew.setTitle("Foundation and Empire");
+ bookNew.setCategory(BookCategory.SCIENCE_FICTION_LITERAL);
+
+ // add the writer/book to the library.
+ libNew.getWriters().add(writerNew);
+ libNew.getBooks().add(bookNew);
+
+ // Add the top-level object to the resource
+ res.getContents().add(libNew);
+
+ // and save them all
+ res.save(Collections.EMPTY_MAP);
+ } catch (IOException i) {
+ throw new RuntimeException("IOException " + i.getMessage(), i);
+ }
+
+ jpoxDataStore.close();
}
}
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/images/plugindependency.gif b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/images/plugindependency.gif
index 017431260..eff70cb42 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/images/plugindependency.gif
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/images/plugindependency.gif
Binary files differ
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/license.html b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/license.html
index bf57ca616..1da8659ef 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/license.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/license.html
@@ -184,7 +184,7 @@
<a href="../../jpox/jpoxdatastore.html">JpoxDataStore</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Annotations (EJB3)</div>
+<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
<a href="../../jpox/ejb3_features.html">Supported Ann.</a>
@@ -223,7 +223,7 @@
<a href="../../jpox/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../../jpox/mailinglist.html">Mailinglist</a>
+<a href="../../jpox/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../../jpox/emfjpoxsupport.html">EMF/JPOX Support</a>
@@ -232,10 +232,7 @@
<div onclick="SwitchMenu('menu_1.11')" id="menu_1.11Title" class="menutitle">Developer</div>
<div id="menu_1.11" class="menuitemgroup">
<div class="menuitem">
-<a href="../../jpox/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../../jpox/testcases.html">Test cases</a>
+<a href="../../jpox/svn.html">CVS</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.12')" id="menu_1.12Title" class="menutitle">Home</div>
@@ -328,7 +325,7 @@
<a href="../../hibernate/resource_utility.html">Resource Utility</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.16')" id="menu_1.16Title" class="menutitle">Annotations</div>
+<div onclick="SwitchMenu('menu_1.16')" id="menu_1.16Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.16" class="menuitemgroup">
<div class="menuitem">
<a href="../../hibernate/ejb3_format.html">Format</a>
@@ -337,10 +334,7 @@
<a href="../../hibernate/ejb3_examples.html">Examples</a>
</div>
<div class="menuitem">
-<a href="../../hibernate/ejb3_features.html">EJB3</a>
-</div>
-<div class="menuitem">
-<a href="../../hibernate/custom_annotations.html">Custom</a>
+<a href="../../hibernate/ejb3_features.html">JPA/EJB3</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.17')" id="menu_1.17Title" class="menutitle">XML Schema</div>
@@ -364,7 +358,7 @@
<a href="../../hibernate/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../../hibernate/mailinglist.html">Mailinglist</a>
+<a href="../../hibernate/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../../hibernate/emfhibsupport.html">EMF/Hibernate Support</a>
@@ -373,10 +367,7 @@
<div onclick="SwitchMenu('menu_1.19')" id="menu_1.19Title" class="menutitle">Developer</div>
<div id="menu_1.19" class="menuitemgroup">
<div class="menuitem">
-<a href="../../hibernate/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../../hibernate/testcases.html">Test cases</a>
+<a href="../../hibernate/svn.html">CVS</a>
</div>
</div>
</div>
@@ -408,25 +399,16 @@
</div>
<div class="app" id="projecthome">
-<p>All software, documentation, this website and other direct or indirect material
- is licensed under the <a class="external" href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0 license</a>. In all documents and software the following copyright and
- license statement is present.
+<p>Teneo is licensed under the <a class="external" href="http://www.eclipse.org/org/documents/epl-v10.php">Eclipse Public License</a>.
+ In all documents and software the following copyright and license statement is present.
</p>
<pre class="code">
- Copyright 2005-2006, Elver.org (http://www.elver.org).
-
- Licensed 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.
+Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Eclipse Public License v1.0
+which accompanies this distribution, and is available at
+http://www.eclipse.org/legal/epl-v10.html
</pre>
</div>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/tutorial1_1.html b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/tutorial1_1.html
index ba1866446..52d356c5d 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/tutorial1_1.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/tutorial1_1.html
@@ -154,7 +154,7 @@
<a href="../../jpox/jpoxdatastore.html">JpoxDataStore</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (EJB3)</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../../jpox/ejb3_features.html">Supported Ann.</a>
@@ -193,7 +193,7 @@
<a href="../../jpox/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../../jpox/mailinglist.html">Mailinglist</a>
+<a href="../../jpox/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../../jpox/emfjpoxsupport.html">EMF/JPOX Support</a>
@@ -202,10 +202,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../../jpox/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../../jpox/testcases.html">Test cases</a>
+<a href="../../jpox/svn.html">CVS</a>
</div>
</div>
</div>
@@ -284,32 +281,28 @@
<h3>Add runtime plugin to dependencies of plugin.xml</h3>
-<p>To enable the runtime layer the org.elver.store.jpox.runtime plugin needs to be added to the
+<p>To enable the runtime layer the org.eclipse.emf.teneo.jpox plugin needs to be added to the
plugin dependencies of the plugin.xml (see image below).</p>
-<p>In addition the following <em>Eclipse-RegisterBuddy: org.elver.store.jpox.runtime</em>,
- needs to be added to the MANIFEST.MF of the Library model project
- (see <a class="external" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=87775#c57">here</a> why).</p>
-
<p>In addition your database JDBC driver should be added to classpath of the plugin.</p>
<div align="center">
<img class="figure" alt="Setting dependency of plugin.xml" src="images/plugindependency.gif"></div>
<p>
-<em>The runtime plugin needs to be specified in the plugin dependencies before the OR mapping can be generated.</em>
+<strong>The runtime plugin needs to be specified in the plugin dependencies before the OR mapping can be generated.</strong>
</p>
-</div>
+</div>
-<a name="N1004B"></a><a name="Generate+OR+Mapping"></a>
+<a name="N10041"></a><a name="Generate+OR+Mapping"></a>
<div class="h3">
<h3>Generate OR Mapping</h3>
<p>To generate the OR mapping right click on the ecore file and select the option
- <em>Generate EMF - JDO/JPOX OR Mapping</em> in the Elver submenu (the exact label of this
- menu option may vary depending on the Elver release you use). The generation takes
+ <em>Generate EMF - JDO/JPOX OR Mapping</em> in the Teneo submenu (the exact label of this
+ menu option may vary depending on the Teneo release you use). The generation takes
only a second, the package.jdo file should be created in the same folder as the ecore file. <em>It is possible
that the folder needs to be refreshed manually.</em>
</p>
@@ -345,7 +338,7 @@
</div>
-<a name="N10080"></a><a name="Create+Empty+Database"></a>
+<a name="N10076"></a><a name="Create+Empty+Database"></a>
<div class="h3">
<h3>Create Empty Database</h3>
@@ -356,7 +349,7 @@
</div>
-<a name="N1008D"></a><a name="Add+Logging"></a>
+<a name="N10083"></a><a name="Add+Logging"></a>
<div class="h3">
<h3>Add Logging</h3>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/tutorial1_2.html b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/tutorial1_2.html
index e180e0dac..004971203 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/tutorial1_2.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/tutorial1_2.html
@@ -154,7 +154,7 @@
<a href="../../jpox/jpoxdatastore.html">JpoxDataStore</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (EJB3)</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../../jpox/ejb3_features.html">Supported Ann.</a>
@@ -193,7 +193,7 @@
<a href="../../jpox/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../../jpox/mailinglist.html">Mailinglist</a>
+<a href="../../jpox/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../../jpox/emfjpoxsupport.html">EMF/JPOX Support</a>
@@ -202,10 +202,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../../jpox/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../../jpox/testcases.html">Test cases</a>
+<a href="../../jpox/svn.html">CVS</a>
</div>
</div>
</div>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/tutorial1_3.html b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/tutorial1_3.html
index be4a3512d..5775dac9b 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/tutorial1_3.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/tutorial1_3.html
@@ -154,7 +154,7 @@
<a href="../../jpox/jpoxdatastore.html">JpoxDataStore</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (EJB3)</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../../jpox/ejb3_features.html">Supported Ann.</a>
@@ -193,7 +193,7 @@
<a href="../../jpox/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../../jpox/mailinglist.html">Mailinglist</a>
+<a href="../../jpox/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../../jpox/emfjpoxsupport.html">EMF/JPOX Support</a>
@@ -202,10 +202,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../../jpox/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../../jpox/testcases.html">Test cases</a>
+<a href="../../jpox/svn.html">CVS</a>
</div>
</div>
</div>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/tutorial1_4.html b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/tutorial1_4.html
index f2f00b459..223b9a289 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/tutorial1_4.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/tutorial1_4.html
@@ -154,7 +154,7 @@
<a href="../../jpox/jpoxdatastore.html">JpoxDataStore</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (EJB3)</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../../jpox/ejb3_features.html">Supported Ann.</a>
@@ -193,7 +193,7 @@
<a href="../../jpox/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../../jpox/mailinglist.html">Mailinglist</a>
+<a href="../../jpox/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../../jpox/emfjpoxsupport.html">EMF/JPOX Support</a>
@@ -202,10 +202,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../../jpox/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../../jpox/testcases.html">Test cases</a>
+<a href="../../jpox/svn.html">CVS</a>
</div>
</div>
</div>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/tutorial1_5.html b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/tutorial1_5.html
index a76b46f47..58601a777 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/tutorial1_5.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/tutorial1_5.html
@@ -154,7 +154,7 @@
<a href="../../jpox/jpoxdatastore.html">JpoxDataStore</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (EJB3)</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../../jpox/ejb3_features.html">Supported Ann.</a>
@@ -193,7 +193,7 @@
<a href="../../jpox/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../../jpox/mailinglist.html">Mailinglist</a>
+<a href="../../jpox/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../../jpox/emfjpoxsupport.html">EMF/JPOX Support</a>
@@ -202,10 +202,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../../jpox/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../../jpox/testcases.html">Test cases</a>
+<a href="../../jpox/svn.html">CVS</a>
</div>
</div>
</div>
@@ -253,7 +250,7 @@
<p>The EMF Resource concept is very different from a relational/querying approach. In this part of the
tutorial it is described how objects can be loaded, updated and saved using the EMF JPOX resource
- implementations (the org.elver.store.jpox.resource.JPOXResourceDAO.</p>
+ implementations (the org.eclipse.emf.teneo.jpox.resource.JPOXResourceDAO.</p>
<p>For more information on the EMF JPOX resource <a href="../jpoxresources.html">see</a>.</p>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/tutorial1_intro.html b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/tutorial1_intro.html
index f80c61f1a..393023553 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/tutorial1_intro.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/tutorial1_intro.html
@@ -154,7 +154,7 @@
<a href="../../jpox/jpoxdatastore.html">JpoxDataStore</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (EJB3)</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../../jpox/ejb3_features.html">Supported Ann.</a>
@@ -193,7 +193,7 @@
<a href="../../jpox/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../../jpox/mailinglist.html">Mailinglist</a>
+<a href="../../jpox/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../../jpox/emfjpoxsupport.html">EMF/JPOX Support</a>
@@ -202,10 +202,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../../jpox/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../../jpox/testcases.html">Test cases</a>
+<a href="../../jpox/svn.html">CVS</a>
</div>
</div>
</div>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial2/license.html b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial2/license.html
index bf57ca616..1da8659ef 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial2/license.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial2/license.html
@@ -184,7 +184,7 @@
<a href="../../jpox/jpoxdatastore.html">JpoxDataStore</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Annotations (EJB3)</div>
+<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
<a href="../../jpox/ejb3_features.html">Supported Ann.</a>
@@ -223,7 +223,7 @@
<a href="../../jpox/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../../jpox/mailinglist.html">Mailinglist</a>
+<a href="../../jpox/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../../jpox/emfjpoxsupport.html">EMF/JPOX Support</a>
@@ -232,10 +232,7 @@
<div onclick="SwitchMenu('menu_1.11')" id="menu_1.11Title" class="menutitle">Developer</div>
<div id="menu_1.11" class="menuitemgroup">
<div class="menuitem">
-<a href="../../jpox/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../../jpox/testcases.html">Test cases</a>
+<a href="../../jpox/svn.html">CVS</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.12')" id="menu_1.12Title" class="menutitle">Home</div>
@@ -328,7 +325,7 @@
<a href="../../hibernate/resource_utility.html">Resource Utility</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.16')" id="menu_1.16Title" class="menutitle">Annotations</div>
+<div onclick="SwitchMenu('menu_1.16')" id="menu_1.16Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.16" class="menuitemgroup">
<div class="menuitem">
<a href="../../hibernate/ejb3_format.html">Format</a>
@@ -337,10 +334,7 @@
<a href="../../hibernate/ejb3_examples.html">Examples</a>
</div>
<div class="menuitem">
-<a href="../../hibernate/ejb3_features.html">EJB3</a>
-</div>
-<div class="menuitem">
-<a href="../../hibernate/custom_annotations.html">Custom</a>
+<a href="../../hibernate/ejb3_features.html">JPA/EJB3</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.17')" id="menu_1.17Title" class="menutitle">XML Schema</div>
@@ -364,7 +358,7 @@
<a href="../../hibernate/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../../hibernate/mailinglist.html">Mailinglist</a>
+<a href="../../hibernate/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../../hibernate/emfhibsupport.html">EMF/Hibernate Support</a>
@@ -373,10 +367,7 @@
<div onclick="SwitchMenu('menu_1.19')" id="menu_1.19Title" class="menutitle">Developer</div>
<div id="menu_1.19" class="menuitemgroup">
<div class="menuitem">
-<a href="../../hibernate/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../../hibernate/testcases.html">Test cases</a>
+<a href="../../hibernate/svn.html">CVS</a>
</div>
</div>
</div>
@@ -408,25 +399,16 @@
</div>
<div class="app" id="projecthome">
-<p>All software, documentation, this website and other direct or indirect material
- is licensed under the <a class="external" href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0 license</a>. In all documents and software the following copyright and
- license statement is present.
+<p>Teneo is licensed under the <a class="external" href="http://www.eclipse.org/org/documents/epl-v10.php">Eclipse Public License</a>.
+ In all documents and software the following copyright and license statement is present.
</p>
<pre class="code">
- Copyright 2005-2006, Elver.org (http://www.elver.org).
-
- Licensed 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.
+Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Eclipse Public License v1.0
+which accompanies this distribution, and is available at
+http://www.eclipse.org/legal/epl-v10.html
</pre>
</div>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial2/tutorial2_1.html b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial2/tutorial2_1.html
index 258d30f44..24cb3927d 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial2/tutorial2_1.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial2/tutorial2_1.html
@@ -154,7 +154,7 @@
<a href="../../jpox/jpoxdatastore.html">JpoxDataStore</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (EJB3)</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../../jpox/ejb3_features.html">Supported Ann.</a>
@@ -193,7 +193,7 @@
<a href="../../jpox/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../../jpox/mailinglist.html">Mailinglist</a>
+<a href="../../jpox/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../../jpox/emfjpoxsupport.html">EMF/JPOX Support</a>
@@ -202,10 +202,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../../jpox/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../../jpox/testcases.html">Test cases</a>
+<a href="../../jpox/svn.html">CVS</a>
</div>
</div>
</div>
@@ -259,17 +256,13 @@
<h3>Set dependencies of EMF model and editor plugins</h3>
-<p>The EMF persistency plugin (org.elver.store.jpox.runtime) has to be added
+<p>The EMF persistency plugin (org.eclipse.emf.teneo.jpox) has to be added
to the dependencies tab of the plugin.xml of <em>both</em> the library and the
library.editor plugin project.</p>
-
-<p>
-<em>Important:</em> the following has to be added to the MANIFEST.MF of the
- library (model) project: <em>Eclipse-RegisterBuddy: org.elver.store.jpox.runtime</em>.</p>
</div>
-<a name="N10023"></a><a name="Enable+JPOX+Support+for+the+EMF+model+project"></a>
+<a name="N1001B"></a><a name="Enable+JPOX+Support+for+the+EMF+model+project"></a>
<div class="h3">
<h3>Enable JPOX Support for the EMF model project</h3>
@@ -283,7 +276,7 @@
</div>
-<a name="N10037"></a><a name="Initialization"></a>
+<a name="N1002F"></a><a name="Initialization"></a>
<div class="h3">
<h3>Initialization</h3>
@@ -308,6 +301,10 @@ public void start(BundleContext context) throws Exception
jpoxDataStore.setProperties(properties);
jpoxDataStore.setEPackages(new EPackage[]{LibraryPackage.eINSTANCE});
jpoxDataStore.initialize();
+
+ // this is required to force the editor to retrieve the correct resource
+ Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("library", new JPOXResourceDAOFactory());
+
super.start(context);
}
</pre>
@@ -330,14 +327,14 @@ public void start(BundleContext context) throws Exception
</div>
-<a name="N1005B"></a><a name="Resource+Factory+setting"></a>
+<a name="N10053"></a><a name="Resource+Factory+setting"></a>
<div class="h3">
<h3>Resource Factory setting</h3>
<p>For this tutorial an EMF JPOX resource factory has to be specified. This is done
by setting the library element of the org.eclipse.emf.ecore.extension_parser extension
- point to: org.elver.store.jpox.emf.resource.JPOXResourceDAOFactory (see image below).</p>
+ point to: org.eclipse.emf.teneo.jpox.resource.JPOXResourceDAOFactory (see image below).</p>
<p>
@@ -359,7 +356,7 @@ public void start(BundleContext context) throws Exception
</div>
-<a name="N10078"></a><a name="Create+valid+EMF+Objects"></a>
+<a name="N10070"></a><a name="Create+valid+EMF+Objects"></a>
<div class="h3">
<h3>Create valid EMF Objects</h3>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial2/tutorial2_2.html b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial2/tutorial2_2.html
index ca01a793b..6049cd85d 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial2/tutorial2_2.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial2/tutorial2_2.html
@@ -154,7 +154,7 @@
<a href="../../jpox/jpoxdatastore.html">JpoxDataStore</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (EJB3)</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../../jpox/ejb3_features.html">Supported Ann.</a>
@@ -193,7 +193,7 @@
<a href="../../jpox/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../../jpox/mailinglist.html">Mailinglist</a>
+<a href="../../jpox/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../../jpox/emfjpoxsupport.html">EMF/JPOX Support</a>
@@ -202,10 +202,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../../jpox/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../../jpox/testcases.html">Test cases</a>
+<a href="../../jpox/svn.html">CVS</a>
</div>
</div>
</div>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial2/tutorial2_intro.html b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial2/tutorial2_intro.html
index 31d85ffe4..86fc3f5bd 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial2/tutorial2_intro.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial2/tutorial2_intro.html
@@ -154,7 +154,7 @@
<a href="../../jpox/jpoxdatastore.html">JpoxDataStore</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (EJB3)</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../../jpox/ejb3_features.html">Supported Ann.</a>
@@ -193,7 +193,7 @@
<a href="../../jpox/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../../jpox/mailinglist.html">Mailinglist</a>
+<a href="../../jpox/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../../jpox/emfjpoxsupport.html">EMF/JPOX Support</a>
@@ -202,10 +202,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../../jpox/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../../jpox/testcases.html">Test cases</a>
+<a href="../../jpox/svn.html">CVS</a>
</div>
</div>
</div>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/upgrading.html b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/upgrading.html
index dc657836b..53060fbb3 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/upgrading.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/upgrading.html
@@ -154,7 +154,7 @@
<a href="../jpox/jpoxdatastore.html">JpoxDataStore</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (EJB3)</div>
+<div onclick="SwitchMenu('menu_1.5')" id="menu_1.5Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.5" class="menuitemgroup">
<div class="menuitem">
<a href="../jpox/ejb3_features.html">Supported Ann.</a>
@@ -193,7 +193,7 @@
<div class="menupagetitle">Upgrading</div>
</div>
<div class="menuitem">
-<a href="../jpox/mailinglist.html">Mailinglist</a>
+<a href="../jpox/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../jpox/emfjpoxsupport.html">EMF/JPOX Support</a>
@@ -202,10 +202,7 @@
<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Developer</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
-<a href="../jpox/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../jpox/testcases.html">Test cases</a>
+<a href="../jpox/svn.html">CVS</a>
</div>
</div>
</div>
@@ -240,6 +237,9 @@
<div class="app" id="projecthome">
<ul class="minitoc">
<li>
+<a href="#Upgrading+to+Teneo">Upgrading to Teneo</a>
+</li>
+<li>
<a href="#Upgrading+to+the+0.7.0+release">Upgrading to the 0.7.0 release</a>
</li>
<li>
@@ -259,7 +259,21 @@
</li>
</ul>
-<a name="N10010"></a><a name="Upgrading+to+the+0.7.0+release"></a>
+<a name="N10010"></a><a name="Upgrading+to+Teneo"></a>
+<div class="h3">
+<h3>Upgrading to Teneo</h3>
+
+
+<p>The Teneo plugins have different names and ids than the Elver plugins. This means that if you
+ install Teneo plugins that they will coexist next to the installed Elver plugins. This should not
+ be a problem but can lead to confusion because the classnames (without the package names) have stayed the
+ same (for example JpoxDataStore is called the same in Teneo and in Elver).</p>
+
+<p>There is no automatic removal of Elver plugins, this has to be done manually (see below).</p>
+
+</div>
+
+<a name="N1001D"></a><a name="Upgrading+to+the+0.7.0+release"></a>
<div class="h3">
<h3>Upgrading to the 0.7.0 release</h3>
@@ -277,7 +291,7 @@
</div>
-<a name="N10023"></a><a name="Changes+from+the+0.6.5+to+the+0.7.0+release"></a>
+<a name="N10030"></a><a name="Changes+from+the+0.6.5+to+the+0.7.0+release"></a>
<div class="h3">
<h3>Changes from the 0.6.5 to the 0.7.0 release</h3>
@@ -306,7 +320,7 @@
</div>
-<a name="N1005E"></a><a name="Set+the+JPOX+libraries+for+the+JPOX+plugin"></a>
+<a name="N1006B"></a><a name="Set+the+JPOX+libraries+for+the+JPOX+plugin"></a>
<div class="h3">
<h3>Set the JPOX libraries for the JPOX plugin</h3>
@@ -318,7 +332,7 @@
</div>
-<a name="N10068"></a><a name="Regenerate+package.jdo+after+upgrading"></a>
+<a name="N10075"></a><a name="Regenerate+package.jdo+after+upgrading"></a>
<div class="h3">
<h3>Regenerate package.jdo after upgrading</h3>
@@ -329,7 +343,7 @@
</div>
-<a name="N10072"></a><a name="Upgrade+through+the+Update+Manager%3A+Search+for+upgrades...+or+Search+for+new+Features..."></a>
+<a name="N1007F"></a><a name="Upgrade+through+the+Update+Manager%3A+Search+for+upgrades...+or+Search+for+new+Features..."></a>
<div class="h3">
<h3>Upgrade through the Update Manager: Search for upgrades... or Search for new Features...</h3>
@@ -350,7 +364,7 @@
</div>
-<a name="N10085"></a><a name="Changed+datamodel+after+upgrading"></a>
+<a name="N10092"></a><a name="Changed+datamodel+after+upgrading"></a>
<div class="h3">
<h3>Changed datamodel after upgrading</h3>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/license.html b/doc/org.eclipse.emf.teneo.doc/tutorials/license.html
index aa641444d..48e32a280 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/license.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/license.html
@@ -126,25 +126,16 @@
</div>
<div class="app" id="projecthome">
-<p>All software, documentation, this website and other direct or indirect material
- is licensed under the <a class="external" href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0 license</a>. In all documents and software the following copyright and
- license statement is present.
+<p>Teneo is licensed under the <a class="external" href="http://www.eclipse.org/org/documents/epl-v10.php">Eclipse Public License</a>.
+ In all documents and software the following copyright and license statement is present.
</p>
<pre class="code">
- Copyright 2005-2006, Elver.org (http://www.elver.org).
-
- Licensed 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.
+Copyright (c) 2005, 2006 Springsite BV (The Netherlands) and others
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Eclipse Public License v1.0
+which accompanies this distribution, and is available at
+http://www.eclipse.org/legal/epl-v10.html
</pre>
</div>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/linkmap.html b/doc/org.eclipse.emf.teneo.doc/tutorials/linkmap.html
index f10ee817c..0bde55c4e 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/linkmap.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/linkmap.html
@@ -184,7 +184,7 @@
<a href="jpox/jpoxdatastore.html">JpoxDataStore</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Annotations (EJB3)</div>
+<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
<a href="jpox/ejb3_features.html">Supported Ann.</a>
@@ -223,7 +223,7 @@
<a href="jpox/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="jpox/mailinglist.html">Mailinglist</a>
+<a href="jpox/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="jpox/emfjpoxsupport.html">EMF/JPOX Support</a>
@@ -232,10 +232,7 @@
<div onclick="SwitchMenu('menu_1.11')" id="menu_1.11Title" class="menutitle">Developer</div>
<div id="menu_1.11" class="menuitemgroup">
<div class="menuitem">
-<a href="jpox/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="jpox/testcases.html">Test cases</a>
+<a href="jpox/svn.html">CVS</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.12')" id="menu_1.12Title" class="menutitle">Home</div>
@@ -328,7 +325,7 @@
<a href="hibernate/resource_utility.html">Resource Utility</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.16')" id="menu_1.16Title" class="menutitle">Annotations</div>
+<div onclick="SwitchMenu('menu_1.16')" id="menu_1.16Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.16" class="menuitemgroup">
<div class="menuitem">
<a href="hibernate/ejb3_format.html">Format</a>
@@ -337,10 +334,7 @@
<a href="hibernate/ejb3_examples.html">Examples</a>
</div>
<div class="menuitem">
-<a href="hibernate/ejb3_features.html">EJB3</a>
-</div>
-<div class="menuitem">
-<a href="hibernate/custom_annotations.html">Custom</a>
+<a href="hibernate/ejb3_features.html">JPA/EJB3</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.17')" id="menu_1.17Title" class="menutitle">XML Schema</div>
@@ -364,7 +358,7 @@
<a href="hibernate/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="hibernate/mailinglist.html">Mailinglist</a>
+<a href="hibernate/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="hibernate/emfhibsupport.html">EMF/Hibernate Support</a>
@@ -373,10 +367,7 @@
<div onclick="SwitchMenu('menu_1.19')" id="menu_1.19Title" class="menutitle">Developer</div>
<div id="menu_1.19" class="menuitemgroup">
<div class="menuitem">
-<a href="hibernate/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="hibernate/testcases.html">Test cases</a>
+<a href="hibernate/svn.html">CVS</a>
</div>
</div>
</div>
@@ -672,7 +663,7 @@
<ul>
<li>
-<a href="jpox/">Annotations (EJB3)</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>schema</em>
+<a href="jpox/">Annotations (JPA/EJB3)</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>schema</em>
</li>
<ul>
@@ -757,7 +748,7 @@
<ul>
<li>
-<a href="jpox/mailinglist.html">Mailinglist</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>mailinglist</em>
+<a href="jpox/mailinglist.html">Newsgroup</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>mailinglist</em>
</li>
</ul>
@@ -778,13 +769,7 @@
<ul>
<li>
-<a href="jpox/svn.html">Subversion</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>svn</em>
-</li>
-</ul>
-
-<ul>
-<li>
-<a href="jpox/testcases.html">Test cases</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>test</em>
+<a href="jpox/svn.html">CVS</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>svn</em>
</li>
</ul>
@@ -987,7 +972,7 @@
<ul>
<li>
-<a href="hibernate/">Annotations</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>schema</em>
+<a href="hibernate/">Annotations (JPA/EJB3)</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>schema</em>
</li>
<ul>
@@ -1005,13 +990,7 @@
<ul>
<li>
-<a href="hibernate/ejb3_features.html">EJB3</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>featuremap</em>
-</li>
-</ul>
-
-<ul>
-<li>
-<a href="hibernate/custom_annotations.html">Custom</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>featuremap</em>
+<a href="hibernate/ejb3_features.html">JPA/EJB3</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>featuremap</em>
</li>
</ul>
@@ -1065,7 +1044,7 @@
<ul>
<li>
-<a href="hibernate/mailinglist.html">Mailinglist</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>mailinglist</em>
+<a href="hibernate/mailinglist.html">Newsgroup</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>mailinglist</em>
</li>
</ul>
@@ -1086,13 +1065,7 @@
<ul>
<li>
-<a href="hibernate/svn.html">Subversion</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>svn</em>
-</li>
-</ul>
-
-<ul>
-<li>
-<a href="hibernate/testcases.html">Test cases</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>test</em>
+<a href="hibernate/svn.html">CVS</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>svn</em>
</li>
</ul>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/services/index.html b/doc/org.eclipse.emf.teneo.doc/tutorials/services/index.html
index e7e8c2e63..27b4b7f57 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/services/index.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/services/index.html
@@ -139,7 +139,7 @@
<h3>Services</h3>
-<p>We support Elver through a mailing list. On a commercial basis we are available for more
+<p>We support Teneo through the EMFT newsgroup. On a commercial basis we are available for more
hands-on support or as extra (offsite) development capacity. Also if you are interested in
our custom eBusiness solutions please visit <a class="external" href="http://www.springsite.com/en">Springsite.com</a>.</p>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/services/license.html b/doc/org.eclipse.emf.teneo.doc/tutorials/services/license.html
index 1c8eaf059..5086e9b38 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/services/license.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/services/license.html
@@ -184,7 +184,7 @@
<a href="../jpox/jpoxdatastore.html">JpoxDataStore</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Annotations (EJB3)</div>
+<div onclick="SwitchMenu('menu_1.8')" id="menu_1.8Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.8" class="menuitemgroup">
<div class="menuitem">
<a href="../jpox/ejb3_features.html">Supported Ann.</a>
@@ -223,7 +223,7 @@
<a href="../jpox/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../jpox/mailinglist.html">Mailinglist</a>
+<a href="../jpox/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../jpox/emfjpoxsupport.html">EMF/JPOX Support</a>
@@ -232,10 +232,7 @@
<div onclick="SwitchMenu('menu_1.11')" id="menu_1.11Title" class="menutitle">Developer</div>
<div id="menu_1.11" class="menuitemgroup">
<div class="menuitem">
-<a href="../jpox/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../jpox/testcases.html">Test cases</a>
+<a href="../jpox/svn.html">CVS</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.12')" id="menu_1.12Title" class="menutitle">Home</div>
@@ -328,7 +325,7 @@
<a href="../hibernate/resource_utility.html">Resource Utility</a>
</div>
</div>
-<div onclick="SwitchMenu('menu_1.16')" id="menu_1.16Title" class="menutitle">Annotations</div>
+<div onclick="SwitchMenu('menu_1.16')" id="menu_1.16Title" class="menutitle">Annotations (JPA/EJB3)</div>
<div id="menu_1.16" class="menuitemgroup">
<div class="menuitem">
<a href="../hibernate/ejb3_format.html">Format</a>
@@ -337,10 +334,7 @@
<a href="../hibernate/ejb3_examples.html">Examples</a>
</div>
<div class="menuitem">
-<a href="../hibernate/ejb3_features.html">EJB3</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/custom_annotations.html">Custom</a>
+<a href="../hibernate/ejb3_features.html">JPA/EJB3</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.17')" id="menu_1.17Title" class="menutitle">XML Schema</div>
@@ -364,7 +358,7 @@
<a href="../hibernate/upgrading.html">Upgrading</a>
</div>
<div class="menuitem">
-<a href="../hibernate/mailinglist.html">Mailinglist</a>
+<a href="../hibernate/mailinglist.html">Newsgroup</a>
</div>
<div class="menuitem">
<a href="../hibernate/emfhibsupport.html">EMF/Hibernate Support</a>
@@ -373,10 +367,7 @@
<div onclick="SwitchMenu('menu_1.19')" id="menu_1.19Title" class="menutitle">Developer</div>
<div id="menu_1.19" class="menuitemgroup">
<div class="menuitem">
-<a href="../hibernate/svn.html">Subversion</a>
-</div>
-<div class="menuitem">
-<a href="../hibernate/testcases.html">Test cases</a>
+<a href="../hibernate/svn.html">CVS</a>
</div>
</div>
</div>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/skin/inst.css b/doc/org.eclipse.emf.teneo.doc/tutorials/skin/inst.css
index ea2aceeaf..6a0535bef 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/skin/inst.css
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/skin/inst.css
@@ -1,4 +1,4 @@
-/* $Id: inst.css,v 1.1 2006/07/11 17:02:09 mtaal Exp $
+/* $Id: inst.css,v 1.2 2006/10/15 08:39:22 mtaal Exp $
This file contains rules that extend or override the more basic formatting defined in tigris.css. Edit it to customize the look of applications using tigris.css (instances). You are responsible for maintaining your own set of (optional) deltas from tigris.css defaults; this file is intended as an example.
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/skin/ns4_only.css b/doc/org.eclipse.emf.teneo.doc/tutorials/skin/ns4_only.css
index eeabb4ecf..38191835b 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/skin/ns4_only.css
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/skin/ns4_only.css
@@ -1,4 +1,4 @@
-/* $Id: ns4_only.css,v 1.1 2006/07/11 17:02:09 mtaal Exp $
+/* $Id: ns4_only.css,v 1.2 2006/10/15 08:39:22 mtaal Exp $
simple rules suitable for Netscape 4.x only; richer rules are in tigris.css. see <http://style.tigris.org/> */
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/skin/print.css b/doc/org.eclipse.emf.teneo.doc/tutorials/skin/print.css
index 7befcca3e..d67adae5c 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/skin/print.css
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/skin/print.css
@@ -1,4 +1,4 @@
-/* $Id: print.css,v 1.1 2006/07/11 17:02:09 mtaal Exp $ */
+/* $Id: print.css,v 1.2 2006/10/15 08:39:22 mtaal Exp $ */
#banner, #footer, #leftcol, #breadcrumbs, .docs #toc, .docs .courtesylinks {
display: none;
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/skin/tigris.css b/doc/org.eclipse.emf.teneo.doc/tutorials/skin/tigris.css
index b81e419a9..41c591f34 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/skin/tigris.css
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/skin/tigris.css
@@ -1,4 +1,4 @@
-/* $Id: tigris.css,v 1.1 2006/07/11 17:02:09 mtaal Exp $
+/* $Id: tigris.css,v 1.2 2006/10/15 08:39:22 mtaal Exp $
This file defines basic default formatting for HTML conforming to Tigris application style. To extend or override these rules for your instance, edit inst.css instead of this file. */

Back to the top