private Property createProperty(EntityType entityType, UID entityId, RDFProperty rdfProperty, @Nullable RDFSClass<?> range) { UID propertyId = rdfProperty.getId().asURI(); Type propertyType = getPropertyType(rdfProperty, range); String propertyName = getPropertyName(propertyId); Property property = new Property(entityType, propertyName, propertyType); if (propertyId.getNamespace().equals(entityId.getNamespace())) { if (propertyName.equals(propertyId.getLocalName())) { property.addAnnotation(new PredicateImpl("", "", "", false)); } else { property.addAnnotation(new PredicateImpl("", "", propertyId.getLocalName(), false)); } } else { property.addAnnotation(new PredicateImpl("", propertyId, false)); } return property; }
property.addAnnotation(new ColumnImpl(normalizedColumnName)); property.addAnnotation(new NotNullImpl()); property.addAnnotation(new SizeImpl(0, size));
@Test public void Annotated_Property() throws IOException{ Property property = new Property(type, "entityField", type); property.addAnnotation(new QueryEntityImpl()); type.addProperty(property); BeanSerializer serializer = new BeanSerializer(); serializer.serialize(type, SimpleSerializerConfig.DEFAULT, new JavaWriter(writer)); String str = writer.toString(); assertTrue(str.contains("import com.mysema.query.annotations.QueryEntity;")); assertTrue(str.contains("@QueryEntity")); }
@Test public void Annotated_Property_Not_Serialized() throws IOException{ Property property = new Property(type, "entityField", type); property.addAnnotation(new QueryEntityImpl()); type.addProperty(property); BeanSerializer serializer = new BeanSerializer(false); serializer.serialize(type, SimpleSerializerConfig.DEFAULT, new JavaWriter(writer)); String str = writer.toString(); assertFalse(str.contains("import com.mysema.query.annotations.QueryEntity;")); assertFalse(str.contains("@QueryEntity")); }