Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Taal2009-12-28 18:27:45 +0000
committerMartin Taal2009-12-28 18:27:45 +0000
commitc401b6cb272a27a75c3b98c17774d3c6a309fbc4 (patch)
tree8da7712a43ad12a61540ad93653bcea9a78d4e8c /plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src
parentd42f4bf9a38608f28fc14d9edf27e1dd1318fe56 (diff)
downloadcdo-c401b6cb272a27a75c3b98c17774d3c6a309fbc4.tar.gz
cdo-c401b6cb272a27a75c3b98c17774d3c6a309fbc4.tar.xz
cdo-c401b6cb272a27a75c3b98c17774d3c6a309fbc4.zip
[295160] [Hibernate] Additional changes for annotations in xml
[266457] [Hibernate] Add/Adjust version ranges for all dependencies
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src')
-rw-r--r--plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/internal/teneo/CDOBasicMapper.java7
-rw-r--r--plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/internal/teneo/CDOEFeatureAnnotator.java2
-rw-r--r--plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/internal/teneo/CDOEntityMapper.java10
-rw-r--r--plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/internal/teneo/CDOManyAttributeMapper.java2
-rw-r--r--plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/internal/teneo/CDOMappingContext.java7
-rw-r--r--plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/internal/teneo/CDOXmlPersistenceContentHandler.java94
-rw-r--r--plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/internal/teneo/TeneoHibernateMappingProvider.java6
-rw-r--r--plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/internal/teneo/TeneoHibernateMappingProviderFactory.java4
-rw-r--r--plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/teneo/CDOHelper.java11
9 files changed, 117 insertions, 26 deletions
diff --git a/plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/internal/teneo/CDOBasicMapper.java b/plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/internal/teneo/CDOBasicMapper.java
index bd59fb7e09..152dbe3c60 100644
--- a/plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/internal/teneo/CDOBasicMapper.java
+++ b/plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/internal/teneo/CDOBasicMapper.java
@@ -1,5 +1,5 @@
-/***************************************************************************
- * Copyright (c) 2004 - 2009 Springsite B.V. and others
+/**
+ * Copyright (c) 2004 - 2009 Eike Stepper (Berlin, Germany) 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
@@ -7,7 +7,8 @@
*
* Contributors:
* Martin Taal - initial API and implementation
- **************************************************************************/
+ * Eike Stepper - maintenance
+ */
package org.eclipse.emf.cdo.server.hibernate.internal.teneo;
import org.eclipse.emf.ecore.EAttribute;
diff --git a/plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/internal/teneo/CDOEFeatureAnnotator.java b/plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/internal/teneo/CDOEFeatureAnnotator.java
index 1eb7c843bd..caa7e13309 100644
--- a/plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/internal/teneo/CDOEFeatureAnnotator.java
+++ b/plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/internal/teneo/CDOEFeatureAnnotator.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2004 - 2009 Eike Stepper (Berlin, Germany) and others. and others
+ * Copyright (c) 2004 - 2009 Eike Stepper (Berlin, Germany) 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
diff --git a/plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/internal/teneo/CDOEntityMapper.java b/plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/internal/teneo/CDOEntityMapper.java
index 490ce0b850..1d6da81d82 100644
--- a/plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/internal/teneo/CDOEntityMapper.java
+++ b/plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/internal/teneo/CDOEntityMapper.java
@@ -1,13 +1,3 @@
-/***************************************************************************
- * Copyright (c) 2004 - 2009 Springsite B.V. 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
- **************************************************************************/
package org.eclipse.emf.cdo.server.hibernate.internal.teneo;
import org.eclipse.emf.cdo.eresource.EresourcePackage;
diff --git a/plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/internal/teneo/CDOManyAttributeMapper.java b/plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/internal/teneo/CDOManyAttributeMapper.java
index 7825bbacd9..62f865a946 100644
--- a/plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/internal/teneo/CDOManyAttributeMapper.java
+++ b/plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/internal/teneo/CDOManyAttributeMapper.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2004 - 2009 Eike Stepper (Berlin, Germany) and others. and others
+ * Copyright (c) 2004 - 2009 Eike Stepper (Berlin, Germany) 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
diff --git a/plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/internal/teneo/CDOMappingContext.java b/plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/internal/teneo/CDOMappingContext.java
index 95cc883bca..f274ccfaac 100644
--- a/plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/internal/teneo/CDOMappingContext.java
+++ b/plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/internal/teneo/CDOMappingContext.java
@@ -1,5 +1,5 @@
-/***************************************************************************
- * Copyright (c) 2004 - 2009 Springsite B.V. and others
+/**
+ * Copyright (c) 2004 - 2009 Eike Stepper (Berlin, Germany) 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
@@ -7,7 +7,8 @@
*
* Contributors:
* Martin Taal - initial API and implementation
- **************************************************************************/
+ * Eike Stepper - maintenance
+ */
package org.eclipse.emf.cdo.server.hibernate.internal.teneo;
import org.eclipse.emf.cdo.server.internal.hibernate.tuplizer.CDOENumIntegerType;
diff --git a/plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/internal/teneo/CDOXmlPersistenceContentHandler.java b/plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/internal/teneo/CDOXmlPersistenceContentHandler.java
new file mode 100644
index 0000000000..2fc0e58880
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/internal/teneo/CDOXmlPersistenceContentHandler.java
@@ -0,0 +1,94 @@
+/**
+ * Copyright (c) 2004 - 2009 Eike Stepper (Berlin, Germany) 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
+ * Eike Stepper - maintenance
+ */
+package org.eclipse.emf.cdo.server.hibernate.internal.teneo;
+
+import org.eclipse.emf.cdo.server.hibernate.internal.teneo.bundle.OM;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.teneo.PackageRegistryProvider;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage;
+import org.eclipse.emf.teneo.annotations.xml.XmlPersistenceContentHandler;
+
+import org.xml.sax.Attributes;
+import org.xml.sax.SAXException;
+
+/**
+ * With cdo packages are registered at runtime so if the package in the xml is not yet present then be lenient about it.
+ *
+ * @author <a href="mtaal@elver.org">Martin Taal</a>
+ */
+public class CDOXmlPersistenceContentHandler extends XmlPersistenceContentHandler
+{
+ private PAnnotatedEPackage localPAPackage = null;
+
+ // is also present in super class, should be made protected there
+ private static final int ROOT = 0;
+
+ @Override
+ public void characters(char[] ch, int start, int length) throws SAXException
+ {
+ // unknown epackage, ignore for now
+ if (localPAPackage == null)
+ {
+ return;
+ }
+
+ super.characters(ch, start, length);
+ }
+
+ @Override
+ public void endElement(String uri, String localName, String qName) throws SAXException
+ {
+ // unknown epackage, ignore for now
+ if (localPAPackage == null)
+ {
+ return;
+ }
+
+ super.endElement(uri, localName, qName);
+ }
+
+ @Override
+ public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException
+ {
+ if (getParseState() != ROOT)
+ {
+ if (localName.equals("epackage"))
+ {
+ final String nameSpaceUri = attributes.getValue("namespace-uri");
+ final EPackage ePackage = PackageRegistryProvider.getInstance().getPackageRegistry().getEPackage(nameSpaceUri);
+ if (ePackage != null)
+ {
+ localPAPackage = getPAnnotatedModel().getPAnnotated(ePackage);
+ }
+ else
+ {
+ localPAPackage = null;
+ }
+
+ if (localPAPackage == null)
+ {
+ OM.LOG.warn("No EPackage found for namespace " + nameSpaceUri
+ + ". This is not a problem if this EPackage is registered later.");
+ }
+ }
+
+ // unknown epackage, ignore for now
+ if (localPAPackage == null)
+ {
+ return;
+ }
+ }
+
+ super.startElement(uri, localName, qName, attributes);
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/internal/teneo/TeneoHibernateMappingProvider.java b/plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/internal/teneo/TeneoHibernateMappingProvider.java
index 281a2b4adf..9e0b7d2090 100644
--- a/plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/internal/teneo/TeneoHibernateMappingProvider.java
+++ b/plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/internal/teneo/TeneoHibernateMappingProvider.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2004 - 2009 Springsite B.V. and others
+ * Copyright (c) 2004 - 2009 Eike Stepper (Berlin, Germany) 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
@@ -7,7 +7,7 @@
*
* Contributors:
* Martin Taal - initial API and implementation
- * Eike Stepper - bug 238300
+ * Eike Stepper - maintenance
*/
package org.eclipse.emf.cdo.server.hibernate.internal.teneo;
@@ -72,7 +72,7 @@ public class TeneoHibernateMappingProvider extends HibernateMappingProvider
TRACER.trace(mapping);
}
- // System.err.println(mapping);
+ System.err.println(mapping);
configuration.addXML(mapping);
if (TRACER.isEnabled())
diff --git a/plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/internal/teneo/TeneoHibernateMappingProviderFactory.java b/plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/internal/teneo/TeneoHibernateMappingProviderFactory.java
index a743f59d74..2b11f3ca39 100644
--- a/plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/internal/teneo/TeneoHibernateMappingProviderFactory.java
+++ b/plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/internal/teneo/TeneoHibernateMappingProviderFactory.java
@@ -1,10 +1,10 @@
/**
- * Copyright (c) 2004 - 2009 Springsite B.V. and others
+ * Copyright (c) 2004 - 2009 Eike Stepper (Berlin, Germany) 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
* Eike Stepper - maintenance
diff --git a/plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/teneo/CDOHelper.java b/plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/teneo/CDOHelper.java
index eb180a9b3e..56af808b64 100644
--- a/plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/teneo/CDOHelper.java
+++ b/plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/teneo/CDOHelper.java
@@ -1,5 +1,5 @@
-/***************************************************************************
- * Copyright (c) 2004 - 2009 Springsite B.V. and others
+/**
+ * Copyright (c) 2004 - 2009 Eike Stepper (Berlin, Germany) 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
@@ -7,16 +7,19 @@
*
* Contributors:
* Martin Taal - initial API and implementation
- **************************************************************************/
+ * Eike Stepper - maintenance
+ */
package org.eclipse.emf.cdo.server.hibernate.teneo;
import org.eclipse.emf.cdo.server.hibernate.internal.teneo.CDOEFeatureAnnotator;
import org.eclipse.emf.cdo.server.hibernate.internal.teneo.CDOManyAttributeMapper;
import org.eclipse.emf.cdo.server.hibernate.internal.teneo.CDOMappingContext;
+import org.eclipse.emf.cdo.server.hibernate.internal.teneo.CDOXmlPersistenceContentHandler;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.teneo.PersistenceOptions;
import org.eclipse.emf.teneo.annotations.mapper.EFeatureAnnotator;
+import org.eclipse.emf.teneo.annotations.xml.XmlPersistenceContentHandler;
import org.eclipse.emf.teneo.extension.ExtensionManager;
import org.eclipse.emf.teneo.extension.ExtensionManagerFactory;
import org.eclipse.emf.teneo.extension.ExtensionUtil;
@@ -65,6 +68,8 @@ public class CDOHelper
extensionManager.registerExtension(ExtensionUtil.createExtension(ManyAttributeMapper.class,
CDOManyAttributeMapper.class, false));
+ extensionManager.registerExtension(ExtensionUtil.createExtension(XmlPersistenceContentHandler.class,
+ CDOXmlPersistenceContentHandler.class, false));
// extensionManager.registerExtension(ExtensionUtil.createExtension(BasicMapper.class, CDOBasicMapper.class,
// false));
}

Back to the top