Search in sources :

Example 6 with IClassMetadata

use of org.jboss.tools.hibernate.runtime.spi.IClassMetadata in project jbosstools-hibernate by jbosstools.

the class HSearchServiceImpl method getIndexedTypes.

@Override
public Set<Class<?>> getIndexedTypes(ISessionFactory sessionFactory) {
    Map<String, IClassMetadata> meta = sessionFactory.getAllClassMetadata();
    Set<Class<?>> entities = new HashSet<Class<?>>();
    for (String entity : new TreeSet<String>(meta.keySet())) {
        Class<?> entityClass = meta.get(entity).getMappedClass();
        Annotation[] annotations = entityClass.getAnnotations();
        for (Annotation annotation : annotations) {
            if (Indexed.class.isAssignableFrom(annotation.annotationType())) {
                entities.add(entityClass);
                break;
            }
        }
    }
    return entities;
}
Also used : TreeSet(java.util.TreeSet) IClassMetadata(org.jboss.tools.hibernate.runtime.spi.IClassMetadata) Annotation(java.lang.annotation.Annotation) HashSet(java.util.HashSet)

Example 7 with IClassMetadata

use of org.jboss.tools.hibernate.runtime.spi.IClassMetadata in project jbosstools-hibernate by jbosstools.

the class SessionFactoryFacadeImpl method initializeAllClassMetadata.

@Override
protected void initializeAllClassMetadata() {
    SessionFactoryImplementor sessionFactory = (SessionFactoryImplementor) getTarget();
    MetamodelImplementor metamodel = sessionFactory.getMetamodel();
    Map<String, EntityPersister> entityPersisters = metamodel.entityPersisters();
    allClassMetadata = new HashMap<String, IClassMetadata>(entityPersisters.size());
    for (Entry<String, EntityPersister> entry : entityPersisters.entrySet()) {
        allClassMetadata.put((String) entry.getKey(), getFacadeFactory().createClassMetadata(entry.getValue()));
    }
}
Also used : EntityPersister(org.hibernate.persister.entity.EntityPersister) MetamodelImplementor(org.hibernate.metamodel.spi.MetamodelImplementor) SessionFactoryImplementor(org.hibernate.engine.spi.SessionFactoryImplementor) IClassMetadata(org.jboss.tools.hibernate.runtime.spi.IClassMetadata)

Example 8 with IClassMetadata

use of org.jboss.tools.hibernate.runtime.spi.IClassMetadata in project jbosstools-hibernate by jbosstools.

the class SessionFactoryFacadeImpl method initializeAllClassMetadata.

@Override
protected void initializeAllClassMetadata() {
    SessionFactoryImplementor sessionFactory = (SessionFactoryImplementor) getTarget();
    MetamodelImplementor metamodel = sessionFactory.getMetamodel();
    Map<String, EntityPersister> entityPersisters = metamodel.entityPersisters();
    allClassMetadata = new HashMap<String, IClassMetadata>(entityPersisters.size());
    for (Entry<String, EntityPersister> entry : entityPersisters.entrySet()) {
        allClassMetadata.put((String) entry.getKey(), getFacadeFactory().createClassMetadata(entry.getValue()));
    }
}
Also used : EntityPersister(org.hibernate.persister.entity.EntityPersister) MetamodelImplementor(org.hibernate.metamodel.spi.MetamodelImplementor) SessionFactoryImplementor(org.hibernate.engine.spi.SessionFactoryImplementor) IClassMetadata(org.jboss.tools.hibernate.runtime.spi.IClassMetadata)

Example 9 with IClassMetadata

use of org.jboss.tools.hibernate.runtime.spi.IClassMetadata in project jbosstools-hibernate by jbosstools.

the class FacadeFactoryTest method testCreateClassMetadata.

