private AnnotationInstance overrideSchemaCatalogByDefault( AnnotationInstance annotationInstance, EntityMappingsMocker.Default defaults) { List<AnnotationValue> newAnnotationValueList = new ArrayList<AnnotationValue>(); newAnnotationValueList.addAll(annotationInstance.values()); boolean schemaDefined = false; boolean catalogDefined = false; if (annotationInstance.value("schema") != null) { schemaDefined = true; } if (annotationInstance.value("catalog") != null) { catalogDefined = true; } if (schemaDefined && catalogDefined) { return annotationInstance; } if (!catalogDefined && StringHelper.isNotEmpty(defaults.getCatalog())) { newAnnotationValueList.add( AnnotationValue.createStringValue("catalog", defaults.getCatalog())); } if (!schemaDefined && StringHelper.isNotEmpty(defaults.getSchema())) { newAnnotationValueList.add(AnnotationValue.createStringValue("schema", defaults.getSchema())); } return MockHelper.create( annotationInstance.name(), annotationInstance.target(), MockHelper.toArray(newAnnotationValueList)); }
void applyDefaults(SchemaAware schemaAware, EntityMappingsMocker.Default defaults) { if (hasSchemaOrCatalogDefined(defaults)) { if (StringHelper.isEmpty(schemaAware.getSchema())) { schemaAware.setSchema(defaults.getSchema()); } if (StringHelper.isEmpty(schemaAware.getCatalog())) { schemaAware.setCatalog(defaults.getCatalog()); } } }
void applyDefaults( Map<DotName, List<AnnotationInstance>> annotationsMap, EntityMappingsMocker.Default defaults) { if (annotationsMap.isEmpty() || defaults == null) { return; } if (hasSchemaOrCatalogDefined(defaults)) { applyDefaultSchemaAndCatalog(annotationsMap, defaults); } if (defaults.isCascadePersist() != null && defaults.isCascadePersist()) { applyDefaultCascadePersist(annotationsMap); } }
private void applyDefaultsToEntityObject( EntityObject entityObject, EntityMappingsMocker.Default defaults) { if (defaults == null) { return; } String className = MockHelper.buildSafeClassName(entityObject.getClazz(), defaults.getPackageName()); entityObject.setClazz(className); if (entityObject.isMetadataComplete() == null) { entityObject.setMetadataComplete(defaults.isMetadataComplete()); } LOG.debugf("Adding XML overriding information for %s", className); }
@Test public void testPersistenceUnitMetadataMetadataComplete() { JaxbEntity author = new JaxbEntity(); author.setClazz(Author.class.getName()); IndexBuilder indexBuilder = getIndexBuilder(); EntityMappingsMocker.Default defaults = new EntityMappingsMocker.Default(); defaults.setMetadataComplete(true); EntityMocker entityMocker = new EntityMocker(indexBuilder, author, defaults); entityMocker.preProcess(); entityMocker.process(); Index index = indexBuilder.build(new EntityMappingsMocker.Default()); DotName className = DotName.createSimple(Author.class.getName()); ClassInfo classInfo = index.getClassByName(className); assertEquals(1, classInfo.annotations().size()); assertHasAnnotation(index, className, JPADotNames.ENTITY); }
@Test public void testPersistenceUnitDefaultsCascadePersistInAnnotation() { JaxbEntity author = new JaxbEntity(); author.setClazz(Author.class.getName()); IndexBuilder indexBuilder = getIndexBuilder(); EntityMappingsMocker.Default defaults = new EntityMappingsMocker.Default(); defaults.setCascadePersist(true); EntityMocker entityMocker = new EntityMocker(indexBuilder, author, defaults); entityMocker.preProcess(); entityMocker.process(); Index index = indexBuilder.build(new EntityMappingsMocker.Default()); DotName className = DotName.createSimple(Author.class.getName()); assertAnnotationValue( index, className, JPADotNames.ONE_TO_MANY, new CascadeAnnotationValueChecker("PERSIST", "MERGE")); }
private boolean hasSchemaOrCatalogDefined(EntityMappingsMocker.Default defaults) { return (defaults != null) && (StringHelper.isNotEmpty(defaults.getSchema()) || StringHelper.isNotEmpty(defaults.getCatalog())); }