Search in sources :

Example 1 with MappingFileRef

use of org.eclipse.jpt.jpa.core.context.persistence.MappingFileRef in project jbosstools-hibernate by jbosstools.

the class HibernateJpaOrmModelTests method testNamigStrategyMapping.

@Test
public void testNamigStrategyMapping() {
    ConsoleConfiguration cc = KnownConfigurations.getInstance().find(PROJECT_NAME);
    assertNotNull("Console configuration not found for project " + PROJECT_NAME, cc);
    cc.build();
    assertNotNull("Console configuration build problem", cc.getConfiguration());
    assertNotNull("Naming Strategy not found", cc.getConfiguration().getNamingStrategy());
    assertEquals("ns.NamingStrategy", cc.getConfiguration().getNamingStrategy().getStrategyClassName());
    try {
        jpaProject = ((Reference) project.getAdapter(Reference.class)).getValue();
    } catch (InterruptedException e) {
        fail(e.getMessage());
    }
    assertNotNull(jpaProject);
    JpaContextRoot rootContextNode = jpaProject.getContextRoot();
    Persistence p = rootContextNode.getPersistenceXml().getRoot();
    assertTrue(p.getPersistenceUnits().iterator().hasNext());
    assertTrue(p.getPersistenceUnits().iterator().next() instanceof HibernatePersistenceUnit);
    HibernatePersistenceUnit hpu = (HibernatePersistenceUnit) p.getPersistenceUnits().iterator().next();
    List<MappingFileRef> mfrs = IterableTools.list(hpu.getMappingFileRefs());
    assertTrue(mfrs.size() == 1);
    assertTrue(mfrs.get(0).getMappingFile() instanceof GenericOrmXml);
    GenericOrmXml orm = (GenericOrmXml) mfrs.get(0).getMappingFile();
    checkManyToMany1NS(orm.getRoot().getPersistentType("entity.ManyToMany1"));
    checkManyToMany2NS(orm.getRoot().getPersistentType("entity.ManyToMany2"));
    cc.reset();
}
Also used : JpaContextRoot(org.eclipse.jpt.jpa.core.context.JpaContextRoot) Persistence(org.eclipse.jpt.jpa.core.context.persistence.Persistence) ConsoleConfiguration(org.hibernate.console.ConsoleConfiguration) GenericOrmXml(org.eclipse.jpt.jpa.core.internal.jpa1.context.orm.GenericOrmXml) HibernatePersistenceUnit(org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit) MappingFileRef(org.eclipse.jpt.jpa.core.context.persistence.MappingFileRef) Test(org.junit.Test)

Example 2 with MappingFileRef

use of org.eclipse.jpt.jpa.core.context.persistence.MappingFileRef in project jbosstools-hibernate by jbosstools.

the class HibernateJpaOrmModelTests method testDefaultMapping.

@Test
public void testDefaultMapping() {
    assertNotNull(jpaProject);
    JpaContextRoot rootContextNode = jpaProject.getContextRoot();
    Persistence p = rootContextNode.getPersistenceXml().getRoot();
    assertTrue(p.getPersistenceUnits().iterator().hasNext());
    assertTrue(p.getPersistenceUnits().iterator().next() instanceof HibernatePersistenceUnit);
    HibernatePersistenceUnit hpu = (HibernatePersistenceUnit) p.getPersistenceUnits().iterator().next();
    List<MappingFileRef> mfrs = IterableTools.list(hpu.getMappingFileRefs());
    assertTrue(mfrs.size() == 1);
    assertTrue(mfrs.get(0).getMappingFile() instanceof GenericOrmXml);
    GenericOrmXml orm = (GenericOrmXml) mfrs.get(0).getMappingFile();
    List<OrmPersistentType> pTypes = IterableTools.list(orm.getRoot().getPersistentTypes());
    assertTrue(pTypes.size() == 3);
    checkManyToMany1(orm.getRoot().getPersistentType("entity.ManyToMany1"));
    checkManyToMany2(orm.getRoot().getPersistentType("entity.ManyToMany2"));
}
Also used : JpaContextRoot(org.eclipse.jpt.jpa.core.context.JpaContextRoot) Persistence(org.eclipse.jpt.jpa.core.context.persistence.Persistence) OrmPersistentType(org.eclipse.jpt.jpa.core.context.orm.OrmPersistentType) GenericOrmXml(org.eclipse.jpt.jpa.core.internal.jpa1.context.orm.GenericOrmXml) HibernatePersistenceUnit(org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit) MappingFileRef(org.eclipse.jpt.jpa.core.context.persistence.MappingFileRef) Test(org.junit.Test)

Example 3 with MappingFileRef

