Ejemplo n.º 1
0
  // Test with a PathQuery and some dummy results, call method with a made up row,
  // create expected ResultElements.  Doesn't need too much testing as Path.resolve() is tested.
  public void testTranslateRow() throws Exception {
    PathQuery pq = new PathQuery(model);
    pq.addViews("Department.name", "Department.company.name", "Department.manager.name");
    Map<String, QuerySelectable> pathToQueryNode = new HashMap();
    Query query = MainHelper.makeQuery(pq, new HashMap(), pathToQueryNode, null, null);
    Results results = osd.execute(query);
    WebResults webResults = new WebResults(im, pq, results, pathToQueryNode, classKeys);
    List row1 = webResults.getResultElements(0);

    Department dept1 = new Department();
    dept1.setId(new Integer(4));
    dept1.setName("Department1");
    ResultElement res1 = new ResultElement(dept1, new Path(model, "Department.name"), false);

    Company c1 =
        (Company) DynamicUtil.instantiateObject("org.intermine.model.testmodel.Company", null);
    c1.setId(new Integer(1));
    c1.setName("Company1");
    ResultElement res2 = new ResultElement(c1, new Path(model, "Department.company.name"), false);

    Manager m1 = new Manager();
    m1.setId(new Integer(1));
    m1.setSeniority(new Integer(100));
    m1.setName("Manager1");
    ResultElement res3 = new ResultElement(m1, new Path(model, "Department.manager.name"), false);

    ResultsRow expected = new ResultsRow();
    expected.add(new MultiRowFirstValue(res1, 1));
    expected.add(new MultiRowFirstValue(res2, 1));
    expected.add(new MultiRowFirstValue(res3, 1));
    assertEquals(new MultiRow(Collections.singletonList(expected)), row1);
  }
Ejemplo n.º 2
0
  public void setUp() throws Exception {
    super.setUp();
    osd = new ObjectStoreDummyImpl();
    osd.setResultsSize(15);

    // Set up some known objects in the first 3 results rows
    department1 = new Department();
    department1.setName("Department1");
    department1.setId(new Integer(4));
    department2 = new Department();
    department2.setName("Department2");
    department2.setId(new Integer(5));
    department3 = new Department();
    department3.setName("Department3");
    department3.setId(new Integer(6));

    company1 = (Company) DynamicUtil.createObject(Collections.singleton(Company.class));
    company1.setName("Company1");
    company1.setVatNumber(101);
    company1.setId(new Integer(1));
    company2 = (Company) DynamicUtil.createObject(Collections.singleton(Company.class));
    company2.setName("Company2");
    company2.setVatNumber(102);
    company2.setId(new Integer(2));
    company3 = (Company) DynamicUtil.createObject(Collections.singleton(Company.class));
    company3.setName("Company3");
    company3.setVatNumber(103);
    company3.setId(new Integer(3));

    man1 = (Manager) DynamicUtil.createObject(Collections.singleton(Manager.class));
    man1.setName("Manager1");
    man1.setSeniority(new Integer(100));
    man1.setId(new Integer(1));
    man2 = (Manager) DynamicUtil.createObject(Collections.singleton(Manager.class));
    man2.setName("Manager2");
    man2.setSeniority(new Integer(200));
    man2.setId(new Integer(2));
    man3 = (CEO) DynamicUtil.createObject(Collections.singleton(CEO.class));
    man3.setName("Manager3");
    man3.setSeniority(new Integer(300));
    man3.setId(new Integer(3));
    man3.setCompany(company3);

    ResultsRow row = new ResultsRow();
    row.add(department1);
    row.add(company1);
    row.add(man1);
    osd.addRow(row);
    row = new ResultsRow();
    row.add(department2);
    row.add(company2);
    row.add(man2);
    osd.addRow(row);
    row = new ResultsRow();
    row.add(department3);
    row.add(company3);
    row.add(man3);
    osd.addRow(row);
    classKeys = new HashMap();
    FieldDescriptor fd =
        model
            .getClassDescriptorByName("org.intermine.model.testmodel.Company")
            .getFieldDescriptorByName("name");
    ArrayList<FieldDescriptor> keys = new ArrayList();
    keys.add(fd);
    classKeys.put("Company", keys);
  }
