FIX for ManyToOne targetType & OSGI MANIFEST

This commit is contained in:
Eddie Mc Greal
2014-10-14 08:10:31 +02:00
parent 13791a2e58
commit 1065a84709
9 changed files with 224 additions and 1 deletions
@@ -286,6 +286,12 @@ public final class DefaultServer implements SpiEbeanServer {
ddlGenerator = (DdlGenerator)plugin;
}
}
if (ddlGenerator == null){
ddlGenerator = new DdlGenerator();
spiPlugins.add(ddlGenerator);
ddlGenerator.setup(this, this.getDatabasePlatform(), config.getServerConfig());
}
ebeanPlugins = Collections.unmodifiableList(spiPlugins);
}
@@ -6,6 +6,7 @@ import java.lang.reflect.Modifier;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import javax.persistence.ManyToOne;
import javax.persistence.PersistenceException;
import javax.persistence.Transient;
@@ -273,6 +274,17 @@ public class DeployCreateProperties {
private DeployBeanProperty createProp(DeployBeanDescriptor<?> desc, Field field) {
Class<?> propertyType = field.getType();
ManyToOne manyToOne = field.getAnnotation(ManyToOne.class);
if (manyToOne != null){
Class<?> tt = manyToOne.targetEntity();
if (tt != null && !tt.equals(void.class)){
propertyType = tt;
logger.debug("target type" + tt);
}
}
Class<?> innerType = propertyType;
String specialTypeKey = getSpecialScalarType(field);
+64
View File
@@ -1,3 +1,67 @@
Manifest-Version: 1.0
Premain-Class: com.avaje.ebean.enhance.agent.Transformer
Bundle-ManifestVersion: 2
Bundle-Name: Ebean-ORM
Bundle-SymbolicName: com.avaje.ebean
Bundle-Version: 4.1.9
Bundle-ClassPath: .
Bundle-Vendor: avaje
Export-Package: com.avaje.ebean,
com.avaje.ebean.annotation,
com.avaje.ebean.bean,
com.avaje.ebean.cache,
com.avaje.ebean.common,
com.avaje.ebean.config,
com.avaje.ebean.config.dbplatform,
com.avaje.ebean.event,
com.avaje.ebean.meta,
com.avaje.ebean.text,
com.avaje.ebean.text.csv,
com.avaje.ebean.text.json,
com.avaje.ebean.util,
com.avaje.ebeaninternal.api,
com.avaje.ebeaninternal.jdbc,
com.avaje.ebeaninternal.server.autofetch,
com.avaje.ebeaninternal.server.cache,
com.avaje.ebeaninternal.server.cluster,
com.avaje.ebeaninternal.server.cluster.mcast,
com.avaje.ebeaninternal.server.cluster.socket,
com.avaje.ebeaninternal.server.core,
com.avaje.ebeaninternal.server.ddl,
com.avaje.ebeaninternal.server.deploy,
com.avaje.ebeaninternal.server.deploy.generatedproperty,
com.avaje.ebeaninternal.server.deploy.id,
com.avaje.ebeaninternal.server.deploy.meta,
com.avaje.ebeaninternal.server.deploy.parse,
com.avaje.ebeaninternal.server.el,
com.avaje.ebeaninternal.server.expression,
com.avaje.ebeaninternal.server.idgen,
com.avaje.ebeaninternal.server.jdbc,
com.avaje.ebeaninternal.server.jmx,
com.avaje.ebeaninternal.server.lib,
com.avaje.ebeaninternal.server.lib.resource,
com.avaje.ebeaninternal.server.lib.sql,
com.avaje.ebeaninternal.server.lib.thread,
com.avaje.ebeaninternal.server.lib.util,
com.avaje.ebeaninternal.server.loadcontext,
com.avaje.ebeaninternal.server.persist,
com.avaje.ebeaninternal.server.persist.dml,
com.avaje.ebeaninternal.server.persist.dmlbind,
com.avaje.ebeaninternal.server.query,
com.avaje.ebeaninternal.server.querydefn,
com.avaje.ebeaninternal.server.reflect,
com.avaje.ebeaninternal.server.resource,
com.avaje.ebeaninternal.server.text.csv,
com.avaje.ebeaninternal.server.text.json,
com.avaje.ebeaninternal.server.transaction,
com.avaje.ebeaninternal.server.type,
com.avaje.ebeaninternal.server.type.reflect,
com.avaje.ebeaninternal.server.util,
com.avaje.ebeaninternal.util
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
Require-Bundle:
org.slf4j.api;bundle-version="1.7.2",
com.springsource.org.joda.time;bundle-version="1.6.0"
Import-Package: javax.persistence;version="2.0.0"