RULE space_or_building_level_maps_into_building_section FOR (mapped_item, representation_relationship_with_transformation); WHERE wr1: SIZEOF (QUERY (mi <* mapped_item | (SIZEOF (QUERY (pdr <* USEDIN(mi.mapping_source.mapped_representation, 'LOCATION_IN_BUILDING_MIM.'+ 'PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION') | SIZEOF (TYPEOF (pdr.definition.definition) * ['BUILDING_ITEM_MIM.SPACE_ELEMENT', 'LOCATION_IN_BUILDING_MIM.BUILDING_LEVEL'] ) = 1 )) >= 1) AND (NOT (SIZEOF (QUERY (r <* USEDIN (mi,'LOCATION_IN_BUILDING_MIM.REPRESENTATION.ITEMS') | SIZEOF (QUERY (pdr <* USEDIN(r,'LOCATION_IN_BUILDING_MIM.'+ 'PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION') | ('LOCATION_IN_BUILDING_MIM.BUILDING_SECTION' IN TYPEOF(pdr.definition.definition)) )) >= 1 )) = 1)) )) = 0; wr2: SIZEOF (QUERY (rrwt <* representation_relationship_with_transformation | (SIZEOF (QUERY (pdr <* USEDIN(rrwt\representation_relationship.rep_2, 'LOCATION_IN_BUILDING_MIM.'+ 'PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION') | SIZEOF (TYPEOF (pdr.definition.definition) * ['LOCATION_IN_BUILDING_MIM.SPACE_ELEMENT', 'LOCATION_IN_BUILDING_MIM.BUILDING_LEVEL']) = 1 )) >= 1) AND (NOT (SIZEOF (QUERY (pdr <* USEDIN(rrwt\representation_relationship.rep_1, 'LOCATION_IN_BUILDING_MIM.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION') | ('LOCATION_IN_BUILDING_MIM.BUILDING_SECTION' IN TYPEOF (pdr.definition.definition)) )) = 1)) )) = 0; wr3: SIZEOF (QUERY (rrwt_1 <* representation_relationship_with_transformation | SIZEOF (QUERY (rrwt_2 <* representation_relationship_with_transformation | (SIZEOF (QUERY (pdr <* USEDIN(rrwt_1\representation_relationship.rep_2, 'LOCATION_IN_BUILDING_MIM.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION') | SIZEOF (TYPEOF (pdr.definition.definition) * ['LOCATION_IN_BUILDING_MIM.SPACE_ELEMENT', 'LOCATION_IN_BUILDING_MIM.BUILDING_LEVEL']) = 1 )) >= 1) AND (rrwt_1\representation_relationship.rep_2 :=: rrwt_2\representation_relationship.rep_2) )) >= 1 )) = 0; END_RULE; -- space_or_building_level_maps_into_building_section |
public class RSpace_or_building_level_maps_into_building_section public int rWr3(SdaiContext _context) public int rWr2(SdaiContext _context) public int rWr1(SdaiContext _context) public int run(SdaiContext _context, A_string violations) |