Search in sources :

Example 21 with DynamicClassLoader

use of org.eclipse.persistence.dynamic.DynamicClassLoader in project eclipselink by eclipse-ee4j.

the class DynamicEmployeeSystem method buildProject.

public static DynamicEmployeeSystem buildProject(DynamicHelper dynamicHelper) {
    DynamicClassLoader dcl = dynamicHelper.getDynamicClassLoader();
    Class<?> employeeClass = dcl.createDynamicClass(PACKAGE_PREFIX + ".Employee");
    Class<?> addressClass = dcl.createDynamicClass(PACKAGE_PREFIX + ".Address");
    Class<?> phoneClass = dcl.createDynamicClass(PACKAGE_PREFIX + ".PhoneNumber");
    Class<?> periodClass = dcl.createDynamicClass(PACKAGE_PREFIX + ".EmploymentPeriod");
    Class<?> projectClass = dcl.createDynamicClass(PACKAGE_PREFIX + ".Project");
    JPADynamicTypeBuilder employee = new JPADynamicTypeBuilder(employeeClass, null, "D_EMPLOYEE", "D_SALARY");
    JPADynamicTypeBuilder address = new JPADynamicTypeBuilder(addressClass, null, "D_ADDRESS");
    JPADynamicTypeBuilder phone = new JPADynamicTypeBuilder(phoneClass, null, "D_PHONE");
    JPADynamicTypeBuilder period = new JPADynamicTypeBuilder(periodClass, null);
    JPADynamicTypeBuilder project = new JPADynamicTypeBuilder(projectClass, null, "D_PROJECT");
    configureAddress(address);
    configureEmployee(employee, address, phone, period, project);
    configurePhone(phone, employee);
    configurePeriod(period);
    configureProject(project, employee);
    employee.addManyToManyMapping("projects", project.getType(), "D_PROJ_EMP");
    dynamicHelper.addTypes(true, true, employee.getType(), address.getType(), phone.getType(), period.getType(), project.getType());
    return new DynamicEmployeeSystem();
}
Also used : DynamicClassLoader(org.eclipse.persistence.dynamic.DynamicClassLoader) JPADynamicTypeBuilder(org.eclipse.persistence.jpa.dynamic.JPADynamicTypeBuilder)

Example 22 with DynamicClassLoader

use of org.eclipse.persistence.dynamic.DynamicClassLoader in project eclipselink by eclipse-ee4j.

the class TableSequencingTestSuite method setUp.

@BeforeClass
public static void setUp() {
    emf = DynamicTestHelper.createEMF(DYNAMIC_PERSISTENCE_NAME);
    helper = new JPADynamicHelper(emf);
    DynamicClassLoader dcl = helper.getDynamicClassLoader();
    TableSequence sequence = new TableSequence();
    sequence.setTableName("TEST_SEQ");
    sequence.setCounterFieldName("SEQ_VALUE");
    sequence.setNameFieldName("SEQ_NAME");
    sequence.setPreallocationSize(5);
    helper.getSession().getProject().getLogin().setDefaultSequence(sequence);
    sequence.onConnect(helper.getSession().getPlatform());
    Class<?> javaType = dcl.createDynamicClass("model.sequencing." + ENTITY_TYPE);
    DynamicTypeBuilder typeBuilder = new JPADynamicTypeBuilder(javaType, null, TABLE_NAME);
    typeBuilder.setPrimaryKeyFields("SID");
    typeBuilder.addDirectMapping("id", int.class, "SID");
    typeBuilder.addDirectMapping("value1", String.class, "VAL_1");
    typeBuilder.configureSequencing(sequence, ENTITY_TYPE + "_SEQ", "SID");
    helper.addTypes(true, true, typeBuilder.getType());
}
Also used : DynamicClassLoader(org.eclipse.persistence.dynamic.DynamicClassLoader) JPADynamicTypeBuilder(org.eclipse.persistence.jpa.dynamic.JPADynamicTypeBuilder) JPADynamicTypeBuilder(org.eclipse.persistence.jpa.dynamic.JPADynamicTypeBuilder) DynamicTypeBuilder(org.eclipse.persistence.dynamic.DynamicTypeBuilder) JPADynamicHelper(org.eclipse.persistence.jpa.dynamic.JPADynamicHelper) TableSequence(org.eclipse.persistence.sequencing.TableSequence) BeforeClass(org.junit.BeforeClass)

