public void testGetDataFactoryForName_freeform() {
    final DefaultDataFactoryMetaData metadata =
        new DefaultDataFactoryMetaData(
            MockDataFactory.class.getName(),
            "", //$NON-NLS-1$
            "", //$NON-NLS-1$
            false,
            false,
            false,
            false,
            false,
            true, // freeform
            false,
            false,
            new DefaultDataFactoryCore(),
            -1);

    try {
      final String queryName = "test"; // $NON-NLS-1$
      final CompoundDataFactory cdf = new CompoundDataFactory();
      cdf.add(new MockDataFactory(queryName));

      DataFactoryRegistry.getInstance().register(metadata);

      assertTrue(DataFactoryRegistry.getInstance().isRegistered(MockDataFactory.class.getName()));
      assertEquals(1, cdf.getQueryNames().length);
      assertNotNull(
          "Could not find DataFactory for query",
          cdf.getDataFactoryForQuery(queryName)); // $NON-NLS-1$
    } finally {
      DataFactoryRegistry.getInstance().unregister(metadata);
    }
  }
  public void testGetDataFactoryForName_no_metadata() {
    try {
      final String queryName = "test"; // $NON-NLS-1$
      final CompoundDataFactory cdf = new CompoundDataFactory();
      cdf.add(new MockDataFactory(queryName));

      assertFalse(DataFactoryRegistry.getInstance().isRegistered(MockDataFactory.class.getName()));
      assertEquals(1, cdf.getQueryNames().length);
      cdf.getDataFactoryForQuery(queryName);
      fail();
    } catch (MetaDataLookupException e) {
      // we no longer allow data-factories without metadata in the system.
      // e.printStackTrace();
    }
  }