Package org.apache.openjpa.persistence.annotations

Source Code of org.apache.openjpa.persistence.annotations.TestEntityOrderBy

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements.  See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership.  The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License.  You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied.  See the License for the
* specific language governing permissions and limitations
* under the License.   
*/
package org.apache.openjpa.persistence.annotations;

import java.util.*;

import org.apache.openjpa.persistence.OpenJPAEntityManager;

import
    org.apache.openjpa.persistence.annotations.common.apps.annotApp.annotype.*;
import org.apache.openjpa.persistence.test.AllowFailure;

/**
* <p>Test @OrderBy annotation support.</p>
*
* @author Abe White
*/
@AllowFailure(message="excluded")
public class TestEntityOrderBy extends AnnotationTestCase
{

  public TestEntityOrderBy(String name)
  {
    super(name, "annotationcactusapp");
  }

//    private ClassMetaData _meta;

    public void setUp()
    {
//        _meta = ((OpenJPAConfiguration) getConfiguration()).
//            getMetaDataRepositoryInstance().getMetaData(OrderByEntity.class,
//            null, true);
    }

/*   public void testEmptyOrderBy() {
        String dec = Order.ELEMENT + " asc";
        assertEquals(dec, _meta.getField("strings").getOrderDeclaration());
        assertEquals(dec, _meta.getField("pkRels").getOrderDeclaration());
    }

    public void testSpecifiedOrderBy() {
        assertEquals("string desc", _meta.getField("stringRels").
            getOrderDeclaration());
    }
*/
    public void testUse() {
        // note: functionality thoroughly tested in kodo.meta.TestOrderBy;
        // this is just a sanity check on JPA use
        deleteAll(OrderByEntity.class);

        OrderByEntity pc = new OrderByEntity();
        pc.setId(1L);
        pc.getStrings().add("2");
        pc.getStrings().add("1");
        pc.getStrings().add("3");

        OrderByEntity rel1 = new OrderByEntity();
        rel1.setId(102L);
        rel1.setString("2");
        OrderByEntity rel2 = new OrderByEntity();
        rel2.setId(101L);
        rel2.setString("1");
        OrderByEntity rel3 = new OrderByEntity();
        rel3.setId(103L);
        rel3.setString("3");
        pc.getPKRels().add(rel1);
        pc.getPKRels().add(rel2);
        pc.getPKRels().add(rel3);
        pc.getStringRels().add(rel1);
        pc.getStringRels().add(rel2);
        pc.getStringRels().add(rel3);

        OpenJPAEntityManager em = (OpenJPAEntityManager) currentEntityManager();
        startTx(em);
        em.persistAll(pc, rel1, rel2, rel3);
        endTx(em);
        endEm(em);

        em = (OpenJPAEntityManager) currentEntityManager();
        pc = em.find(OrderByEntity.class, 1L);
        List<String> strings = pc.getStrings();
        assertEquals("1", strings.get(0));
        assertEquals("2", strings.get(1));
        assertEquals("3", strings.get(2));

        List<OrderByEntity> pkRels = pc.getPKRels();
        assertEquals(101L, pkRels.get(0).getId());
        assertEquals(102L, pkRels.get(1).getId());
        assertEquals(103L, pkRels.get(2).getId());

        List<OrderByEntity> stringRels = pc.getStringRels();
        assertEquals("3", stringRels.get(0).getString());
        assertEquals("2", stringRels.get(1).getString());
        assertEquals("1", stringRels.get(2).getString());
        endEm(em);
    }
}
TOP

Related Classes of org.apache.openjpa.persistence.annotations.TestEntityOrderBy

TOP
Copyright © 2018 www.massapi.com. 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.