Example 23 with DynamicClassLoader

use of org.eclipse.persistence.dynamic.DynamicClassLoader in project eclipselink by eclipse-ee4j.

the class SimpleTypes_ManyToMany method setUp.

@BeforeClass
public static void setUp() {
    emf = DynamicTestHelper.createEMF(DYNAMIC_PERSISTENCE_NAME);
    helper = new JPADynamicHelper(emf);
    DynamicClassLoader dcl = helper.getDynamicClassLoader();
    Class<?> simpleTypeA = dcl.createDynamicClass("model.SimpleA");
    DynamicTypeBuilder aFactory = new JPADynamicTypeBuilder(simpleTypeA, null, "SIMPLE_TYPE_A");
    aFactory.setPrimaryKeyFields("SID");
    Class<?> simpleTypeB = dcl.createDynamicClass("model.SimpleB");
    DynamicTypeBuilder bFactory = new JPADynamicTypeBuilder(simpleTypeB, null, "SIMPLE_TYPE_B");
    bFactory.setPrimaryKeyFields("SID");
    bFactory.addDirectMapping("id", int.class, "SID");
    bFactory.addDirectMapping("value1", String.class, "VAL_1");
    bFactory.addOneToOneMapping("a", aFactory.getType(), "A_FK");
    aFactory.addDirectMapping("id", int.class, "SID");
    aFactory.addDirectMapping("value1", String.class, "VAL_1");
    aFactory.addManyToManyMapping("b", bFactory.getType(), "SIMPLE_A_B");
    helper.addTypes(true, true, aFactory.getType(), bFactory.getType());
}
Also used : DynamicClassLoader(org.eclipse.persistence.dynamic.DynamicClassLoader) JPADynamicTypeBuilder(org.eclipse.persistence.jpa.dynamic.JPADynamicTypeBuilder) JPADynamicTypeBuilder(org.eclipse.persistence.jpa.dynamic.JPADynamicTypeBuilder) DynamicTypeBuilder(org.eclipse.persistence.dynamic.DynamicTypeBuilder) JPADynamicHelper(org.eclipse.persistence.jpa.dynamic.JPADynamicHelper) BeforeClass(org.junit.BeforeClass)

Example 24 with DynamicClassLoader

use of org.eclipse.persistence.dynamic.DynamicClassLoader in project eclipselink by eclipse-ee4j.

the class SimpleTypeCompositeKeyTestSuite method setUp.

@BeforeClass
public static void setUp() throws Exception {
    emf = DynamicTestHelper.createEMF(DYNAMIC_PERSISTENCE_NAME);
    helper = new JPADynamicHelper(emf);
    DynamicClassLoader dcl = helper.getDynamicClassLoader();
    Class<?> javaType = dcl.createDynamicClass("model.Simple");
    DynamicTypeBuilder typeBuilder = new JPADynamicTypeBuilder(javaType, null, "SIMPLE_TYPE");
    typeBuilder.setPrimaryKeyFields("SID1", "SID2");
    typeBuilder.addDirectMapping("id1", int.class, "SID1");
    typeBuilder.addDirectMapping("id2", int.class, "SID2");
    typeBuilder.addDirectMapping("value1", String.class, "VAL_1");
    typeBuilder.addDirectMapping("value2", boolean.class, "VAL_2");
    typeBuilder.addDirectMapping("value3", Calendar.class, "VAL_3");
    typeBuilder.addDirectMapping("value4", Character.class, "VAL_4");
    helper.addTypes(true, true, typeBuilder.getType());
    simpleType = helper.getType("Simple");
}
Also used : DynamicClassLoader(org.eclipse.persistence.dynamic.DynamicClassLoader) JPADynamicTypeBuilder(org.eclipse.persistence.jpa.dynamic.JPADynamicTypeBuilder) JPADynamicTypeBuilder(org.eclipse.persistence.jpa.dynamic.JPADynamicTypeBuilder) DynamicTypeBuilder(org.eclipse.persistence.dynamic.DynamicTypeBuilder) JPADynamicHelper(org.eclipse.persistence.jpa.dynamic.JPADynamicHelper) BeforeClass(org.junit.BeforeClass)