@Test
public void testCreateClassMetadata() {
    ClassMetadata classMetadata = (ClassMetadata) Proxy.newProxyInstance(facadeFactory.getClassLoader(), new Class[] { ClassMetadata.class }, new TestInvocationHandler());
    IClassMetadata facade = facadeFactory.createClassMetadata(classMetadata);
    Assert.assertSame(classMetadata, ((IFacade) facade).getTarget());
}
Also used : ClassMetadata(org.hibernate.metadata.ClassMetadata) IClassMetadata(org.jboss.tools.hibernate.runtime.spi.IClassMetadata) IClassMetadata(org.jboss.tools.hibernate.runtime.spi.IClassMetadata) PersistentClass(org.hibernate.mapping.PersistentClass) RootClass(org.hibernate.mapping.RootClass) IPersistentClass(org.jboss.tools.hibernate.runtime.spi.IPersistentClass) POJOClass(org.hibernate.tool.hbm2x.pojo.POJOClass) IPOJOClass(org.jboss.tools.hibernate.runtime.spi.IPOJOClass) Test(org.junit.Test)

Example 10 with IClassMetadata

use of org.jboss.tools.hibernate.runtime.spi.IClassMetadata in project jbosstools-hibernate by jbosstools.

the class SessionFactoryFacadeTest method testGetAllClassMetadata.

@Test
public void testGetAllClassMetadata() throws Exception {
    Configuration configuration = new Configuration();
    SessionFactory sessionFactory = configuration.buildSessionFactory();
    ISessionFactory sessionFactoryFacade = FACADE_FACTORY.createSessionFactory(sessionFactory);
    Assert.assertTrue(sessionFactoryFacade.getAllClassMetadata().isEmpty());
    sessionFactory.close();
    configuration.addClass(Foo.class);
    sessionFactory = configuration.buildSessionFactory();
    sessionFactoryFacade = FACADE_FACTORY.createSessionFactory(sessionFactory);
    Map<String, IClassMetadata> allClassMetaData = sessionFactoryFacade.getAllClassMetadata();
    Assert.assertNotNull(allClassMetaData.get("org.jboss.tools.hibernate.runtime.v_3_5.internal.test.Foo"));
}
Also used : ISessionFactory(org.jboss.tools.hibernate.runtime.spi.ISessionFactory) SessionFactory(org.hibernate.SessionFactory) Configuration(org.hibernate.cfg.Configuration) ISessionFactory(org.jboss.tools.hibernate.runtime.spi.ISessionFactory) IClassMetadata(org.jboss.tools.hibernate.runtime.spi.IClassMetadata) Test(org.junit.Test)

Aggregations

IClassMetadata (org.jboss.tools.hibernate.runtime.spi.IClassMetadata)19 Test (org.junit.Test)16 SessionFactory (org.hibernate.SessionFactory)8 Configuration (org.hibernate.cfg.Configuration)8 PersistentClass (org.hibernate.mapping.PersistentClass)8 RootClass (org.hibernate.mapping.RootClass)8 ClassMetadata (org.hibernate.metadata.ClassMetadata)8 POJOClass (org.hibernate.tool.hbm2x.pojo.POJOClass)8 IPOJOClass (org.jboss.tools.hibernate.runtime.spi.IPOJOClass)8 IPersistentClass (org.jboss.tools.hibernate.runtime.spi.IPersistentClass)8 ISessionFactory (org.jboss.tools.hibernate.runtime.spi.ISessionFactory)8 StandardServiceRegistryBuilder (org.hibernate.boot.registry.StandardServiceRegistryBuilder)5 SessionFactoryImplementor (org.hibernate.engine.spi.SessionFactoryImplementor)2 MetamodelImplementor (org.hibernate.metamodel.spi.MetamodelImplementor)2 EntityPersister (org.hibernate.persister.entity.EntityPersister)2 Annotation (java.lang.annotation.Annotation)1 HashSet (java.util.HashSet)1 TreeSet (java.util.TreeSet)1 ServiceRegistry (org.hibernate.service.ServiceRegistry)1 ServiceRegistryBuilder (org.hibernate.service.ServiceRegistryBuilder)1