RULE restrict_multi_language_for_resource_property FOR (resource_property); WHERE wr1: SIZEOF ( QUERY ( ent <* resource_property | SIZEOF ( QUERY ( mlaa <* USEDIN ( ent , 'AUTOMOTIVE_DESIGN.'+'MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.'+ 'ITEMS' ) | ( mlaa. attribute_name<>'description' ) ) ) >0 ) ) =0; wr2: SIZEOF ( QUERY ( ent <* resource_property | SIZEOF ( QUERY ( ala <* USEDIN ( ent , 'AUTOMOTIVE_DESIGN.'+'ATTRIBUTE_LANGUAGE_ASSIGNMENT.'+ 'ITEMS' ) | ( ala. attribute_name<>'description' ) ) ) >0 ) ) =0; wr3: SIZEOF ( QUERY ( ent <* resource_property | ( 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_resource_property |
public class RRestrict_multi_language_for_resource_property public int rWr3(SdaiContext _context) public int rWr2(SdaiContext _context) public int rWr1(SdaiContext _context) public int run(SdaiContext _context, A_string violations) |