Example 25 with DynamicClassLoader

use of org.eclipse.persistence.dynamic.DynamicClassLoader in project eclipselink by eclipse-ee4j.

the class SimpleTypes_AggregateObject method setUp.

@BeforeClass
public static void setUp() {
    emf = DynamicTestHelper.createEMF(DYNAMIC_PERSISTENCE_NAME);
    helper = new JPADynamicHelper(emf);
    DynamicClassLoader dcl = helper.getDynamicClassLoader();
    Class<?> simpleTypeB = dcl.createDynamicClass("model.SimpleB");
    JPADynamicTypeBuilder bFactory = new JPADynamicTypeBuilder(simpleTypeB, null);
    bFactory.addDirectMapping("value2", boolean.class, "VAL_2");
    bFactory.addDirectMapping("value3", String.class, "VAL_3");
    Class<?> simpleTypeC = dcl.createDynamicClass("model.SimpleC");
    JPADynamicTypeBuilder cFactory = new JPADynamicTypeBuilder(simpleTypeC, null);
    cFactory.addDirectMapping("value4", double.class, "VAL_4");
    cFactory.addDirectMapping("value5", String.class, "VAL_5");
    Class<?> simpleTypeA = dcl.createDynamicClass("model.SimpleA");
    JPADynamicTypeBuilder aFactory = new JPADynamicTypeBuilder(simpleTypeA, null, "SIMPLE_TYPE_A");
    aFactory.setPrimaryKeyFields("SID");
    aFactory.addDirectMapping("id", int.class, "SID");
    aFactory.addDirectMapping("value1", String.class, "VAL_1");
    aFactory.addAggregateObjectMapping("b", bFactory.getType(), true);
    aFactory.addAggregateObjectMapping("c", cFactory.getType(), false);
    helper.addTypes(true, true, aFactory.getType(), bFactory.getType(), cFactory.getType());
}
Also used : DynamicClassLoader(org.eclipse.persistence.dynamic.DynamicClassLoader) JPADynamicTypeBuilder(org.eclipse.persistence.jpa.dynamic.JPADynamicTypeBuilder) JPADynamicHelper(org.eclipse.persistence.jpa.dynamic.JPADynamicHelper) BeforeClass(org.junit.BeforeClass)

Aggregations

DynamicClassLoader (org.eclipse.persistence.dynamic.DynamicClassLoader)58 BeforeClass (org.junit.BeforeClass)27 DynamicTypeBuilder (org.eclipse.persistence.dynamic.DynamicTypeBuilder)26 DynamicHelper (org.eclipse.persistence.dynamic.DynamicHelper)17 Test (org.junit.Test)17 JPADynamicHelper (org.eclipse.persistence.jpa.dynamic.JPADynamicHelper)15 JPADynamicTypeBuilder (org.eclipse.persistence.jpa.dynamic.JPADynamicTypeBuilder)13 HashMap (java.util.HashMap)7 DynamicEntity (org.eclipse.persistence.dynamic.DynamicEntity)6 DynamicType (org.eclipse.persistence.dynamic.DynamicType)5 IOException (java.io.IOException)4 TableSequence (org.eclipse.persistence.sequencing.TableSequence)4 EntityManager (jakarta.persistence.EntityManager)3 EntityManagerFactory (jakarta.persistence.EntityManagerFactory)3 ArrayList (java.util.ArrayList)3 Map (java.util.Map)3 ClassDescriptor (org.eclipse.persistence.descriptors.ClassDescriptor)3 Project (org.eclipse.persistence.sessions.Project)3 EclipseLinkClassWriter (org.eclipse.persistence.dynamic.EclipseLinkClassWriter)2 DescriptorException (org.eclipse.persistence.exceptions.DescriptorException)2