Ejemplo n.º 3
0
  public void testCreateBagTable() throws Exception {
    Collection bag = new HashSet();

    bag.add(new Integer(-10000));
    bag.add(new Integer(0));
    bag.add(new Integer(10000));
    bag.add(new Long(-10000));
    bag.add(new Long(0));
    bag.add(new Long(10000));
    bag.add(new Short((short) -10000));
    bag.add(new Short((short) 0));
    bag.add(new Short((short) 10000));
    bag.add(new BigDecimal(-10000.0));
    bag.add(new BigDecimal(0.0));
    bag.add(new BigDecimal(10000.0));
    bag.add(new Float(-10000.0));
    bag.add(new Float(0.0));
    bag.add(new Float(10000.0));
    bag.add(new Double(-10000.0));
    bag.add(new Double(0.0));
    bag.add(new Double(10000.0));
    bag.add(new String());
    bag.add(new String("a String with spaces"));
    bag.add(new String("123456"));
    bag.add(new String("123456.7"));
    bag.add(new Boolean(true));
    bag.add(new Boolean(false));
    bag.add(new Date(999999));
    bag.add(new Date(100));
    Employee employee = (Employee) DynamicUtil.createObject(Collections.singleton(Employee.class));
    employee.setId(new Integer(5000));
    bag.add(employee);
    Manager manager = (Manager) DynamicUtil.createObject(Collections.singleton(Manager.class));
    manager.setId(new Integer(5001));
    bag.add(manager);
    Company company = (Company) DynamicUtil.createObject(Collections.singleton(Company.class));
    company.setId(new Integer(6000));
    bag.add(company);

    // this shouldn't appear in any table
    bag.add(BigInteger.ONE);

    DatabaseUtil.createBagTable(db, con, "integer_table", bag, Integer.class);
    DatabaseUtil.createBagTable(db, con, "long_table", bag, Long.class);
    DatabaseUtil.createBagTable(db, con, "short_table", bag, Short.class);
    DatabaseUtil.createBagTable(db, con, "bigdecimal_table", bag, BigDecimal.class);
    DatabaseUtil.createBagTable(db, con, "float_table", bag, Float.class);
    DatabaseUtil.createBagTable(db, con, "double_table", bag, Double.class);
    DatabaseUtil.createBagTable(db, con, "string_table", bag, String.class);
    DatabaseUtil.createBagTable(db, con, "boolean_table", bag, Boolean.class);
    DatabaseUtil.createBagTable(db, con, "date_table", bag, Date.class);
    DatabaseUtil.createBagTable(db, con, "intermineobject_table", bag, InterMineObject.class);
    DatabaseUtil.createBagTable(db, con, "employee_table", bag, Employee.class);

    Statement s = con.createStatement();
    ResultSet r = s.executeQuery("SELECT value FROM integer_table");
    Set result = new HashSet();
    while (r.next()) {
      result.add(r.getObject(1));
    }

    Set expected = new HashSet();
    expected.add(new Integer(-10000));
    expected.add(new Integer(0));
    expected.add(new Integer(10000));

    assertEquals(expected, result);

    r = s.executeQuery("SELECT value FROM long_table");
    result = new HashSet();
    while (r.next()) {
      result.add(r.getObject(1));
    }

    expected = new HashSet();
    expected.add(new Long(-10000));
    expected.add(new Long(0));
    expected.add(new Long(10000));

    assertEquals(expected, result);

    r = s.executeQuery("SELECT value FROM short_table");
    result = new HashSet();
    while (r.next()) {
      result.add(r.getObject(1));
    }

    expected = new HashSet();
    expected.add(new Integer((short) -10000));
    expected.add(new Integer((short) 0));
    expected.add(new Integer((short) 10000));

    assertEquals(expected, result);

    r = s.executeQuery("SELECT value FROM double_table");
    result = new HashSet();
    while (r.next()) {
      result.add(r.getObject(1));
    }

    expected = new HashSet();
    expected.add(new Double(-10000.0));
    expected.add(new Double(0.));
    expected.add(new Double(10000.0));

    assertEquals(expected, result);

    r = s.executeQuery("SELECT value FROM float_table");
    result = new HashSet();
    while (r.next()) {
      result.add(r.getObject(1));
    }

    expected = new HashSet();
    expected.add(new Float(-10000.0));
    expected.add(new Float(0.));
    expected.add(new Float(10000.0));

    assertEquals(expected, result);

    r = s.executeQuery("SELECT value FROM string_table");
    result = new HashSet();
    while (r.next()) {
      result.add(r.getObject(1));
    }

    expected = new HashSet();
    expected.add(new String());
    expected.add(new String("a String with spaces"));
    expected.add(new String("123456"));
    expected.add(new String("123456.7"));

    assertEquals(expected, result);

    r = s.executeQuery("SELECT value FROM boolean_table");
    result = new HashSet();
    while (r.next()) {
      result.add(r.getObject(1));
    }

    expected = new HashSet();
    expected.add(new Boolean(true));
    expected.add(new Boolean(false));

    assertEquals(expected, result);

    r = s.executeQuery("SELECT value FROM date_table");
    result = new HashSet();
    while (r.next()) {
      result.add(r.getObject(1));
    }

    expected = new HashSet();
    expected.add(new Long(999999));
    expected.add(new Long(100));

    assertEquals(expected, result);

    r = s.executeQuery("SELECT value FROM intermineobject_table");
    result = new HashSet();
    while (r.next()) {
      result.add(r.getObject(1));
    }

    expected = new HashSet();
    expected.add(employee.getId());
    expected.add(manager.getId());
    expected.add(company.getId());

    assertEquals(expected, result);

    r = s.executeQuery("SELECT value FROM employee_table");
    result = new HashSet();
    while (r.next()) {
      result.add(r.getObject(1));
    }

    expected = new HashSet();
    expected.add(employee.getId());
    expected.add(manager.getId());

    assertEquals(expected, result);
  }