use of org.jboss.tools.hibernate.runtime.v_5_4.internal.ConfigurationFacadeImpl in project jbosstools-hibernate by jbosstools.
the class ConfigurationMetadataDescriptor method patch.
private Metadata patch(Metadata metadata) {
try {
if (metadata instanceof MetadataImpl) {
MetadataImpl metadataImpl = (MetadataImpl) metadata;
Field entityBindingMapField = metadataImpl.getClass().getDeclaredField("entityBindingMap");
if (entityBindingMapField != null) {
entityBindingMapField.setAccessible(true);
Object object = entityBindingMapField.get(metadataImpl);
if (object instanceof HashMap<?, ?>) {
@SuppressWarnings("unchecked") HashMap<String, PersistentClass> map = (HashMap<String, PersistentClass>) object;
for (IPersistentClass ipc : ((ConfigurationFacadeImpl) this.configurationFacade).getAddedClasses()) {
PersistentClass pc = (PersistentClass) ((IFacade) ipc).getTarget();
map.put(pc.getEntityName(), pc);
}
}
}
}
return metadata;
} catch (Throwable t) {
throw new RuntimeException("Problem while creating metadata", t);
}
}
use of org.jboss.tools.hibernate.runtime.v_5_4.internal.ConfigurationFacadeImpl in project jbosstools-hibernate by jbosstools.
the class ConfigurationMetadataDescriptor method patch.
private Metadata patch(Metadata metadata) {
try {
if (metadata instanceof MetadataImpl) {
MetadataImpl metadataImpl = (MetadataImpl) metadata;
Field entityBindingMapField = metadataImpl.getClass().getDeclaredField("entityBindingMap");
if (entityBindingMapField != null) {
entityBindingMapField.setAccessible(true);
Object object = entityBindingMapField.get(metadataImpl);
if (object instanceof HashMap<?, ?>) {
@SuppressWarnings("unchecked") HashMap<String, PersistentClass> map = (HashMap<String, PersistentClass>) object;
for (IPersistentClass ipc : ((ConfigurationFacadeImpl) this.configuration).getAddedClasses()) {
PersistentClass pc = (PersistentClass) ((IFacade) ipc).getTarget();
map.put(pc.getEntityName(), pc);
}
}
}
}
return metadata;
} catch (Throwable t) {
throw new RuntimeException("Problem while creating metadata", t);
}
}
use of org.jboss.tools.hibernate.runtime.v_5_4.internal.ConfigurationFacadeImpl in project jbosstools-hibernate by jbosstools.
the class ConfigurationMetadataDescriptorTest method testCreateMetadata.
@Test
public void testCreateMetadata() {
MetadataSources metadataSources = new MetadataSources();
metadataSources.addInputStream(new ByteArrayInputStream(TEST_HBM_XML_STRING.getBytes()));
Configuration configuration = new Configuration(metadataSources);
configuration.setProperty(AvailableSettings.DIALECT, MockDialect.class.getName());
configuration.setProperty(AvailableSettings.CONNECTION_PROVIDER, MockConnectionProvider.class.getName());
configurationFacade = new ConfigurationFacadeImpl(FACADE_FACTORY, configuration);
PersistentClass persistentClass = new RootClass(null);
persistentClass.setEntityName("Bar");
IPersistentClass persistentClassFacade = FACADE_FACTORY.createPersistentClass(persistentClass);
configurationFacade.addClass(persistentClassFacade);
configurationMetadataDescriptor = new ConfigurationMetadataDescriptor(configurationFacade);
Metadata metadata = configurationMetadataDescriptor.createMetadata();
assertNotNull(metadata.getEntityBinding(Foo.class.getName()));
assertNotNull(metadata.getEntityBinding("Bar"));
}
use of org.jboss.tools.hibernate.runtime.v_5_4.internal.ConfigurationFacadeImpl in project jbosstools-hibernate by jbosstools.
the class ConfigurationFacadeTest method testReadFromJDBC.
@Test
public void testReadFromJDBC() throws Exception {
Connection connection = DriverManager.getConnection("jdbc:h2:mem:test");
Statement statement = connection.createStatement();
statement.execute("CREATE TABLE FOO(id int primary key, bar varchar(255))");
JdbcMetadataConfiguration jdbcMdCfg = new JdbcMetadataConfiguration();
jdbcMdCfg.setProperty("hibernate.connection.url", "jdbc:h2:mem:test");
configurationFacade = new ConfigurationFacadeImpl(FACADE_FACTORY, jdbcMdCfg);
Metadata metadata = jdbcMdCfg.getMetadata();
assertNull(metadata);
jdbcMdCfg = new JdbcMetadataConfiguration();
jdbcMdCfg.setProperty("hibernate.connection.url", "jdbc:h2:mem:test");
configurationFacade = new ConfigurationFacadeImpl(FACADE_FACTORY, jdbcMdCfg);
configurationFacade.readFromJDBC();
metadata = jdbcMdCfg.getMetadata();
Iterator<PersistentClass> iterator = metadata.getEntityBindings().iterator();
PersistentClass persistentClass = iterator.next();
assertEquals("Foo", persistentClass.getClassName());
statement.execute("DROP TABLE FOO");
statement.close();
connection.close();
}
use of org.jboss.tools.hibernate.runtime.v_5_4.internal.ConfigurationFacadeImpl in project jbosstools-hibernate by jbosstools.
the class ExporterFacadeTest method testSetConfiguration.
@Test
public void testSetConfiguration() throws Exception {
exporterTarget = new HibernateConfigurationExporter();
exporterFacade = new ExporterFacadeImpl(FACADE_FACTORY, exporterTarget);
Properties properties = new Properties();
Configuration configurationTarget = new Configuration();
configurationTarget.setProperties(properties);
ConfigurationFacadeImpl configurationFacade1 = new ConfigurationFacadeImpl(FACADE_FACTORY, configurationTarget);
exporterFacade.setConfiguration(configurationFacade1);
assertSame(properties, ((HibernateConfigurationExporter) exporterTarget).getCustomProperties());
Field metadataDescriptorField = AbstractExporter.class.getDeclaredField("metadataDescriptor");
metadataDescriptorField.setAccessible(true);
ConfigurationMetadataDescriptor configurationMetadataDescriptor = (ConfigurationMetadataDescriptor) metadataDescriptorField.get(exporterTarget);
assertNotNull(configurationMetadataDescriptor);
Field configurationFacadeField = ConfigurationMetadataDescriptor.class.getDeclaredField("configuration");
configurationFacadeField.setAccessible(true);
ConfigurationFacadeImpl configurationFacade2 = (ConfigurationFacadeImpl) configurationFacadeField.get(configurationMetadataDescriptor);
assertNotNull(configurationFacade2);
assertSame(configurationFacade1, configurationFacade2);
}
Aggregations