RULE restrict_multi_language_for_shape_aspect FOR (shape_aspect); WHERE wr1: SIZEOF ( QUERY ( ent <* shape_aspect | SIZEOF ( QUERY ( mlaa <* USEDIN ( ent , 'AUTOMOTIVE_DESIGN.'+'MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.'+ 'ITEMS' ) | ( mlaa. attribute_name<>'description' ) ) ) >0 ) ) =0; wr2: SIZEOF ( QUERY ( ent <* shape_aspect | SIZEOF ( QUERY ( ala <* USEDIN ( ent , 'AUTOMOTIVE_DESIGN.'+'ATTRIBUTE_LANGUAGE_ASSIGNMENT.'+ 'ITEMS' ) | ( ala. attribute_name<>'description' ) ) ) >0 ) ) =0; wr3: SIZEOF ( QUERY ( ent <* shape_aspect | ( SIZEOF ( QUERY ( mlaa1 <* USEDIN ( ent , 'AUTOMOTIVE_DESIGN.'+'MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.'+ 'ITEMS' ) | SIZEOF ( QUERY ( mlaa2 <* USEDIN ( ent , 'AUTOMOTIVE_DESIGN.'+'MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.'+ 'ITEMS' ) | ( mlaa1. attribute_name =mlaa2. attribute_name ) AND ( mlaa1. language =mlaa2. language ) ) ) >1 ) ) + SIZEOF ( QUERY ( ala1 <* USEDIN ( ent , 'AUTOMOTIVE_DESIGN.'+'ATTRIBUTE_LANGUAGE_ASSIGNMENT.'+ 'ITEMS' ) | SIZEOF ( QUERY ( ala2 <* USEDIN ( ent , 'AUTOMOTIVE_DESIGN.'+'ATTRIBUTE_LANGUAGE_ASSIGNMENT.'+ 'ITEMS' ) | ( ala1. attribute_name =ala2. attribute_name ) AND ( ala1. language =ala2. language ) ) ) >1 ) ) ) >0 ) ) =0; END_RULE; -- restrict_multi_language_for_shape_aspect |
public class RRestrict_multi_language_for_shape_aspect public int rWr3(SdaiContext _context) public int rWr2(SdaiContext _context) public int rWr1(SdaiContext _context) public int run(SdaiContext _context, A_string violations) |