Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'core/org.eclipse.emf.teneo')
-rwxr-xr-xcore/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/Constants.java1
-rwxr-xr-xcore/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/ERuntime.java3
-rwxr-xr-xcore/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/PersistenceOptions.java26
-rwxr-xr-xcore/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/annotations/mapper/AbstractProcessingContext.java1
-rwxr-xr-xcore/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/annotations/mapper/EClassAnnotator.java6
-rwxr-xr-xcore/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/annotations/parser/EAnnotationParserImporter.java4
-rwxr-xr-xcore/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/mapping/strategy/EntityNameStrategy.java2
-rwxr-xr-xcore/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/mapping/strategy/impl/ClassicSQLNameStrategy.java13
-rw-r--r--core/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/type/PersistentStoreAdapter.java1
-rwxr-xr-xcore/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/util/FieldUtil.java1
-rwxr-xr-xcore/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/util/StoreUtil.java4
11 files changed, 52 insertions, 10 deletions
diff --git a/core/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/Constants.java b/core/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/Constants.java
index 2bb2ec427..24969f983 100755
--- a/core/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/Constants.java
+++ b/core/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/Constants.java
@@ -94,6 +94,7 @@ public class Constants {
public final static String COLUMN_ECONTAINER_FEATURE_NAME = "e_container_feature_name";
public final static String ANNOTATION_SOURCE_TENEO_JPA = "teneo.jpa";
+ public final static String ANNOTATION_SOURCE_TENEO_HIBERNATE = "teneo.hibernate";
public final static String ANNOTATION_SOURCE_TENEO_MAPPING = "teneo.mapping";
public final static String ANNOTATION_SOURCE_AUDITING = "teneo.auditing";
diff --git a/core/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/ERuntime.java b/core/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/ERuntime.java
index e4313a236..1340c0d30 100755
--- a/core/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/ERuntime.java
+++ b/core/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/ERuntime.java
@@ -59,9 +59,6 @@ public class ERuntime extends EModelResolver {
/** The list of epackages processed here */
private final ArrayList<EPackage> epackages = new ArrayList<EPackage>();
- /** Count of times that an epackage got registered */
- private final ArrayList<Integer> registrationCount = new ArrayList<Integer>();
-
/** The mapping from concrete classes to eclass and back */
private final HashMap<Class<?>, EClass> concreteToEClass = new HashMap<Class<?>, EClass>();
diff --git a/core/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/PersistenceOptions.java b/core/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/PersistenceOptions.java
index 3b9ed25f7..ee497bdcb 100755
--- a/core/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/PersistenceOptions.java
+++ b/core/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/PersistenceOptions.java
@@ -60,6 +60,8 @@ public class PersistenceOptions implements ExtensionPoint {
public static final String ENABLE_AUDITING = MAPPING_PREFIX + "auditing.enable";
public static final String AUDITING_ENTITY_PREFIX = NAMING_PREFIX + "auditing.entity.prefix";
public static final String AUDITING_ENTITY_POSTFIX = NAMING_PREFIX + "auditing.entity.postfix";
+ public static final String AUDITING_JOINTABLE_POSTFIX = NAMING_PREFIX
+ + "auditing.jointable.postfix";
// START: ++++++++++++++++++++++ SQL Naming related Options
// ++++++++++++++++++++++++++++++++++++
@@ -463,6 +465,7 @@ public class PersistenceOptions implements ExtensionPoint {
props.setProperty(ENABLE_AUDITING, "false");
props.setProperty(AUDITING_ENTITY_PREFIX, "");
props.setProperty(AUDITING_ENTITY_POSTFIX, "Auditing");
+ props.setProperty(AUDITING_JOINTABLE_POSTFIX, "Auditing");
props.setProperty(HANDLE_UNSET_AS_NULL, "false");
props.setProperty(CONVERT_UNSET_TO_NULL, "false");
@@ -547,14 +550,33 @@ public class PersistenceOptions implements ExtensionPoint {
* @return value of {@link #AUDITING_ENTITY_PREFIX}
*/
public String getAuditingEntityPrefix() {
- return properties.getProperty(AUDITING_ENTITY_PREFIX);
+ final String value = properties.getProperty(AUDITING_ENTITY_PREFIX);
+ if (value == null) {
+ return "";
+ }
+ return value;
}
/**
* @return value of {@link #AUDITING_ENTITY_POSTFIX}
*/
public String getAuditingEntityPostfix() {
- return properties.getProperty(AUDITING_ENTITY_POSTFIX);
+ final String value = properties.getProperty(AUDITING_ENTITY_POSTFIX);
+ if (value == null) {
+ return "";
+ }
+ return value;
+ }
+
+ /**
+ * @return value of {@link #AUDITING_JOINTABLE_POSTFIX}
+ */
+ public String getAuditingJoinTablePostfix() {
+ final String value = properties.getProperty(AUDITING_JOINTABLE_POSTFIX);
+ if (value == null) {
+ return "";
+ }
+ return value;
}
/**
diff --git a/core/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/annotations/mapper/AbstractProcessingContext.java b/core/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/annotations/mapper/AbstractProcessingContext.java
index 71dcedbe8..66a39fead 100755
--- a/core/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/annotations/mapper/AbstractProcessingContext.java
+++ b/core/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/annotations/mapper/AbstractProcessingContext.java
@@ -35,7 +35,6 @@ import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedModel;
import org.eclipse.emf.teneo.annotations.pannotation.AssociationOverride;
import org.eclipse.emf.teneo.annotations.pannotation.AttributeOverride;
import org.eclipse.emf.teneo.annotations.pannotation.Column;
-import org.eclipse.emf.teneo.annotations.pannotation.JoinColumn;
import org.eclipse.emf.teneo.mapping.strategy.SQLNameStrategy;
/**
diff --git a/core/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/annotations/mapper/EClassAnnotator.java b/core/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/annotations/mapper/EClassAnnotator.java
index 10fe8feca..775b22900 100755
--- a/core/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/annotations/mapper/EClassAnnotator.java
+++ b/core/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/annotations/mapper/EClassAnnotator.java
@@ -41,6 +41,7 @@ import org.eclipse.emf.teneo.annotations.pannotation.SecondaryTable;
import org.eclipse.emf.teneo.annotations.pannotation.Table;
import org.eclipse.emf.teneo.extension.ExtensionPoint;
import org.eclipse.emf.teneo.mapping.strategy.StrategyUtil;
+import org.eclipse.emf.teneo.util.StoreUtil;
/**
* Sets the annotation on an eclass.
@@ -111,6 +112,11 @@ public class EClassAnnotator extends AbstractAnnotator implements ExtensionPoint
aClass.setEavMapping(PannotationFactory.eINSTANCE.createEAVMapping());
}
+ // prevent eav mapping for audit entry classes
+ if (StoreUtil.isAuditEntryEClass(eclass)) {
+ aClass.setNoEAVMapping(PannotationFactory.eINSTANCE.createNoEAVMapping());
+ }
+
if (log.isDebugEnabled()) {
log.debug(" Adding default annotations for EClass: " + aClass.getModelElement().getName());
}
diff --git a/core/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/annotations/parser/EAnnotationParserImporter.java b/core/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/annotations/parser/EAnnotationParserImporter.java
index a0594e7bc..5f522c488 100755
--- a/core/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/annotations/parser/EAnnotationParserImporter.java
+++ b/core/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/annotations/parser/EAnnotationParserImporter.java
@@ -228,6 +228,10 @@ public class EAnnotationParserImporter implements EClassResolver, ExtensionPoint
}
}
+ if (source.equals(Constants.ANNOTATION_SOURCE_TENEO_JPA_AUDITING)) {
+ return false;
+ }
+
return source.startsWith(Constants.ANNOTATION_SOURCE_TENEO_JPA)
|| source.startsWith(Constants.ANNOTATION_SOURCE_TENEO_MAPPING);
}
diff --git a/core/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/mapping/strategy/EntityNameStrategy.java b/core/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/mapping/strategy/EntityNameStrategy.java
index d1efb51d8..4f6f66591 100755
--- a/core/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/mapping/strategy/EntityNameStrategy.java
+++ b/core/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/mapping/strategy/EntityNameStrategy.java
@@ -48,7 +48,7 @@ public interface EntityNameStrategy extends ExtensionPoint, ExtensionManagerAwar
/**
* Return the EClass for a certain name, searches in the array of epackages
*/
- public EClass toEClass(String eClassName);
+ public EClass toEClass(String entityName);
/**
* @param paModel
diff --git a/core/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/mapping/strategy/impl/ClassicSQLNameStrategy.java b/core/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/mapping/strategy/impl/ClassicSQLNameStrategy.java
index 99b21eca7..1870bb85b 100755
--- a/core/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/mapping/strategy/impl/ClassicSQLNameStrategy.java
+++ b/core/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/mapping/strategy/impl/ClassicSQLNameStrategy.java
@@ -37,6 +37,7 @@ import org.eclipse.emf.teneo.mapping.strategy.EntityNameStrategy;
import org.eclipse.emf.teneo.mapping.strategy.SQLNameStrategy;
import org.eclipse.emf.teneo.mapping.strategy.StrategyUtil;
import org.eclipse.emf.teneo.util.AssertUtil;
+import org.eclipse.emf.teneo.util.StoreUtil;
/**
* Implements the sql naming strategy of older versions of Teneo. This
@@ -363,7 +364,13 @@ public class ClassicSQLNameStrategy implements SQLNameStrategy,
String truncedName = getEntityName(aClass.getPaModel(),
aClass.getModelEClass())
+ "_" + aAttribute.getModelEAttribute().getName();
- return optionTableNamePrefix + convert(truncedName, true);
+
+ String auditPostFix = "";
+ if (StoreUtil.isAuditEntryEClass(aAttribute.getModelEAttribute().getEContainingClass())) {
+ auditPostFix = persistenceOptions.getAuditingJoinTablePostfix();
+ }
+
+ return optionTableNamePrefix + convert(truncedName + auditPostFix, true);
}
/*
@@ -625,4 +632,8 @@ public class ClassicSQLNameStrategy implements SQLNameStrategy,
return correctedName.substring(0, optionMaximumSqlLength);
}
+ public PersistenceOptions getPersistenceOptions() {
+ return persistenceOptions;
+ }
+
} \ No newline at end of file
diff --git a/core/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/type/PersistentStoreAdapter.java b/core/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/type/PersistentStoreAdapter.java
index df61a7bd1..dba28db8b 100644
--- a/core/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/type/PersistentStoreAdapter.java
+++ b/core/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/type/PersistentStoreAdapter.java
@@ -43,7 +43,6 @@ import org.eclipse.emf.teneo.util.StoreUtil;
*/
public class PersistentStoreAdapter implements Adapter {
- private static final long serialVersionUID = 1L;
private Notifier target;
private boolean targetCreatedByORM;
diff --git a/core/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/util/FieldUtil.java b/core/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/util/FieldUtil.java
index ddec40db3..3c0608dea 100755
--- a/core/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/util/FieldUtil.java
+++ b/core/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/util/FieldUtil.java
@@ -10,7 +10,6 @@ package org.eclipse.emf.teneo.util;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
-import java.util.Hashtable;
import java.util.concurrent.ConcurrentHashMap;
import org.eclipse.emf.teneo.TeneoException;
diff --git a/core/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/util/StoreUtil.java b/core/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/util/StoreUtil.java
index c7100cf96..78a0f97f3 100755
--- a/core/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/util/StoreUtil.java
+++ b/core/org.eclipse.emf.teneo/src/org/eclipse/emf/teneo/util/StoreUtil.java
@@ -77,6 +77,10 @@ public class StoreUtil {
/** The Annotation source name */
public static final String ANNOTATION_SOURCE = "http:///org/eclipse/emf/ecore/util/ExtendedMetaData";
+ public static boolean isAuditEntryEClass(EClass eClass) {
+ return null != eClass.getEAnnotation(Constants.ANNOTATION_AUDITING_MODELELEMENT);
+ }
+
public static void resetSyntheticListInfo(EStructuralFeature eFeature, Object target) {
if (target == null || eFeature instanceof EAttribute) {
return;

Back to the top