Package org.eclipse.persistence.dynamic

Examples of org.eclipse.persistence.dynamic.DynamicEntity


      DynamicType type  = getDynamicEntityType(clazz);

      if (type != null) {
        try {
          Map<String, Object> properties    = getEntityProperties(entity);
          DynamicEntity       dynamicEntity = em.getReference(type.getJavaClass(), properties.get(id));

          if (dynamicEntity != null) {
            em.getTransaction().begin();
            try {
              em.remove(dynamicEntity);
View Full Code Here


  public <T> T find(Class<T> clazz, Object primaryKey) throws PersistenceException {
    checkInitialize();

    EntityManager em = getEntityManager();
    try {
      DynamicEntity dynamicEntity = null;
      DynamicType   type          = getDynamicEntityType(clazz);

      if (type != null) {
        dynamicEntity = em.find(type.getJavaClass(), primaryKey);
      }
View Full Code Here

  // persist the given view entity to the entity manager and
  // return the corresponding dynamic entity
  private DynamicEntity persistEntity(Object entity, EntityManager em, Set<DynamicEntity> persistSet)
      throws PersistenceException, IntrospectionException, InvocationTargetException,
      IllegalAccessException, NoSuchFieldException {
    DynamicEntity dynamicEntity  = null;
    Class         clazz          = entity.getClass();
    String        id             = getIdFieldName(clazz);

    Map<String, Object> properties = getEntityProperties(entity);

    DynamicType type = getDynamicEntityType(clazz);

    if (type != null) {
      dynamicEntity  = em.find(type.getJavaClass(), properties.get(id));

      boolean create = dynamicEntity == null;

      if (create) {
        dynamicEntity = type.newDynamicEntity();
      }

      // has this entity already been accounted for?
      if (persistSet.contains(dynamicEntity)) {
        return dynamicEntity;
      }

      persistSet.add(dynamicEntity);

      for (String propertyName : type.getPropertiesNames()) {
        if (properties.containsKey(propertyName)) {
          Object value = properties.get(propertyName);
          if (value != null) {
            Class<?> valueClass = value.getClass();

            if (Collection.class.isAssignableFrom(valueClass)) {

              Class<?>           typeClass  = getParameterizedTypeClass(clazz, propertyName);
              Collection<Object> collection = dynamicEntity.get(propertyName);

              collection.clear();

              for (Object collectionValue : (Collection) value) {

                if (getDynamicEntityType(typeClass)!= null ) {
                  collectionValue = persistEntity(collectionValue, em, persistSet);
                }
                if (collectionValue != null) {
                  collection.add(collectionValue);
                }
              }
            } else {
              if (getDynamicEntityType(valueClass)!= null ) {
                value = persistEntity(value, em, persistSet);
              }
              if (value != null) {
                dynamicEntity.set(propertyName, value);
              }
            }
          }
        }
      }
View Full Code Here

    EntityManagerFactory entityManagerFactory = createMock(EntityManagerFactory.class);
    EntityManager entityManager = createMock(EntityManager.class);
    JPADynamicHelper jpaDynamicHelper = createNiceMock(JPADynamicHelper.class);
    SchemaManager schemaManager = createNiceMock(SchemaManager.class);
    EntityTransaction transaction = createMock(EntityTransaction.class);
    DynamicEntity dynamicEntity = createMock(DynamicEntity.class);

    // set expectations
    Capture<DynamicType> typeCapture = new Capture<DynamicType>();
    jpaDynamicHelper.addTypes(eq(true), eq(true), capture(typeCapture));

    expect(entityManagerFactory.createEntityManager()).andReturn(entityManager);
    expect(entityManager.getTransaction()).andReturn(transaction).anyTimes();

    Capture<Class> entityClassCapture = new Capture<Class>();
    expect(entityManager.find(capture(entityClassCapture), eq(99))).andReturn(dynamicEntity);
    entityManager.close();

    expect(dynamicEntity.set("id", 99)).andReturn(dynamicEntity);
    expect(dynamicEntity.set("name", "foo")).andReturn(dynamicEntity);

    transaction.begin();
    transaction.commit();

    // replay mocks
View Full Code Here

    EntityManagerFactory entityManagerFactory = createMock(EntityManagerFactory.class);
    EntityManager entityManager = createMock(EntityManager.class);
    JPADynamicHelper jpaDynamicHelper = createNiceMock(JPADynamicHelper.class);
    SchemaManager schemaManager = createNiceMock(SchemaManager.class);
    EntityTransaction transaction = createMock(EntityTransaction.class);
    DynamicEntity dynamicEntity = createMock(DynamicEntity.class);

    // set expectations
    Capture<DynamicType> typeCapture = new Capture<DynamicType>();
    jpaDynamicHelper.addTypes(eq(true), eq(true), capture(typeCapture));
View Full Code Here

    // create mocks
    EntityManagerFactory entityManagerFactory = createMock(EntityManagerFactory.class);
    EntityManager entityManager = createMock(EntityManager.class);
    JPADynamicHelper jpaDynamicHelper = createNiceMock(JPADynamicHelper.class);
    SchemaManager schemaManager = createNiceMock(SchemaManager.class);
    DynamicEntity dynamicEntity = createMock(DynamicEntity.class);

    // set expectations
    Capture<DynamicType> typeCapture = new Capture<DynamicType>();
    jpaDynamicHelper.addTypes(eq(true), eq(true), capture(typeCapture));

    expect(entityManagerFactory.createEntityManager()).andReturn(entityManager);
    Capture<Class> entityClassCapture = new Capture<Class>();
    expect(entityManager.find(capture(entityClassCapture), eq(99))).andReturn(dynamicEntity);
    entityManager.close();

    expect(dynamicEntity.get("id")).andReturn(99);
    expect(dynamicEntity.get("name")).andReturn("foo");

    // replay mocks
    replay(entityManagerFactory, entityManager, jpaDynamicHelper, dynamicEntity, schemaManager);

    DataStoreImpl dataStore = getDataStore(entityManagerFactory, jpaDynamicHelper, classLoader, schemaManager);
View Full Code Here

    // create mocks
    EntityManagerFactory entityManagerFactory = createMock(EntityManagerFactory.class);
    EntityManager entityManager = createMock(EntityManager.class);
    JPADynamicHelper jpaDynamicHelper = createNiceMock(JPADynamicHelper.class);
    SchemaManager schemaManager = createNiceMock(SchemaManager.class);
    DynamicEntity dynamicEntity = createMock(DynamicEntity.class);
    Query query = createMock(Query.class);

    // set expectations
    Capture<DynamicType> typeCapture = new Capture<DynamicType>();
    jpaDynamicHelper.addTypes(eq(true), eq(true), capture(typeCapture));

    expect(entityManagerFactory.createEntityManager()).andReturn(entityManager);
    expect(entityManager.createQuery(
        "SELECT e FROM DataStoreImplTest$TestEntity1 e WHERE e.id=99")).andReturn(query);
    entityManager.close();

    expect(query.getResultList()).andReturn(Collections.singletonList(dynamicEntity));

    expect(dynamicEntity.get("id")).andReturn(99);
    expect(dynamicEntity.get("name")).andReturn("foo");

    // replay mocks
    replay(entityManagerFactory, entityManager, jpaDynamicHelper, dynamicEntity, query, schemaManager);

    DataStoreImpl dataStore = getDataStore(entityManagerFactory, jpaDynamicHelper, classLoader, schemaManager);
View Full Code Here

    // create mocks
    EntityManagerFactory entityManagerFactory = createMock(EntityManagerFactory.class);
    EntityManager entityManager = createMock(EntityManager.class);
    JPADynamicHelper jpaDynamicHelper = createNiceMock(JPADynamicHelper.class);
    SchemaManager schemaManager = createNiceMock(SchemaManager.class);
    DynamicEntity dynamicEntity1 = createMock(DynamicEntity.class);
    DynamicEntity dynamicEntity2 = createMock(DynamicEntity.class);
    DynamicEntity dynamicEntity3 = createMock(DynamicEntity.class);
    Query query = createMock(Query.class);

    // set expectations
    Capture<DynamicType> typeCapture = new Capture<DynamicType>();
    jpaDynamicHelper.addTypes(eq(true), eq(true), capture(typeCapture));

    expect(entityManagerFactory.createEntityManager()).andReturn(entityManager);
    expect(entityManager.createQuery(
        "SELECT e FROM DataStoreImplTest$TestEntity1 e WHERE e.name='foo'")).andReturn(query);
    entityManager.close();

    List<DynamicEntity> entityList = new LinkedList<DynamicEntity>();
    entityList.add(dynamicEntity1);
    entityList.add(dynamicEntity2);
    entityList.add(dynamicEntity3);

    expect(query.getResultList()).andReturn(entityList);

    expect(dynamicEntity1.get("id")).andReturn(99);
    expect(dynamicEntity1.get("name")).andReturn("foo");

    expect(dynamicEntity2.get("id")).andReturn(100);
    expect(dynamicEntity2.get("name")).andReturn("foo");

    expect(dynamicEntity3.get("id")).andReturn(101);
    expect(dynamicEntity3.get("name")).andReturn("foo");

    // replay mocks
    replay(entityManagerFactory, entityManager, jpaDynamicHelper,
        dynamicEntity1, dynamicEntity2, dynamicEntity3, query, schemaManager);
View Full Code Here

     * @param type
     * @return
     */
    public DynamicEntity newEntity(Map<String, String> tenantId, String type) {
        JPADynamicHelper helper = new JPADynamicHelper(getEmf());
        DynamicEntity entity = null;
        try{
            entity = helper.newDynamicEntity(type);
        } catch (IllegalArgumentException e){
            ClassDescriptor descriptor = getDescriptor(type);
            if (descriptor != null){
View Full Code Here

     * @param type
     * @return
     */
    public DynamicEntity newEntity(Map<String, String> tenantId, String type) {
        JPADynamicHelper helper = new JPADynamicHelper(getEmf());
        DynamicEntity entity = null;
        try{
            entity = helper.newDynamicEntity(type);
        } catch (IllegalArgumentException e){
            ClassDescriptor descriptor = getDescriptor(type);
            if (descriptor != null){
View Full Code Here

TOP

Related Classes of org.eclipse.persistence.dynamic.DynamicEntity

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.