HHH-7450 apply simplify plugin
This commit is contained in:
parent
2eb320b9c6
commit
d57ffbdb32
|
@ -56,5 +56,18 @@ public interface EntityElement extends MetaAttributeContainer {
|
|||
|
||||
public List<Object> getQueryOrSqlQuery();
|
||||
|
||||
public List<Object> getPropertyOrManyToOneOrOneToOne();
|
||||
public List<JaxbPropertyElement> getProperty();
|
||||
public List<JaxbManyToOneElement> getManyToOne();
|
||||
public List<JaxbOneToOneElement> getOneToOne();
|
||||
public List<JaxbComponentElement> getComponent();
|
||||
public List<JaxbDynamicComponentElement> getDynamicComponent();
|
||||
// public List<JaxbPropertiesElement> getProperties();
|
||||
public List<JaxbAnyElement> getAny();
|
||||
public List<JaxbMapElement> getMap();
|
||||
public List<JaxbSetElement> getSet();
|
||||
public List<JaxbListElement> getList();
|
||||
public List<JaxbBagElement> getBag();
|
||||
public List<JaxbIdbagElement> getIdbag();
|
||||
public List<JaxbArrayElement> getArray();
|
||||
public List<JaxbPrimitiveArrayElement> getPrimitiveArray();
|
||||
}
|
||||
|
|
|
@ -35,6 +35,7 @@ import org.hibernate.internal.jaxb.mapping.hbm.EntityElement;
|
|||
import org.hibernate.internal.jaxb.mapping.hbm.JaxbAnyElement;
|
||||
import org.hibernate.internal.jaxb.mapping.hbm.JaxbBagElement;
|
||||
import org.hibernate.internal.jaxb.mapping.hbm.JaxbComponentElement;
|
||||
import org.hibernate.internal.jaxb.mapping.hbm.JaxbDynamicComponentElement;
|
||||
import org.hibernate.internal.jaxb.mapping.hbm.JaxbIdbagElement;
|
||||
import org.hibernate.internal.jaxb.mapping.hbm.JaxbJoinElement;
|
||||
import org.hibernate.internal.jaxb.mapping.hbm.JaxbListElement;
|
||||
|
@ -105,97 +106,172 @@ public abstract class AbstractEntitySourceImpl
|
|||
}
|
||||
|
||||
protected List<AttributeSource> buildAttributeSources(List<AttributeSource> attributeSources) {
|
||||
processAttributes(
|
||||
return buildAttributeSources( entityElement, attributeSources, null, SingularAttributeBinding.NaturalIdMutability.NOT_NATURAL_ID );
|
||||
}
|
||||
protected List<AttributeSource> buildAttributeSources(EntityElement element,
|
||||
List<AttributeSource> attributeSources,
|
||||
String logicTalbeName,
|
||||
SingularAttributeBinding.NaturalIdMutability naturalIdMutability){
|
||||
processPropertyAttributes( attributeSources, element.getProperty(), logicTalbeName, naturalIdMutability );
|
||||
processComponentAttributes(
|
||||
attributeSources,
|
||||
entityElement.getPropertyOrManyToOneOrOneToOne(),
|
||||
null,
|
||||
SingularAttributeBinding.NaturalIdMutability.NOT_NATURAL_ID
|
||||
element.getComponent(),
|
||||
logicTalbeName,
|
||||
naturalIdMutability
|
||||
);
|
||||
processDynamicComponentAttributes(
|
||||
attributeSources,
|
||||
element.getDynamicComponent(),
|
||||
logicTalbeName,
|
||||
naturalIdMutability
|
||||
);
|
||||
processManyToOneAttributes(
|
||||
attributeSources,
|
||||
element.getManyToOne(),
|
||||
logicTalbeName,
|
||||
naturalIdMutability
|
||||
);
|
||||
processOneToOneAttributes(
|
||||
attributeSources,
|
||||
element.getOneToOne(),
|
||||
logicTalbeName,
|
||||
naturalIdMutability
|
||||
);
|
||||
processAnyAttributes(
|
||||
attributeSources,
|
||||
element.getAny(),
|
||||
logicTalbeName,
|
||||
naturalIdMutability
|
||||
);
|
||||
processMapAttributes( attributeSources, element.getMap() );
|
||||
processListAttributes( attributeSources, element.getList() );
|
||||
processSetAttributes( attributeSources, element.getSet() );
|
||||
processIdBagAttributes( attributeSources, element.getIdbag() );
|
||||
processBagAttributes( attributeSources, element.getBag() );
|
||||
return attributeSources;
|
||||
}
|
||||
|
||||
protected void processAttributes(
|
||||
List<AttributeSource> results,
|
||||
List attributeElements,
|
||||
String logicalTableName,
|
||||
SingularAttributeBinding.NaturalIdMutability naturalIdMutability) {
|
||||
for ( Object attributeElement : attributeElements ) {
|
||||
results.add( buildAttributeSource( attributeElement, logicalTableName, naturalIdMutability ) );
|
||||
protected void processPropertyAttributes(List<AttributeSource> results,
|
||||
List<JaxbPropertyElement> propertyElements,
|
||||
String logicalTableName,
|
||||
SingularAttributeBinding.NaturalIdMutability naturalIdMutability) {
|
||||
for ( JaxbPropertyElement element : propertyElements ) {
|
||||
results.add(
|
||||
new PropertyAttributeSourceImpl(
|
||||
sourceMappingDocument(),
|
||||
element,
|
||||
logicalTableName,
|
||||
naturalIdMutability
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
protected AttributeSource buildAttributeSource(
|
||||
Object attributeElement,
|
||||
String logicalTableName,
|
||||
SingularAttributeBinding.NaturalIdMutability naturalIdMutability) {
|
||||
if ( JaxbPropertyElement.class.isInstance( attributeElement ) ) {
|
||||
return new PropertyAttributeSourceImpl(
|
||||
sourceMappingDocument(),
|
||||
JaxbPropertyElement.class.cast( attributeElement ),
|
||||
logicalTableName,
|
||||
naturalIdMutability
|
||||
protected void processComponentAttributes(List<AttributeSource> results,
|
||||
List<JaxbComponentElement> elements,
|
||||
String logicalTableName,
|
||||
SingularAttributeBinding.NaturalIdMutability naturalIdMutability) {
|
||||
for ( JaxbComponentElement element : elements ) {
|
||||
results.add(
|
||||
new ComponentAttributeSourceImpl(
|
||||
sourceMappingDocument(),
|
||||
element,
|
||||
this,
|
||||
logicalTableName,
|
||||
naturalIdMutability
|
||||
)
|
||||
);
|
||||
}
|
||||
else if ( JaxbComponentElement.class.isInstance( attributeElement ) ) {
|
||||
return new ComponentAttributeSourceImpl(
|
||||
sourceMappingDocument(),
|
||||
(JaxbComponentElement) attributeElement,
|
||||
this,
|
||||
logicalTableName,
|
||||
naturalIdMutability
|
||||
);
|
||||
}
|
||||
else if ( JaxbManyToOneElement.class.isInstance( attributeElement ) ) {
|
||||
return new ManyToOneAttributeSourceImpl(
|
||||
sourceMappingDocument(),
|
||||
JaxbManyToOneElement.class.cast( attributeElement ),
|
||||
logicalTableName,
|
||||
naturalIdMutability
|
||||
);
|
||||
}
|
||||
else if ( JaxbOneToOneElement.class.isInstance( attributeElement ) ) {
|
||||
// todo : implement
|
||||
}
|
||||
else if ( JaxbAnyElement.class.isInstance( attributeElement ) ) {
|
||||
// todo : implement
|
||||
}
|
||||
else if ( JaxbBagElement.class.isInstance( attributeElement ) ) {
|
||||
return new BagAttributeSourceImpl(
|
||||
sourceMappingDocument(),
|
||||
JaxbBagElement.class.cast( attributeElement ),
|
||||
this
|
||||
);
|
||||
}
|
||||
else if ( JaxbIdbagElement.class.isInstance( attributeElement ) ) {
|
||||
// todo : implement
|
||||
}
|
||||
else if ( JaxbSetElement.class.isInstance( attributeElement ) ) {
|
||||
return new SetAttributeSourceImpl(
|
||||
sourceMappingDocument(),
|
||||
JaxbSetElement.class.cast( attributeElement ),
|
||||
this
|
||||
);
|
||||
}
|
||||
else if ( JaxbListElement.class.isInstance( attributeElement ) ) {
|
||||
return new ListAttributeSource(
|
||||
sourceMappingDocument(),
|
||||
JaxbListElement.class.cast( attributeElement ),
|
||||
this
|
||||
);
|
||||
}
|
||||
else if ( JaxbMapElement.class.isInstance( attributeElement ) ) {
|
||||
return new MapAttributeSource(
|
||||
sourceMappingDocument(),
|
||||
JaxbMapElement.class.cast( attributeElement ),
|
||||
this
|
||||
);
|
||||
}
|
||||
|
||||
throw new UnexpectedAttributeSourceTypeException(
|
||||
"Unexpected attribute element type encountered : " + attributeElement.getClass().getName()
|
||||
);
|
||||
}
|
||||
|
||||
protected void processDynamicComponentAttributes(List<AttributeSource> results,
|
||||
List<JaxbDynamicComponentElement> elements,
|
||||
String logicalTableName,
|
||||
SingularAttributeBinding.NaturalIdMutability naturalIdMutability) {
|
||||
// todo : implement
|
||||
}
|
||||
|
||||
protected void processManyToOneAttributes(List<AttributeSource> results,
|
||||
List<JaxbManyToOneElement> elements,
|
||||
String logicalTableName,
|
||||
SingularAttributeBinding.NaturalIdMutability naturalIdMutability) {
|
||||
for ( JaxbManyToOneElement element : elements ) {
|
||||
results.add(
|
||||
new ManyToOneAttributeSourceImpl(
|
||||
sourceMappingDocument(),
|
||||
element,
|
||||
logicalTableName,
|
||||
naturalIdMutability
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
protected void processOneToOneAttributes(List<AttributeSource> results,
|
||||
List<JaxbOneToOneElement> elements,
|
||||
String logicalTableName,
|
||||
SingularAttributeBinding.NaturalIdMutability naturalIdMutability) {
|
||||
// todo : implement
|
||||
}
|
||||
|
||||
protected void processAnyAttributes(List<AttributeSource> results,
|
||||
List<JaxbAnyElement> elements,
|
||||
String logicalTableName,
|
||||
SingularAttributeBinding.NaturalIdMutability naturalIdMutability) {
|
||||
// todo : implement
|
||||
}
|
||||
|
||||
protected void processMapAttributes(List<AttributeSource> results,
|
||||
List<JaxbMapElement> propertyElements){
|
||||
for ( JaxbMapElement element : propertyElements ) {
|
||||
results.add(
|
||||
new MapAttributeSource(
|
||||
sourceMappingDocument(),
|
||||
element, this
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
protected void processListAttributes(List<AttributeSource> results,
|
||||
List<JaxbListElement> propertyElements){
|
||||
for ( JaxbListElement element : propertyElements ) {
|
||||
results.add(
|
||||
new ListAttributeSource(
|
||||
sourceMappingDocument(),
|
||||
element, this
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
protected void processSetAttributes(List<AttributeSource> results,
|
||||
List<JaxbSetElement> propertyElements){
|
||||
for ( JaxbSetElement element : propertyElements ) {
|
||||
results.add(
|
||||
new SetAttributeSourceImpl(
|
||||
sourceMappingDocument(),
|
||||
element,
|
||||
this
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
protected void processIdBagAttributes(List<AttributeSource> results,
|
||||
List<JaxbIdbagElement> propertyElements){
|
||||
// todo : implement
|
||||
}
|
||||
protected void processBagAttributes(List<AttributeSource> results,
|
||||
List<JaxbBagElement> propertyElements) {
|
||||
for ( JaxbBagElement element : propertyElements ) {
|
||||
results.add(
|
||||
new BagAttributeSourceImpl(
|
||||
sourceMappingDocument(),
|
||||
element,
|
||||
this
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private Set<SecondaryTableSource> buildSecondaryTables() {
|
||||
if ( ! JoinElementSource.class.isInstance( entityElement ) ) {
|
||||
return Collections.emptySet();
|
||||
|
@ -211,11 +287,36 @@ public abstract class AbstractEntitySourceImpl
|
|||
secondaryTableSources.add( secondaryTableSource );
|
||||
|
||||
final String logicalTableName = secondaryTableSource.getLogicalTableNameForContainedColumns();
|
||||
processAttributes(
|
||||
final SingularAttributeBinding.NaturalIdMutability naturalIdMutability = SingularAttributeBinding.NaturalIdMutability.NOT_NATURAL_ID;
|
||||
processAnyAttributes(
|
||||
attributeSources,
|
||||
joinElement.getPropertyOrManyToOneOrComponent(),
|
||||
joinElement.getAny(),
|
||||
logicalTableName,
|
||||
SingularAttributeBinding.NaturalIdMutability.NOT_NATURAL_ID
|
||||
naturalIdMutability
|
||||
);
|
||||
processComponentAttributes(
|
||||
attributeSources,
|
||||
joinElement.getComponent(),
|
||||
logicalTableName,
|
||||
naturalIdMutability
|
||||
);
|
||||
processDynamicComponentAttributes(
|
||||
attributeSources,
|
||||
joinElement.getDynamicComponent(),
|
||||
logicalTableName,
|
||||
naturalIdMutability
|
||||
);
|
||||
processManyToOneAttributes(
|
||||
attributeSources,
|
||||
joinElement.getManyToOne(),
|
||||
logicalTableName,
|
||||
naturalIdMutability
|
||||
);
|
||||
processPropertyAttributes(
|
||||
attributeSources,
|
||||
joinElement.getProperty(),
|
||||
logicalTableName,
|
||||
naturalIdMutability
|
||||
);
|
||||
}
|
||||
return secondaryTableSources;
|
||||
|
|
|
@ -97,9 +97,14 @@ public class CompositePluralAttributeElementSourceImpl
|
|||
@Override
|
||||
public List<AttributeSource> attributeSources() {
|
||||
List<AttributeSource> attributeSources = new ArrayList<AttributeSource>();
|
||||
for ( Object attribute : compositeElement.getPropertyOrManyToOneOrAny() ) {
|
||||
|
||||
}
|
||||
// for ( Object attribute : compositeElement .getPropertyOrManyToOneOrAny() ) {
|
||||
//
|
||||
// }
|
||||
compositeElement.getAny();
|
||||
compositeElement.getManyToOne();
|
||||
compositeElement.getNestedCompositeElement();
|
||||
compositeElement.getProperty();
|
||||
//todo implement
|
||||
return attributeSources;
|
||||
}
|
||||
|
||||
|
|
|
@ -39,6 +39,8 @@ import org.hibernate.internal.jaxb.mapping.hbm.JaxbCompositeElementElement;
|
|||
import org.hibernate.internal.jaxb.mapping.hbm.JaxbCompositeIdElement;
|
||||
import org.hibernate.internal.jaxb.mapping.hbm.JaxbDiscriminatorElement;
|
||||
import org.hibernate.internal.jaxb.mapping.hbm.JaxbHibernateMapping;
|
||||
import org.hibernate.internal.jaxb.mapping.hbm.JaxbKeyManyToOneElement;
|
||||
import org.hibernate.internal.jaxb.mapping.hbm.JaxbKeyPropertyElement;
|
||||
import org.hibernate.internal.jaxb.mapping.hbm.JaxbManyToManyElement;
|
||||
import org.hibernate.internal.jaxb.mapping.hbm.JaxbMultiTenancyElement;
|
||||
import org.hibernate.internal.jaxb.mapping.hbm.JaxbNaturalIdElement;
|
||||
|
@ -139,16 +141,15 @@ public class RootEntitySourceImpl extends AbstractEntitySourceImpl implements Ro
|
|||
protected List<AttributeSource> buildAttributeSources(List<AttributeSource> attributeSources) {
|
||||
final JaxbNaturalIdElement naturalId = entityElement().getNaturalId();
|
||||
if ( naturalId != null ) {
|
||||
processAttributes(
|
||||
attributeSources,
|
||||
naturalId.getPropertyOrManyToOneOrComponent(),
|
||||
null,
|
||||
naturalId.isMutable()
|
||||
? SingularAttributeBinding.NaturalIdMutability.MUTABLE
|
||||
: SingularAttributeBinding.NaturalIdMutability.IMMUTABLE
|
||||
return buildAttributeSources(
|
||||
entityElement(), attributeSources, null, naturalId.isMutable()
|
||||
? SingularAttributeBinding.NaturalIdMutability.MUTABLE
|
||||
: SingularAttributeBinding.NaturalIdMutability.IMMUTABLE
|
||||
);
|
||||
}
|
||||
return super.buildAttributeSources( attributeSources );
|
||||
else {
|
||||
return super.buildAttributeSources( attributeSources );
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -446,8 +447,15 @@ public class RootEntitySourceImpl extends AbstractEntitySourceImpl implements Ro
|
|||
@Override
|
||||
protected List<AttributeSource> buildAttributeSources() {
|
||||
List<AttributeSource> attributeSources = new ArrayList<AttributeSource>();
|
||||
for ( Object attributeElement : compositeIdElement().getKeyPropertyOrKeyManyToOne() ) {
|
||||
attributeSources.add( buildAttributeSource( attributeElement ) );
|
||||
// for ( Object attributeElement : compositeIdElement().getKeyPropertyOrKeyManyToOne() ) {
|
||||
// attributeSources.add( buildAttributeSource( attributeElement ) );
|
||||
// }
|
||||
for ( JaxbKeyPropertyElement element : compositeIdElement().getKeyProperty()){
|
||||
// attributeSources.add( buildPropertyAttributeSource( element ) );
|
||||
//todo : implement
|
||||
}
|
||||
for (JaxbKeyManyToOneElement element : compositeIdElement().getKeyManyToOne()){
|
||||
//todo: implement
|
||||
}
|
||||
return attributeSources;
|
||||
}
|
||||
|
@ -536,18 +544,33 @@ public class RootEntitySourceImpl extends AbstractEntitySourceImpl implements Ro
|
|||
|
||||
@Override
|
||||
public List<SingularAttributeSource> getAttributeSourcesMakingUpIdentifier() {
|
||||
List<SingularAttributeSource> attributeSources = new ArrayList<SingularAttributeSource>();
|
||||
for ( Object attributeElement : entityElement().getCompositeId().getKeyPropertyOrKeyManyToOne() ) {
|
||||
final AttributeSource attributeSource = buildAttributeSource(
|
||||
attributeElement,
|
||||
null,
|
||||
SingularAttributeBinding.NaturalIdMutability.NOT_NATURAL_ID
|
||||
);
|
||||
if ( ! attributeSource.isSingular() ) {
|
||||
throw new HibernateException( "Only singular attributes are supported for composite identifiers" );
|
||||
}
|
||||
attributeSources.add( (SingularAttributeSource) attributeSource );
|
||||
final List<SingularAttributeSource> attributeSources = new ArrayList<SingularAttributeSource>();
|
||||
final JaxbCompositeIdElement compositeId = entityElement().getCompositeId();
|
||||
for(final JaxbKeyPropertyElement keyProperty: compositeId.getKeyProperty()){
|
||||
// final AttributeSource attributeSource = buildAttributeSource(
|
||||
// keyProperty,
|
||||
// null,
|
||||
// SingularAttributeBinding.NaturalIdMutability.NOT_NATURAL_ID
|
||||
// );
|
||||
// if ( ! attributeSource.isSingular() ) {
|
||||
// throw new HibernateException( "Only singular attributes are supported for composite identifiers" );
|
||||
// }
|
||||
// attributeSources.add( (SingularAttributeSource) attributeSource );
|
||||
//todo : implement
|
||||
}
|
||||
for(final JaxbKeyManyToOneElement keyProperty : compositeId.getKeyManyToOne()){
|
||||
// final AttributeSource attributeSource = buildAttributeSource(
|
||||
// keyProperty,
|
||||
// null,
|
||||
// SingularAttributeBinding.NaturalIdMutability.NOT_NATURAL_ID
|
||||
// );
|
||||
// if ( ! attributeSource.isSingular() ) {
|
||||
// throw new HibernateException( "Only singular attributes are supported for composite identifiers" );
|
||||
// }
|
||||
// attributeSources.add( (SingularAttributeSource) attributeSource );
|
||||
//todo : implement
|
||||
}
|
||||
|
||||
return attributeSources;
|
||||
}
|
||||
|
||||
|
|
|
@ -148,6 +148,11 @@ arbitrary number of queries, and import declarations of arbitrary classes.
|
|||
<xs:element name="multi-tenancy" type="multi-tenancy-element"/>
|
||||
</xs:choice>
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:appinfo>
|
||||
<simplify:as-element-property/>
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:element name="property" type="property-element"/>
|
||||
<xs:element name="many-to-one" type="many-to-one-element"/>
|
||||
<xs:element name="one-to-one" type="one-to-one-element"/>
|
||||
|
@ -553,6 +558,11 @@ arbitrary number of queries, and import declarations of arbitrary classes.
|
|||
<xs:complexType name="dynamic-component-element">
|
||||
<xs:sequence>
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:appinfo>
|
||||
<simplify:as-element-property/>
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:element name="property" type="property-element"/>
|
||||
<xs:element name="many-to-one" type="many-to-one-element"/>
|
||||
<xs:element name="one-to-one" type="one-to-one-element"/>
|
||||
|
@ -704,7 +714,12 @@ arbitrary number of queries, and import declarations of arbitrary classes.
|
|||
<xs:element name="comment" minOccurs="0" type="xs:string"/>
|
||||
<xs:element name="key" type="key-element"/>
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element name="property" type="property-element"/>
|
||||
<xs:annotation>
|
||||
<xs:appinfo>
|
||||
<simplify:as-element-property/>
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:element name="property" type="property-element"/>
|
||||
<xs:element name="many-to-one" type="many-to-one-element"/>
|
||||
<xs:element name="component" type="component-element"/>
|
||||
<xs:element name="dynamic-component" type="dynamic-component-element"/>
|
||||
|
@ -734,7 +749,12 @@ arbitrary number of queries, and import declarations of arbitrary classes.
|
|||
<xs:element name="tuplizer" minOccurs="0" maxOccurs="unbounded" type="tuplizer-element"/>
|
||||
<xs:element name="key" type="key-element"/>
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element name="property" type="property-element"/>
|
||||
<xs:annotation>
|
||||
<xs:appinfo>
|
||||
<simplify:as-element-property/>
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:element name="property" type="property-element"/>
|
||||
<xs:element name="many-to-one" type="many-to-one-element"/>
|
||||
<xs:element name="one-to-one" type="one-to-one-element"/>
|
||||
<xs:element name="component" type="component-element"/>
|
||||
|
@ -1400,6 +1420,11 @@ arbitrary number of queries, and import declarations of arbitrary classes.
|
|||
<xs:element name="tuplizer" minOccurs="0" maxOccurs="unbounded" type="tuplizer-element"/>
|
||||
<xs:element name="synchronize" minOccurs="0" maxOccurs="unbounded" type="synchronize-element"/>
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:appinfo>
|
||||
<simplify:as-element-property/>
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:element name="property" type="property-element"/>
|
||||
<xs:element name="many-to-one" type="many-to-one-element"/>
|
||||
<xs:element name="one-to-one" type="one-to-one-element"/>
|
||||
|
@ -1480,7 +1505,12 @@ arbitrary number of queries, and import declarations of arbitrary classes.
|
|||
<xs:element name="comment" minOccurs="0" type="xs:string"/>
|
||||
<xs:element name="tuplizer" minOccurs="0" maxOccurs="unbounded" type="tuplizer-element"/>
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element name="property" type="property-element"/>
|
||||
<xs:annotation>
|
||||
<xs:appinfo>
|
||||
<simplify:as-element-property/>
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:element name="property" type="property-element"/>
|
||||
<xs:element name="many-to-one" type="many-to-one-element"/>
|
||||
<xs:element name="one-to-one" type="one-to-one-element"/>
|
||||
<xs:element name="component" type="component-element"/>
|
||||
|
|
Loading…
Reference in New Issue