use of org.eclipse.jpt.jpa.core.context.persistence.MappingFileRef in project jbosstools-hibernate by jbosstools.

the class AddGeneratedClassesJob method mappingFileContains.

boolean mappingFileContains(JpaProject jpaProject, String fullyQualifiedTypeName) {
    PersistenceXml persistenceXml = jpaProject.getContextRoot().getPersistenceXml();
    if (persistenceXml == null) {
        return false;
    }
    Persistence persistence = persistenceXml.getRoot();
    if (persistence == null) {
        return false;
    }
    if (persistence.getPersistenceUnitsSize() == 0) {
        return false;
    }
    PersistenceUnit persistenceUnit = persistence.getPersistenceUnit(0);
    for (MappingFileRef mappingFileRef : persistenceUnit.getMappingFileRefs()) {
        if (mappingFileRef.getPersistentType(fullyQualifiedTypeName) != null) {
            return true;
        }
    }
    return false;
}
Also used : Persistence(org.eclipse.jpt.jpa.core.context.persistence.Persistence) XmlPersistence(org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistence) PersistenceXml(org.eclipse.jpt.jpa.core.context.persistence.PersistenceXml) PersistenceUnit(org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit) XmlPersistenceUnit(org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit) MappingFileRef(org.eclipse.jpt.jpa.core.context.persistence.MappingFileRef)

Example 4 with MappingFileRef

use of org.eclipse.jpt.jpa.core.context.persistence.MappingFileRef in project jbosstools-hibernate by jbosstools.

the class HibernateClassRef method validate.

/* (non-Javadoc)
	 * @see org.eclipse.jpt.jpa.core.internal.jpa1.context.persistence.GenericClassRef#validate(java.util.List, org.eclipse.wst.validation.internal.provisional.core.IReporter)
	 */
@Override
public void validate(List<IMessage> messages, IReporter reporter) {
    if (reporter.isCancelled()) {
        throw new ValidationCancelledException();
    }
    if (StringTools.isBlank(this.className)) {
        messages.add(buildValidationMessage(JptJpaCoreValidationMessages.PERSISTENCE_UNIT_UNSPECIFIED_CLASS, this.getValidationTextRange()));
        return;
    }
    if (this.getJavaPersistentType() == null && this.javaPackageInfo == null) {
        messages.add(buildValidationMessage(JptJpaCoreValidationMessages.PERSISTENCE_UNIT_NONEXISTENT_CLASS, new String[] { this.getJavaClassName() }, this.getValidationTextRange()));
        return;
    }
    if (this.getJavaPersistentType() != null) {
        // 190062 validate Java class only if this is the only reference to it
        // i.e. the persistence.xml ref is the only ref - none of the mapping
        // files reference the same class
        boolean validateJavaPersistentType = true;
        for (MappingFileRef mappingFileRef : this.getPersistenceUnit().getMappingFileRefsContaining(this.getJavaClassName())) {
            validateJavaPersistentType = false;
            messages.add(buildValidationMessage(JptJpaCoreValidationMessages.PERSISTENCE_UNIT_REDUNDANT_CLASS, new String[] { this.getJavaClassName(), mappingFileRef.getFileName() }, this.getValidationTextRange()));
        }
        if (validateJavaPersistentType) {
            this.validateJavaManagedType(messages, reporter);
        }
    } else {
        validatePackageInfo(messages, reporter);
    }
}
Also used : ValidationCancelledException(org.eclipse.jst.j2ee.model.internal.validation.ValidationCancelledException) MappingFileRef(org.eclipse.jpt.jpa.core.context.persistence.MappingFileRef)

Aggregations

MappingFileRef (org.eclipse.jpt.jpa.core.context.persistence.MappingFileRef)4 Persistence (org.eclipse.jpt.jpa.core.context.persistence.Persistence)3 JpaContextRoot (org.eclipse.jpt.jpa.core.context.JpaContextRoot)2 GenericOrmXml (org.eclipse.jpt.jpa.core.internal.jpa1.context.orm.GenericOrmXml)2 HibernatePersistenceUnit (org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit)2 Test (org.junit.Test)2 OrmPersistentType (org.eclipse.jpt.jpa.core.context.orm.OrmPersistentType)1 PersistenceUnit (org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit)1 PersistenceXml (org.eclipse.jpt.jpa.core.context.persistence.PersistenceXml)1 XmlPersistence (org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistence)1 XmlPersistenceUnit (org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit)1 ValidationCancelledException (org.eclipse.jst.j2ee.model.internal.validation.ValidationCancelledException)1 ConsoleConfiguration (org.hibernate.console.ConsoleConfiguration)1